@anthonyhaussman/opencode-agy-auth 1.1.14 → 1.1.15-alpha.0

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
@@ -268,7 +268,7 @@ function createAgyActivityRequestId() {
268
268
  import os from "os";
269
269
 
270
270
  // src/sdk/agy-cli-version.ts
271
- var AGY_CLI_VERSION = "1.1.14";
271
+ var AGY_CLI_VERSION = "1.1.15";
272
272
 
273
273
  // src/sdk/user-agent.ts
274
274
  var cachedUserAgent = null;
@@ -16001,65 +16001,70 @@ import { randomUUID as randomUUID3 } from "crypto";
16001
16001
  // models.json
16002
16002
  var models_default = {
16003
16003
  models: {
16004
- "gemini-3.5-flash-extra-low": {
16005
- displayName: "Gemini 3.5 Flash (Low)",
16004
+ "gemini-3.1-pro-high": {
16005
+ displayName: "Gemini 3.1 Pro (High)",
16006
16006
  supportsImages: true,
16007
16007
  supportsThinking: true,
16008
- thinkingBudget: 1e3,
16009
- minThinkingBudget: 32,
16008
+ thinkingBudget: 10001,
16009
+ minThinkingBudget: 128,
16010
16010
  recommended: true,
16011
16011
  maxTokens: 1048576,
16012
- maxOutputTokens: 65536,
16012
+ maxOutputTokens: 65535,
16013
16013
  quotaInfo: {
16014
- remainingFraction: 0.4676585,
16015
- resetTime: "2026-08-18T09:37:04Z"
16014
+ remainingFraction: 0.9501093,
16015
+ resetTime: "2026-08-19T10:09:43Z"
16016
16016
  },
16017
- model: "MODEL_PLACEHOLDER_M187",
16017
+ model: "MODEL_PLACEHOLDER_M37",
16018
16018
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16019
16019
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16020
16020
  supportsVideo: true,
16021
- tagTitle: "Fast",
16022
- tagDescription: "Limited time",
16021
+ tagTitle: "New",
16023
16022
  supportedMimeTypes: {
16024
- "application/x-ipynb+json": true,
16025
- "video/jpeg2000": true,
16026
- "application/x-python-code": true,
16027
- "image/jpeg": true,
16028
- "video/audio/s16le": true,
16029
- "application/json": true,
16030
- "video/videoframe/jpeg2000": true,
16031
- "text/javascript": true,
16032
- "application/x-typescript": true,
16033
- "text/rtf": true,
16034
- "video/text/timestamp": true,
16035
- "application/x-javascript": true,
16036
- "image/webp": true,
16037
- "image/heif": true,
16038
- "audio/webm;codecs=opus": true,
16039
- "text/css": true,
16040
16023
  "text/x-python": true,
16024
+ "image/webp": true,
16025
+ "text/markdown": true,
16041
16026
  "text/xml": true,
16042
- "image/heic": true,
16043
- "text/plain": true,
16027
+ "text/css": true,
16044
16028
  "text/x-typescript": true,
16045
- "video/mp4": true,
16046
- "text/csv": true,
16047
- "video/audio/wav": true,
16048
16029
  "image/png": true,
16030
+ "text/rtf": true,
16031
+ "video/jpeg2000": true,
16049
16032
  "application/pdf": true,
16050
- "text/markdown": true,
16033
+ "video/text/timestamp": true,
16034
+ "image/heic": true,
16035
+ "text/plain": true,
16036
+ "audio/webm;codecs=opus": true,
16037
+ "image/heif": true,
16051
16038
  "application/rtf": true,
16039
+ "video/audio/s16le": true,
16040
+ "video/mp4": true,
16052
16041
  "text/x-python-script": true,
16042
+ "video/audio/wav": true,
16053
16043
  "text/html": true,
16054
- "video/webm": true
16044
+ "video/webm": true,
16045
+ "video/videoframe/jpeg2000": true,
16046
+ "application/x-ipynb+json": true,
16047
+ "application/x-typescript": true,
16048
+ "text/javascript": true,
16049
+ "application/x-python-code": true,
16050
+ "application/x-javascript": true,
16051
+ "image/jpeg": true,
16052
+ "application/json": true,
16053
+ "text/csv": true
16055
16054
  },
16056
16055
  modelExperiments: {
16057
16056
  experiments: {
16058
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16059
- 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}'
16057
+ template__system_prompts__communication_style: {
16058
+ 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: ...'."
16060
16059
  },
16061
16060
  template__system_prompts__planning_mode_artifacts: {
16062
16061
  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"
16062
+ },
16063
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16064
+ 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}'
16065
+ },
16066
+ "cascade-include-ephemeral-message": {
16067
+ stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16063
16068
  }
16064
16069
  }
16065
16070
  }
@@ -16074,8 +16079,8 @@ var models_default = {
16074
16079
  maxTokens: 1048576,
16075
16080
  maxOutputTokens: 65536,
16076
16081
  quotaInfo: {
16077
- remainingFraction: 0.4676585,
16078
- resetTime: "2026-08-18T09:37:04Z"
16082
+ remainingFraction: 0.9501093,
16083
+ resetTime: "2026-08-19T10:09:43Z"
16079
16084
  },
16080
16085
  model: "MODEL_PLACEHOLDER_M20",
16081
16086
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
@@ -16084,37 +16089,37 @@ var models_default = {
16084
16089
  tagTitle: "Fast",
16085
16090
  tagDescription: "Limited time",
16086
16091
  supportedMimeTypes: {
16087
- "text/x-typescript": true,
16088
- "video/audio/wav": true,
16089
- "text/x-python": true,
16090
- "text/javascript": true,
16091
- "text/css": true,
16092
- "application/x-python-code": true,
16093
- "application/x-typescript": true,
16092
+ "text/plain": true,
16093
+ "text/x-python-script": true,
16094
16094
  "audio/webm;codecs=opus": true,
16095
- "text/csv": true,
16095
+ "text/markdown": true,
16096
16096
  "text/xml": true,
16097
- "image/png": true,
16097
+ "application/rtf": true,
16098
16098
  "video/videoframe/jpeg2000": true,
16099
16099
  "text/rtf": true,
16100
- "video/jpeg2000": true,
16100
+ "text/html": true,
16101
+ "text/javascript": true,
16102
+ "image/png": true,
16103
+ "video/audio/wav": true,
16101
16104
  "application/x-ipynb+json": true,
16102
- "application/x-javascript": true,
16103
- "image/heif": true,
16104
- "video/text/timestamp": true,
16105
- "application/pdf": true,
16106
- "text/plain": true,
16107
- "application/rtf": true,
16108
- "application/json": true,
16109
- "text/markdown": true,
16110
- "image/heic": true,
16111
16105
  "image/webp": true,
16112
- "video/webm": true,
16113
- "text/html": true,
16114
- "image/jpeg": true,
16115
- "text/x-python-script": true,
16106
+ "text/x-python": true,
16107
+ "video/jpeg2000": true,
16108
+ "application/json": true,
16109
+ "application/pdf": true,
16110
+ "text/css": true,
16111
+ "video/text/timestamp": true,
16112
+ "application/x-typescript": true,
16113
+ "image/heif": true,
16114
+ "text/x-typescript": true,
16115
+ "text/csv": true,
16116
16116
  "video/audio/s16le": true,
16117
- "video/mp4": true
16117
+ "application/x-python-code": true,
16118
+ "application/x-javascript": true,
16119
+ "image/jpeg": true,
16120
+ "image/heic": true,
16121
+ "video/mp4": true,
16122
+ "video/webm": true
16118
16123
  },
16119
16124
  modelExperiments: {
16120
16125
  experiments: {
@@ -16127,373 +16132,488 @@ var models_default = {
16127
16132
  }
16128
16133
  }
16129
16134
  },
16130
- "gemini-2.5-flash": {
16131
- displayName: "Gemini 3.1 Flash Lite",
16132
- maxTokens: 1048576,
16133
- maxOutputTokens: 65535,
16134
- quotaInfo: {
16135
- remainingFraction: 0.4676585,
16136
- resetTime: "2026-08-18T09:37:04Z"
16137
- },
16138
- model: "MODEL_GOOGLE_GEMINI_2_5_FLASH",
16139
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16140
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16141
- modelExperiments: {
16142
- experiments: {
16143
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16144
- 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}'
16145
- }
16146
- }
16147
- }
16148
- },
16149
- "gemini-2.5-flash-thinking": {
16150
- displayName: "Gemini 3.1 Flash Lite",
16151
- maxTokens: 1048576,
16152
- maxOutputTokens: 65535,
16153
- quotaInfo: {
16154
- remainingFraction: 0.4676585,
16155
- resetTime: "2026-08-18T09:37:04Z"
16156
- },
16157
- model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING",
16158
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16159
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16160
- modelExperiments: {
16161
- experiments: {
16162
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16163
- 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}'
16164
- }
16165
- }
16166
- }
16167
- },
16168
- "gemini-3.7-flash-medium": {
16169
- displayName: "Gemini 3.7 Flash (Medium)",
16135
+ "gemini-3.6-flash-low": {
16136
+ displayName: "Gemini 3.6 Flash (Low)",
16170
16137
  supportsImages: true,
16171
16138
  supportsThinking: true,
16172
- thinkingBudget: 4e3,
16139
+ thinkingBudget: 1e3,
16173
16140
  minThinkingBudget: 32,
16174
16141
  recommended: true,
16175
16142
  maxTokens: 1048576,
16176
16143
  maxOutputTokens: 65536,
16177
16144
  quotaInfo: {
16178
- remainingFraction: 0.4676585,
16179
- resetTime: "2026-08-18T09:37:04Z"
16145
+ remainingFraction: 0.9501093,
16146
+ resetTime: "2026-08-19T10:09:43Z"
16180
16147
  },
16181
- model: "MODEL_PLACEHOLDER_M299",
16148
+ model: "MODEL_PLACEHOLDER_M73",
16182
16149
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16183
16150
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16184
16151
  supportsVideo: true,
16185
16152
  tagTitle: "Fast",
16186
16153
  tagDescription: "Limited time",
16187
16154
  supportedMimeTypes: {
16188
- "text/html": true,
16189
- "application/x-ipynb+json": true,
16190
- "text/plain": true,
16191
- "application/rtf": true,
16192
- "text/javascript": true,
16193
16155
  "text/csv": true,
16194
- "text/xml": true,
16195
- "text/rtf": true,
16156
+ "text/x-python-script": true,
16157
+ "video/webm": true,
16158
+ "text/html": true,
16159
+ "image/png": true,
16196
16160
  "application/x-python-code": true,
16197
- "video/jpeg2000": true,
16198
- "application/json": true,
16161
+ "video/audio/wav": true,
16162
+ "text/x-python": true,
16163
+ "text/plain": true,
16164
+ "application/x-ipynb+json": true,
16199
16165
  "application/x-javascript": true,
16200
- "image/png": true,
16201
- "image/heic": true,
16202
- "text/x-typescript": true,
16166
+ "text/markdown": true,
16167
+ "text/css": true,
16168
+ "audio/webm;codecs=opus": true,
16169
+ "text/xml": true,
16203
16170
  "image/webp": true,
16204
- "text/x-python": true,
16171
+ "image/jpeg": true,
16172
+ "video/jpeg2000": true,
16205
16173
  "video/videoframe/jpeg2000": true,
16206
- "application/x-typescript": true,
16207
16174
  "video/mp4": true,
16208
- "text/x-python-script": true,
16209
- "video/audio/wav": true,
16175
+ "text/x-typescript": true,
16176
+ "image/heif": true,
16177
+ "application/x-typescript": true,
16210
16178
  "video/audio/s16le": true,
16211
- "video/webm": true,
16179
+ "text/rtf": true,
16180
+ "application/rtf": true,
16212
16181
  "application/pdf": true,
16213
- "audio/webm;codecs=opus": true,
16214
- "text/css": true,
16182
+ "text/javascript": true,
16215
16183
  "video/text/timestamp": true,
16216
- "image/jpeg": true,
16217
- "image/heif": true,
16218
- "text/markdown": true
16184
+ "image/heic": true,
16185
+ "application/json": true
16219
16186
  },
16220
16187
  modelExperiments: {
16221
16188
  experiments: {
16189
+ template__system_prompts__guidelines: {
16190
+ 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"
16191
+ },
16192
+ template__system_prompts__messaging: {
16193
+ 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."
16194
+ },
16222
16195
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16223
16196
  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}'
16224
16197
  },
16225
16198
  "cascade-include-ephemeral-message": {
16226
16199
  stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16227
16200
  },
16228
- "task-details-suffix": {
16229
- 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."
16201
+ template__system_prompts__communication_style: {
16202
+ 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"
16230
16203
  }
16231
16204
  }
16232
16205
  }
16233
16206
  },
