@eddyskywalker/dsh-chatgpt-subscription 0.12.6 → 0.13.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 (143) hide show
  1. package/CHANGELOG.md +637 -619
  2. package/lib/client.js +3975 -4521
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +1146 -299
  5. package/lib/types/client/CodexComposerQuota.d.ts.map +1 -1
  6. package/lib/types/client/CodexSubscriptionSection.d.ts +1 -3
  7. package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
  8. package/lib/types/client/ProviderHubSection.d.ts +6 -5
  9. package/lib/types/client/ProviderHubSection.d.ts.map +1 -1
  10. package/lib/types/client/antigravity/AntigravityComposerQuota.d.ts +22 -1
  11. package/lib/types/client/antigravity/AntigravityComposerQuota.d.ts.map +1 -1
  12. package/lib/types/client/antigravity/AntigravitySection.d.ts +0 -2
  13. package/lib/types/client/antigravity/AntigravitySection.d.ts.map +1 -1
  14. package/lib/types/client/antigravity/locales.d.ts +33 -26
  15. package/lib/types/client/antigravity/locales.d.ts.map +1 -1
  16. package/lib/types/client/antigravity/styles.d.ts.map +1 -1
  17. package/lib/types/client/claude/ClaudeComposerQuota.d.ts +3 -7
  18. package/lib/types/client/claude/ClaudeComposerQuota.d.ts.map +1 -1
  19. package/lib/types/client/claude/ClaudeSection.d.ts +10 -9
  20. package/lib/types/client/claude/ClaudeSection.d.ts.map +1 -1
  21. package/lib/types/client/claude/locales.d.ts +29 -29
  22. package/lib/types/client/claude/locales.d.ts.map +1 -1
  23. package/lib/types/client/claude/useClaudeSection.d.ts +93 -0
  24. package/lib/types/client/claude/useClaudeSection.d.ts.map +1 -0
  25. package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts +3 -7
  26. package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts.map +1 -1
  27. package/lib/types/client/command-code/CommandCodeSection.d.ts +0 -3
  28. package/lib/types/client/command-code/CommandCodeSection.d.ts.map +1 -1
  29. package/lib/types/client/command-code/locales.d.ts +32 -29
  30. package/lib/types/client/command-code/locales.d.ts.map +1 -1
  31. package/lib/types/client/common/AccountPoolSection.d.ts +16 -4
  32. package/lib/types/client/common/AccountPoolSection.d.ts.map +1 -1
  33. package/lib/types/client/common/ComposerQuotaBadge.d.ts +35 -0
  34. package/lib/types/client/common/ComposerQuotaBadge.d.ts.map +1 -0
  35. package/lib/types/client/common/ContextWindowEditor.d.ts +69 -0
  36. package/lib/types/client/common/ContextWindowEditor.d.ts.map +1 -0
  37. package/lib/types/client/common/ModelChecklist.d.ts +29 -0
  38. package/lib/types/client/common/ModelChecklist.d.ts.map +1 -0
  39. package/lib/types/client/common/account-pool-labels.d.ts +18 -2
  40. package/lib/types/client/common/account-pool-labels.d.ts.map +1 -1
  41. package/lib/types/client/common/account-quota.d.ts +60 -0
  42. package/lib/types/client/common/account-quota.d.ts.map +1 -0
  43. package/lib/types/client/common/format.d.ts +30 -0
  44. package/lib/types/client/common/format.d.ts.map +1 -0
  45. package/lib/types/client/common/line-api.d.ts +8 -0
  46. package/lib/types/client/common/line-api.d.ts.map +1 -0
  47. package/lib/types/client/common/model-checklist-styles.d.ts +2 -0
  48. package/lib/types/client/common/model-checklist-styles.d.ts.map +1 -0
  49. package/lib/types/client/common/styles.d.ts.map +1 -1
  50. package/lib/types/client/common/use-store.d.ts +3 -0
  51. package/lib/types/client/common/use-store.d.ts.map +1 -0
  52. package/lib/types/client/hub/HubOverview.d.ts +14 -0
  53. package/lib/types/client/hub/HubOverview.d.ts.map +1 -0
  54. package/lib/types/client/hub/brand-icons.d.ts +46 -0
  55. package/lib/types/client/hub/brand-icons.d.ts.map +1 -0
  56. package/lib/types/client/hub/brand-svg.d.ts +51 -0
  57. package/lib/types/client/hub/brand-svg.d.ts.map +1 -0
  58. package/lib/types/client/hub/hub-styles.d.ts +2 -0
  59. package/lib/types/client/hub/hub-styles.d.ts.map +1 -0
  60. package/lib/types/client/hub/providers.d.ts +38 -0
  61. package/lib/types/client/hub/providers.d.ts.map +1 -0
  62. package/lib/types/client/index.d.ts +20 -6
  63. package/lib/types/client/index.d.ts.map +1 -1
  64. package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts +3 -7
  65. package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts.map +1 -1
  66. package/lib/types/client/kimi-code/KimiCodeSection.d.ts +0 -3
  67. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  68. package/lib/types/client/kimi-code/locales.d.ts +32 -32
  69. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  70. package/lib/types/client/kimi-code/styles.d.ts.map +1 -1
  71. package/lib/types/client/locales.d.ts +45 -35
  72. package/lib/types/client/locales.d.ts.map +1 -1
  73. package/lib/types/client/minimax-code/MinimaxCodeComposerQuota.d.ts +4 -8
  74. package/lib/types/client/minimax-code/MinimaxCodeComposerQuota.d.ts.map +1 -1
  75. package/lib/types/client/minimax-code/MinimaxCodeSection.d.ts +8 -37
  76. package/lib/types/client/minimax-code/MinimaxCodeSection.d.ts.map +1 -1
  77. package/lib/types/client/minimax-code/api.d.ts +3 -3
  78. package/lib/types/client/minimax-code/api.d.ts.map +1 -1
  79. package/lib/types/client/minimax-code/locales.d.ts +29 -56
  80. package/lib/types/client/minimax-code/locales.d.ts.map +1 -1
  81. package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts +115 -0
  82. package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts.map +1 -0
  83. package/lib/types/client/ollama/OllamaSection.d.ts +2 -2
  84. package/lib/types/client/ollama/OllamaSection.d.ts.map +1 -1
  85. package/lib/types/client/ollama/locales.d.ts +54 -24
  86. package/lib/types/client/ollama/locales.d.ts.map +1 -1
  87. package/lib/types/client/styles.d.ts.map +1 -1
  88. package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts +3 -7
  89. package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts.map +1 -1
  90. package/lib/types/client/workbuddy/WorkBuddySection.d.ts +10 -37
  91. package/lib/types/client/workbuddy/WorkBuddySection.d.ts.map +1 -1
  92. package/lib/types/client/workbuddy/locales.d.ts +0 -66
  93. package/lib/types/client/workbuddy/locales.d.ts.map +1 -1
  94. package/lib/types/client/workbuddy/useWorkBuddySection.d.ts +141 -0
  95. package/lib/types/client/workbuddy/useWorkBuddySection.d.ts.map +1 -0
  96. package/lib/types/host/antigravity/account-pool.d.ts +18 -1
  97. package/lib/types/host/antigravity/account-pool.d.ts.map +1 -1
  98. package/lib/types/host/antigravity/client.d.ts.map +1 -1
  99. package/lib/types/host/claude/account-pool.d.ts +22 -2
  100. package/lib/types/host/claude/account-pool.d.ts.map +1 -1
  101. package/lib/types/host/claude/client.d.ts +37 -5
  102. package/lib/types/host/claude/client.d.ts.map +1 -1
  103. package/lib/types/host/claude/routes.d.ts.map +1 -1
  104. package/lib/types/host/codex-account-pool.d.ts +26 -1
  105. package/lib/types/host/codex-account-pool.d.ts.map +1 -1
  106. package/lib/types/host/command-code/account-pool.d.ts +13 -1
  107. package/lib/types/host/command-code/account-pool.d.ts.map +1 -1
  108. package/lib/types/host/command-code/client.d.ts +2 -1
  109. package/lib/types/host/command-code/client.d.ts.map +1 -1
  110. package/lib/types/host/common/account-quota.d.ts +44 -0
  111. package/lib/types/host/common/account-quota.d.ts.map +1 -0
  112. package/lib/types/host/common/catalog-snapshot.d.ts +9 -0
  113. package/lib/types/host/common/catalog-snapshot.d.ts.map +1 -1
  114. package/lib/types/host/common/provider-route.d.ts +56 -0
  115. package/lib/types/host/common/provider-route.d.ts.map +1 -0
  116. package/lib/types/host/hub-overview.d.ts +26 -0
  117. package/lib/types/host/hub-overview.d.ts.map +1 -0
  118. package/lib/types/host/kimi-code/account-pool.d.ts +24 -1
  119. package/lib/types/host/kimi-code/account-pool.d.ts.map +1 -1
  120. package/lib/types/host/kimi-code/client.d.ts +23 -2
  121. package/lib/types/host/kimi-code/client.d.ts.map +1 -1
  122. package/lib/types/host/minimax-code/account-pool.d.ts +34 -2
  123. package/lib/types/host/minimax-code/account-pool.d.ts.map +1 -1
  124. package/lib/types/host/minimax-code/client.d.ts +23 -0
  125. package/lib/types/host/minimax-code/client.d.ts.map +1 -1
  126. package/lib/types/host/minimax-code/routes.d.ts.map +1 -1
  127. package/lib/types/host/oauth-service.d.ts +16 -0
  128. package/lib/types/host/oauth-service.d.ts.map +1 -1
  129. package/lib/types/host/usage-service.d.ts +27 -2
  130. package/lib/types/host/usage-service.d.ts.map +1 -1
  131. package/lib/types/host/workbuddy/account-pool.d.ts +13 -1
  132. package/lib/types/host/workbuddy/account-pool.d.ts.map +1 -1
  133. package/lib/types/host/workbuddy/client.d.ts +15 -0
  134. package/lib/types/host/workbuddy/client.d.ts.map +1 -1
  135. package/lib/types/host/workbuddy/routes.d.ts.map +1 -1
  136. package/lib/types/index.d.ts.map +1 -1
  137. package/lib/types/shared/account-pool-contracts.d.ts +44 -0
  138. package/lib/types/shared/account-pool-contracts.d.ts.map +1 -1
  139. package/lib/types/shared/antigravity-contracts.d.ts +9 -3
  140. package/lib/types/shared/antigravity-contracts.d.ts.map +1 -1
  141. package/lib/types/shared/hub-contracts.d.ts +37 -0
  142. package/lib/types/shared/hub-contracts.d.ts.map +1 -0
  143. package/package.json +1 -1
