@eddyskywalker/dsh-chatgpt-subscription 0.10.21 → 0.11.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 (54) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/lib/client.js +53 -8
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +2409 -304
  5. package/lib/types/client/command-code/CommandCodeSection.d.ts.map +1 -1
  6. package/lib/types/client/command-code/locales.d.ts +14 -2
  7. package/lib/types/client/command-code/locales.d.ts.map +1 -1
  8. package/lib/types/host/codex-account-pool.d.ts +2 -8
  9. package/lib/types/host/codex-account-pool.d.ts.map +1 -1
  10. package/lib/types/host/command-code/adapter.d.ts +19 -0
  11. package/lib/types/host/command-code/adapter.d.ts.map +1 -1
  12. package/lib/types/host/command-code/client.d.ts +4 -2
  13. package/lib/types/host/command-code/client.d.ts.map +1 -1
  14. package/lib/types/host/command-code/mapper.d.ts +11 -0
  15. package/lib/types/host/command-code/mapper.d.ts.map +1 -1
  16. package/lib/types/host/command-code/routes.d.ts +2 -0
  17. package/lib/types/host/command-code/routes.d.ts.map +1 -1
  18. package/lib/types/host/command-code/token-store.d.ts +7 -0
  19. package/lib/types/host/command-code/token-store.d.ts.map +1 -1
  20. package/lib/types/host/command-code/types.d.ts +15 -0
  21. package/lib/types/host/command-code/types.d.ts.map +1 -1
  22. package/lib/types/host/common/capabilities.d.ts +100 -0
  23. package/lib/types/host/common/capabilities.d.ts.map +1 -0
  24. package/lib/types/host/common/concurrency-gate.d.ts +46 -0
  25. package/lib/types/host/common/concurrency-gate.d.ts.map +1 -0
  26. package/lib/types/host/common/model-request-control.d.ts +21 -0
  27. package/lib/types/host/common/model-request-control.d.ts.map +1 -0
  28. package/lib/types/host/common/request-diagnostics.d.ts +79 -0
  29. package/lib/types/host/common/request-diagnostics.d.ts.map +1 -0
  30. package/lib/types/host/minimax-code/adapter.d.ts.map +1 -1
  31. package/lib/types/host/minimax-code/mapper.d.ts +32 -1
  32. package/lib/types/host/minimax-code/mapper.d.ts.map +1 -1
  33. package/lib/types/host/minimax-code/model-catalog.d.ts +7 -2
  34. package/lib/types/host/minimax-code/model-catalog.d.ts.map +1 -1
  35. package/lib/types/host/minimax-code/types.d.ts +12 -0
  36. package/lib/types/host/minimax-code/types.d.ts.map +1 -1
  37. package/lib/types/host/ollama/adapter.d.ts +18 -4
  38. package/lib/types/host/ollama/adapter.d.ts.map +1 -1
  39. package/lib/types/host/ollama/client.d.ts +14 -0
  40. package/lib/types/host/ollama/client.d.ts.map +1 -1
  41. package/lib/types/host/ollama/mapper.d.ts +5 -0
  42. package/lib/types/host/ollama/mapper.d.ts.map +1 -1
  43. package/lib/types/host/ollama/types.d.ts +23 -0
  44. package/lib/types/host/ollama/types.d.ts.map +1 -1
  45. package/lib/types/host/responses-client.d.ts +27 -10
  46. package/lib/types/host/responses-client.d.ts.map +1 -1
  47. package/lib/types/host/wire-auth.d.ts +19 -5
  48. package/lib/types/host/wire-auth.d.ts.map +1 -1
  49. package/lib/types/host/workbuddy/mapper.d.ts +1 -0
  50. package/lib/types/host/workbuddy/mapper.d.ts.map +1 -1
  51. package/lib/types/index.d.ts.map +1 -1
  52. package/lib/types/shared/command-code-contracts.d.ts +15 -2
  53. package/lib/types/shared/command-code-contracts.d.ts.map +1 -1
  54. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommandCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AA4BvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAiBD,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AA2CD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAynBnG"}
