Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
214 changes: 135 additions & 79 deletions .speakeasy/gen.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .speakeasy/gen.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ generation:
documentation: mintlify
preApplyUnionDiscriminators: true
python:
version: 1.3.70
version: 1.3.71
additionalDependencies:
dev: {}
main: {}
Expand Down
260 changes: 258 additions & 2 deletions .speakeasy/out.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15173,6 +15173,7 @@ components:
description: 'Public lifecycle state and settings for one intern.'
example:
attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand All @@ -15194,6 +15195,9 @@ components:
type:
- 'string'
- 'null'
can_edit:
description: 'Whether this key may change the intern (update, provision, suspend, delete). Present on list and retrieve; false while lifecycle writes are closed for the account.'
type: 'boolean'
created_at:
description: 'ISO 8601 creation time.'
type: 'string'
Expand Down Expand Up @@ -15861,6 +15865,139 @@ components:
- 'content'
- 'role'
type: 'object'
InternConnection:
properties:
account:
properties:
acts_as:
description: 'Whose account it acts as, when known.'
type:
- 'string'
- 'null'
is_your_account_linked:
type:
- 'boolean'
- 'null'
note:
type:
- 'string'
- 'null'
scope:
description: '`workspace` for a shared connection, `yours` for the key user''s personal account, `shared` for a teammate''s.'
enum:
- 'workspace'
- 'yours'
- 'shared'
type: 'string'
x-speakeasy-unknown-values: allow
required:
- 'acts_as'
- 'is_your_account_linked'
- 'note'
- 'scope'
type: 'object'
id:
description: 'Stable id: the credential id of an MCP server, else the kind (`slack`, `github`, `google`).'
type: 'string'
is_enabled:
description: 'Whether the intern reaches it now.'
type: 'boolean'
is_intern_only:
description: 'Scoped to this intern rather than shared by the workspace.'
type: 'boolean'
kind:
enum:
- 'slack'
- 'github'
- 'google'
- 'mcp'
type: 'string'
x-speakeasy-unknown-values: allow
mcp_server_name:
description: 'The name the intern''s MCP config keys the server by; null when it is not an MCP server or is off.'
type:
- 'string'
- 'null'
name:
description: 'Display name.'
type: 'string'
off_reason:
description: '`switched_off` for this intern, `disabled` for the whole workspace; null while on.'
enum:
- 'switched_off'
- 'disabled'
- null
type:
- 'string'
- 'null'
x-speakeasy-unknown-values: allow
server:
properties:
host:
type:
- 'string'
- 'null'
surface:
type: 'string'
transport:
type: 'string'
url:
type:
- 'string'
- 'null'
required:
- 'host'
- 'surface'
- 'transport'
- 'url'
type:
- 'object'
- 'null'
status:
properties:
reason:
type:
- 'string'
- 'null'
state:
enum:
- 'connected'
- 'needs_reconnect'
- 'not_tested'
- 'error'
type: 'string'
x-speakeasy-unknown-values: allow
required:
- 'state'
- 'reason'
type: 'object'
tool_count:
description: 'Tools found by the last successful test.'
type:
- 'integer'
- 'null'
required:
- 'id'
- 'kind'
- 'name'
- 'is_enabled'
- 'is_intern_only'
- 'off_reason'
- 'mcp_server_name'
- 'server'
- 'status'
- 'tool_count'
- 'account'
type: 'object'
InternConnectionList:
properties:
data:
items:
$ref: '#/components/schemas/InternConnection'
type: 'array'
required:
- 'data'
type: 'object'
InternDaemonAccess:
description: 'The intern daemon''s origin and the bearer `ori tui --host` sends to it as `ORI_DAEMON_TOKEN`.'
example:
Expand Down Expand Up @@ -15963,6 +16100,7 @@ components:
example:
data:
- attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand Down Expand Up @@ -26469,21 +26607,26 @@ components:
- 'data'
type: 'object'
PromptCacheBreakpoint:
description: 'Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Everything through the block carrying this marker is part of the candidate cached prefix. Supported natively by OpenAI GPT-5.6 and newer; on providers that use Anthropic-style `cache_control`, OpenRouter converts the marker to that format automatically.'
description: 'Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Everything through the block carrying this marker is part of the candidate cached prefix. Supported natively by OpenAI GPT-5.6 and newer; on providers that use Anthropic-style `cache_control`, OpenRouter converts the marker to that format automatically. `ttl` ("30m" or "12h") overrides the request-level `prompt_cache_options.ttl` for this boundary; 12h writes bill at the higher cache-write rate.'
example:
mode: 'explicit'
ttl: '30m'
properties:
mode:
enum:
- 'explicit'
type: 'string'
ttl:
type:
- 'string'
- 'null'
required:
- 'mode'
type:
- 'object'
- 'null'
PromptCacheOptions:
description: 'Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer.'
description: 'Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. `ttl` sets the minimum cache lifetime for every breakpoint the request writes: "30m" (default) or "12h" (billed at the higher 12h cache-write rate). Only supported by OpenAI GPT-5.6 and newer.'
example:
mode: 'explicit'
ttl: '30m'
Expand Down Expand Up @@ -42463,6 +42606,7 @@ paths:
example:
data:
- attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand Down Expand Up @@ -42589,6 +42733,7 @@ paths:
application/json:
example:
attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand All @@ -42612,6 +42757,7 @@ paths:
application/json:
example:
attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand Down Expand Up @@ -42965,6 +43111,7 @@ paths:
application/json:
example:
attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand Down Expand Up @@ -43075,6 +43222,7 @@ paths:
application/json:
example:
attached_vault_id: null
can_edit: true
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
Expand Down Expand Up @@ -43457,6 +43605,114 @@ paths:
- $ref: "#/components/parameters/AppIdentifier"
- $ref: "#/components/parameters/AppDisplayName"
- $ref: "#/components/parameters/AppCategories"
/interns/{internId}/connections:
get:
description: 'Returns the Slack, GitHub, Google Workspace and MCP connections one visible intern can reach, and the shared ones switched off for it or disabled for the workspace. An OAuth grant needs `vault:read`, because the list names members'' personal accounts; without it the route answers 403 `insufficient_scope`. The response is sent with `Cache-Control: no-store`. The API key selects the caller, workspace and visible interns. An intern''s own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.'
operationId: 'getInternConnections'
parameters:
- description: 'ID of an intern visible to the authenticated API key.'
in: 'path'
name: 'internId'
required: true
schema:
description: 'ID of an intern visible to the authenticated API key.'
example: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
minLength: 1
type: 'string'
responses:
'200':
content:
application/json:
example:
data:
- account:
acts_as: null
is_your_account_linked: null
note: null
scope: 'workspace'
id: 'github'
is_enabled: true
is_intern_only: false
kind: 'github'
mcp_server_name: null
name: 'GitHub'
off_reason: null
server: null
status:
reason: null
state: 'connected'
tool_count: null
schema:
$ref: '#/components/schemas/InternConnectionList'
description: 'The intern connections.'
'401':
content:
application/json:
example:
error:
code: 401
message: 'Invalid or missing API key'
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'Missing, unknown or provisioning API key.'
'403':
content:
application/json:
example:
error:
code: 403
message: 'Forbidden'
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The key owner no longer has access, or the request used a regional hostname.'
'404':
content:
application/json:
example:
error:
code: 404
message: 'Intern not found'
metadata:
reason: 'not_found'
retryable: false
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The caller is outside the Intern API programme, the intern is hidden, or lifecycle writes are disabled.'
'408':
content:
application/json:
example:
error:
code: 408
message: 'Operation timed out after 10s. Please try again later.'
metadata:
reason: 'timeout'
retryable: true
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The request exceeded its route deadline. The deadline quoted in the message is the route''s own, so it differs between operations.'
'500':
content:
application/json:
example:
error:
code: 500
message: 'The request could not be completed'
metadata:
reason: 'internal_error'
retryable: true
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The request could not be completed. `metadata.reason` says whether to try again: `internal_error` is a transient failure and carries `metadata.retryable: true`, so the same request may be sent again, while `configuration_error` carries `retryable: false` because the next attempt reads the same missing binding or unusable stored credential.'
security:
- apiKey: []
summary: 'List an intern''s connections'
tags:
- 'Interns'
parameters:
- $ref: "#/components/parameters/AppIdentifier"
- $ref: "#/components/parameters/AppDisplayName"
- $ref: "#/components/parameters/AppCategories"
/interns/{internId}/daemon:
get:
description: 'Returns the origin and daemon token that attach `ori tui --host` to one visible, running intern. The token is a credential: only an OAuth-token caller (`ori login --oidc`) may read it, the response is sent with `Cache-Control: no-store`, and each reveal is logged by caller and intern. API keys get 403 `personal_identity_required`. The API key selects the caller, workspace and visible interns. An intern''s own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.'
Expand Down
10 changes: 5 additions & 5 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@ speakeasyVersion: 1.787.0
sources:
OpenRouter API:
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:165916283a5cbb0d4988e849d7a8e21a08e9d50b07f9b561bfc5d96fe1c14ad2
sourceBlobDigest: sha256:6890fba3c45c0f1234267a16495eb8f5235672cf8abe93dfb2b4662cc60e2b51
sourceRevisionDigest: sha256:4c1bf80ad069a003e7b232202da907c7ad80d096d0a0111d95e4d1c696225b1c
sourceBlobDigest: sha256:f86a62aafe6b3f44673578ea274d11cea6ab4851211e2c669e376a3d399cd23b
tags:
- latest
- 1.0.0
targets:
open-router:
source: OpenRouter API
sourceNamespace: open-router-chat-completions-api
sourceRevisionDigest: sha256:165916283a5cbb0d4988e849d7a8e21a08e9d50b07f9b561bfc5d96fe1c14ad2
sourceBlobDigest: sha256:6890fba3c45c0f1234267a16495eb8f5235672cf8abe93dfb2b4662cc60e2b51
sourceRevisionDigest: sha256:4c1bf80ad069a003e7b232202da907c7ad80d096d0a0111d95e4d1c696225b1c
sourceBlobDigest: sha256:f86a62aafe6b3f44673578ea274d11cea6ab4851211e2c669e376a3d399cd23b
codeSamplesNamespace: open-router-python-code-samples
codeSamplesRevisionDigest: sha256:3d0c5934a586cb687dd5a20aa57dc19db61a33ee564b132adb55c34c33012bea
codeSamplesRevisionDigest: sha256:50416a548f944df084bcd75240de5e214000a8f204f464d6845745a11fe83614
workflow:
workflowVersion: 1.0.0
speakeasyVersion: 1.787.0
Expand Down
Loading