@@ -0,0 +1,141 @@
1
+ import type { AccountRotationStrategy } from '../../shared/account-pool-contracts.ts';
2
+ import type { WorkBuddyAccount, WorkBuddyAccountQuota, WorkBuddyAccountSummaryDto, WorkBuddyCheckinSettings, WorkBuddyModelOption, WorkBuddyReasoningEffort, WorkBuddyWebStatus } from '../../shared/workbuddy-contracts.ts';
3
+ import { type AccountPoolLabels } from '../common/account-pool-labels.ts';
4
+ /** The seats the settings hub hands the card; both optional, so a bare render works. */
5
+ export interface WorkBuddySectionProps {
6
+ onModelChange?: () => void;
7
+ loadModelDirectory?: () => void;
8
+ }
9
+ interface ConnectionPayload {
10
+ connected: boolean;
11
+ account: WorkBuddyAccount | null;
12
+ latencyMs: number;
13
+ model: string;
14
+ checkedAt: number;
15
+ }
16
+ /** One selectable default reasoning level, with the models that declare it. */
17
+ export interface ReasoningEffortChoice {
18
+ value: WorkBuddyReasoningEffort;
19
+ /** Model names that accept this level, in catalog order. */
20
+ models: string[];
21
+ }
22
+ /**
23
+ * Reasoning levels the default-effort control may offer.
24
+ *
25
+ * The levels come from what this account's models actually declare — never from
26
+ * the shipped enum alone. The setting is one global default applied to whichever
27
+ * model a conversation uses, so the list is their union; each entry carries the
28
+ * models behind it, and a level only some models accept is labelled as such.
29
+ * Order follows {@link WORKBUDDY_REASONING_EFFORTS}, which is the escalating
30
+ * order the upstream ladder uses.
31
+ */
32
+ export declare function reasoningEffortChoices(models: WorkBuddyModelOption[]): ReasoningEffortChoice[];
33
+ /**
34
+ * Whether a saved default is unusable for every model on this account.
35
+ *
36
+ * The adapter drops a level the chosen model does not accept instead of sending
37
+ * it, so a value that no model declares silently does nothing. Reporting it is
38
+ * what keeps that from looking like the setting was applied.
39
+ */
40
+ export declare function unsupportedReasoningEffort(configured: WorkBuddyReasoningEffort | null | undefined, models: WorkBuddyModelOption[]): WorkBuddyReasoningEffort | null;
41
+ /**
42
+ * Everything the card's view consumes, grouped by kind.
43
+ *
44
+ * Returned as one named shape instead of one status blob: a reader can see at a
45
+ * glance what the hook tracks, what it computes from a status answer, and what
46
+ * the view is allowed to ask it to do.
47
+ */
48
+ export interface WorkBuddySectionView {
49
+ /** Values that change as the card runs. */
50
+ state: {
51
+ /** Last status answer; null until the first read lands. */
52
+ status: WorkBuddyWebStatus | null;
53
+ /** True until the first status read settles, whatever its outcome. */
54
+ loading: boolean;
55
+ /** Id of the action in flight, or null; every disabled control reads it. */
56
+ busy: string | null;
57
+ /** The failure the card's error strip shows. */
58
+ error: string | null;
59
+ /** Result of the last explicit connection test. */
60
+ connection: ConnectionPayload | null;
61
+ /** Line the host reports while a regional sign-in is being polled. */
62
+ loginProgress: string | null;
63
+ /** One free-text capacity draft per model, keyed by model id. */
64
+ contextDrafts: Record<string, string>;
65
+ /** Model id whose context-window save or restore is in flight. */
66
+ savingModel: string | null;
67
+ };
68
+ /** Facts read straight off the current status answer. */
69
+ derived: {
70
+ /** Every account row the shared pool card lists. */
71
+ poolAccounts: WorkBuddyAccountSummaryDto[];
72
+ /** Levels this account's models declare, each with the models behind it. */
73
+ effortChoices: ReasoningEffortChoice[];
74
+ /** Every catalog model, enabled or not; the effort labels count them. */
75
+ allModels: WorkBuddyModelOption[];
76
+ /**
77
+ * A saved default no current model declares, when there is one.
78
+ *
79
+ * The adapter drops a level the chosen model does not accept, so reporting
80
+ * this is what keeps an inert setting from looking applied.
81
+ */
82
+ strayEffort: WorkBuddyReasoningEffort | null;
83
+ /** Models the context-window editor offers: the enabled ones only. */
84
+ contextModels: WorkBuddyModelOption[];
85
+ /** How many stored overrides exist, whether or not a row still shows them. */
86
+ overrideCount: number;
87
+ /** The displayed account's quota snapshot, when the host has one. */
88
+ quota: WorkBuddyAccountQuota | null | undefined;
89
+ /** Whether a credential is signed in; every authenticated control reads it. */
90
+ authenticated: boolean;
91
+ /**
92
+ * A failed status read with no answer to fall back on.
93
+ *
94
+ * A failed read leaves `status` null, which must NOT be rendered as "no
95
+ * credential found": that claims a credential problem when the real cause is
96
+ * an unreachable route.
97
+ */
98
+ unreachable: boolean;
99
+ /**
100
+ * The line's dictionary, handed to the shared pool card as one object.
101
+ *
102
+ * The hook already owns it for its own sentences, so the view takes the same
103
+ * object from here rather than reaching for a second import.
104
+ */
105
+ poolLabels: AccountPoolLabels;
106
+ };
107
+ /** Everything the view can trigger. */
108
+ actions: {
109
+ /** Start a regional sign-in; its flow is polled until it settles. */
110
+ login(region: 'cn' | 'intl'): Promise<void>;
111
+ /** Re-read the credentials the host can find on this machine. */
112
+ rescan(): Promise<void>;
113
+ /**
114
+ * One account action, whether it is a pool action (`set-primary`, `hide`,
115
+ * `restore`, `relogin`, `clear-cooldown`) or a credential action (`delete`).
116
+ * The host route dispatches on `action`.
117
+ */
118
+ accountAction(action: string, accountId: string): Promise<void>;
119
+ /** Delete one plugin-owned credential, after the user confirms. */
120
+ deleteAccount(accountId: string): Promise<void>;
121
+ setStrategy(strategy: AccountRotationStrategy): Promise<void>;
122
+ testConnection(): Promise<void>;
123
+ refreshQuota(): Promise<void>;
124
+ /** Run the daily check-in for every eligible account, now. */
125
+ checkinNow(): Promise<void>;
126
+ /** Patch the check-in preference; omitted fields keep their stored value. */
127
+ updateCheckin(checkin: Partial<WorkBuddyCheckinSettings>): Promise<void>;
128
+ toggleModel(modelId: string, enabled: boolean): Promise<void>;
129
+ setAllModels(enabled: boolean): Promise<void>;
130
+ updateEffort(effort: WorkBuddyReasoningEffort | null): Promise<void>;
131
+ refreshCatalog(): Promise<void>;
132
+ saveContextWindow(modelId: string): Promise<void>;
133
+ resetContextWindow(modelId: string): Promise<void>;
134
+ resetAllContextWindows(): Promise<void>;
135
+ /** Edit one capacity draft mid-typing; the editor never parses it. */
136
+ updateContextDraft(modelId: string, draft: string): void;
137
+ };
138
+ }
139
+ export declare function useWorkBuddySection({ onModelChange, loadModelDirectory }: WorkBuddySectionProps): WorkBuddySectionView;
140
+ export {};
141
+ //# sourceMappingURL=useWorkBuddySection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/useWorkBuddySection.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { CredentialStore } from '../token-store.ts';
2
2
  import { FileCredentialStore, type AntigravityCredentials } from './token-store.ts';
3
- import type { AntigravityAccountSummaryDto, AccountRotationStrategy } from '../../shared/antigravity-contracts.ts';
3
+ import type { AntigravityAccountQuota, AntigravityAccountSummaryDto, AccountRotationStrategy } from '../../shared/antigravity-contracts.ts';
4
+ import type { PoolAccountQuotaDto } from '../../shared/account-pool-contracts.ts';
4
5
  export interface AntigravityPoolAccount {
5
6
  id: string;
6
7
  alias: string;
@@ -22,6 +23,22 @@ export interface AntigravityPoolData {
22
23
  }
23
24
  export declare function poolPath(): string;
24
25
  export declare function parseAntigravityPoolData(value: unknown): AntigravityPoolData;
26
+ /**
27
+ * One cached Antigravity snapshot as the shared account card renders it.
28
+ *
29
+ * One window per bucket. The service states what is LEFT, and the card draws what
30
+ * is SPENT, so the used share is the complement. A bucket whose fraction is
31
+ * `null` (never measured) or outside 0-1 is dropped rather than drawn as 0% or
32
+ * 100%: "not stated" and "nothing used" are different claims and only one of
33
+ * them is true. A stated 0 is a real measurement — the allowance is exhausted —
34
+ * and is published as 100% used.
35
+ *
36
+ * `windowDurationMins` is deliberately absent. The bucket's `window` field is
37
+ * carried through this line's cache verbatim and nothing in the line interprets
38
+ * it as a duration, so naming a window from it would be a guess; the card names
39
+ * each window from the label below instead.
40
+ */
41
+ export declare function antigravityPoolQuota(quota: AntigravityAccountQuota | undefined): PoolAccountQuotaDto | undefined;
25
42
  /**
26
43
  * Antigravity's account pool.
27
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/account-pool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAMxD,OAAO,EACL,mBAAmB,EAEnB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAA;AAEzB,OAAO,KAAK,EACV,4BAA4B,EAC5B,uBAAuB,EACxB,MAAM,uCAAuC,CAAA;AAE9C,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,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAwC5E;AAmBD;;;;;;;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;IA2EzC,+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;CAOnF"}
1
+ {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/antigravity/account-pool.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -102,11 +102,11 @@
102
102
  */
103
103
  import { AccountPoolCore, type PoolAccountShape, type PoolData } from '../common/account-pool.ts';
104
104
  import type { CredentialStore } from '../token-store.ts';
105
- import type { AccountAuthStatus, PoolAccountSummaryDto } from '../../shared/account-pool-contracts.ts';
105
+ import type { AccountAuthStatus, PoolAccountQuotaDto, PoolAccountSummaryDto } from '../../shared/account-pool-contracts.ts';
106
106
  import { FileCredentialStore, type ClaudeCredentials } from './token-store.ts';
107
107
  import { ClaudeUnauthorizedError, type ClaudeTokenStore } from './oauth.ts';
108
108
  import { CLAUDE_CODE_CREDENTIAL_SOURCE } from './adopt.ts';
109
- import type { ClaudeFailure } from './client.ts';
109
+ import { type ClaudeAccountQuota, type ClaudeFailure } from './client.ts';
110
110
  /**
111
111
  * How early this pool refreshes, mirroring 'oauth.ts''s own REFRESH_MARGIN_MS.
112
112
  *
@@ -375,6 +375,26 @@ export interface ClaudeAccountPoolOptions {
375
375
  */
376
376
  refreshCredentials?: (credentials: ClaudeCredentials, fetchFn: typeof fetch) => Promise<ClaudeCredentials>;
377
377
  }