1
+ {"version":3,"file":"CommandCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AA6BvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAiBD,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAwDD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAkoBnG"}
@@ -41,10 +41,14 @@ export declare const zh: {
41
41
  readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭上方开关可在列表中隐藏该供应商。";
42
42
  readonly refreshCatalog: "刷新模型目录";
43
43
  readonly refreshingCatalog: "刷新中...";
44
+ readonly catalogStale: "目录来自缓存,可能过期;可手动刷新";
45
+ readonly catalogFresh: "目录已同步";
46
+ readonly zdrEnabled: "已请求零数据保留(ZDR);服务端无符合条件的路由时将拒绝请求,不自动降低隐私要求。";
44
47
  readonly selectAll: "全选";
45
48
  readonly unselectAll: "全不选";
46
49
  readonly wireAnthropic: "Anthropic";
47
50
  readonly wireOpenai: "OpenAI";
51
+ readonly wireResponses: "OpenAI Responses";
48
52
  readonly enhanced: "增强功能";
49
53
  readonly defaultReasoningEffort: "默认思考深度";
50
54
  readonly defaultReasoningEffortHint: "控制支持推理的模型在未单独指定时的思考强度。Anthropic 模型会映射为 thinking 预算。";
@@ -135,10 +139,14 @@ export declare const dictionaries: {
135
139
  readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭上方开关可在列表中隐藏该供应商。";
136
140
  readonly refreshCatalog: "刷新模型目录";
137
141
  readonly refreshingCatalog: "刷新中...";
142
+ readonly catalogStale: "目录来自缓存,可能过期;可手动刷新";
143
+ readonly catalogFresh: "目录已同步";
144
+ readonly zdrEnabled: "已请求零数据保留(ZDR);服务端无符合条件的路由时将拒绝请求,不自动降低隐私要求。";
138
145
  readonly selectAll: "全选";
139
146
  readonly unselectAll: "全不选";
140
147
  readonly wireAnthropic: "Anthropic";
141
148
  readonly wireOpenai: "OpenAI";
149
+ readonly wireResponses: "OpenAI Responses";
142
150
  readonly enhanced: "增强功能";
143
151
  readonly defaultReasoningEffort: "默认思考深度";
144
152
  readonly defaultReasoningEffortHint: "控制支持推理的模型在未单独指定时的思考强度。Anthropic 模型会映射为 thinking 预算。";
@@ -227,10 +235,14 @@ export declare const dictionaries: {
227
235
  readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭上方开关可在列表中隐藏该供应商。";
228
236
  readonly refreshCatalog: "刷新模型目录";
229
237
  readonly refreshingCatalog: "刷新中...";
238
+ readonly catalogStale: "目录来自缓存,可能过期;可手动刷新";
239
+ readonly catalogFresh: "目录已同步";
240
+ readonly zdrEnabled: "已请求零数据保留(ZDR);服务端无符合条件的路由时将拒绝请求,不自动降低隐私要求。";
230
241
  readonly selectAll: "全选";
231
242
  readonly unselectAll: "全不选";
232
243
  readonly wireAnthropic: "Anthropic";
233
244
  readonly wireOpenai: "OpenAI";
245
+ readonly wireResponses: "OpenAI Responses";
234
246
  readonly enhanced: "增强功能";
235
247
  readonly defaultReasoningEffort: "默认思考深度";
236
248
  readonly defaultReasoningEffortHint: "控制支持推理的模型在未单独指定时的思考强度。Anthropic 模型会映射为 thinking 预算。";
@@ -277,8 +289,8 @@ export declare const dictionaries: {
277
289
  readonly lastUsed: string;
278
290
  readonly accountId: string;
279
291
  };
280
- en: Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "wireAnthropic" | "wireOpenai" | "quotaCredits" | "quotaUnlimited", string>;
281
- 'en-US': Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "wireAnthropic" | "wireOpenai" | "quotaCredits" | "quotaUnlimited", string>;
292
+ en: Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "catalogStale" | "catalogFresh" | "zdrEnabled" | "wireAnthropic" | "wireOpenai" | "wireResponses" | "quotaCredits" | "quotaUnlimited", string>;
293
+ 'en-US': Record<"account" | "storage" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "provider" | "connectionState" | "connected" | "untested" | "testConnection" | "enableProvider" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "storageNotice" | "email" | "lastUsed" | "pageDesc" | "signingIn" | "providerValue" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "modelsSection" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "catalogStale" | "catalogFresh" | "zdrEnabled" | "wireAnthropic" | "wireOpenai" | "wireResponses" | "quotaCredits" | "quotaUnlimited", string>;
282
294
  };
283
295
  export type CommandCodeLocaleKey = keyof typeof zh;
284
296
  //# sourceMappingURL=locales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qBAAqB,CAAA;AAEjD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAuErC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qBAAqB,CAAA;AAEjD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA2ErC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,EAAE,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { AccountPoolCore, type PoolAccountShape, type PoolData } from './common/account-pool.ts';
2
2
  import { type CredentialStore, type StoredOAuthCredentials, type TokenStore } from './token-store.ts';
3
+ import { ConcurrencyGate } from './common/concurrency-gate.ts';
3
4
  import type { AccountRotationStrategy, PoolAccountSummaryDto } from '../shared/account-pool-contracts.ts';
4
5
  /** One pooled ChatGPT account: the credential plus the facts the card renders. */
5
6
  export interface CodexPoolAccount extends PoolAccountShape<StoredOAuthCredentials> {
@@ -24,14 +25,7 @@ export interface CodexAccountPoolOptions {
24
25
  /** Accounts this pool accepts; defaults to the core's limit. */
25
26
  maxAccounts?: number;
26
27
  }
27
- /**
28
- * ChatGPT's account pool.
29
- *
30
- * Thin wrapper over {@link AccountPoolCore}: it only supplies the credential
31
- * shape, the identity a duplicate sign-in collapses onto, and the two provider
32
- * hooks the core cannot know — how to refresh one account's tokens and which
33
- * accounts a cached quota window already rules out.
34
- */
28
+ export declare function chatGPTConcurrency(): ConcurrencyGate;
35
29
  export declare class CodexAccountPool extends AccountPoolCore<StoredOAuthCredentials, CodexPoolAccount, PoolAccountSummaryDto> {
36
30
  private readonly refresherRef;
37
31
  private readonly store;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-account-pool.d.ts","sourceRoot":"","sources":["../../../src/host/codex-account-pool.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAGf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAEzG,kFAAkF;AAClF,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,sBAAsB,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AASD,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAsC7E;AAED,8GAA8G;AAC9G,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,cAAc,CAAC,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACrF;AAED,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACrD,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,qBAAqB,CAAC;IACpH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,iBAAiB,CAAC,CAAgE;gBAE9E,OAAO,GAAE,uBAA4B;IAyEjD,4EAA4E;IAC5E,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAIlD;;;;;;;OAOG;IACH,oBAAoB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI;cAI/E,UAAU,CAC3B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,OAAO;IAMV;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAY3E,8EAA8E;IAC9E,WAAW,IAAI,UAAU;IAIzB,8CAA8C;IACxC,QAAQ,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGnD"}
1
+ {"version":3,"file":"codex-account-pool.d.ts","sourceRoot":"","sources":["../../../src/host/codex-account-pool.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAGf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAE9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAEzG,kFAAkF;AAClF,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB,CAAC,sBAAsB,CAAC;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,+FAA+F;AAC/F,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AASD,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAsC7E;AAED,8GAA8G;AAC9G,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,cAAc,CAAC,WAAW,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACrF;AAED,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACrD,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAmBD,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,sBAAsB,EAAE,gBAAgB,EAAE,qBAAqB,CAAC;IACpH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,iBAAiB,CAAC,CAAgE;gBAE9E,OAAO,GAAE,uBAA4B;IAyEjD,4EAA4E;IAC5E,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAIlD;;;;;;;OAOG;IACH,oBAAoB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI;cAI/E,UAAU,CAC3B,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,MAAM,EACX,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,OAAO;IAMV;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAY3E,8EAA8E;IAC9E,WAAW,IAAI,UAAU;IAIzB,8CAA8C;IACxC,QAAQ,IAAI,OAAO,CAAC,uBAAuB,CAAC;CAGnD"}
@@ -9,7 +9,26 @@ export interface CommandCodeAdapterOptions {
9
9
  attachments?: AttachmentImageReader;
10
10
  /** Live catalog loader seam; defaults to the public `/provider/v1/models` call. */
11
11
  loadCatalog?: () => Promise<CommandCodeCatalogModel[]>;
12
+ /** Opt into strict Zero Data Retention (ZDR) routing. Overrides host environment when set. */
13
+ zeroDataRetention?: boolean;
12
14
  }
15
+ /**
16
+ * Resolves whether Zero Data Retention (ZDR) routing is active for Command Code.
17
+ * An explicit boolean on adapter options takes precedence over host environment variables.
18
+ * When not specified in options, DSH_COMMAND_CODE_ZDR is consulted first, then CMD_ZDR.
19
+ */
20
+ export declare function resolveZeroDataRetention(optionsZdr?: boolean): boolean;
21
+ /**
22
+ * Classifies model-specific access or plan entitlement denials.
23
+ * These are failures of permissions/entitlement for this model/account,
24
+ * not invalid API credentials, so the account must not be marked invalid
25
+ * and whole-account rotation must not occur.
26
+ */
27
+ export declare function isCommandCodeModelAccessDenied(status: number, detail: string): boolean;
28
+ /**
29
+ * Classifies actual credential invalidity (e.g. 401 Unauthorized, or 403 with explicit key errors).
30
+ */
31
+ export declare function isCommandCodeCredentialInvalid(status: number, detail: string): boolean;
13
32
  export declare class CommandCodeAdapter extends LlmAdapter {
14
33
  private readonly store;
15
34
  private readonly modelSettings;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAEV,iBAAiB,EAEjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAkB7B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EASL,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAA;AAyBpB,yFAAyF;AACzF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAK/B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAA;CACvD;AAKD,qBAAa,kBAAmB,SAAQ,UAAU;IAY9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAGxC,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE,yBAA8B,EACxD,WAAW,CAAC,EAAE,sBAAsB;IAMtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,mBAAmB;IAI1C,mBAAmB,IAAI,SAAS;IAIhC,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;YACW,OAAO;IAYrB,OAAO,CAAC,gBAAgB;IAUlB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAgB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0BpG,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;YA+BpD,aAAa;CA0K7B"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAEV,iBAAiB,EAEjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAoB7B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAUL,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAA;AA0BpB,yFAAyF;AACzF,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,iBAAiB,GAAG,SAAS,CAK/B;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAA;IACnC,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAA;IACtD,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAMtE;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAsCtF;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAuBtF;AAKD,qBAAa,kBAAmB,SAAQ,UAAU;IAY9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1B;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+B;gBAGxC,KAAK,sBAA4B,EACjC,aAAa,yBAA+B,EAC5C,WAAW,CAAC,EAAE,0BAA0B,YAAA,EACxC,OAAO,GAAE,yBAA8B,EACxD,WAAW,CAAC,EAAE,sBAAsB;IAMtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAI/C,mBAAmB,IAAI,mBAAmB;IAI1C,mBAAmB,IAAI,SAAS;IAIhC,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;YACW,OAAO;IAYrB,OAAO,CAAC,gBAAgB;IAUlB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;IAgB/D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA0BpG,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;YA+BpD,aAAa;CAsO7B"}
@@ -1,6 +1,6 @@
1
1
  import { PROVIDER_ID } from './types.ts';
2
2
  import { FileCredentialStore, type CommandCodeCatalogModel } from './token-store.ts';
3
- import type { CommandCodeAccount, CommandCodeAccountQuota, CommandCodeApiEnv, CommandCodeMeter, CommandCodeUsageWindow } from '../../shared/command-code-contracts.ts';
3
+ import type { CommandCodeAccount, CommandCodeAccountQuota, CommandCodeApiEnv, CommandCodeMeter, CommandCodeUsageWindow, CommandCodeWire } from '../../shared/command-code-contracts.ts';
4
4
  export interface CommandCodeRequestOptions {
5
5
  fetchFn?: typeof fetch;
6
6
  signal?: AbortSignal;
@@ -71,6 +71,8 @@ export declare function loadProviderModels(options?: CommandCodeRequestOptions &
71
71
  force?: boolean;
72
72
  }): Promise<CommandCodeCatalogModel[]>;
73
73
  export declare function getCachedCatalog(): CommandCodeCatalogModel[];
74
+ export declare function isCatalogStale(): boolean;
75
+ export declare function getCachedCatalogFetchedAt(): number | null;
74
76
  export declare function clearCachedCatalog(): void;
75
77
  /** Effective context window: a saved override wins over the catalog value. */
76
78
  export declare function effectiveContextWindow(modelId: string, catalog: readonly CommandCodeCatalogModel[], overrides: Record<string, number>): number;
@@ -117,7 +119,7 @@ export declare function buildModelOptions(catalog: readonly CommandCodeCatalogMo
117
119
  contextWindow: number;
118
120
  defaultMaxTokens: number;
119
121
  reasoningEfforts?: string[];
120
- wire: 'openai' | 'anthropic';
122
+ wire: CommandCodeWire;
121
123
  }>;
122
124
  export { PROVIDER_ID };
123
125
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/client.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ export declare function thinkingBudgetFor(effort: string | undefined, maxTokens:
55
55
  export declare function buildAnthropicRequest(options: GenerateOptions, images?: ResolvedRequestImages): Record<string, unknown>;
56
56
  /** Build the body for whichever endpoint serves `modelId`. */
57
57
  export declare function buildRequest(options: GenerateOptions, wire: CommandCodeWire, images?: ResolvedRequestImages): Record<string, unknown>;
58
+ export declare function buildResponsesRequest(options: GenerateOptions, images?: ResolvedRequestImages): Record<string, unknown>;
58
59
  /** One tool call accumulating across `chat/completions` deltas. */
59
60
  interface PendingToolCall {
60
61
  blockIndex: number;
@@ -94,6 +95,16 @@ export declare function createStreamState(wire: CommandCodeWire): CommandCodeStr
94
95
  export declare function processOpenAIStreamLine(line: string, state: CommandCodeStreamState): StreamChunk[];
95
96
  /** Feed one SSE `data:` payload from `/messages`. */
96
97
  export declare function processAnthropicStreamLine(line: string, state: CommandCodeStreamState): StreamChunk[];
98
+ /**
99
+ * Fold one SSE line from `/responses`.
100
+ *
101
+ * The Responses stream is event-typed rather than delta-shaped: text arrives as
102
+ * `response.output_text.delta`, tool calls as `function_call_arguments.delta`
103
+ * keyed by an item id, and the turn ends on `response.completed` or
104
+ * `response.failed`. Those are read as written; there is no Chat Completions
105
+ * shape to reinterpret.
106
+ */
107
+ export declare function processResponsesStreamLine(line: string, state: CommandCodeStreamState): StreamChunk[];
97
108
  /** Flush every open block, then emit usage and the terminal finish. */
98
109
  export declare function closeStream(state: CommandCodeStreamState): StreamChunk[];
99
110
  /** Model families whose stream never carried a terminal event. */
@@ -1 +1 @@
1
- {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapper.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/mapper.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export interface CommandCodeStatusOptions {
27
27
  * invents pool state that would outlive the process.
28
28
  */
29
29
  accountPool?: CommandCodeAccountPool;
30
+ /** Whether Zero Data Retention (ZDR) routing is active for Command Code requests. */
31
+ zeroDataRetention?: boolean;
30
32
  }
31
33
  /** Everything the settings card renders: account, quota, and the model catalog. */
32
34
  export declare function getCommandCodeWebStatus(store: FileCredentialStore, modelSettings: FileModelSettingsStore, preferences?: CommandCodePreferenceStore, options?: CommandCodeStatusOptions, accountPool?: CommandCodeAccountPool | undefined): Promise<CommandCodeWebStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,EAAmB,WAAW,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAA;AAC3G,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,uBAAuB,EAE5B,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAKL,gBAAgB,EAMjB,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAqDrG;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,OAAO,UAAO,GACb,MAAM,EAAE,CAUV;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAA;IACnC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA;IAChD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,sBAAsB,CAAA;CACrC;AAMD,mFAAmF;AACnF,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,EACxC,OAAO,GAAE,wBAA6B,EACtC,WAAW,GAAE,sBAAsB,GAAG,SAA+B,GACpE,OAAO,CAAC,oBAAoB,CAAC,CA0E/B;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,EACxC,OAAO,GAAE,wBAA6B,EACtC,WAAW,GAAE,sBAAsB,GAAG,SAA+B,GACpE,MAAM,IAAI,CA8OZ;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,EAAmB,WAAW,EAAE,aAAa,EAAqC,MAAM,YAAY,CAAA;AAE3G,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,uBAAuB,EAE5B,KAAK,0BAA0B,EAChC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAKL,gBAAgB,EAQjB,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAqDrG;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,OAAO,UAAO,GACb,MAAM,EAAE,CAUV;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,sFAAsF;IACtF,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAA;IACnC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA;IAChD;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,sBAAsB,CAAA;IACpC,qFAAqF;IACrF,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAMD,mFAAmF;AACnF,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,EACxC,OAAO,GAAE,wBAA6B,EACtC,WAAW,GAAE,sBAAsB,GAAG,SAA+B,GACpE,OAAO,CAAC,oBAAoB,CAAC,CA+E/B;AAED,2EAA2E;AAC3E,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,mBAAmB,EAC1B,aAAa,EAAE,sBAAsB,EACrC,WAAW,CAAC,EAAE,0BAA0B,EACxC,OAAO,GAAE,wBAA6B,EACtC,WAAW,GAAE,sBAAsB,GAAG,SAA+B,GACpE,MAAM,IAAI,CA8OZ;AAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -30,6 +30,13 @@ export interface CommandCodeCatalogModel {
30
30
  id: string;
31
31
  name?: string;
32
32
  contextWindow?: number;
33
+ /**
34
+ * Endpoints the provider published for this model, verbatim.
35
+ *
36
+ * Absent means the listing said nothing, and the adapter then routes on the
37
+ * shipped table instead — never on a guess about an unlisted model.
38
+ */
39
+ supportedEndpoints?: string[];
33
40
  }
34
41
  export interface CommandCodeModelSettings {
35
42
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/token-store.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,10 @@ export declare const HEADER_PROJECT_SLUG = "x-command-code-project-slug";
74
74
  export declare const HEADER_TASTE_LEARNING = "x-command-code-taste-learning";
75
75
  export declare const HEADER_SESSION_ID = "x-command-code-session-id";
76
76
  export declare const HEADER_OSS_PRIMARY_PROVIDER = "x-command-code-oss-primary-provider";
77
+ /** Official header that enforces Zero Data Retention (ZDR) routing. */
78
+ export declare const HEADER_ZDR = "x-cmd-zdr";
79
+ export declare const ENV_COMMAND_CODE_ZDR = "DSH_COMMAND_CODE_ZDR";
80
+ export declare const ENV_CMD_ZDR = "CMD_ZDR";
77
81
  export declare function resolveApiEnv(raw?: string | undefined): CommandCodeApiEnv;
78
82
  export declare function apiBaseUrl(env?: CommandCodeApiEnv): string;
79
83
  export declare function studioBaseUrl(env?: CommandCodeApiEnv): string;
@@ -89,6 +93,17 @@ export declare function providerUrl(env?: CommandCodeApiEnv): string;
89
93
  * @returns the wire dialect to build the request for.
90
94
  */
91
95
  export declare function wireForModel(modelId: string): CommandCodeWire;
96
+ /**
97
+ * Wire one catalog entry says it is served on, when the catalog said so.
98
+ *
99
+ * The provider publishes `supported_endpoints` per model, and that is the
100
+ * authority on which route answers for it. A model the catalog does not describe
101
+ * returns undefined so the caller falls back to {@link wireForModel} instead of
102
+ * being sent to a route nobody vouched for.
103
+ */
104
+ export declare function wireForCatalogEntry(entry: {
105
+ supportedEndpoints?: readonly string[];
106
+ }): CommandCodeWire | undefined;
92
107
  /**
93
108
  * Reasoning levels one model advertises, in DSH's vocabulary.
94
109
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Explicit evidence registry and runtime capability gate.
3
+ *
4
+ * Preserves legacy exports and inventory TABLE while introducing a strict,
5
+ * verified capability gate. evaluateCapability / requireCapability allow ONLY
6
+ * verified offline-contract or live-validated matching evidence.
7
+ * Requires non-empty provider, wire, model, authMode, and capability.
8
+ * All unverified/unimplemented queries fail closed.
9
+ *
10
+ * @module dsh-chatgpt-subscription/capabilities
11
+ */
12
+ /** Whether a documented provider feature is known to work on this route. */
13
+ export type CapabilityState = 'supported' | 'unsupported' | 'unknown';
14
+ /** Evidence validation tiers. */
15
+ export type EvidenceLevel = 'live-validated' | 'offline-contract' | 'unverified';
16
+ /** Supported capability features across all routes. */
17
+ export type Capability = 'prompt-cache-read' | 'prompt-cache-write' | 'thinking-replay' | 'thinking-control' | 'server-side-compaction' | 'tool-search' | 'append-only-tools' | 'native-image' | 'native-video' | 'multi-agent-server' | 'websocket-transport' | 'zdr';
18
+ /** Concrete evidence record for a capability. */
19
+ export interface CapabilityEvidenceRecord {
20
+ readonly id: string;
21
+ readonly provider: string;
22
+ readonly wire: string | readonly string[];
23
+ readonly modelSelector: string | readonly string[] | ((modelId: string) => boolean);
24
+ readonly authMode: string | readonly string[];
25
+ readonly capability: Capability;
26
+ readonly status: CapabilityState;
27
+ readonly evidenceLevel: EvidenceLevel;
28
+ readonly implemented: boolean;
29
+ readonly date: string;
30
+ readonly link?: string;
31
+ readonly testPath?: string;
32
+ readonly versionTag?: string;
33
+ readonly notes?: string;
34
+ }
35
+ /** Target query for capability evaluation. All fields are required. */
36
+ export interface CapabilityQuery {
37
+ readonly provider: string;
38
+ readonly wire: string;
39
+ readonly model: string;
40
+ readonly authMode: string;
41
+ readonly capability: Capability;
42
+ }
43
+ /** Evaluation outcome returned by evaluateCapability. */
44
+ export interface CapabilityEvaluation {
45
+ readonly allowed: boolean;
46
+ readonly state: CapabilityState;
47
+ readonly implemented: boolean;
48
+ readonly evidenceLevel?: EvidenceLevel;
49
+ readonly evidence?: CapabilityEvidenceRecord;
50
+ readonly reason?: string;
51
+ }
52
+ /** Error thrown by requireCapability when a capability contract fails. */
53
+ export declare class CapabilityError extends Error {
54
+ readonly query: CapabilityQuery;
55
+ readonly evaluation: CapabilityEvaluation;
56
+ constructor(message: string, query: CapabilityQuery, evaluation: CapabilityEvaluation);
57
+ }
58
+ /** Known Ollama vision model prefixes per official model documentation. */
59
+ export declare const KNOWN_OLLAMA_VISION_PREFIXES: readonly ["llava", "bakllava", "llama3.2-vision", "moondream", "minicpm-v", "qwen2.5-vl", "qwen2-vl"];
60
+ /**
61
+ * Matcher for Ollama vision models, aligned with src/host/ollama/types.ts.
62
+ * Checks exact base name before ':' or '/' to prevent partial hijacking (e.g. 'llava-evil').
63
+ */
64
+ export declare function isKnownOllamaVisionModel(modelId: string): boolean;
65
+ /** Ollama thinking models with level control ('low'|'medium'|'high'). */
66
+ export declare const KNOWN_OLLAMA_THINKING_LEVELS_PREFIXES: readonly ["gpt-oss"];
67
+ /** Ollama thinking models with boolean control (true|false). */
68
+ export declare const KNOWN_OLLAMA_THINKING_BOOLEAN_PREFIXES: readonly ["deepseek-r1", "qwq", "qwen3"];
69
+ /** Matcher for Ollama thinking models, aligned with src/host/ollama/types.ts. */
70
+ export declare function isKnownOllamaThinkingModel(modelId: string): boolean;
71
+ /** Immutable validated capability evidence registry. */
72
+ export declare const CAPABILITY_EVIDENCE_REGISTRY: readonly CapabilityEvidenceRecord[];
73
+ /** Query evidence records matching the given criteria. Supports optional pure registry argument for tests. */
74
+ export declare function queryCapabilityEvidence(query: Partial<CapabilityQuery>, registry?: readonly CapabilityEvidenceRecord[]): readonly CapabilityEvidenceRecord[];
75
+ /**
76
+ * Evaluate whether a capability is permitted for a concrete request target.
77
+ * Fails closed if query is missing explicit fields, or lacks matching verified evidence.
78
+ */
79
+ export declare function evaluateCapability(query: CapabilityQuery, registry?: readonly CapabilityEvidenceRecord[]): CapabilityEvaluation;
80
+ /**
81
+ * Require that a capability is supported and allowed. Throws CapabilityError otherwise.
82
+ */
83
+ export declare function requireCapability(query: CapabilityQuery, registry?: readonly CapabilityEvidenceRecord[]): CapabilityEvaluation;
84
+ /** Whether Zero Data Retention (ZDR) is supported for this provider, wire, model, and auth mode. */
85
+ export declare function supportsZdr(provider: string, wire: string, model?: string, authMode?: string): boolean;
86
+ /** Whether Ollama image input is supported for the target model. */
87
+ export declare function supportsOllamaImage(model: string, wire?: string, authMode?: string): boolean;
88
+ /** Whether Ollama thinking control is supported for the target model. */
89
+ export declare function supportsOllamaThinkingControl(model: string, wire?: string, authMode?: string): boolean;
90
+ /** State of one capability on one route in legacy inventory. */
91
+ export declare function capabilityOf(provider: string, capability: Capability): CapabilityState;
92
+ /**
93
+ * Legacy inventory helper, not permission to send a model-specific parameter.
94
+ * Production builders must use evaluateCapability / requireCapability.
95
+ * @deprecated Use evaluateCapability or requireCapability for runtime capability gating.
96
+ */
97
+ export declare function maySend(provider: string, capability: Capability): boolean;
98
+ /** The whole matrix, for diagnostics and tests. */
99
+ export declare function capabilityTable(): Readonly<Record<string, Readonly<Partial<Record<Capability, CapabilityState>>>>>;
100
+ //# sourceMappingURL=capabilities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/host/common/capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Per-account concurrency gate.
3
+ *
4
+ * A subscription plan bounds how many model requests one account may have in
5
+ * flight, and several plans fail the moment that is exceeded. A multi-agent run
6
+ * reaches that bound by itself — one root agent plus a fan-out of subagents — so
7
+ * the bound has to be held deliberately instead of discovered by having every
8
+ * account 429 at once.
9
+ *
10
+ * The gate is deliberately generic and per-account: it knows nothing about any
11
+ * provider's plan, because a hard-coded number would be a guess about terms this
12
+ * code cannot see. A route that has learned its real limit passes it in; a route
13
+ * that has not passes nothing and behaves exactly as before.
14
+ *
15
+ * @module dsh-chatgpt-subscription/concurrency-gate
16
+ */
17
+ export declare class ConcurrencyGate {
18
+ private readonly held;
19
+ private readonly queues;
20
+ private readonly limits;
21
+ /**
22
+ * Record the concurrency limit for one account.
23
+ *
24
+ * A non-positive or non-finite limit clears the cap, which is the same as
25
+ * never having set one: requests then pass through unbounded rather than
26
+ * being blocked by a value nobody verified.
27
+ */
28
+ setLimit(accountId: string, limit: number): void;
29
+ /** Limit currently in force for one account, or undefined when uncapped. */
30
+ limitFor(accountId: string): number | undefined;
31
+ /** Requests currently in flight for one account. */
32
+ inFlight(accountId: string): number;
33
+ /**
34
+ * Take one slot, waiting for it when the account is at its limit.
35
+ *
36
+ * The returned function releases the slot and is safe to call more than once:
37
+ * a double release on an aborted request must not hand a stranger a slot that
38
+ * this holder never had.
39
+ */
40
+ acquire(accountId: string, signal?: AbortSignal): Promise<() => void>;
41
+ private take;
42
+ private releaseFn;
43
+ /** Hand slots to as many waiters as the current limit allows. */
44
+ private drain;
45
+ }
46
+ //# sourceMappingURL=concurrency-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency-gate.d.ts","sourceRoot":"","sources":["../../../../src/host/common/concurrency-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAOH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAahD,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAqC3E,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,SAAS;IAajB,iEAAiE;IACjE,OAAO,CAAC,KAAK;CAed"}
@@ -0,0 +1,21 @@
1
+ import { ConcurrencyGate } from './concurrency-gate.ts';
2
+ export declare const CONTROLLED_PROVIDERS: readonly ["codex-chatgpt", "claude", "antigravity", "kimi-code", "minimax-code", "command-code", "workbuddy", "ollama"];
3
+ export type ControlledProvider = typeof CONTROLLED_PROVIDERS[number];
4
+ export interface ModelRequestLimits {
5
+ /** Per credential limits, not guessed subscription entitlements. Zero disables. */
6
+ default?: number;
7
+ providers?: Partial<Record<ControlledProvider, number>>;
8
+ queueTimeoutMs?: number;
9
+ }
10
+ /** Explicit deployment configuration. Invalid values fail closed at startup. */
11
+ export declare function readModelRequestLimits(env?: NodeJS.ProcessEnv): ModelRequestLimits;
12
+ /** Only generation POSTs are limited; token refresh/catalog/quota must never wait behind them. */
13
+ export declare function isModelRequest(input: Parameters<typeof fetch>[0], init?: RequestInit): boolean;
14
+ export interface ModelRequestControlOptions {
15
+ provider: ControlledProvider;
16
+ limits: ModelRequestLimits;
17
+ gate?: ConcurrencyGate;
18
+ }
19
+ /** Hold a slot until EOF, cancel, abort or failure, never merely until response headers. */
20
+ export declare function createControlledModelFetch(baseFetch: typeof fetch, options: ModelRequestControlOptions): typeof fetch;
21
+ //# sourceMappingURL=model-request-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-request-control.d.ts","sourceRoot":"","sources":["../../../../src/host/common/model-request-control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,eAAO,MAAM,oBAAoB,yHAA0H,CAAA;AAC3J,MAAM,MAAM,kBAAkB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAA;AACpE,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,kBAAkB,CAqB/F;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAO9F;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,kBAAkB,CAAA;IAC1B,IAAI,CAAC,EAAE,eAAe,CAAA;CACvB;AAED,4FAA4F;AAC5F,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,OAAO,KAAK,EAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,KAAK,CAmErH"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Reusable request diagnostics wrapper for model provider calls.
3
+ *
4
+ * Implements W5 usage, latency, and transport diagnostics:
5
+ * - First-byte chunk latency (firstByteMs) and total duration
6
+ * - Request payload bytes (null when unknown stream, not 0)
7
+ * - Safe runtime-validated enum-only endpoint and provider classification
8
+ * - Ephemeral keyed-HMAC fingerprints scoped per provider+endpoint
9
+ * - Disjoint token usage mapping with missing vs zero differentiation and endpoint-awareness
10
+ * - Complete SSE line and NDJSON streaming parser merging start/delta usage
11
+ * - Stream proxy with backpressure preservation (highWaterMark: 0) and early cancel/abort
12
+ * - Isolated failure boundary (diagnostics sink failures never break generation)
13
+ *
14
+ * @module dsh-chatgpt-subscription/request-diagnostics
15
+ */
16
+ export declare const DIAGNOSTIC_PROVIDERS: readonly ["codex-chatgpt", "claude-subscription", "antigravity", "kimi-code", "minimax-code", "command-code", "workbuddy-subscription", "ollama", "claude", "workbuddy", "codex"];
17
+ export type DiagnosticProviderId = (typeof DIAGNOSTIC_PROVIDERS)[number];
18
+ export declare const KNOWN_WIRE_ENDPOINTS: readonly ["messages", "responses", "chat_completions", "generate_content", "stream_generate_content", "ollama_chat", "ollama_generate", "workbuddy_chat", "unknown"];
19
+ export type KnownWireEndpoint = (typeof KNOWN_WIRE_ENDPOINTS)[number];
20
+ export declare function isValidProvider(provider: unknown): provider is DiagnosticProviderId;
21
+ export declare function isValidEndpoint(endpoint: unknown): endpoint is KnownWireEndpoint;
22
+ export type HttpStatusClass = '2xx' | '3xx' | '4xx' | '5xx' | 'error';
23
+ export interface DisjointUsage {
24
+ inputTokens?: number;
25
+ outputTokens?: number;
26
+ cacheReadTokens?: number;
27
+ cacheWriteTokens?: number;
28
+ reasoningTokens?: number;
29
+ totalTokens?: number;
30
+ }
31
+ export interface FingerprintComparison {
32
+ prefixFingerprint?: string;
33
+ toolFingerprint?: string;
34
+ modelFingerprint?: string;
35
+ authFingerprint?: string;
36
+ prefixChanged?: boolean;
37
+ toolChanged?: boolean;
38
+ modelChanged?: boolean;
39
+ authChanged?: boolean;
40
+ }
41
+ export interface RequestDiagnosticRecord {
42
+ provider: DiagnosticProviderId;
43
+ endpoint: KnownWireEndpoint;
44
+ requestBytes: number | null;
45
+ firstByteMs: number | null;
46
+ ttftMs: null;
47
+ durationMs: number;
48
+ statusCode: number | null;
49
+ statusClass: HttpStatusClass;
50
+ outcome: 'completed' | 'canceled' | 'error';
51
+ usage?: DisjointUsage;
52
+ retries?: number;
53
+ fingerprints?: FingerprintComparison;
54
+ }
55
+ export interface CorrelationOptions {
56
+ sessionId?: string;
57
+ retryCount?: number;
58
+ }
59
+ export interface DiagnosticFetchOptions {
60
+ provider?: DiagnosticProviderId;
61
+ endpoint?: KnownWireEndpoint;
62
+ enabled?: boolean;
63
+ onRecord?: (record: RequestDiagnosticRecord) => unknown;
64
+ classifyEndpoint?: (url: string, pathname: string) => KnownWireEndpoint | null;
65
+ correlation?: CorrelationOptions;
66
+ }
67
+ export type FetchLike = typeof fetch;
68
+ export type FetchInput = Parameters<FetchLike>[0];
69
+ export type FetchInit = Parameters<FetchLike>[1];
70
+ export declare function computeHmacPrefix(data: string): string;
71
+ export declare function clearDiagnosticSessionState(): void;
72
+ export declare function getDiagnosticSessionCacheSize(): number;
73
+ export declare function isDefaultModelPath(pathname: string): KnownWireEndpoint | null;
74
+ export declare function parseUsageObject(raw: unknown, endpoint?: KnownWireEndpoint): DisjointUsage | undefined;
75
+ /**
76
+ * Creates a diagnostic wrapper around fetch for model requests.
77
+ */
78
+ export declare function createDiagnosticFetch(baseFetch: FetchLike, options?: DiagnosticFetchOptions): FetchLike;
79
+ //# sourceMappingURL=request-diagnostics.d.ts.map