@@ -3535,6 +3535,59 @@ components:
35353535 - sequence_number
35363536 - logprobs
35373537 type: object
3538+ BashServerTool:
3539+ description: 'OpenRouter built-in server tool: runs shell commands server-side in a sandboxed container'
3540+ example:
3541+ parameters:
3542+ environment:
3543+ type: container_auto
3544+ type: openrouter:bash
3545+ properties:
3546+ parameters:
3547+ $ref: '#/components/schemas/BashServerToolConfig'
3548+ type:
3549+ enum:
3550+ - openrouter:bash
3551+ type: string
3552+ required:
3553+ - type
3554+ type: object
3555+ BashServerToolConfig:
3556+ description: Configuration for the openrouter:bash server tool
3557+ example:
3558+ environment:
3559+ type: container_auto
3560+ properties:
3561+ engine:
3562+ $ref: '#/components/schemas/BashServerToolEngine'
3563+ environment:
3564+ $ref: '#/components/schemas/BashServerToolEnvironment'
3565+ sleep_after_seconds:
3566+ $ref: '#/components/schemas/SandboxSleepAfterSeconds'
3567+ type: object
3568+ BashServerToolEngine:
3569+ description: >-
3570+ Which bash engine to use. "openrouter" runs commands server-side in the OpenRouter sandbox. "auto" (default) and
3571+ "native" use native passthrough, returning the tool call to your application to run client-side; OpenRouter does
3572+ not execute the commands.
3573+ enum:
3574+ - auto
3575+ - native
3576+ - openrouter
3577+ example: auto
3578+ type: string
3579+ BashServerToolEnvironment:
3580+ description: Execution environment for the bash server tool.
3581+ discriminator:
3582+ mapping:
3583+ container_auto: '#/components/schemas/ContainerAutoEnvironment'
3584+ container_reference: '#/components/schemas/ContainerReferenceEnvironment'
3585+ propertyName: type
3586+ example:
3587+ type: container_auto
3588+ oneOf:
3589+ - $ref: '#/components/schemas/ContainerAutoEnvironment'
3590+ - $ref: '#/components/schemas/ContainerReferenceEnvironment'
35383591 BigNumberUnion:
35393592 description: Price per million prompt tokens
35403593 example: 1000
@@ -4357,6 +4410,7 @@ components:
43574410 - function
43584411 type: object
43594412 - $ref: '#/components/schemas/AdvisorServerTool_OpenRouter'
4413+ - $ref: '#/components/schemas/BashServerTool'
43604414 - $ref: '#/components/schemas/DatetimeServerTool'
43614415 - $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
43624416 - $ref: '#/components/schemas/ChatSearchModelsServerTool'
@@ -5650,6 +5704,39 @@ components:
56505704 - code
56515705 - message
56525706 type: object
5707+ ContainerAutoEnvironment:
5708+ description: An OpenRouter-managed, auto-provisioned ephemeral container.
5709+ example:
5710+ type: container_auto
5711+ properties:
5712+ type:
5713+ enum:
5714+ - container_auto
5715+ type: string
5716+ required:
5717+ - type
5718+ type: object
5719+ ContainerReferenceEnvironment:
5720+ description: Reference to a previously created container to reuse.
5721+ example:
5722+ container_id: cntr_abc123
5723+ type: container_reference
5724+ properties:
5725+ container_id:
5726+ description: Identifier of an existing container to reuse (max 20 characters).
5727+ example: cntr_abc123
5728+ maxLength: 20
5729+ minLength: 1
5730+ pattern: ^[\w-]+$
5731+ type: string
5732+ type:
5733+ enum:
5734+ - container_reference
5735+ type: string
5736+ required:
5737+ - type
5738+ - container_id
5739+ type: object
56535740 ContentFilterAction:
56545741 description: Action taken when the pattern matches
56555742 enum:
@@ -10944,6 +11031,7 @@ components:
1094411031 - name
1094511032 - model
1094611033 type: object
11034+ - $ref: '#/components/schemas/BashServerTool'
1094711035 - $ref: '#/components/schemas/DatetimeServerTool'
1094811036 - $ref: '#/components/schemas/ImageGenerationServerTool_OpenRouter'
1094911037 - $ref: '#/components/schemas/ChatSearchModelsServerTool'
@@ -15207,6 +15295,8 @@ components:
1520715295 openrouter:web_fetch: '#/components/schemas/OutputWebFetchServerToolItem'
1520815296 openrouter:web_search: '#/components/schemas/OutputWebSearchServerToolItem'
1520915297 reasoning: '#/components/schemas/OutputReasoningItem'
15298+ shell_call: '#/components/schemas/OutputShellCallItem'
15299+ shell_call_output: '#/components/schemas/OutputShellCallOutputItem'
1521015300 web_search_call: '#/components/schemas/OutputWebSearchCallItem'
1521115301 propertyName: type
1521215302 example:
@@ -15236,6 +15326,8 @@ components:
1523615326 - $ref: '#/components/schemas/OutputTextEditorServerToolItem'
1523715327 - $ref: '#/components/schemas/OutputApplyPatchServerToolItem'
1523815328 - $ref: '#/components/schemas/OutputApplyPatchCallItem'
15329+ - $ref: '#/components/schemas/OutputShellCallItem'
15330+ - $ref: '#/components/schemas/OutputShellCallOutputItem'
1523915331 - $ref: '#/components/schemas/OutputWebFetchServerToolItem'
1524015332 - $ref: '#/components/schemas/OutputToolSearchServerToolItem'
1524115333 - $ref: '#/components/schemas/OutputMemoryServerToolItem'
@@ -15514,6 +15606,125 @@ components:
1551415606 - status
1551515607 - type
1551615608 type: object
15609+ OutputShellCallItem:
15610+ description: >-
15611+ A native `shell_call` output item matching OpenAI's Responses API shape. Emitted for the sandbox-backed `shell`
15612+ tool.
15613+ example:
15614+ action:
15615+ commands:
15616+ - echo hello
15617+ max_output_length: null
15618+ timeout_ms: null
15619+ call_id: call_abc123
15620+ id: shc_abc123
15621+ status: completed
15622+ type: shell_call
15623+ properties:
15624+ action:
15625+ properties:
15626+ commands:
15627+ items:
15628+ type: string
15629+ type: array
15630+ max_output_length:
15631+ nullable: true
15632+ type: integer
15633+ timeout_ms:
15634+ nullable: true
15635+ type: integer
15636+ required:
15637+ - commands
15638+ - max_output_length
15639+ - timeout_ms
15640+ type: object
15641+ call_id:
15642+ type: string
15643+ id:
15644+ type: string
15645+ status:
15646+ $ref: '#/components/schemas/ShellCallStatus'
15647+ type:
15648+ enum:
15649+ - shell_call
15650+ type: string
15651+ required:
15652+ - type
15653+ - id
15654+ - call_id
15655+ - status
15656+ type: object
15657+ OutputShellCallOutputItem:
15658+ description: >-
15659+ A native `shell_call_output` item matching OpenAI's Responses API shape. Carries per-command stdout, stderr, and
15660+ the exit/timeout outcome.
15661+ example:
15662+ call_id: call_abc123
15663+ id: sho_abc123
15664+ output:
15665+ - outcome:
15666+ exit_code: 0
15667+ type: exit
15668+ stderr: ''
15669+ stdout: |
15670+ hello
15671+ status: completed
15672+ type: shell_call_output
15673+ properties:
15674+ call_id:
15675+ type: string
15676+ id:
15677+ type: string
15678+ max_output_length:
15679+ nullable: true
15680+ type: integer
15681+ output:
15682+ items:
15683+ properties:
15684+ outcome:
15685+ oneOf:
15686+ - properties:
15687+ exit_code:
15688+ type: integer
15689+ type:
15690+ enum:
15691+ - exit
15692+ type: string
15693+ required:
15694+ - type
15695+ - exit_code
15696+ type: object
15697+ - properties:
15698+ type:
15699+ enum:
15700+ - timeout
15701+ type: string
15702+ required:
15703+ - type
15704+ type: object
15705+ stderr:
15706+ type: string
15707+ stdout:
15708+ type: string
15709+ required:
15710+ - stdout
15711+ - stderr
15712+ - outcome
15713+ type: object
15714+ type: array
15715+ status:
15716+ $ref: '#/components/schemas/ShellCallStatus'
15717+ type:
15718+ enum:
15719+ - shell_call_output
15720+ type: string
15721+ required:
15722+ - type
15723+ - id
15724+ - call_id
15725+ - status
15726+ - output
15727+ type: object
1551715728 OutputTextEditorServerToolItem:
1551815729 description: An openrouter:text_editor server tool output item
1551915730 example:
@@ -18147,6 +18358,8 @@ components:
1814718358 - $ref: '#/components/schemas/WebFetchServerTool'
1814818359 - $ref: '#/components/schemas/WebSearchServerTool_OpenRouter'
1814918360 - $ref: '#/components/schemas/ApplyPatchServerTool_OpenRouter'
18361+ - $ref: '#/components/schemas/BashServerTool'
18362+ - $ref: '#/components/schemas/ShellServerTool_OpenRouter'
1815018363 type: array
1815118364 top_k:
1815218365 type: integer
@@ -18225,6 +18438,12 @@ components:
1822518438 - fusion
1822618439 example: direct
1822718440 type: string
18441+ SandboxSleepAfterSeconds:
18442+ description: >-
18443+ How long (in seconds) the container stays warm after its last command before sleeping, freeing its capacity
18444+ slot. Idle-based: each command renews the timer. Defaults to 900 (15 minutes); capped at 2592000 (30 days).
18445+ example: 900
18446+ type: integer
1822818447 SearchContextSizeEnum:
1822918448 description: Size of the search context for web search tools
1823018449 enum:
@@ -18402,6 +18621,14 @@ components:
1840218621 - call_id
1840318622 - output
1840418623 type: object
18624+ ShellCallStatus:
18625+ description: Status of a shell call or its output.
18626+ enum:
18627+ - in_progress
18628+ - completed
18629+ - incomplete
18630+ example: completed
18631+ type: string
1840518632 ShellServerTool:
1840618633 description: Shell tool configuration
1840718634 example:
@@ -18414,6 +18641,64 @@ components:
1841418641 required:
1841518642 - type
1841618643 type: object
18644+ ShellServerTool_OpenRouter:
18645+ description: >-
18646+ OpenRouter built-in server tool: runs shell commands server-side in a sandboxed container (a sandbox-backed
18647+ clone of OpenAI's hosted shell tool)
18648+ example:
18649+ parameters:
18650+ engine: openrouter
18651+ environment:
18652+ type: container_auto
18653+ type: openrouter:shell
18654+ properties:
18655+ parameters:
18656+ $ref: '#/components/schemas/ShellServerToolConfig'
18657+ type:
18658+ enum:
18659+ - openrouter:shell
18660+ type: string
18661+ required:
18662+ - type
18663+ type: object
18664+ ShellServerToolConfig:
18665+ description: Configuration for the openrouter:shell server tool
18666+ example:
18667+ engine: openrouter
18668+ environment:
18669+ type: container_auto
18670+ properties:
18671+ engine:
18672+ $ref: '#/components/schemas/ShellServerToolEngine'
18673+ environment:
18674+ $ref: '#/components/schemas/ShellServerToolEnvironment'
18675+ sleep_after_seconds:
18676+ $ref: '#/components/schemas/SandboxSleepAfterSeconds'
18677+ type: object
18678+ ShellServerToolEngine:
18679+ description: >-
18680+ Which shell engine to use. "openrouter" runs commands server-side in the OpenRouter sandbox. "auto" (default)
18681+ keeps the provider's native hosted shell when available (OpenAI); on other providers the call is routed to the
18682+ OpenRouter sandbox.
18683+ enum:
18684+ - auto
18685+ - openrouter
18686+ example: openrouter
18687+ type: string
18688+ ShellServerToolEnvironment:
18689+ description: >-
18690+ Server-side execution environment for the shell tool. Only container-backed environments are supported; "local"
18691+ shells are not.
18692+ discriminator:
18693+ mapping:
18694+ container_auto: '#/components/schemas/ContainerAutoEnvironment'
18695+ container_reference: '#/components/schemas/ContainerReferenceEnvironment'
18696+ propertyName: type
18697+ example:
18698+ type: container_auto
18699+ oneOf:
18700+ - $ref: '#/components/schemas/ContainerAutoEnvironment'
18701+ - $ref: '#/components/schemas/ContainerReferenceEnvironment'
1841718702 SpeechRequest:
1841818703 description: Text-to-speech request input
1841918704 example:
0 commit comments