@anthonyhaussman/opencode-agy-auth 1.1.19-alpha.1 → 1.1.19-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -16000,711 +16000,767 @@ import { randomUUID as randomUUID3 } from "crypto";
16000
16000
 
16001
16001
  // models.json
16002
16002
  var models_default = {
16003
+ agentModelSorts: [
16004
+ {
16005
+ displayName: "Recommended",
16006
+ groups: [
16007
+ {
16008
+ modelIds: [
16009
+ "gemini-3.7-flash-high",
16010
+ "gemini-3.7-flash-medium",
16011
+ "gemini-3.7-flash-low",
16012
+ "gemini-3.6-flash-high",
16013
+ "gemini-3.6-flash-medium",
16014
+ "gemini-3.6-flash-low",
16015
+ "gemini-3-flash-agent",
16016
+ "gemini-3.5-flash-low",
16017
+ "gemini-3.5-flash-extra-low",
16018
+ "gemini-pro-agent",
16019
+ "gemini-3.1-pro-low",
16020
+ "claude-sonnet-4-6",
16021
+ "claude-opus-4-6-thinking",
16022
+ "gpt-oss-120b-medium"
16023
+ ]
16024
+ }
16025
+ ]
16026
+ }
16027
+ ],
16028
+ audioTranscriptionModelIds: [
16029
+ "models/proactive-observer-v10"
16030
+ ],
16031
+ commandModelIds: [
16032
+ "gemini-3-flash"
16033
+ ],
16034
+ commitMessageModelIds: [
16035
+ "gemini-3.1-flash-lite"
16036
+ ],
16037
+ defaultAgentModelId: "gemini-3.7-flash-high",
16038
+ deprecatedModelIds: {
16039
+ "gemini-3.1-pro-high": {
16040
+ newModelEnum: "MODEL_PLACEHOLDER_M16",
16041
+ newModelId: "gemini-pro-agent",
16042
+ oldModelEnum: "MODEL_PLACEHOLDER_M37"
16043
+ }
16044
+ },
16045
+ experimentIds: [
16046
+ 106140402,
16047
+ 105979552,
16048
+ 105979574,
16049
+ 106015333,
16050
+ 106568772,
16051
+ 105867471,
16052
+ 106548982,
16053
+ 106123599,
16054
+ 106076629,
16055
+ 106121401,
16056
+ 106100625,
16057
+ 106143956,
16058
+ 105879567,
16059
+ 105856899,
16060
+ 106312323,
16061
+ 106064030,
16062
+ 106567313,
16063
+ 106396310,
16064
+ 106470335,
16065
+ 105757908,
16066
+ 106106760,
16067
+ 106021688,
16068
+ 105887299,
16069
+ 106428370,
16070
+ 106283618,
16071
+ 106278607,
16072
+ 106538964,
16073
+ 106512082,
16074
+ 106380926,
16075
+ 106281951,
16076
+ 106264532,
16077
+ 106044947,
16078
+ 106032303,
16079
+ 106228452,
16080
+ 106121607,
16081
+ 105979531,
16082
+ 105979553,
16083
+ 106015328,
16084
+ 106568390,
16085
+ 105867469,
16086
+ 106123597,
16087
+ 106121399,
16088
+ 106100654,
16089
+ 106064028,
16090
+ 106567309,
16091
+ 106396304,
16092
+ 106470331,
16093
+ 105906495,
16094
+ 106283614,
16095
+ 106038164,
16096
+ 106032301,
16097
+ 106121604
16098
+ ],
16099
+ imageGenerationModelIds: [
16100
+ "gemini-3.1-flash-image"
16101
+ ],
16003
16102
  models: {
16004
- tab_flash_lite_preview: {
16103
+ chat_20706: {
16104
+ addCursorToFindReplaceTarget: true,
16105
+ apiProvider: "API_PROVIDER_INTERNAL",
16106
+ isInternal: true,
16005
16107
  maxTokens: 16384,
16006
- maxOutputTokens: 4096,
16108
+ model: "MODEL_CHAT_20706",
16109
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16110
+ promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
16007
16111
  quotaInfo: {
16008
16112
  remainingFraction: 1
16009
16113
  },
16010
- model: "MODEL_PLACEHOLDER_M19",
16011
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16012
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16114
+ requiresLeadInGeneration: true,
16013
16115
  supportsCumulativeContext: true,
16014
16116
  supportsEstimateTokenCounter: true,
16015
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16016
- requiresLeadInGeneration: true
16117
+ tabJumpPrintLineRange: true,
16118
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
16017
16119
  },
16018
- "gemini-3.1-flash-lite": {
16019
- displayName: "Gemini 3.1 Flash Lite",
16020
- maxTokens: 1048576,
16021
- maxOutputTokens: 65535,
16120
+ chat_23310: {
16121
+ apiProvider: "API_PROVIDER_INTERNAL",
16122
+ isInternal: true,
16123
+ maxTokens: 32768,
16124
+ model: "MODEL_CHAT_23310",
16125
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16126
+ promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
16022
16127
  quotaInfo: {
16023
- remainingFraction: 0.9783466,
16024
- resetTime: "2026-08-22T17:36:20Z"
16128
+ remainingFraction: 1
16025
16129
  },
16026
- model: "MODEL_PLACEHOLDER_M50",
16027
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16028
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16130
+ requiresLeadInGeneration: true,
16131
+ supportsCumulativeContext: true,
16132
+ supportsEstimateTokenCounter: true,
16133
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
16134
+ },
16135
+ "claude-opus-4-6-thinking": {
16136
+ apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16137
+ displayName: "Claude Opus 4.6 (Thinking)",
16138
+ maxOutputTokens: 64e3,
16139
+ maxTokens: 25e4,
16140
+ model: "MODEL_PLACEHOLDER_M26",
16029
16141
  modelExperiments: {
16030
16142
  experiments: {
16031
16143
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16032
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16144
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "160000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16145
+ },
16146
+ template__system_prompts__planning_mode_artifacts: {
16147
+ stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16033
16148
  }
16034
16149
  }
16035
- }
16036
- },
16037
- "gemini-3.1-pro-low": {
16038
- displayName: "Gemini 3.1 Pro (Low)",
16039
- supportsImages: true,
16040
- supportsThinking: true,
16041
- thinkingBudget: 1001,
16042
- minThinkingBudget: 128,
16043
- recommended: true,
16044
- maxTokens: 1048576,
16045
- maxOutputTokens: 65535,
16150
+ },
16151
+ modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16046
16152
  quotaInfo: {
16047
- remainingFraction: 0.9783466,
16048
- resetTime: "2026-08-22T17:36:20Z"
16153
+ remainingFraction: 1,
16154
+ resetTime: "2026-08-23T17:29:11Z"
16049
16155
  },
16050
- model: "MODEL_PLACEHOLDER_M36",
16051
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16052
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16053
- supportsVideo: true,
16156
+ recommended: true,
16054
16157
  supportedMimeTypes: {
16055
- "text/plain": true,
16056
- "image/jpeg": true,
16057
- "text/x-python-script": true,
16058
- "audio/mpeg": true,
16059
- "image/webp": true,
16060
- "audio/wave": true,
16061
- "video/webm": true,
16062
- "text/x-python": true,
16063
- "application/x-python-code": true,
16064
- "audio/mp4": true,
16065
16158
  "image/heic": true,
16066
- "text/html": true,
16067
- "text/markdown": true,
16068
- "text/xml": true,
16069
- "text/javascript": true,
16070
- "audio/webm;codecs=opus": true,
16071
- "application/json": true,
16072
- "application/x-javascript": true,
16073
- "audio/wav": true,
16074
16159
  "image/heif": true,
16075
- "audio/webm": true,
16076
- "application/pdf": true,
16077
- "video/mp4": true,
16078
- "video/videoframe/jpeg2000": true,
16079
- "text/csv": true,
16160
+ "image/jpeg": true,
16080
16161
  "image/png": true,
16081
- "video/text/timestamp": true,
16082
- "audio/vnd.wave": true,
16162
+ "image/webp": true,
16083
16163
  "video/jpeg2000": true,
16084
- "application/x-ipynb+json": true,
16085
- "video/audio/s16le": true,
16086
- "audio/m4a": true,
16087
- "audio/mp3": true,
16088
- "text/rtf": true,
16089
- "audio/flac": true,
16090
- "video/audio/wav": true,
16091
- "application/rtf": true,
16092
- "application/x-typescript": true,
16093
- "text/css": true,
16094
- "text/x-typescript": true,
16095
- "audio/opus": true,
16096
- "audio/aac": true,
16097
- "audio/l16": true,
16098
- "audio/ogg": true,
16099
- "audio/x-wav": true
16164
+ "video/videoframe/jpeg2000": true
16100
16165
  },
16166
+ supportsImages: true,
16167
+ supportsThinking: true,
16168
+ thinkingBudget: 1024,
16169
+ vertexModelId: "claude-opus-4-6@default"
16170
+ },
16171
+ "claude-sonnet-4-6": {
16172
+ apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16173
+ displayName: "Claude Sonnet 4.6 (Thinking)",
16174
+ maxOutputTokens: 64e3,
16175
+ maxTokens: 25e4,
16176
+ model: "MODEL_PLACEHOLDER_M35",
16101
16177
  modelExperiments: {
16102
16178
  experiments: {
16103
- template__system_prompts__communication_style: {
16104
- stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
16179
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16180
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "160000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16105
16181
  },
16106
16182
  template__system_prompts__planning_mode_artifacts: {
16107
16183
  stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16108
- },
16109
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16110
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16111
- },
16112
- "cascade-include-ephemeral-message": {
16113
- stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16114
16184
  }
16115
16185
  }
16116
- }
16117
- },
16118
- "claude-opus-4-6-thinking": {
16119
- displayName: "Claude Opus 4.6 (Thinking)",
16120
- supportsImages: true,
16121
- supportsThinking: true,
16122
- thinkingBudget: 1024,
16123
- recommended: true,
16124
- maxTokens: 25e4,
16125
- maxOutputTokens: 64e3,
16186
+ },
16187
+ modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16126
16188
  quotaInfo: {
16127
16189
  remainingFraction: 1,
16128
- resetTime: "2026-08-22T17:39:05Z"
16190
+ resetTime: "2026-08-23T17:29:11Z"
16129
16191
  },
16130
- model: "MODEL_PLACEHOLDER_M26",
16131
- apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16132
- modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16192
+ recommended: true,
16133
16193
  supportedMimeTypes: {
16194
+ "image/heic": true,
16195
+ "image/heif": true,
16134
16196
  "image/jpeg": true,
16135
16197
  "image/png": true,
16136
16198
  "image/webp": true,
16137
16199
  "video/jpeg2000": true,
16138
- "video/videoframe/jpeg2000": true,
16139
- "image/heic": true,
16140
- "image/heif": true
16200
+ "video/videoframe/jpeg2000": true
16141
16201
  },
16202
+ supportsImages: true,
16203
+ supportsThinking: true,
16204
+ thinkingBudget: 1024,
16205
+ vertexModelId: "claude-sonnet-4-6@default"
16206
+ },
16207
+ "gemini-2.5-flash": {
16208
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16209
+ displayName: "Gemini 3.1 Flash Lite",
16210
+ maxOutputTokens: 65535,
16211
+ maxTokens: 1048576,
16212
+ model: "MODEL_GOOGLE_GEMINI_2_5_FLASH",
16142
16213
  modelExperiments: {
16143
16214
  experiments: {
16144
16215
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16145
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "160000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16146
- },
16147
- template__system_prompts__planning_mode_artifacts: {
16148
- stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16216
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16149
16217
  }
16150
16218
  }
16151
16219
  },
16152
- vertexModelId: "claude-opus-4-6@default"
16153
- },
16154
- chat_20706: {
16155
- maxTokens: 16384,
16220
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16156
16221
  quotaInfo: {
16157
- remainingFraction: 1
16222
+ remainingFraction: 0.9765516,
16223
+ resetTime: "2026-08-23T17:21:50Z"
16224
+ }
16225
+ },
16226
+ "gemini-2.5-flash-lite": {
16227
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16228
+ displayName: "Gemini 3.1 Flash Lite",
16229
+ maxOutputTokens: 65535,
16230
+ maxTokens: 1048576,
16231
+ model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE",
16232
+ modelExperiments: {
16233
+ experiments: {
16234
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16235
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16236
+ }
16237
+ }
16158
16238
  },
16159
- model: "MODEL_CHAT_20706",
16160
- apiProvider: "API_PROVIDER_INTERNAL",
16161
16239
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16162
- supportsCumulativeContext: true,
16163
- tabJumpPrintLineRange: true,
16164
- supportsEstimateTokenCounter: true,
16165
- isInternal: true,
16166
- addCursorToFindReplaceTarget: true,
16167
- promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
16168
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16169
- requiresLeadInGeneration: true
16170
- },
16171
- "claude-sonnet-4-6": {
16172
- displayName: "Claude Sonnet 4.6 (Thinking)",
16173
- supportsImages: true,
16174
- supportsThinking: true,
16175
- thinkingBudget: 1024,
16176
- recommended: true,
16177
- maxTokens: 25e4,
16178
- maxOutputTokens: 64e3,
16179
16240
  quotaInfo: {
16180
- remainingFraction: 1,
16181
- resetTime: "2026-08-22T17:39:05Z"
16182
- },
16183
- model: "MODEL_PLACEHOLDER_M35",
16184
- apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16185
- modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16186
- supportedMimeTypes: {
16187
- "video/jpeg2000": true,
16188
- "video/videoframe/jpeg2000": true,
16189
- "image/heic": true,
16190
- "image/heif": true,
16191
- "image/jpeg": true,
16192
- "image/png": true,
16193
- "image/webp": true
16194
- },
16241
+ remainingFraction: 0.9765516,
16242
+ resetTime: "2026-08-23T17:21:50Z"
16243
+ }
16244
+ },
16245
+ "gemini-2.5-flash-thinking": {
16246
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16247
+ displayName: "Gemini 3.1 Flash Lite",
16248
+ maxOutputTokens: 65535,
16249
+ maxTokens: 1048576,
16250
+ model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING",
16195
16251
  modelExperiments: {
16196
16252
  experiments: {
16197
16253
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16198
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "160000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16199
- },
16200
- template__system_prompts__planning_mode_artifacts: {
16201
- stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16254
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16202
16255
  }
16203
16256
  }
16204
16257
  },
16205
- vertexModelId: "claude-sonnet-4-6@default"
16258
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16259
+ quotaInfo: {
16260
+ remainingFraction: 0.9765516,
16261
+ resetTime: "2026-08-23T17:21:50Z"
16262
+ }
16206
16263
  },
16207
- "gemini-pro-agent": {
16208
- displayName: "Gemini 3.1 Pro (High)",
16209
- supportsImages: true,
16210
- supportsThinking: true,
16211
- thinkingBudget: 10001,
16212
- minThinkingBudget: 128,
16213
- recommended: true,
16214
- maxTokens: 1048576,
16264
+ "gemini-2.5-pro": {
16265
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16266
+ displayName: "Gemini 2.5 Pro",
16215
16267
  maxOutputTokens: 65535,
16216
- quotaInfo: {
16217
- remainingFraction: 0.9783466,
16218
- resetTime: "2026-08-22T17:36:20Z"
16268
+ maxTokens: 1048576,
16269
+ minThinkingBudget: 128,
16270
+ model: "MODEL_GOOGLE_GEMINI_2_5_PRO",
16271
+ modelExperiments: {
16272
+ experiments: {
16273
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16274
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16275
+ }
16276
+ }
16219
16277
  },
16220
- model: "MODEL_PLACEHOLDER_M16",
16221
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16222
16278
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16223
- supportsVideo: true,
16279
+ quotaInfo: {
16280
+ remainingFraction: 0.9765516,
16281
+ resetTime: "2026-08-23T17:21:50Z"
16282
+ },
16283
+ recommended: true,
16284
+ requiresImageOutputOutsideFunctionResponses: true,
16224
16285
  supportedMimeTypes: {
16225
- "audio/vnd.wave": true,
16226
- "text/x-typescript": true,
16227
- "audio/x-wav": true,
16228
- "audio/mp4": true,
16229
- "application/x-ipynb+json": true,
16230
- "text/markdown": true,
16231
- "application/pdf": true,
16232
- "video/jpeg2000": true,
16233
- "audio/opus": true,
16234
- "image/jpeg": true,
16235
- "text/javascript": true,
16236
- "audio/webm": true,
16237
- "audio/aac": true,
16238
- "audio/l16": true,
16239
- "video/audio/s16le": true,
16240
- "image/webp": true,
16241
16286
  "application/json": true,
16287
+ "application/pdf": true,
16242
16288
  "application/rtf": true,
16243
- "image/png": true,
16244
- "text/rtf": true,
16245
- "image/heif": true,
16246
- "video/audio/wav": true,
16247
- "audio/webm;codecs=opus": true,
16248
- "text/x-python-script": true,
16249
- "audio/mp3": true,
16250
- "text/plain": true,
16251
- "audio/m4a": true,
16289
+ "application/x-ipynb+json": true,
16290
+ "application/x-javascript": true,
16252
16291
  "application/x-python-code": true,
16292
+ "application/x-typescript": true,
16293
+ "audio/aac": true,
16253
16294
  "audio/flac": true,
16295
+ "audio/l16": true,
16296
+ "audio/m4a": true,
16297
+ "audio/mp3": true,
16298
+ "audio/mp4": true,
16299
+ "audio/mpeg": true,
16254
16300
  "audio/ogg": true,
16255
- "text/xml": true,
16256
- "video/text/timestamp": true,
16257
- "text/html": true,
16258
- "image/heic": true,
16301
+ "audio/opus": true,
16302
+ "audio/vnd.wave": true,
16259
16303
  "audio/wav": true,
16260
- "video/webm": true,
16261
- "text/css": true,
16262
16304
  "audio/wave": true,
16305
+ "audio/webm": true,
16306
+ "audio/webm;codecs=opus": true,
16307
+ "audio/x-wav": true,
16308
+ "image/heic": true,
16309
+ "image/heif": true,
16310
+ "image/jpeg": true,
16311
+ "image/png": true,
16312
+ "image/webp": true,
16313
+ "text/css": true,
16314
+ "text/csv": true,
16315
+ "text/html": true,
16316
+ "text/javascript": true,
16317
+ "text/markdown": true,
16318
+ "text/plain": true,
16319
+ "text/rtf": true,
16320
+ "text/x-python": true,
16321
+ "text/x-python-script": true,
16322
+ "text/x-typescript": true,
16323
+ "text/xml": true,
16324
+ "video/audio/s16le": true,
16325
+ "video/audio/wav": true,
16326
+ "video/jpeg2000": true,
16263
16327
  "video/mp4": true,
16328
+ "video/text/timestamp": true,
16264
16329
  "video/videoframe/jpeg2000": true,
16265
- "application/x-javascript": true,
16266
- "audio/mpeg": true,
16267
- "text/x-python": true,
16268
- "text/csv": true,
16269
- "application/x-typescript": true
16330
+ "video/webm": true
16270
16331
  },
16332
+ supportsImages: true,
16333
+ supportsThinking: true,
16334
+ thinkingBudget: 1024
16335
+ },
16336
+ "gemini-3-flash": {
16337
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16338
+ displayName: "Gemini 3 Flash",
16339
+ maxOutputTokens: 65536,
16340
+ maxTokens: 1048576,
16341
+ minThinkingBudget: 32,
16342
+ model: "MODEL_PLACEHOLDER_M18",
16271
16343
  modelExperiments: {
16272
16344
  experiments: {
16273
- template__system_prompts__planning_mode_artifacts: {
16274
- stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16275
- },
16276
16345
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16277
16346
  stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16278
16347
  },
16279
- "cascade-include-ephemeral-message": {
16280
- stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16281
- },
16282
16348
  template__system_prompts__communication_style: {
16283
- stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
16349
+ stringValue: '- Keep your responses concise.\n- Provide a summary of your work when you end your turn. Ground your response in the work you did. Keep your tone professional and avoid overconfident language, bragging, or overclaiming success.\n- AVOID using superlatives such as "perfectly", "flawlessly", "100% correct", "Summary of Accomplishments" etc. to summarize your work for the user. Be humble.\n- AVOID over-the-top politeness or complimenting the user excessively.\n- Format your responses in github-style markdown.'
16284
16350
  }
16285
16351
  }
16286
- }
16287
- },
16288
- "gemini-3.6-flash-tiered": {
16289
- supportsImages: true,
16290
- supportsThinking: true,
16291
- thinkingBudget: -1,
16292
- minThinkingBudget: 32,
16293
- recommended: true,
16294
- maxTokens: 1048576,
16295
- maxOutputTokens: 65536,
16296
- quotaInfo: {
16297
- remainingFraction: 0.9783466,
16298
- resetTime: "2026-08-22T17:36:20Z"
16299
16352
  },
16300
- model: "MODEL_PLACEHOLDER_M196",
16301
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16302
16353
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16303
- supportsVideo: true,
16354
+ quotaInfo: {
16355
+ remainingFraction: 0.9765516,
16356
+ resetTime: "2026-08-23T17:21:50Z"
16357
+ },
16358
+ recommended: true,
16304
16359
  supportedMimeTypes: {
16305
- "video/audio/s16le": true,
16306
- "text/x-typescript": true,
16307
- "audio/ogg": true,
16360
+ "application/json": true,
16361
+ "application/pdf": true,
16308
16362
  "application/rtf": true,
16363
+ "application/x-ipynb+json": true,
16364
+ "application/x-javascript": true,
16365
+ "application/x-python-code": true,
16366
+ "application/x-typescript": true,
16367
+ "audio/aac": true,
16368
+ "audio/flac": true,
16369
+ "audio/l16": true,
16309
16370
  "audio/m4a": true,
16371
+ "audio/mp3": true,
16372
+ "audio/mp4": true,
16310
16373
  "audio/mpeg": true,
16311
- "image/webp": true,
16312
- "audio/webm": true,
16313
- "audio/l16": true,
16374
+ "audio/ogg": true,
16375
+ "audio/opus": true,
16314
16376
  "audio/vnd.wave": true,
16315
- "text/plain": true,
16316
- "application/json": true,
16317
- "image/png": true,
16318
- "text/javascript": true,
16377
+ "audio/wav": true,
16319
16378
  "audio/wave": true,
16320
- "video/webm": true,
16379
+ "audio/webm": true,
16380
+ "audio/webm;codecs=opus": true,
16381
+ "audio/x-wav": true,
16321
16382
  "image/heic": true,
16322
- "text/rtf": true,
16323
- "application/x-python-code": true,
16324
- "video/audio/wav": true,
16325
- "audio/flac": true,
16326
- "image/jpeg": true,
16327
16383
  "image/heif": true,
16328
- "application/x-javascript": true,
16329
- "video/text/timestamp": true,
16330
- "video/videoframe/jpeg2000": true,
16331
- "video/mp4": true,
16332
- "text/x-python-script": true,
16384
+ "image/jpeg": true,
16385
+ "image/png": true,
16386
+ "image/webp": true,
16387
+ "text/css": true,
16388
+ "text/csv": true,
16333
16389
  "text/html": true,
16334
- "application/x-typescript": true,
16335
- "audio/webm;codecs=opus": true,
16336
- "audio/mp3": true,
16390
+ "text/javascript": true,
16337
16391
  "text/markdown": true,
16338
- "audio/wav": true,
16339
- "application/x-ipynb+json": true,
16340
- "audio/aac": true,
16341
- "audio/opus": true,
16342
- "video/jpeg2000": true,
16392
+ "text/plain": true,
16393
+ "text/rtf": true,
16394
+ "text/x-python": true,
16395
+ "text/x-python-script": true,
16396
+ "text/x-typescript": true,
16343
16397
  "text/xml": true,
16344
- "application/pdf": true,
16345
- "text/css": true,
16346
- "text/csv": true,
16347
- "audio/mp4": true,
16348
- "audio/x-wav": true,
16349
- "text/x-python": true
16398
+ "video/audio/s16le": true,
16399
+ "video/audio/wav": true,
16400
+ "video/jpeg2000": true,
16401
+ "video/mp4": true,
16402
+ "video/text/timestamp": true,
16403
+ "video/videoframe/jpeg2000": true,
16404
+ "video/webm": true
16350
16405
  },
16406
+ supportsImages: true,
16407
+ supportsThinking: true,
16408
+ supportsVideo: true,
16409
+ thinkingBudget: -1
16410
+ },
16411
+ "gemini-3-flash-agent": {
16412
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16413
+ displayName: "Gemini 3.5 Flash (High)",
16414
+ maxOutputTokens: 65536,
16415
+ maxTokens: 1048576,
16416
+ minThinkingBudget: 32,
16417
+ model: "MODEL_PLACEHOLDER_M84",
16351
16418
  modelExperiments: {
16352
16419
  experiments: {
16353
- template__system_prompts__messaging: {
16354
- stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16355
- },
16356
16420
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16357
16421
  stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16358
16422
  },
16359
- "cascade-include-ephemeral-message": {
16360
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16361
- },
16362
- template__system_prompts__communication_style: {
16363
- stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
16364
- },
16365
- template__system_prompts__guidelines: {
16366
- stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
16423
+ template__system_prompts__planning_mode_artifacts: {
16424
+ stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16367
16425
  }
16368
16426
  }
16369
- }
16370
- },
16371
- tab_jump_flash_lite_preview: {
16372
- maxTokens: 16384,
16373
- maxOutputTokens: 4096,
16374
- quotaInfo: {
16375
- remainingFraction: 1
16376
16427
  },
16377
- model: "MODEL_PLACEHOLDER_M28",
16378
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16379
16428
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16380
- supportsCumulativeContext: true,
16381
- tabJumpPrintLineRange: true,
16382
- supportsEstimateTokenCounter: true,
16383
- addCursorToFindReplaceTarget: true,
16384
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16385
- requiresLeadInGeneration: true,
16386
- requiresNoXmlToolExamples: true
16387
- },
16388
- "gemini-3.7-flash-tiered": {
16389
- supportsImages: true,
16390
- supportsThinking: true,
16391
- thinkingBudget: -1,
16392
- minThinkingBudget: 32,
16393
- recommended: true,
16394
- maxTokens: 1048576,
16395
- maxOutputTokens: 65536,
16396
16429
  quotaInfo: {
16397
- remainingFraction: 0.9783466,
16398
- resetTime: "2026-08-22T17:36:20Z"
16430
+ remainingFraction: 0.9765516,
16431
+ resetTime: "2026-08-23T17:21:50Z"
16399
16432
  },
16400
- model: "MODEL_PLACEHOLDER_M301",
16401
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16402
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16403
- supportsVideo: true,
16433
+ recommended: true,
16404
16434
  supportedMimeTypes: {
16405
- "audio/x-wav": true,
16406
- "text/x-typescript": true,
16407
- "video/audio/s16le": true,
16408
- "text/x-python-script": true,
16409
- "audio/aac": true,
16435
+ "application/json": true,
16436
+ "application/pdf": true,
16410
16437
  "application/rtf": true,
16411
- "text/rtf": true,
16412
- "video/text/timestamp": true,
16413
- "audio/l16": true,
16414
- "image/heic": true,
16415
- "text/csv": true,
16416
- "audio/wave": true,
16417
- "text/x-python": true,
16418
- "image/png": true,
16419
- "video/videoframe/jpeg2000": true,
16420
- "audio/webm;codecs=opus": true,
16438
+ "application/x-ipynb+json": true,
16421
16439
  "application/x-javascript": true,
16422
- "image/webp": true,
16423
- "application/pdf": true,
16424
- "audio/mp3": true,
16425
- "image/jpeg": true,
16426
- "application/x-typescript": true,
16427
16440
  "application/x-python-code": true,
16428
- "text/html": true,
16429
- "video/webm": true,
16441
+ "application/x-typescript": true,
16442
+ "audio/aac": true,
16443
+ "audio/flac": true,
16444
+ "audio/l16": true,
16445
+ "audio/m4a": true,
16446
+ "audio/mp3": true,
16430
16447
  "audio/mp4": true,
16431
- "text/markdown": true,
16432
- "text/css": true,
16448
+ "audio/mpeg": true,
16449
+ "audio/ogg": true,
16450
+ "audio/opus": true,
16451
+ "audio/vnd.wave": true,
16433
16452
  "audio/wav": true,
16453
+ "audio/wave": true,
16454
+ "audio/webm": true,
16455
+ "audio/webm;codecs=opus": true,
16456
+ "audio/x-wav": true,
16457
+ "image/heic": true,
16434
16458
  "image/heif": true,
16435
- "audio/vnd.wave": true,
16459
+ "image/jpeg": true,
16460
+ "image/png": true,
16461
+ "image/webp": true,
16462
+ "text/css": true,
16463
+ "text/csv": true,
16464
+ "text/html": true,
16436
16465
  "text/javascript": true,
16466
+ "text/markdown": true,
16467
+ "text/plain": true,
16468
+ "text/rtf": true,
16469
+ "text/x-python": true,
16470
+ "text/x-python-script": true,
16471
+ "text/x-typescript": true,
16437
16472
  "text/xml": true,
16473
+ "video/audio/s16le": true,
16438
16474
  "video/audio/wav": true,
16439
- "audio/webm": true,
16440
16475
  "video/jpeg2000": true,
16441
- "audio/opus": true,
16442
- "text/plain": true,
16443
- "audio/ogg": true,
16444
16476
  "video/mp4": true,
16445
- "application/json": true,
16446
- "audio/m4a": true,
16447
- "application/x-ipynb+json": true,
16448
- "audio/flac": true,
16449
- "audio/mpeg": true
16477
+ "video/text/timestamp": true,
16478
+ "video/videoframe/jpeg2000": true,
16479
+ "video/webm": true
16450
16480
  },
16481
+ supportsImages: true,
16482
+ supportsThinking: true,
16483
+ supportsVideo: true,
16484
+ tagDescription: "Limited time",
16485
+ tagTitle: "Fast",
16486
+ thinkingBudget: -1
16487
+ },
16488
+ "gemini-3.1-flash-image": {
16489
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16490
+ displayName: "Gemini 3.1 Flash Image",
16491
+ model: "MODEL_PLACEHOLDER_M21",
16492
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16493
+ quotaInfo: {
16494
+ remainingFraction: 0.9765516,
16495
+ resetTime: "2026-08-23T17:21:50Z"
16496
+ }
16497
+ },
16498
+ "gemini-3.1-flash-lite": {
16499
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16500
+ displayName: "Gemini 3.1 Flash Lite",
16501
+ maxOutputTokens: 65535,
16502
+ maxTokens: 1048576,
16503
+ model: "MODEL_PLACEHOLDER_M50",
16451
16504
  modelExperiments: {
16452
16505
  experiments: {
16453
16506
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16454
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16455
- },
16456
- "cascade-include-ephemeral-message": {
16457
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16458
- },
16459
- "task-details-suffix": {
16460
- stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
16507
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16461
16508
  }
16462
16509
  }
16510
+ },
16511
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16512
+ quotaInfo: {
16513
+ remainingFraction: 0.9765516,
16514
+ resetTime: "2026-08-23T17:21:50Z"
16463
16515
  }
16464
16516
  },
16465
- "gemini-3.6-flash-medium": {
16466
- displayName: "Gemini 3.6 Flash (Medium)",
16467
- supportsImages: true,
16468
- supportsThinking: true,
16469
- thinkingBudget: 4e3,
16470
- minThinkingBudget: 32,
16471
- recommended: true,
16517
+ "gemini-3.1-pro-high": {
16518
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16519
+ displayName: "Gemini 3.1 Pro (High)",
16520
+ maxOutputTokens: 65535,
16472
16521
  maxTokens: 1048576,
16473
- maxOutputTokens: 65536,
16474
- quotaInfo: {
16475
- remainingFraction: 0.9783466,
16476
- resetTime: "2026-08-22T17:36:20Z"
16522
+ minThinkingBudget: 128,
16523
+ model: "MODEL_PLACEHOLDER_M37",
16524
+ modelExperiments: {
16525
+ experiments: {
16526
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16527
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16528
+ },
16529
+ "cascade-include-ephemeral-message": {
16530
+ stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16531
+ },
16532
+ template__system_prompts__communication_style: {
16533
+ stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
16534
+ },
16535
+ template__system_prompts__planning_mode_artifacts: {
16536
+ stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16537
+ }
16538
+ }
16477
16539
  },
16478
- model: "MODEL_PLACEHOLDER_M72",
16479
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16480
16540
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16481
- supportsVideo: true,
16482
- tagTitle: "Fast",
16483
- tagDescription: "Limited time",
16541
+ quotaInfo: {
16542
+ remainingFraction: 0.9765516,
16543
+ resetTime: "2026-08-23T17:21:50Z"
16544
+ },
16545
+ recommended: true,
16484
16546
  supportedMimeTypes: {
16485
- "audio/aac": true,
16486
- "text/csv": true,
16487
16547
  "application/json": true,
16488
- "video/videoframe/jpeg2000": true,
16548
+ "application/pdf": true,
16549
+ "application/rtf": true,
16550
+ "application/x-ipynb+json": true,
16551
+ "application/x-javascript": true,
16552
+ "application/x-python-code": true,
16553
+ "application/x-typescript": true,
16554
+ "audio/aac": true,
16555
+ "audio/flac": true,
16556
+ "audio/l16": true,
16557
+ "audio/m4a": true,
16558
+ "audio/mp3": true,
16559
+ "audio/mp4": true,
16560
+ "audio/mpeg": true,
16489
16561
  "audio/ogg": true,
16562
+ "audio/opus": true,
16563
+ "audio/vnd.wave": true,
16564
+ "audio/wav": true,
16565
+ "audio/wave": true,
16490
16566
  "audio/webm": true,
16491
- "video/mp4": true,
16567
+ "audio/webm;codecs=opus": true,
16568
+ "audio/x-wav": true,
16569
+ "image/heic": true,
16492
16570
  "image/heif": true,
16493
- "text/rtf": true,
16494
- "audio/flac": true,
16495
- "image/png": true,
16496
16571
  "image/jpeg": true,
16497
- "video/text/timestamp": true,
16498
- "text/plain": true,
16499
- "text/x-python": true,
16572
+ "image/png": true,
16573
+ "image/webp": true,
16574
+ "text/css": true,
16575
+ "text/csv": true,
16500
16576
  "text/html": true,
16501
- "audio/mp3": true,
16502
- "application/pdf": true,
16503
- "video/audio/wav": true,
16504
- "image/heic": true,
16505
- "application/x-typescript": true,
16506
- "video/audio/s16le": true,
16507
- "application/x-ipynb+json": true,
16508
- "audio/wave": true,
16509
- "audio/vnd.wave": true,
16510
- "audio/x-wav": true,
16511
16577
  "text/javascript": true,
16512
- "audio/l16": true,
16513
- "audio/wav": true,
16514
- "image/webp": true,
16515
- "audio/opus": true,
16516
- "application/x-python-code": true,
16517
- "video/webm": true,
16518
- "video/jpeg2000": true,
16519
- "text/x-python-script": true,
16520
- "application/x-javascript": true,
16521
- "audio/m4a": true,
16522
16578
  "text/markdown": true,
16523
- "audio/mpeg": true,
16579
+ "text/plain": true,
16580
+ "text/rtf": true,
16581
+ "text/x-python": true,
16582
+ "text/x-python-script": true,
16524
16583
  "text/x-typescript": true,
16525
- "audio/webm;codecs=opus": true,
16526
- "audio/mp4": true,
16527
- "text/css": true,
16528
16584
  "text/xml": true,
16529
- "application/rtf": true
16585
+ "video/audio/s16le": true,
16586
+ "video/audio/wav": true,
16587
+ "video/jpeg2000": true,
16588
+ "video/mp4": true,
16589
+ "video/text/timestamp": true,
16590
+ "video/videoframe/jpeg2000": true,
16591
+ "video/webm": true
16530
16592
  },
16593
+ supportsImages: true,
16594
+ supportsThinking: true,
16595
+ supportsVideo: true,
16596
+ tagTitle: "New",
16597
+ thinkingBudget: 10001
16598
+ },
16599
+ "gemini-3.1-pro-low": {
16600
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16601
+ displayName: "Gemini 3.1 Pro (Low)",
16602
+ maxOutputTokens: 65535,
16603
+ maxTokens: 1048576,
16604
+ minThinkingBudget: 128,
16605
+ model: "MODEL_PLACEHOLDER_M36",
16531
16606
  modelExperiments: {
16532
16607
  experiments: {
16533
16608
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16534
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16609
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16535
16610
  },
16536
16611
  "cascade-include-ephemeral-message": {
16537
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16612
+ stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16538
16613
  },
16539
16614
  template__system_prompts__communication_style: {
16540
- stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
16541
- },
16542
- template__system_prompts__guidelines: {
16543
- stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
16615
+ stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
16544
16616
  },
16545
- template__system_prompts__messaging: {
16546
- stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16617
+ template__system_prompts__planning_mode_artifacts: {
16618
+ stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16547
16619
  }
16548
16620
  }
16549
- }
16550
- },
16551
- "gemini-2.5-pro": {
16552
- displayName: "Gemini 2.5 Pro",
16553
- supportsImages: true,
16554
- supportsThinking: true,
16555
- thinkingBudget: 1024,
16556
- minThinkingBudget: 128,
16557
- recommended: true,
16558
- maxTokens: 1048576,
16559
- maxOutputTokens: 65535,
16560
- quotaInfo: {
16561
- remainingFraction: 0.9783466,
16562
- resetTime: "2026-08-22T17:36:20Z"
16563
16621
  },
16564
- model: "MODEL_GOOGLE_GEMINI_2_5_PRO",
16565
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16566
16622
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16623
+ quotaInfo: {
16624
+ remainingFraction: 0.9765516,
16625
+ resetTime: "2026-08-23T17:21:50Z"
16626
+ },
16627
+ recommended: true,
16567
16628
  supportedMimeTypes: {
16568
- "audio/webm": true,
16569
16629
  "application/json": true,
16570
- "video/videoframe/jpeg2000": true,
16571
- "image/jpeg": true,
16572
- "audio/vnd.wave": true,
16573
- "audio/flac": true,
16574
- "audio/l16": true,
16630
+ "application/pdf": true,
16631
+ "application/rtf": true,
16575
16632
  "application/x-ipynb+json": true,
16576
- "audio/mpeg": true,
16577
16633
  "application/x-javascript": true,
16578
- "video/audio/s16le": true,
16579
- "image/png": true,
16634
+ "application/x-python-code": true,
16580
16635
  "application/x-typescript": true,
16581
- "text/rtf": true,
16636
+ "audio/aac": true,
16637
+ "audio/flac": true,
16638
+ "audio/l16": true,
16582
16639
  "audio/m4a": true,
16583
16640
  "audio/mp3": true,
16641
+ "audio/mp4": true,
16642
+ "audio/mpeg": true,
16584
16643
  "audio/ogg": true,
16585
- "audio/webm;codecs=opus": true,
16586
- "audio/x-wav": true,
16587
- "text/x-typescript": true,
16588
16644
  "audio/opus": true,
16589
- "application/rtf": true,
16590
- "application/pdf": true,
16591
- "text/javascript": true,
16592
- "video/audio/wav": true,
16593
- "text/html": true,
16645
+ "audio/vnd.wave": true,
16646
+ "audio/wav": true,
16594
16647
  "audio/wave": true,
16595
- "audio/aac": true,
16596
- "video/mp4": true,
16648
+ "audio/webm": true,
16649
+ "audio/webm;codecs=opus": true,
16650
+ "audio/x-wav": true,
16597
16651
  "image/heic": true,
16598
- "application/x-python-code": true,
16652
+ "image/heif": true,
16653
+ "image/jpeg": true,
16654
+ "image/png": true,
16599
16655
  "image/webp": true,
16600
- "audio/mp4": true,
16656
+ "text/css": true,
16657
+ "text/csv": true,
16658
+ "text/html": true,
16659
+ "text/javascript": true,
16660
+ "text/markdown": true,
16661
+ "text/plain": true,
16662
+ "text/rtf": true,
16601
16663
  "text/x-python": true,
16602
16664
  "text/x-python-script": true,
16603
- "video/text/timestamp": true,
16604
- "audio/wav": true,
16605
- "video/webm": true,
16606
- "image/heif": true,
16607
- "text/plain": true,
16608
- "video/jpeg2000": true,
16609
- "text/markdown": true,
16610
- "text/csv": true,
16665
+ "text/x-typescript": true,
16611
16666
  "text/xml": true,
16612
- "text/css": true
16667
+ "video/audio/s16le": true,
16668
+ "video/audio/wav": true,
16669
+ "video/jpeg2000": true,
16670
+ "video/mp4": true,
16671
+ "video/text/timestamp": true,
16672
+ "video/videoframe/jpeg2000": true,
16673
+ "video/webm": true
16613
16674
  },
16614
- requiresImageOutputOutsideFunctionResponses: true,
16615
- modelExperiments: {
16616
- experiments: {
16617
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16618
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16619
- }
16620
- }
16621
- }
16675
+ supportsImages: true,
16676
+ supportsThinking: true,
16677
+ supportsVideo: true,
16678
+ thinkingBudget: 1001
16622
16679
  },
16623
- "gemini-2.5-flash-thinking": {
16624
- displayName: "Gemini 3.1 Flash Lite",
16625
- maxTokens: 1048576,
16626
- maxOutputTokens: 65535,
16627
- quotaInfo: {
16628
- remainingFraction: 0.9783466,
16629
- resetTime: "2026-08-22T17:36:20Z"
16630
- },
16631
- model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING",
16680
+ "gemini-3.5-flash-extra-low": {
16632
16681
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16633
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16682
+ displayName: "Gemini 3.5 Flash (Low)",
16683
+ maxOutputTokens: 65536,
16684
+ maxTokens: 1048576,
16685
+ minThinkingBudget: 32,
16686
+ model: "MODEL_PLACEHOLDER_M187",
16634
16687
  modelExperiments: {
16635
16688
  experiments: {
16636
16689
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16637
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16690
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16691
+ },
16692
+ template__system_prompts__planning_mode_artifacts: {
16693
+ stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16638
16694
  }
16639
16695
  }
16640
- }
16641
- },
16642
- "gemini-3.5-flash-extra-low": {
16643
- displayName: "Gemini 3.5 Flash (Low)",
16644
- supportsImages: true,
16645
- supportsThinking: true,
16646
- thinkingBudget: 1e3,
16647
- minThinkingBudget: 32,
16648
- recommended: true,
16649
- maxTokens: 1048576,
16650
- maxOutputTokens: 65536,
16651
- quotaInfo: {
16652
- remainingFraction: 0.9783466,
16653
- resetTime: "2026-08-22T17:36:20Z"
16654
16696
  },
16655
- model: "MODEL_PLACEHOLDER_M187",
16656
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16657
16697
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16658
- supportsVideo: true,
16659
- tagTitle: "Fast",
16660
- tagDescription: "Limited time",
16698
+ quotaInfo: {
16699
+ remainingFraction: 0.9765516,
16700
+ resetTime: "2026-08-23T17:21:50Z"
16701
+ },
16702
+ recommended: true,
16661
16703
  supportedMimeTypes: {
16662
- "audio/opus": true,
16663
- "audio/mp3": true,
16704
+ "application/json": true,
16705
+ "application/pdf": true,
16706
+ "application/rtf": true,
16664
16707
  "application/x-ipynb+json": true,
16708
+ "application/x-javascript": true,
16665
16709
  "application/x-python-code": true,
16666
- "text/javascript": true,
16667
- "video/audio/s16le": true,
16668
- "text/plain": true,
16669
- "text/xml": true,
16710
+ "application/x-typescript": true,
16711
+ "audio/aac": true,
16670
16712
  "audio/flac": true,
16671
- "audio/webm;codecs=opus": true,
16672
- "video/text/timestamp": true,
16713
+ "audio/l16": true,
16714
+ "audio/m4a": true,
16715
+ "audio/mp3": true,
16716
+ "audio/mp4": true,
16717
+ "audio/mpeg": true,
16718
+ "audio/ogg": true,
16719
+ "audio/opus": true,
16720
+ "audio/vnd.wave": true,
16721
+ "audio/wav": true,
16673
16722
  "audio/wave": true,
16674
- "text/html": true,
16723
+ "audio/webm": true,
16724
+ "audio/webm;codecs=opus": true,
16675
16725
  "audio/x-wav": true,
16676
- "text/css": true,
16677
- "video/mp4": true,
16678
- "audio/l16": true,
16679
- "image/webp": true,
16680
- "application/json": true,
16681
- "text/x-python-script": true,
16682
- "audio/mpeg": true,
16683
- "audio/m4a": true,
16684
16726
  "image/heic": true,
16685
- "application/x-typescript": true,
16727
+ "image/heif": true,
16728
+ "image/jpeg": true,
16729
+ "image/png": true,
16730
+ "image/webp": true,
16731
+ "text/css": true,
16686
16732
  "text/csv": true,
16733
+ "text/html": true,
16734
+ "text/javascript": true,
16687
16735
  "text/markdown": true,
16736
+ "text/plain": true,
16688
16737
  "text/rtf": true,
16689
- "audio/mp4": true,
16690
- "application/pdf": true,
16691
- "audio/aac": true,
16692
- "image/heif": true,
16693
- "video/audio/wav": true,
16694
- "video/videoframe/jpeg2000": true,
16695
- "audio/wav": true,
16696
- "image/png": true,
16697
- "audio/ogg": true,
16698
- "text/x-typescript": true,
16699
16738
  "text/x-python": true,
16700
- "application/rtf": true,
16701
- "audio/vnd.wave": true,
16702
- "image/jpeg": true,
16739
+ "text/x-python-script": true,
16740
+ "text/x-typescript": true,
16741
+ "text/xml": true,
16742
+ "video/audio/s16le": true,
16743
+ "video/audio/wav": true,
16703
16744
  "video/jpeg2000": true,
16704
- "video/webm": true,
16705
- "application/x-javascript": true,
16706
- "audio/webm": true
16745
+ "video/mp4": true,
16746
+ "video/text/timestamp": true,
16747
+ "video/videoframe/jpeg2000": true,
16748
+ "video/webm": true
16707
16749
  },
16750
+ supportsImages: true,
16751
+ supportsThinking: true,
16752
+ supportsVideo: true,
16753
+ tagDescription: "Limited time",
16754
+ tagTitle: "Fast",
16755
+ thinkingBudget: 1e3
16756
+ },
16757
+ "gemini-3.5-flash-low": {
16758
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16759
+ displayName: "Gemini 3.5 Flash (Medium)",
16760
+ maxOutputTokens: 65536,
16761
+ maxTokens: 1048576,
16762
+ minThinkingBudget: 32,
16763
+ model: "MODEL_PLACEHOLDER_M20",
16708
16764
  modelExperiments: {
16709
16765
  experiments: {
16710
16766
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
@@ -16714,253 +16770,333 @@ var models_default = {
16714
16770
  stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
16715
16771
  }
16716
16772
  }
16717
- }
16718
- },
16719
- "gemini-3-flash": {
16720
- displayName: "Gemini 3 Flash",
16721
- supportsImages: true,
16722
- supportsThinking: true,
16723
- thinkingBudget: -1,
16724
- minThinkingBudget: 32,
16725
- recommended: true,
16726
- maxTokens: 1048576,
16727
- maxOutputTokens: 65536,
16728
- quotaInfo: {
16729
- remainingFraction: 0.9783466,
16730
- resetTime: "2026-08-22T17:36:20Z"
16731
16773
  },
16732
- model: "MODEL_PLACEHOLDER_M18",
16733
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16734
16774
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16735
- supportsVideo: true,
16775
+ quotaInfo: {
16776
+ remainingFraction: 0.9765516,
16777
+ resetTime: "2026-08-23T17:21:50Z"
16778
+ },
16779
+ recommended: true,
16736
16780
  supportedMimeTypes: {
16737
- "text/x-python-script": true,
16738
- "audio/flac": true,
16739
- "text/html": true,
16781
+ "application/json": true,
16782
+ "application/pdf": true,
16783
+ "application/rtf": true,
16784
+ "application/x-ipynb+json": true,
16740
16785
  "application/x-javascript": true,
16741
- "audio/wave": true,
16742
- "audio/webm;codecs=opus": true,
16786
+ "application/x-python-code": true,
16743
16787
  "application/x-typescript": true,
16744
- "image/heif": true,
16745
- "audio/x-wav": true,
16746
- "audio/mpeg": true,
16747
- "video/audio/wav": true,
16748
- "video/mp4": true,
16788
+ "audio/aac": true,
16789
+ "audio/flac": true,
16790
+ "audio/l16": true,
16791
+ "audio/m4a": true,
16792
+ "audio/mp3": true,
16749
16793
  "audio/mp4": true,
16750
- "audio/vnd.wave": true,
16751
- "audio/webm": true,
16752
- "video/jpeg2000": true,
16794
+ "audio/mpeg": true,
16753
16795
  "audio/ogg": true,
16754
- "video/webm": true,
16755
16796
  "audio/opus": true,
16756
- "video/text/timestamp": true,
16757
- "application/x-python-code": true,
16758
- "text/css": true,
16797
+ "audio/vnd.wave": true,
16798
+ "audio/wav": true,
16799
+ "audio/wave": true,
16800
+ "audio/webm": true,
16801
+ "audio/webm;codecs=opus": true,
16802
+ "audio/x-wav": true,
16803
+ "image/heic": true,
16804
+ "image/heif": true,
16759
16805
  "image/jpeg": true,
16760
- "application/rtf": true,
16761
- "text/xml": true,
16762
- "text/x-typescript": true,
16806
+ "image/png": true,
16763
16807
  "image/webp": true,
16764
- "text/x-python": true,
16808
+ "text/css": true,
16809
+ "text/csv": true,
16810
+ "text/html": true,
16765
16811
  "text/javascript": true,
16766
- "text/rtf": true,
16767
16812
  "text/markdown": true,
16768
- "audio/wav": true,
16769
- "video/videoframe/jpeg2000": true,
16770
- "image/heic": true,
16771
- "text/csv": true,
16772
- "application/x-ipynb+json": true,
16773
- "audio/mp3": true,
16774
- "audio/m4a": true,
16775
16813
  "text/plain": true,
16814
+ "text/rtf": true,
16815
+ "text/x-python": true,
16816
+ "text/x-python-script": true,
16817
+ "text/x-typescript": true,
16818
+ "text/xml": true,
16776
16819
  "video/audio/s16le": true,
16777
- "audio/aac": true,
16778
- "image/png": true,
16779
- "application/json": true,
16780
- "application/pdf": true,
16781
- "audio/l16": true
16820
+ "video/audio/wav": true,
16821
+ "video/jpeg2000": true,
16822
+ "video/mp4": true,
16823
+ "video/text/timestamp": true,
16824
+ "video/videoframe/jpeg2000": true,
16825
+ "video/webm": true
16782
16826
  },
16827
+ supportsImages: true,
16828
+ supportsThinking: true,
16829
+ supportsVideo: true,
16830
+ tagDescription: "Limited time",
16831
+ tagTitle: "Fast",
16832
+ thinkingBudget: 4e3
16833
+ },
16834
+ "gemini-3.6-flash-high": {
16835
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16836
+ displayName: "Gemini 3.6 Flash (High)",
16837
+ maxOutputTokens: 65536,
16838
+ maxTokens: 1048576,
16839
+ minThinkingBudget: 32,
16840
+ model: "MODEL_PLACEHOLDER_M71",
16783
16841
  modelExperiments: {
16784
16842
  experiments: {
16785
16843
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16786
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16844
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16845
+ },
16846
+ "cascade-include-ephemeral-message": {
16847
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16787
16848
  },
16788
16849
  template__system_prompts__communication_style: {
16789
- stringValue: '- Keep your responses concise.\n- Provide a summary of your work when you end your turn. Ground your response in the work you did. Keep your tone professional and avoid overconfident language, bragging, or overclaiming success.\n- AVOID using superlatives such as "perfectly", "flawlessly", "100% correct", "Summary of Accomplishments" etc. to summarize your work for the user. Be humble.\n- AVOID over-the-top politeness or complimenting the user excessively.\n- Format your responses in github-style markdown.'
16850
+ stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
16851
+ },
16852
+ template__system_prompts__guidelines: {
16853
+ stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
16854
+ },
16855
+ template__system_prompts__messaging: {
16856
+ stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16790
16857
  }
16791
16858
  }
16792
- }
16793
- },
16794
- "gemini-3.7-flash-high": {
16795
- displayName: "Gemini 3.7 Flash (High)",
16796
- supportsImages: true,
16797
- supportsThinking: true,
16798
- thinkingBudget: -1,
16799
- minThinkingBudget: 32,
16800
- recommended: true,
16801
- maxTokens: 1048576,
16802
- maxOutputTokens: 65536,
16803
- quotaInfo: {
16804
- remainingFraction: 0.9783466,
16805
- resetTime: "2026-08-22T17:36:20Z"
16806
16859
  },
16807
- model: "MODEL_PLACEHOLDER_M298",
16808
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16809
16860
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16810
- supportsVideo: true,
16811
- tagTitle: "Fast",
16812
- tagDescription: "Limited time",
16861
+ quotaInfo: {
16862
+ remainingFraction: 0.9765516,
16863
+ resetTime: "2026-08-23T17:21:50Z"
16864
+ },
16865
+ recommended: true,
16813
16866
  supportedMimeTypes: {
16814
- "audio/webm;codecs=opus": true,
16815
- "text/javascript": true,
16816
- "text/html": true,
16867
+ "application/json": true,
16868
+ "application/pdf": true,
16869
+ "application/rtf": true,
16870
+ "application/x-ipynb+json": true,
16817
16871
  "application/x-javascript": true,
16818
- "text/x-python-script": true,
16872
+ "application/x-python-code": true,
16873
+ "application/x-typescript": true,
16874
+ "audio/aac": true,
16875
+ "audio/flac": true,
16876
+ "audio/l16": true,
16877
+ "audio/m4a": true,
16878
+ "audio/mp3": true,
16879
+ "audio/mp4": true,
16819
16880
  "audio/mpeg": true,
16881
+ "audio/ogg": true,
16882
+ "audio/opus": true,
16883
+ "audio/vnd.wave": true,
16884
+ "audio/wav": true,
16885
+ "audio/wave": true,
16886
+ "audio/webm": true,
16887
+ "audio/webm;codecs=opus": true,
16888
+ "audio/x-wav": true,
16889
+ "image/heic": true,
16890
+ "image/heif": true,
16820
16891
  "image/jpeg": true,
16821
- "text/rtf": true,
16822
- "audio/aac": true,
16892
+ "image/png": true,
16893
+ "image/webp": true,
16894
+ "text/css": true,
16823
16895
  "text/csv": true,
16824
- "application/pdf": true,
16896
+ "text/html": true,
16897
+ "text/javascript": true,
16825
16898
  "text/markdown": true,
16826
- "audio/wav": true,
16827
- "audio/wave": true,
16899
+ "text/plain": true,
16900
+ "text/rtf": true,
16901
+ "text/x-python": true,
16902
+ "text/x-python-script": true,
16903
+ "text/x-typescript": true,
16904
+ "text/xml": true,
16905
+ "video/audio/s16le": true,
16906
+ "video/audio/wav": true,
16907
+ "video/jpeg2000": true,
16908
+ "video/mp4": true,
16909
+ "video/text/timestamp": true,
16910
+ "video/videoframe/jpeg2000": true,
16911
+ "video/webm": true
16912
+ },
16913
+ supportsImages: true,
16914
+ supportsThinking: true,
16915
+ supportsVideo: true,
16916
+ tagDescription: "Limited time",
16917
+ tagTitle: "Fast",
16918
+ thinkingBudget: -1
16919
+ },
16920
+ "gemini-3.6-flash-low": {
16921
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16922
+ displayName: "Gemini 3.6 Flash (Low)",
16923
+ maxOutputTokens: 65536,
16924
+ maxTokens: 1048576,
16925
+ minThinkingBudget: 32,
16926
+ model: "MODEL_PLACEHOLDER_M73",
16927
+ modelExperiments: {
16928
+ experiments: {
16929
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16930
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16931
+ },
16932
+ "cascade-include-ephemeral-message": {
16933
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16934
+ },
16935
+ template__system_prompts__communication_style: {
16936
+ stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
16937
+ },
16938
+ template__system_prompts__guidelines: {
16939
+ stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
16940
+ },
16941
+ template__system_prompts__messaging: {
16942
+ stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16943
+ }
16944
+ }
16945
+ },
16946
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16947
+ quotaInfo: {
16948
+ remainingFraction: 0.9765516,
16949
+ resetTime: "2026-08-23T17:21:50Z"
16950
+ },
16951
+ recommended: true,
16952
+ supportedMimeTypes: {
16828
16953
  "application/json": true,
16954
+ "application/pdf": true,
16955
+ "application/rtf": true,
16956
+ "application/x-ipynb+json": true,
16957
+ "application/x-javascript": true,
16829
16958
  "application/x-python-code": true,
16830
- "video/mp4": true,
16831
- "video/webm": true,
16832
- "audio/x-wav": true,
16959
+ "application/x-typescript": true,
16960
+ "audio/aac": true,
16833
16961
  "audio/flac": true,
16962
+ "audio/l16": true,
16834
16963
  "audio/m4a": true,
16835
- "audio/vnd.wave": true,
16836
- "image/heic": true,
16964
+ "audio/mp3": true,
16965
+ "audio/mp4": true,
16966
+ "audio/mpeg": true,
16837
16967
  "audio/ogg": true,
16838
- "text/x-python": true,
16968
+ "audio/opus": true,
16969
+ "audio/vnd.wave": true,
16970
+ "audio/wav": true,
16971
+ "audio/wave": true,
16839
16972
  "audio/webm": true,
16973
+ "audio/webm;codecs=opus": true,
16974
+ "audio/x-wav": true,
16975
+ "image/heic": true,
16840
16976
  "image/heif": true,
16841
- "text/x-typescript": true,
16842
- "application/x-typescript": true,
16843
- "audio/l16": true,
16844
- "audio/opus": true,
16845
- "text/css": true,
16846
- "video/audio/s16le": true,
16847
- "video/jpeg2000": true,
16848
- "application/x-ipynb+json": true,
16849
- "video/audio/wav": true,
16850
- "video/videoframe/jpeg2000": true,
16977
+ "image/jpeg": true,
16851
16978
  "image/png": true,
16852
16979
  "image/webp": true,
16853
- "video/text/timestamp": true,
16854
- "application/rtf": true,
16980
+ "text/css": true,
16981
+ "text/csv": true,
16982
+ "text/html": true,
16983
+ "text/javascript": true,
16984
+ "text/markdown": true,
16855
16985
  "text/plain": true,
16986
+ "text/rtf": true,
16987
+ "text/x-python": true,
16988
+ "text/x-python-script": true,
16989
+ "text/x-typescript": true,
16856
16990
  "text/xml": true,
16857
- "audio/mp3": true,
16858
- "audio/mp4": true
16991
+ "video/audio/s16le": true,
16992
+ "video/audio/wav": true,
16993
+ "video/jpeg2000": true,
16994
+ "video/mp4": true,
16995
+ "video/text/timestamp": true,
16996
+ "video/videoframe/jpeg2000": true,
16997
+ "video/webm": true
16859
16998
  },
16999
+ supportsImages: true,
17000
+ supportsThinking: true,
17001
+ supportsVideo: true,
17002
+ tagDescription: "Limited time",
17003
+ tagTitle: "Fast",
17004
+ thinkingBudget: 1e3
17005
+ },
17006
+ "gemini-3.6-flash-medium": {
17007
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17008
+ displayName: "Gemini 3.6 Flash (Medium)",
17009
+ maxOutputTokens: 65536,
17010
+ maxTokens: 1048576,
17011
+ minThinkingBudget: 32,
17012
+ model: "MODEL_PLACEHOLDER_M72",
16860
17013
  modelExperiments: {
16861
17014
  experiments: {
17015
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17016
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17017
+ },
16862
17018
  "cascade-include-ephemeral-message": {
16863
17019
  stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16864
17020
  },
16865
- "task-details-suffix": {
16866
- stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
17021
+ template__system_prompts__communication_style: {
17022
+ stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
16867
17023
  },
16868
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16869
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17024
+ template__system_prompts__guidelines: {
17025
+ stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
17026
+ },
17027
+ template__system_prompts__messaging: {
17028
+ stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16870
17029
  }
16871
17030
  }
16872
- }
16873
- },
16874
- "gemini-2.5-flash-lite": {
16875
- displayName: "Gemini 3.1 Flash Lite",
16876
- maxTokens: 1048576,
16877
- maxOutputTokens: 65535,
16878
- quotaInfo: {
16879
- remainingFraction: 0.9783466,
16880
- resetTime: "2026-08-22T17:36:20Z"
16881
17031
  },
16882
- model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE",
16883
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16884
17032
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16885
- modelExperiments: {
16886
- experiments: {
16887
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16888
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16889
- }
16890
- }
16891
- }
16892
- },
16893
- "gemini-3.6-flash-high": {
16894
- displayName: "Gemini 3.6 Flash (High)",
16895
- supportsImages: true,
16896
- supportsThinking: true,
16897
- thinkingBudget: -1,
16898
- minThinkingBudget: 32,
16899
- recommended: true,
16900
- maxTokens: 1048576,
16901
- maxOutputTokens: 65536,
16902
17033
  quotaInfo: {
16903
- remainingFraction: 0.9783466,
16904
- resetTime: "2026-08-22T17:36:20Z"
17034
+ remainingFraction: 0.9765516,
17035
+ resetTime: "2026-08-23T17:21:50Z"
16905
17036
  },
16906
- model: "MODEL_PLACEHOLDER_M71",
16907
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16908
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16909
- supportsVideo: true,
16910
- tagTitle: "Fast",
16911
- tagDescription: "Limited time",
17037
+ recommended: true,
16912
17038
  supportedMimeTypes: {
16913
- "audio/aac": true,
17039
+ "application/json": true,
17040
+ "application/pdf": true,
17041
+ "application/rtf": true,
17042
+ "application/x-ipynb+json": true,
17043
+ "application/x-javascript": true,
16914
17044
  "application/x-python-code": true,
16915
17045
  "application/x-typescript": true,
16916
- "text/css": true,
17046
+ "audio/aac": true,
17047
+ "audio/flac": true,
17048
+ "audio/l16": true,
17049
+ "audio/m4a": true,
17050
+ "audio/mp3": true,
16917
17051
  "audio/mp4": true,
16918
- "image/webp": true,
16919
- "audio/x-wav": true,
17052
+ "audio/mpeg": true,
17053
+ "audio/ogg": true,
16920
17054
  "audio/opus": true,
17055
+ "audio/vnd.wave": true,
17056
+ "audio/wav": true,
17057
+ "audio/wave": true,
17058
+ "audio/webm": true,
17059
+ "audio/webm;codecs=opus": true,
17060
+ "audio/x-wav": true,
16921
17061
  "image/heic": true,
17062
+ "image/heif": true,
17063
+ "image/jpeg": true,
17064
+ "image/png": true,
17065
+ "image/webp": true,
17066
+ "text/css": true,
16922
17067
  "text/csv": true,
17068
+ "text/html": true,
17069
+ "text/javascript": true,
17070
+ "text/markdown": true,
17071
+ "text/plain": true,
16923
17072
  "text/rtf": true,
16924
- "audio/wave": true,
17073
+ "text/x-python": true,
17074
+ "text/x-python-script": true,
17075
+ "text/x-typescript": true,
17076
+ "text/xml": true,
16925
17077
  "video/audio/s16le": true,
17078
+ "video/audio/wav": true,
17079
+ "video/jpeg2000": true,
16926
17080
  "video/mp4": true,
16927
- "text/xml": true,
16928
17081
  "video/text/timestamp": true,
16929
- "application/rtf": true,
16930
- "application/x-javascript": true,
16931
- "image/jpeg": true,
16932
- "text/x-python-script": true,
16933
- "video/jpeg2000": true,
16934
- "audio/vnd.wave": true,
16935
- "text/x-python": true,
16936
- "text/javascript": true,
16937
17082
  "video/videoframe/jpeg2000": true,
16938
- "application/x-ipynb+json": true,
16939
- "audio/flac": true,
16940
- "text/markdown": true,
16941
- "audio/l16": true,
16942
- "application/json": true,
16943
- "audio/wav": true,
16944
- "audio/ogg": true,
16945
- "video/webm": true,
16946
- "text/html": true,
16947
- "audio/mp3": true,
16948
- "video/audio/wav": true,
16949
- "audio/mpeg": true,
16950
- "audio/m4a": true,
16951
- "audio/webm;codecs=opus": true,
16952
- "audio/webm": true,
16953
- "image/png": true,
16954
- "text/x-typescript": true,
16955
- "image/heif": true,
16956
- "text/plain": true,
16957
- "application/pdf": true
17083
+ "video/webm": true
16958
17084
  },
17085
+ supportsImages: true,
17086
+ supportsThinking: true,
17087
+ supportsVideo: true,
17088
+ tagDescription: "Limited time",
17089
+ tagTitle: "Fast",
17090
+ thinkingBudget: 4e3
17091
+ },
17092
+ "gemini-3.6-flash-tiered": {
17093
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17094
+ maxOutputTokens: 65536,
17095
+ maxTokens: 1048576,
17096
+ minThinkingBudget: 32,
17097
+ model: "MODEL_PLACEHOLDER_M196",
16959
17098
  modelExperiments: {
16960
17099
  experiments: {
16961
- template__system_prompts__messaging: {
16962
- stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16963
- },
16964
17100
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16965
17101
  stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16966
17102
  },
@@ -16972,177 +17108,157 @@ var models_default = {
16972
17108
  },
16973
17109
  template__system_prompts__guidelines: {
16974
17110
  stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
17111
+ },
17112
+ template__system_prompts__messaging: {
17113
+ stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
16975
17114
  }
16976
17115
  }
16977
- }
16978
- },
16979
- "gemini-2.5-flash": {
16980
- displayName: "Gemini 3.1 Flash Lite",
16981
- maxTokens: 1048576,
16982
- maxOutputTokens: 65535,
16983
- quotaInfo: {
16984
- remainingFraction: 0.9783466,
16985
- resetTime: "2026-08-22T17:36:20Z"
16986
17116
  },
16987
- model: "MODEL_GOOGLE_GEMINI_2_5_FLASH",
16988
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16989
17117
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16990
- modelExperiments: {
16991
- experiments: {
16992
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16993
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
16994
- }
16995
- }
16996
- }
16997
- },
16998
- "gemini-3.1-pro-high": {
16999
- displayName: "Gemini 3.1 Pro (High)",
17000
- supportsImages: true,
17001
- supportsThinking: true,
17002
- thinkingBudget: 10001,
17003
- minThinkingBudget: 128,
17004
- recommended: true,
17005
- maxTokens: 1048576,
17006
- maxOutputTokens: 65535,
17007
17118
  quotaInfo: {
17008
- remainingFraction: 0.9783466,
17009
- resetTime: "2026-08-22T17:36:20Z"
17119
+ remainingFraction: 0.9765516,
17120
+ resetTime: "2026-08-23T17:21:50Z"
17010
17121
  },
17011
- model: "MODEL_PLACEHOLDER_M37",
17012
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17013
- modelProvider: "MODEL_PROVIDER_GOOGLE",
17014
- supportsVideo: true,
17015
- tagTitle: "New",
17122
+ recommended: true,
17016
17123
  supportedMimeTypes: {
17017
- "image/heif": true,
17018
- "audio/wav": true,
17019
- "text/markdown": true,
17020
- "image/png": true,
17124
+ "application/json": true,
17125
+ "application/pdf": true,
17126
+ "application/rtf": true,
17021
17127
  "application/x-ipynb+json": true,
17022
- "audio/mpeg": true,
17023
- "text/rtf": true,
17128
+ "application/x-javascript": true,
17024
17129
  "application/x-python-code": true,
17025
- "application/json": true,
17026
- "text/x-python": true,
17027
- "text/html": true,
17130
+ "application/x-typescript": true,
17131
+ "audio/aac": true,
17132
+ "audio/flac": true,
17028
17133
  "audio/l16": true,
17029
- "video/audio/s16le": true,
17030
- "text/xml": true,
17134
+ "audio/m4a": true,
17135
+ "audio/mp3": true,
17136
+ "audio/mp4": true,
17137
+ "audio/mpeg": true,
17138
+ "audio/ogg": true,
17031
17139
  "audio/opus": true,
17032
- "video/mp4": true,
17140
+ "audio/vnd.wave": true,
17141
+ "audio/wav": true,
17142
+ "audio/wave": true,
17143
+ "audio/webm": true,
17033
17144
  "audio/webm;codecs=opus": true,
17034
- "application/rtf": true,
17035
- "video/audio/wav": true,
17036
- "audio/ogg": true,
17037
- "audio/mp3": true,
17038
- "audio/aac": true,
17039
- "application/x-javascript": true,
17040
- "text/csv": true,
17041
- "text/css": true,
17145
+ "audio/x-wav": true,
17042
17146
  "image/heic": true,
17043
- "application/pdf": true,
17044
- "text/javascript": true,
17147
+ "image/heif": true,
17045
17148
  "image/jpeg": true,
17046
- "application/x-typescript": true,
17047
- "video/videoframe/jpeg2000": true,
17048
- "audio/webm": true,
17049
- "video/text/timestamp": true,
17050
- "audio/vnd.wave": true,
17051
- "audio/x-wav": true,
17052
- "video/webm": true,
17053
- "audio/m4a": true,
17054
- "audio/mp4": true,
17055
- "text/x-python-script": true,
17149
+ "image/png": true,
17056
17150
  "image/webp": true,
17151
+ "text/css": true,
17152
+ "text/csv": true,
17153
+ "text/html": true,
17154
+ "text/javascript": true,
17155
+ "text/markdown": true,
17057
17156
  "text/plain": true,
17157
+ "text/rtf": true,
17158
+ "text/x-python": true,
17159
+ "text/x-python-script": true,
17058
17160
  "text/x-typescript": true,
17059
- "audio/wave": true,
17060
- "audio/flac": true,
17061
- "video/jpeg2000": true
17161
+ "text/xml": true,
17162
+ "video/audio/s16le": true,
17163
+ "video/audio/wav": true,
17164
+ "video/jpeg2000": true,
17165
+ "video/mp4": true,
17166
+ "video/text/timestamp": true,
17167
+ "video/videoframe/jpeg2000": true,
17168
+ "video/webm": true
17062
17169
  },
17170
+ supportsImages: true,
17171
+ supportsThinking: true,
17172
+ supportsVideo: true,
17173
+ thinkingBudget: -1
17174
+ },
17175
+ "gemini-3.7-flash-high": {
17176
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17177
+ displayName: "Gemini 3.7 Flash (High)",
17178
+ maxOutputTokens: 65536,
17179
+ maxTokens: 1048576,
17180
+ minThinkingBudget: 32,
17181
+ model: "MODEL_PLACEHOLDER_M298",
17063
17182
  modelExperiments: {
17064
17183
  experiments: {
17065
- template__system_prompts__planning_mode_artifacts: {
17066
- stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
17067
- },
17068
17184
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17069
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17185
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17070
17186
  },
17071
17187
  "cascade-include-ephemeral-message": {
17072
- stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17188
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17073
17189
  },
17074
- template__system_prompts__communication_style: {
17075
- stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
17190
+ "task-details-suffix": {
17191
+ stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
17076
17192
  }
17077
17193
  }
17078
- }
17079
- },
17080
- "gemini-3.7-flash-medium": {
17081
- displayName: "Gemini 3.7 Flash (Medium)",
17082
- supportsImages: true,
17083
- supportsThinking: true,
17084
- thinkingBudget: 4e3,
17085
- minThinkingBudget: 32,
17086
- recommended: true,
17087
- maxTokens: 1048576,
17088
- maxOutputTokens: 65536,
17089
- quotaInfo: {
17090
- remainingFraction: 0.9783466,
17091
- resetTime: "2026-08-22T17:36:20Z"
17092
17194
  },
17093
- model: "MODEL_PLACEHOLDER_M299",
17094
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17095
17195
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17096
- supportsVideo: true,
17097
- tagTitle: "Fast",
17098
- tagDescription: "Limited time",
17196
+ quotaInfo: {
17197
+ remainingFraction: 0.9765516,
17198
+ resetTime: "2026-08-23T17:21:50Z"
17199
+ },
17200
+ recommended: true,
17099
17201
  supportedMimeTypes: {
17100
- "audio/opus": true,
17101
- "image/heic": true,
17102
- "text/html": true,
17202
+ "application/json": true,
17203
+ "application/pdf": true,
17204
+ "application/rtf": true,
17205
+ "application/x-ipynb+json": true,
17206
+ "application/x-javascript": true,
17207
+ "application/x-python-code": true,
17208
+ "application/x-typescript": true,
17209
+ "audio/aac": true,
17103
17210
  "audio/flac": true,
17104
- "audio/vnd.wave": true,
17105
- "text/markdown": true,
17211
+ "audio/l16": true,
17106
17212
  "audio/m4a": true,
17107
- "image/jpeg": true,
17108
- "text/plain": true,
17213
+ "audio/mp3": true,
17214
+ "audio/mp4": true,
17215
+ "audio/mpeg": true,
17216
+ "audio/ogg": true,
17217
+ "audio/opus": true,
17218
+ "audio/vnd.wave": true,
17219
+ "audio/wav": true,
17220
+ "audio/wave": true,
17221
+ "audio/webm": true,
17109
17222
  "audio/webm;codecs=opus": true,
17223
+ "audio/x-wav": true,
17224
+ "image/heic": true,
17110
17225
  "image/heif": true,
17111
- "text/x-typescript": true,
17112
- "audio/webm": true,
17226
+ "image/jpeg": true,
17113
17227
  "image/png": true,
17114
- "audio/mp4": true,
17115
17228
  "image/webp": true,
17229
+ "text/css": true,
17230
+ "text/csv": true,
17231
+ "text/html": true,
17232
+ "text/javascript": true,
17233
+ "text/markdown": true,
17234
+ "text/plain": true,
17235
+ "text/rtf": true,
17236
+ "text/x-python": true,
17116
17237
  "text/x-python-script": true,
17117
- "video/videoframe/jpeg2000": true,
17238
+ "text/x-typescript": true,
17239
+ "text/xml": true,
17118
17240
  "video/audio/s16le": true,
17119
- "audio/wave": true,
17120
- "video/mp4": true,
17121
- "audio/x-wav": true,
17122
- "audio/mpeg": true,
17123
- "application/pdf": true,
17124
- "audio/l16": true,
17125
17241
  "video/audio/wav": true,
17126
- "application/json": true,
17127
- "video/webm": true,
17128
- "video/text/timestamp": true,
17129
17242
  "video/jpeg2000": true,
17130
- "application/rtf": true,
17131
- "text/xml": true,
17132
- "application/x-ipynb+json": true,
17133
- "application/x-python-code": true,
17134
- "text/x-python": true,
17135
- "audio/mp3": true,
17136
- "application/x-typescript": true,
17137
- "audio/ogg": true,
17138
- "audio/aac": true,
17139
- "text/rtf": true,
17140
- "application/x-javascript": true,
17141
- "text/javascript": true,
17142
- "text/csv": true,
17143
- "text/css": true,
17144
- "audio/wav": true
17243
+ "video/mp4": true,
17244
+ "video/text/timestamp": true,
17245
+ "video/videoframe/jpeg2000": true,
17246
+ "video/webm": true
17145
17247
  },
17248
+ supportsImages: true,
17249
+ supportsThinking: true,
17250
+ supportsVideo: true,
17251
+ tagDescription: "Limited time",
17252
+ tagTitle: "Fast",
17253
+ thinkingBudget: -1
17254
+ },
17255
+ "gemini-3.7-flash-low": {
17256
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17257
+ displayName: "Gemini 3.7 Flash (Low)",
17258
+ maxOutputTokens: 65536,
17259
+ maxTokens: 1048576,
17260
+ minThinkingBudget: 32,
17261
+ model: "MODEL_PLACEHOLDER_M300",
17146
17262
  modelExperiments: {
17147
17263
  experiments: {
17148
17264
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
@@ -17155,498 +17271,381 @@ var models_default = {
17155
17271
  stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
17156
17272
  }
17157
17273
  }
17158
- }
17159
- },
17160
- "gemini-3.6-flash-low": {
17161
- displayName: "Gemini 3.6 Flash (Low)",
17162
- supportsImages: true,
17163
- supportsThinking: true,
17164
- thinkingBudget: 1e3,
17165
- minThinkingBudget: 32,
17166
- recommended: true,
17167
- maxTokens: 1048576,
17168
- maxOutputTokens: 65536,
17169
- quotaInfo: {
17170
- remainingFraction: 0.9783466,
17171
- resetTime: "2026-08-22T17:36:20Z"
17172
17274
  },
17173
- model: "MODEL_PLACEHOLDER_M73",
17174
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17175
17275
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17176
- supportsVideo: true,
17177
- tagTitle: "Fast",
17178
- tagDescription: "Limited time",
17276
+ quotaInfo: {
17277
+ remainingFraction: 0.9765516,
17278
+ resetTime: "2026-08-23T17:21:50Z"
17279
+ },
17280
+ recommended: true,
17179
17281
  supportedMimeTypes: {
17180
- "text/html": true,
17282
+ "application/json": true,
17181
17283
  "application/pdf": true,
17182
- "video/audio/s16le": true,
17183
- "text/xml": true,
17184
- "audio/x-wav": true,
17185
- "audio/flac": true,
17186
- "audio/webm;codecs=opus": true,
17187
- "audio/vnd.wave": true,
17188
- "audio/aac": true,
17284
+ "application/rtf": true,
17189
17285
  "application/x-ipynb+json": true,
17286
+ "application/x-javascript": true,
17287
+ "application/x-python-code": true,
17288
+ "application/x-typescript": true,
17289
+ "audio/aac": true,
17290
+ "audio/flac": true,
17291
+ "audio/l16": true,
17292
+ "audio/m4a": true,
17293
+ "audio/mp3": true,
17294
+ "audio/mp4": true,
17190
17295
  "audio/mpeg": true,
17296
+ "audio/ogg": true,
17297
+ "audio/opus": true,
17298
+ "audio/vnd.wave": true,
17191
17299
  "audio/wav": true,
17192
- "audio/mp4": true,
17193
- "video/videoframe/jpeg2000": true,
17194
- "audio/l16": true,
17195
- "text/x-python": true,
17196
- "application/x-python-code": true,
17197
- "text/csv": true,
17300
+ "audio/wave": true,
17301
+ "audio/webm": true,
17302
+ "audio/webm;codecs=opus": true,
17303
+ "audio/x-wav": true,
17198
17304
  "image/heic": true,
17199
- "video/audio/wav": true,
17200
- "video/webm": true,
17201
- "audio/mp3": true,
17305
+ "image/heif": true,
17306
+ "image/jpeg": true,
17307
+ "image/png": true,
17202
17308
  "image/webp": true,
17203
- "application/x-javascript": true,
17204
- "text/x-python-script": true,
17309
+ "text/css": true,
17310
+ "text/csv": true,
17311
+ "text/html": true,
17312
+ "text/javascript": true,
17205
17313
  "text/markdown": true,
17206
- "audio/m4a": true,
17207
- "text/x-typescript": true,
17208
- "audio/wave": true,
17209
- "application/json": true,
17314
+ "text/plain": true,
17210
17315
  "text/rtf": true,
17211
- "audio/webm": true,
17212
- "text/css": true,
17316
+ "text/x-python": true,
17317
+ "text/x-python-script": true,
17318
+ "text/x-typescript": true,
17319
+ "text/xml": true,
17320
+ "video/audio/s16le": true,
17321
+ "video/audio/wav": true,
17213
17322
  "video/jpeg2000": true,
17214
17323
  "video/mp4": true,
17215
- "application/rtf": true,
17216
- "text/javascript": true,
17217
- "image/jpeg": true,
17218
17324
  "video/text/timestamp": true,
17219
- "image/heif": true,
17220
- "audio/ogg": true,
17221
- "application/x-typescript": true,
17222
- "text/plain": true,
17223
- "image/png": true,
17224
- "audio/opus": true
17325
+ "video/videoframe/jpeg2000": true,
17326
+ "video/webm": true
17225
17327
  },
17328
+ supportsImages: true,
17329
+ supportsThinking: true,
17330
+ supportsVideo: true,
17331
+ tagDescription: "Limited time",
17332
+ tagTitle: "Fast",
17333
+ thinkingBudget: 1e3
17334
+ },
17335
+ "gemini-3.7-flash-medium": {
17336
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17337
+ displayName: "Gemini 3.7 Flash (Medium)",
17338
+ maxOutputTokens: 65536,
17339
+ maxTokens: 1048576,
17340
+ minThinkingBudget: 32,
17341
+ model: "MODEL_PLACEHOLDER_M299",
17226
17342
  modelExperiments: {
17227
17343
  experiments: {
17228
- template__system_prompts__communication_style: {
17229
- stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
17230
- },
17231
- template__system_prompts__guidelines: {
17232
- stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
17233
- },
17234
- template__system_prompts__messaging: {
17235
- stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
17236
- },
17237
17344
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17238
17345
  stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17239
17346
  },
17240
17347
  "cascade-include-ephemeral-message": {
17241
17348
  stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17349
+ },
17350
+ "task-details-suffix": {
17351
+ stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
17242
17352
  }
17243
17353
  }
17244
- }
17245
- },
17246
- "gemini-3-flash-agent": {
17247
- displayName: "Gemini 3.5 Flash (High)",
17248
- supportsImages: true,
17249
- supportsThinking: true,
17250
- thinkingBudget: -1,
17251
- minThinkingBudget: 32,
17252
- recommended: true,
17253
- maxTokens: 1048576,
17254
- maxOutputTokens: 65536,
17255
- quotaInfo: {
17256
- remainingFraction: 0.9783466,
17257
- resetTime: "2026-08-22T17:36:20Z"
17258
17354
  },
17259
- model: "MODEL_PLACEHOLDER_M84",
17260
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17261
17355
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17262
- supportsVideo: true,
17263
- tagTitle: "Fast",
17264
- tagDescription: "Limited time",
17356
+ quotaInfo: {
17357
+ remainingFraction: 0.9765516,
17358
+ resetTime: "2026-08-23T17:21:50Z"
17359
+ },
17360
+ recommended: true,
17265
17361
  supportedMimeTypes: {
17266
- "audio/x-wav": true,
17267
- "audio/mp3": true,
17268
- "text/x-typescript": true,
17269
- "video/mp4": true,
17270
- "video/audio/s16le": true,
17271
- "audio/mpeg": true,
17362
+ "application/json": true,
17363
+ "application/pdf": true,
17364
+ "application/rtf": true,
17365
+ "application/x-ipynb+json": true,
17366
+ "application/x-javascript": true,
17272
17367
  "application/x-python-code": true,
17273
- "audio/mp4": true,
17274
- "text/markdown": true,
17368
+ "application/x-typescript": true,
17275
17369
  "audio/aac": true,
17276
- "audio/webm": true,
17277
- "image/webp": true,
17278
- "video/jpeg2000": true,
17279
- "text/x-python-script": true,
17280
- "audio/vnd.wave": true,
17281
- "application/x-javascript": true,
17370
+ "audio/flac": true,
17371
+ "audio/l16": true,
17372
+ "audio/m4a": true,
17373
+ "audio/mp3": true,
17374
+ "audio/mp4": true,
17375
+ "audio/mpeg": true,
17376
+ "audio/ogg": true,
17282
17377
  "audio/opus": true,
17378
+ "audio/vnd.wave": true,
17283
17379
  "audio/wav": true,
17284
- "text/xml": true,
17285
17380
  "audio/wave": true,
17286
- "application/pdf": true,
17287
- "audio/flac": true,
17288
- "text/plain": true,
17289
- "text/csv": true,
17290
- "application/json": true,
17291
- "text/css": true,
17292
- "video/text/timestamp": true,
17293
- "application/x-typescript": true,
17381
+ "audio/webm": true,
17382
+ "audio/webm;codecs=opus": true,
17383
+ "audio/x-wav": true,
17294
17384
  "image/heic": true,
17295
- "video/audio/wav": true,
17296
17385
  "image/heif": true,
17297
- "audio/webm;codecs=opus": true,
17386
+ "image/jpeg": true,
17298
17387
  "image/png": true,
17388
+ "image/webp": true,
17389
+ "text/css": true,
17390
+ "text/csv": true,
17299
17391
  "text/html": true,
17300
- "video/videoframe/jpeg2000": true,
17301
- "image/jpeg": true,
17302
- "audio/l16": true,
17303
- "application/rtf": true,
17304
- "audio/m4a": true,
17305
- "text/x-python": true,
17306
- "video/webm": true,
17307
- "application/x-ipynb+json": true,
17308
17392
  "text/javascript": true,
17393
+ "text/markdown": true,
17394
+ "text/plain": true,
17309
17395
  "text/rtf": true,
17310
- "audio/ogg": true
17396
+ "text/x-python": true,
17397
+ "text/x-python-script": true,
17398
+ "text/x-typescript": true,
17399
+ "text/xml": true,
17400
+ "video/audio/s16le": true,
17401
+ "video/audio/wav": true,
17402
+ "video/jpeg2000": true,
17403
+ "video/mp4": true,
17404
+ "video/text/timestamp": true,
17405
+ "video/videoframe/jpeg2000": true,
17406
+ "video/webm": true
17311
17407
  },
17408
+ supportsImages: true,
17409
+ supportsThinking: true,
17410
+ supportsVideo: true,
17411
+ tagDescription: "Limited time",
17412
+ tagTitle: "Fast",
17413
+ thinkingBudget: 4e3
17414
+ },
17415
+ "gemini-3.7-flash-tiered": {
17416
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17417
+ maxOutputTokens: 65536,
17418
+ maxTokens: 1048576,
17419
+ minThinkingBudget: 32,
17420
+ model: "MODEL_PLACEHOLDER_M301",
17312
17421
  modelExperiments: {
17313
17422
  experiments: {
17314
17423
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17315
17424
  stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17316
17425
  },
17317
- template__system_prompts__planning_mode_artifacts: {
17318
- stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
17319
- }
17320
- }
17321
- }
17322
- },
17323
- "gpt-oss-120b-medium": {
17324
- displayName: "GPT-OSS 120B (Medium)",
17325
- supportsThinking: true,
17326
- thinkingBudget: 8192,
17327
- recommended: true,
17328
- maxTokens: 131072,
17329
- maxOutputTokens: 32768,
17330
- quotaInfo: {
17331
- remainingFraction: 1,
17332
- resetTime: "2026-08-22T17:39:05Z"
17333
- },
17334
- model: "MODEL_OPENAI_GPT_OSS_120B_MEDIUM",
17335
- apiProvider: "API_PROVIDER_OPENAI_VERTEX",
17336
- modelProvider: "MODEL_PROVIDER_OPENAI",
17337
- modelExperiments: {
17338
- experiments: {
17339
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17340
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "80000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "8192",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17426
+ "cascade-include-ephemeral-message": {
17427
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17428
+ },
17429
+ "task-details-suffix": {
17430
+ stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
17341
17431
  }
17342
17432
  }
17343
17433
  },
17344
- vertexModelId: "openai/gpt-oss-120b-maas"
17345
- },
17346
- chat_23310: {
17347
- maxTokens: 32768,
17348
- quotaInfo: {
17349
- remainingFraction: 1
17350
- },
17351
- model: "MODEL_CHAT_23310",
17352
- apiProvider: "API_PROVIDER_INTERNAL",
17353
17434
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17354
- supportsCumulativeContext: true,
17355
- supportsEstimateTokenCounter: true,
17356
- isInternal: true,
17357
- promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
17358
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
17359
- requiresLeadInGeneration: true
17360
- },
17361
- "gemini-3.5-flash-low": {
17362
- displayName: "Gemini 3.5 Flash (Medium)",
17363
- supportsImages: true,
17364
- supportsThinking: true,
17365
- thinkingBudget: 4e3,
17366
- minThinkingBudget: 32,
17367
- recommended: true,
17368
- maxTokens: 1048576,
17369
- maxOutputTokens: 65536,
17370
17435
  quotaInfo: {
17371
- remainingFraction: 0.9783466,
17372
- resetTime: "2026-08-22T17:36:20Z"
17436
+ remainingFraction: 0.9765516,
17437
+ resetTime: "2026-08-23T17:21:50Z"
17373
17438
  },
17374
- model: "MODEL_PLACEHOLDER_M20",
17375
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17376
- modelProvider: "MODEL_PROVIDER_GOOGLE",
17377
- supportsVideo: true,
17378
- tagTitle: "Fast",
17379
- tagDescription: "Limited time",
17439
+ recommended: true,
17380
17440
  supportedMimeTypes: {
17441
+ "application/json": true,
17381
17442
  "application/pdf": true,
17382
- "audio/wav": true,
17383
- "image/png": true,
17384
- "audio/mp3": true,
17443
+ "application/rtf": true,
17444
+ "application/x-ipynb+json": true,
17445
+ "application/x-javascript": true,
17446
+ "application/x-python-code": true,
17447
+ "application/x-typescript": true,
17448
+ "audio/aac": true,
17385
17449
  "audio/flac": true,
17450
+ "audio/l16": true,
17386
17451
  "audio/m4a": true,
17387
- "audio/x-wav": true,
17452
+ "audio/mp3": true,
17453
+ "audio/mp4": true,
17454
+ "audio/mpeg": true,
17455
+ "audio/ogg": true,
17388
17456
  "audio/opus": true,
17389
- "video/jpeg2000": true,
17390
- "text/csv": true,
17391
- "text/rtf": true,
17392
- "audio/aac": true,
17393
- "video/audio/wav": true,
17394
- "image/heif": true,
17395
- "video/webm": true,
17396
- "application/x-typescript": true,
17397
- "text/javascript": true,
17398
- "text/x-typescript": true,
17457
+ "audio/vnd.wave": true,
17458
+ "audio/wav": true,
17459
+ "audio/wave": true,
17399
17460
  "audio/webm": true,
17400
- "audio/l16": true,
17401
- "video/text/timestamp": true,
17402
- "video/audio/s16le": true,
17403
- "application/rtf": true,
17404
- "video/mp4": true,
17405
- "image/jpeg": true,
17406
17461
  "audio/webm;codecs=opus": true,
17407
- "application/x-ipynb+json": true,
17408
- "audio/ogg": true,
17409
- "text/x-python": true,
17462
+ "audio/x-wav": true,
17410
17463
  "image/heic": true,
17411
- "text/markdown": true,
17412
- "application/x-javascript": true,
17464
+ "image/heif": true,
17465
+ "image/jpeg": true,
17466
+ "image/png": true,
17467
+ "image/webp": true,
17413
17468
  "text/css": true,
17469
+ "text/csv": true,
17470
+ "text/html": true,
17471
+ "text/javascript": true,
17472
+ "text/markdown": true,
17473
+ "text/plain": true,
17474
+ "text/rtf": true,
17475
+ "text/x-python": true,
17476
+ "text/x-python-script": true,
17477
+ "text/x-typescript": true,
17414
17478
  "text/xml": true,
17415
- "application/json": true,
17416
- "audio/mp4": true,
17417
- "application/x-python-code": true,
17418
- "audio/wave": true,
17479
+ "video/audio/s16le": true,
17480
+ "video/audio/wav": true,
17481
+ "video/jpeg2000": true,
17482
+ "video/mp4": true,
17483
+ "video/text/timestamp": true,
17419
17484
  "video/videoframe/jpeg2000": true,
17420
- "audio/vnd.wave": true,
17421
- "audio/mpeg": true,
17422
- "image/webp": true,
17423
- "text/x-python-script": true,
17424
- "text/plain": true,
17425
- "text/html": true
17485
+ "video/webm": true
17426
17486
  },
17487
+ supportsImages: true,
17488
+ supportsThinking: true,
17489
+ supportsVideo: true,
17490
+ thinkingBudget: -1
17491
+ },
17492
+ "gemini-pro-agent": {
17493
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17494
+ displayName: "Gemini 3.1 Pro (High)",
17495
+ maxOutputTokens: 65535,
17496
+ maxTokens: 1048576,
17497
+ minThinkingBudget: 128,
17498
+ model: "MODEL_PLACEHOLDER_M16",
17427
17499
  modelExperiments: {
17428
17500
  experiments: {
17429
17501
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17430
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17502
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17503
+ },
17504
+ "cascade-include-ephemeral-message": {
17505
+ stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17506
+ },
17507
+ template__system_prompts__communication_style: {
17508
+ stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
17431
17509
  },
17432
17510
  template__system_prompts__planning_mode_artifacts: {
17433
17511
  stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
17434
17512
  }
17435
17513
  }
17436
- }
17437
- },
17438
- "gemini-3.7-flash-low": {
17439
- displayName: "Gemini 3.7 Flash (Low)",
17440
- supportsImages: true,
17441
- supportsThinking: true,
17442
- thinkingBudget: 1e3,
17443
- minThinkingBudget: 32,
17444
- recommended: true,
17445
- maxTokens: 1048576,
17446
- maxOutputTokens: 65536,
17447
- quotaInfo: {
17448
- remainingFraction: 0.9783466,
17449
- resetTime: "2026-08-22T17:36:20Z"
17450
17514
  },
17451
- model: "MODEL_PLACEHOLDER_M300",
17452
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17453
17515
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17454
- supportsVideo: true,
17455
- tagTitle: "Fast",
17456
- tagDescription: "Limited time",
17516
+ quotaInfo: {
17517
+ remainingFraction: 0.9765516,
17518
+ resetTime: "2026-08-23T17:21:50Z"
17519
+ },
17520
+ recommended: true,
17457
17521
  supportedMimeTypes: {
17458
- "image/heic": true,
17459
- "image/jpeg": true,
17460
- "audio/flac": true,
17461
- "audio/aac": true,
17462
- "application/x-typescript": true,
17522
+ "application/json": true,
17523
+ "application/pdf": true,
17524
+ "application/rtf": true,
17525
+ "application/x-ipynb+json": true,
17463
17526
  "application/x-javascript": true,
17527
+ "application/x-python-code": true,
17528
+ "application/x-typescript": true,
17529
+ "audio/aac": true,
17530
+ "audio/flac": true,
17531
+ "audio/l16": true,
17532
+ "audio/m4a": true,
17464
17533
  "audio/mp3": true,
17534
+ "audio/mp4": true,
17535
+ "audio/mpeg": true,
17536
+ "audio/ogg": true,
17537
+ "audio/opus": true,
17538
+ "audio/vnd.wave": true,
17465
17539
  "audio/wav": true,
17466
- "application/x-python-code": true,
17467
- "text/markdown": true,
17468
17540
  "audio/wave": true,
17469
- "text/x-python-script": true,
17470
- "text/xml": true,
17471
- "application/json": true,
17541
+ "audio/webm": true,
17542
+ "audio/webm;codecs=opus": true,
17472
17543
  "audio/x-wav": true,
17473
- "audio/l16": true,
17544
+ "image/heic": true,
17545
+ "image/heif": true,
17546
+ "image/jpeg": true,
17547
+ "image/png": true,
17548
+ "image/webp": true,
17549
+ "text/css": true,
17550
+ "text/csv": true,
17551
+ "text/html": true,
17474
17552
  "text/javascript": true,
17553
+ "text/markdown": true,
17554
+ "text/plain": true,
17555
+ "text/rtf": true,
17556
+ "text/x-python": true,
17557
+ "text/x-python-script": true,
17558
+ "text/x-typescript": true,
17559
+ "text/xml": true,
17475
17560
  "video/audio/s16le": true,
17476
17561
  "video/audio/wav": true,
17477
- "audio/ogg": true,
17478
- "application/rtf": true,
17479
- "text/css": true,
17480
- "video/mp4": true,
17481
- "audio/mpeg": true,
17482
- "video/videoframe/jpeg2000": true,
17483
- "audio/webm;codecs=opus": true,
17484
- "text/rtf": true,
17485
- "image/heif": true,
17486
- "application/pdf": true,
17487
17562
  "video/jpeg2000": true,
17488
- "audio/mp4": true,
17489
- "image/webp": true,
17490
- "text/x-python": true,
17491
- "audio/vnd.wave": true,
17563
+ "video/mp4": true,
17492
17564
  "video/text/timestamp": true,
17493
- "video/webm": true,
17494
- "text/plain": true,
17495
- "text/x-typescript": true,
17496
- "text/html": true,
17497
- "text/csv": true,
17498
- "application/x-ipynb+json": true,
17499
- "image/png": true,
17500
- "audio/webm": true,
17501
- "audio/opus": true,
17502
- "audio/m4a": true
17565
+ "video/videoframe/jpeg2000": true,
17566
+ "video/webm": true
17503
17567
  },
17568
+ supportsImages: true,
17569
+ supportsThinking: true,
17570
+ supportsVideo: true,
17571
+ thinkingBudget: 10001
17572
+ },
17573
+ "gpt-oss-120b-medium": {
17574
+ apiProvider: "API_PROVIDER_OPENAI_VERTEX",
17575
+ displayName: "GPT-OSS 120B (Medium)",
17576
+ maxOutputTokens: 32768,
17577
+ maxTokens: 131072,
17578
+ model: "MODEL_OPENAI_GPT_OSS_120B_MEDIUM",
17504
17579
  modelExperiments: {
17505
17580
  experiments: {
17506
17581
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17507
- stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17508
- },
17509
- "cascade-include-ephemeral-message": {
17510
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17511
- },
17512
- "task-details-suffix": {
17513
- stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
17582
+ stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "80000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "8192",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
17514
17583
  }
17515
17584
  }
17516
- }
17585
+ },
17586
+ modelProvider: "MODEL_PROVIDER_OPENAI",
17587
+ quotaInfo: {
17588
+ remainingFraction: 1,
17589
+ resetTime: "2026-08-23T17:29:11Z"
17590
+ },
17591
+ recommended: true,
17592
+ supportsThinking: true,
17593
+ thinkingBudget: 8192,
17594
+ vertexModelId: "openai/gpt-oss-120b-maas"
17517
17595
  },
17518
- "gemini-3.1-flash-image": {
17519
- displayName: "Gemini 3.1 Flash Image",
17596
+ tab_flash_lite_preview: {
17597
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17598
+ maxOutputTokens: 4096,
17599
+ maxTokens: 16384,
17600
+ model: "MODEL_PLACEHOLDER_M19",
17601
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
17520
17602
  quotaInfo: {
17521
- remainingFraction: 0.9783466,
17522
- resetTime: "2026-08-22T17:36:20Z"
17603
+ remainingFraction: 1
17523
17604
  },
17524
- model: "MODEL_PLACEHOLDER_M21",
17605
+ requiresLeadInGeneration: true,
17606
+ supportsCumulativeContext: true,
17607
+ supportsEstimateTokenCounter: true,
17608
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
17609
+ },
17610
+ tab_jump_flash_lite_preview: {
17611
+ addCursorToFindReplaceTarget: true,
17525
17612
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17526
- modelProvider: "MODEL_PROVIDER_GOOGLE"
17613
+ maxOutputTokens: 4096,
17614
+ maxTokens: 16384,
17615
+ model: "MODEL_PLACEHOLDER_M28",
17616
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
17617
+ quotaInfo: {
17618
+ remainingFraction: 1
17619
+ },
17620
+ requiresLeadInGeneration: true,
17621
+ requiresNoXmlToolExamples: true,
17622
+ supportsCumulativeContext: true,
17623
+ supportsEstimateTokenCounter: true,
17624
+ tabJumpPrintLineRange: true,
17625
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
17527
17626
  }
17528
17627
  },