16234
- "gemini-2.5-pro": {
16235
- displayName: "Gemini 2.5 Pro",
16207
+ "claude-opus-4-6-thinking": {
16208
+ displayName: "Claude Opus 4.6 (Thinking)",
16236
16209
  supportsImages: true,
16237
16210
  supportsThinking: true,
16238
16211
  thinkingBudget: 1024,
16212
+ recommended: true,
16213
+ maxTokens: 25e4,
16214
+ maxOutputTokens: 64e3,
16215
+ quotaInfo: {
16216
+ remainingFraction: 1,
16217
+ resetTime: "2026-08-19T10:20:19Z"
16218
+ },
16219
+ model: "MODEL_PLACEHOLDER_M26",
16220
+ apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16221
+ modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16222
+ supportedMimeTypes: {
16223
+ "image/webp": true,
16224
+ "video/jpeg2000": true,
16225
+ "video/videoframe/jpeg2000": true,
16226
+ "image/heic": true,
16227
+ "image/heif": true,
16228
+ "image/jpeg": true,
16229
+ "image/png": true
16230
+ },
16231
+ modelExperiments: {
16232
+ experiments: {
16233
+ template__system_prompts__planning_mode_artifacts: {
16234
+ 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"
16235
+ },
16236
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16237
+ 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}'
16238
+ }
16239
+ }
16240
+ },
16241
+ vertexModelId: "claude-opus-4-6@default"
16242
+ },
16243
+ "gemini-3.1-pro-low": {
16244
+ displayName: "Gemini 3.1 Pro (Low)",
16245
+ supportsImages: true,
16246
+ supportsThinking: true,
16247
+ thinkingBudget: 1001,
16239
16248
  minThinkingBudget: 128,
16240
16249
  recommended: true,
16241
16250
  maxTokens: 1048576,
16242
16251
  maxOutputTokens: 65535,
16243
16252
  quotaInfo: {
16244
- remainingFraction: 0.4676585,
16245
- resetTime: "2026-08-18T09:37:04Z"
16253
+ remainingFraction: 0.9501093,
16254
+ resetTime: "2026-08-19T10:09:43Z"
16246
16255
  },
16247
- model: "MODEL_GOOGLE_GEMINI_2_5_PRO",
16256
+ model: "MODEL_PLACEHOLDER_M36",
16248
16257
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16249
16258
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16259
+ supportsVideo: true,
16250
16260
  supportedMimeTypes: {
16251
- "text/javascript": true,
16252
- "video/jpeg2000": true,
16253
- "application/rtf": true,
16254
- "image/heif": true,
16255
- "text/x-python-script": true,
16256
- "application/pdf": true,
16257
- "image/webp": true,
16258
16261
  "application/x-ipynb+json": true,
16259
- "video/audio/s16le": true,
16260
- "application/x-javascript": true,
16261
16262
  "application/x-python-code": true,
16262
- "video/webm": true,
16263
16263
  "image/jpeg": true,
16264
- "text/xml": true,
16265
- "video/text/timestamp": true,
16264
+ "application/pdf": true,
16266
16265
  "text/csv": true,
16267
- "video/videoframe/jpeg2000": true,
16266
+ "text/xml": true,
16267
+ "image/webp": true,
16268
+ "text/javascript": true,
16269
+ "text/rtf": true,
16270
+ "application/x-javascript": true,
16268
16271
  "text/css": true,
16269
- "image/heic": true,
16272
+ "video/audio/wav": true,
16273
+ "text/x-python": true,
16274
+ "application/x-typescript": true,
16275
+ "text/x-typescript": true,
16276
+ "video/webm": true,
16270
16277
  "application/json": true,
16271
- "text/html": true,
16278
+ "application/rtf": true,
16279
+ "video/mp4": true,
16272
16280
  "text/plain": true,
16281
+ "video/text/timestamp": true,
16282
+ "video/audio/s16le": true,
16283
+ "image/heic": true,
16284
+ "image/heif": true,
16285
+ "text/html": true,
16286
+ "audio/webm;codecs=opus": true,
16273
16287
  "text/markdown": true,
16274
- "text/x-python": true,
16275
- "video/mp4": true,
16288
+ "video/videoframe/jpeg2000": true,
16289
+ "video/jpeg2000": true,
16276
16290
  "image/png": true,
16277
- "text/rtf": true,
16278
- "application/x-typescript": true,
16279
- "text/x-typescript": true,
16280
- "video/audio/wav": true,
16281
- "audio/webm;codecs=opus": true
16291
+ "text/x-python-script": true
16282
16292
  },
16283
- requiresImageOutputOutsideFunctionResponses: true,
16284
16293
  modelExperiments: {
16285
16294
  experiments: {
16295
+ template__system_prompts__planning_mode_artifacts: {
16296
+ 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"
16297
+ },
16286
16298
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16287
16299
  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}'
16300
+ },
16301
+ "cascade-include-ephemeral-message": {
16302
+ stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16303
+ },
16304
+ template__system_prompts__communication_style: {
16305
+ 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: ...'."
16288
16306
  }
16289
16307
  }
16290
16308
  }
16291
16309
  },
16292
- "gemini-3.7-flash-tiered": {
16310
+ "gemini-3.7-flash-medium": {
16311
+ displayName: "Gemini 3.7 Flash (Medium)",
16293
16312
  supportsImages: true,
16294
16313
  supportsThinking: true,
16295
- thinkingBudget: -1,
16314
+ thinkingBudget: 4e3,
16296
16315
  minThinkingBudget: 32,
16297
16316
  recommended: true,
16298
16317
  maxTokens: 1048576,
16299
16318
  maxOutputTokens: 65536,
16300
16319
  quotaInfo: {
16301
- remainingFraction: 0.4676585,
16302
- resetTime: "2026-08-18T09:37:04Z"
16320
+ remainingFraction: 0.9501093,
16321
+ resetTime: "2026-08-19T10:09:43Z"
16303
16322
  },
16304
- model: "MODEL_PLACEHOLDER_M301",
16323
+ model: "MODEL_PLACEHOLDER_M299",
16305
16324
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16306
16325
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16307
16326
  supportsVideo: true,
16327
+ tagTitle: "Fast",
16328
+ tagDescription: "Limited time",
16308
16329
  supportedMimeTypes: {
16309
- "video/audio/s16le": true,
16310
- "video/jpeg2000": true,
16311
- "application/x-ipynb+json": true,
16312
- "application/x-javascript": true,
16313
- "application/rtf": true,
16314
- "text/x-python": true,
16315
- "text/xml": true,
16316
- "application/x-python-code": true,
16317
- "text/css": true,
16330
+ "text/csv": true,
16318
16331
  "application/pdf": true,
16319
- "video/mp4": true,
16320
16332
  "image/webp": true,
16333
+ "image/heic": true,
16321
16334
  "video/audio/wav": true,
16322
- "video/text/timestamp": true,
16323
- "video/webm": true,
16324
- "text/plain": true,
16325
16335
  "text/x-python-script": true,
16326
- "image/jpeg": true,
16336
+ "text/x-typescript": true,
16337
+ "image/png": true,
16338
+ "text/html": true,
16339
+ "video/jpeg2000": true,
16340
+ "text/x-python": true,
16341
+ "application/x-javascript": true,
16327
16342
  "application/x-typescript": true,
16328
- "text/markdown": true,
16329
16343
  "application/json": true,
16330
- "audio/webm;codecs=opus": true,
16331
- "image/heic": true,
16344
+ "text/plain": true,
16345
+ "text/javascript": true,
16346
+ "application/rtf": true,
16347
+ "video/webm": true,
16348
+ "text/markdown": true,
16349
+ "text/css": true,
16332
16350
  "text/rtf": true,
16351
+ "video/text/timestamp": true,
16333
16352
  "image/heif": true,
16353
+ "audio/webm;codecs=opus": true,
16334
16354
  "video/videoframe/jpeg2000": true,
16335
- "text/javascript": true,
16336
- "text/x-typescript": true,
16337
- "text/html": true,
16338
- "text/csv": true,
16339
- "image/png": true
16355
+ "application/x-python-code": true,
16356
+ "image/jpeg": true,
16357
+ "text/xml": true,
16358
+ "application/x-ipynb+json": true,
16359
+ "video/audio/s16le": true,
16360
+ "video/mp4": true
16340
16361
  },
16341
16362
  modelExperiments: {
16342
16363
  experiments: {
16364
+ "task-details-suffix": {
16365
+ 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."
16366
+ },
16343
16367
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16344
16368
  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}'
16345
16369
  },
16346
16370
  "cascade-include-ephemeral-message": {
16347
16371
  stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16348
- },
16349
- "task-details-suffix": {
16350
- 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."
16351
16372
  }
16352
16373
  }
16353
16374
  }
16354
16375
  },
16355
- "gemini-2.5-flash-lite": {
16356
- displayName: "Gemini 3.1 Flash Lite",
16357
- maxTokens: 1048576,
16358
- maxOutputTokens: 65535,
16376
+ tab_jump_flash_lite_preview: {
16377
+ maxTokens: 16384,
16378
+ maxOutputTokens: 4096,
16359
16379
  quotaInfo: {
16360
- remainingFraction: 0.4676585,
16361
- resetTime: "2026-08-18T09:37:04Z"
16380
+ remainingFraction: 1
16362
16381
  },
16363
- model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE",
16382
+ model: "MODEL_PLACEHOLDER_M28",
16364
16383
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16365
16384
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16385
+ supportsCumulativeContext: true,
16386
+ tabJumpPrintLineRange: true,
16387
+ supportsEstimateTokenCounter: true,
16388
+ addCursorToFindReplaceTarget: true,
16389
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16390
+ requiresLeadInGeneration: true,
16391
+ requiresNoXmlToolExamples: true
16392
+ },
16393
+ "gpt-oss-120b-medium": {
16394
+ displayName: "GPT-OSS 120B (Medium)",
16395
+ supportsThinking: true,
16396
+ thinkingBudget: 8192,
16397
+ recommended: true,
16398
+ maxTokens: 131072,
16399
+ maxOutputTokens: 32768,
16400
+ quotaInfo: {
16401
+ remainingFraction: 1,
16402
+ resetTime: "2026-08-19T10:20:19Z"
16403
+ },
16404
+ model: "MODEL_OPENAI_GPT_OSS_120B_MEDIUM",
16405
+ apiProvider: "API_PROVIDER_OPENAI_VERTEX",
16406
+ modelProvider: "MODEL_PROVIDER_OPENAI",
16366
16407
  modelExperiments: {
16367
16408
  experiments: {
16368
16409
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16369
- 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}'
16410
+ 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}'
16370
16411
  }
16371
16412
  }
16372
- }
16413
+ },
16414
+ vertexModelId: "openai/gpt-oss-120b-maas"
16373
16415
  },
16374
- "gemini-3.6-flash-low": {
16375
- displayName: "Gemini 3.6 Flash (Low)",
16416
+ chat_23310: {
16417
+ maxTokens: 32768,
16418
+ quotaInfo: {
16419
+ remainingFraction: 1
16420
+ },
16421
+ model: "MODEL_CHAT_23310",
16422
+ apiProvider: "API_PROVIDER_INTERNAL",
16423
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16424
+ supportsCumulativeContext: true,
16425
+ supportsEstimateTokenCounter: true,
16426
+ isInternal: true,
16427
+ promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
16428
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16429
+ requiresLeadInGeneration: true
16430
+ },
16431
+ "gemini-3-flash": {
16432
+ displayName: "Gemini 3 Flash",
16376
16433
  supportsImages: true,
16377
16434
  supportsThinking: true,
16378
- thinkingBudget: 1e3,
16435
+ thinkingBudget: -1,
16379
16436
  minThinkingBudget: 32,
16380
16437
  recommended: true,
16381
16438
  maxTokens: 1048576,
16382
16439
  maxOutputTokens: 65536,
16383
16440
  quotaInfo: {
16384
- remainingFraction: 0.4676585,
16385
- resetTime: "2026-08-18T09:37:04Z"
16441
+ remainingFraction: 0.9501093,
16442
+ resetTime: "2026-08-19T10:09:43Z"
16386
16443
  },
16387
- model: "MODEL_PLACEHOLDER_M73",
16444
+ model: "MODEL_PLACEHOLDER_M18",
16388
16445
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16389
16446
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16390
16447
  supportsVideo: true,
16391
- tagTitle: "Fast",
16392
- tagDescription: "Limited time",
16393
16448
  supportedMimeTypes: {
16449
+ "video/webm": true,
16394
16450
  "text/csv": true,
16395
- "video/audio/wav": true,
16396
16451
  "image/jpeg": true,
16397
- "text/rtf": true,
16398
- "application/x-javascript": true,
16399
- "text/markdown": true,
16400
- "text/css": true,
16452
+ "video/audio/s16le": true,
16453
+ "image/webp": true,
16454
+ "text/plain": true,
16401
16455
  "text/x-python": true,
16456
+ "image/png": true,
16457
+ "video/jpeg2000": true,
16458
+ "image/heic": true,
16459
+ "video/mp4": true,
16460
+ "text/x-python-script": true,
16461
+ "video/audio/wav": true,
16462
+ "text/markdown": true,
16463
+ "text/html": true,
16464
+ "application/x-javascript": true,
16465
+ "audio/webm;codecs=opus": true,
16466
+ "application/json": true,
16467
+ "application/rtf": true,
16468
+ "image/heif": true,
16402
16469
  "text/x-typescript": true,
16470
+ "text/rtf": true,
16403
16471
  "text/xml": true,
16404
- "video/jpeg2000": true,
16405
- "application/x-ipynb+json": true,
16406
- "application/x-typescript": true,
16407
16472
  "video/text/timestamp": true,
16408
- "application/rtf": true,
16409
- "text/javascript": true,
16410
16473
  "video/videoframe/jpeg2000": true,
16411
- "text/x-python-script": true,
16412
- "audio/webm;codecs=opus": true,
16413
- "video/audio/s16le": true,
16414
- "image/png": true,
16415
- "text/plain": true,
16474
+ "text/css": true,
16475
+ "text/javascript": true,
16476
+ "application/x-typescript": true,
16416
16477
  "application/x-python-code": true,
16478
+ "application/x-ipynb+json": true,
16479
+ "application/pdf": true
16480
+ },
16481
+ modelExperiments: {
16482
+ experiments: {
16483
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16484
+ 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}'
16485
+ },
16486
+ template__system_prompts__communication_style: {
16487
+ 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.'
16488
+ }
16489
+ }
16490
+ }
16491
+ },
16492
+ "gemini-3.1-flash-lite": {
16493
+ displayName: "Gemini 3.1 Flash Lite",
16494
+ maxTokens: 1048576,
16495
+ maxOutputTokens: 65535,
16496
+ quotaInfo: {
16497
+ remainingFraction: 0.9501093,
16498
+ resetTime: "2026-08-19T10:09:43Z"
16499
+ },
16500
+ model: "MODEL_PLACEHOLDER_M50",
16501
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16502
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16503
+ modelExperiments: {
16504
+ experiments: {
16505
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16506
+ 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}'
16507
+ }
16508
+ }
16509
+ }
16510
+ },
16511
+ "gemini-2.5-flash": {
16512
+ displayName: "Gemini 3.1 Flash Lite",
16513
+ maxTokens: 1048576,
16514
+ maxOutputTokens: 65535,
16515
+ quotaInfo: {
16516
+ remainingFraction: 0.9501093,
16517
+ resetTime: "2026-08-19T10:09:43Z"
16518
+ },
16519
+ model: "MODEL_GOOGLE_GEMINI_2_5_FLASH",
16520
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16521
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16522
+ modelExperiments: {
16523
+ experiments: {
16524
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16525
+ 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}'
16526
+ }
16527
+ }
16528
+ }
16529
+ },
16530
+ "claude-sonnet-4-6": {
16531
+ displayName: "Claude Sonnet 4.6 (Thinking)",
16532
+ supportsImages: true,
16533
+ supportsThinking: true,
16534
+ thinkingBudget: 1024,
16535
+ recommended: true,
16536
+ maxTokens: 25e4,
16537
+ maxOutputTokens: 64e3,
16538
+ quotaInfo: {
16539
+ remainingFraction: 1,
16540
+ resetTime: "2026-08-19T10:20:19Z"
16541
+ },
16542
+ model: "MODEL_PLACEHOLDER_M35",
16543
+ apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16544
+ modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16545
+ supportedMimeTypes: {
16546
+ "video/videoframe/jpeg2000": true,
16417
16547
  "image/heic": true,
16418
- "application/pdf": true,
16548
+ "image/heif": true,
16549
+ "image/jpeg": true,
16550
+ "image/png": true,
16419
16551
  "image/webp": true,
16420
- "video/webm": true,
16421
- "text/html": true,
16422
- "application/json": true,
16423
- "video/mp4": true,
16424
- "image/heif": true
16552
+ "video/jpeg2000": true
16425
16553
  },
16426
16554
  modelExperiments: {
16427
16555
  experiments: {
16428
- template__system_prompts__communication_style: {
16429
- 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"
16430
- },
16431
- template__system_prompts__guidelines: {
16432
- 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"
16433
- },
16434
- template__system_prompts__messaging: {
16435
- 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."
16556
+ template__system_prompts__planning_mode_artifacts: {
16557
+ 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"
16436
16558
  },
16437
16559
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16438
- 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}'
16439
- },
16440
- "cascade-include-ephemeral-message": {
16441
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16560
+ 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}'
16442
16561
  }
16443
16562
  }
16444
- }
16563
+ },
16564
+ vertexModelId: "claude-sonnet-4-6@default"
16445
16565
  },
16446
- "gemini-3.7-flash-low": {
16447
- displayName: "Gemini 3.7 Flash (Low)",
16566
+ "gemini-3.6-flash-high": {
16567
+ displayName: "Gemini 3.6 Flash (High)",
16448
16568
  supportsImages: true,
16449
16569
  supportsThinking: true,
16450
- thinkingBudget: 1e3,
16570
+ thinkingBudget: -1,
16451
16571
  minThinkingBudget: 32,
16452
16572
  recommended: true,
16453
16573
  maxTokens: 1048576,
16454
16574
  maxOutputTokens: 65536,
16455
16575
  quotaInfo: {
16456
- remainingFraction: 0.4676585,
16457
- resetTime: "2026-08-18T09:37:04Z"
16576
+ remainingFraction: 0.9501093,
16577
+ resetTime: "2026-08-19T10:09:43Z"
16458
16578
  },
16459
- model: "MODEL_PLACEHOLDER_M300",
16579
+ model: "MODEL_PLACEHOLDER_M71",
16460
16580
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16461
16581
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16462
16582
  supportsVideo: true,
16463
16583
  tagTitle: "Fast",
16464
16584
  tagDescription: "Limited time",
16465
16585
  supportedMimeTypes: {
16466
- "text/xml": true,
16467
- "text/x-python": true,
16468
16586
  "video/videoframe/jpeg2000": true,
16469
- "video/text/timestamp": true,
16470
- "application/x-javascript": true,
16471
- "application/x-python-code": true,
16472
- "video/webm": true,
16473
- "video/audio/s16le": true,
16474
- "application/x-ipynb+json": true,
16587
+ "text/html": true,
16475
16588
  "text/css": true,
16589
+ "image/png": true,
16590
+ "image/heic": true,
16591
+ "application/x-typescript": true,
16592
+ "video/mp4": true,
16593
+ "text/csv": true,
16594
+ "application/x-python-code": true,
16476
16595
  "application/rtf": true,
16477
- "text/x-typescript": true,
16596
+ "image/heif": true,
16597
+ "application/x-javascript": true,
16478
16598
  "text/markdown": true,
16479
- "text/javascript": true,
16480
- "image/webp": true,
16599
+ "text/x-typescript": true,
16481
16600
  "video/audio/wav": true,
16482
- "image/heic": true,
16483
- "text/x-python-script": true,
16484
- "text/html": true,
16485
- "image/heif": true,
16486
- "video/mp4": true,
16487
- "text/rtf": true,
16488
- "image/png": true,
16489
- "application/x-typescript": true,
16601
+ "application/x-ipynb+json": true,
16602
+ "text/x-python": true,
16603
+ "image/webp": true,
16490
16604
  "application/json": true,
16605
+ "text/xml": true,
16606
+ "video/webm": true,
16607
+ "text/rtf": true,
16608
+ "text/javascript": true,
16609
+ "audio/webm;codecs=opus": true,
16610
+ "video/audio/s16le": true,
16611
+ "video/text/timestamp": true,
16612
+ "text/x-python-script": true,
16491
16613
  "image/jpeg": true,
16492
16614
  "text/plain": true,
16493
- "application/pdf": true,
16494
- "audio/webm;codecs=opus": true,
16495
- "text/csv": true,
16496
- "video/jpeg2000": true
16615
+ "video/jpeg2000": true,
16616
+ "application/pdf": true
16497
16617
  },
16498
16618
  modelExperiments: {
16499
16619
  experiments: {
@@ -16503,96 +16623,94 @@ var models_default = {
16503
16623
  "cascade-include-ephemeral-message": {
16504
16624
  stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16505
16625
  },
16506
- "task-details-suffix": {
16507
- 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."
16626
+ template__system_prompts__communication_style: {
16627
+ 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"
16628
+ },
16629
+ template__system_prompts__guidelines: {
16630
+ 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"
16631
+ },
16632
+ template__system_prompts__messaging: {
16633
+ 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."
16508
16634
  }
16509
- }
16510
- }
16511
- },
16512
- tab_flash_lite_preview: {
16513
- maxTokens: 16384,
16514
- maxOutputTokens: 4096,
16515
- quotaInfo: {
16516
- remainingFraction: 1
16517
- },
16518
- model: "MODEL_PLACEHOLDER_M19",
16519
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16520
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16521
- supportsCumulativeContext: true,
16522
- supportsEstimateTokenCounter: true,
16523
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16524
- requiresLeadInGeneration: true
16635
+ }
16636
+ }
16525
16637
  },
16526
- "gemini-3-flash": {
16527
- displayName: "Gemini 3 Flash",
16638
+ "gemini-pro-agent": {
16639
+ displayName: "Gemini 3.1 Pro (High)",
16528
16640
  supportsImages: true,
16529
16641
  supportsThinking: true,
16530
- thinkingBudget: -1,
16531
- minThinkingBudget: 32,
16642
+ thinkingBudget: 10001,
16643
+ minThinkingBudget: 128,
16532
16644
  recommended: true,
16533
16645
  maxTokens: 1048576,
16534
- maxOutputTokens: 65536,
16646
+ maxOutputTokens: 65535,
16535
16647
  quotaInfo: {
16536
- remainingFraction: 0.4676585,
16537
- resetTime: "2026-08-18T09:37:04Z"
16648
+ remainingFraction: 0.9501093,
16649
+ resetTime: "2026-08-19T10:09:43Z"
16538
16650
  },
16539
- model: "MODEL_PLACEHOLDER_M18",
16651
+ model: "MODEL_PLACEHOLDER_M16",
16540
16652
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16541
16653
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16542
16654
  supportsVideo: true,
16543
16655
  supportedMimeTypes: {
16544
- "image/webp": true,
16545
- "video/audio/wav": true,
16546
- "image/heic": true,
16547
- "text/javascript": true,
16548
- "application/json": true,
16549
- "video/mp4": true,
16550
- "text/markdown": true,
16551
16656
  "video/videoframe/jpeg2000": true,
16552
- "application/rtf": true,
16553
- "text/css": true,
16554
- "text/csv": true,
16555
- "text/html": true,
16556
- "application/x-ipynb+json": true,
16557
- "audio/webm;codecs=opus": true,
16657
+ "application/x-python-code": true,
16558
16658
  "text/x-typescript": true,
16559
- "video/webm": true,
16659
+ "text/html": true,
16660
+ "video/audio/wav": true,
16661
+ "application/x-typescript": true,
16662
+ "application/rtf": true,
16663
+ "text/javascript": true,
16560
16664
  "text/x-python-script": true,
16561
16665
  "image/heif": true,
16562
- "application/x-python-code": true,
16563
- "application/pdf": true,
16564
- "text/xml": true,
16565
- "text/rtf": true,
16666
+ "video/webm": true,
16667
+ "text/markdown": true,
16566
16668
  "video/audio/s16le": true,
16567
- "video/jpeg2000": true,
16669
+ "image/heic": true,
16670
+ "text/xml": true,
16671
+ "application/pdf": true,
16672
+ "image/webp": true,
16673
+ "video/text/timestamp": true,
16568
16674
  "text/plain": true,
16675
+ "text/csv": true,
16676
+ "image/jpeg": true,
16677
+ "application/x-ipynb+json": true,
16678
+ "text/x-python": true,
16679
+ "application/json": true,
16569
16680
  "image/png": true,
16681
+ "text/css": true,
16682
+ "video/mp4": true,
16683
+ "text/rtf": true,
16684
+ "audio/webm;codecs=opus": true,
16570
16685
  "application/x-javascript": true,
16571
- "text/x-python": true,
16572
- "image/jpeg": true,
16573
- "application/x-typescript": true,
16574
- "video/text/timestamp": true
16686
+ "video/jpeg2000": true
16575
16687
  },
16576
16688
  modelExperiments: {
16577
16689
  experiments: {
16690
+ template__system_prompts__planning_mode_artifacts: {
16691
+ 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"
16692
+ },
16578
16693
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16579
16694
  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}'
16580
16695
  },
16696
+ "cascade-include-ephemeral-message": {
16697
+ stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16698
+ },
16581
16699
  template__system_prompts__communication_style: {
16582
- 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.'
16700
+ 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: ...'."
16583
16701
  }
16584
16702
  }
16585
16703
  }
16586
16704
  },
