From ed9c1b6e588144da31a6ed6f40776ab32ce19242 Mon Sep 17 00:00:00 2001 From: OpenRouter SDK Bot Date: Sun, 8 Nov 2026 02:20:40 +0000 Subject: [PATCH] chore: update OpenAPI spec [sdk-bot] --- .speakeasy/in.openapi.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.speakeasy/in.openapi.yaml b/.speakeasy/in.openapi.yaml index 5d4071f2d..b080e5a1d 100644 --- a/.speakeasy/in.openapi.yaml +++ b/.speakeasy/in.openapi.yaml @@ -12010,6 +12010,9 @@ components: siblings: description: 'Universal profile only, for searches the router answers through the `tool_search` wrapper; code-mode `search()` and a client-owned tool search list the matched tools alone. When true, each result also names up to 16 other deferred tools of every source a match came from, so a model that found one tool of an MCP server learns its neighbours without another search. Absent or false: results list the matched tools alone.' type: 'boolean' + spread: + description: 'Universal profile only, for keyword searches the router answers through the `tool_search` wrapper. When true, a result spreads across sources: of the 3 x limit best-scoring candidates, those scoring at least 60% of the best match take at most 2 slots per source (MCP server, namespace or shared `_` prefix; a tool with no source is never capped), and the remaining slots fill in score order, so a catalog with several systems for one job (web search, page extraction) shows one of each instead of the top system''s siblings. Absent or false: results are the best matches in score order.' + type: 'boolean' type: enum: - 'bm25' @@ -12061,7 +12064,7 @@ components: - 'type' type: 'object' DeferredToolsControl: - description: 'Opt-in versioned router-level deferred-tool protocol. Replay assistant reasoning unchanged on continuation; keep the catalog unchanged.' + description: 'Opt-in versioned router-level deferred-tool protocol. Replay assistant reasoning unchanged on continuation. The portable profile needs the catalog unchanged across a continuation; the universal profile accepts a changed catalog and, with `announce_catalog_changes`, tells the model about it.' example: profile: 'portable' protocol: 'v1' @@ -12070,6 +12073,9 @@ components: type: 'bm25' validation: 'runtime' properties: + announce_catalog_changes: + description: 'Universal profile only. When true, a catalog whose deferred tools changed between two of the model''s own turns (a client that connects MCP servers while the model works) is re-announced before the next model turn, with the sources added, changed and removed since the previous index, or that no deferred tools remain. Applies when the router lists the catalog itself; a client whose own tool search was adopted lists its deferred tools itself and is not re-announced. The announcement shares the result budget of the turn and is skipped when it does not fit. Absent or false: the catalog index is announced on a user turn only.' + type: 'boolean' cascade_mode: description: 'How a universal `tool_search` query reaches the client''s own tool search. Absent or `keywords`: a `select:` query becomes the words of the selected names and the limit is always filled. `native`: a `select:` query passes through verbatim when the client search documents `select:`, and the limit field is sent only when the model gave one, unless the client search requires it, in which case its documented default is sent. Experimental.' enum: @@ -28402,6 +28408,10 @@ components: description: 'The ID of the model call that ran the search. Replaying the item reuses it.' example: 'call_search_1' type: 'string' + catalog_changes: + description: 'What the announced index added and removed since the previous one, when the request opted into `announce_catalog_changes` and the catalog changed between model turns. Replaying the item shows the same lines.' + example: 'Added since the previous index: mcp__okta (113).' + type: 'string' catalog_index: description: 'The deferred-tool index the router showed the model with a pre-search, listing tool sources and names. Replaying the item shows the same index.' example: "Deferred tools, found with tool_search and called with tool_exec:\nSources: mcp__sentry (12)."