diff --git a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ResponsesRequestToolsItems.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ResponsesRequestToolsItems.g.cs index bce1e8a..ceee723 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ResponsesRequestToolsItems.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.JsonConverters.ResponsesRequestToolsItems.g.cs @@ -154,6 +154,7 @@ public class ResponsesRequestToolsItemsJsonConverter : global::System.Text.Json. var __score15 = 0; if (__jsonProps.Contains("parameters")) __score15++; if (__jsonProps.Contains("parameters.analysis_models")) __score15++; + if (__jsonProps.Contains("parameters.max_tool_calls")) __score15++; if (__jsonProps.Contains("parameters.model")) __score15++; if (__jsonProps.Contains("type")) __score15++; var __score16 = 0; diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.ChatRequestPluginsItemsVariant4.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.ChatRequestPluginsItemsVariant4.g.cs index 54ef381..87f46a9 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.ChatRequestPluginsItemsVariant4.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.ChatRequestPluginsItemsVariant4.g.cs @@ -27,6 +27,12 @@ public sealed partial class ChatRequestPluginsItemsVariant4 [global::System.Text.Json.Serialization.JsonPropertyName("enabled")] public bool? Enabled { get; set; } + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_tool_calls")] + public int? MaxToolCalls { get; set; } + /// /// Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. /// @@ -51,6 +57,9 @@ public sealed partial class ChatRequestPluginsItemsVariant4 /// /// Set to false to disable the fusion plugin for this request. Defaults to true. /// + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// /// /// Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. /// @@ -61,11 +70,13 @@ public ChatRequestPluginsItemsVariant4( global::OpenRouter.ChatRequestPluginsItemsVariant4Id id, global::System.Collections.Generic.IList? analysisModels, bool? enabled, + int? maxToolCalls, string? model) { this.Id = id; this.AnalysisModels = analysisModels; this.Enabled = enabled; + this.MaxToolCalls = maxToolCalls; this.Model = model; } diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.FusionServerToolConfig.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.FusionServerToolConfig.g.cs index 1225167..0bc5df1 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.FusionServerToolConfig.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.FusionServerToolConfig.g.cs @@ -14,6 +14,12 @@ public sealed partial class FusionServerToolConfig [global::System.Text.Json.Serialization.JsonPropertyName("analysis_models")] public global::System.Collections.Generic.IList? AnalysisModels { get; set; } + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_tool_calls")] + public int? MaxToolCalls { get; set; } + /// /// Slug of the judge model that produces the structured analysis JSON. Defaults to the model used in the outer API request. /// @@ -32,6 +38,9 @@ public sealed partial class FusionServerToolConfig /// /// Slugs of models to run in parallel as the analysis panel. Each model receives the user prompt with openrouter:web_search and openrouter:web_fetch enabled, then a judge model summarizes the collective output into structured analysis JSON. Capped at 8 models to bound cost amplification. Defaults to the Quality preset from /labs/fusion. /// + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// /// /// Slug of the judge model that produces the structured analysis JSON. Defaults to the model used in the outer API request. /// @@ -40,9 +49,11 @@ public sealed partial class FusionServerToolConfig #endif public FusionServerToolConfig( global::System.Collections.Generic.IList? analysisModels, + int? maxToolCalls, string? model) { this.AnalysisModels = analysisModels; + this.MaxToolCalls = maxToolCalls; this.Model = model; } diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesRequestPluginsItemsVariant4.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesRequestPluginsItemsVariant4.g.cs index 6739bfa..e16cf43 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesRequestPluginsItemsVariant4.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.MessagesRequestPluginsItemsVariant4.g.cs @@ -27,6 +27,12 @@ public sealed partial class MessagesRequestPluginsItemsVariant4 [global::System.Text.Json.Serialization.JsonPropertyName("enabled")] public bool? Enabled { get; set; } + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_tool_calls")] + public int? MaxToolCalls { get; set; } + /// /// Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. /// @@ -51,6 +57,9 @@ public sealed partial class MessagesRequestPluginsItemsVariant4 /// /// Set to false to disable the fusion plugin for this request. Defaults to true. /// + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// /// /// Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. /// @@ -61,11 +70,13 @@ public MessagesRequestPluginsItemsVariant4( global::OpenRouter.MessagesRequestPluginsItemsVariant4Id id, global::System.Collections.Generic.IList? analysisModels, bool? enabled, + int? maxToolCalls, string? model) { this.Id = id; this.AnalysisModels = analysisModels; this.Enabled = enabled; + this.MaxToolCalls = maxToolCalls; this.Model = model; } diff --git a/src/libs/OpenRouter/Generated/OpenRouter.Models.ResponsesRequestPluginsItemsVariant4.g.cs b/src/libs/OpenRouter/Generated/OpenRouter.Models.ResponsesRequestPluginsItemsVariant4.g.cs index 0153940..128cf09 100644 --- a/src/libs/OpenRouter/Generated/OpenRouter.Models.ResponsesRequestPluginsItemsVariant4.g.cs +++ b/src/libs/OpenRouter/Generated/OpenRouter.Models.ResponsesRequestPluginsItemsVariant4.g.cs @@ -27,6 +27,12 @@ public sealed partial class ResponsesRequestPluginsItemsVariant4 [global::System.Text.Json.Serialization.JsonPropertyName("enabled")] public bool? Enabled { get; set; } + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("max_tool_calls")] + public int? MaxToolCalls { get; set; } + /// /// Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. /// @@ -51,6 +57,9 @@ public sealed partial class ResponsesRequestPluginsItemsVariant4 /// /// Set to false to disable the fusion plugin for this request. Defaults to true. /// + /// + /// Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. + /// /// /// Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. /// @@ -61,11 +70,13 @@ public ResponsesRequestPluginsItemsVariant4( global::OpenRouter.ResponsesRequestPluginsItemsVariant4Id id, global::System.Collections.Generic.IList? analysisModels, bool? enabled, + int? maxToolCalls, string? model) { this.Id = id; this.AnalysisModels = analysisModels; this.Enabled = enabled; + this.MaxToolCalls = maxToolCalls; this.Model = model; } diff --git a/src/libs/OpenRouter/openapi.yaml b/src/libs/OpenRouter/openapi.yaml index de504dc..96bfebf 100644 --- a/src/libs/OpenRouter/openapi.yaml +++ b/src/libs/OpenRouter/openapi.yaml @@ -7685,6 +7685,10 @@ "type": "boolean", "description": "Set to false to disable the fusion plugin for this request. Defaults to true." }, + "max_tool_calls": { + "type": "integer", + "description": "Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16." + }, "model": { "type": "string", "description": "Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset." @@ -9778,6 +9782,10 @@ }, "description": "Slugs of models to run in parallel as the analysis panel. Each model receives the user prompt with openrouter:web_search and openrouter:web_fetch enabled, then a judge model summarizes the collective output into structured analysis JSON. Capped at 8 models to bound cost amplification. Defaults to the Quality preset from /labs/fusion." }, + "max_tool_calls": { + "type": "integer", + "description": "Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16." + }, "model": { "type": "string", "description": "Slug of the judge model that produces the structured analysis JSON. Defaults to the model used in the outer API request." @@ -15608,6 +15616,10 @@ "type": "boolean", "description": "Set to false to disable the fusion plugin for this request. Defaults to true." }, + "max_tool_calls": { + "type": "integer", + "description": "Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16." + }, "model": { "type": "string", "description": "Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset." @@ -22488,6 +22500,10 @@ "type": "boolean", "description": "Set to false to disable the fusion plugin for this request. Defaults to true." }, + "max_tool_calls": { + "type": "integer", + "description": "Maximum number of tool-calling steps each panelist (analysis model) and the judge model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16." + }, "model": { "type": "string", "description": "Slug of the model that performs both the judge step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset."