@anthonyhaussman/opencode-agy-auth 1.1.19-alpha.0 → 1.1.19-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -13
- package/dist/index.js +1264 -1361
- package/dist/index.js.map +1 -1
- package/dist/src/constants.d.ts +2 -2
- package/package.json +1 -1
- package/dist/src/sdk/credentials.d.ts +0 -10
package/dist/index.js
CHANGED
|
@@ -102,106 +102,10 @@ function updateStaticModelsWithPricing(staticModels) {
|
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
// src/sdk/credentials.ts
|
|
106
|
-
import { execSync } from "child_process";
|
|
107
|
-
import { existsSync as existsSync2, readFileSync as readFileSync2, realpathSync } from "fs";
|
|
108
|
-
import { homedir } from "os";
|
|
109
|
-
import { join as join2 } from "path";
|
|
110
|
-
var cachedCredentials = null;
|
|
111
|
-
function findAgyBinary() {
|
|
112
|
-
if (process.env.AGY_BIN_PATH && existsSync2(process.env.AGY_BIN_PATH)) {
|
|
113
|
-
try {
|
|
114
|
-
return realpathSync(process.env.AGY_BIN_PATH);
|
|
115
|
-
} catch {
|
|
116
|
-
return process.env.AGY_BIN_PATH;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
try {
|
|
120
|
-
const which = execSync("which agy 2>/dev/null || which antigravity 2>/dev/null", {
|
|
121
|
-
encoding: "utf8",
|
|
122
|
-
stdio: ["pipe", "pipe", "ignore"]
|
|
123
|
-
}).trim();
|
|
124
|
-
if (which && existsSync2(which)) {
|
|
125
|
-
return realpathSync(which);
|
|
126
|
-
}
|
|
127
|
-
} catch {
|
|
128
|
-
}
|
|
129
|
-
const home = homedir();
|
|
130
|
-
const candidatePaths = [
|
|
131
|
-
join2(home, ".local/share/mise/installs/antigravity-cli/latest/agy"),
|
|
132
|
-
join2(home, ".local/share/mise/installs/antigravity-cli/latest/antigravity"),
|
|
133
|
-
join2(home, ".local/bin/agy"),
|
|
134
|
-
join2(home, ".local/bin/antigravity"),
|
|
135
|
-
join2(home, "bin/agy"),
|
|
136
|
-
join2(home, "bin/antigravity"),
|
|
137
|
-
"/usr/local/bin/agy",
|
|
138
|
-
"/usr/local/bin/antigravity",
|
|
139
|
-
"/usr/bin/agy",
|
|
140
|
-
"/usr/bin/antigravity"
|
|
141
|
-
];
|
|
142
|
-
for (const candidate of candidatePaths) {
|
|
143
|
-
if (existsSync2(candidate)) {
|
|
144
|
-
try {
|
|
145
|
-
return realpathSync(candidate);
|
|
146
|
-
} catch {
|
|
147
|
-
return candidate;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
return null;
|
|
152
|
-
}
|
|
153
|
-
function extractAgyCredentialsFromBinary(binaryPath) {
|
|
154
|
-
try {
|
|
155
|
-
const buffer = readFileSync2(binaryPath);
|
|
156
|
-
const content = buffer.toString("latin1");
|
|
157
|
-
const clientIds = [...new Set(content.match(/[0-9]+-[a-z0-9_]+\.apps\.googleusercontent\.com/g) || [])];
|
|
158
|
-
const clientSecrets = [...new Set(content.match(/GOCSPX-[A-Za-z0-9_-]{28}/g) || [])];
|
|
159
|
-
if (clientIds.length === 0 || clientSecrets.length === 0) {
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
const preferredClientId = clientIds.find((id) => id.startsWith("1071")) || clientIds[clientIds.length - 1];
|
|
163
|
-
const preferredClientSecret = clientSecrets[0];
|
|
164
|
-
if (!preferredClientId || !preferredClientSecret) {
|
|
165
|
-
return null;
|
|
166
|
-
}
|
|
167
|
-
return {
|
|
168
|
-
clientId: preferredClientId,
|
|
169
|
-
clientSecret: preferredClientSecret
|
|
170
|
-
};
|
|
171
|
-
} catch {
|
|
172
|
-
return null;
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
function getAgyCredentials() {
|
|
176
|
-
const envClientId = process.env.AGY_CLIENT_ID || process.env.GOOGLE_AGY_CLIENT_ID;
|
|
177
|
-
const envClientSecret = process.env.AGY_CLIENT_SECRET || process.env.GOOGLE_AGY_CLIENT_SECRET;
|
|
178
|
-
if (envClientId && envClientSecret) {
|
|
179
|
-
return { clientId: envClientId, clientSecret: envClientSecret };
|
|
180
|
-
}
|
|
181
|
-
if (cachedCredentials) {
|
|
182
|
-
return cachedCredentials;
|
|
183
|
-
}
|
|
184
|
-
const binaryPath = findAgyBinary();
|
|
185
|
-
if (binaryPath) {
|
|
186
|
-
const extracted = extractAgyCredentialsFromBinary(binaryPath);
|
|
187
|
-
if (extracted) {
|
|
188
|
-
cachedCredentials = extracted;
|
|
189
|
-
return extracted;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
throw new Error(
|
|
193
|
-
'Antigravity OAuth credentials not found. Ensure the "agy" CLI is installed and in PATH, or set the AGY_CLIENT_ID and AGY_CLIENT_SECRET environment variables.'
|
|
194
|
-
);
|
|
195
|
-
}
|
|
196
|
-
function getAgyClientId() {
|
|
197
|
-
return getAgyCredentials().clientId;
|
|
198
|
-
}
|
|
199
|
-
function getAgyClientSecret() {
|
|
200
|
-
return getAgyCredentials().clientSecret;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
105
|
// src/constants.ts
|
|
204
106
|
var AGY_PROVIDER_ID = "google-agy";
|
|
107
|
+
var AGY_CLIENT_ID = "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com";
|
|
108
|
+
var AGY_CLIENT_SECRET = "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";
|
|
205
109
|
var AGY_SCOPES = [
|
|
206
110
|
"openid",
|
|
207
111
|
"https://www.googleapis.com/auth/cloud-platform",
|
|
@@ -290,7 +194,7 @@ async function authorizeAgy() {
|
|
|
290
194
|
const pkce = await generatePKCE();
|
|
291
195
|
const state = randomBytes(32).toString("hex");
|
|
292
196
|
const url2 = new URL("https://accounts.google.com/o/oauth2/v2/auth");
|
|
293
|
-
url2.searchParams.set("client_id",
|
|
197
|
+
url2.searchParams.set("client_id", AGY_CLIENT_ID);
|
|
294
198
|
url2.searchParams.set("response_type", "code");
|
|
295
199
|
url2.searchParams.set("redirect_uri", AGY_REDIRECT_URI);
|
|
296
200
|
url2.searchParams.set("scope", AGY_SCOPES.join(" "));
|
|
@@ -323,8 +227,8 @@ async function exchangeAgyWithVerifierInternal(code, verifier) {
|
|
|
323
227
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
324
228
|
},
|
|
325
229
|
body: new URLSearchParams({
|
|
326
|
-
client_id:
|
|
327
|
-
client_secret:
|
|
230
|
+
client_id: AGY_CLIENT_ID,
|
|
231
|
+
client_secret: AGY_CLIENT_SECRET,
|
|
328
232
|
code,
|
|
329
233
|
grant_type: "authorization_code",
|
|
330
234
|
redirect_uri: AGY_REDIRECT_URI,
|
|
@@ -816,29 +720,29 @@ function clampDelay(delayMs) {
|
|
|
816
720
|
}
|
|
817
721
|
|
|
818
722
|
// src/sdk/retry/cooldown-store.ts
|
|
819
|
-
import { existsSync as
|
|
820
|
-
import { join as
|
|
821
|
-
import { homedir
|
|
723
|
+
import { existsSync as existsSync2, mkdirSync, readFileSync as readFileSync2, writeFileSync as writeFileSync2, renameSync, unlinkSync } from "fs";
|
|
724
|
+
import { join as join2, dirname } from "path";
|
|
725
|
+
import { homedir, tmpdir as tmpdir2 } from "os";
|
|
822
726
|
var WRITE_THROTTLE_MS = 5e3;
|
|
823
727
|
function getConfigDir() {
|
|
824
728
|
const platform2 = process.platform;
|
|
825
729
|
if (platform2 === "win32") {
|
|
826
|
-
return
|
|
730
|
+
return join2(process.env.APPDATA || join2(homedir(), "AppData", "Roaming"), "opencode");
|
|
827
731
|
}
|
|
828
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME ||
|
|
829
|
-
return
|
|
732
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join2(homedir(), ".config");
|
|
733
|
+
return join2(xdgConfig, "opencode");
|
|
830
734
|
}
|
|
831
735
|
function getCooldownFilePath() {
|
|
832
|
-
return
|
|
736
|
+
return join2(getConfigDir(), "antigravity-retry-cooldowns.json");
|
|
833
737
|
}
|
|
834
738
|
function loadCooldowns() {
|
|
835
739
|
const result = /* @__PURE__ */ new Map();
|
|
836
740
|
try {
|
|
837
741
|
const filePath = getCooldownFilePath();
|
|
838
|
-
if (!
|
|
742
|
+
if (!existsSync2(filePath)) {
|
|
839
743
|
return result;
|
|
840
744
|
}
|
|
841
|
-
const content =
|
|
745
|
+
const content = readFileSync2(filePath, "utf-8");
|
|
842
746
|
const data = JSON.parse(content);
|
|
843
747
|
if (data.version !== "1.0") {
|
|
844
748
|
return result;
|
|
@@ -857,7 +761,7 @@ function saveCooldowns(entries) {
|
|
|
857
761
|
try {
|
|
858
762
|
const filePath = getCooldownFilePath();
|
|
859
763
|
const dir = dirname(filePath);
|
|
860
|
-
if (!
|
|
764
|
+
if (!existsSync2(dir)) {
|
|
861
765
|
mkdirSync(dir, { recursive: true });
|
|
862
766
|
}
|
|
863
767
|
const now = Date.now();
|
|
@@ -872,12 +776,12 @@ function saveCooldowns(entries) {
|
|
|
872
776
|
entries: serializable,
|
|
873
777
|
updatedAt: now
|
|
874
778
|
};
|
|
875
|
-
const tmpPath =
|
|
779
|
+
const tmpPath = join2(tmpdir2(), `antigravity-cooldowns-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`);
|
|
876
780
|
writeFileSync2(tmpPath, JSON.stringify(data), "utf-8");
|
|
877
781
|
try {
|
|
878
782
|
renameSync(tmpPath, filePath);
|
|
879
783
|
} catch {
|
|
880
|
-
writeFileSync2(filePath,
|
|
784
|
+
writeFileSync2(filePath, readFileSync2(tmpPath));
|
|
881
785
|
try {
|
|
882
786
|
unlinkSync(tmpPath);
|
|
883
787
|
} catch {
|
|
@@ -1743,27 +1647,27 @@ function openBrowserUrl(url2) {
|
|
|
1743
1647
|
import { createHash } from "crypto";
|
|
1744
1648
|
|
|
1745
1649
|
// src/sdk/cache/signature-cache.ts
|
|
1746
|
-
import { existsSync as
|
|
1747
|
-
import { join as
|
|
1748
|
-
import { homedir as
|
|
1650
|
+
import { existsSync as existsSync3, mkdirSync as mkdirSync2, readFileSync as readFileSync3, writeFileSync as writeFileSync3, renameSync as renameSync2, unlinkSync as unlinkSync2, appendFileSync } from "fs";
|
|
1651
|
+
import { join as join3, dirname as dirname2 } from "path";
|
|
1652
|
+
import { homedir as homedir2, tmpdir as tmpdir3 } from "os";
|
|
1749
1653
|
function getConfigDir2() {
|
|
1750
1654
|
const platform2 = process.platform;
|
|
1751
1655
|
if (platform2 === "win32") {
|
|
1752
|
-
return
|
|
1656
|
+
return join3(process.env.APPDATA || join3(homedir2(), "AppData", "Roaming"), "opencode");
|
|
1753
1657
|
}
|
|
1754
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME ||
|
|
1755
|
-
return
|
|
1658
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join3(homedir2(), ".config");
|
|
1659
|
+
return join3(xdgConfig, "opencode");
|
|
1756
1660
|
}
|
|
1757
1661
|
function getCacheFilePath() {
|
|
1758
|
-
return
|
|
1662
|
+
return join3(getConfigDir2(), "antigravity-signature-cache.json");
|
|
1759
1663
|
}
|
|
1760
1664
|
function ensureGitignoreSync(configDir) {
|
|
1761
|
-
const gitignorePath =
|
|
1665
|
+
const gitignorePath = join3(configDir, ".gitignore");
|
|
1762
1666
|
const entries = [".gitignore", "antigravity-signature-cache.json"];
|
|
1763
1667
|
try {
|
|
1764
1668
|
let content = "";
|
|
1765
|
-
if (
|
|
1766
|
-
content =
|
|
1669
|
+
if (existsSync3(gitignorePath)) {
|
|
1670
|
+
content = readFileSync3(gitignorePath, "utf-8");
|
|
1767
1671
|
}
|
|
1768
1672
|
const existingLines = content.split("\n").map((line) => line.trim());
|
|
1769
1673
|
const missing = entries.filter((e) => !existingLines.includes(e));
|
|
@@ -1945,10 +1849,10 @@ var SignatureCache = class {
|
|
|
1945
1849
|
*/
|
|
1946
1850
|
loadFromDisk() {
|
|
1947
1851
|
try {
|
|
1948
|
-
if (!
|
|
1852
|
+
if (!existsSync3(this.cacheFilePath)) {
|
|
1949
1853
|
return;
|
|
1950
1854
|
}
|
|
1951
|
-
const content =
|
|
1855
|
+
const content = readFileSync3(this.cacheFilePath, "utf-8");
|
|
1952
1856
|
const data = JSON.parse(content);
|
|
1953
1857
|
if (data.version !== "1.0") {
|
|
1954
1858
|
return;
|
|
@@ -1976,15 +1880,15 @@ var SignatureCache = class {
|
|
|
1976
1880
|
saveToDisk() {
|
|
1977
1881
|
try {
|
|
1978
1882
|
const dir = dirname2(this.cacheFilePath);
|
|
1979
|
-
if (!
|
|
1883
|
+
if (!existsSync3(dir)) {
|
|
1980
1884
|
mkdirSync2(dir, { recursive: true });
|
|
1981
1885
|
}
|
|
1982
1886
|
ensureGitignoreSync(dir);
|
|
1983
1887
|
const now = Date.now();
|
|
1984
1888
|
let existingEntries = {};
|
|
1985
|
-
if (
|
|
1889
|
+
if (existsSync3(this.cacheFilePath)) {
|
|
1986
1890
|
try {
|
|
1987
|
-
const content =
|
|
1891
|
+
const content = readFileSync3(this.cacheFilePath, "utf-8");
|
|
1988
1892
|
const data = JSON.parse(content);
|
|
1989
1893
|
existingEntries = data.entries || {};
|
|
1990
1894
|
} catch {
|
|
@@ -2020,12 +1924,12 @@ var SignatureCache = class {
|
|
|
2020
1924
|
last_write: now
|
|
2021
1925
|
}
|
|
2022
1926
|
};
|
|
2023
|
-
const tmpPath =
|
|
1927
|
+
const tmpPath = join3(tmpdir3(), `antigravity-cache-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`);
|
|
2024
1928
|
writeFileSync3(tmpPath, JSON.stringify(cacheData, null, 2), "utf-8");
|
|
2025
1929
|
try {
|
|
2026
1930
|
renameSync2(tmpPath, this.cacheFilePath);
|
|
2027
1931
|
} catch {
|
|
2028
|
-
writeFileSync3(this.cacheFilePath,
|
|
1932
|
+
writeFileSync3(this.cacheFilePath, readFileSync3(tmpPath));
|
|
2029
1933
|
try {
|
|
2030
1934
|
unlinkSync2(tmpPath);
|
|
2031
1935
|
} catch {
|
|
@@ -2179,9 +2083,9 @@ function getLatestSignature(sessionId) {
|
|
|
2179
2083
|
}
|
|
2180
2084
|
|
|
2181
2085
|
// src/sdk/request/turn-state-tracker.ts
|
|
2182
|
-
import { existsSync as
|
|
2183
|
-
import { join as
|
|
2184
|
-
import { homedir as
|
|
2086
|
+
import { existsSync as existsSync4, mkdirSync as mkdirSync3, readFileSync as readFileSync4, writeFileSync as writeFileSync4, renameSync as renameSync3, unlinkSync as unlinkSync3 } from "fs";
|
|
2087
|
+
import { join as join4, dirname as dirname3 } from "path";
|
|
2088
|
+
import { homedir as homedir3, tmpdir as tmpdir4 } from "os";
|
|
2185
2089
|
|
|
2186
2090
|
// src/sdk/request/thinking.ts
|
|
2187
2091
|
import { createHash as createHash2 } from "crypto";
|
|
@@ -2604,22 +2508,22 @@ var WRITE_THROTTLE_MS2 = 5e3;
|
|
|
2604
2508
|
function getConfigDir3() {
|
|
2605
2509
|
const platform2 = process.platform;
|
|
2606
2510
|
if (platform2 === "win32") {
|
|
2607
|
-
return
|
|
2511
|
+
return join4(process.env.APPDATA || join4(homedir3(), "AppData", "Roaming"), "opencode");
|
|
2608
2512
|
}
|
|
2609
|
-
const xdgConfig = process.env.XDG_CONFIG_HOME ||
|
|
2610
|
-
return
|
|
2513
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME || join4(homedir3(), ".config");
|
|
2514
|
+
return join4(xdgConfig, "opencode");
|
|
2611
2515
|
}
|
|
2612
2516
|
function getTurnStateFilePath() {
|
|
2613
|
-
return
|
|
2517
|
+
return join4(getConfigDir3(), "antigravity-turn-states.json");
|
|
2614
2518
|
}
|
|
2615
2519
|
function loadTurnStatesFromDisk() {
|
|
2616
2520
|
const result = /* @__PURE__ */ new Map();
|
|
2617
2521
|
try {
|
|
2618
2522
|
const filePath = getTurnStateFilePath();
|
|
2619
|
-
if (!
|
|
2523
|
+
if (!existsSync4(filePath)) {
|
|
2620
2524
|
return result;
|
|
2621
2525
|
}
|
|
2622
|
-
const content =
|
|
2526
|
+
const content = readFileSync4(filePath, "utf-8");
|
|
2623
2527
|
const data = JSON.parse(content);
|
|
2624
2528
|
if (data.version !== "1.0") {
|
|
2625
2529
|
return result;
|
|
@@ -2639,7 +2543,7 @@ function saveTurnStatesToDisk(entries) {
|
|
|
2639
2543
|
try {
|
|
2640
2544
|
const filePath = getTurnStateFilePath();
|
|
2641
2545
|
const dir = dirname3(filePath);
|
|
2642
|
-
if (!
|
|
2546
|
+
if (!existsSync4(dir)) {
|
|
2643
2547
|
mkdirSync3(dir, { recursive: true });
|
|
2644
2548
|
}
|
|
2645
2549
|
const now = Date.now();
|
|
@@ -2655,12 +2559,12 @@ function saveTurnStatesToDisk(entries) {
|
|
|
2655
2559
|
entries: serializable,
|
|
2656
2560
|
updatedAt: now
|
|
2657
2561
|
};
|
|
2658
|
-
const tmpPath =
|
|
2562
|
+
const tmpPath = join4(tmpdir4(), `antigravity-turn-states-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`);
|
|
2659
2563
|
writeFileSync4(tmpPath, JSON.stringify(data), "utf-8");
|
|
2660
2564
|
try {
|
|
2661
2565
|
renameSync3(tmpPath, filePath);
|
|
2662
2566
|
} catch {
|
|
2663
|
-
writeFileSync4(filePath,
|
|
2567
|
+
writeFileSync4(filePath, readFileSync4(tmpPath));
|
|
2664
2568
|
try {
|
|
2665
2569
|
unlinkSync3(tmpPath);
|
|
2666
2570
|
} catch {
|
|
@@ -15317,8 +15221,8 @@ async function refreshAccessTokenInternal(auth, client, parts) {
|
|
|
15317
15221
|
}
|
|
15318
15222
|
async function fetchTokenRefresh(refreshToken) {
|
|
15319
15223
|
const tokenUrl = "https://oauth2.googleapis.com/token";
|
|
15320
|
-
const clientId =
|
|
15321
|
-
const clientSecret =
|
|
15224
|
+
const clientId = AGY_CLIENT_ID;
|
|
15225
|
+
const clientSecret = AGY_CLIENT_SECRET;
|
|
15322
15226
|
const init = {
|
|
15323
15227
|
method: "POST",
|
|
15324
15228
|
headers: {
|
|
@@ -16096,145 +16000,180 @@ import { randomUUID as randomUUID3 } from "crypto";
|
|
|
16096
16000
|
|
|
16097
16001
|
// models.json
|
|
16098
16002
|
var models_default = {
|
|
16003
|
+
agentModelSorts: [
|
|
16004
|
+
{
|
|
16005
|
+
displayName: "Recommended",
|
|
16006
|
+
groups: [
|
|
16007
|
+
{
|
|
16008
|
+
modelIds: [
|
|
16009
|
+
"gemini-3.7-flash-high",
|
|
16010
|
+
"gemini-3.7-flash-medium",
|
|
16011
|
+
"gemini-3.7-flash-low",
|
|
16012
|
+
"gemini-3.6-flash-high",
|
|
16013
|
+
"gemini-3.6-flash-medium",
|
|
16014
|
+
"gemini-3.6-flash-low",
|
|
16015
|
+
"gemini-3-flash-agent",
|
|
16016
|
+
"gemini-3.5-flash-low",
|
|
16017
|
+
"gemini-3.5-flash-extra-low",
|
|
16018
|
+
"gemini-pro-agent",
|
|
16019
|
+
"gemini-3.1-pro-low",
|
|
16020
|
+
"claude-sonnet-4-6",
|
|
16021
|
+
"claude-opus-4-6-thinking",
|
|
16022
|
+
"gpt-oss-120b-medium"
|
|
16023
|
+
]
|
|
16024
|
+
}
|
|
16025
|
+
]
|
|
16026
|
+
}
|
|
16027
|
+
],
|
|
16028
|
+
audioTranscriptionModelIds: [
|
|
16029
|
+
"models/proactive-observer-v10"
|
|
16030
|
+
],
|
|
16031
|
+
commandModelIds: [
|
|
16032
|
+
"gemini-3-flash"
|
|
16033
|
+
],
|
|
16034
|
+
commitMessageModelIds: [
|
|
16035
|
+
"gemini-3.1-flash-lite"
|
|
16036
|
+
],
|
|
16037
|
+
defaultAgentModelId: "gemini-3.7-flash-high",
|
|
16038
|
+
deprecatedModelIds: {
|
|
16039
|
+
"gemini-3.1-pro-high": {
|
|
16040
|
+
newModelEnum: "MODEL_PLACEHOLDER_M16",
|
|
16041
|
+
newModelId: "gemini-pro-agent",
|
|
16042
|
+
oldModelEnum: "MODEL_PLACEHOLDER_M37"
|
|
16043
|
+
}
|
|
16044
|
+
},
|
|
16045
|
+
experimentIds: [
|
|
16046
|
+
106140402,
|
|
16047
|
+
105979552,
|
|
16048
|
+
105979574,
|
|
16049
|
+
106015333,
|
|
16050
|
+
106568772,
|
|
16051
|
+
105867471,
|
|
16052
|
+
106548982,
|
|
16053
|
+
106123599,
|
|
16054
|
+
106076629,
|
|
16055
|
+
106121401,
|
|
16056
|
+
106100625,
|
|
16057
|
+
106143956,
|
|
16058
|
+
105879567,
|
|
16059
|
+
105856899,
|
|
16060
|
+
106312323,
|
|
16061
|
+
106064030,
|
|
16062
|
+
106567313,
|
|
16063
|
+
106396310,
|
|
16064
|
+
106470335,
|
|
16065
|
+
105757908,
|
|
16066
|
+
106106760,
|
|
16067
|
+
106021688,
|
|
16068
|
+
105887299,
|
|
16069
|
+
106428370,
|
|
16070
|
+
106283618,
|
|
16071
|
+
106278607,
|
|
16072
|
+
106538964,
|
|
16073
|
+
106512082,
|
|
16074
|
+
106380926,
|
|
16075
|
+
106281951,
|
|
16076
|
+
106264532,
|
|
16077
|
+
106044947,
|
|
16078
|
+
106032303,
|
|
16079
|
+
106228452,
|
|
16080
|
+
106121607,
|
|
16081
|
+
105979531,
|
|
16082
|
+
105979553,
|
|
16083
|
+
106015328,
|
|
16084
|
+
106568390,
|
|
16085
|
+
105867469,
|
|
16086
|
+
106123597,
|
|
16087
|
+
106121399,
|
|
16088
|
+
106100654,
|
|
16089
|
+
106064028,
|
|
16090
|
+
106567309,
|
|
16091
|
+
106396304,
|
|
16092
|
+
106470331,
|
|
16093
|
+
105906495,
|
|
16094
|
+
106283614,
|
|
16095
|
+
106038164,
|
|
16096
|
+
106032301,
|
|
16097
|
+
106121604
|
|
16098
|
+
],
|
|
16099
|
+
imageGenerationModelIds: [
|
|
16100
|
+
"gemini-3.1-flash-image"
|
|
16101
|
+
],
|
|
16099
16102
|
models: {
|
|
16100
|
-
|
|
16103
|
+
chat_20706: {
|
|
16104
|
+
addCursorToFindReplaceTarget: true,
|
|
16105
|
+
apiProvider: "API_PROVIDER_INTERNAL",
|
|
16106
|
+
isInternal: true,
|
|
16101
16107
|
maxTokens: 16384,
|
|
16102
|
-
|
|
16108
|
+
model: "MODEL_CHAT_20706",
|
|
16109
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16110
|
+
promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
|
|
16103
16111
|
quotaInfo: {
|
|
16104
16112
|
remainingFraction: 1
|
|
16105
16113
|
},
|
|
16106
|
-
|
|
16107
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16108
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16114
|
+
requiresLeadInGeneration: true,
|
|
16109
16115
|
supportsCumulativeContext: true,
|
|
16110
16116
|
supportsEstimateTokenCounter: true,
|
|
16111
|
-
|
|
16112
|
-
|
|
16117
|
+
tabJumpPrintLineRange: true,
|
|
16118
|
+
toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
|
|
16113
16119
|
},
|
|
16114
|
-
|
|
16115
|
-
|
|
16116
|
-
|
|
16117
|
-
|
|
16120
|
+
chat_23310: {
|
|
16121
|
+
apiProvider: "API_PROVIDER_INTERNAL",
|
|
16122
|
+
isInternal: true,
|
|
16123
|
+
maxTokens: 32768,
|
|
16124
|
+
model: "MODEL_CHAT_23310",
|
|
16125
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16126
|
+
promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
|
|
16118
16127
|
quotaInfo: {
|
|
16119
|
-
remainingFraction:
|
|
16120
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16128
|
+
remainingFraction: 1
|
|
16121
16129
|
},
|
|
16122
|
-
|
|
16123
|
-
|
|
16124
|
-
|
|
16130
|
+
requiresLeadInGeneration: true,
|
|
16131
|
+
supportsCumulativeContext: true,
|
|
16132
|
+
supportsEstimateTokenCounter: true,
|
|
16133
|
+
toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
|
|
16134
|
+
},
|
|
16135
|
+
"claude-opus-4-6-thinking": {
|
|
16136
|
+
apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
|
|
16137
|
+
displayName: "Claude Opus 4.6 (Thinking)",
|
|
16138
|
+
maxOutputTokens: 64e3,
|
|
16139
|
+
maxTokens: 25e4,
|
|
16140
|
+
model: "MODEL_PLACEHOLDER_M26",
|
|
16125
16141
|
modelExperiments: {
|
|
16126
16142
|
experiments: {
|
|
16127
16143
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16128
|
-
stringValue: '{\n "strategy": "
|
|
16144
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "160000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16145
|
+
},
|
|
16146
|
+
template__system_prompts__planning_mode_artifacts: {
|
|
16147
|
+
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16129
16148
|
}
|
|
16130
16149
|
}
|
|
16131
|
-
}
|
|
16132
|
-
|
|
16133
|
-
"gemini-3.1-pro-low": {
|
|
16134
|
-
displayName: "Gemini 3.1 Pro (Low)",
|
|
16135
|
-
supportsImages: true,
|
|
16136
|
-
supportsThinking: true,
|
|
16137
|
-
thinkingBudget: 1001,
|
|
16138
|
-
minThinkingBudget: 128,
|
|
16139
|
-
recommended: true,
|
|
16140
|
-
maxTokens: 1048576,
|
|
16141
|
-
maxOutputTokens: 65535,
|
|
16150
|
+
},
|
|
16151
|
+
modelProvider: "MODEL_PROVIDER_ANTHROPIC",
|
|
16142
16152
|
quotaInfo: {
|
|
16143
|
-
remainingFraction:
|
|
16144
|
-
resetTime: "2026-08-
|
|
16153
|
+
remainingFraction: 1,
|
|
16154
|
+
resetTime: "2026-08-23T17:29:11Z"
|
|
16145
16155
|
},
|
|
16146
|
-
|
|
16147
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16148
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16149
|
-
supportsVideo: true,
|
|
16156
|
+
recommended: true,
|
|
16150
16157
|
supportedMimeTypes: {
|
|
16151
|
-
"text/plain": true,
|
|
16152
|
-
"image/jpeg": true,
|
|
16153
|
-
"text/x-python-script": true,
|
|
16154
|
-
"audio/mpeg": true,
|
|
16155
|
-
"image/webp": true,
|
|
16156
|
-
"audio/wave": true,
|
|
16157
|
-
"video/webm": true,
|
|
16158
|
-
"text/x-python": true,
|
|
16159
|
-
"application/x-python-code": true,
|
|
16160
|
-
"audio/mp4": true,
|
|
16161
16158
|
"image/heic": true,
|
|
16162
|
-
"text/html": true,
|
|
16163
|
-
"text/markdown": true,
|
|
16164
|
-
"text/xml": true,
|
|
16165
|
-
"text/javascript": true,
|
|
16166
|
-
"audio/webm;codecs=opus": true,
|
|
16167
|
-
"application/json": true,
|
|
16168
|
-
"application/x-javascript": true,
|
|
16169
|
-
"audio/wav": true,
|
|
16170
16159
|
"image/heif": true,
|
|
16171
|
-
"
|
|
16172
|
-
"application/pdf": true,
|
|
16173
|
-
"video/mp4": true,
|
|
16174
|
-
"video/videoframe/jpeg2000": true,
|
|
16175
|
-
"text/csv": true,
|
|
16160
|
+
"image/jpeg": true,
|
|
16176
16161
|
"image/png": true,
|
|
16177
|
-
"
|
|
16178
|
-
"audio/vnd.wave": true,
|
|
16162
|
+
"image/webp": true,
|
|
16179
16163
|
"video/jpeg2000": true,
|
|
16180
|
-
"
|
|
16181
|
-
"video/audio/s16le": true,
|
|
16182
|
-
"audio/m4a": true,
|
|
16183
|
-
"audio/mp3": true,
|
|
16184
|
-
"text/rtf": true,
|
|
16185
|
-
"audio/flac": true,
|
|
16186
|
-
"video/audio/wav": true,
|
|
16187
|
-
"application/rtf": true,
|
|
16188
|
-
"application/x-typescript": true,
|
|
16189
|
-
"text/css": true,
|
|
16190
|
-
"text/x-typescript": true,
|
|
16191
|
-
"audio/opus": true,
|
|
16192
|
-
"audio/aac": true,
|
|
16193
|
-
"audio/l16": true,
|
|
16194
|
-
"audio/ogg": true,
|
|
16195
|
-
"audio/x-wav": true
|
|
16164
|
+
"video/videoframe/jpeg2000": true
|
|
16196
16165
|
},
|
|
16197
|
-
modelExperiments: {
|
|
16198
|
-
experiments: {
|
|
16199
|
-
template__system_prompts__communication_style: {
|
|
16200
|
-
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: ...'."
|
|
16201
|
-
},
|
|
16202
|
-
template__system_prompts__planning_mode_artifacts: {
|
|
16203
|
-
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"
|
|
16204
|
-
},
|
|
16205
|
-
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16206
|
-
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16207
|
-
},
|
|
16208
|
-
"cascade-include-ephemeral-message": {
|
|
16209
|
-
stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
16210
|
-
}
|
|
16211
|
-
}
|
|
16212
|
-
}
|
|
16213
|
-
},
|
|
16214
|
-
"claude-opus-4-6-thinking": {
|
|
16215
|
-
displayName: "Claude Opus 4.6 (Thinking)",
|
|
16216
16166
|
supportsImages: true,
|
|
16217
16167
|
supportsThinking: true,
|
|
16218
16168
|
thinkingBudget: 1024,
|
|
16219
|
-
|
|
16220
|
-
|
|
16221
|
-
|
|
16222
|
-
quotaInfo: {
|
|
16223
|
-
remainingFraction: 1,
|
|
16224
|
-
resetTime: "2026-08-22T17:39:05Z"
|
|
16225
|
-
},
|
|
16226
|
-
model: "MODEL_PLACEHOLDER_M26",
|
|
16169
|
+
vertexModelId: "claude-opus-4-6@default"
|
|
16170
|
+
},
|
|
16171
|
+
"claude-sonnet-4-6": {
|
|
16227
16172
|
apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
|
|
16228
|
-
|
|
16229
|
-
|
|
16230
|
-
|
|
16231
|
-
|
|
16232
|
-
"image/webp": true,
|
|
16233
|
-
"video/jpeg2000": true,
|
|
16234
|
-
"video/videoframe/jpeg2000": true,
|
|
16235
|
-
"image/heic": true,
|
|
16236
|
-
"image/heif": true
|
|
16237
|
-
},
|
|
16173
|
+
displayName: "Claude Sonnet 4.6 (Thinking)",
|
|
16174
|
+
maxOutputTokens: 64e3,
|
|
16175
|
+
maxTokens: 25e4,
|
|
16176
|
+
model: "MODEL_PLACEHOLDER_M35",
|
|
16238
16177
|
modelExperiments: {
|
|
16239
16178
|
experiments: {
|
|
16240
16179
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
@@ -16245,562 +16184,583 @@ var models_default = {
|
|
|
16245
16184
|
}
|
|
16246
16185
|
}
|
|
16247
16186
|
},
|
|
16248
|
-
|
|
16249
|
-
},
|
|
16250
|
-
chat_20706: {
|
|
16251
|
-
maxTokens: 16384,
|
|
16252
|
-
quotaInfo: {
|
|
16253
|
-
remainingFraction: 1
|
|
16254
|
-
},
|
|
16255
|
-
model: "MODEL_CHAT_20706",
|
|
16256
|
-
apiProvider: "API_PROVIDER_INTERNAL",
|
|
16257
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16258
|
-
supportsCumulativeContext: true,
|
|
16259
|
-
tabJumpPrintLineRange: true,
|
|
16260
|
-
supportsEstimateTokenCounter: true,
|
|
16261
|
-
isInternal: true,
|
|
16262
|
-
addCursorToFindReplaceTarget: true,
|
|
16263
|
-
promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
|
|
16264
|
-
toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
|
|
16265
|
-
requiresLeadInGeneration: true
|
|
16266
|
-
},
|
|
16267
|
-
"claude-sonnet-4-6": {
|
|
16268
|
-
displayName: "Claude Sonnet 4.6 (Thinking)",
|
|
16269
|
-
supportsImages: true,
|
|
16270
|
-
supportsThinking: true,
|
|
16271
|
-
thinkingBudget: 1024,
|
|
16272
|
-
recommended: true,
|
|
16273
|
-
maxTokens: 25e4,
|
|
16274
|
-
maxOutputTokens: 64e3,
|
|
16187
|
+
modelProvider: "MODEL_PROVIDER_ANTHROPIC",
|
|
16275
16188
|
quotaInfo: {
|
|
16276
16189
|
remainingFraction: 1,
|
|
16277
|
-
resetTime: "2026-08-
|
|
16190
|
+
resetTime: "2026-08-23T17:29:11Z"
|
|
16278
16191
|
},
|
|
16279
|
-
|
|
16280
|
-
apiProvider: "API_PROVIDER_ANTHROPIC_VERTEX",
|
|
16281
|
-
modelProvider: "MODEL_PROVIDER_ANTHROPIC",
|
|
16192
|
+
recommended: true,
|
|
16282
16193
|
supportedMimeTypes: {
|
|
16283
|
-
"video/jpeg2000": true,
|
|
16284
|
-
"video/videoframe/jpeg2000": true,
|
|
16285
16194
|
"image/heic": true,
|
|
16286
16195
|
"image/heif": true,
|
|
16287
16196
|
"image/jpeg": true,
|
|
16288
16197
|
"image/png": true,
|
|
16289
|
-
"image/webp": true
|
|
16198
|
+
"image/webp": true,
|
|
16199
|
+
"video/jpeg2000": true,
|
|
16200
|
+
"video/videoframe/jpeg2000": true
|
|
16290
16201
|
},
|
|
16202
|
+
supportsImages: true,
|
|
16203
|
+
supportsThinking: true,
|
|
16204
|
+
thinkingBudget: 1024,
|
|
16205
|
+
vertexModelId: "claude-sonnet-4-6@default"
|
|
16206
|
+
},
|
|
16207
|
+
"gemini-2.5-flash": {
|
|
16208
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16209
|
+
displayName: "Gemini 3.1 Flash Lite",
|
|
16210
|
+
maxOutputTokens: 65535,
|
|
16211
|
+
maxTokens: 1048576,
|
|
16212
|
+
model: "MODEL_GOOGLE_GEMINI_2_5_FLASH",
|
|
16291
16213
|
modelExperiments: {
|
|
16292
16214
|
experiments: {
|
|
16293
16215
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16294
|
-
stringValue: '{\n "strategy": "
|
|
16295
|
-
},
|
|
16296
|
-
template__system_prompts__planning_mode_artifacts: {
|
|
16297
|
-
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16216
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16298
16217
|
}
|
|
16299
16218
|
}
|
|
16300
16219
|
},
|
|
16301
|
-
|
|
16220
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16221
|
+
quotaInfo: {
|
|
16222
|
+
remainingFraction: 0.9765516,
|
|
16223
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16224
|
+
}
|
|
16302
16225
|
},
|
|
16303
|
-
"gemini-
|
|
16304
|
-
|
|
16305
|
-
|
|
16306
|
-
supportsThinking: true,
|
|
16307
|
-
thinkingBudget: 10001,
|
|
16308
|
-
minThinkingBudget: 128,
|
|
16309
|
-
recommended: true,
|
|
16310
|
-
maxTokens: 1048576,
|
|
16226
|
+
"gemini-2.5-flash-lite": {
|
|
16227
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16228
|
+
displayName: "Gemini 3.1 Flash Lite",
|
|
16311
16229
|
maxOutputTokens: 65535,
|
|
16230
|
+
maxTokens: 1048576,
|
|
16231
|
+
model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE",
|
|
16232
|
+
modelExperiments: {
|
|
16233
|
+
experiments: {
|
|
16234
|
+
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16235
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16236
|
+
}
|
|
16237
|
+
}
|
|
16238
|
+
},
|
|
16239
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16312
16240
|
quotaInfo: {
|
|
16313
|
-
remainingFraction: 0.
|
|
16314
|
-
resetTime: "2026-08-
|
|
16241
|
+
remainingFraction: 0.9765516,
|
|
16242
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16243
|
+
}
|
|
16244
|
+
},
|
|
16245
|
+
"gemini-2.5-flash-thinking": {
|
|
16246
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16247
|
+
displayName: "Gemini 3.1 Flash Lite",
|
|
16248
|
+
maxOutputTokens: 65535,
|
|
16249
|
+
maxTokens: 1048576,
|
|
16250
|
+
model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING",
|
|
16251
|
+
modelExperiments: {
|
|
16252
|
+
experiments: {
|
|
16253
|
+
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16254
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16255
|
+
}
|
|
16256
|
+
}
|
|
16315
16257
|
},
|
|
16316
|
-
|
|
16258
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16259
|
+
quotaInfo: {
|
|
16260
|
+
remainingFraction: 0.9765516,
|
|
16261
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16262
|
+
}
|
|
16263
|
+
},
|
|
16264
|
+
"gemini-2.5-pro": {
|
|
16317
16265
|
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16266
|
+
displayName: "Gemini 2.5 Pro",
|
|
16267
|
+
maxOutputTokens: 65535,
|
|
16268
|
+
maxTokens: 1048576,
|
|
16269
|
+
minThinkingBudget: 128,
|
|
16270
|
+
model: "MODEL_GOOGLE_GEMINI_2_5_PRO",
|
|
16271
|
+
modelExperiments: {
|
|
16272
|
+
experiments: {
|
|
16273
|
+
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16274
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16275
|
+
}
|
|
16276
|
+
}
|
|
16277
|
+
},
|
|
16318
16278
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16319
|
-
|
|
16279
|
+
quotaInfo: {
|
|
16280
|
+
remainingFraction: 0.9765516,
|
|
16281
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16282
|
+
},
|
|
16283
|
+
recommended: true,
|
|
16284
|
+
requiresImageOutputOutsideFunctionResponses: true,
|
|
16320
16285
|
supportedMimeTypes: {
|
|
16321
|
-
"audio/vnd.wave": true,
|
|
16322
|
-
"text/x-typescript": true,
|
|
16323
|
-
"audio/x-wav": true,
|
|
16324
|
-
"audio/mp4": true,
|
|
16325
|
-
"application/x-ipynb+json": true,
|
|
16326
|
-
"text/markdown": true,
|
|
16327
|
-
"application/pdf": true,
|
|
16328
|
-
"video/jpeg2000": true,
|
|
16329
|
-
"audio/opus": true,
|
|
16330
|
-
"image/jpeg": true,
|
|
16331
|
-
"text/javascript": true,
|
|
16332
|
-
"audio/webm": true,
|
|
16333
|
-
"audio/aac": true,
|
|
16334
|
-
"audio/l16": true,
|
|
16335
|
-
"video/audio/s16le": true,
|
|
16336
|
-
"image/webp": true,
|
|
16337
16286
|
"application/json": true,
|
|
16287
|
+
"application/pdf": true,
|
|
16338
16288
|
"application/rtf": true,
|
|
16339
|
-
"
|
|
16340
|
-
"
|
|
16341
|
-
"image/heif": true,
|
|
16342
|
-
"video/audio/wav": true,
|
|
16343
|
-
"audio/webm;codecs=opus": true,
|
|
16344
|
-
"text/x-python-script": true,
|
|
16345
|
-
"audio/mp3": true,
|
|
16346
|
-
"text/plain": true,
|
|
16347
|
-
"audio/m4a": true,
|
|
16289
|
+
"application/x-ipynb+json": true,
|
|
16290
|
+
"application/x-javascript": true,
|
|
16348
16291
|
"application/x-python-code": true,
|
|
16292
|
+
"application/x-typescript": true,
|
|
16293
|
+
"audio/aac": true,
|
|
16349
16294
|
"audio/flac": true,
|
|
16295
|
+
"audio/l16": true,
|
|
16296
|
+
"audio/m4a": true,
|
|
16297
|
+
"audio/mp3": true,
|
|
16298
|
+
"audio/mp4": true,
|
|
16299
|
+
"audio/mpeg": true,
|
|
16350
16300
|
"audio/ogg": true,
|
|
16351
|
-
"
|
|
16352
|
-
"
|
|
16353
|
-
"text/html": true,
|
|
16354
|
-
"image/heic": true,
|
|
16301
|
+
"audio/opus": true,
|
|
16302
|
+
"audio/vnd.wave": true,
|
|
16355
16303
|
"audio/wav": true,
|
|
16356
|
-
"video/webm": true,
|
|
16357
|
-
"text/css": true,
|
|
16358
16304
|
"audio/wave": true,
|
|
16305
|
+
"audio/webm": true,
|
|
16306
|
+
"audio/webm;codecs=opus": true,
|
|
16307
|
+
"audio/x-wav": true,
|
|
16308
|
+
"image/heic": true,
|
|
16309
|
+
"image/heif": true,
|
|
16310
|
+
"image/jpeg": true,
|
|
16311
|
+
"image/png": true,
|
|
16312
|
+
"image/webp": true,
|
|
16313
|
+
"text/css": true,
|
|
16314
|
+
"text/csv": true,
|
|
16315
|
+
"text/html": true,
|
|
16316
|
+
"text/javascript": true,
|
|
16317
|
+
"text/markdown": true,
|
|
16318
|
+
"text/plain": true,
|
|
16319
|
+
"text/rtf": true,
|
|
16320
|
+
"text/x-python": true,
|
|
16321
|
+
"text/x-python-script": true,
|
|
16322
|
+
"text/x-typescript": true,
|
|
16323
|
+
"text/xml": true,
|
|
16324
|
+
"video/audio/s16le": true,
|
|
16325
|
+
"video/audio/wav": true,
|
|
16326
|
+
"video/jpeg2000": true,
|
|
16359
16327
|
"video/mp4": true,
|
|
16328
|
+
"video/text/timestamp": true,
|
|
16360
16329
|
"video/videoframe/jpeg2000": true,
|
|
16361
|
-
"
|
|
16362
|
-
"audio/mpeg": true,
|
|
16363
|
-
"text/x-python": true,
|
|
16364
|
-
"text/csv": true,
|
|
16365
|
-
"application/x-typescript": true
|
|
16330
|
+
"video/webm": true
|
|
16366
16331
|
},
|
|
16332
|
+
supportsImages: true,
|
|
16333
|
+
supportsThinking: true,
|
|
16334
|
+
thinkingBudget: 1024
|
|
16335
|
+
},
|
|
16336
|
+
"gemini-3-flash": {
|
|
16337
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16338
|
+
displayName: "Gemini 3 Flash",
|
|
16339
|
+
maxOutputTokens: 65536,
|
|
16340
|
+
maxTokens: 1048576,
|
|
16341
|
+
minThinkingBudget: 32,
|
|
16342
|
+
model: "MODEL_PLACEHOLDER_M18",
|
|
16367
16343
|
modelExperiments: {
|
|
16368
16344
|
experiments: {
|
|
16369
|
-
template__system_prompts__planning_mode_artifacts: {
|
|
16370
|
-
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"
|
|
16371
|
-
},
|
|
16372
16345
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16373
16346
|
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16374
16347
|
},
|
|
16375
|
-
"cascade-include-ephemeral-message": {
|
|
16376
|
-
stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
16377
|
-
},
|
|
16378
16348
|
template__system_prompts__communication_style: {
|
|
16379
|
-
stringValue:
|
|
16349
|
+
stringValue: '- Keep your responses concise.\n- Provide a summary of your work when you end your turn. Ground your response in the work you did. Keep your tone professional and avoid overconfident language, bragging, or overclaiming success.\n- AVOID using superlatives such as "perfectly", "flawlessly", "100% correct", "Summary of Accomplishments" etc. to summarize your work for the user. Be humble.\n- AVOID over-the-top politeness or complimenting the user excessively.\n- Format your responses in github-style markdown.'
|
|
16380
16350
|
}
|
|
16381
16351
|
}
|
|
16382
|
-
}
|
|
16383
|
-
},
|
|
16384
|
-
"gemini-3.6-flash-tiered": {
|
|
16385
|
-
supportsImages: true,
|
|
16386
|
-
supportsThinking: true,
|
|
16387
|
-
thinkingBudget: -1,
|
|
16388
|
-
minThinkingBudget: 32,
|
|
16389
|
-
recommended: true,
|
|
16390
|
-
maxTokens: 1048576,
|
|
16391
|
-
maxOutputTokens: 65536,
|
|
16392
|
-
quotaInfo: {
|
|
16393
|
-
remainingFraction: 0.9783466,
|
|
16394
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16395
16352
|
},
|
|
16396
|
-
model: "MODEL_PLACEHOLDER_M196",
|
|
16397
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16398
16353
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16399
|
-
|
|
16354
|
+
quotaInfo: {
|
|
16355
|
+
remainingFraction: 0.9765516,
|
|
16356
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16357
|
+
},
|
|
16358
|
+
recommended: true,
|
|
16400
16359
|
supportedMimeTypes: {
|
|
16401
|
-
"
|
|
16402
|
-
"
|
|
16403
|
-
"audio/ogg": true,
|
|
16360
|
+
"application/json": true,
|
|
16361
|
+
"application/pdf": true,
|
|
16404
16362
|
"application/rtf": true,
|
|
16405
|
-
"
|
|
16406
|
-
"
|
|
16407
|
-
"
|
|
16408
|
-
"
|
|
16363
|
+
"application/x-ipynb+json": true,
|
|
16364
|
+
"application/x-javascript": true,
|
|
16365
|
+
"application/x-python-code": true,
|
|
16366
|
+
"application/x-typescript": true,
|
|
16367
|
+
"audio/aac": true,
|
|
16368
|
+
"audio/flac": true,
|
|
16409
16369
|
"audio/l16": true,
|
|
16370
|
+
"audio/m4a": true,
|
|
16371
|
+
"audio/mp3": true,
|
|
16372
|
+
"audio/mp4": true,
|
|
16373
|
+
"audio/mpeg": true,
|
|
16374
|
+
"audio/ogg": true,
|
|
16375
|
+
"audio/opus": true,
|
|
16410
16376
|
"audio/vnd.wave": true,
|
|
16411
|
-
"
|
|
16412
|
-
"application/json": true,
|
|
16413
|
-
"image/png": true,
|
|
16414
|
-
"text/javascript": true,
|
|
16377
|
+
"audio/wav": true,
|
|
16415
16378
|
"audio/wave": true,
|
|
16416
|
-
"
|
|
16379
|
+
"audio/webm": true,
|
|
16380
|
+
"audio/webm;codecs=opus": true,
|
|
16381
|
+
"audio/x-wav": true,
|
|
16417
16382
|
"image/heic": true,
|
|
16418
|
-
"text/rtf": true,
|
|
16419
|
-
"application/x-python-code": true,
|
|
16420
|
-
"video/audio/wav": true,
|
|
16421
|
-
"audio/flac": true,
|
|
16422
|
-
"image/jpeg": true,
|
|
16423
16383
|
"image/heif": true,
|
|
16424
|
-
"
|
|
16425
|
-
"
|
|
16426
|
-
"
|
|
16427
|
-
"
|
|
16428
|
-
"text/
|
|
16384
|
+
"image/jpeg": true,
|
|
16385
|
+
"image/png": true,
|
|
16386
|
+
"image/webp": true,
|
|
16387
|
+
"text/css": true,
|
|
16388
|
+
"text/csv": true,
|
|
16429
16389
|
"text/html": true,
|
|
16430
|
-
"
|
|
16431
|
-
"audio/webm;codecs=opus": true,
|
|
16432
|
-
"audio/mp3": true,
|
|
16390
|
+
"text/javascript": true,
|
|
16433
16391
|
"text/markdown": true,
|
|
16434
|
-
"
|
|
16435
|
-
"
|
|
16436
|
-
"
|
|
16437
|
-
"
|
|
16438
|
-
"
|
|
16392
|
+
"text/plain": true,
|
|
16393
|
+
"text/rtf": true,
|
|
16394
|
+
"text/x-python": true,
|
|
16395
|
+
"text/x-python-script": true,
|
|
16396
|
+
"text/x-typescript": true,
|
|
16439
16397
|
"text/xml": true,
|
|
16440
|
-
"
|
|
16441
|
-
"
|
|
16442
|
-
"
|
|
16443
|
-
"
|
|
16444
|
-
"
|
|
16445
|
-
"
|
|
16398
|
+
"video/audio/s16le": true,
|
|
16399
|
+
"video/audio/wav": true,
|
|
16400
|
+
"video/jpeg2000": true,
|
|
16401
|
+
"video/mp4": true,
|
|
16402
|
+
"video/text/timestamp": true,
|
|
16403
|
+
"video/videoframe/jpeg2000": true,
|
|
16404
|
+
"video/webm": true
|
|
16446
16405
|
},
|
|
16406
|
+
supportsImages: true,
|
|
16407
|
+
supportsThinking: true,
|
|
16408
|
+
supportsVideo: true,
|
|
16409
|
+
thinkingBudget: -1
|
|
16410
|
+
},
|
|
16411
|
+
"gemini-3-flash-agent": {
|
|
16412
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16413
|
+
displayName: "Gemini 3.5 Flash (High)",
|
|
16414
|
+
maxOutputTokens: 65536,
|
|
16415
|
+
maxTokens: 1048576,
|
|
16416
|
+
minThinkingBudget: 32,
|
|
16417
|
+
model: "MODEL_PLACEHOLDER_M84",
|
|
16447
16418
|
modelExperiments: {
|
|
16448
16419
|
experiments: {
|
|
16449
|
-
template__system_prompts__messaging: {
|
|
16450
|
-
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."
|
|
16451
|
-
},
|
|
16452
16420
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16453
16421
|
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16454
16422
|
},
|
|
16455
|
-
|
|
16456
|
-
stringValue:
|
|
16457
|
-
},
|
|
16458
|
-
template__system_prompts__communication_style: {
|
|
16459
|
-
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"
|
|
16460
|
-
},
|
|
16461
|
-
template__system_prompts__guidelines: {
|
|
16462
|
-
stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
|
|
16423
|
+
template__system_prompts__planning_mode_artifacts: {
|
|
16424
|
+
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16463
16425
|
}
|
|
16464
16426
|
}
|
|
16465
|
-
}
|
|
16466
|
-
},
|
|
16467
|
-
tab_jump_flash_lite_preview: {
|
|
16468
|
-
maxTokens: 16384,
|
|
16469
|
-
maxOutputTokens: 4096,
|
|
16470
|
-
quotaInfo: {
|
|
16471
|
-
remainingFraction: 1
|
|
16472
16427
|
},
|
|
16473
|
-
model: "MODEL_PLACEHOLDER_M28",
|
|
16474
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16475
16428
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16476
|
-
supportsCumulativeContext: true,
|
|
16477
|
-
tabJumpPrintLineRange: true,
|
|
16478
|
-
supportsEstimateTokenCounter: true,
|
|
16479
|
-
addCursorToFindReplaceTarget: true,
|
|
16480
|
-
toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
|
|
16481
|
-
requiresLeadInGeneration: true,
|
|
16482
|
-
requiresNoXmlToolExamples: true
|
|
16483
|
-
},
|
|
16484
|
-
"gemini-3.7-flash-tiered": {
|
|
16485
|
-
supportsImages: true,
|
|
16486
|
-
supportsThinking: true,
|
|
16487
|
-
thinkingBudget: -1,
|
|
16488
|
-
minThinkingBudget: 32,
|
|
16489
|
-
recommended: true,
|
|
16490
|
-
maxTokens: 1048576,
|
|
16491
|
-
maxOutputTokens: 65536,
|
|
16492
16429
|
quotaInfo: {
|
|
16493
|
-
remainingFraction: 0.
|
|
16494
|
-
resetTime: "2026-08-
|
|
16430
|
+
remainingFraction: 0.9765516,
|
|
16431
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16495
16432
|
},
|
|
16496
|
-
|
|
16497
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16498
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16499
|
-
supportsVideo: true,
|
|
16433
|
+
recommended: true,
|
|
16500
16434
|
supportedMimeTypes: {
|
|
16501
|
-
"
|
|
16502
|
-
"
|
|
16503
|
-
"video/audio/s16le": true,
|
|
16504
|
-
"text/x-python-script": true,
|
|
16505
|
-
"audio/aac": true,
|
|
16435
|
+
"application/json": true,
|
|
16436
|
+
"application/pdf": true,
|
|
16506
16437
|
"application/rtf": true,
|
|
16507
|
-
"
|
|
16508
|
-
"video/text/timestamp": true,
|
|
16509
|
-
"audio/l16": true,
|
|
16510
|
-
"image/heic": true,
|
|
16511
|
-
"text/csv": true,
|
|
16512
|
-
"audio/wave": true,
|
|
16513
|
-
"text/x-python": true,
|
|
16514
|
-
"image/png": true,
|
|
16515
|
-
"video/videoframe/jpeg2000": true,
|
|
16516
|
-
"audio/webm;codecs=opus": true,
|
|
16438
|
+
"application/x-ipynb+json": true,
|
|
16517
16439
|
"application/x-javascript": true,
|
|
16518
|
-
"image/webp": true,
|
|
16519
|
-
"application/pdf": true,
|
|
16520
|
-
"audio/mp3": true,
|
|
16521
|
-
"image/jpeg": true,
|
|
16522
|
-
"application/x-typescript": true,
|
|
16523
16440
|
"application/x-python-code": true,
|
|
16524
|
-
"
|
|
16525
|
-
"
|
|
16441
|
+
"application/x-typescript": true,
|
|
16442
|
+
"audio/aac": true,
|
|
16443
|
+
"audio/flac": true,
|
|
16444
|
+
"audio/l16": true,
|
|
16445
|
+
"audio/m4a": true,
|
|
16446
|
+
"audio/mp3": true,
|
|
16526
16447
|
"audio/mp4": true,
|
|
16527
|
-
"
|
|
16528
|
-
"
|
|
16448
|
+
"audio/mpeg": true,
|
|
16449
|
+
"audio/ogg": true,
|
|
16450
|
+
"audio/opus": true,
|
|
16451
|
+
"audio/vnd.wave": true,
|
|
16529
16452
|
"audio/wav": true,
|
|
16453
|
+
"audio/wave": true,
|
|
16454
|
+
"audio/webm": true,
|
|
16455
|
+
"audio/webm;codecs=opus": true,
|
|
16456
|
+
"audio/x-wav": true,
|
|
16457
|
+
"image/heic": true,
|
|
16530
16458
|
"image/heif": true,
|
|
16531
|
-
"
|
|
16459
|
+
"image/jpeg": true,
|
|
16460
|
+
"image/png": true,
|
|
16461
|
+
"image/webp": true,
|
|
16462
|
+
"text/css": true,
|
|
16463
|
+
"text/csv": true,
|
|
16464
|
+
"text/html": true,
|
|
16532
16465
|
"text/javascript": true,
|
|
16466
|
+
"text/markdown": true,
|
|
16467
|
+
"text/plain": true,
|
|
16468
|
+
"text/rtf": true,
|
|
16469
|
+
"text/x-python": true,
|
|
16470
|
+
"text/x-python-script": true,
|
|
16471
|
+
"text/x-typescript": true,
|
|
16533
16472
|
"text/xml": true,
|
|
16473
|
+
"video/audio/s16le": true,
|
|
16534
16474
|
"video/audio/wav": true,
|
|
16535
|
-
"audio/webm": true,
|
|
16536
16475
|
"video/jpeg2000": true,
|
|
16537
|
-
"audio/opus": true,
|
|
16538
|
-
"text/plain": true,
|
|
16539
|
-
"audio/ogg": true,
|
|
16540
16476
|
"video/mp4": true,
|
|
16541
|
-
"
|
|
16542
|
-
"
|
|
16543
|
-
"
|
|
16544
|
-
|
|
16545
|
-
|
|
16477
|
+
"video/text/timestamp": true,
|
|
16478
|
+
"video/videoframe/jpeg2000": true,
|
|
16479
|
+
"video/webm": true
|
|
16480
|
+
},
|
|
16481
|
+
supportsImages: true,
|
|
16482
|
+
supportsThinking: true,
|
|
16483
|
+
supportsVideo: true,
|
|
16484
|
+
tagDescription: "Limited time",
|
|
16485
|
+
tagTitle: "Fast",
|
|
16486
|
+
thinkingBudget: -1
|
|
16487
|
+
},
|
|
16488
|
+
"gemini-3.1-flash-image": {
|
|
16489
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16490
|
+
displayName: "Gemini 3.1 Flash Image",
|
|
16491
|
+
model: "MODEL_PLACEHOLDER_M21",
|
|
16492
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16493
|
+
quotaInfo: {
|
|
16494
|
+
remainingFraction: 0.9765516,
|
|
16495
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16496
|
+
}
|
|
16497
|
+
},
|
|
16498
|
+
"gemini-3.1-flash-lite": {
|
|
16499
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16500
|
+
displayName: "Gemini 3.1 Flash Lite",
|
|
16501
|
+
maxOutputTokens: 65535,
|
|
16502
|
+
maxTokens: 1048576,
|
|
16503
|
+
model: "MODEL_PLACEHOLDER_M50",
|
|
16504
|
+
modelExperiments: {
|
|
16505
|
+
experiments: {
|
|
16506
|
+
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16507
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16508
|
+
}
|
|
16509
|
+
}
|
|
16546
16510
|
},
|
|
16511
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16512
|
+
quotaInfo: {
|
|
16513
|
+
remainingFraction: 0.9765516,
|
|
16514
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16515
|
+
}
|
|
16516
|
+
},
|
|
16517
|
+
"gemini-3.1-pro-high": {
|
|
16518
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16519
|
+
displayName: "Gemini 3.1 Pro (High)",
|
|
16520
|
+
maxOutputTokens: 65535,
|
|
16521
|
+
maxTokens: 1048576,
|
|
16522
|
+
minThinkingBudget: 128,
|
|
16523
|
+
model: "MODEL_PLACEHOLDER_M37",
|
|
16547
16524
|
modelExperiments: {
|
|
16548
16525
|
experiments: {
|
|
16549
16526
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16550
|
-
stringValue: '{\n "strategy": "
|
|
16527
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16551
16528
|
},
|
|
16552
16529
|
"cascade-include-ephemeral-message": {
|
|
16553
|
-
stringValue: '{\n "enabled":
|
|
16530
|
+
stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
16554
16531
|
},
|
|
16555
|
-
|
|
16556
|
-
stringValue: "
|
|
16532
|
+
template__system_prompts__communication_style: {
|
|
16533
|
+
stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
|
|
16534
|
+
},
|
|
16535
|
+
template__system_prompts__planning_mode_artifacts: {
|
|
16536
|
+
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16557
16537
|
}
|
|
16558
16538
|
}
|
|
16559
|
-
}
|
|
16560
|
-
},
|
|
16561
|
-
"gemini-3.6-flash-medium": {
|
|
16562
|
-
displayName: "Gemini 3.6 Flash (Medium)",
|
|
16563
|
-
supportsImages: true,
|
|
16564
|
-
supportsThinking: true,
|
|
16565
|
-
thinkingBudget: 4e3,
|
|
16566
|
-
minThinkingBudget: 32,
|
|
16567
|
-
recommended: true,
|
|
16568
|
-
maxTokens: 1048576,
|
|
16569
|
-
maxOutputTokens: 65536,
|
|
16570
|
-
quotaInfo: {
|
|
16571
|
-
remainingFraction: 0.9783466,
|
|
16572
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16573
16539
|
},
|
|
16574
|
-
model: "MODEL_PLACEHOLDER_M72",
|
|
16575
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16576
16540
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16577
|
-
|
|
16578
|
-
|
|
16579
|
-
|
|
16541
|
+
quotaInfo: {
|
|
16542
|
+
remainingFraction: 0.9765516,
|
|
16543
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16544
|
+
},
|
|
16545
|
+
recommended: true,
|
|
16580
16546
|
supportedMimeTypes: {
|
|
16581
|
-
"audio/aac": true,
|
|
16582
|
-
"text/csv": true,
|
|
16583
16547
|
"application/json": true,
|
|
16584
|
-
"video/videoframe/jpeg2000": true,
|
|
16585
|
-
"audio/ogg": true,
|
|
16586
|
-
"audio/webm": true,
|
|
16587
|
-
"video/mp4": true,
|
|
16588
|
-
"image/heif": true,
|
|
16589
|
-
"text/rtf": true,
|
|
16590
|
-
"audio/flac": true,
|
|
16591
|
-
"image/png": true,
|
|
16592
|
-
"image/jpeg": true,
|
|
16593
|
-
"video/text/timestamp": true,
|
|
16594
|
-
"text/plain": true,
|
|
16595
|
-
"text/x-python": true,
|
|
16596
|
-
"text/html": true,
|
|
16597
|
-
"audio/mp3": true,
|
|
16598
16548
|
"application/pdf": true,
|
|
16599
|
-
"
|
|
16600
|
-
"image/heic": true,
|
|
16601
|
-
"application/x-typescript": true,
|
|
16602
|
-
"video/audio/s16le": true,
|
|
16549
|
+
"application/rtf": true,
|
|
16603
16550
|
"application/x-ipynb+json": true,
|
|
16604
|
-
"audio/wave": true,
|
|
16605
|
-
"audio/vnd.wave": true,
|
|
16606
|
-
"audio/x-wav": true,
|
|
16607
|
-
"text/javascript": true,
|
|
16608
|
-
"audio/l16": true,
|
|
16609
|
-
"audio/wav": true,
|
|
16610
|
-
"image/webp": true,
|
|
16611
|
-
"audio/opus": true,
|
|
16612
|
-
"application/x-python-code": true,
|
|
16613
|
-
"video/webm": true,
|
|
16614
|
-
"video/jpeg2000": true,
|
|
16615
|
-
"text/x-python-script": true,
|
|
16616
16551
|
"application/x-javascript": true,
|
|
16552
|
+
"application/x-python-code": true,
|
|
16553
|
+
"application/x-typescript": true,
|
|
16554
|
+
"audio/aac": true,
|
|
16555
|
+
"audio/flac": true,
|
|
16556
|
+
"audio/l16": true,
|
|
16617
16557
|
"audio/m4a": true,
|
|
16618
|
-
"
|
|
16558
|
+
"audio/mp3": true,
|
|
16559
|
+
"audio/mp4": true,
|
|
16619
16560
|
"audio/mpeg": true,
|
|
16620
|
-
"
|
|
16561
|
+
"audio/ogg": true,
|
|
16562
|
+
"audio/opus": true,
|
|
16563
|
+
"audio/vnd.wave": true,
|
|
16564
|
+
"audio/wav": true,
|
|
16565
|
+
"audio/wave": true,
|
|
16566
|
+
"audio/webm": true,
|
|
16621
16567
|
"audio/webm;codecs=opus": true,
|
|
16622
|
-
"audio/
|
|
16568
|
+
"audio/x-wav": true,
|
|
16569
|
+
"image/heic": true,
|
|
16570
|
+
"image/heif": true,
|
|
16571
|
+
"image/jpeg": true,
|
|
16572
|
+
"image/png": true,
|
|
16573
|
+
"image/webp": true,
|
|
16623
16574
|
"text/css": true,
|
|
16575
|
+
"text/csv": true,
|
|
16576
|
+
"text/html": true,
|
|
16577
|
+
"text/javascript": true,
|
|
16578
|
+
"text/markdown": true,
|
|
16579
|
+
"text/plain": true,
|
|
16580
|
+
"text/rtf": true,
|
|
16581
|
+
"text/x-python": true,
|
|
16582
|
+
"text/x-python-script": true,
|
|
16583
|
+
"text/x-typescript": true,
|
|
16624
16584
|
"text/xml": true,
|
|
16625
|
-
"
|
|
16585
|
+
"video/audio/s16le": true,
|
|
16586
|
+
"video/audio/wav": true,
|
|
16587
|
+
"video/jpeg2000": true,
|
|
16588
|
+
"video/mp4": true,
|
|
16589
|
+
"video/text/timestamp": true,
|
|
16590
|
+
"video/videoframe/jpeg2000": true,
|
|
16591
|
+
"video/webm": true
|
|
16626
16592
|
},
|
|
16593
|
+
supportsImages: true,
|
|
16594
|
+
supportsThinking: true,
|
|
16595
|
+
supportsVideo: true,
|
|
16596
|
+
tagTitle: "New",
|
|
16597
|
+
thinkingBudget: 10001
|
|
16598
|
+
},
|
|
16599
|
+
"gemini-3.1-pro-low": {
|
|
16600
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16601
|
+
displayName: "Gemini 3.1 Pro (Low)",
|
|
16602
|
+
maxOutputTokens: 65535,
|
|
16603
|
+
maxTokens: 1048576,
|
|
16604
|
+
minThinkingBudget: 128,
|
|
16605
|
+
model: "MODEL_PLACEHOLDER_M36",
|
|
16627
16606
|
modelExperiments: {
|
|
16628
16607
|
experiments: {
|
|
16629
16608
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16630
|
-
stringValue: '{\n "strategy": "
|
|
16609
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16631
16610
|
},
|
|
16632
16611
|
"cascade-include-ephemeral-message": {
|
|
16633
|
-
stringValue: '{\n "enabled":
|
|
16612
|
+
stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
16634
16613
|
},
|
|
16635
16614
|
template__system_prompts__communication_style: {
|
|
16636
|
-
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-
|
|
16637
|
-
},
|
|
16638
|
-
template__system_prompts__guidelines: {
|
|
16639
|
-
stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
|
|
16615
|
+
stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
|
|
16640
16616
|
},
|
|
16641
|
-
|
|
16642
|
-
stringValue: "
|
|
16617
|
+
template__system_prompts__planning_mode_artifacts: {
|
|
16618
|
+
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16643
16619
|
}
|
|
16644
16620
|
}
|
|
16645
|
-
}
|
|
16646
|
-
},
|
|
16647
|
-
"gemini-2.5-pro": {
|
|
16648
|
-
displayName: "Gemini 2.5 Pro",
|
|
16649
|
-
supportsImages: true,
|
|
16650
|
-
supportsThinking: true,
|
|
16651
|
-
thinkingBudget: 1024,
|
|
16652
|
-
minThinkingBudget: 128,
|
|
16653
|
-
recommended: true,
|
|
16654
|
-
maxTokens: 1048576,
|
|
16655
|
-
maxOutputTokens: 65535,
|
|
16656
|
-
quotaInfo: {
|
|
16657
|
-
remainingFraction: 0.9783466,
|
|
16658
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16659
16621
|
},
|
|
16660
|
-
model: "MODEL_GOOGLE_GEMINI_2_5_PRO",
|
|
16661
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16662
16622
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16623
|
+
quotaInfo: {
|
|
16624
|
+
remainingFraction: 0.9765516,
|
|
16625
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16626
|
+
},
|
|
16627
|
+
recommended: true,
|
|
16663
16628
|
supportedMimeTypes: {
|
|
16664
|
-
"audio/webm": true,
|
|
16665
16629
|
"application/json": true,
|
|
16666
|
-
"
|
|
16667
|
-
"
|
|
16668
|
-
"audio/vnd.wave": true,
|
|
16669
|
-
"audio/flac": true,
|
|
16670
|
-
"audio/l16": true,
|
|
16630
|
+
"application/pdf": true,
|
|
16631
|
+
"application/rtf": true,
|
|
16671
16632
|
"application/x-ipynb+json": true,
|
|
16672
|
-
"audio/mpeg": true,
|
|
16673
16633
|
"application/x-javascript": true,
|
|
16674
|
-
"
|
|
16675
|
-
"image/png": true,
|
|
16634
|
+
"application/x-python-code": true,
|
|
16676
16635
|
"application/x-typescript": true,
|
|
16677
|
-
"
|
|
16636
|
+
"audio/aac": true,
|
|
16637
|
+
"audio/flac": true,
|
|
16638
|
+
"audio/l16": true,
|
|
16678
16639
|
"audio/m4a": true,
|
|
16679
16640
|
"audio/mp3": true,
|
|
16641
|
+
"audio/mp4": true,
|
|
16642
|
+
"audio/mpeg": true,
|
|
16680
16643
|
"audio/ogg": true,
|
|
16681
|
-
"audio/webm;codecs=opus": true,
|
|
16682
|
-
"audio/x-wav": true,
|
|
16683
|
-
"text/x-typescript": true,
|
|
16684
16644
|
"audio/opus": true,
|
|
16685
|
-
"
|
|
16686
|
-
"
|
|
16687
|
-
"text/javascript": true,
|
|
16688
|
-
"video/audio/wav": true,
|
|
16689
|
-
"text/html": true,
|
|
16645
|
+
"audio/vnd.wave": true,
|
|
16646
|
+
"audio/wav": true,
|
|
16690
16647
|
"audio/wave": true,
|
|
16691
|
-
"audio/
|
|
16692
|
-
"
|
|
16648
|
+
"audio/webm": true,
|
|
16649
|
+
"audio/webm;codecs=opus": true,
|
|
16650
|
+
"audio/x-wav": true,
|
|
16693
16651
|
"image/heic": true,
|
|
16694
|
-
"
|
|
16652
|
+
"image/heif": true,
|
|
16653
|
+
"image/jpeg": true,
|
|
16654
|
+
"image/png": true,
|
|
16695
16655
|
"image/webp": true,
|
|
16696
|
-
"
|
|
16656
|
+
"text/css": true,
|
|
16657
|
+
"text/csv": true,
|
|
16658
|
+
"text/html": true,
|
|
16659
|
+
"text/javascript": true,
|
|
16660
|
+
"text/markdown": true,
|
|
16661
|
+
"text/plain": true,
|
|
16662
|
+
"text/rtf": true,
|
|
16697
16663
|
"text/x-python": true,
|
|
16698
16664
|
"text/x-python-script": true,
|
|
16699
|
-
"
|
|
16700
|
-
"audio/wav": true,
|
|
16701
|
-
"video/webm": true,
|
|
16702
|
-
"image/heif": true,
|
|
16703
|
-
"text/plain": true,
|
|
16704
|
-
"video/jpeg2000": true,
|
|
16705
|
-
"text/markdown": true,
|
|
16706
|
-
"text/csv": true,
|
|
16665
|
+
"text/x-typescript": true,
|
|
16707
16666
|
"text/xml": true,
|
|
16708
|
-
"
|
|
16667
|
+
"video/audio/s16le": true,
|
|
16668
|
+
"video/audio/wav": true,
|
|
16669
|
+
"video/jpeg2000": true,
|
|
16670
|
+
"video/mp4": true,
|
|
16671
|
+
"video/text/timestamp": true,
|
|
16672
|
+
"video/videoframe/jpeg2000": true,
|
|
16673
|
+
"video/webm": true
|
|
16709
16674
|
},
|
|
16710
|
-
|
|
16711
|
-
|
|
16712
|
-
|
|
16713
|
-
|
|
16714
|
-
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16715
|
-
}
|
|
16716
|
-
}
|
|
16717
|
-
}
|
|
16675
|
+
supportsImages: true,
|
|
16676
|
+
supportsThinking: true,
|
|
16677
|
+
supportsVideo: true,
|
|
16678
|
+
thinkingBudget: 1001
|
|
16718
16679
|
},
|
|
16719
|
-
"gemini-
|
|
16720
|
-
displayName: "Gemini 3.1 Flash Lite",
|
|
16721
|
-
maxTokens: 1048576,
|
|
16722
|
-
maxOutputTokens: 65535,
|
|
16723
|
-
quotaInfo: {
|
|
16724
|
-
remainingFraction: 0.9783466,
|
|
16725
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16726
|
-
},
|
|
16727
|
-
model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_THINKING",
|
|
16680
|
+
"gemini-3.5-flash-extra-low": {
|
|
16728
16681
|
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16729
|
-
|
|
16682
|
+
displayName: "Gemini 3.5 Flash (Low)",
|
|
16683
|
+
maxOutputTokens: 65536,
|
|
16684
|
+
maxTokens: 1048576,
|
|
16685
|
+
minThinkingBudget: 32,
|
|
16686
|
+
model: "MODEL_PLACEHOLDER_M187",
|
|
16730
16687
|
modelExperiments: {
|
|
16731
16688
|
experiments: {
|
|
16732
16689
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16733
|
-
stringValue: '{\n "strategy": "
|
|
16690
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16691
|
+
},
|
|
16692
|
+
template__system_prompts__planning_mode_artifacts: {
|
|
16693
|
+
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16734
16694
|
}
|
|
16735
16695
|
}
|
|
16736
|
-
}
|
|
16737
|
-
},
|
|
16738
|
-
"gemini-3.5-flash-extra-low": {
|
|
16739
|
-
displayName: "Gemini 3.5 Flash (Low)",
|
|
16740
|
-
supportsImages: true,
|
|
16741
|
-
supportsThinking: true,
|
|
16742
|
-
thinkingBudget: 1e3,
|
|
16743
|
-
minThinkingBudget: 32,
|
|
16744
|
-
recommended: true,
|
|
16745
|
-
maxTokens: 1048576,
|
|
16746
|
-
maxOutputTokens: 65536,
|
|
16747
|
-
quotaInfo: {
|
|
16748
|
-
remainingFraction: 0.9783466,
|
|
16749
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16750
16696
|
},
|
|
16751
|
-
model: "MODEL_PLACEHOLDER_M187",
|
|
16752
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16753
16697
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16754
|
-
|
|
16755
|
-
|
|
16756
|
-
|
|
16698
|
+
quotaInfo: {
|
|
16699
|
+
remainingFraction: 0.9765516,
|
|
16700
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16701
|
+
},
|
|
16702
|
+
recommended: true,
|
|
16757
16703
|
supportedMimeTypes: {
|
|
16758
|
-
"
|
|
16759
|
-
"
|
|
16704
|
+
"application/json": true,
|
|
16705
|
+
"application/pdf": true,
|
|
16706
|
+
"application/rtf": true,
|
|
16760
16707
|
"application/x-ipynb+json": true,
|
|
16708
|
+
"application/x-javascript": true,
|
|
16761
16709
|
"application/x-python-code": true,
|
|
16762
|
-
"
|
|
16763
|
-
"
|
|
16764
|
-
"text/plain": true,
|
|
16765
|
-
"text/xml": true,
|
|
16710
|
+
"application/x-typescript": true,
|
|
16711
|
+
"audio/aac": true,
|
|
16766
16712
|
"audio/flac": true,
|
|
16767
|
-
"audio/webm;codecs=opus": true,
|
|
16768
|
-
"video/text/timestamp": true,
|
|
16769
|
-
"audio/wave": true,
|
|
16770
|
-
"text/html": true,
|
|
16771
|
-
"audio/x-wav": true,
|
|
16772
|
-
"text/css": true,
|
|
16773
|
-
"video/mp4": true,
|
|
16774
16713
|
"audio/l16": true,
|
|
16775
|
-
"image/webp": true,
|
|
16776
|
-
"application/json": true,
|
|
16777
|
-
"text/x-python-script": true,
|
|
16778
|
-
"audio/mpeg": true,
|
|
16779
16714
|
"audio/m4a": true,
|
|
16780
|
-
"
|
|
16781
|
-
"application/x-typescript": true,
|
|
16782
|
-
"text/csv": true,
|
|
16783
|
-
"text/markdown": true,
|
|
16784
|
-
"text/rtf": true,
|
|
16715
|
+
"audio/mp3": true,
|
|
16785
16716
|
"audio/mp4": true,
|
|
16786
|
-
"
|
|
16787
|
-
"audio/aac": true,
|
|
16788
|
-
"image/heif": true,
|
|
16789
|
-
"video/audio/wav": true,
|
|
16790
|
-
"video/videoframe/jpeg2000": true,
|
|
16791
|
-
"audio/wav": true,
|
|
16792
|
-
"image/png": true,
|
|
16717
|
+
"audio/mpeg": true,
|
|
16793
16718
|
"audio/ogg": true,
|
|
16794
|
-
"
|
|
16795
|
-
"text/x-python": true,
|
|
16796
|
-
"application/rtf": true,
|
|
16719
|
+
"audio/opus": true,
|
|
16797
16720
|
"audio/vnd.wave": true,
|
|
16721
|
+
"audio/wav": true,
|
|
16722
|
+
"audio/wave": true,
|
|
16723
|
+
"audio/webm": true,
|
|
16724
|
+
"audio/webm;codecs=opus": true,
|
|
16725
|
+
"audio/x-wav": true,
|
|
16726
|
+
"image/heic": true,
|
|
16727
|
+
"image/heif": true,
|
|
16798
16728
|
"image/jpeg": true,
|
|
16729
|
+
"image/png": true,
|
|
16730
|
+
"image/webp": true,
|
|
16731
|
+
"text/css": true,
|
|
16732
|
+
"text/csv": true,
|
|
16733
|
+
"text/html": true,
|
|
16734
|
+
"text/javascript": true,
|
|
16735
|
+
"text/markdown": true,
|
|
16736
|
+
"text/plain": true,
|
|
16737
|
+
"text/rtf": true,
|
|
16738
|
+
"text/x-python": true,
|
|
16739
|
+
"text/x-python-script": true,
|
|
16740
|
+
"text/x-typescript": true,
|
|
16741
|
+
"text/xml": true,
|
|
16742
|
+
"video/audio/s16le": true,
|
|
16743
|
+
"video/audio/wav": true,
|
|
16799
16744
|
"video/jpeg2000": true,
|
|
16800
|
-
"video/
|
|
16801
|
-
"
|
|
16802
|
-
"
|
|
16745
|
+
"video/mp4": true,
|
|
16746
|
+
"video/text/timestamp": true,
|
|
16747
|
+
"video/videoframe/jpeg2000": true,
|
|
16748
|
+
"video/webm": true
|
|
16803
16749
|
},
|
|
16750
|
+
supportsImages: true,
|
|
16751
|
+
supportsThinking: true,
|
|
16752
|
+
supportsVideo: true,
|
|
16753
|
+
tagDescription: "Limited time",
|
|
16754
|
+
tagTitle: "Fast",
|
|
16755
|
+
thinkingBudget: 1e3
|
|
16756
|
+
},
|
|
16757
|
+
"gemini-3.5-flash-low": {
|
|
16758
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16759
|
+
displayName: "Gemini 3.5 Flash (Medium)",
|
|
16760
|
+
maxOutputTokens: 65536,
|
|
16761
|
+
maxTokens: 1048576,
|
|
16762
|
+
minThinkingBudget: 32,
|
|
16763
|
+
model: "MODEL_PLACEHOLDER_M20",
|
|
16804
16764
|
modelExperiments: {
|
|
16805
16765
|
experiments: {
|
|
16806
16766
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
@@ -16810,253 +16770,248 @@ var models_default = {
|
|
|
16810
16770
|
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
16811
16771
|
}
|
|
16812
16772
|
}
|
|
16813
|
-
}
|
|
16814
|
-
},
|
|
16815
|
-
"gemini-3-flash": {
|
|
16816
|
-
displayName: "Gemini 3 Flash",
|
|
16817
|
-
supportsImages: true,
|
|
16818
|
-
supportsThinking: true,
|
|
16819
|
-
thinkingBudget: -1,
|
|
16820
|
-
minThinkingBudget: 32,
|
|
16821
|
-
recommended: true,
|
|
16822
|
-
maxTokens: 1048576,
|
|
16823
|
-
maxOutputTokens: 65536,
|
|
16824
|
-
quotaInfo: {
|
|
16825
|
-
remainingFraction: 0.9783466,
|
|
16826
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16827
16773
|
},
|
|
16828
|
-
model: "MODEL_PLACEHOLDER_M18",
|
|
16829
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16830
16774
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16831
|
-
|
|
16775
|
+
quotaInfo: {
|
|
16776
|
+
remainingFraction: 0.9765516,
|
|
16777
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16778
|
+
},
|
|
16779
|
+
recommended: true,
|
|
16832
16780
|
supportedMimeTypes: {
|
|
16833
|
-
"
|
|
16834
|
-
"
|
|
16835
|
-
"
|
|
16781
|
+
"application/json": true,
|
|
16782
|
+
"application/pdf": true,
|
|
16783
|
+
"application/rtf": true,
|
|
16784
|
+
"application/x-ipynb+json": true,
|
|
16836
16785
|
"application/x-javascript": true,
|
|
16837
|
-
"
|
|
16838
|
-
"audio/webm;codecs=opus": true,
|
|
16786
|
+
"application/x-python-code": true,
|
|
16839
16787
|
"application/x-typescript": true,
|
|
16840
|
-
"
|
|
16841
|
-
"audio/
|
|
16842
|
-
"audio/
|
|
16843
|
-
"
|
|
16844
|
-
"
|
|
16788
|
+
"audio/aac": true,
|
|
16789
|
+
"audio/flac": true,
|
|
16790
|
+
"audio/l16": true,
|
|
16791
|
+
"audio/m4a": true,
|
|
16792
|
+
"audio/mp3": true,
|
|
16845
16793
|
"audio/mp4": true,
|
|
16846
|
-
"audio/
|
|
16847
|
-
"audio/webm": true,
|
|
16848
|
-
"video/jpeg2000": true,
|
|
16794
|
+
"audio/mpeg": true,
|
|
16849
16795
|
"audio/ogg": true,
|
|
16850
|
-
"video/webm": true,
|
|
16851
16796
|
"audio/opus": true,
|
|
16852
|
-
"
|
|
16853
|
-
"
|
|
16854
|
-
"
|
|
16797
|
+
"audio/vnd.wave": true,
|
|
16798
|
+
"audio/wav": true,
|
|
16799
|
+
"audio/wave": true,
|
|
16800
|
+
"audio/webm": true,
|
|
16801
|
+
"audio/webm;codecs=opus": true,
|
|
16802
|
+
"audio/x-wav": true,
|
|
16803
|
+
"image/heic": true,
|
|
16804
|
+
"image/heif": true,
|
|
16855
16805
|
"image/jpeg": true,
|
|
16856
|
-
"
|
|
16857
|
-
"text/xml": true,
|
|
16858
|
-
"text/x-typescript": true,
|
|
16806
|
+
"image/png": true,
|
|
16859
16807
|
"image/webp": true,
|
|
16860
|
-
"text/
|
|
16808
|
+
"text/css": true,
|
|
16809
|
+
"text/csv": true,
|
|
16810
|
+
"text/html": true,
|
|
16861
16811
|
"text/javascript": true,
|
|
16862
|
-
"text/rtf": true,
|
|
16863
16812
|
"text/markdown": true,
|
|
16864
|
-
"audio/wav": true,
|
|
16865
|
-
"video/videoframe/jpeg2000": true,
|
|
16866
|
-
"image/heic": true,
|
|
16867
|
-
"text/csv": true,
|
|
16868
|
-
"application/x-ipynb+json": true,
|
|
16869
|
-
"audio/mp3": true,
|
|
16870
|
-
"audio/m4a": true,
|
|
16871
16813
|
"text/plain": true,
|
|
16814
|
+
"text/rtf": true,
|
|
16815
|
+
"text/x-python": true,
|
|
16816
|
+
"text/x-python-script": true,
|
|
16817
|
+
"text/x-typescript": true,
|
|
16818
|
+
"text/xml": true,
|
|
16872
16819
|
"video/audio/s16le": true,
|
|
16873
|
-
"audio/
|
|
16874
|
-
"
|
|
16875
|
-
"
|
|
16876
|
-
"
|
|
16877
|
-
"
|
|
16820
|
+
"video/audio/wav": true,
|
|
16821
|
+
"video/jpeg2000": true,
|
|
16822
|
+
"video/mp4": true,
|
|
16823
|
+
"video/text/timestamp": true,
|
|
16824
|
+
"video/videoframe/jpeg2000": true,
|
|
16825
|
+
"video/webm": true
|
|
16878
16826
|
},
|
|
16827
|
+
supportsImages: true,
|
|
16828
|
+
supportsThinking: true,
|
|
16829
|
+
supportsVideo: true,
|
|
16830
|
+
tagDescription: "Limited time",
|
|
16831
|
+
tagTitle: "Fast",
|
|
16832
|
+
thinkingBudget: 4e3
|
|
16833
|
+
},
|
|
16834
|
+
"gemini-3.6-flash-high": {
|
|
16835
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16836
|
+
displayName: "Gemini 3.6 Flash (High)",
|
|
16837
|
+
maxOutputTokens: 65536,
|
|
16838
|
+
maxTokens: 1048576,
|
|
16839
|
+
minThinkingBudget: 32,
|
|
16840
|
+
model: "MODEL_PLACEHOLDER_M71",
|
|
16879
16841
|
modelExperiments: {
|
|
16880
16842
|
experiments: {
|
|
16881
16843
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16882
|
-
stringValue: '{\n "strategy": "
|
|
16844
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16845
|
+
},
|
|
16846
|
+
"cascade-include-ephemeral-message": {
|
|
16847
|
+
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
16883
16848
|
},
|
|
16884
16849
|
template__system_prompts__communication_style: {
|
|
16885
|
-
stringValue:
|
|
16850
|
+
stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
|
|
16851
|
+
},
|
|
16852
|
+
template__system_prompts__guidelines: {
|
|
16853
|
+
stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
|
|
16854
|
+
},
|
|
16855
|
+
template__system_prompts__messaging: {
|
|
16856
|
+
stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
|
|
16886
16857
|
}
|
|
16887
16858
|
}
|
|
16888
|
-
}
|
|
16889
|
-
},
|
|
16890
|
-
"gemini-3.7-flash-high": {
|
|
16891
|
-
displayName: "Gemini 3.7 Flash (High)",
|
|
16892
|
-
supportsImages: true,
|
|
16893
|
-
supportsThinking: true,
|
|
16894
|
-
thinkingBudget: -1,
|
|
16895
|
-
minThinkingBudget: 32,
|
|
16896
|
-
recommended: true,
|
|
16897
|
-
maxTokens: 1048576,
|
|
16898
|
-
maxOutputTokens: 65536,
|
|
16899
|
-
quotaInfo: {
|
|
16900
|
-
remainingFraction: 0.9783466,
|
|
16901
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16902
16859
|
},
|
|
16903
|
-
model: "MODEL_PLACEHOLDER_M298",
|
|
16904
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16905
16860
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16906
|
-
|
|
16907
|
-
|
|
16908
|
-
|
|
16861
|
+
quotaInfo: {
|
|
16862
|
+
remainingFraction: 0.9765516,
|
|
16863
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
16864
|
+
},
|
|
16865
|
+
recommended: true,
|
|
16909
16866
|
supportedMimeTypes: {
|
|
16910
|
-
"audio/webm;codecs=opus": true,
|
|
16911
|
-
"text/javascript": true,
|
|
16912
|
-
"text/html": true,
|
|
16913
|
-
"application/x-javascript": true,
|
|
16914
|
-
"text/x-python-script": true,
|
|
16915
|
-
"audio/mpeg": true,
|
|
16916
|
-
"image/jpeg": true,
|
|
16917
|
-
"text/rtf": true,
|
|
16918
|
-
"audio/aac": true,
|
|
16919
|
-
"text/csv": true,
|
|
16920
|
-
"application/pdf": true,
|
|
16921
|
-
"text/markdown": true,
|
|
16922
|
-
"audio/wav": true,
|
|
16923
|
-
"audio/wave": true,
|
|
16924
16867
|
"application/json": true,
|
|
16868
|
+
"application/pdf": true,
|
|
16869
|
+
"application/rtf": true,
|
|
16870
|
+
"application/x-ipynb+json": true,
|
|
16871
|
+
"application/x-javascript": true,
|
|
16925
16872
|
"application/x-python-code": true,
|
|
16926
|
-
"
|
|
16927
|
-
"
|
|
16928
|
-
"audio/x-wav": true,
|
|
16873
|
+
"application/x-typescript": true,
|
|
16874
|
+
"audio/aac": true,
|
|
16929
16875
|
"audio/flac": true,
|
|
16876
|
+
"audio/l16": true,
|
|
16930
16877
|
"audio/m4a": true,
|
|
16931
|
-
"audio/
|
|
16932
|
-
"
|
|
16878
|
+
"audio/mp3": true,
|
|
16879
|
+
"audio/mp4": true,
|
|
16880
|
+
"audio/mpeg": true,
|
|
16933
16881
|
"audio/ogg": true,
|
|
16934
|
-
"
|
|
16882
|
+
"audio/opus": true,
|
|
16883
|
+
"audio/vnd.wave": true,
|
|
16884
|
+
"audio/wav": true,
|
|
16885
|
+
"audio/wave": true,
|
|
16935
16886
|
"audio/webm": true,
|
|
16887
|
+
"audio/webm;codecs=opus": true,
|
|
16888
|
+
"audio/x-wav": true,
|
|
16889
|
+
"image/heic": true,
|
|
16936
16890
|
"image/heif": true,
|
|
16937
|
-
"
|
|
16938
|
-
"application/x-typescript": true,
|
|
16939
|
-
"audio/l16": true,
|
|
16940
|
-
"audio/opus": true,
|
|
16941
|
-
"text/css": true,
|
|
16942
|
-
"video/audio/s16le": true,
|
|
16943
|
-
"video/jpeg2000": true,
|
|
16944
|
-
"application/x-ipynb+json": true,
|
|
16945
|
-
"video/audio/wav": true,
|
|
16946
|
-
"video/videoframe/jpeg2000": true,
|
|
16891
|
+
"image/jpeg": true,
|
|
16947
16892
|
"image/png": true,
|
|
16948
16893
|
"image/webp": true,
|
|
16949
|
-
"
|
|
16950
|
-
"
|
|
16894
|
+
"text/css": true,
|
|
16895
|
+
"text/csv": true,
|
|
16896
|
+
"text/html": true,
|
|
16897
|
+
"text/javascript": true,
|
|
16898
|
+
"text/markdown": true,
|
|
16951
16899
|
"text/plain": true,
|
|
16900
|
+
"text/rtf": true,
|
|
16901
|
+
"text/x-python": true,
|
|
16902
|
+
"text/x-python-script": true,
|
|
16903
|
+
"text/x-typescript": true,
|
|
16952
16904
|
"text/xml": true,
|
|
16953
|
-
"audio/
|
|
16954
|
-
"audio/
|
|
16905
|
+
"video/audio/s16le": true,
|
|
16906
|
+
"video/audio/wav": true,
|
|
16907
|
+
"video/jpeg2000": true,
|
|
16908
|
+
"video/mp4": true,
|
|
16909
|
+
"video/text/timestamp": true,
|
|
16910
|
+
"video/videoframe/jpeg2000": true,
|
|
16911
|
+
"video/webm": true
|
|
16955
16912
|
},
|
|
16913
|
+
supportsImages: true,
|
|
16914
|
+
supportsThinking: true,
|
|
16915
|
+
supportsVideo: true,
|
|
16916
|
+
tagDescription: "Limited time",
|
|
16917
|
+
tagTitle: "Fast",
|
|
16918
|
+
thinkingBudget: -1
|
|
16919
|
+
},
|
|
16920
|
+
"gemini-3.6-flash-low": {
|
|
16921
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16922
|
+
displayName: "Gemini 3.6 Flash (Low)",
|
|
16923
|
+
maxOutputTokens: 65536,
|
|
16924
|
+
maxTokens: 1048576,
|
|
16925
|
+
minThinkingBudget: 32,
|
|
16926
|
+
model: "MODEL_PLACEHOLDER_M73",
|
|
16956
16927
|
modelExperiments: {
|
|
16957
16928
|
experiments: {
|
|
16929
|
+
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16930
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16931
|
+
},
|
|
16958
16932
|
"cascade-include-ephemeral-message": {
|
|
16959
16933
|
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
16960
16934
|
},
|
|
16961
|
-
|
|
16962
|
-
stringValue: "\
|
|
16935
|
+
template__system_prompts__communication_style: {
|
|
16936
|
+
stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- You can render LaTeX math (KaTeX): inline with `\\(...\\)` or `$...$`, display with `\\[...\\]` or `$$...$$` placed on its own line.\n- Use math only for genuine mathematical content. Use backticks for code, identifiers, paths, flags, and shell variables.\n- `$` opens inline math, so write a literal dollar as `\\$` or wrap it in backticks. Two unescaped `$` in the same paragraph turn everything between them into math \u2014 this bites prices (`\\$100`) and shell syntax written in prose (`$HOME`, awk `$1`).\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [utils.py](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n- After launching a background task such as 'run_command', YOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: \nA) either proceed to other relevant work (if any) or, \nB) simply update the user with a short message (e.g. 'task-20 has been launched in the background. I will wait for it to complete before proceeding.') and end the turn.\nDO NOTHING ELSE.\n"
|
|
16963
16937
|
},
|
|
16964
|
-
|
|
16965
|
-
stringValue:
|
|
16938
|
+
template__system_prompts__guidelines: {
|
|
16939
|
+
stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
|
|
16940
|
+
},
|
|
16941
|
+
template__system_prompts__messaging: {
|
|
16942
|
+
stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
|
|
16966
16943
|
}
|
|
16967
16944
|
}
|
|
16968
|
-
}
|
|
16969
|
-
},
|
|
16970
|
-
"gemini-2.5-flash-lite": {
|
|
16971
|
-
displayName: "Gemini 3.1 Flash Lite",
|
|
16972
|
-
maxTokens: 1048576,
|
|
16973
|
-
maxOutputTokens: 65535,
|
|
16974
|
-
quotaInfo: {
|
|
16975
|
-
remainingFraction: 0.9783466,
|
|
16976
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
16977
16945
|
},
|
|
16978
|
-
model: "MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE",
|
|
16979
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
16980
16946
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
16981
|
-
modelExperiments: {
|
|
16982
|
-
experiments: {
|
|
16983
|
-
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
16984
|
-
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
16985
|
-
}
|
|
16986
|
-
}
|
|
16987
|
-
}
|
|
16988
|
-
},
|
|
16989
|
-
"gemini-3.6-flash-high": {
|
|
16990
|
-
displayName: "Gemini 3.6 Flash (High)",
|
|
16991
|
-
supportsImages: true,
|
|
16992
|
-
supportsThinking: true,
|
|
16993
|
-
thinkingBudget: -1,
|
|
16994
|
-
minThinkingBudget: 32,
|
|
16995
|
-
recommended: true,
|
|
16996
|
-
maxTokens: 1048576,
|
|
16997
|
-
maxOutputTokens: 65536,
|
|
16998
16947
|
quotaInfo: {
|
|
16999
|
-
remainingFraction: 0.
|
|
17000
|
-
resetTime: "2026-08-
|
|
16948
|
+
remainingFraction: 0.9765516,
|
|
16949
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17001
16950
|
},
|
|
17002
|
-
|
|
17003
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17004
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17005
|
-
supportsVideo: true,
|
|
17006
|
-
tagTitle: "Fast",
|
|
17007
|
-
tagDescription: "Limited time",
|
|
16951
|
+
recommended: true,
|
|
17008
16952
|
supportedMimeTypes: {
|
|
17009
|
-
"
|
|
16953
|
+
"application/json": true,
|
|
16954
|
+
"application/pdf": true,
|
|
16955
|
+
"application/rtf": true,
|
|
16956
|
+
"application/x-ipynb+json": true,
|
|
16957
|
+
"application/x-javascript": true,
|
|
17010
16958
|
"application/x-python-code": true,
|
|
17011
16959
|
"application/x-typescript": true,
|
|
17012
|
-
"
|
|
16960
|
+
"audio/aac": true,
|
|
16961
|
+
"audio/flac": true,
|
|
16962
|
+
"audio/l16": true,
|
|
16963
|
+
"audio/m4a": true,
|
|
16964
|
+
"audio/mp3": true,
|
|
17013
16965
|
"audio/mp4": true,
|
|
17014
|
-
"
|
|
17015
|
-
"audio/
|
|
16966
|
+
"audio/mpeg": true,
|
|
16967
|
+
"audio/ogg": true,
|
|
17016
16968
|
"audio/opus": true,
|
|
16969
|
+
"audio/vnd.wave": true,
|
|
16970
|
+
"audio/wav": true,
|
|
16971
|
+
"audio/wave": true,
|
|
16972
|
+
"audio/webm": true,
|
|
16973
|
+
"audio/webm;codecs=opus": true,
|
|
16974
|
+
"audio/x-wav": true,
|
|
17017
16975
|
"image/heic": true,
|
|
16976
|
+
"image/heif": true,
|
|
16977
|
+
"image/jpeg": true,
|
|
16978
|
+
"image/png": true,
|
|
16979
|
+
"image/webp": true,
|
|
16980
|
+
"text/css": true,
|
|
17018
16981
|
"text/csv": true,
|
|
16982
|
+
"text/html": true,
|
|
16983
|
+
"text/javascript": true,
|
|
16984
|
+
"text/markdown": true,
|
|
16985
|
+
"text/plain": true,
|
|
17019
16986
|
"text/rtf": true,
|
|
17020
|
-
"
|
|
16987
|
+
"text/x-python": true,
|
|
16988
|
+
"text/x-python-script": true,
|
|
16989
|
+
"text/x-typescript": true,
|
|
16990
|
+
"text/xml": true,
|
|
17021
16991
|
"video/audio/s16le": true,
|
|
16992
|
+
"video/audio/wav": true,
|
|
16993
|
+
"video/jpeg2000": true,
|
|
17022
16994
|
"video/mp4": true,
|
|
17023
|
-
"text/xml": true,
|
|
17024
16995
|
"video/text/timestamp": true,
|
|
17025
|
-
"application/rtf": true,
|
|
17026
|
-
"application/x-javascript": true,
|
|
17027
|
-
"image/jpeg": true,
|
|
17028
|
-
"text/x-python-script": true,
|
|
17029
|
-
"video/jpeg2000": true,
|
|
17030
|
-
"audio/vnd.wave": true,
|
|
17031
|
-
"text/x-python": true,
|
|
17032
|
-
"text/javascript": true,
|
|
17033
16996
|
"video/videoframe/jpeg2000": true,
|
|
17034
|
-
"
|
|
17035
|
-
"audio/flac": true,
|
|
17036
|
-
"text/markdown": true,
|
|
17037
|
-
"audio/l16": true,
|
|
17038
|
-
"application/json": true,
|
|
17039
|
-
"audio/wav": true,
|
|
17040
|
-
"audio/ogg": true,
|
|
17041
|
-
"video/webm": true,
|
|
17042
|
-
"text/html": true,
|
|
17043
|
-
"audio/mp3": true,
|
|
17044
|
-
"video/audio/wav": true,
|
|
17045
|
-
"audio/mpeg": true,
|
|
17046
|
-
"audio/m4a": true,
|
|
17047
|
-
"audio/webm;codecs=opus": true,
|
|
17048
|
-
"audio/webm": true,
|
|
17049
|
-
"image/png": true,
|
|
17050
|
-
"text/x-typescript": true,
|
|
17051
|
-
"image/heif": true,
|
|
17052
|
-
"text/plain": true,
|
|
17053
|
-
"application/pdf": true
|
|
16997
|
+
"video/webm": true
|
|
17054
16998
|
},
|
|
16999
|
+
supportsImages: true,
|
|
17000
|
+
supportsThinking: true,
|
|
17001
|
+
supportsVideo: true,
|
|
17002
|
+
tagDescription: "Limited time",
|
|
17003
|
+
tagTitle: "Fast",
|
|
17004
|
+
thinkingBudget: 1e3
|
|
17005
|
+
},
|
|
17006
|
+
"gemini-3.6-flash-medium": {
|
|
17007
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17008
|
+
displayName: "Gemini 3.6 Flash (Medium)",
|
|
17009
|
+
maxOutputTokens: 65536,
|
|
17010
|
+
maxTokens: 1048576,
|
|
17011
|
+
minThinkingBudget: 32,
|
|
17012
|
+
model: "MODEL_PLACEHOLDER_M72",
|
|
17055
17013
|
modelExperiments: {
|
|
17056
17014
|
experiments: {
|
|
17057
|
-
template__system_prompts__messaging: {
|
|
17058
|
-
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."
|
|
17059
|
-
},
|
|
17060
17015
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17061
17016
|
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17062
17017
|
},
|
|
@@ -17068,177 +17023,162 @@ var models_default = {
|
|
|
17068
17023
|
},
|
|
17069
17024
|
template__system_prompts__guidelines: {
|
|
17070
17025
|
stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
|
|
17026
|
+
},
|
|
17027
|
+
template__system_prompts__messaging: {
|
|
17028
|
+
stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
|
|
17071
17029
|
}
|
|
17072
17030
|
}
|
|
17073
|
-
}
|
|
17074
|
-
},
|
|
17075
|
-
"gemini-2.5-flash": {
|
|
17076
|
-
displayName: "Gemini 3.1 Flash Lite",
|
|
17077
|
-
maxTokens: 1048576,
|
|
17078
|
-
maxOutputTokens: 65535,
|
|
17079
|
-
quotaInfo: {
|
|
17080
|
-
remainingFraction: 0.9783466,
|
|
17081
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
17082
17031
|
},
|
|
17083
|
-
model: "MODEL_GOOGLE_GEMINI_2_5_FLASH",
|
|
17084
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17085
17032
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17086
|
-
modelExperiments: {
|
|
17087
|
-
experiments: {
|
|
17088
|
-
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17089
|
-
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17090
|
-
}
|
|
17091
|
-
}
|
|
17092
|
-
}
|
|
17093
|
-
},
|
|
17094
|
-
"gemini-3.1-pro-high": {
|
|
17095
|
-
displayName: "Gemini 3.1 Pro (High)",
|
|
17096
|
-
supportsImages: true,
|
|
17097
|
-
supportsThinking: true,
|
|
17098
|
-
thinkingBudget: 10001,
|
|
17099
|
-
minThinkingBudget: 128,
|
|
17100
|
-
recommended: true,
|
|
17101
|
-
maxTokens: 1048576,
|
|
17102
|
-
maxOutputTokens: 65535,
|
|
17103
17033
|
quotaInfo: {
|
|
17104
|
-
remainingFraction: 0.
|
|
17105
|
-
resetTime: "2026-08-
|
|
17034
|
+
remainingFraction: 0.9765516,
|
|
17035
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17106
17036
|
},
|
|
17107
|
-
|
|
17108
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17109
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17110
|
-
supportsVideo: true,
|
|
17111
|
-
tagTitle: "New",
|
|
17037
|
+
recommended: true,
|
|
17112
17038
|
supportedMimeTypes: {
|
|
17113
|
-
"
|
|
17114
|
-
"
|
|
17115
|
-
"
|
|
17116
|
-
"image/png": true,
|
|
17039
|
+
"application/json": true,
|
|
17040
|
+
"application/pdf": true,
|
|
17041
|
+
"application/rtf": true,
|
|
17117
17042
|
"application/x-ipynb+json": true,
|
|
17118
|
-
"
|
|
17119
|
-
"text/rtf": true,
|
|
17043
|
+
"application/x-javascript": true,
|
|
17120
17044
|
"application/x-python-code": true,
|
|
17121
|
-
"application/
|
|
17122
|
-
"
|
|
17123
|
-
"
|
|
17045
|
+
"application/x-typescript": true,
|
|
17046
|
+
"audio/aac": true,
|
|
17047
|
+
"audio/flac": true,
|
|
17124
17048
|
"audio/l16": true,
|
|
17125
|
-
"
|
|
17126
|
-
"
|
|
17049
|
+
"audio/m4a": true,
|
|
17050
|
+
"audio/mp3": true,
|
|
17051
|
+
"audio/mp4": true,
|
|
17052
|
+
"audio/mpeg": true,
|
|
17053
|
+
"audio/ogg": true,
|
|
17127
17054
|
"audio/opus": true,
|
|
17128
|
-
"
|
|
17055
|
+
"audio/vnd.wave": true,
|
|
17056
|
+
"audio/wav": true,
|
|
17057
|
+
"audio/wave": true,
|
|
17058
|
+
"audio/webm": true,
|
|
17129
17059
|
"audio/webm;codecs=opus": true,
|
|
17130
|
-
"
|
|
17131
|
-
"video/audio/wav": true,
|
|
17132
|
-
"audio/ogg": true,
|
|
17133
|
-
"audio/mp3": true,
|
|
17134
|
-
"audio/aac": true,
|
|
17135
|
-
"application/x-javascript": true,
|
|
17136
|
-
"text/csv": true,
|
|
17137
|
-
"text/css": true,
|
|
17060
|
+
"audio/x-wav": true,
|
|
17138
17061
|
"image/heic": true,
|
|
17139
|
-
"
|
|
17140
|
-
"text/javascript": true,
|
|
17062
|
+
"image/heif": true,
|
|
17141
17063
|
"image/jpeg": true,
|
|
17142
|
-
"
|
|
17143
|
-
"video/videoframe/jpeg2000": true,
|
|
17144
|
-
"audio/webm": true,
|
|
17145
|
-
"video/text/timestamp": true,
|
|
17146
|
-
"audio/vnd.wave": true,
|
|
17147
|
-
"audio/x-wav": true,
|
|
17148
|
-
"video/webm": true,
|
|
17149
|
-
"audio/m4a": true,
|
|
17150
|
-
"audio/mp4": true,
|
|
17151
|
-
"text/x-python-script": true,
|
|
17064
|
+
"image/png": true,
|
|
17152
17065
|
"image/webp": true,
|
|
17066
|
+
"text/css": true,
|
|
17067
|
+
"text/csv": true,
|
|
17068
|
+
"text/html": true,
|
|
17069
|
+
"text/javascript": true,
|
|
17070
|
+
"text/markdown": true,
|
|
17153
17071
|
"text/plain": true,
|
|
17072
|
+
"text/rtf": true,
|
|
17073
|
+
"text/x-python": true,
|
|
17074
|
+
"text/x-python-script": true,
|
|
17154
17075
|
"text/x-typescript": true,
|
|
17155
|
-
"
|
|
17156
|
-
"audio/
|
|
17157
|
-
"video/
|
|
17076
|
+
"text/xml": true,
|
|
17077
|
+
"video/audio/s16le": true,
|
|
17078
|
+
"video/audio/wav": true,
|
|
17079
|
+
"video/jpeg2000": true,
|
|
17080
|
+
"video/mp4": true,
|
|
17081
|
+
"video/text/timestamp": true,
|
|
17082
|
+
"video/videoframe/jpeg2000": true,
|
|
17083
|
+
"video/webm": true
|
|
17158
17084
|
},
|
|
17085
|
+
supportsImages: true,
|
|
17086
|
+
supportsThinking: true,
|
|
17087
|
+
supportsVideo: true,
|
|
17088
|
+
tagDescription: "Limited time",
|
|
17089
|
+
tagTitle: "Fast",
|
|
17090
|
+
thinkingBudget: 4e3
|
|
17091
|
+
},
|
|
17092
|
+
"gemini-3.6-flash-tiered": {
|
|
17093
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17094
|
+
maxOutputTokens: 65536,
|
|
17095
|
+
maxTokens: 1048576,
|
|
17096
|
+
minThinkingBudget: 32,
|
|
17097
|
+
model: "MODEL_PLACEHOLDER_M196",
|
|
17159
17098
|
modelExperiments: {
|
|
17160
17099
|
experiments: {
|
|
17161
|
-
template__system_prompts__planning_mode_artifacts: {
|
|
17162
|
-
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"
|
|
17163
|
-
},
|
|
17164
17100
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17165
|
-
stringValue: '{\n "strategy": "
|
|
17101
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17166
17102
|
},
|
|
17167
17103
|
"cascade-include-ephemeral-message": {
|
|
17168
|
-
stringValue: '{\n "enabled":
|
|
17104
|
+
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
17169
17105
|
},
|
|
17170
17106
|
template__system_prompts__communication_style: {
|
|
17171
|
-
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., [
|
|
17107
|
+
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"
|
|
17108
|
+
},
|
|
17109
|
+
template__system_prompts__guidelines: {
|
|
17110
|
+
stringValue: "Follow these behavioral and workflow guidelines at all times:\n# Documentation\n- Maintain documentation integrity. Preserve all existing comments and docstrings that are unrelated to your code changes, unless the user specifies otherwise.\n\n# Obey Explicit Directives\nIf the user specifies precise quantitative filtering rules, layout boundaries, or architectural preferences, enforce them exactly as requested without alteration.\n\n# Never Guess Code Logic, Schemas, or File Paths\nNEVER infer implementation details, variable names, or file locations without inspecting the authoritative source using code search and file viewing tools.\n\n# Inspect Logs & Stack Traces Before Diagnosing Errors\nNEVER form a diagnostic hypothesis for a runtime failure, or test breakage, without reading the full, un-truncated error log. When an error occurs, your VERY FIRST ACTION must be to fetch and read the exact logs. Base your diagnosis strictly on empirical log evidence.\n\n# No Superficial Symptom Patches\nNEVER resolve errors by masking symptoms, swallowing exceptions, returning dummy fallbacks, commenting out broken assertions, or deleting failing unit tests. When a test or function fails, identify why the underlying contract was broken. If an API returns missing or null data, trace the upstream data provider instead of wrapping the call in a silent try/except or returning an empty 0-byte ArrayBuffer.\n\n# Never Declare Success Without Running Verification Commands\nNEVER claim a task is resolved, a bug is fixed, or a feature is working until you have gathered concrete, empirical runtime verification demonstrating clean success. Editing a file does not equal completing the task. You MUST run the build or test command afterwards.\n\n# Never Ignore Explicit Command Failures or Error Exit Codes\nIf a command fails, you MUST explicitly acknowledge the failure to the user or continue debugging. Never gloss over a build timeout or permission denied error by focusing only on the part of the code that compiled.\n\n# Check Feature Flags & Enforce Strict Control Flow Scoping\nWhenever modifying conditional branches, adding experimental features, or processing loops, ensure that new logic is strictly scoped and evaluated against all possible execution paths.\n\n# Preserve Existing API Contracts & Avoid Unintended Side Effects\nIf you modify a function signature, use code search to find and update every invocation site so the parameter is actually passed.\n\n# Silent Log Inspection & Professional Synthesis\nWhen background tasks (run_command async, manage_task, schedule) complete or emit log notifications, inspect the log files silently. Summarize and synthesize the exact findings in clean, professional natural language.\n\n# No Snippet Tunnel Vision\nNever infer the definition of data structures (proto, struct, class, or enum schemas) from partial file views (first 15 lines or L40-L65 snippets) or design doc text.\nIf view_file output indicates truncation or if an imported schema is referenced, you MUST adjust StartLine/EndLine or ContentOffset to inspect the complete, exact definition of the target symbols before writing code that consumes them.\n\n# Check Command Registries\nWhenever modifying core C/C++/Java command implementations (CLIENT LIST, CLIENT KILL), explicitly search for and update corresponding command definitions across all registry files (commands.def, JSON schemas, .bzl build manifests).\n\n# Audit Before Re-inventing\nSearch the codebase and recent commit history for pre-existing utility classes or decoupled architecture before writing custom helper classes from scratch.\n\n# No Blocking Calls on Main Looper Threads\nNever invoke blocking thread synchronizations (webLatch.await(500, ...), Future.get()) on main Android UI loops or single-threaded event dispatchers. \n\n# Thread Pool Shutdown Safety\nWhen modifying worker thread loops or shared queues, ensure emergency stop/shutdown signals and loop termination criteria remain intact so thread join operations never deadlock.\n\n# Exact Argument Structure\nPass arguments exactly as expected by the API (calculateRoute({ origin, destination, travelMode }) vs calculateRoute(origin, destination, travelMode)).\n\n# Local State Mutation Only\nDo not mutate private third-party DOM properties. Do not push incomplete draft objects directly into global array states; keep transient state within local component state.\n\n# Traceback Justification Required\nEvery code or configuration edit during debugging MUST be justified by an explicit error traceback, log line, or verified root cause. If the root cause is unknown, investigate further before mutating code.\n\n# Analyze Before Retrying\nNever repeat the exact same broken test or shell command line with duplicate/conflicting arguments without analyzing and resolving why the previous command failed.\n\n# Persevere on Log Extraction\nIf a log retrieval command fails, NEVER abandon log extraction to diagnose blindly. Immediately switch to alternative tools to inspect the actual failure traceback.\n\n# Verify Signatures & Prop Names\nCheck exact variable names, component prop keys, and method signatures before passing them. Prevent NullPointerException, AttributeError, KeyError, and ReferenceError crashes by explicitly verifying object initialization and non-null states before property dereferencing (layer._path, stat.owner()).\n\n# Dynamic Layout Math\nAvoid hardcoding static pixel offsets (+ 12) or arbitrary multipliers (pill_font_size * 2.0) when computing dynamic UI layout heights; calculate exact container bounds from wrapped elements.\n"
|
|
17111
|
+
},
|
|
17112
|
+
template__system_prompts__messaging: {
|
|
17113
|
+
stringValue: "You are connected to a messaging system where you may receive messages from: {{- $subagent := .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled -}}\n{{- $message := .CascadeConfig.GetMessageConfig.GetEnabled -}}\n{{- if and $subagent $message }} agents, background tasks, user-queued messages\n{{- else if $subagent }} agents, background tasks\n{{- else if $message }} background tasks, user-queued messages\n{{- else }} background tasks\n{{- end }}.\n\n## Receiving Messages\n\nYou receive messages automatically at the start of each invocation. All messages are delivered in full directly into your context \u2014 no manual retrieval is needed.\n\n## Reactive Wakeup (No Polling Needed)\n\nThe system automatically resumes your execution when:\n{{- if .CascadeConfig.GetPlannerConfig.GetToolConfig.GetInvokeSubagent.GetEnabled }}\n- A message arrives from a subagent or peer agent\n{{- end }}\n- A **background task** completes or sends you a notification\n{{- if .CascadeConfig.GetMessageConfig.GetEnabled }}\n- A **user-queued message** is ready to be dequeued\n{{- end }}\n\nThis means you do **NOT** need to poll in a loop while waiting for messages or updates. After launching a task that runs in the background, you may continue other work or simply stop by calling no more tools. The system will notify you when there is something to process."
|
|
17172
17114
|
}
|
|
17173
17115
|
}
|
|
17174
|
-
}
|
|
17175
|
-
},
|
|
17176
|
-
"gemini-3.7-flash-medium": {
|
|
17177
|
-
displayName: "Gemini 3.7 Flash (Medium)",
|
|
17178
|
-
supportsImages: true,
|
|
17179
|
-
supportsThinking: true,
|
|
17180
|
-
thinkingBudget: 4e3,
|
|
17181
|
-
minThinkingBudget: 32,
|
|
17182
|
-
recommended: true,
|
|
17183
|
-
maxTokens: 1048576,
|
|
17184
|
-
maxOutputTokens: 65536,
|
|
17185
|
-
quotaInfo: {
|
|
17186
|
-
remainingFraction: 0.9783466,
|
|
17187
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
17188
17116
|
},
|
|
17189
|
-
model: "MODEL_PLACEHOLDER_M299",
|
|
17190
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17191
17117
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17192
|
-
|
|
17193
|
-
|
|
17194
|
-
|
|
17118
|
+
quotaInfo: {
|
|
17119
|
+
remainingFraction: 0.9765516,
|
|
17120
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17121
|
+
},
|
|
17122
|
+
recommended: true,
|
|
17195
17123
|
supportedMimeTypes: {
|
|
17196
|
-
"
|
|
17197
|
-
"
|
|
17198
|
-
"
|
|
17124
|
+
"application/json": true,
|
|
17125
|
+
"application/pdf": true,
|
|
17126
|
+
"application/rtf": true,
|
|
17127
|
+
"application/x-ipynb+json": true,
|
|
17128
|
+
"application/x-javascript": true,
|
|
17129
|
+
"application/x-python-code": true,
|
|
17130
|
+
"application/x-typescript": true,
|
|
17131
|
+
"audio/aac": true,
|
|
17199
17132
|
"audio/flac": true,
|
|
17200
|
-
"audio/
|
|
17201
|
-
"text/markdown": true,
|
|
17133
|
+
"audio/l16": true,
|
|
17202
17134
|
"audio/m4a": true,
|
|
17203
|
-
"
|
|
17204
|
-
"
|
|
17135
|
+
"audio/mp3": true,
|
|
17136
|
+
"audio/mp4": true,
|
|
17137
|
+
"audio/mpeg": true,
|
|
17138
|
+
"audio/ogg": true,
|
|
17139
|
+
"audio/opus": true,
|
|
17140
|
+
"audio/vnd.wave": true,
|
|
17141
|
+
"audio/wav": true,
|
|
17142
|
+
"audio/wave": true,
|
|
17143
|
+
"audio/webm": true,
|
|
17205
17144
|
"audio/webm;codecs=opus": true,
|
|
17145
|
+
"audio/x-wav": true,
|
|
17146
|
+
"image/heic": true,
|
|
17206
17147
|
"image/heif": true,
|
|
17207
|
-
"
|
|
17208
|
-
"audio/webm": true,
|
|
17148
|
+
"image/jpeg": true,
|
|
17209
17149
|
"image/png": true,
|
|
17210
|
-
"audio/mp4": true,
|
|
17211
17150
|
"image/webp": true,
|
|
17151
|
+
"text/css": true,
|
|
17152
|
+
"text/csv": true,
|
|
17153
|
+
"text/html": true,
|
|
17154
|
+
"text/javascript": true,
|
|
17155
|
+
"text/markdown": true,
|
|
17156
|
+
"text/plain": true,
|
|
17157
|
+
"text/rtf": true,
|
|
17158
|
+
"text/x-python": true,
|
|
17212
17159
|
"text/x-python-script": true,
|
|
17213
|
-
"
|
|
17160
|
+
"text/x-typescript": true,
|
|
17161
|
+
"text/xml": true,
|
|
17214
17162
|
"video/audio/s16le": true,
|
|
17215
|
-
"audio/wave": true,
|
|
17216
|
-
"video/mp4": true,
|
|
17217
|
-
"audio/x-wav": true,
|
|
17218
|
-
"audio/mpeg": true,
|
|
17219
|
-
"application/pdf": true,
|
|
17220
|
-
"audio/l16": true,
|
|
17221
17163
|
"video/audio/wav": true,
|
|
17222
|
-
"application/json": true,
|
|
17223
|
-
"video/webm": true,
|
|
17224
|
-
"video/text/timestamp": true,
|
|
17225
17164
|
"video/jpeg2000": true,
|
|
17226
|
-
"
|
|
17227
|
-
"text/
|
|
17228
|
-
"
|
|
17229
|
-
"
|
|
17230
|
-
"text/x-python": true,
|
|
17231
|
-
"audio/mp3": true,
|
|
17232
|
-
"application/x-typescript": true,
|
|
17233
|
-
"audio/ogg": true,
|
|
17234
|
-
"audio/aac": true,
|
|
17235
|
-
"text/rtf": true,
|
|
17236
|
-
"application/x-javascript": true,
|
|
17237
|
-
"text/javascript": true,
|
|
17238
|
-
"text/csv": true,
|
|
17239
|
-
"text/css": true,
|
|
17240
|
-
"audio/wav": true
|
|
17165
|
+
"video/mp4": true,
|
|
17166
|
+
"video/text/timestamp": true,
|
|
17167
|
+
"video/videoframe/jpeg2000": true,
|
|
17168
|
+
"video/webm": true
|
|
17241
17169
|
},
|
|
17170
|
+
supportsImages: true,
|
|
17171
|
+
supportsThinking: true,
|
|
17172
|
+
supportsVideo: true,
|
|
17173
|
+
thinkingBudget: -1
|
|
17174
|
+
},
|
|
17175
|
+
"gemini-3.7-flash-high": {
|
|
17176
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17177
|
+
displayName: "Gemini 3.7 Flash (High)",
|
|
17178
|
+
maxOutputTokens: 65536,
|
|
17179
|
+
maxTokens: 1048576,
|
|
17180
|
+
minThinkingBudget: 32,
|
|
17181
|
+
model: "MODEL_PLACEHOLDER_M298",
|
|
17242
17182
|
modelExperiments: {
|
|
17243
17183
|
experiments: {
|
|
17244
17184
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
@@ -17251,498 +17191,461 @@ var models_default = {
|
|
|
17251
17191
|
stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
|
|
17252
17192
|
}
|
|
17253
17193
|
}
|
|
17254
|
-
}
|
|
17255
|
-
},
|
|
17256
|
-
"gemini-3.6-flash-low": {
|
|
17257
|
-
displayName: "Gemini 3.6 Flash (Low)",
|
|
17258
|
-
supportsImages: true,
|
|
17259
|
-
supportsThinking: true,
|
|
17260
|
-
thinkingBudget: 1e3,
|
|
17261
|
-
minThinkingBudget: 32,
|
|
17262
|
-
recommended: true,
|
|
17263
|
-
maxTokens: 1048576,
|
|
17264
|
-
maxOutputTokens: 65536,
|
|
17265
|
-
quotaInfo: {
|
|
17266
|
-
remainingFraction: 0.9783466,
|
|
17267
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
17268
17194
|
},
|
|
17269
|
-
model: "MODEL_PLACEHOLDER_M73",
|
|
17270
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17271
17195
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17272
|
-
|
|
17273
|
-
|
|
17274
|
-
|
|
17196
|
+
quotaInfo: {
|
|
17197
|
+
remainingFraction: 0.9765516,
|
|
17198
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17199
|
+
},
|
|
17200
|
+
recommended: true,
|
|
17275
17201
|
supportedMimeTypes: {
|
|
17276
|
-
"
|
|
17202
|
+
"application/json": true,
|
|
17277
17203
|
"application/pdf": true,
|
|
17278
|
-
"
|
|
17279
|
-
"text/xml": true,
|
|
17280
|
-
"audio/x-wav": true,
|
|
17281
|
-
"audio/flac": true,
|
|
17282
|
-
"audio/webm;codecs=opus": true,
|
|
17283
|
-
"audio/vnd.wave": true,
|
|
17284
|
-
"audio/aac": true,
|
|
17204
|
+
"application/rtf": true,
|
|
17285
17205
|
"application/x-ipynb+json": true,
|
|
17206
|
+
"application/x-javascript": true,
|
|
17207
|
+
"application/x-python-code": true,
|
|
17208
|
+
"application/x-typescript": true,
|
|
17209
|
+
"audio/aac": true,
|
|
17210
|
+
"audio/flac": true,
|
|
17211
|
+
"audio/l16": true,
|
|
17212
|
+
"audio/m4a": true,
|
|
17213
|
+
"audio/mp3": true,
|
|
17214
|
+
"audio/mp4": true,
|
|
17286
17215
|
"audio/mpeg": true,
|
|
17216
|
+
"audio/ogg": true,
|
|
17217
|
+
"audio/opus": true,
|
|
17218
|
+
"audio/vnd.wave": true,
|
|
17287
17219
|
"audio/wav": true,
|
|
17288
|
-
"audio/
|
|
17289
|
-
"
|
|
17290
|
-
"audio/
|
|
17291
|
-
"
|
|
17292
|
-
"application/x-python-code": true,
|
|
17293
|
-
"text/csv": true,
|
|
17220
|
+
"audio/wave": true,
|
|
17221
|
+
"audio/webm": true,
|
|
17222
|
+
"audio/webm;codecs=opus": true,
|
|
17223
|
+
"audio/x-wav": true,
|
|
17294
17224
|
"image/heic": true,
|
|
17295
|
-
"
|
|
17296
|
-
"
|
|
17297
|
-
"
|
|
17225
|
+
"image/heif": true,
|
|
17226
|
+
"image/jpeg": true,
|
|
17227
|
+
"image/png": true,
|
|
17298
17228
|
"image/webp": true,
|
|
17299
|
-
"
|
|
17300
|
-
"text/
|
|
17229
|
+
"text/css": true,
|
|
17230
|
+
"text/csv": true,
|
|
17231
|
+
"text/html": true,
|
|
17232
|
+
"text/javascript": true,
|
|
17301
17233
|
"text/markdown": true,
|
|
17302
|
-
"
|
|
17303
|
-
"text/x-typescript": true,
|
|
17304
|
-
"audio/wave": true,
|
|
17305
|
-
"application/json": true,
|
|
17234
|
+
"text/plain": true,
|
|
17306
17235
|
"text/rtf": true,
|
|
17307
|
-
"
|
|
17308
|
-
"text/
|
|
17236
|
+
"text/x-python": true,
|
|
17237
|
+
"text/x-python-script": true,
|
|
17238
|
+
"text/x-typescript": true,
|
|
17239
|
+
"text/xml": true,
|
|
17240
|
+
"video/audio/s16le": true,
|
|
17241
|
+
"video/audio/wav": true,
|
|
17309
17242
|
"video/jpeg2000": true,
|
|
17310
17243
|
"video/mp4": true,
|
|
17311
|
-
"application/rtf": true,
|
|
17312
|
-
"text/javascript": true,
|
|
17313
|
-
"image/jpeg": true,
|
|
17314
17244
|
"video/text/timestamp": true,
|
|
17315
|
-
"
|
|
17316
|
-
"
|
|
17317
|
-
"application/x-typescript": true,
|
|
17318
|
-
"text/plain": true,
|
|
17319
|
-
"image/png": true,
|
|
17320
|
-
"audio/opus": true
|
|
17245
|
+
"video/videoframe/jpeg2000": true,
|
|
17246
|
+
"video/webm": true
|
|
17321
17247
|
},
|
|
17248
|
+
supportsImages: true,
|
|
17249
|
+
supportsThinking: true,
|
|
17250
|
+
supportsVideo: true,
|
|
17251
|
+
tagDescription: "Limited time",
|
|
17252
|
+
tagTitle: "Fast",
|
|
17253
|
+
thinkingBudget: -1
|
|
17254
|
+
},
|
|
17255
|
+
"gemini-3.7-flash-low": {
|
|
17256
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17257
|
+
displayName: "Gemini 3.7 Flash (Low)",
|
|
17258
|
+
maxOutputTokens: 65536,
|
|
17259
|
+
maxTokens: 1048576,
|
|
17260
|
+
minThinkingBudget: 32,
|
|
17261
|
+
model: "MODEL_PLACEHOLDER_M300",
|
|
17322
17262
|
modelExperiments: {
|
|
17323
17263
|
experiments: {
|
|
17324
|
-
template__system_prompts__communication_style: {
|
|
17325
|
-
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"
|
|
17326
|
-
},
|
|
17327
|
-
template__system_prompts__guidelines: {
|
|
17328
|
-
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"
|
|
17329
|
-
},
|
|
17330
|
-
template__system_prompts__messaging: {
|
|
17331
|
-
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."
|
|
17332
|
-
},
|
|
17333
17264
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17334
17265
|
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17335
17266
|
},
|
|
17336
17267
|
"cascade-include-ephemeral-message": {
|
|
17337
17268
|
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
17269
|
+
},
|
|
17270
|
+
"task-details-suffix": {
|
|
17271
|
+
stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
|
|
17338
17272
|
}
|
|
17339
17273
|
}
|
|
17340
|
-
}
|
|
17341
|
-
},
|
|
17342
|
-
"gemini-3-flash-agent": {
|
|
17343
|
-
displayName: "Gemini 3.5 Flash (High)",
|
|
17344
|
-
supportsImages: true,
|
|
17345
|
-
supportsThinking: true,
|
|
17346
|
-
thinkingBudget: -1,
|
|
17347
|
-
minThinkingBudget: 32,
|
|
17348
|
-
recommended: true,
|
|
17349
|
-
maxTokens: 1048576,
|
|
17350
|
-
maxOutputTokens: 65536,
|
|
17351
|
-
quotaInfo: {
|
|
17352
|
-
remainingFraction: 0.9783466,
|
|
17353
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
17354
17274
|
},
|
|
17355
|
-
model: "MODEL_PLACEHOLDER_M84",
|
|
17356
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17357
17275
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17358
|
-
|
|
17359
|
-
|
|
17360
|
-
|
|
17276
|
+
quotaInfo: {
|
|
17277
|
+
remainingFraction: 0.9765516,
|
|
17278
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17279
|
+
},
|
|
17280
|
+
recommended: true,
|
|
17361
17281
|
supportedMimeTypes: {
|
|
17362
|
-
"
|
|
17363
|
-
"
|
|
17364
|
-
"
|
|
17365
|
-
"
|
|
17366
|
-
"
|
|
17367
|
-
"audio/mpeg": true,
|
|
17282
|
+
"application/json": true,
|
|
17283
|
+
"application/pdf": true,
|
|
17284
|
+
"application/rtf": true,
|
|
17285
|
+
"application/x-ipynb+json": true,
|
|
17286
|
+
"application/x-javascript": true,
|
|
17368
17287
|
"application/x-python-code": true,
|
|
17369
|
-
"
|
|
17370
|
-
"text/markdown": true,
|
|
17288
|
+
"application/x-typescript": true,
|
|
17371
17289
|
"audio/aac": true,
|
|
17372
|
-
"audio/
|
|
17373
|
-
"
|
|
17374
|
-
"
|
|
17375
|
-
"
|
|
17376
|
-
"audio/
|
|
17377
|
-
"
|
|
17290
|
+
"audio/flac": true,
|
|
17291
|
+
"audio/l16": true,
|
|
17292
|
+
"audio/m4a": true,
|
|
17293
|
+
"audio/mp3": true,
|
|
17294
|
+
"audio/mp4": true,
|
|
17295
|
+
"audio/mpeg": true,
|
|
17296
|
+
"audio/ogg": true,
|
|
17378
17297
|
"audio/opus": true,
|
|
17298
|
+
"audio/vnd.wave": true,
|
|
17379
17299
|
"audio/wav": true,
|
|
17380
|
-
"text/xml": true,
|
|
17381
17300
|
"audio/wave": true,
|
|
17382
|
-
"
|
|
17383
|
-
"audio/
|
|
17384
|
-
"
|
|
17385
|
-
"text/csv": true,
|
|
17386
|
-
"application/json": true,
|
|
17387
|
-
"text/css": true,
|
|
17388
|
-
"video/text/timestamp": true,
|
|
17389
|
-
"application/x-typescript": true,
|
|
17301
|
+
"audio/webm": true,
|
|
17302
|
+
"audio/webm;codecs=opus": true,
|
|
17303
|
+
"audio/x-wav": true,
|
|
17390
17304
|
"image/heic": true,
|
|
17391
|
-
"video/audio/wav": true,
|
|
17392
17305
|
"image/heif": true,
|
|
17393
|
-
"
|
|
17306
|
+
"image/jpeg": true,
|
|
17394
17307
|
"image/png": true,
|
|
17308
|
+
"image/webp": true,
|
|
17309
|
+
"text/css": true,
|
|
17310
|
+
"text/csv": true,
|
|
17395
17311
|
"text/html": true,
|
|
17396
|
-
"video/videoframe/jpeg2000": true,
|
|
17397
|
-
"image/jpeg": true,
|
|
17398
|
-
"audio/l16": true,
|
|
17399
|
-
"application/rtf": true,
|
|
17400
|
-
"audio/m4a": true,
|
|
17401
|
-
"text/x-python": true,
|
|
17402
|
-
"video/webm": true,
|
|
17403
|
-
"application/x-ipynb+json": true,
|
|
17404
17312
|
"text/javascript": true,
|
|
17313
|
+
"text/markdown": true,
|
|
17314
|
+
"text/plain": true,
|
|
17405
17315
|
"text/rtf": true,
|
|
17406
|
-
"
|
|
17316
|
+
"text/x-python": true,
|
|
17317
|
+
"text/x-python-script": true,
|
|
17318
|
+
"text/x-typescript": true,
|
|
17319
|
+
"text/xml": true,
|
|
17320
|
+
"video/audio/s16le": true,
|
|
17321
|
+
"video/audio/wav": true,
|
|
17322
|
+
"video/jpeg2000": true,
|
|
17323
|
+
"video/mp4": true,
|
|
17324
|
+
"video/text/timestamp": true,
|
|
17325
|
+
"video/videoframe/jpeg2000": true,
|
|
17326
|
+
"video/webm": true
|
|
17407
17327
|
},
|
|
17328
|
+
supportsImages: true,
|
|
17329
|
+
supportsThinking: true,
|
|
17330
|
+
supportsVideo: true,
|
|
17331
|
+
tagDescription: "Limited time",
|
|
17332
|
+
tagTitle: "Fast",
|
|
17333
|
+
thinkingBudget: 1e3
|
|
17334
|
+
},
|
|
17335
|
+
"gemini-3.7-flash-medium": {
|
|
17336
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17337
|
+
displayName: "Gemini 3.7 Flash (Medium)",
|
|
17338
|
+
maxOutputTokens: 65536,
|
|
17339
|
+
maxTokens: 1048576,
|
|
17340
|
+
minThinkingBudget: 32,
|
|
17341
|
+
model: "MODEL_PLACEHOLDER_M299",
|
|
17408
17342
|
modelExperiments: {
|
|
17409
17343
|
experiments: {
|
|
17410
17344
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17411
17345
|
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17412
17346
|
},
|
|
17413
|
-
|
|
17414
|
-
stringValue:
|
|
17347
|
+
"cascade-include-ephemeral-message": {
|
|
17348
|
+
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
17349
|
+
},
|
|
17350
|
+
"task-details-suffix": {
|
|
17351
|
+
stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
|
|
17415
17352
|
}
|
|
17416
17353
|
}
|
|
17417
|
-
}
|
|
17418
|
-
|
|
17419
|
-
"gpt-oss-120b-medium": {
|
|
17420
|
-
displayName: "GPT-OSS 120B (Medium)",
|
|
17421
|
-
supportsThinking: true,
|
|
17422
|
-
thinkingBudget: 8192,
|
|
17423
|
-
recommended: true,
|
|
17424
|
-
maxTokens: 131072,
|
|
17425
|
-
maxOutputTokens: 32768,
|
|
17354
|
+
},
|
|
17355
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17426
17356
|
quotaInfo: {
|
|
17427
|
-
remainingFraction:
|
|
17428
|
-
resetTime: "2026-08-
|
|
17357
|
+
remainingFraction: 0.9765516,
|
|
17358
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17429
17359
|
},
|
|
17430
|
-
|
|
17431
|
-
|
|
17432
|
-
|
|
17360
|
+
recommended: true,
|
|
17361
|
+
supportedMimeTypes: {
|
|
17362
|
+
"application/json": true,
|
|
17363
|
+
"application/pdf": true,
|
|
17364
|
+
"application/rtf": true,
|
|
17365
|
+
"application/x-ipynb+json": true,
|
|
17366
|
+
"application/x-javascript": true,
|
|
17367
|
+
"application/x-python-code": true,
|
|
17368
|
+
"application/x-typescript": true,
|
|
17369
|
+
"audio/aac": true,
|
|
17370
|
+
"audio/flac": true,
|
|
17371
|
+
"audio/l16": true,
|
|
17372
|
+
"audio/m4a": true,
|
|
17373
|
+
"audio/mp3": true,
|
|
17374
|
+
"audio/mp4": true,
|
|
17375
|
+
"audio/mpeg": true,
|
|
17376
|
+
"audio/ogg": true,
|
|
17377
|
+
"audio/opus": true,
|
|
17378
|
+
"audio/vnd.wave": true,
|
|
17379
|
+
"audio/wav": true,
|
|
17380
|
+
"audio/wave": true,
|
|
17381
|
+
"audio/webm": true,
|
|
17382
|
+
"audio/webm;codecs=opus": true,
|
|
17383
|
+
"audio/x-wav": true,
|
|
17384
|
+
"image/heic": true,
|
|
17385
|
+
"image/heif": true,
|
|
17386
|
+
"image/jpeg": true,
|
|
17387
|
+
"image/png": true,
|
|
17388
|
+
"image/webp": true,
|
|
17389
|
+
"text/css": true,
|
|
17390
|
+
"text/csv": true,
|
|
17391
|
+
"text/html": true,
|
|
17392
|
+
"text/javascript": true,
|
|
17393
|
+
"text/markdown": true,
|
|
17394
|
+
"text/plain": true,
|
|
17395
|
+
"text/rtf": true,
|
|
17396
|
+
"text/x-python": true,
|
|
17397
|
+
"text/x-python-script": true,
|
|
17398
|
+
"text/x-typescript": true,
|
|
17399
|
+
"text/xml": true,
|
|
17400
|
+
"video/audio/s16le": true,
|
|
17401
|
+
"video/audio/wav": true,
|
|
17402
|
+
"video/jpeg2000": true,
|
|
17403
|
+
"video/mp4": true,
|
|
17404
|
+
"video/text/timestamp": true,
|
|
17405
|
+
"video/videoframe/jpeg2000": true,
|
|
17406
|
+
"video/webm": true
|
|
17407
|
+
},
|
|
17408
|
+
supportsImages: true,
|
|
17409
|
+
supportsThinking: true,
|
|
17410
|
+
supportsVideo: true,
|
|
17411
|
+
tagDescription: "Limited time",
|
|
17412
|
+
tagTitle: "Fast",
|
|
17413
|
+
thinkingBudget: 4e3
|
|
17414
|
+
},
|
|
17415
|
+
"gemini-3.7-flash-tiered": {
|
|
17416
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17417
|
+
maxOutputTokens: 65536,
|
|
17418
|
+
maxTokens: 1048576,
|
|
17419
|
+
minThinkingBudget: 32,
|
|
17420
|
+
model: "MODEL_PLACEHOLDER_M301",
|
|
17433
17421
|
modelExperiments: {
|
|
17434
17422
|
experiments: {
|
|
17435
17423
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17436
|
-
stringValue: '{\n "strategy": "
|
|
17424
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SAME_MODEL",\n "max_token_limit": "256000",\n "token_threshold": "140000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": true,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17425
|
+
},
|
|
17426
|
+
"cascade-include-ephemeral-message": {
|
|
17427
|
+
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
17428
|
+
},
|
|
17429
|
+
"task-details-suffix": {
|
|
17430
|
+
stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
|
|
17437
17431
|
}
|
|
17438
17432
|
}
|
|
17439
17433
|
},
|
|
17440
|
-
vertexModelId: "openai/gpt-oss-120b-maas"
|
|
17441
|
-
},
|
|
17442
|
-
chat_23310: {
|
|
17443
|
-
maxTokens: 32768,
|
|
17444
|
-
quotaInfo: {
|
|
17445
|
-
remainingFraction: 1
|
|
17446
|
-
},
|
|
17447
|
-
model: "MODEL_CHAT_23310",
|
|
17448
|
-
apiProvider: "API_PROVIDER_INTERNAL",
|
|
17449
17434
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17450
|
-
supportsCumulativeContext: true,
|
|
17451
|
-
supportsEstimateTokenCounter: true,
|
|
17452
|
-
isInternal: true,
|
|
17453
|
-
promptTemplaterType: "PROMPT_TEMPLATER_TYPE_CHATML",
|
|
17454
|
-
toolFormatterType: "TOOL_FORMATTER_TYPE_XML",
|
|
17455
|
-
requiresLeadInGeneration: true
|
|
17456
|
-
},
|
|
17457
|
-
"gemini-3.5-flash-low": {
|
|
17458
|
-
displayName: "Gemini 3.5 Flash (Medium)",
|
|
17459
|
-
supportsImages: true,
|
|
17460
|
-
supportsThinking: true,
|
|
17461
|
-
thinkingBudget: 4e3,
|
|
17462
|
-
minThinkingBudget: 32,
|
|
17463
|
-
recommended: true,
|
|
17464
|
-
maxTokens: 1048576,
|
|
17465
|
-
maxOutputTokens: 65536,
|
|
17466
17435
|
quotaInfo: {
|
|
17467
|
-
remainingFraction: 0.
|
|
17468
|
-
resetTime: "2026-08-
|
|
17436
|
+
remainingFraction: 0.9765516,
|
|
17437
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17469
17438
|
},
|
|
17470
|
-
|
|
17471
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17472
|
-
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17473
|
-
supportsVideo: true,
|
|
17474
|
-
tagTitle: "Fast",
|
|
17475
|
-
tagDescription: "Limited time",
|
|
17439
|
+
recommended: true,
|
|
17476
17440
|
supportedMimeTypes: {
|
|
17441
|
+
"application/json": true,
|
|
17477
17442
|
"application/pdf": true,
|
|
17478
|
-
"
|
|
17479
|
-
"
|
|
17480
|
-
"
|
|
17443
|
+
"application/rtf": true,
|
|
17444
|
+
"application/x-ipynb+json": true,
|
|
17445
|
+
"application/x-javascript": true,
|
|
17446
|
+
"application/x-python-code": true,
|
|
17447
|
+
"application/x-typescript": true,
|
|
17448
|
+
"audio/aac": true,
|
|
17481
17449
|
"audio/flac": true,
|
|
17450
|
+
"audio/l16": true,
|
|
17482
17451
|
"audio/m4a": true,
|
|
17483
|
-
"audio/
|
|
17452
|
+
"audio/mp3": true,
|
|
17453
|
+
"audio/mp4": true,
|
|
17454
|
+
"audio/mpeg": true,
|
|
17455
|
+
"audio/ogg": true,
|
|
17484
17456
|
"audio/opus": true,
|
|
17485
|
-
"
|
|
17486
|
-
"
|
|
17487
|
-
"
|
|
17488
|
-
"audio/aac": true,
|
|
17489
|
-
"video/audio/wav": true,
|
|
17490
|
-
"image/heif": true,
|
|
17491
|
-
"video/webm": true,
|
|
17492
|
-
"application/x-typescript": true,
|
|
17493
|
-
"text/javascript": true,
|
|
17494
|
-
"text/x-typescript": true,
|
|
17457
|
+
"audio/vnd.wave": true,
|
|
17458
|
+
"audio/wav": true,
|
|
17459
|
+
"audio/wave": true,
|
|
17495
17460
|
"audio/webm": true,
|
|
17496
|
-
"audio/l16": true,
|
|
17497
|
-
"video/text/timestamp": true,
|
|
17498
|
-
"video/audio/s16le": true,
|
|
17499
|
-
"application/rtf": true,
|
|
17500
|
-
"video/mp4": true,
|
|
17501
|
-
"image/jpeg": true,
|
|
17502
17461
|
"audio/webm;codecs=opus": true,
|
|
17503
|
-
"
|
|
17504
|
-
"audio/ogg": true,
|
|
17505
|
-
"text/x-python": true,
|
|
17462
|
+
"audio/x-wav": true,
|
|
17506
17463
|
"image/heic": true,
|
|
17507
|
-
"
|
|
17508
|
-
"
|
|
17464
|
+
"image/heif": true,
|
|
17465
|
+
"image/jpeg": true,
|
|
17466
|
+
"image/png": true,
|
|
17467
|
+
"image/webp": true,
|
|
17509
17468
|
"text/css": true,
|
|
17469
|
+
"text/csv": true,
|
|
17470
|
+
"text/html": true,
|
|
17471
|
+
"text/javascript": true,
|
|
17472
|
+
"text/markdown": true,
|
|
17473
|
+
"text/plain": true,
|
|
17474
|
+
"text/rtf": true,
|
|
17475
|
+
"text/x-python": true,
|
|
17476
|
+
"text/x-python-script": true,
|
|
17477
|
+
"text/x-typescript": true,
|
|
17510
17478
|
"text/xml": true,
|
|
17511
|
-
"
|
|
17512
|
-
"audio/
|
|
17513
|
-
"
|
|
17514
|
-
"
|
|
17479
|
+
"video/audio/s16le": true,
|
|
17480
|
+
"video/audio/wav": true,
|
|
17481
|
+
"video/jpeg2000": true,
|
|
17482
|
+
"video/mp4": true,
|
|
17483
|
+
"video/text/timestamp": true,
|
|
17515
17484
|
"video/videoframe/jpeg2000": true,
|
|
17516
|
-
"
|
|
17517
|
-
"audio/mpeg": true,
|
|
17518
|
-
"image/webp": true,
|
|
17519
|
-
"text/x-python-script": true,
|
|
17520
|
-
"text/plain": true,
|
|
17521
|
-
"text/html": true
|
|
17485
|
+
"video/webm": true
|
|
17522
17486
|
},
|
|
17487
|
+
supportsImages: true,
|
|
17488
|
+
supportsThinking: true,
|
|
17489
|
+
supportsVideo: true,
|
|
17490
|
+
thinkingBudget: -1
|
|
17491
|
+
},
|
|
17492
|
+
"gemini-pro-agent": {
|
|
17493
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17494
|
+
displayName: "Gemini 3.1 Pro (High)",
|
|
17495
|
+
maxOutputTokens: 65535,
|
|
17496
|
+
maxTokens: 1048576,
|
|
17497
|
+
minThinkingBudget: 128,
|
|
17498
|
+
model: "MODEL_PLACEHOLDER_M16",
|
|
17523
17499
|
modelExperiments: {
|
|
17524
17500
|
experiments: {
|
|
17525
17501
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17526
|
-
stringValue: '{\n "strategy": "
|
|
17502
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_SINGLE_PROMPT",\n "max_token_limit": "128000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "16384",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17503
|
+
},
|
|
17504
|
+
"cascade-include-ephemeral-message": {
|
|
17505
|
+
stringValue: '{\n "enabled": true,\n "disabledHeuristics": ["running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
17506
|
+
},
|
|
17507
|
+
template__system_prompts__communication_style: {
|
|
17508
|
+
stringValue: "- Keep your responses concise.\n- Provide a summary of your work when you end your turn.\n- Format your responses in github-style markdown.\n- If you're unsure about the user's intent, ask for clarification rather than making assumptions.\n- You MUST create clickable links for all files and code symbols (classes, types, functions, structs). Use github style markdown links with the `file://` scheme (e.g., [filename](file:///path/to/file) or [ClassName](file:///path/to/file#L10-L20)`). For Windows, use forward slashes for paths.\n\nCRITICAL INSTRUCTION 1: You may have access to a variety of tools at your disposal. Some tools may be for a specific task such as 'view_file' (for viewing contents of a file). Others may be very broadly applicable such as the ability to run a command on a terminal. Always prioritize using the most specific tool you can for the task at hand. Here are some rules: (a) NEVER run cat inside a bash command to create a new file or append to an existing file. (b) ALWAYS use grep_search instead of running grep inside a bash command unless absolutely needed. (c) DO NOT use ls for listing, cat for viewing, grep for finding, sed for replacing.\nCRITICAL INSTRUCTION 2: Before making tool calls T, think and explicitly list out any related tools for the task at hand. You can only execute a set of tools T if all other tools in the list are either more generic or cannot be used for the task at hand. ALWAYS START your thought with recalling critical instructions 1 and 2. In particular, the format for the start of your thought block must be '...94>thought\\nCRITICAL INSTRUCTION 1: ...\\nCRITICAL INSTRUCTION 2: ...'."
|
|
17527
17509
|
},
|
|
17528
17510
|
template__system_prompts__planning_mode_artifacts: {
|
|
17529
17511
|
stringValue: "When in planning mode, you will work with three special artifacts.\n\n# Tasks\nPath: {{ArtifactDirectoryPath}}/task.md\n\n**Purpose**: A TODO list to organize your work during execution. Create this artifact after receiving user approval on your implementation plan. Break down complex tasks into component-level items and track progress as a living document.\n\n**Format**:\n```markdown\n- `[ ]` uncompleted tasks\n- `[/]` in progress tasks (custom notation)\n- `[x]` completed tasks\n- Use indented lists for sub-items\n```\n\n**Updating task.md**: Mark items as `[/]` when starting work on them, and `[x]` when completed. Update task.md as you make progress through your checklist.\n\n# Implementation Plan\nPath: {{ArtifactDirectoryPath}}/implementation_plan.md\n\n**Purpose**: A detailed design document to present your technical implementation plan to the user for feedback and approval.\nAfter reading the document, the user should understand the key technical details of your plan, and be able to make an informed decision on whether to approve it.\n\n**Format**: Use the following format, omitting any irrelevant sections.\n```markdown\n# [Goal Description]\n\nProvide a brief description of the problem, any background context, and what the change accomplishes.\n\n## User Review Required\n\nDocument anything that requires user review or feedback, for example, breaking changes or significant design decisions. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Open Questions\n\nAny clarifying or design questions for the user that will impact the implementation plan. Use GitHub alerts (IMPORTANT/WARNING/CAUTION) to highlight critical items.\n\n## Proposed Changes\n\nGroup files by component (e.g., package, feature area, dependency layer) and order logically (dependencies first). Separate components with horizontal rules for visual clarity.\n\n### [Component Name]\n\nSummary of what will change in this component, separated by files. For specific files, Use [NEW] and [DELETE] to demarcate new and deleted files, for example:\n\n#### [MODIFY] [file basename](file:///absolute/path/to/modifiedfile)\n#### [NEW] [file basename](file:///absolute/path/to/newfile)\n#### [DELETE] [file basename](file:///absolute/path/to/deletedfile)\n\n## Verification Plan\n\nSummary of how you will verify that your changes have the desired effects.\n\n### Automated Tests\n- The commands of any automated tests you'll run.\n\n### Manual Verification\n- Asking the user to deploy to staging and testing, verifying UI changes on an iOS app etc.\n```\n\n# Walkthrough\nPath: {{ArtifactDirectoryPath}}/walkthrough.md\n\n**Purpose**: After completing work, summarize what you accomplished. Update an existing walkthrough for related follow-up work rather than creating a new one.\n\n**Document**:\n- Changes made\n- What was tested\n- Validation results\n\nEmbed screenshots and recordings to visually demonstrate UI changes and user flows.\n"
|
|
17530
17512
|
}
|
|
17531
17513
|
}
|
|
17532
|
-
}
|
|
17533
|
-
},
|
|
17534
|
-
"gemini-3.7-flash-low": {
|
|
17535
|
-
displayName: "Gemini 3.7 Flash (Low)",
|
|
17536
|
-
supportsImages: true,
|
|
17537
|
-
supportsThinking: true,
|
|
17538
|
-
thinkingBudget: 1e3,
|
|
17539
|
-
minThinkingBudget: 32,
|
|
17540
|
-
recommended: true,
|
|
17541
|
-
maxTokens: 1048576,
|
|
17542
|
-
maxOutputTokens: 65536,
|
|
17543
|
-
quotaInfo: {
|
|
17544
|
-
remainingFraction: 0.9783466,
|
|
17545
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
17546
17514
|
},
|
|
17547
|
-
model: "MODEL_PLACEHOLDER_M300",
|
|
17548
|
-
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17549
17515
|
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17550
|
-
|
|
17551
|
-
|
|
17552
|
-
|
|
17516
|
+
quotaInfo: {
|
|
17517
|
+
remainingFraction: 0.9765516,
|
|
17518
|
+
resetTime: "2026-08-23T17:21:50Z"
|
|
17519
|
+
},
|
|
17520
|
+
recommended: true,
|
|
17553
17521
|
supportedMimeTypes: {
|
|
17554
|
-
"
|
|
17555
|
-
"
|
|
17556
|
-
"
|
|
17557
|
-
"
|
|
17558
|
-
"application/x-typescript": true,
|
|
17522
|
+
"application/json": true,
|
|
17523
|
+
"application/pdf": true,
|
|
17524
|
+
"application/rtf": true,
|
|
17525
|
+
"application/x-ipynb+json": true,
|
|
17559
17526
|
"application/x-javascript": true,
|
|
17527
|
+
"application/x-python-code": true,
|
|
17528
|
+
"application/x-typescript": true,
|
|
17529
|
+
"audio/aac": true,
|
|
17530
|
+
"audio/flac": true,
|
|
17531
|
+
"audio/l16": true,
|
|
17532
|
+
"audio/m4a": true,
|
|
17560
17533
|
"audio/mp3": true,
|
|
17534
|
+
"audio/mp4": true,
|
|
17535
|
+
"audio/mpeg": true,
|
|
17536
|
+
"audio/ogg": true,
|
|
17537
|
+
"audio/opus": true,
|
|
17538
|
+
"audio/vnd.wave": true,
|
|
17561
17539
|
"audio/wav": true,
|
|
17562
|
-
"application/x-python-code": true,
|
|
17563
|
-
"text/markdown": true,
|
|
17564
17540
|
"audio/wave": true,
|
|
17565
|
-
"
|
|
17566
|
-
"
|
|
17567
|
-
"application/json": true,
|
|
17541
|
+
"audio/webm": true,
|
|
17542
|
+
"audio/webm;codecs=opus": true,
|
|
17568
17543
|
"audio/x-wav": true,
|
|
17569
|
-
"
|
|
17544
|
+
"image/heic": true,
|
|
17545
|
+
"image/heif": true,
|
|
17546
|
+
"image/jpeg": true,
|
|
17547
|
+
"image/png": true,
|
|
17548
|
+
"image/webp": true,
|
|
17549
|
+
"text/css": true,
|
|
17550
|
+
"text/csv": true,
|
|
17551
|
+
"text/html": true,
|
|
17570
17552
|
"text/javascript": true,
|
|
17553
|
+
"text/markdown": true,
|
|
17554
|
+
"text/plain": true,
|
|
17555
|
+
"text/rtf": true,
|
|
17556
|
+
"text/x-python": true,
|
|
17557
|
+
"text/x-python-script": true,
|
|
17558
|
+
"text/x-typescript": true,
|
|
17559
|
+
"text/xml": true,
|
|
17571
17560
|
"video/audio/s16le": true,
|
|
17572
17561
|
"video/audio/wav": true,
|
|
17573
|
-
"audio/ogg": true,
|
|
17574
|
-
"application/rtf": true,
|
|
17575
|
-
"text/css": true,
|
|
17576
|
-
"video/mp4": true,
|
|
17577
|
-
"audio/mpeg": true,
|
|
17578
|
-
"video/videoframe/jpeg2000": true,
|
|
17579
|
-
"audio/webm;codecs=opus": true,
|
|
17580
|
-
"text/rtf": true,
|
|
17581
|
-
"image/heif": true,
|
|
17582
|
-
"application/pdf": true,
|
|
17583
17562
|
"video/jpeg2000": true,
|
|
17584
|
-
"
|
|
17585
|
-
"image/webp": true,
|
|
17586
|
-
"text/x-python": true,
|
|
17587
|
-
"audio/vnd.wave": true,
|
|
17563
|
+
"video/mp4": true,
|
|
17588
17564
|
"video/text/timestamp": true,
|
|
17589
|
-
"video/
|
|
17590
|
-
"
|
|
17591
|
-
"text/x-typescript": true,
|
|
17592
|
-
"text/html": true,
|
|
17593
|
-
"text/csv": true,
|
|
17594
|
-
"application/x-ipynb+json": true,
|
|
17595
|
-
"image/png": true,
|
|
17596
|
-
"audio/webm": true,
|
|
17597
|
-
"audio/opus": true,
|
|
17598
|
-
"audio/m4a": true
|
|
17565
|
+
"video/videoframe/jpeg2000": true,
|
|
17566
|
+
"video/webm": true
|
|
17599
17567
|
},
|
|
17568
|
+
supportsImages: true,
|
|
17569
|
+
supportsThinking: true,
|
|
17570
|
+
supportsVideo: true,
|
|
17571
|
+
thinkingBudget: 10001
|
|
17572
|
+
},
|
|
17573
|
+
"gpt-oss-120b-medium": {
|
|
17574
|
+
apiProvider: "API_PROVIDER_OPENAI_VERTEX",
|
|
17575
|
+
displayName: "GPT-OSS 120B (Medium)",
|
|
17576
|
+
maxOutputTokens: 32768,
|
|
17577
|
+
maxTokens: 131072,
|
|
17578
|
+
model: "MODEL_OPENAI_GPT_OSS_120B_MEDIUM",
|
|
17600
17579
|
modelExperiments: {
|
|
17601
17580
|
experiments: {
|
|
17602
17581
|
CASCADE_USE_EXPERIMENT_CHECKPOINTER: {
|
|
17603
|
-
stringValue: '{\n "strategy": "
|
|
17604
|
-
},
|
|
17605
|
-
"cascade-include-ephemeral-message": {
|
|
17606
|
-
stringValue: '{\n "enabled": false,\n "disabledHeuristics": ["planning_mode", "bash_command_reminder", "running_tasks_reminder"],\n "staticMessages": [],\n "useAllowlist": false,\n "enabledHeuristics": []\n}'
|
|
17607
|
-
},
|
|
17608
|
-
"task-details-suffix": {
|
|
17609
|
-
stringValue: "\nYOU MUST TAKE ONE OF THE FOLLOWING TWO ACTIONS: A) either proceed to other relevant work (if any) or, B) simply update the user with a short message (that you have launched the command and will wait for it to finish) and end the turn.\n DO NOTHING ELSE."
|
|
17582
|
+
stringValue: '{\n "strategy": "CHECKPOINT_STRATEGY_UNSPECIFIED",\n "max_token_limit": "80000",\n "token_threshold": "50000",\n "max_overhead_ratio": "0.15",\n "moving_window_size": "1",\n "enabled": true,\n "max_output_tokens": "8192",\n "checkpoint_model": "MODEL_PLACEHOLDER_M50",\n "use_last_planner_model": false,\n "is_sync": false,\n "max_user_requests": 10,\n "include_last_user_message": false,\n "include_conversation_log": true,\n "include_running_task_snapshots": true,\n "include_subagent_snapshots": true,\n "include_artifact_snapshots": true,\n "retry_config": {\n "max_retries": 0,\n "initial_sleep_duration_ms": 1000,\n "exponential_multiplier": 2,\n "include_error_feedback": false\n },\n "session_summary_prompt_override": ""\n}'
|
|
17610
17583
|
}
|
|
17611
17584
|
}
|
|
17612
|
-
}
|
|
17585
|
+
},
|
|
17586
|
+
modelProvider: "MODEL_PROVIDER_OPENAI",
|
|
17587
|
+
quotaInfo: {
|
|
17588
|
+
remainingFraction: 1,
|
|
17589
|
+
resetTime: "2026-08-23T17:29:11Z"
|
|
17590
|
+
},
|
|
17591
|
+
recommended: true,
|
|
17592
|
+
supportsThinking: true,
|
|
17593
|
+
thinkingBudget: 8192,
|
|
17594
|
+
vertexModelId: "openai/gpt-oss-120b-maas"
|
|
17613
17595
|
},
|
|
17614
|
-
|
|
17615
|
-
|
|
17596
|
+
tab_flash_lite_preview: {
|
|
17597
|
+
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17598
|
+
maxOutputTokens: 4096,
|
|
17599
|
+
maxTokens: 16384,
|
|
17600
|
+
model: "MODEL_PLACEHOLDER_M19",
|
|
17601
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17616
17602
|
quotaInfo: {
|
|
17617
|
-
remainingFraction:
|
|
17618
|
-
resetTime: "2026-08-22T17:36:20Z"
|
|
17603
|
+
remainingFraction: 1
|
|
17619
17604
|
},
|
|
17620
|
-
|
|
17605
|
+
requiresLeadInGeneration: true,
|
|
17606
|
+
supportsCumulativeContext: true,
|
|
17607
|
+
supportsEstimateTokenCounter: true,
|
|
17608
|
+
toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
|
|
17609
|
+
},
|
|
17610
|
+
tab_jump_flash_lite_preview: {
|
|
17611
|
+
addCursorToFindReplaceTarget: true,
|
|
17621
17612
|
apiProvider: "API_PROVIDER_GOOGLE_GEMINI",
|
|
17622
|
-
|
|
17613
|
+
maxOutputTokens: 4096,
|
|
17614
|
+
maxTokens: 16384,
|
|
17615
|
+
model: "MODEL_PLACEHOLDER_M28",
|
|
17616
|
+
modelProvider: "MODEL_PROVIDER_GOOGLE",
|
|
17617
|
+
quotaInfo: {
|
|
17618
|
+
remainingFraction: 1
|
|
17619
|
+
},
|
|
17620
|
+
requiresLeadInGeneration: true,
|
|
17621
|
+
requiresNoXmlToolExamples: true,
|
|
17622
|
+
supportsCumulativeContext: true,
|
|
17623
|
+
supportsEstimateTokenCounter: true,
|
|
17624
|
+
tabJumpPrintLineRange: true,
|
|
17625
|
+
toolFormatterType: "TOOL_FORMATTER_TYPE_XML"
|
|
17623
17626
|
}
|
|
17624
17627
|
},
|
|
17625
|
-
|
|
17626
|
-
|
|
17627
|
-
{
|
|
17628
|
-
displayName: "Recommended",
|
|
17629
|
-
groups: [
|
|
17630
|
-
{
|
|
17631
|
-
modelIds: [
|
|
17632
|
-
"gemini-3.7-flash-high",
|
|
17633
|
-
"gemini-3.7-flash-medium",
|
|
17634
|
-
"gemini-3.7-flash-low",
|
|
17635
|
-
"gemini-3.6-flash-high",
|
|
17636
|
-
"gemini-3.6-flash-medium",
|
|
17637
|
-
"gemini-3.6-flash-low",
|
|
17638
|
-
"gemini-3-flash-agent",
|
|
17639
|
-
"gemini-3.5-flash-low",
|
|
17640
|
-
"gemini-3.5-flash-extra-low",
|
|
17641
|
-
"gemini-pro-agent",
|
|
17642
|
-
"gemini-3.1-pro-low",
|
|
17643
|
-
"claude-sonnet-4-6",
|
|
17644
|
-
"claude-opus-4-6-thinking",
|
|
17645
|
-
"gpt-oss-120b-medium"
|
|
17646
|
-
]
|
|
17647
|
-
}
|
|
17648
|
-
]
|
|
17649
|
-
}
|
|
17650
|
-
],
|
|
17651
|
-
commandModelIds: [
|
|
17652
|
-
"gemini-3-flash"
|
|
17628
|
+
mqueryModelIds: [
|
|
17629
|
+
"gemini-3.1-flash-lite"
|
|
17653
17630
|
],
|
|
17654
17631
|
tabModelIds: [
|
|
17655
17632
|
"chat_20706",
|
|
17656
17633
|
"chat_23310"
|
|
17657
17634
|
],
|
|
17658
|
-
imageGenerationModelIds: [
|
|
17659
|
-
"gemini-3.1-flash-image"
|
|
17660
|
-
],
|
|
17661
|
-
mqueryModelIds: [
|
|
17662
|
-
"gemini-3.1-flash-lite"
|
|
17663
|
-
],
|
|
17664
|
-
webSearchModelIds: [
|
|
17665
|
-
"gemini-3.1-flash-lite"
|
|
17666
|
-
],
|
|
17667
|
-
deprecatedModelIds: {
|
|
17668
|
-
"gemini-3.1-pro-high": {
|
|
17669
|
-
newModelId: "gemini-pro-agent",
|
|
17670
|
-
oldModelEnum: "MODEL_PLACEHOLDER_M37",
|
|
17671
|
-
newModelEnum: "MODEL_PLACEHOLDER_M16"
|
|
17672
|
-
}
|
|
17673
|
-
},
|
|
17674
|
-
commitMessageModelIds: [
|
|
17675
|
-
"gemini-3.1-flash-lite"
|
|
17676
|
-
],
|
|
17677
|
-
audioTranscriptionModelIds: [
|
|
17678
|
-
"models/proactive-observer-v10"
|
|
17679
|
-
],
|
|
17680
|
-
experimentIds: [
|
|
17681
|
-
106140402,
|
|
17682
|
-
105979552,
|
|
17683
|
-
105979574,
|
|
17684
|
-
106015333,
|
|
17685
|
-
106568772,
|
|
17686
|
-
105867471,
|
|
17687
|
-
106548982,
|
|
17688
|
-
106123599,
|
|
17689
|
-
106076629,
|
|
17690
|
-
106121401,
|
|
17691
|
-
106100625,
|
|
17692
|
-
106143956,
|
|
17693
|
-
105879567,
|
|
17694
|
-
105856899,
|
|
17695
|
-
106312323,
|
|
17696
|
-
106064030,
|
|
17697
|
-
106567313,
|
|
17698
|
-
106396310,
|
|
17699
|
-
106470335,
|
|
17700
|
-
105757908,
|
|
17701
|
-
106106760,
|
|
17702
|
-
106021688,
|
|
17703
|
-
105887299,
|
|
17704
|
-
106428370,
|
|
17705
|
-
106283618,
|
|
17706
|
-
106278607,
|
|
17707
|
-
106538964,
|
|
17708
|
-
106512082,
|
|
17709
|
-
106380926,
|
|
17710
|
-
106281951,
|
|
17711
|
-
106264532,
|
|
17712
|
-
106222835,
|
|
17713
|
-
106044947,
|
|
17714
|
-
106032303,
|
|
17715
|
-
106228452,
|
|
17716
|
-
106121607,
|
|
17717
|
-
105979531,
|
|
17718
|
-
105979553,
|
|
17719
|
-
106015328,
|
|
17720
|
-
106568390,
|
|
17721
|
-
105867469,
|
|
17722
|
-
106123597,
|
|
17723
|
-
106121399,
|
|
17724
|
-
106100654,
|
|
17725
|
-
106064028,
|
|
17726
|
-
106567309,
|
|
17727
|
-
106396304,
|
|
17728
|
-
106470331,
|
|
17729
|
-
105906495,
|
|
17730
|
-
106283614,
|
|
17731
|
-
106038164,
|
|
17732
|
-
106032301,
|
|
17733
|
-
106121604
|
|
17734
|
-
],
|
|
17735
17635
|
tieredModelIds: {
|
|
17736
|
-
flashLite: [
|
|
17737
|
-
"gemini-3.1-flash-lite"
|
|
17738
|
-
],
|
|
17739
17636
|
flash: [
|
|
17740
17637
|
"gemini-3.7-flash-tiered"
|
|
17741
17638
|
],
|
|
17639
|
+
flashLite: [
|
|
17640
|
+
"gemini-3.1-flash-lite"
|
|
17641
|
+
],
|
|
17742
17642
|
pro: [
|
|
17743
17643
|
"gemini-3.1-pro-low"
|
|
17744
17644
|
]
|
|
17745
|
-
}
|
|
17645
|
+
},
|
|
17646
|
+
webSearchModelIds: [
|
|
17647
|
+
"gemini-3.1-flash-lite"
|
|
17648
|
+
]
|
|
17746
17649
|
};
|
|
17747
17650
|
|
|
17748
17651
|
// src/sdk/request-helpers/types.ts
|
|
@@ -19038,20 +18941,20 @@ function transformStreamingPayloadStream(stream, sessionId, chatLogger) {
|
|
|
19038
18941
|
}
|
|
19039
18942
|
|
|
19040
18943
|
// src/sdk/chat-logger.ts
|
|
19041
|
-
import { createWriteStream, existsSync as
|
|
19042
|
-
import { join as
|
|
18944
|
+
import { createWriteStream, existsSync as existsSync5, mkdirSync as mkdirSync4 } from "fs";
|
|
18945
|
+
import { join as join5 } from "path";
|
|
19043
18946
|
import { cwd } from "process";
|
|
19044
18947
|
function createChatLogger() {
|
|
19045
18948
|
if (process.env.AGY_LOG !== "1") {
|
|
19046
18949
|
return null;
|
|
19047
18950
|
}
|
|
19048
18951
|
try {
|
|
19049
|
-
const logDir =
|
|
19050
|
-
if (!
|
|
18952
|
+
const logDir = join5(cwd(), "agy_chat_log");
|
|
18953
|
+
if (!existsSync5(logDir)) {
|
|
19051
18954
|
mkdirSync4(logDir, { recursive: true });
|
|
19052
18955
|
}
|
|
19053
18956
|
const timestamp = Date.now();
|
|
19054
|
-
const logFile =
|
|
18957
|
+
const logFile = join5(logDir, `${timestamp}.log`);
|
|
19055
18958
|
const stream = createWriteStream(logFile, { flags: "w", encoding: "utf8" });
|
|
19056
18959
|
return new ChatLoggerImpl(stream);
|
|
19057
18960
|
} catch (error45) {
|