16587
- "gemini-3.1-flash-lite": {
16705
+ "gemini-2.5-flash-lite": {
16588
16706
  displayName: "Gemini 3.1 Flash Lite",
16589
16707
  maxTokens: 1048576,
16590
16708
  maxOutputTokens: 65535,
16591
16709
  quotaInfo: {
16592
- remainingFraction: 0.4676585,
16593
- resetTime: "2026-08-18T09:37:04Z"
16710
+ remainingFraction: 0.9501093,
16711
+ resetTime: "2026-08-19T10:09:43Z"
16594
16712
  },
16595
- model: "MODEL_PLACEHOLDER_M50",
16713
+ model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE",
16596
16714
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16597
16715
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16598
16716
  modelExperiments: {
@@ -16603,44 +16721,21 @@ var models_default = {
16603
16721
  }
16604
16722
  }
16605
16723
  },
16606
- "claude-opus-4-6-thinking": {
16607
- displayName: "Claude Opus 4.6 (Thinking)",
16608
- supportsImages: true,
16609
- supportsThinking: true,
16610
- thinkingBudget: 1024,
16611
- recommended: true,
16612
- maxTokens: 25e4,
16613
- maxOutputTokens: 64e3,
16724
+ tab_flash_lite_preview: {
16725
+ maxTokens: 16384,
16726
+ maxOutputTokens: 4096,
16614
16727
  quotaInfo: {
16615
- remainingFraction: 1,
16616
- resetTime: "2026-08-18T13:22:52Z"
16617
- },
16618
- model: "MODEL_PLACEHOLDER_M26",
16619
- apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
16620
- modelProvider: "MODEL_PROVIDER_ANTHROPIC",
16621
- supportedMimeTypes: {
16622
- "image/jpeg": true,
16623
- "image/png": true,
16624
- "image/webp": true,
16625
- "video/jpeg2000": true,
16626
- "video/videoframe/jpeg2000": true,
16627
- "image/heic": true,
16628
- "image/heif": true
16629
- },
16630
- modelExperiments: {
16631
- experiments: {
16632
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16633
- 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}'
16634
- },
16635
- template__system_prompts__planning_mode_artifacts: {
16636
- 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"
16637
- }
16638
- }
16728
+ remainingFraction: 1
16639
16729
  },
16640
- vertexModelId: "claude-opus-4-6@default"
16730
+ model: "MODEL_PLACEHOLDER_M19",
16731
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16732
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16733
+ supportsCumulativeContext: true,
16734
+ supportsEstimateTokenCounter: true,
16735
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16736
+ requiresLeadInGeneration: true
16641
16737
  },
16642
- "gemini-3-flash-agent": {
16643
- displayName: "Gemini 3.5 Flash (High)",
16738
+ "gemini-3.7-flash-tiered": {
16644
16739
  supportsImages: true,
16645
16740
  supportsThinking: true,
16646
16741
  thinkingBudget: -1,
@@ -16649,52 +16744,53 @@ var models_default = {
16649
16744
  maxTokens: 1048576,
16650
16745
  maxOutputTokens: 65536,
16651
16746
  quotaInfo: {
16652
- remainingFraction: 0.4676585,
16653
- resetTime: "2026-08-18T09:37:04Z"
16747
+ remainingFraction: 0.9501093,
16748
+ resetTime: "2026-08-19T10:09:43Z"
16654
16749
  },
16655
- model: "MODEL_PLACEHOLDER_M84",
16750
+ model: "MODEL_PLACEHOLDER_M301",
16656
16751
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16657
16752
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16658
16753
  supportsVideo: true,
16659
- tagTitle: "Fast",
16660
- tagDescription: "Limited time",
16661
16754
  supportedMimeTypes: {
16662
- "text/rtf": true,
16663
- "video/text/timestamp": true,
16664
- "text/x-python-script": true,
16665
- "text/html": true,
16666
- "application/x-python-code": true,
16667
- "video/videoframe/jpeg2000": true,
16755
+ "text/markdown": true,
16668
16756
  "video/webm": true,
16669
- "text/css": true,
16670
- "image/heic": true,
16671
- "video/jpeg2000": true,
16757
+ "image/webp": true,
16672
16758
  "application/x-ipynb+json": true,
16759
+ "video/videoframe/jpeg2000": true,
16673
16760
  "text/x-typescript": true,
16674
- "image/png": true,
16675
- "image/webp": true,
16676
- "video/audio/wav": true,
16761
+ "application/pdf": true,
16762
+ "video/text/timestamp": true,
16763
+ "image/heic": true,
16764
+ "audio/webm;codecs=opus": true,
16677
16765
  "text/x-python": true,
16678
- "text/markdown": true,
16766
+ "text/xml": true,
16767
+ "application/x-typescript": true,
16768
+ "image/heif": true,
16769
+ "text/html": true,
16679
16770
  "image/jpeg": true,
16680
16771
  "application/x-javascript": true,
16681
- "video/audio/s16le": true,
16682
- "text/xml": true,
16772
+ "video/audio/wav": true,
16773
+ "application/x-python-code": true,
16774
+ "image/png": true,
16775
+ "text/rtf": true,
16683
16776
  "text/csv": true,
16684
- "audio/webm;codecs=opus": true,
16685
16777
  "video/mp4": true,
16686
- "application/pdf": true,
16778
+ "video/jpeg2000": true,
16687
16779
  "text/plain": true,
16688
- "application/x-typescript": true,
16689
- "image/heif": true,
16690
- "application/rtf": true,
16780
+ "video/audio/s16le": true,
16691
16781
  "text/javascript": true,
16692
- "application/json": true
16782
+ "application/rtf": true,
16783
+ "text/x-python-script": true,
16784
+ "application/json": true,
16785
+ "text/css": true
16693
16786
  },
16694
16787
  modelExperiments: {
16695
16788
  experiments: {
16696
- template__system_prompts__planning_mode_artifacts: {
16697
- 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"
16789
+ "cascade-include-ephemeral-message": {
16790
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16791
+ },
16792
+ "task-details-suffix": {
16793
+ 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."
16698
16794
  },
16699
16795
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16700
16796
  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}'
@@ -16702,20 +16798,47 @@ var models_default = {
16702
16798
  }
16703
16799
  }
16704
16800
  },
16705
- "gemini-3.6-flash-medium": {
16706
- displayName: "Gemini 3.6 Flash (Medium)",
16801
+ chat_20706: {
16802
+ maxTokens: 16384,
16803
+ quotaInfo: {
16804
+ remainingFraction: 1
16805
+ },
16806
+ model: "MODEL_CHAT_20706",
16807
+ apiProvider: "API_PROVIDER_INTERNAL",
16808
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
16809
+ supportsCumulativeContext: true,
16810
+ tabJumpPrintLineRange: true,
16811
+ supportsEstimateTokenCounter: true,
16812
+ isInternal: true,
16813
+ addCursorToFindReplaceTarget: true,
16814
+ promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
16815
+ toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16816
+ requiresLeadInGeneration: true
16817
+ },
16818
+ "gemini-3.1-flash-image": {
16819
+ displayName: "Gemini 3.1 Flash Image",
16820
+ quotaInfo: {
16821
+ remainingFraction: 0.9501093,
16822
+ resetTime: "2026-08-19T10:09:43Z"
16823
+ },
16824
+ model: "MODEL_PLACEHOLDER_M21",
16825
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16826
+ modelProvider: "MODEL_PROVIDER_GOOGLE"
16827
+ },
16828
+ "gemini-3.5-flash-extra-low": {
16829
+ displayName: "Gemini 3.5 Flash (Low)",
16707
16830
  supportsImages: true,
16708
16831
  supportsThinking: true,
16709
- thinkingBudget: 4e3,
16832
+ thinkingBudget: 1e3,
16710
16833
  minThinkingBudget: 32,
16711
16834
  recommended: true,
16712
16835
  maxTokens: 1048576,
16713
16836
  maxOutputTokens: 65536,
16714
16837
  quotaInfo: {
16715
- remainingFraction: 0.4676585,
16716
- resetTime: "2026-08-18T09:37:04Z"
16838
+ remainingFraction: 0.9501093,
16839
+ resetTime: "2026-08-19T10:09:43Z"
16717
16840
  },
16718
- model: "MODEL_PLACEHOLDER_M72",
16841
+ model: "MODEL_PLACEHOLDER_M187",
16719
16842
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16720
16843
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16721
16844
  supportsVideo: true,
@@ -16723,316 +16846,240 @@ var models_default = {
16723
16846
  tagDescription: "Limited time",
16724
16847
  supportedMimeTypes: {
16725
16848
  "text/xml": true,
16849
+ "text/css": true,
16850
+ "video/audio/wav": true,
16726
16851
  "video/audio/s16le": true,
16727
- "application/x-ipynb+json": true,
16728
- "text/x-python-script": true,
16729
16852
  "text/markdown": true,
16730
- "application/rtf": true,
16731
- "image/png": true,
16732
- "text/plain": true,
16733
- "text/csv": true,
16734
- "application/pdf": true,
16735
- "text/rtf": true,
16736
- "image/heif": true,
16737
16853
  "video/videoframe/jpeg2000": true,
16738
- "application/json": true,
16739
- "image/webp": true,
16740
- "image/heic": true,
16854
+ "application/x-python-code": true,
16741
16855
  "audio/webm;codecs=opus": true,
16742
- "video/jpeg2000": true,
16856
+ "video/text/timestamp": true,
16857
+ "text/plain": true,
16858
+ "text/x-python-script": true,
16859
+ "text/x-typescript": true,
16860
+ "application/json": true,
16743
16861
  "text/x-python": true,
16744
- "video/webm": true,
16745
16862
  "text/html": true,
16746
- "video/audio/wav": true,
16863
+ "image/heif": true,
16864
+ "text/rtf": true,
16865
+ "application/x-ipynb+json": true,
16866
+ "video/webm": true,
16867
+ "image/png": true,
16747
16868
  "image/jpeg": true,
16748
- "application/x-python-code": true,
16749
- "text/javascript": true,
16750
- "video/text/timestamp": true,
16751
- "application/x-typescript": true,
16752
- "text/css": true,
16753
- "text/x-typescript": true,
16754
16869
  "application/x-javascript": true,
16755
- "video/mp4": true
16870
+ "application/rtf": true,
16871
+ "application/x-typescript": true,
16872
+ "text/javascript": true,
16873
+ "video/jpeg2000": true,
16874
+ "application/pdf": true,
16875
+ "image/heic": true,
16876
+ "video/mp4": true,
16877
+ "image/webp": true,
16878
+ "text/csv": true
16756
16879
  },
16757
16880
  modelExperiments: {
16758
16881
  experiments: {
16759
- template__system_prompts__communication_style: {
16760
- 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"
16761
- },
16762
- template__system_prompts__guidelines: {
16763
- 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"
16764
- },
16765
- template__system_prompts__messaging: {
16766
- 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."
16767
- },
16768
16882
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16769
16883
  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}'
16770
- },
16771
- "cascade-include-ephemeral-message": {
16772
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16884
+ },
16885
+ template__system_prompts__planning_mode_artifacts: {
16886
+ 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"
16773
16887
  }
16774
16888
  }
16775
16889
  }
16776
16890
  },
16777
- tab_jump_flash_lite_preview: {
16778
- maxTokens: 16384,
16779
- maxOutputTokens: 4096,
16780
- quotaInfo: {
16781
- remainingFraction: 1
16782
- },
16783
- model: "MODEL_PLACEHOLDER_M28",
16784
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16785
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16786
- supportsCumulativeContext: true,
16787
- tabJumpPrintLineRange: true,
16788
- supportsEstimateTokenCounter: true,
16789
- addCursorToFindReplaceTarget: true,
16790
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16791
- requiresLeadInGeneration: true,
16792
- requiresNoXmlToolExamples: true
16793
- },
16794
- "gemini-3.7-flash-high": {
16795
- displayName: "Gemini 3.7 Flash (High)",
16891
+ "gemini-3.7-flash-low": {
16892
+ displayName: "Gemini 3.7 Flash (Low)",
16796
16893
  supportsImages: true,
16797
16894
  supportsThinking: true,
16798
- thinkingBudget: -1,
16895
+ thinkingBudget: 1e3,
16799
16896
  minThinkingBudget: 32,
16800
16897
  recommended: true,
16801
16898
  maxTokens: 1048576,
16802
16899
  maxOutputTokens: 65536,
16803
16900
  quotaInfo: {
16804
- remainingFraction: 0.4676585,
16805
- resetTime: "2026-08-18T09:37:04Z"
16901
+ remainingFraction: 0.9501093,
16902
+ resetTime: "2026-08-19T10:09:43Z"
16806
16903
  },
16807
- model: "MODEL_PLACEHOLDER_M298",
16904
+ model: "MODEL_PLACEHOLDER_M300",
16808
16905
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16809
16906
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16810
16907
  supportsVideo: true,
16811
16908
  tagTitle: "Fast",
16812
16909
  tagDescription: "Limited time",
16813
16910
  supportedMimeTypes: {
16814
- "text/html": true,
16815
- "image/heif": true,
16816
- "text/markdown": true,
16911
+ "application/x-javascript": true,
16912
+ "application/json": true,
16913
+ "image/heic": true,
16914
+ "video/jpeg2000": true,
16915
+ "image/webp": true,
16916
+ "audio/webm;codecs=opus": true,
16917
+ "video/audio/s16le": true,
16918
+ "text/x-typescript": true,
16817
16919
  "text/x-python-script": true,
16818
16920
  "image/jpeg": true,
16819
- "video/text/timestamp": true,
16820
- "text/plain": true,
16821
- "text/rtf": true,
16822
- "audio/webm;codecs=opus": true,
16823
16921
  "video/audio/wav": true,
16922
+ "text/javascript": true,
16923
+ "text/markdown": true,
16924
+ "text/plain": true,
16925
+ "text/html": true,
16926
+ "application/x-typescript": true,
16824
16927
  "application/rtf": true,
16928
+ "text/xml": true,
16825
16929
  "application/x-python-code": true,
16930
+ "text/rtf": true,
16931
+ "text/x-python": true,
16932
+ "video/mp4": true,
16933
+ "image/heif": true,
16934
+ "video/text/timestamp": true,
16935
+ "text/csv": true,
16826
16936
  "text/css": true,
16827
- "application/x-typescript": true,
16828
- "application/json": true,
16829
16937
  "video/videoframe/jpeg2000": true,
16830
- "image/heic": true,
16831
- "text/csv": true,
16832
- "application/x-javascript": true,
16833
- "image/png": true,
16834
- "text/x-typescript": true,
16835
- "text/javascript": true,
16836
- "image/webp": true,
16837
16938
  "video/webm": true,
16838
- "video/audio/s16le": true,
16839
- "text/xml": true,
16840
- "application/x-ipynb+json": true,
16841
- "text/x-python": true,
16842
16939
  "application/pdf": true,
16843
- "video/mp4": true,
16844
- "video/jpeg2000": true
16940
+ "image/png": true,
16941
+ "application/x-ipynb+json": true
16845
16942
  },
16846
16943
  modelExperiments: {
16847
16944
  experiments: {
16848
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16849
- 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}'
16850
- },
16851
16945
  "cascade-include-ephemeral-message": {
16852
16946
  stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16853
16947
  },
16854
16948
  "task-details-suffix": {
16855
16949
  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."
16950
+ },
16951
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16952
+ 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}'
16856
16953
  }
16857
16954
  }
16858
16955
  }
16859
16956
  },