378
+ /**
379
+ * One account's own newest quota snapshot, in the shape the account card draws.
380
+ *
381
+ * The snapshot comes from 'client.ts''s per-account cache, and this is where
382
+ * this line's own numbers are translated into the shared shape. Every judgement
383
+ * below trades a possibly-nice-looking bar for an honest one:
384
+ *
385
+ * - a window whose consumed share nobody measured is DROPPED (`quotaWindow`
386
+ * returns null), because "0% used" and "not stated" are different claims;
387
+ * - the share falls back to `100 - remainingPercent` only when that field was
388
+ * stated; when the payload stated NEITHER share there is nothing to draw;
389
+ * - the read time is the full read's own `fetchedAt`, or — for a snapshot that
390
+ * only response headers ever kept warm, which performed no full read — the
391
+ * `observedAt` instant those numbers arrived. Either way it is when this line
392
+ * saw the numbers, never when upstream served them.
393
+ *
394
+ * A null snapshot means "this account was never read", which `poolQuota` reports
395
+ * as undefined so the card can say exactly that instead of drawing a zero.
396
+ */
397
+ export declare function claudePoolQuota(snapshot: ClaudeAccountQuota | null): PoolAccountQuotaDto | undefined;
378
398
  /**
379
399
  * The Claude subscription account pool.
380
400
  *
@@ -1 +1 @@
1
- {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/account-pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/account-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqGG;AAIH,OAAO,EACL,eAAe,EAGf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAE3H,OAAO,EACL,mBAAmB,EASnB,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EAEvB,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAA;AACnB,OAAO,EAEL,6BAA6B,EAE9B,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAsB,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAQ7F;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,SAAU,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,6DAA6D,CAAA;AAEnG;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAGpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,QAGmD,CAAA;AAM/F;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,8BAA8B,CAAA;AAEtF,qDAAqD;AACrD,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,OAAO,6BAA6B,CAAA;AAEtF,iFAAiF;AACjF,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB,CAAC,iBAAiB,CAAC;IAC5E;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,2EAA2E;IAC3E,MAAM,EAAE,uBAAuB,CAAA;IAC/B;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,kFAAkF;IAClF,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAChC,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,oFAAoF;AACpF,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AA8BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,GAAG,IAAI,CAgDvF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,aAAa,CAAA;AAEpD,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,CAG5E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAG/E;AAcD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAc3F;AAED,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAoD/E;AA+BD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,4BAA6B,YAAW,gBAAgB;IAEjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,KAAK,EAAE,mBAAmB,EAC1B,UAAU,EAAE,MAAM;IAG/B,IAAI,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAOzC,KAAK,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,2BAA2B,GACnC;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtB;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,SAAU,CAAA;AAEjD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,eAAe,GAAG,cAAc,CAAC,EACvE,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,2BAA2B,CAc7B;AAMD,8EAA8E;AAC9E,qBAAa,4BAA6B,SAAQ,uBAAuB;gBAC3D,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,wBAAwB;IACvC,uEAAuE;IACvE,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACtD,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IACrC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC3G;AA0CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,GAAG,mBAAmB,GAAG,SAAS,CAapG;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,eAAe,CACpD,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,CACxB;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuF;IACnH;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD;;;;;;;;OAQG;gBAES,OAAO,GAAE,wBAA6B;IAoKlD,sDAAsD;IACtD,WAAW,IAAI,mBAAmB;IAIlC;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB;IAIvD;;;;;;OAMG;cACsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAM7E;;;;;;;OAOG;IACY,UAAU,CAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YAgBvF,iBAAiB;IA4D/B;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,iBAAiB;IAoD/B;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;YA0B/E,mBAAmB;IA6EjC;;;;;;;OAOG;YACW,uBAAuB;IAiCrC;;;;;;;;OAQG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D;;;;;;;;;OASG;IACY,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9D;;;;;;;;OAQG;YACW,WAAW;IAazB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,UAAU;IAYlB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;IAapB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;CAoB3B"}
@@ -352,21 +352,52 @@ export interface ClaudeQuotaHeaderReading {
352
352
  * is epoch seconds; both land on the DTO as ISO.
353
353
  */
