@eddyskywalker/dsh-chatgpt-subscription 0.22.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +39 -12
  3. package/lib/client.js +114 -17
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +7682 -7147
  6. package/lib/types/client/glm-coding-plan/GlmCodingPlanSection.d.ts.map +1 -1
  7. package/lib/types/client/glm-coding-plan/locales.d.ts +8 -11
  8. package/lib/types/client/glm-coding-plan/locales.d.ts.map +1 -1
  9. package/lib/types/client/index.d.ts.map +1 -1
  10. package/lib/types/client/ollama/OllamaSection.d.ts.map +1 -1
  11. package/lib/types/client/ollama/api.d.ts +13 -0
  12. package/lib/types/client/ollama/api.d.ts.map +1 -1
  13. package/lib/types/client/ollama/locales.d.ts +24 -0
  14. package/lib/types/client/ollama/locales.d.ts.map +1 -1
  15. package/lib/types/client/step-code/locales.d.ts +2 -2
  16. package/lib/types/compat.d.ts +9 -0
  17. package/lib/types/compat.d.ts.map +1 -1
  18. package/lib/types/host/agent-preset.d.ts.map +1 -1
  19. package/lib/types/host/antigravity/account-pool.d.ts +43 -0
  20. package/lib/types/host/antigravity/account-pool.d.ts.map +1 -1
  21. package/lib/types/host/antigravity/adapter.d.ts +28 -0
  22. package/lib/types/host/antigravity/adapter.d.ts.map +1 -1
  23. package/lib/types/host/antigravity/catalog-limits.d.ts +23 -0
  24. package/lib/types/host/antigravity/catalog-limits.d.ts.map +1 -0
  25. package/lib/types/host/antigravity/client.d.ts.map +1 -1
  26. package/lib/types/host/antigravity/image-tool.d.ts +65 -0
  27. package/lib/types/host/antigravity/image-tool.d.ts.map +1 -0
  28. package/lib/types/host/antigravity/mapper.d.ts +30 -1
  29. package/lib/types/host/antigravity/mapper.d.ts.map +1 -1
  30. package/lib/types/host/antigravity/routes.d.ts.map +1 -1
  31. package/lib/types/host/antigravity/token-store.d.ts +4 -0
  32. package/lib/types/host/antigravity/token-store.d.ts.map +1 -1
  33. package/lib/types/host/antigravity/types.d.ts +15 -3
  34. package/lib/types/host/antigravity/types.d.ts.map +1 -1
  35. package/lib/types/host/glm-coding-plan/adapter.d.ts +1 -14
  36. package/lib/types/host/glm-coding-plan/adapter.d.ts.map +1 -1
  37. package/lib/types/host/glm-coding-plan/client.d.ts.map +1 -1
  38. package/lib/types/host/glm-coding-plan/types.d.ts +0 -10
  39. package/lib/types/host/glm-coding-plan/types.d.ts.map +1 -1
  40. package/lib/types/host/ollama/adapter.d.ts +26 -2
  41. package/lib/types/host/ollama/adapter.d.ts.map +1 -1
  42. package/lib/types/host/ollama/client.d.ts +16 -1
  43. package/lib/types/host/ollama/client.d.ts.map +1 -1
  44. package/lib/types/host/ollama/routes.d.ts +1 -1
  45. package/lib/types/host/ollama/routes.d.ts.map +1 -1
  46. package/lib/types/host/ollama/types.d.ts +74 -8
  47. package/lib/types/host/ollama/types.d.ts.map +1 -1
  48. package/lib/types/index.d.ts +1 -1
  49. package/lib/types/index.d.ts.map +1 -1
  50. package/lib/types/shared/ollama-contracts.d.ts +30 -0
  51. package/lib/types/shared/ollama-contracts.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/presets/dispatch/README.md +22 -0
  54. package/presets/dispatch/agent.cordis.yml +41 -15
  55. package/lib/types/host/glm-coding-plan/signing.d.ts +0 -323
  56. package/lib/types/host/glm-coding-plan/signing.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GlmCodingPlanSection.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/GlmCodingPlanSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAA2B,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAOtG,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE,yBAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyazG"}