16860
- chat_20706: {
16861
- maxTokens: 16384,
16862
- quotaInfo: {
16863
- remainingFraction: 1
16864
- },
16865
- model: "MODEL_CHAT_20706",
16866
- apiProvider: "API_PROVIDER_INTERNAL",
16867
- modelProvider: "MODEL_PROVIDER_GOOGLE",
16868
- supportsCumulativeContext: true,
16869
- tabJumpPrintLineRange: true,
16870
- supportsEstimateTokenCounter: true,
16871
- isInternal: true,
16872
- addCursorToFindReplaceTarget: true,
16873
- promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
16874
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
16875
- requiresLeadInGeneration: true
16876
- },
16877
- "gemini-3.1-pro-low": {
16878
- displayName: "Gemini 3.1 Pro (Low)",
16957
+ "gemini-2.5-pro": {
16958
+ displayName: "Gemini 2.5 Pro",
16879
16959
  supportsImages: true,
16880
16960
  supportsThinking: true,
16881
- thinkingBudget: 1001,
16961
+ thinkingBudget: 1024,
16882
16962
  minThinkingBudget: 128,
16883
16963
  recommended: true,
16884
16964
  maxTokens: 1048576,
16885
16965
  maxOutputTokens: 65535,
16886
16966
  quotaInfo: {
16887
- remainingFraction: 0.4676585,
16888
- resetTime: "2026-08-18T09:37:04Z"
16967
+ remainingFraction: 0.9501093,
16968
+ resetTime: "2026-08-19T10:09:43Z"
16889
16969
  },
16890
- model: "MODEL_PLACEHOLDER_M36",
16970
+ model: "MODEL_GOOGLE_GEMINI_2_5_PRO",
16891
16971
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16892
16972
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16893
- supportsVideo: true,
16894
16973
  supportedMimeTypes: {
16895
- "text/javascript": true,
16896
- "text/x-python": true,
16897
- "image/jpeg": true,
16974
+ "video/videoframe/jpeg2000": true,
16975
+ "application/json": true,
16976
+ "application/rtf": true,
16977
+ "application/x-python-code": true,
16978
+ "text/html": true,
16979
+ "application/pdf": true,
16980
+ "text/xml": true,
16981
+ "application/x-typescript": true,
16982
+ "audio/webm;codecs=opus": true,
16983
+ "text/csv": true,
16984
+ "text/x-python-script": true,
16985
+ "video/mp4": true,
16898
16986
  "text/markdown": true,
16987
+ "text/x-typescript": true,
16899
16988
  "video/webm": true,
16900
- "application/x-javascript": true,
16901
- "image/heif": true,
16989
+ "text/javascript": true,
16902
16990
  "video/audio/s16le": true,
16903
- "application/x-python-code": true,
16904
- "audio/webm;codecs=opus": true,
16991
+ "text/css": true,
16905
16992
  "application/x-ipynb+json": true,
16906
- "application/pdf": true,
16907
- "text/html": true,
16908
- "video/mp4": true,
16909
- "text/xml": true,
16910
- "video/text/timestamp": true,
16993
+ "image/heif": true,
16911
16994
  "image/heic": true,
16912
- "text/css": true,
16913
- "text/csv": true,
16995
+ "image/png": true,
16996
+ "video/jpeg2000": true,
16914
16997
  "text/plain": true,
16998
+ "application/x-javascript": true,
16915
16999
  "text/rtf": true,
16916
- "image/webp": true,
16917
- "text/x-typescript": true,
16918
- "application/rtf": true,
16919
- "video/videoframe/jpeg2000": true,
16920
- "video/jpeg2000": true,
16921
- "text/x-python-script": true,
16922
- "image/png": true,
16923
- "application/json": true,
16924
17000
  "video/audio/wav": true,
16925
- "application/x-typescript": true
17001
+ "video/text/timestamp": true,
17002
+ "image/jpeg": true,
17003
+ "text/x-python": true,
17004
+ "image/webp": true
16926
17005
  },
17006
+ requiresImageOutputOutsideFunctionResponses: true,
16927
17007
  modelExperiments: {
16928
17008
  experiments: {
16929
17009
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
16930
17010
  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}'
16931
- },
16932
- "cascade-include-ephemeral-message": {
16933
- stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["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- 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: ...'."
16937
- },
16938
- template__system_prompts__planning_mode_artifacts: {
16939
- 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"
16940
17011
  }
16941
17012
  }
16942
17013
  }
16943
17014
  },