354
354
  export declare function parseQuotaHeaders(headers: ClaudeHeaderSource): ClaudeQuotaHeaderReading;
355
- /** Drop the cached snapshot. Called on sign-out and after a credential change. */
355
+ /** Drop every cached snapshot. Called on sign-out and after a credential change. */
356
356
  export declare function clearCachedQuota(): void;
357
357
  /**
358
358
  * The cached snapshot, optionally only when it belongs to this credential.
359
359
  *
360
360
  * With one stored account the argument is unnecessary; it exists so a later
361
361
  * pool chunk cannot render one account's usage under another account's name.
362
+ * Given a credential the answer is THAT account's own newest snapshot, which is
363
+ * what keeps two pooled accounts apart: a later read of a different account
364
+ * cannot displace it. Without one the pre-pool answer is kept — whatever was
365
+ * written last — because the single-account card has no identity to ask with.
362
366
  */
363
367
  export declare function getCachedQuota(credentials?: Pick<ClaudeCredentials, 'accessToken'>): ClaudeAccountQuota | null;
368
+ /**
369
+ * The newest snapshot held for one credential's account, for display only.
370
+ *
371
+ * The token-tail form, kept for a composition with a single stored credential.
372
+ * A pooled caller asks {@link cachedQuotaForPool} with the row id instead: a
373
+ * token is rotated by every refresh, so an entry filed under a tail is lost the
374
+ * moment the account renews.
375
+ */
376
+ export declare function cachedQuotaFor(credentials: Pick<ClaudeCredentials, 'accessToken'>): ClaudeAccountQuota | null;
377
+ /**
378
+ * The newest snapshot held for one pool row, for display only.
379
+ *
380
+ * The pool asks here while it builds the account list for the settings card, so
381
+ * this is a pure memory read: it never fetches. Null means nothing was ever read
382
+ * for this account, which is a different statement from "nothing used". A row id
383
+ * that is undefined falls back to the credential's own tail, which is what a
384
+ * composition without a pool has.
385
+ */
386
+ export declare function cachedQuotaForPool(accountId: string | undefined, credentials: Pick<ClaudeCredentials, 'accessToken'>): ClaudeAccountQuota | null;
364
387
  /** Options for {@link fetchAccountQuota}. */
