From 68e33a11036b023a2433eda39e28f31abb5a51d5 Mon Sep 17 00:00:00 2001 From: jacob314 Date: Thu, 23 Apr 2026 14:34:43 -0700 Subject: [PATCH] fix(test): regenerate settings documentation and schema --- docs/cli/settings.md | 17 ++++++++++------- docs/reference/configuration.md | 14 ++++++++++++++ schemas/settings.schema.json | 31 +++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 7 deletions(-) diff --git a/docs/cli/settings.md b/docs/cli/settings.md index 94103dae32..c48a15a905 100644 --- a/docs/cli/settings.md +++ b/docs/cli/settings.md @@ -99,13 +99,16 @@ they appear in the UI. ### Model -| UI Label | Setting | Description | Default | -| ----------------------------- | ---------------------------- | -------------------------------------------------------------------------------------- | ----------- | -| Model | `model.name` | The Gemini model to use for conversations. | `undefined` | -| Max Session Turns | `model.maxSessionTurns` | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | `-1` | -| Context Compression Threshold | `model.compressionThreshold` | The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | `0.5` | -| Disable Loop Detection | `model.disableLoopDetection` | Disable automatic detection and prevention of infinite loops. | `false` | -| Skip Next Speaker Check | `model.skipNextSpeakerCheck` | Skip the next speaker check. | `true` | +| UI Label | Setting | Description | Default | +| --------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ----------- | +| Model | `model.name` | The Gemini model to use for conversations. | `undefined` | +| Max Session Turns | `model.maxSessionTurns` | Maximum number of user/model/tool turns to keep in a session. -1 means unlimited. | `-1` | +| Context Compression Threshold | `model.compressionThreshold` | The fraction of context usage at which to trigger context compression (e.g. 0.2, 0.3). | `0.5` | +| Disable Loop Detection | `model.disableLoopDetection` | Disable automatic detection and prevention of infinite loops. | `false` | +| Skip Next Speaker Check | `model.skipNextSpeakerCheck` | Skip the next speaker check. | `true` | +| Best Effort Pro | `model.autoRouting.bestEffortPro` | Always prefer the Pro model unless it is unavailable (e.g., due to timeouts or quota), ignoring other routing hints. | `false` | +| Pro Timeout (Minutes) | `model.autoRouting.proTimeoutMinutes` | If a Pro request takes longer than this many minutes, it will be marked as temporarily unavailable and fallback to Flash. | `5` | +| Pro Timeout Fallback Duration (Minutes) | `model.autoRouting.proTimeoutFallbackDurationMinutes` | How long to route to Flash after Pro times out. | `60` | ### Agents diff --git a/docs/reference/configuration.md b/docs/reference/configuration.md index 56dd6b4b5d..30088b52aa 100644 --- a/docs/reference/configuration.md +++ b/docs/reference/configuration.md @@ -483,6 +483,20 @@ their corresponding top-level category object in your `settings.json` file. - **Description:** Skip the next speaker check. - **Default:** `true` +- **`model.autoRouting.bestEffortPro`** (boolean): + - **Description:** Always prefer the Pro model unless it is unavailable (e.g., + due to timeouts or quota), ignoring other routing hints. + - **Default:** `false` + +- **`model.autoRouting.proTimeoutMinutes`** (number): + - **Description:** If a Pro request takes longer than this many minutes, it + will be marked as temporarily unavailable and fallback to Flash. + - **Default:** `5` + +- **`model.autoRouting.proTimeoutFallbackDurationMinutes`** (number): + - **Description:** How long to route to Flash after Pro times out. + - **Default:** `60` + #### `modelConfigs` - **`modelConfigs.aliases`** (object): diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index e7b362fc4e..a287a6cc7b 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -702,6 +702,37 @@ "markdownDescription": "Skip the next speaker check.\n\n- Category: `Model`\n- Requires restart: `no`\n- Default: `true`", "default": true, "type": "boolean" + }, + "autoRouting": { + "title": "Auto Routing", + "description": "Settings for automatic model routing.", + "markdownDescription": "Settings for automatic model routing.\n\n- Category: `Model`\n- Requires restart: `no`\n- Default: `{}`", + "default": {}, + "type": "object", + "properties": { + "bestEffortPro": { + "title": "Best Effort Pro", + "description": "Always prefer the Pro model unless it is unavailable (e.g., due to timeouts or quota), ignoring other routing hints.", + "markdownDescription": "Always prefer the Pro model unless it is unavailable (e.g., due to timeouts or quota), ignoring other routing hints.\n\n- Category: `Model`\n- Requires restart: `no`\n- Default: `false`", + "default": false, + "type": "boolean" + }, + "proTimeoutMinutes": { + "title": "Pro Timeout (Minutes)", + "description": "If a Pro request takes longer than this many minutes, it will be marked as temporarily unavailable and fallback to Flash.", + "markdownDescription": "If a Pro request takes longer than this many minutes, it will be marked as temporarily unavailable and fallback to Flash.\n\n- Category: `Model`\n- Requires restart: `no`\n- Default: `5`", + "default": 5, + "type": "number" + }, + "proTimeoutFallbackDurationMinutes": { + "title": "Pro Timeout Fallback Duration (Minutes)", + "description": "How long to route to Flash after Pro times out.", + "markdownDescription": "How long to route to Flash after Pro times out.\n\n- Category: `Model`\n- Requires restart: `no`\n- Default: `60`", + "default": 60, + "type": "number" + } + }, + "additionalProperties": false } }, "additionalProperties": false