16944
- "gemini-3.1-pro-high": {
16945
- displayName: "Gemini 3.1 Pro (High)",
17015
+ "gemini-3.7-flash-high": {
17016
+ displayName: "Gemini 3.7 Flash (High)",
16946
17017
  supportsImages: true,
16947
17018
  supportsThinking: true,
16948
- thinkingBudget: 10001,
16949
- minThinkingBudget: 128,
17019
+ thinkingBudget: -1,
17020
+ minThinkingBudget: 32,
16950
17021
  recommended: true,
16951
17022
  maxTokens: 1048576,
16952
- maxOutputTokens: 65535,
17023
+ maxOutputTokens: 65536,
16953
17024
  quotaInfo: {
16954
- remainingFraction: 0.4676585,
16955
- resetTime: "2026-08-18T09:37:04Z"
17025
+ remainingFraction: 0.9501093,
17026
+ resetTime: "2026-08-19T10:09:43Z"
16956
17027
  },
16957
- model: "MODEL_PLACEHOLDER_M37",
17028
+ model: "MODEL_PLACEHOLDER_M298",
16958
17029
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
16959
17030
  modelProvider: "MODEL_PROVIDER_GOOGLE",
16960
17031
  supportsVideo: true,
16961
- tagTitle: "New",
17032
+ tagTitle: "Fast",
17033
+ tagDescription: "Limited time",
16962
17034
  supportedMimeTypes: {
16963
17035
  "video/text/timestamp": true,
16964
- "text/plain": true,
16965
- "application/json": true,
16966
- "text/xml": true,
16967
- "video/audio/s16le": true,
16968
- "application/rtf": true,
16969
17036
  "application/x-ipynb+json": true,
16970
- "text/html": true,
16971
- "video/videoframe/jpeg2000": true,
16972
- "application/x-python-code": true,
16973
- "text/x-python": true,
16974
- "text/csv": true,
16975
- "video/mp4": true,
16976
- "video/audio/wav": true,
16977
- "application/x-typescript": true,
16978
- "video/webm": true,
16979
- "image/heic": true,
17037
+ "text/markdown": true,
16980
17038
  "text/javascript": true,
16981
- "image/jpeg": true,
16982
- "image/png": true,
16983
- "text/x-typescript": true,
17039
+ "application/json": true,
16984
17040
  "text/x-python-script": true,
16985
- "image/heif": true,
16986
17041
  "text/rtf": true,
16987
- "video/jpeg2000": true,
16988
- "text/css": true,
17042
+ "video/webm": true,
17043
+ "application/x-typescript": true,
17044
+ "text/csv": true,
17045
+ "application/rtf": true,
17046
+ "text/plain": true,
17047
+ "video/audio/s16le": true,
17048
+ "image/png": true,
16989
17049
  "application/x-javascript": true,
16990
- "text/markdown": true,
17050
+ "text/x-typescript": true,
16991
17051
  "application/pdf": true,
17052
+ "video/jpeg2000": true,
17053
+ "video/videoframe/jpeg2000": true,
17054
+ "text/xml": true,
17055
+ "image/heic": true,
17056
+ "application/x-python-code": true,
17057
+ "image/jpeg": true,
17058
+ "text/css": true,
17059
+ "text/html": true,
16992
17060
  "audio/webm;codecs=opus": true,
17061
+ "video/audio/wav": true,
17062
+ "text/x-python": true,
17063
+ "video/mp4": true,
17064
+ "image/heif": true,
16993
17065
  "image/webp": true
16994
17066
  },
16995
17067
  modelExperiments: {
16996
17068
  experiments: {
16997
- "cascade-include-ephemeral-message": {
16998
- stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
16999
- },
17000
- template__system_prompts__communication_style: {
17001
- 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: ...'."
17069
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17070
+ 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}'
17002
17071
  },
17003
- template__system_prompts__planning_mode_artifacts: {
17004
- 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"
17072
+ "cascade-include-ephemeral-message": {
17073
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17005
17074
  },
17006
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17007
- 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}'
17075
+ "task-details-suffix": {
17076
+ 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."
17008
17077
  }
17009
17078
  }
17010
17079
  }
17011
17080
  },
17012
- "gpt-oss-120b-medium": {
17013
- displayName: "GPT-OSS 120B (Medium)",
17014
- supportsThinking: true,
17015
- thinkingBudget: 8192,
17016
- recommended: true,
17017
- maxTokens: 131072,
17018
- maxOutputTokens: 32768,
17019
- quotaInfo: {
17020
- remainingFraction: 1,
17021
- resetTime: "2026-08-18T13:22:52Z"
17022
- },
17023
- model: "MODEL_OPENAI_GPT_OSS_120B_MEDIUM",
17024
- apiProvider: "API_PROVIDER_OPENAI_VERTEX",
17025
- modelProvider: "MODEL_PROVIDER_OPENAI",
17026
- modelExperiments: {
17027
- experiments: {
17028
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17029
- 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}'
17030
- }
17031
- }
17032
- },
17033
- vertexModelId: "openai/gpt-oss-120b-maas"
17034
- },
17035
- "gemini-3.6-flash-tiered": {
17081
+ "gemini-3-flash-agent": {
17082
+ displayName: "Gemini 3.5 Flash (High)",
17036
17083
  supportsImages: true,
17037
17084
  supportsThinking: true,
17038
17085
  thinkingBudget: -1,
@@ -17041,120 +17088,119 @@ var models_default = {
17041
17088
  maxTokens: 1048576,
17042
17089
  maxOutputTokens: 65536,
17043
17090
  quotaInfo: {
17044
- remainingFraction: 0.4676585,
17045
- resetTime: "2026-08-18T09:37:04Z"
17091
+ remainingFraction: 0.9501093,
17092
+ resetTime: "2026-08-19T10:09:43Z"
17046
17093
  },
17047
- model: "MODEL_PLACEHOLDER_M196",
17094
+ model: "MODEL_PLACEHOLDER_M84",
17048
17095
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17049
17096
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17050
17097
  supportsVideo: true,
17098
+ tagTitle: "Fast",
17099
+ tagDescription: "Limited time",
17051
17100
  supportedMimeTypes: {
17052
- "text/html": true,
17053
- "text/css": true,
17054
- "image/png": true,
17055
- "text/xml": true,
17056
- "application/x-javascript": true,
17057
- "image/heic": true,
17058
- "image/heif": true,
17101
+ "video/jpeg2000": true,
17102
+ "application/x-python-code": true,
17103
+ "text/javascript": true,
17104
+ "text/csv": true,
17059
17105
  "text/rtf": true,
17106
+ "text/x-python-script": true,
17060
17107
  "video/text/timestamp": true,
17108
+ "application/rtf": true,
17109
+ "video/webm": true,
17110
+ "text/html": true,
17061
17111
  "text/x-typescript": true,
17062
17112
  "video/videoframe/jpeg2000": true,
17063
- "image/webp": true,
17064
- "application/json": true,
17065
- "text/javascript": true,
17113
+ "image/jpeg": true,
17114
+ "image/heic": true,
17066
17115
  "text/plain": true,
17067
17116
  "application/x-typescript": true,
17068
- "video/webm": true,
17069
- "application/pdf": true,
17070
- "application/x-python-code": true,
17117
+ "text/x-python": true,
17118
+ "application/json": true,
17071
17119
  "application/x-ipynb+json": true,
17072
- "video/audio/s16le": true,
17073
- "audio/webm;codecs=opus": true,
17074
- "video/mp4": true,
17075
17120
  "text/markdown": true,
17076
- "video/jpeg2000": true,
17077
- "image/jpeg": true,
17078
- "text/csv": true,
17079
- "application/rtf": true,
17080
- "text/x-python": true,
17081
- "text/x-python-script": true,
17082
- "video/audio/wav": true
17121
+ "application/pdf": true,
17122
+ "text/css": true,
17123
+ "text/xml": true,
17124
+ "video/mp4": true,
17125
+ "video/audio/wav": true,
17126
+ "application/x-javascript": true,
17127
+ "video/audio/s16le": true,
17128
+ "image/heif": true,
17129
+ "image/webp": true,
17130
+ "image/png": true,
17131
+ "audio/webm;codecs=opus": true
17083
17132
  },
17084
17133
  modelExperiments: {
17085
17134
  experiments: {
17086
17135
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17087
17136
  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}'
17088
17137
  },
17089
- "cascade-include-ephemeral-message": {
17090
- stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17091
- },
17092
- template__system_prompts__communication_style: {
17093
- 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"
17094
- },
17095
- template__system_prompts__guidelines: {
17096
- 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"
17097
- },
17098
- template__system_prompts__messaging: {
17099
- 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."
17138
+ template__system_prompts__planning_mode_artifacts: {
17139
+ 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"
17100
17140
  }
17101
17141
  }
17102
17142
  }
17103
17143
  },
17104
- "gemini-3.6-flash-high": {
17105
- displayName: "Gemini 3.6 Flash (High)",
17144
+ "gemini-3.6-flash-medium": {
17145
+ displayName: "Gemini 3.6 Flash (Medium)",
17106
17146
  supportsImages: true,
17107
17147
  supportsThinking: true,
17108
- thinkingBudget: -1,
17148
+ thinkingBudget: 4e3,
17109
17149
  minThinkingBudget: 32,
17110
17150
  recommended: true,
17111
17151
  maxTokens: 1048576,
17112
17152
  maxOutputTokens: 65536,
17113
17153
  quotaInfo: {
17114
- remainingFraction: 0.4676585,
17115
- resetTime: "2026-08-18T09:37:04Z"
17154
+ remainingFraction: 0.9501093,
17155
+ resetTime: "2026-08-19T10:09:43Z"
17116
17156
  },
17117
- model: "MODEL_PLACEHOLDER_M71",
17157
+ model: "MODEL_PLACEHOLDER_M72",
17118
17158
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17119
17159
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17120
17160
  supportsVideo: true,
17121
17161
  tagTitle: "Fast",
17122
17162
  tagDescription: "Limited time",
17123
17163
  supportedMimeTypes: {
17124
- "text/x-python": true,
17164
+ "application/x-typescript": true,
17165
+ "text/html": true,
17125
17166
  "text/plain": true,
17126
- "application/x-javascript": true,
17127
- "video/audio/wav": true,
17167
+ "text/xml": true,
17168
+ "audio/webm;codecs=opus": true,
17169
+ "image/heif": true,
17128
17170
  "application/rtf": true,
17129
- "text/javascript": true,
17171
+ "video/text/timestamp": true,
17172
+ "text/x-python-script": true,
17173
+ "application/x-javascript": true,
17174
+ "application/json": true,
17175
+ "text/css": true,
17130
17176
  "image/png": true,
17131
- "text/html": true,
17132
- "image/heif": true,
17133
- "application/pdf": true,
17134
- "video/jpeg2000": true,
17177
+ "image/webp": true,
17178
+ "text/javascript": true,
17179
+ "application/x-ipynb+json": true,
17180
+ "text/markdown": true,
17135
17181
  "text/x-typescript": true,
17182
+ "video/audio/s16le": true,
17183
+ "video/audio/wav": true,
17136
17184
  "text/rtf": true,
17137
- "text/css": true,
17138
- "application/x-ipynb+json": true,
17139
- "application/x-typescript": true,
17140
- "image/jpeg": true,
17141
- "application/x-python-code": true,
17142
- "image/webp": true,
17143
- "video/text/timestamp": true,
17185
+ "video/videoframe/jpeg2000": true,
17186
+ "video/jpeg2000": true,
17144
17187
  "video/webm": true,
17145
- "audio/webm;codecs=opus": true,
17188
+ "application/pdf": true,
17146
17189
  "video/mp4": true,
17147
- "image/heic": true,
17148
- "application/json": true,
17149
- "video/audio/s16le": true,
17150
- "text/markdown": true,
17151
- "text/xml": true,
17152
- "video/videoframe/jpeg2000": true,
17153
17190
  "text/csv": true,
17154
- "text/x-python-script": true
17191
+ "image/heic": true,
17192
+ "text/x-python": true,
17193
+ "image/jpeg": true,
17194
+ "application/x-python-code": true
17155
17195
  },
17156
17196
  modelExperiments: {
17157
17197
  experiments: {
17198
+ template__system_prompts__guidelines: {
17199
+ 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"
17200
+ },
17201
+ template__system_prompts__messaging: {
17202
+ 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."
17203
+ },
17158
17204
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17159
17205
  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}'
17160
17206
  },
@@ -17163,143 +17209,97 @@ var models_default = {
17163
17209
  },
17164
17210
  template__system_prompts__communication_style: {
17165
17211
  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"
17166
- },
17167
- template__system_prompts__guidelines: {
17168
- 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"
17169
- },
17170
- template__system_prompts__messaging: {
17171
- 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."
17172
17212
  }
17173
17213
  }
17174
17214
  }
17175
17215
  },