365
388
  export interface QuotaFetchOptions {
366
389
  fetchFn?: typeof fetch;
367
390
  signal?: AbortSignal;
368
391
  /** Bypass the cache and read the usage endpoint now. */
369
392
  force?: boolean;
393
+ /**
394
+ * Pool row this read is made for, when a pool is in charge.
395
+ *
396
+ * The snapshot is then remembered against the row rather than against the
397
+ * access token, so the row keeps its meters across the token rotations that
398
+ * every refresh performs.
399
+ */
400
+ accountId?: string;
370
401
  }
371
402
  /**
372
403
  * Read the account's usage meters.
@@ -396,12 +427,13 @@ export declare function fetchAccountQuota(credentials: ClaudeCredentials, option
396
427
  * @param headers - response headers of a model call.
397
428
  * @param accountKey - the account those headers belong to, as
398
429
  * {@link accountKeyFor} derives it. Omitted, the reading is filed under
399
- * whoever the cached snapshot already belongs to — the correct answer for the
430
+ * whoever the newest snapshot already belongs to — the correct answer for the
400
431
  * single-account case, and a reading whose account cannot be determined is
401
432
  * filed under none rather than under the wrong one. When it is given and
402
- * disagrees with the snapshot's account the reading is DISCARDED rather than
403
- * merged: mixing two accounts' windows is the one outcome worse than a stale
404
- * number.
433
+ * disagrees with that newest snapshot's account the reading is DISCARDED
434
+ * rather than merged: an unnamed reading merges into the snapshot it was read
435
+ * beside, so admitting one that is known to belong elsewhere is how two
436
+ * accounts' windows would end up in one entry.
405
437
  * @returns the updated snapshot, or null when the headers carried nothing usable.
406
438
  */
407
439
  export declare function recordQuotaFromHeaders(headers: ClaudeHeaderSource, accountKey?: string): ClaudeAccountQuota | null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../../src/host/claude/routes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
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
3
  import { ConcurrencyGate } from './common/concurrency-gate.ts';
4
- import type { AccountRotationStrategy, PoolAccountSummaryDto } from '../shared/account-pool-contracts.ts';
4
+ import type { AccountRotationStrategy, PoolAccountQuotaDto, PoolAccountSummaryDto } from '../shared/account-pool-contracts.ts';
5
+ import type { QuotaUsageDto } from '../shared/contracts.ts';
5
6
  /** One pooled ChatGPT account: the credential plus the facts the card renders. */