17529
- defaultAgentModelId: "gemini-3.7-flash-high",
17530
- agentModelSorts: [
17531
- {
17532
- displayName: "Recommended",
17533
- groups: [
17534
- {
17535
- modelIds: [
17536
- "gemini-3.7-flash-high",
17537
- "gemini-3.7-flash-medium",
17538
- "gemini-3.7-flash-low",
17539
- "gemini-3.6-flash-high",
17540
- "gemini-3.6-flash-medium",
17541
- "gemini-3.6-flash-low",
17542
- "gemini-3-flash-agent",
17543
- "gemini-3.5-flash-low",
17544
- "gemini-3.5-flash-extra-low",
17545
- "gemini-pro-agent",
17546
- "gemini-3.1-pro-low",
17547
- "claude-sonnet-4-6",
17548
- "claude-opus-4-6-thinking",
17549
- "gpt-oss-120b-medium"
17550
- ]
17551
- }
17552
- ]
17553
- }
17554
- ],
17555
- commandModelIds: [
17556
- "gemini-3-flash"
17628
+ mqueryModelIds: [
17629
+ "gemini-3.1-flash-lite"
17557
17630
  ],
17558
17631
  tabModelIds: [
17559
17632
  "chat_20706",
17560
17633
  "chat_23310"
17561
17634
  ],
17562
- imageGenerationModelIds: [
17563
- "gemini-3.1-flash-image"
17564
- ],
17565
- mqueryModelIds: [
17566
- "gemini-3.1-flash-lite"
17567
- ],
17568
- webSearchModelIds: [
17569
- "gemini-3.1-flash-lite"
17570
- ],
17571
- deprecatedModelIds: {
17572
- "gemini-3.1-pro-high": {
17573
- newModelId: "gemini-pro-agent",
17574
- oldModelEnum: "MODEL_PLACEHOLDER_M37",
17575
- newModelEnum: "MODEL_PLACEHOLDER_M16"
17576
- }
17577
- },
17578
- commitMessageModelIds: [
17579
- "gemini-3.1-flash-lite"
17580
- ],
17581
- audioTranscriptionModelIds: [
17582
- "models/proactive-observer-v10"
17583
- ],
17584
- experimentIds: [
17585
- 106140402,
17586
- 105979552,
17587
- 105979574,
17588
- 106015333,
17589
- 106568772,
17590
- 105867471,
17591
- 106548982,
17592
- 106123599,
17593
- 106076629,
17594
- 106121401,
17595
- 106100625,
17596
- 106143956,
17597
- 105879567,
17598
- 105856899,
17599
- 106312323,
17600
- 106064030,
17601
- 106567313,
17602
- 106396310,
17603
- 106470335,
17604
- 105757908,
17605
- 106106760,
17606
- 106021688,
17607
- 105887299,
17608
- 106428370,
17609
- 106283618,
17610
- 106278607,
17611
- 106538964,
17612
- 106512082,
17613
- 106380926,
17614
- 106281951,
17615
- 106264532,
17616
- 106222835,
17617
- 106044947,
17618
- 106032303,
17619
- 106228452,
17620
- 106121607,
17621
- 105979531,
17622
- 105979553,
17623
- 106015328,
17624
- 106568390,
17625
- 105867469,
17626
- 106123597,
17627
- 106121399,
17628
- 106100654,
17629
- 106064028,
17630
- 106567309,
17631
- 106396304,
17632
- 106470331,
17633
- 105906495,
17634
- 106283614,
17635
- 106038164,
17636
- 106032301,
17637
- 106121604
17638
- ],
17639
17635
  tieredModelIds: {
17640
- flashLite: [
17641
- "gemini-3.1-flash-lite"
17642
- ],
17643
17636
  flash: [
17644
17637
  "gemini-3.7-flash-tiered"
17645
17638
  ],
17639
+ flashLite: [
17640
+ "gemini-3.1-flash-lite"
17641
+ ],
17646
17642
  pro: [
17647
17643
  "gemini-3.1-pro-low"
17648
17644
  ]
17649
- }
17645
+ },
17646
+ webSearchModelIds: [
17647
+ "gemini-3.1-flash-lite"
17648
+ ]
17650
17649
  };
17651
17650
 
17652
17651
  // src/sdk/request-helpers/types.ts