17176
- "gemini-pro-agent": {
17177
- displayName: "Gemini 3.1 Pro (High)",
17216
+ "gemini-3.6-flash-tiered": {
17178
17217
  supportsImages: true,
17179
17218
  supportsThinking: true,
17180
- thinkingBudget: 10001,
17181
- minThinkingBudget: 128,
17219
+ thinkingBudget: -1,
17220
+ minThinkingBudget: 32,
17182
17221
  recommended: true,
17183
17222
  maxTokens: 1048576,
17184
- maxOutputTokens: 65535,
17223
+ maxOutputTokens: 65536,
17185
17224
  quotaInfo: {
17186
- remainingFraction: 0.4676585,
17187
- resetTime: "2026-08-18T09:37:04Z"
17225
+ remainingFraction: 0.9501093,
17226
+ resetTime: "2026-08-19T10:09:43Z"
17188
17227
  },
17189
- model: "MODEL_PLACEHOLDER_M16",
17228
+ model: "MODEL_PLACEHOLDER_M196",
17190
17229
  apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17191
17230
  modelProvider: "MODEL_PROVIDER_GOOGLE",
17192
17231
  supportsVideo: true,
17193
17232
  supportedMimeTypes: {
17194
- "video/jpeg2000": true,
17195
- "image/heif": true,
17196
- "text/plain": true,
17233
+ "text/x-python-script": true,
17197
17234
  "audio/webm;codecs=opus": true,
17235
+ "image/webp": true,
17236
+ "video/jpeg2000": true,
17237
+ "image/png": true,
17198
17238
  "text/css": true,
17239
+ "text/rtf": true,
17240
+ "text/xml": true,
17241
+ "image/heif": true,
17199
17242
  "text/x-typescript": true,
17243
+ "application/x-javascript": true,
17244
+ "application/x-typescript": true,
17245
+ "text/markdown": true,
17246
+ "application/x-ipynb+json": true,
17247
+ "image/heic": true,
17248
+ "application/x-python-code": true,
17200
17249
  "application/json": true,
17250
+ "image/jpeg": true,
17201
17251
  "video/text/timestamp": true,
17202
- "text/xml": true,
17203
- "application/x-typescript": true,
17204
- "application/rtf": true,
17205
- "video/mp4": true,
17206
17252
  "video/webm": true,
17253
+ "text/csv": true,
17254
+ "application/pdf": true,
17255
+ "video/videoframe/jpeg2000": true,
17207
17256
  "video/audio/s16le": true,
17208
- "application/x-javascript": true,
17209
- "text/javascript": true,
17210
- "text/markdown": true,
17211
17257
  "text/x-python": true,
17212
- "text/x-python-script": true,
17213
- "image/jpeg": true,
17258
+ "text/plain": true,
17259
+ "application/rtf": true,
17214
17260
  "video/audio/wav": true,
17215
- "application/pdf": true,
17216
- "video/videoframe/jpeg2000": true,
17217
- "application/x-python-code": true,
17218
- "application/x-ipynb+json": true,
17219
- "image/heic": true,
17220
17261
  "text/html": true,
17221
- "image/png": true,
17222
- "text/csv": true,
17223
- "image/webp": true,
17224
- "text/rtf": true
17262
+ "video/mp4": true,
17263
+ "text/javascript": true
17225
17264
  },
17226
17265
  modelExperiments: {
17227
17266
  experiments: {
17228
- template__system_prompts__planning_mode_artifacts: {
17229
- 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"
17230
- },
17231
- CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17232
- 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}'
17233
- },
17234
17267
  "cascade-include-ephemeral-message": {
17235
- stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17268
+ stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
17236
17269
  },
17237
17270
  template__system_prompts__communication_style: {
17238
- 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: ...'."
17271
+ 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"
17272
+ },
17273
+ template__system_prompts__guidelines: {
17274
+ 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"
17275
+ },
17276
+ template__system_prompts__messaging: {
17277
+ 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."
17278
+ },
17279
+ CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17280
+ 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}'
17239
17281
  }
17240
17282
  }
17241
17283
  }
17242
17284
  },
17243
- "claude-sonnet-4-6": {
17244
- displayName: "Claude Sonnet 4.6 (Thinking)",
17245
- supportsImages: true,
17246
- supportsThinking: true,
17247
- thinkingBudget: 1024,
17248
- recommended: true,
17249
- maxTokens: 25e4,
17250
- maxOutputTokens: 64e3,
17285
+ "gemini-2.5-flash-thinking": {
17286
+ displayName: "Gemini 3.1 Flash Lite",
17287
+ maxTokens: 1048576,
17288
+ maxOutputTokens: 65535,
17251
17289
  quotaInfo: {
17252
- remainingFraction: 1,
17253
- resetTime: "2026-08-18T13:22:52Z"
17254
- },
17255
- model: "MODEL_PLACEHOLDER_M35",
17256
- apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
17257
- modelProvider: "MODEL_PROVIDER_ANTHROPIC",
17258
- supportedMimeTypes: {
17259
- "image/jpeg": true,
17260
- "image/png": true,
17261
- "image/webp": true,
17262
- "video/jpeg2000": true,
17263
- "video/videoframe/jpeg2000": true,
17264
- "image/heic": true,
17265
- "image/heif": true
17290
+ remainingFraction: 0.9501093,
17291
+ resetTime: "2026-08-19T10:09:43Z"
17266
17292
  },
17293
+ model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING",
17294
+ apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17295
+ modelProvider: "MODEL_PROVIDER_GOOGLE",
17267
17296
  modelExperiments: {
17268
17297
  experiments: {
17269
17298
  CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
17270
- 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}'
17271
- },
17272
- template__system_prompts__planning_mode_artifacts: {
17273
- 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"
17299
+ 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}'
17274
17300
  }
17275
17301
  }
17276
- },
17277
- vertexModelId: "claude-sonnet-4-6@default"
17278
- },
17279
- chat_23310: {
17280
- maxTokens: 32768,
17281
- quotaInfo: {
17282
- remainingFraction: 1
17283
- },
17284
- model: "MODEL_CHAT_23310",
17285
- apiProvider: "API_PROVIDER_INTERNAL",
17286
- modelProvider: "MODEL_PROVIDER_GOOGLE",
17287
- supportsCumulativeContext: true,
17288
- supportsEstimateTokenCounter: true,
17289
- isInternal: true,
17290
- promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
17291
- toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
17292
- requiresLeadInGeneration: true
17293
- },
17294
- "gemini-3.1-flash-image": {
17295
- displayName: "Gemini 3.1 Flash Image",
17296
- quotaInfo: {
17297
- remainingFraction: 0.4676585,
17298
- resetTime: "2026-08-18T09:37:04Z"
17299
- },
17300
- model: "MODEL_PLACEHOLDER_M21",
17301
- apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
17302
- modelProvider: "MODEL_PROVIDER_GOOGLE"
17302
+ }
17303
17303
  }
17304
17304
  },
17305
17305
  defaultAgentModelId: "gemini-3.7-flash-high",
@@ -17358,7 +17358,7 @@ var models_default = {
17358
17358
  "models/proactive-observer-v10"
17359
17359
  ],
17360
17360
  experimentIds: [
17361
- 106140402,
17361
+ 106581054,
17362
17362
  105979552,
17363
17363
  105979574,
17364
17364
  106015333,
@@ -17389,8 +17389,6 @@ var models_default = {
17389
17389
  106278607,
17390
17390
  106538964,
17391
17391
  106512082,
17392
- 106584316,
17393
- 106584318,
17394
17392
  106380926,
17395
17393
  106212376,
17396
17394
  106281951,