1
+ {"version":3,"file":"GlmCodingPlanSection.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/GlmCodingPlanSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAA2B,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAOtG,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE,yBAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwazG"}
@@ -82,7 +82,7 @@ export declare const zh: {
82
82
  readonly saved: "已保存";
83
83
  readonly invalidCapacity: "容量格式无效:{value}";
84
84
  readonly quotaSection: "用量与配额";
85
- readonly quotaDesc: "数据来自 Coding Plan 的配额接口(该接口用裸 Key 鉴权,不加 Bearer)。";
85
+ readonly quotaDesc: "数据来自 Coding Plan 的配额接口,页面可见时最多每 60 秒刷新一次。";
86
86
  readonly quotaRefresh: "刷新用量";
87
87
  readonly quotaRefreshing: "刷新中...";
88
88
  readonly quotaSignedOut: "未登录,先在上方完成登录授权。";
@@ -92,14 +92,13 @@ export declare const zh: {
92
92
  readonly quotaRenews: "续费时间";
93
93
  readonly quotaReadAt: "读取时间";
94
94
  readonly quotaSources: "数据源";
95
- readonly quotaWindowNames: "窗口名按窗口长度本地化(5 小时 / 1 周 / 1 月),不在本页硬编码;每个账号自己的进度条画在它的账号卡片里。";
96
95
  readonly quotaRefreshingNote: "正在后台刷新配额,下方是上一次读到的数字。";
97
96
  readonly quotaErrorLabel: "配额读取失败";
98
97
  readonly quotaAllowance: "额度类型";
99
98
  readonly quotaAllowancePlan: "付费套餐";
100
99
  readonly quotaAllowanceFreeTrial: "免费体验额度";
101
100
  readonly quotaAllowanceUnknown: "未判定";
102
- readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」按官方文档指新用户注册即自动获得、首次使用起 5 天内每天 800 万 token 的体验额度;额度耗尽时由上游返回 429,本线路不预判。";
101
+ readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」指新用户注册后自动获得、首次使用起 5 天内每天 800 万 token 的体验额度。";
103
102
  readonly accountPool: string;
104
103
  readonly addAccount: string;
105
104
  readonly accountCount: string;
@@ -208,7 +207,7 @@ export declare const dictionaries: {
208
207
  readonly saved: "已保存";
209
208
  readonly invalidCapacity: "容量格式无效:{value}";
210
209
  readonly quotaSection: "用量与配额";
211
- readonly quotaDesc: "数据来自 Coding Plan 的配额接口(该接口用裸 Key 鉴权,不加 Bearer)。";
210
+ readonly quotaDesc: "数据来自 Coding Plan 的配额接口,页面可见时最多每 60 秒刷新一次。";
212
211
  readonly quotaRefresh: "刷新用量";
213
212
  readonly quotaRefreshing: "刷新中...";
214
213
  readonly quotaSignedOut: "未登录,先在上方完成登录授权。";
@@ -218,14 +217,13 @@ export declare const dictionaries: {
218
217
  readonly quotaRenews: "续费时间";
219
218
  readonly quotaReadAt: "读取时间";
220
219
  readonly quotaSources: "数据源";
221
- readonly quotaWindowNames: "窗口名按窗口长度本地化(5 小时 / 1 周 / 1 月),不在本页硬编码;每个账号自己的进度条画在它的账号卡片里。";
222
220
  readonly quotaRefreshingNote: "正在后台刷新配额,下方是上一次读到的数字。";
223
221
  readonly quotaErrorLabel: "配额读取失败";
224
222
  readonly quotaAllowance: "额度类型";
225
223
  readonly quotaAllowancePlan: "付费套餐";
226
224
  readonly quotaAllowanceFreeTrial: "免费体验额度";
227
225
  readonly quotaAllowanceUnknown: "未判定";
228
- readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」按官方文档指新用户注册即自动获得、首次使用起 5 天内每天 800 万 token 的体验额度;额度耗尽时由上游返回 429,本线路不预判。";
226
+ readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」指新用户注册后自动获得、首次使用起 5 天内每天 800 万 token 的体验额度。";
229
227
  readonly accountPool: string;
230
228
  readonly addAccount: string;
231
229
  readonly accountCount: string;
@@ -332,7 +330,7 @@ export declare const dictionaries: {
332
330
  readonly saved: "已保存";
333
331
  readonly invalidCapacity: "容量格式无效:{value}";
334
332
  readonly quotaSection: "用量与配额";
335
- readonly quotaDesc: "数据来自 Coding Plan 的配额接口(该接口用裸 Key 鉴权,不加 Bearer)。";
333
+ readonly quotaDesc: "数据来自 Coding Plan 的配额接口,页面可见时最多每 60 秒刷新一次。";
336
334
  readonly quotaRefresh: "刷新用量";
337
335
  readonly quotaRefreshing: "刷新中...";
338
336
  readonly quotaSignedOut: "未登录,先在上方完成登录授权。";
@@ -342,14 +340,13 @@ export declare const dictionaries: {
342
340
  readonly quotaRenews: "续费时间";
343
341
  readonly quotaReadAt: "读取时间";
344
342
  readonly quotaSources: "数据源";
345
- readonly quotaWindowNames: "窗口名按窗口长度本地化(5 小时 / 1 周 / 1 月),不在本页硬编码;每个账号自己的进度条画在它的账号卡片里。";
346
343
  readonly quotaRefreshingNote: "正在后台刷新配额,下方是上一次读到的数字。";
347
344
  readonly quotaErrorLabel: "配额读取失败";
348
345
  readonly quotaAllowance: "额度类型";
349
346
  readonly quotaAllowancePlan: "付费套餐";
350
347
  readonly quotaAllowanceFreeTrial: "免费体验额度";
351
348
  readonly quotaAllowanceUnknown: "未判定";
352
- readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」按官方文档指新用户注册即自动获得、首次使用起 5 天内每天 800 万 token 的体验额度;额度耗尽时由上游返回 429,本线路不预判。";
349
+ readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」指新用户注册后自动获得、首次使用起 5 天内每天 800 万 token 的体验额度。";
353
350
  readonly accountPool: string;
354
351
  readonly addAccount: string;
355
352
  readonly accountCount: string;
@@ -381,8 +378,8 @@ export declare const dictionaries: {
381
378
  readonly quotaFactsScope: string;
382
379
  readonly composerLabel: string;
383
380
  };
384
- en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaWindowNames" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
385
- 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaWindowNames" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
381
+ en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
382
+ 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
386
383
  };
387
384
  export type GlmCodingPlanLocaleKey = keyof typeof zh;
388
385
  /** 一个配额窗口的键到「窗口长度(分钟)」的映射。 */
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/locales.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAEvH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAA;AAEvD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA6G9C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEpD,8BAA8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIlE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAYlE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/locales.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAEvH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAA;AAEvD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA4G9C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEpD,8BAA8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIlE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAYlE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGxH,OAAO,EAAgD,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG9G,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI5G,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,kBAAkB,CAAA;QACnC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;KACnC;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAqI9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGxH,OAAO,EAAgD,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG9G,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI5G,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,kBAAkB,CAAA;QACnC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;KACnC;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA8I9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"OllamaSection.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/OllamaSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAU/D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAmP9D"}
1
+ {"version":3,"file":"OllamaSection.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/OllamaSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA6B/D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAuR9D"}
@@ -22,6 +22,19 @@ export declare class OllamaApi {
22
22
  refreshCatalog(): Promise<{
23
23
  models: unknown[];
24
24
  }>;
25
+ /**
26
+ * Store the default thinking level, answering with the refreshed status.
27
+ *
28
+ * '/settings' replies with the stored settings document rather than with the
29
+ * status the card renders, so the status is re-read behind the write. That is
30
+ * the same shape {@link refreshCatalog} needs, and it is why the return type is
31
+ * a status: handing the settings document to the renderer would blank the
32
+ * model list the user just configured.
33
+ *
34
+ * null is a real value ('do not specify'), not an absent one, so it is sent
35
+ * explicitly rather than left out of the body.
36
+ */
37
+ setDefaultReasoningEffort(effort: string | null): Promise<OllamaWebStatus>;
25
38
  /**
26
39
  * Replace the enabled-model selection.
27
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAIvE;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;IAIlC;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,EACtF,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GACpF,OAAO,CAAC,eAAe,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAIhD;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CAGlG"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAIvE;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;IAIlC;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,EACtF,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GACpF,OAAO,CAAC,eAAe,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAIhD;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IAK1E;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CAGlG"}
@@ -29,6 +29,10 @@ export declare const zh: {
29
29
  readonly selectAll: "全选";
30
30
  readonly unselectAll: "全不选";
31
31
  readonly noneSelected: "未选择任何模型,该线路不会出现在模型选择器中。";
32
+ readonly enhanced: "增强功能";
33
+ readonly defaultReasoningEffort: "默认思考档位";
34
+ readonly defaultReasoningEffortHint: "只对支持思考控制的模型生效。具体可选档位由模型自身决定:gpt-oss 一类只接受 low / medium / high,deepseek-r1 一类只有开或关,其余模型不接受思考控制,Host 会按模型形态收敛。选「不指定」时使用模型自身的默认值。";
35
+ readonly defaultEffortAuto: "不指定";
32
36
  readonly limitsSection: "能力边界";
33
37
  readonly limitsHint: "以下为 Ollama Cloud 官方文档列出的限制,本线路不会绕过:";
34
38
  readonly limitNoStateful: "不支持 Responses 的有状态会话(仅无状态形式)。";
@@ -102,6 +106,10 @@ export declare const en: {
102
106
  readonly selectAll: "Select all";
103
107
  readonly unselectAll: "Clear all";
104
108
  readonly noneSelected: "No models are selected, so this line will not appear in the model picker.";
109
+ readonly enhanced: "Enhanced";
110
+ readonly defaultReasoningEffort: "Default thinking level";
111
+ readonly defaultReasoningEffortHint: "Applies only to models that accept thinking control. The levels a model can take are its own: the gpt-oss family takes low / medium / high, the deepseek-r1 family takes only on or off, and the rest take no thinking control at all — the Host narrows the stored level to what the target model accepts. Choose \"Do not specify\" to leave each model on its own default.";
112
+ readonly defaultEffortAuto: "Do not specify";
105
113
  readonly limitsSection: "Documented limits";
106
114
  readonly limitsHint: "Ollama Cloud documents these limits; this line does not work around them:";
107
115
  readonly limitNoStateful: "No stateful Responses (stateless only).";
@@ -176,6 +184,10 @@ export declare const dictionaries: {
176
184
  readonly selectAll: "全选";
177
185
  readonly unselectAll: "全不选";
178
186
  readonly noneSelected: "未选择任何模型,该线路不会出现在模型选择器中。";
187
+ readonly enhanced: "增强功能";
188
+ readonly defaultReasoningEffort: "默认思考档位";
189
+ readonly defaultReasoningEffortHint: "只对支持思考控制的模型生效。具体可选档位由模型自身决定:gpt-oss 一类只接受 low / medium / high,deepseek-r1 一类只有开或关,其余模型不接受思考控制,Host 会按模型形态收敛。选「不指定」时使用模型自身的默认值。";
190
+ readonly defaultEffortAuto: "不指定";
179
191
  readonly limitsSection: "能力边界";
180
192
  readonly limitsHint: "以下为 Ollama Cloud 官方文档列出的限制,本线路不会绕过:";
181
193
  readonly limitNoStateful: "不支持 Responses 的有状态会话(仅无状态形式)。";
@@ -249,6 +261,10 @@ export declare const dictionaries: {
249
261
  readonly selectAll: "全选";
250
262
  readonly unselectAll: "全不选";
251
263
  readonly noneSelected: "未选择任何模型,该线路不会出现在模型选择器中。";
264
+ readonly enhanced: "增强功能";
265
+ readonly defaultReasoningEffort: "默认思考档位";
266
+ readonly defaultReasoningEffortHint: "只对支持思考控制的模型生效。具体可选档位由模型自身决定:gpt-oss 一类只接受 low / medium / high,deepseek-r1 一类只有开或关,其余模型不接受思考控制,Host 会按模型形态收敛。选「不指定」时使用模型自身的默认值。";
267
+ readonly defaultEffortAuto: "不指定";
252
268
  readonly limitsSection: "能力边界";
253
269
  readonly limitsHint: "以下为 Ollama Cloud 官方文档列出的限制,本线路不会绕过:";
254
270
  readonly limitNoStateful: "不支持 Responses 的有状态会话(仅无状态形式)。";
@@ -322,6 +338,10 @@ export declare const dictionaries: {
322
338
  readonly selectAll: "Select all";
323
339
  readonly unselectAll: "Clear all";
324
340
  readonly noneSelected: "No models are selected, so this line will not appear in the model picker.";
341
+ readonly enhanced: "Enhanced";
342
+ readonly defaultReasoningEffort: "Default thinking level";
343
+ readonly defaultReasoningEffortHint: "Applies only to models that accept thinking control. The levels a model can take are its own: the gpt-oss family takes low / medium / high, the deepseek-r1 family takes only on or off, and the rest take no thinking control at all — the Host narrows the stored level to what the target model accepts. Choose \"Do not specify\" to leave each model on its own default.";
344
+ readonly defaultEffortAuto: "Do not specify";
325
345
  readonly limitsSection: "Documented limits";
326
346
  readonly limitsHint: "Ollama Cloud documents these limits; this line does not work around them:";
327
347
  readonly limitNoStateful: "No stateful Responses (stateless only).";
@@ -395,6 +415,10 @@ export declare const dictionaries: {
395
415
  readonly selectAll: "Select all";
396
416
  readonly unselectAll: "Clear all";
397
417
  readonly noneSelected: "No models are selected, so this line will not appear in the model picker.";
418
+ readonly enhanced: "Enhanced";
419
+ readonly defaultReasoningEffort: "Default thinking level";
420
+ readonly defaultReasoningEffortHint: "Applies only to models that accept thinking control. The levels a model can take are its own: the gpt-oss family takes low / medium / high, the deepseek-r1 family takes only on or off, and the rest take no thinking control at all — the Host narrows the stored level to what the target model accepts. Choose \"Do not specify\" to leave each model on its own default.";
421
+ readonly defaultEffortAuto: "Do not specify";
398
422
  readonly limitsSection: "Documented limits";
399
423
  readonly limitsHint: "Ollama Cloud documents these limits; this line does not work around them:";
400
424
  readonly limitNoStateful: "No stateful Responses (stateless only).";
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAA;AAErC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDL,CAAA;AAIV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAA;AAErC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDL,CAAA;AAIV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,CAAA"}
@@ -597,8 +597,8 @@ export declare const dictionaries: {
597
597
  readonly quotaFactsScope: string;
598
598
  readonly composerLabel: string;
599
599
  };
600
- en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheRequests" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaWindowNames" | "quotaRefreshingNote" | "quotaErrorLabel" | "profile" | "cacheRequestParams" | "moreNotes" | "profileStepPlan" | "profileStepPlanOversea" | "profilePlatformCn" | "profilePlatformOversea" | "profileHint" | "profileHintExtra" | "adoptInvalidCredentials" | "adoptUnsupportedShape" | "adoptNotAStepcodeLogin" | "modelsHintExtra" | "enabledModelIdsSemantics" | "defaultEffort" | "defaultEffortHint" | "defaultEffortHintExtra" | "defaultEffortModel" | "effortMinimal" | "contextWindowHintExtra" | "quotaPlanFamily" | "quotaRegion" | "quotaNoReset" | "quotaUsedUnknown" | "quotaKindWindowed" | "quotaKindCredit" | "quotaKindUnknown" | "quotaKindHint" | "quotaWindowFiveHour" | "quotaWindowWeekly" | "quotaWindowCredit" | "quotaBucketTotal" | "quotaBucketRemaining" | "quotaBucketExpires" | "quotaBucketResets" | "quotaCredentialSection" | "quotaCredentialSource" | "quotaCredentialFoot" | "quotaCredentialNone" | "quotaCredentialAuto" | "quotaCredentialManual" | "quotaCredentialAccount" | "quotaCredentialExpires" | "quotaCredentialError" | "quotaCredentialPasswordSection" | "quotaCredentialAccountPlaceholder" | "quotaCredentialPasswordPlaceholder" | "quotaCredentialPasswordSubmit" | "quotaCredentialPasswordSubmitting" | "quotaCredentialAccountEmpty" | "quotaCredentialPasswordEmpty" | "quotaCredentialManualSection" | "quotaCredentialTokenPlaceholder" | "quotaCredentialTokenSubmit" | "quotaCredentialTokenSubmitting" | "quotaCredentialTokenEmpty" | "quotaCredentialClear" | "quotaCredentialClearing" | "cacheStatScope" | "cacheFieldOrder" | "cacheReadTokens" | "cacheMissedTokens" | "cacheWriteNote" | "cacheWriteNoteValue" | "cacheWriteNoteHint" | "cacheRequestParamsHint" | "cacheRequestParamsNote" | "cacheRequestParamsOnHint" | "cachePricingNote" | "cacheHitRatioUnavailable", string>;
601
- 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheRequests" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaWindowNames" | "quotaRefreshingNote" | "quotaErrorLabel" | "profile" | "cacheRequestParams" | "moreNotes" | "profileStepPlan" | "profileStepPlanOversea" | "profilePlatformCn" | "profilePlatformOversea" | "profileHint" | "profileHintExtra" | "adoptInvalidCredentials" | "adoptUnsupportedShape" | "adoptNotAStepcodeLogin" | "modelsHintExtra" | "enabledModelIdsSemantics" | "defaultEffort" | "defaultEffortHint" | "defaultEffortHintExtra" | "defaultEffortModel" | "effortMinimal" | "contextWindowHintExtra" | "quotaPlanFamily" | "quotaRegion" | "quotaNoReset" | "quotaUsedUnknown" | "quotaKindWindowed" | "quotaKindCredit" | "quotaKindUnknown" | "quotaKindHint" | "quotaWindowFiveHour" | "quotaWindowWeekly" | "quotaWindowCredit" | "quotaBucketTotal" | "quotaBucketRemaining" | "quotaBucketExpires" | "quotaBucketResets" | "quotaCredentialSection" | "quotaCredentialSource" | "quotaCredentialFoot" | "quotaCredentialNone" | "quotaCredentialAuto" | "quotaCredentialManual" | "quotaCredentialAccount" | "quotaCredentialExpires" | "quotaCredentialError" | "quotaCredentialPasswordSection" | "quotaCredentialAccountPlaceholder" | "quotaCredentialPasswordPlaceholder" | "quotaCredentialPasswordSubmit" | "quotaCredentialPasswordSubmitting" | "quotaCredentialAccountEmpty" | "quotaCredentialPasswordEmpty" | "quotaCredentialManualSection" | "quotaCredentialTokenPlaceholder" | "quotaCredentialTokenSubmit" | "quotaCredentialTokenSubmitting" | "quotaCredentialTokenEmpty" | "quotaCredentialClear" | "quotaCredentialClearing" | "cacheStatScope" | "cacheFieldOrder" | "cacheReadTokens" | "cacheMissedTokens" | "cacheWriteNote" | "cacheWriteNoteValue" | "cacheWriteNoteHint" | "cacheRequestParamsHint" | "cacheRequestParamsNote" | "cacheRequestParamsOnHint" | "cachePricingNote" | "cacheHitRatioUnavailable", string>;
600
+ en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheRequests" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "profile" | "cacheRequestParams" | "moreNotes" | "profileStepPlan" | "profileStepPlanOversea" | "profilePlatformCn" | "profilePlatformOversea" | "profileHint" | "profileHintExtra" | "adoptInvalidCredentials" | "adoptUnsupportedShape" | "adoptNotAStepcodeLogin" | "modelsHintExtra" | "enabledModelIdsSemantics" | "defaultEffort" | "defaultEffortHint" | "defaultEffortHintExtra" | "defaultEffortModel" | "effortMinimal" | "contextWindowHintExtra" | "quotaPlanFamily" | "quotaRegion" | "quotaWindowNames" | "quotaNoReset" | "quotaUsedUnknown" | "quotaKindWindowed" | "quotaKindCredit" | "quotaKindUnknown" | "quotaKindHint" | "quotaWindowFiveHour" | "quotaWindowWeekly" | "quotaWindowCredit" | "quotaBucketTotal" | "quotaBucketRemaining" | "quotaBucketExpires" | "quotaBucketResets" | "quotaCredentialSection" | "quotaCredentialSource" | "quotaCredentialFoot" | "quotaCredentialNone" | "quotaCredentialAuto" | "quotaCredentialManual" | "quotaCredentialAccount" | "quotaCredentialExpires" | "quotaCredentialError" | "quotaCredentialPasswordSection" | "quotaCredentialAccountPlaceholder" | "quotaCredentialPasswordPlaceholder" | "quotaCredentialPasswordSubmit" | "quotaCredentialPasswordSubmitting" | "quotaCredentialAccountEmpty" | "quotaCredentialPasswordEmpty" | "quotaCredentialManualSection" | "quotaCredentialTokenPlaceholder" | "quotaCredentialTokenSubmit" | "quotaCredentialTokenSubmitting" | "quotaCredentialTokenEmpty" | "quotaCredentialClear" | "quotaCredentialClearing" | "cacheStatScope" | "cacheFieldOrder" | "cacheReadTokens" | "cacheMissedTokens" | "cacheWriteNote" | "cacheWriteNoteValue" | "cacheWriteNoteHint" | "cacheRequestParamsHint" | "cacheRequestParamsNote" | "cacheRequestParamsOnHint" | "cachePricingNote" | "cacheHitRatioUnavailable", string>;
601
+ 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheRequests" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "effortLow" | "effortMedium" | "effortHigh" | "effortXHigh" | "effortMax" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "profile" | "cacheRequestParams" | "moreNotes" | "profileStepPlan" | "profileStepPlanOversea" | "profilePlatformCn" | "profilePlatformOversea" | "profileHint" | "profileHintExtra" | "adoptInvalidCredentials" | "adoptUnsupportedShape" | "adoptNotAStepcodeLogin" | "modelsHintExtra" | "enabledModelIdsSemantics" | "defaultEffort" | "defaultEffortHint" | "defaultEffortHintExtra" | "defaultEffortModel" | "effortMinimal" | "contextWindowHintExtra" | "quotaPlanFamily" | "quotaRegion" | "quotaWindowNames" | "quotaNoReset" | "quotaUsedUnknown" | "quotaKindWindowed" | "quotaKindCredit" | "quotaKindUnknown" | "quotaKindHint" | "quotaWindowFiveHour" | "quotaWindowWeekly" | "quotaWindowCredit" | "quotaBucketTotal" | "quotaBucketRemaining" | "quotaBucketExpires" | "quotaBucketResets" | "quotaCredentialSection" | "quotaCredentialSource" | "quotaCredentialFoot" | "quotaCredentialNone" | "quotaCredentialAuto" | "quotaCredentialManual" | "quotaCredentialAccount" | "quotaCredentialExpires" | "quotaCredentialError" | "quotaCredentialPasswordSection" | "quotaCredentialAccountPlaceholder" | "quotaCredentialPasswordPlaceholder" | "quotaCredentialPasswordSubmit" | "quotaCredentialPasswordSubmitting" | "quotaCredentialAccountEmpty" | "quotaCredentialPasswordEmpty" | "quotaCredentialManualSection" | "quotaCredentialTokenPlaceholder" | "quotaCredentialTokenSubmit" | "quotaCredentialTokenSubmitting" | "quotaCredentialTokenEmpty" | "quotaCredentialClear" | "quotaCredentialClearing" | "cacheStatScope" | "cacheFieldOrder" | "cacheReadTokens" | "cacheMissedTokens" | "cacheWriteNote" | "cacheWriteNoteValue" | "cacheWriteNoteHint" | "cacheRequestParamsHint" | "cacheRequestParamsNote" | "cacheRequestParamsOnHint" | "cachePricingNote" | "cacheHitRatioUnavailable", string>;
602
602
  };
603
603
  export type StepCodeLocaleKey = keyof typeof zh;
604
604
  /**
@@ -61,6 +61,15 @@ export declare const CODEX_RESET_CREDITS_URL: "https://chatgpt.com/backend-api/w
61
61
  export declare const CODEX_RESET_CREDITS_CONSUME_URL: "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume";
62
62
  export declare const CODEX_IMAGE_TOOL_NAME: "codex_image_generate";
63
63
  export declare const CODEX_IMAGE_MODEL: "gpt-image-2";
64
+ /**
65
+ * The Antigravity image tool and the runtime it calls.
66
+ *
67
+ * `gemini-3.1-flash-image` is listed by `fetchAvailableModels`, but its product
68
+ * is an image and the harness accepts text-only assistant output, so it is
69
+ * served as a tool (like Codex images) rather than as a chat model.
70
+ */
71
+ export declare const ANTIGRAVITY_IMAGE_TOOL_NAME: "antigravity_image_generate";
72
+ export declare const ANTIGRAVITY_IMAGE_MODEL: "gemini-3.1-flash-image";
64
73
  export declare const CODEX_SEARCH_PROVIDER_ID: "codex-subscription";
65
74
  export declare const CODEX_FETCH_PROVIDER_ID: "codex-subscription";
66
75
  export declare const QUOTA_CACHE_MS = 60000;
@@ -1 +1 @@
1
- {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAG,yBAAkC,CAAA;AACtE,eAAO,MAAM,uBAAuB,EAAG,8BAAuC,CAAA;AAC9E,eAAO,MAAM,mBAAmB,EAAG,WAAoB,CAAA;AACvD,eAAO,MAAM,mBAAmB,EAAG,IAAa,CAAA;AAChD,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAA;AAC5D,eAAO,MAAM,kBAAkB,uCAAwF,CAAA;AACvH,eAAO,MAAM,WAAW,EAAG,qCAA8C,CAAA;AACzE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,EAAG,UAAmB,CAAA;AACnD,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,YAAmB,CAAA;AAChD,eAAO,MAAM,sBAAsB,QAAa,CAAA;AAChD,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAC7C,eAAO,MAAM,YAAY,EAAG,+BAAwC,CAAA;AACpE,eAAO,MAAM,cAAc,EAAG,eAAwB,CAAA;AACtD,eAAO,MAAM,yBAAyB,EAAG,eAAwB,CAAA;AAajE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAExG,eAAO,MAAM,cAAc,EAAG,uCAAgD,CAAA;AAC9E,eAAO,MAAM,mBAAmB,mDAAyC,CAAA;AACzE,eAAO,MAAM,0BAA0B,4DAAkD,CAAA;AACzF,eAAO,MAAM,gBAAgB,sDAA4C,CAAA;AACzE,eAAO,MAAM,eAAe,EAAG,4CAAqD,CAAA;AACpF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAA;AACrD,eAAO,MAAM,gBAAgB,sEAA6E,CAAA;AAC1G;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAG,wBAAiC,CAAA;AAClE,eAAO,MAAM,uBAAuB,EAAG,+DAAwE,CAAA;AAC/G,eAAO,MAAM,+BAA+B,yEAAgD,CAAA;AAC5F,eAAO,MAAM,qBAAqB,EAAG,sBAA+B,CAAA;AACpE,eAAO,MAAM,iBAAiB,EAAG,aAAsB,CAAA;AACvD,eAAO,MAAM,wBAAwB,EAAG,oBAA6B,CAAA;AACrE,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAA;AACpE,eAAO,MAAM,cAAc,QAAS,CAAA;AACpC,eAAO,MAAM,8BAA8B,QAAS,CAAA;AAEpD,eAAO,MAAM,mBAAmB,2CAAqD,CAAA;AACrF,eAAO,MAAM,eAAe,uCAAiD,CAAA"}
1
+ {"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAG,yBAAkC,CAAA;AACtE,eAAO,MAAM,uBAAuB,EAAG,8BAAuC,CAAA;AAC9E,eAAO,MAAM,mBAAmB,EAAG,WAAoB,CAAA;AACvD,eAAO,MAAM,mBAAmB,EAAG,IAAa,CAAA;AAChD,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAA;AAC5D,eAAO,MAAM,kBAAkB,uCAAwF,CAAA;AACvH,eAAO,MAAM,WAAW,EAAG,qCAA8C,CAAA;AACzE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,EAAG,UAAmB,CAAA;AACnD,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,YAAmB,CAAA;AAChD,eAAO,MAAM,sBAAsB,QAAa,CAAA;AAChD,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAC7C,eAAO,MAAM,YAAY,EAAG,+BAAwC,CAAA;AACpE,eAAO,MAAM,cAAc,EAAG,eAAwB,CAAA;AACtD,eAAO,MAAM,yBAAyB,EAAG,eAAwB,CAAA;AAajE,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AAExG,eAAO,MAAM,cAAc,EAAG,uCAAgD,CAAA;AAC9E,eAAO,MAAM,mBAAmB,mDAAyC,CAAA;AACzE,eAAO,MAAM,0BAA0B,4DAAkD,CAAA;AACzF,eAAO,MAAM,gBAAgB,sDAA4C,CAAA;AACzE,eAAO,MAAM,eAAe,EAAG,4CAAqD,CAAA;AACpF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAG,QAAiB,CAAA;AACrD,eAAO,MAAM,gBAAgB,sEAA6E,CAAA;AAC1G;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAG,wBAAiC,CAAA;AAClE,eAAO,MAAM,uBAAuB,EAAG,+DAAwE,CAAA;AAC/G,eAAO,MAAM,+BAA+B,yEAAgD,CAAA;AAC5F,eAAO,MAAM,qBAAqB,EAAG,sBAA+B,CAAA;AACpE,eAAO,MAAM,iBAAiB,EAAG,aAAsB,CAAA;AACvD;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAG,4BAAqC,CAAA;AAChF,eAAO,MAAM,uBAAuB,EAAG,wBAAiC,CAAA;AACxE,eAAO,MAAM,wBAAwB,EAAG,oBAA6B,CAAA;AACrE,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAA;AACpE,eAAO,MAAM,cAAc,QAAS,CAAA;AACpC,eAAO,MAAM,8BAA8B,QAAS,CAAA;AAEpD,eAAO,MAAM,mBAAmB,2CAAqD,CAAA;AACrF,eAAO,MAAM,eAAe,uCAAiD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-preset.d.ts","sourceRoot":"","sources":["../../../src/host/agent-preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,kCAAkC,CAAA;AAEtE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAA;CACxC;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;CACvC;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5E,yBAAyB;IACzB,MAAM,EAAE;QACN,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;CACF;AAED,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;AAE9D,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,gBA+P7B,CAAA;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,iBAAoC,GAC7C,aAAa,CAuBf"}
1
+ {"version":3,"file":"agent-preset.d.ts","sourceRoot":"","sources":["../../../src/host/agent-preset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,kCAAkC,CAAA;AAEtE,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,aAAa,CAAA;AAE5C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,yCAAyC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAA;CACxC;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,CAAA;CACvC;AAED,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,2EAA2E;IAC3E,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5E,yBAAyB;IACzB,MAAM,EAAE;QACN,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAC5B,CAAA;CACF;AAED,qEAAqE;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAA;AAE9D,mDAAmD;AACnD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAA;AAEnD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,gBAyR7B,CAAA;AAUD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,QAAQ,GAAE,iBAAoC,GAC7C,aAAa,CAuBf"}
@@ -97,5 +97,48 @@ export declare class AccountPoolStore {
97
97
  token: string;
98
98
  projectId?: string;
99
99
  }>;
100
+ /**
101
+ * Cooldowns keyed by account AND quota family.
102
+ *
103
+ * Antigravity meters Gemini and "Claude and GPT" as separate allowances
104
+ * (`retrieveUserQuotaSummary` reports them as separate groups), so a 429 on
105
+ * one says nothing about the other. The account-wide cooldown the shared core
106
+ * writes took a whole account out of rotation for 15 minutes when only its
107
+ * Claude allowance was spent, and its Gemini allowance went unused.
108
+ *
109
+ * Held in memory rather than in the pool document: it is a routing hint that
110
+ * the next 429 re-establishes, and the shared pool format has no per-family
111
+ * field to put it in.
112
+ */
113
+ private readonly familyCooldowns;
114
+ private familyKey;
115
+ /** Cool one account down for one quota family after an upstream 429. */
116
+ markFamilyCooldown(accountId: string, family: AntigravityQuotaFamily, durationMs: number, reason: string): void;
117
+ /** Accounts whose allowance for this family is still cooling down. */
118
+ familyCoolingAccountIds(family: AntigravityQuotaFamily, now?: number): Set<string>;
119
+ private shortestFamilyCooldownMs;
120
+ /**
121
+ * {@link getEffectiveAccount} for one quota family: accounts whose allowance
122
+ * for that family is cooling down are skipped, every other account stays
123
+ * eligible.
124
+ *
125
+ * @throws LlmError `RATE_LIMIT` naming the family's own wait when every
126
+ * remaining account is cooling down for this family.
127
+ */
128
+ getEffectiveAccountFor(family: AntigravityQuotaFamily, excludeIds?: ReadonlySet<string>, fetchFn?: typeof fetch): Promise<{
129
+ account: AntigravityPoolAccount;
130
+ token: string;
131
+ projectId?: string;
132
+ }>;
133
+ /** Whether an account not yet tried may still serve this family. */
134
+ hasAnotherAvailableAccountFor(family: AntigravityQuotaFamily, triedAccountIds: ReadonlySet<string>): Promise<boolean>;
100
135
  }
136
+ /**
137
+ * The separately metered allowance one model draws from.
138
+ *
139
+ * Mirrors the quota groups `retrieveUserQuotaSummary` reports: Gemini models in
140
+ * one, "Claude and GPT models" in the other.
141
+ */
142
+ export type AntigravityQuotaFamily = 'gemini' | 'claude-gpt';
143
+ export declare function quotaFamilyForModel(modelId: string): AntigravityQuotaFamily;
101
144
  //# sourceMappingURL=account-pool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/account-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/account-pool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAOxD,OAAO,EACL,mBAAmB,EAEnB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAA6B,MAAM,wCAAwC,CAAA;AAE5G,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,sBAAsB,CAAA;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,CAAC,CAAA;IACV,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,uBAAuB,CAAA;IACzC,QAAQ,EAAE,sBAAsB,EAAE,CAAA;CACnC;AAED,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAI5E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAwC5E;AAgCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,uBAAuB,GAAG,SAAS,GAAG,mBAAmB,GAAG,SAAS,CA4BhH;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIpB;IACD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAG/C,QAAQ,SAAa,EACrB,OAAO,GAAE,eAAe,CAAC,mBAAmB,CAAyC,EACrF,WAAW,sBAA4B;IA+FzC,+DAA+D;IAC/D,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpC,KAAK,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,YAAY,IAAI,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAIvD,UAAU,CAAC,WAAW,EAAE,sBAAsB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAIhG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,WAAW,CAAC,QAAQ,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlF,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,0BAA0B,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlF;;;OAGG;IACG,mBAAmB,CACvB,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQlF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuD;IAEvF,OAAO,CAAC,SAAS;IAIjB,wEAAwE;IACxE,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/G,sEAAsE;IACtE,uBAAuB,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,SAAa,GAAG,GAAG,CAAC,MAAM,CAAC;IAWtF,OAAO,CAAC,wBAAwB;IAShC;;;;;;;OAOG;IACG,sBAAsB,CAC1B,MAAM,EAAE,sBAAsB,EAC9B,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAmBlF,oEAAoE;IAC9D,6BAA6B,CACjC,MAAM,EAAE,sBAAsB,EAC9B,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC;CAIpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,YAAY,CAAA;AAE5D,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,CAE3E"}
@@ -3,12 +3,40 @@ import { FileCredentialStore, FileModelSettingsStore, type AntigravityPreference
3
3
  import { type AttachmentImageReader } from './mapper.ts';
4
4
  export declare function resolveDefaultReasoningEffort(efforts: readonly string[], configuredEffort?: string | null): ReasoningEffortId | undefined;
5
5
  import { AccountPoolStore } from './account-pool.ts';
6
+ /** Cooldown applied to a 429 that states no reset time anywhere. */
7
+ export declare const DEFAULT_RATE_LIMIT_COOLDOWN_MS: number;
8
+ /**
9
+ * Milliseconds in one duration string: protobuf JSON (`"12.5s"`) or Go form
10
+ * (`"1h2m3.5s"`, `"373.8ms"`). Undefined when the string is neither.
11
+ */
12
+ export declare function parseDurationMs(value: string): number | undefined;
13
+ /**
14
+ * How long one 429 says to wait, or undefined when it does not say.
15
+ *
16
+ * Google states the reset in the error body rather than in `Retry-After`:
17
+ * `ErrorInfo.metadata.quotaResetTimeStamp` (an instant) and `quotaResetDelay`
18
+ * (a Go duration) for a spent allowance, `RetryInfo.retryDelay` for a short
19
+ * rate limit. Reading only the header made every Antigravity 429 fall back to
20
+ * the flat 15 minutes, whether the allowance reset in two seconds or in five
21
+ * hours. The most specific statement wins; the header is the last resort.
22
+ */
23
+ export declare function retryDelayMs(headers: Headers, body: string, now?: number): number | undefined;
24
+ /**
25
+ * The same request body without its `toolConfig`, when that config asked for
26
+ * VALIDATED; undefined when it did not (nothing to fall back from).
27
+ */
28
+ export declare function withoutValidatedToolConfig(body: string): string | undefined;
6
29
  export declare class AntigravityAdapter extends LlmAdapter {
7
30
  private readonly store;
8
31
  private readonly modelSettings;
9
32
  private readonly preferences?;
10
33
  private readonly options;
11
34
  private readonly accountPool;
35
+ /**
36
+ * Set once the service refuses `functionCallingConfig.mode: VALIDATED`; from
37
+ * then on Claude requests leave the mode unset (AUTO) for this process.
38
+ */
39
+ private validatedToolCallingRejected;
12
40
  constructor(store?: FileCredentialStore, modelSettings?: FileModelSettingsStore, preferences?: AntigravityPreferenceStore | undefined, options?: {
13
41
  fetchFn?: typeof fetch;
14
42
  attachments?: AttachmentImageReader;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAU7B,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,KAAK,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAG/G,OAAO,EAOL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAA;AAKpB,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAc/B;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAsBpD,qBAAa,kBAAmB,SAAQ,UAAU;IAI9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;gBAG3B,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;QAAC,WAAW,CAAC,EAAE,qBAAqB,CAAA;KAAO,EAC9F,WAAW,CAAC,EAAE,gBAAgB;IAMhC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAI7D,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAmB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwCpG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO/F,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YAwBpD,aAAa;CA6L7B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/adapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAW7B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EAEtB,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAOL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAA;AAKpB,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAc/B;AAED,OAAO,EAAE,gBAAgB,EAAuB,MAAM,mBAAmB,CAAA;AAEzE,oEAAoE;AACpE,eAAO,MAAM,8BAA8B,QAAiB,CAAA;AAE5D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,SAAS,CAgCjG;AA4BD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM3E;AAED,qBAAa,kBAAmB,SAAQ,UAAU;IAS9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkB;IAC9C;;;OAGG;IACH,OAAO,CAAC,4BAA4B,CAAQ;gBAGzB,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;QAAC,WAAW,CAAC,EAAE,qBAAqB,CAAA;KAAO,EAC9F,WAAW,CAAC,EAAE,gBAAgB;IAMhC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,SAAS;IAIhC,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS;IAI7D,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAsB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyCpG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAO/F,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC;YA0BpD,aAAa;CA0M7B"}
@@ -0,0 +1,23 @@
1
+ import { type AntigravityModelDef } from './types.ts';
2
+ import type { AntigravityCatalogModel } from './token-store.ts';
3
+ /** Every runtime id one selectable model can send, in routing order. */
4
+ export declare function runtimeIdsFor(modelId: string): string[];
5
+ export interface AntigravityModelLimits {
6
+ contextWindow: number;
7
+ maxTokens: number;
8
+ }
9
+ /**
10
+ * The limits one selectable model advertises, preferring what
11
+ * `fetchAvailableModels` reported over the built-in table.
12
+ *
13
+ * One selectable model fans out to several runtime ids (one per effort), and
14
+ * the harness sizes a conversation once for all of them, so the smallest
15
+ * reported value wins: a conversation sized for the largest would overflow the
16
+ * moment the user drops to an effort whose runtime is smaller. A runtime the
17
+ * catalog is silent about leaves the built-in value in force, which is also all
18
+ * there is before the first catalog refresh.
19
+ */
20
+ export declare function effectiveModelLimits(model: Pick<AntigravityModelDef, 'id' | 'contextWindow' | 'maxTokens'>, catalog: readonly AntigravityCatalogModel[] | undefined): AntigravityModelLimits;
21
+ /** The output ceiling the catalog reported for one runtime id, if it did. */
22
+ export declare function catalogMaxOutputFor(runtimeId: string, catalog: readonly AntigravityCatalogModel[] | undefined): number | undefined;
23
+ //# sourceMappingURL=catalog-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-limits.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/catalog-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAS/D,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAIvD;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,eAAe,GAAG,WAAW,CAAC,EACtE,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAAG,SAAS,GACtD,sBAAsB,CAcxB;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,uBAAuB,EAAE,GAAG,SAAS,GACtD,MAAM,GAAG,SAAS,CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { AttachmentStore, ImageMediaType } from '@deepseek-ai/dsh-attachment';
2
+ import { AccountPoolStore } from './account-pool.ts';
3
+ import { FileCredentialStore } from './token-store.ts';
4
+ type FetchLike = typeof fetch;
5
+ /**
6
+ * Aspect ratios Gemini image models accept in `imageConfig.aspectRatio`.
7
+ * Omitted, the model picks one itself, which is what the request then does.
8
+ */
9
+ export declare const ANTIGRAVITY_IMAGE_ASPECT_RATIOS: readonly ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"];
10
+ export interface AntigravityImageToolOptions {
11
+ fetchFn?: FetchLike;
12
+ /** Whether the Antigravity line is switched on; a switched-off line serves no images. */
13
+ isEnabled?: () => boolean;
14
+ }
15
+ /** One image part the model returned, still base64. */
16
+ export interface InlineImage {
17
+ mimeType: string;
18
+ data: string;
19
+ }
20
+ /** What one image response carried, gathered across every SSE frame. */
21
+ export interface ImageResponse {
22
+ images: InlineImage[];
23
+ text: string;
24
+ finishReason?: string;
25
+ finishMessage?: string;
26
+ }
27
+ /**
28
+ * The `v1internal` envelope for one image generation.
29
+ *
30
+ * Deliberately bare next to the chat request: no system instruction, no tools
31
+ * and no thinking config. An image runtime has nothing to do with the coding
32
+ * agent persona or tool declarations, and `responseModalities` is what asks it
33
+ * for pixels at all. `requestType: 'image_gen'` follows what community
34
+ * Antigravity clients send for image runtimes; it has not been captured from
35
+ * the official client.
36
+ */
37
+ export declare function buildImageRequest(prompt: string, projectId: string, aspectRatio?: string): Record<string, unknown>;
38
+ /**
39
+ * Collect the images and visible text of one SSE image response.
40
+ *
41
+ * Parts marked `thought: true` are skipped, images included: an image model can
42
+ * stream interim drafts as thoughts, and only the final picture is the answer.
43
+ *
44
+ * @throws HarnessError when a frame carries an upstream error.
45
+ */
46
+ export declare function parseImageResponse(body: string): ImageResponse;
47
+ /**
48
+ * Decode one returned image after checking it is the type it claims and fits
49
+ * the attachment limits. A claim the bytes contradict is refused rather than
50
+ * stored under the wrong type.
51
+ */
52
+ export declare function decodeInlineImage(image: InlineImage, attachments: Pick<AttachmentStore, 'imageLimits'>): {
53
+ mediaType: ImageMediaType;
54
+ data: Uint8Array;
55
+ };
56
+ /**
57
+ * Generate an image through the signed-in Antigravity account pool.
58
+ *
59
+ * Shares the chat route's account rotation: the call draws on the Gemini
60
+ * allowance, so an account whose Gemini allowance is cooling down is skipped and
61
+ * a 429 cools that allowance alone (see AccountPoolStore.markFamilyCooldown).
62
+ */
63
+ export declare function createAntigravityImageTool(accountPool: AccountPoolStore, store: FileCredentialStore, attachments: AttachmentStore, options?: AntigravityImageToolOptions): import("@deepseek-ai/dsh-tools").ToolDefinition;
64
+ export {};
65
+ //# sourceMappingURL=image-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image-tool.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/image-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsB,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAMtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAIpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,KAAK,SAAS,GAAG,OAAO,KAAK,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,+BAA+B,oFAElC,CAAA;AAKV,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,OAAO,CAAA;CAC1B;AAkBD,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAezB;AAYD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAqC9D;AAcD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAChD;IAAE,SAAS,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAiBjD;AASD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,gBAAgB,EAC7B,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,2BAAgC,mDAoH1C"}