6
7
  export interface CodexPoolAccount extends PoolAccountShape<StoredOAuthCredentials> {
7
8
  email?: string;
@@ -26,9 +27,23 @@ export interface CodexAccountPoolOptions {
26
27
  maxAccounts?: number;
27
28
  }
28
29
  export declare function chatGPTConcurrency(): ConcurrencyGate;
30
+ /**
31
+ * One ChatGPT usage snapshot as the account card's per-account quota.
32
+ *
33
+ * A bucket lists its windows either in `windows` or, on older payloads, only as
34
+ * the `primary`/`secondary` pair — the same fallback the quota card itself
35
+ * applies, so the account row cannot show fewer windows than the card does. The
36
+ * label stays empty on purpose: a ChatGPT window is named by its length, and
37
+ * the card localizes that length in the reader's own language.
38
+ */
39
+ export declare function codexAccountQuota(snapshot: {
40
+ usage: QuotaUsageDto;
41
+ fetchedAt: number;
42
+ }): PoolAccountQuotaDto | undefined;
29
43
  export declare class CodexAccountPool extends AccountPoolCore<StoredOAuthCredentials, CodexPoolAccount, PoolAccountSummaryDto> {
30
44
  private readonly refresherRef;
31
45
  private readonly store;
46
+ private readonly quotaSnapshotRef;
32
47
  private quotaBlockedUntil?;
33
48
  constructor(options?: CodexAccountPoolOptions);
34
49
  /** Hand the pool the OAuth service's per-account refresh implementation. */
@@ -42,6 +57,16 @@ export declare class CodexAccountPool extends AccountPoolCore<StoredOAuthCredent
42
57
  * instead of discovering it from a 429.
43
58
  */
44
59
  setQuotaBlockedUntil(lookup: (account: CodexPoolAccount, now: number) => number | undefined): void;
60
+ /**
61
+ * Wire in the account's own newest quota snapshot, for display only.
62
+ *
63
+ * The same map that already spares an exhausted account a wasted request also
64
+ * answers "what did this account's window look like last time we read it".
65
+ * The lookup must be a memory read: it runs while the settings card builds
66
+ * its account list, and that page must never fan out an upstream request per
67
+ * pooled account.
68
+ */
69
+ setQuotaSnapshot(lookup: (account: CodexPoolAccount) => PoolAccountQuotaDto | undefined): void;
45
70
  protected isEligible(account: CodexPoolAccount, now: number, triedAccountIds?: ReadonlySet<string>): boolean;
46
71
  /**
47
72
  * Force one account's token refresh and persist the rotated pair.
@@ -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;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"}
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,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC9H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG3D,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;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,mBAAmB,GAAG,SAAS,CAUxH;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,QAAQ,CAAC,gBAAgB,CAA8E;IAC/G,OAAO,CAAC,iBAAiB,CAAC,CAAgE;gBAE9E,OAAO,GAAE,uBAA4B;IAmFjD,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;IAIlG;;;;;;;;OAQG;IACH,gBAAgB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,mBAAmB,GAAG,SAAS,GAAG,IAAI;cAI3E,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,7 +1,19 @@
1
1
  import { AccountPoolCore, type PoolAccountShape, type PoolData } from '../common/account-pool.ts';
2
2
  import type { CredentialStore } from '../token-store.ts';
3
3
  import { FileCredentialStore, type CommandCodeCredentials } from './token-store.ts';
4
- import type { CommandCodeAccountSummaryDto, CommandCodeApiEnv } from '../../shared/command-code-contracts.ts';
4
+ import type { CommandCodeAccountQuota, CommandCodeAccountSummaryDto, CommandCodeApiEnv } from '../../shared/command-code-contracts.ts';
5
+ import type { PoolAccountQuotaDto } from '../../shared/account-pool-contracts.ts';
6
+ /**
7
+ * One cached snapshot as the shared account card renders it.
8
+ *
9
+ * A usage window states its own consumed share, so it maps straight across; a
10
+ * window whose share nobody measured is dropped rather than drawn at 0, which
11
+ * would claim an unspent window no reading supports.
12
+ *
13
+ * Exported for the pool's regression tests; the card only reaches it through
14
+ * the summary hook.
15
+ */
16
+ export declare function commandCodePoolQuota(cached: CommandCodeAccountQuota): PoolAccountQuotaDto | undefined;
5
17
  /** One pooled Command Code key: the bearer key plus the account facts the card renders. */
6
18
  export interface CommandCodePoolAccount extends PoolAccountShape<CommandCodeCredentials> {
7
19
  email?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/account-pool.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAGf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EACL,mBAAmB,EAEnB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAE7G,2FAA2F;AAC3F,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB,CAAC,sBAAsB,CAAC;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,YAAY,EAAE,4BAA4B,EAAE,CAAA;AAE5C,yFAAyF;AACzF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,sBAAsB,GAAG,MAAM,CAKjF;AASD,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAsCzF;AAED,MAAM,WAAW,6BAA6B;IAC5C,0EAA0E;IAC1E,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC3D,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CACzD,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAE/B,OAAO,GAAE,6BAAkC;IAkFvD;;;;;OAKG;IACG,sBAAsB,CAC1B,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,sBAAsB,CAAC;QAAC,WAAW,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAK/G,+EAA+E;IAC/E,WAAW,IAAI,mBAAmB;CAGnC"}
1
+ {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/host/command-code/account-pool.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EAGf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EACL,mBAAmB,EAEnB,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAA;AAKzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AACtI,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAEjF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,SAAS,CAMrG;AAeD,2FAA2F;AAC3F,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB,CAAC,sBAAsB,CAAC;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,YAAY,EAAE,4BAA4B,EAAE,CAAA;AAE5C,yFAAyF;AACzF,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,sBAAsB,GAAG,MAAM,CAKjF;AASD,sDAAsD;AACtD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAsCzF;AAED,MAAM,WAAW,6BAA6B;IAC5C,0EAA0E;IAC1E,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAC3D,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CACzD,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAE/B,OAAO,GAAE,6BAAkC;IAwFvD;;;;;OAKG;IACG,sBAAsB,CAC1B,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAChC,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC;QAAE,OAAO,EAAE,sBAAsB,CAAC;QAAC,WAAW,EAAE,sBAAsB,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAK/G,+EAA+E;IAC/E,WAAW,IAAI,mBAAmB;CAGnC"}
@@ -94,7 +94,8 @@ export declare function getCachedQuota(): CommandCodeAccountQuota | undefined;
94
94
  * The cached snapshot only when it belongs to this account.
95
95
  *
96
96
  * Passing no account keeps the pre-pool behavior of returning whatever was
97
- * fetched last.
97
+ * fetched last. This is the lookup the account pool calls while it builds its
98
+ * summaries: a pure memory read, never a fetch.
98
99
  */
99
100
  export declare function getCachedQuotaFor(accountId?: string | null): CommandCodeAccountQuota | undefined;
100
101
  export declare function clearCachedQuota(): void;
@@ -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":"AAAA,OAAO,EAYL,WAAW,EAYZ,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAA+B,MAAM,kBAAkB,CAAA;AAEjH,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EAChB,MAAM,wCAAwC,CAAA;AAK/C,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,MAAM,CAAC,EAAE,iBAAiB,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACjC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxB;AAgHD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,kBAAkB,CA8B5G;AA8HD,yFAAyF;AACzF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,GAAG,IAAI,CAOvE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIvE;AAED,+DAA+D;AAC/D,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI1E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAKhE;AA+GD,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAW5D;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,sBAAsB,EAAE,CAqB5E;AAED;;;;;;;;GAQG;AACH,8EAA8E;AAC9E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE5E;AA4CD,sDAAsD;AACtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,uBAAuB,EAAE,CAqB/E;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAWpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,yBAAyB,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5D,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAsCpC;AA6BD,wBAAgB,gBAAgB,IAAI,uBAAuB,EAAE,CAE5D;AAED,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAED,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC;AAED,8EAA8E;AAC9E,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,MAAM,CAKR;AA0BD,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhG;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAG7B;AAwDD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,uBAAuB,GAAG,SAAS,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,uBAAuB,GAAG,SAAS,CAGhG;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAA;IACtB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,GAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAA6B,EACpE,gBAAgB,GAAE,OAAO,KAAK,GAAG,wBAAgC,EACjE,KAAK,UAAQ,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAkGlC;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,KAAK,CAAC;IACP,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,IAAI,EAAE,eAAe,CAAA;CACtB,CAAC,CAkBD;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Turning a line's own quota snapshot into the per-account shape the account
3
+ * card draws.
4
+ *
5
+ * Quota follows the account: a rotation decides which account spends the next
6
+ * request, so one line-level figure describes whichever account happened to be
7
+ * active when it was read. Every line already remembers what it read per
8
+ * account identity; these helpers are the single place that decides what of a
9
+ * snapshot is worth publishing, so seven lines cannot drift apart on the two
10
+ * questions that matter:
11
+ *
12
+ * - a window whose share nobody measured is NOT zero — it is dropped, because
13
+ * "0% used" and "not stated" are different claims and the bar would lie;
14
+ * - a snapshot with no read time is not a snapshot — the card's whole promise
15
+ * is "this is what we last saw, at this time".
16
+ */
17
+ import type { PoolAccountQuotaDto, PoolAccountQuotaWindowDto } from '../../shared/account-pool-contracts.ts';
18
+ /**
19
+ * A reset instant as Unix milliseconds.
20
+ *
21
+ * Providers state this in seconds, in milliseconds, or not at all, and the two
22
+ * numeric forms are told apart by magnitude rather than by a flag: 10^10
23
+ * seconds is the year 2286, so anything larger is already milliseconds.
24
+ */
25
+ export declare function quotaResetMs(value: number | null | undefined): number | null;
26
+ /**
27
+ * One window, or null when its consumed share was never measured.
28
+ *
29
+ * `label` may be empty: the card names an unlabeled window from its length, and
30
+ * only falls back to a generic name when the line stated neither.
31
+ */
32
+ export declare function quotaWindow(label: string, usedPercent: number | null | undefined, options?: {
33
+ windowDurationMins?: number | null;
34
+ resetsAt?: number | null;
35
+ }): PoolAccountQuotaWindowDto | null;
36
+ /**
37
+ * The snapshot to publish for one account, or undefined when there is none.
38
+ *
39
+ * Undefined is the honest answer for "never read" and for "read before this
40
+ * process started": both mean the card has nothing to show, and neither means
41
+ * the account is unspent.
42
+ */
43
+ export declare function poolQuota(fetchedAt: number | null | undefined, windows: readonly (PoolAccountQuotaWindowDto | null)[]): PoolAccountQuotaDto | undefined;
44
+ //# sourceMappingURL=account-quota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-quota.d.ts","sourceRoot":"","sources":["../../../../src/host/common/account-quota.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAE5G;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAG5E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACtC,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC7E,yBAAyB,GAAG,IAAI,CAWlC;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,EAAE,SAAS,CAAC,yBAAyB,GAAG,IAAI,CAAC,EAAE,GACrD,mBAAmB,GAAG,SAAS,CAGjC"}
@@ -17,6 +17,15 @@
17
17
  */
18
18
  /** File name of the persisted snapshot for one catalog. */
19
19
  export declare function catalogSnapshotPath(name: string): string;
20
+ /**
21
+ * How many models one line's catalog holds, for the hub overview's "N/M models".
22
+ *
23
+ * An empty catalog is reported as `null` rather than `0`: "this line has synced
24
+ * nothing yet" and "this line offers no models" are different statements, and
25
+ * only the second one is a fact. The overview hides the model count for a null,
26
+ * which is what a line that has never synced should show.
27
+ */
28
+ export declare function catalogTotal(count: number): number | null;
20
29
  /**
21
30
  * Snapshot name for one catalog *and* one credential scope.
22
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-snapshot.d.ts","sourceRoot":"","sources":["../../../../src/host/common/catalog-snapshot.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,GAAG,SAAS,GAC/C,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAczD;AAcD,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAenG;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3D;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,GAAG,SAAS,EAChD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAChD,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAKjB"}
1
+ {"version":3,"file":"catalog-snapshot.d.ts","sourceRoot":"","sources":["../../../../src/host/common/catalog-snapshot.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,2DAA2D;AAC3D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,GAAG,SAAS,GAC/C,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC,CAczD;AAcD,0EAA0E;AAC1E,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAenG;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAS3D;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAAE,GAAG,SAAS,EAChD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,EAChD,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAKjB"}