@cortexkit/antigravity-auth-core 2.2.1 → 3.0.1

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 (253) hide show
  1. package/README.md +24 -2
  2. package/dist/abort-forwarding.d.ts +3 -0
  3. package/dist/abort-forwarding.d.ts.map +1 -0
  4. package/dist/abort-forwarding.js +19 -0
  5. package/dist/abort-forwarding.js.map +1 -0
  6. package/dist/account-identity.d.ts +52 -0
  7. package/dist/account-identity.d.ts.map +1 -0
  8. package/dist/account-identity.js +66 -0
  9. package/dist/account-identity.js.map +1 -0
  10. package/dist/account-manager.d.ts +228 -43
  11. package/dist/account-manager.d.ts.map +1 -1
  12. package/dist/account-manager.js +942 -903
  13. package/dist/account-manager.js.map +1 -1
  14. package/dist/account-migration.d.ts +309 -0
  15. package/dist/account-migration.d.ts.map +1 -0
  16. package/dist/account-migration.js +2284 -0
  17. package/dist/account-migration.js.map +1 -0
  18. package/dist/account-repository-codecs.d.ts +82 -0
  19. package/dist/account-repository-codecs.d.ts.map +1 -0
  20. package/dist/account-repository-codecs.js +609 -0
  21. package/dist/account-repository-codecs.js.map +1 -0
  22. package/dist/account-repository-types.d.ts +831 -0
  23. package/dist/account-repository-types.d.ts.map +1 -0
  24. package/dist/account-repository-types.js +137 -0
  25. package/dist/account-repository-types.js.map +1 -0
  26. package/dist/account-repository.d.ts +442 -0
  27. package/dist/account-repository.d.ts.map +1 -0
  28. package/dist/account-repository.js +2253 -0
  29. package/dist/account-repository.js.map +1 -0
  30. package/dist/account-selector.d.ts +470 -0
  31. package/dist/account-selector.d.ts.map +1 -0
  32. package/dist/account-selector.js +1383 -0
  33. package/dist/account-selector.js.map +1 -0
  34. package/dist/account-storage.d.ts.map +1 -1
  35. package/dist/account-storage.js +5 -0
  36. package/dist/account-storage.js.map +1 -1
  37. package/dist/agy-request-metadata.d.ts.map +1 -1
  38. package/dist/agy-request-metadata.js +8 -21
  39. package/dist/agy-request-metadata.js.map +1 -1
  40. package/dist/agy-transport.d.ts.map +1 -1
  41. package/dist/agy-transport.js +21 -35
  42. package/dist/agy-transport.js.map +1 -1
  43. package/dist/antigravity-command-menu.d.ts +171 -0
  44. package/dist/antigravity-command-menu.d.ts.map +1 -0
  45. package/dist/antigravity-command-menu.js +523 -0
  46. package/dist/antigravity-command-menu.js.map +1 -0
  47. package/dist/atomic-write.d.ts +18 -1
  48. package/dist/atomic-write.d.ts.map +1 -1
  49. package/dist/atomic-write.js +15 -3
  50. package/dist/atomic-write.js.map +1 -1
  51. package/dist/common-auth-embedded/NOTICE.txt +21 -0
  52. package/dist/common-auth-embedded/auth-menu/accounts.d.ts +97 -0
  53. package/dist/common-auth-embedded/auth-menu/accounts.js +387 -0
  54. package/dist/common-auth-embedded/auth-menu/ansi.d.ts +26 -0
  55. package/dist/common-auth-embedded/auth-menu/ansi.js +98 -0
  56. package/dist/common-auth-embedded/auth-menu/confirm.d.ts +7 -0
  57. package/dist/common-auth-embedded/auth-menu/confirm.js +21 -0
  58. package/dist/common-auth-embedded/auth-menu/doctor.d.ts +52 -0
  59. package/dist/common-auth-embedded/auth-menu/doctor.js +81 -0
  60. package/dist/common-auth-embedded/auth-menu/index.d.ts +17 -0
  61. package/dist/common-auth-embedded/auth-menu/index.js +12 -0
  62. package/dist/common-auth-embedded/auth-menu/login.d.ts +55 -0
  63. package/dist/common-auth-embedded/auth-menu/login.js +83 -0
  64. package/dist/common-auth-embedded/auth-menu/menu.d.ts +59 -0
  65. package/dist/common-auth-embedded/auth-menu/menu.js +73 -0
  66. package/dist/common-auth-embedded/auth-menu/opencode-v1.d.ts +49 -0
  67. package/dist/common-auth-embedded/auth-menu/opencode-v1.js +47 -0
  68. package/dist/common-auth-embedded/auth-menu/select.d.ts +21 -0
  69. package/dist/common-auth-embedded/auth-menu/select.js +159 -0
  70. package/dist/common-auth-embedded/auth-menu/terminal.d.ts +43 -0
  71. package/dist/common-auth-embedded/auth-menu/terminal.js +19 -0
  72. package/dist/common-auth-embedded/claustrum/consumer.d.ts +102 -0
  73. package/dist/common-auth-embedded/claustrum/consumer.js +298 -0
  74. package/dist/common-auth-embedded/claustrum/custody.d.ts +175 -0
  75. package/dist/common-auth-embedded/claustrum/custody.js +354 -0
  76. package/dist/common-auth-embedded/claustrum/enrollment.d.ts +158 -0
  77. package/dist/common-auth-embedded/claustrum/enrollment.js +759 -0
  78. package/dist/common-auth-embedded/claustrum/errors.d.ts +16 -0
  79. package/dist/common-auth-embedded/claustrum/errors.js +8 -0
  80. package/dist/common-auth-embedded/claustrum/host-slot.d.ts +39 -0
  81. package/dist/common-auth-embedded/claustrum/host-slot.js +72 -0
  82. package/dist/common-auth-embedded/claustrum/index.d.ts +18 -0
  83. package/dist/common-auth-embedded/claustrum/index.js +22 -0
  84. package/dist/common-auth-embedded/claustrum/interlock.d.ts +27 -0
  85. package/dist/common-auth-embedded/claustrum/interlock.js +29 -0
  86. package/dist/common-auth-embedded/claustrum/roster.d.ts +208 -0
  87. package/dist/common-auth-embedded/claustrum/roster.js +536 -0
  88. package/dist/common-auth-embedded/commands/builtins.d.ts +71 -0
  89. package/dist/common-auth-embedded/commands/builtins.js +534 -0
  90. package/dist/common-auth-embedded/commands/index.d.ts +10 -0
  91. package/dist/common-auth-embedded/commands/index.js +5 -0
  92. package/dist/common-auth-embedded/commands/menu.d.ts +61 -0
  93. package/dist/common-auth-embedded/commands/menu.js +300 -0
  94. package/dist/common-auth-embedded/commands/model.d.ts +238 -0
  95. package/dist/common-auth-embedded/commands/model.js +16 -0
  96. package/dist/common-auth-embedded/commands/pi.d.ts +23 -0
  97. package/dist/common-auth-embedded/commands/pi.js +206 -0
  98. package/dist/common-auth-embedded/commands/seam.d.ts +72 -0
  99. package/dist/common-auth-embedded/commands/seam.js +301 -0
  100. package/dist/common-auth-embedded/fs/atomic-write.d.ts +20 -0
  101. package/dist/common-auth-embedded/fs/atomic-write.js +80 -0
  102. package/dist/common-auth-embedded/fs/index.d.ts +7 -0
  103. package/dist/common-auth-embedded/fs/index.js +6 -0
  104. package/dist/common-auth-embedded/fs/lock-constants.d.ts +14 -0
  105. package/dist/common-auth-embedded/fs/lock-constants.js +14 -0
  106. package/dist/common-auth-embedded/fs/refresh-file-lock.d.ts +33 -0
  107. package/dist/common-auth-embedded/fs/refresh-file-lock.js +501 -0
  108. package/dist/common-auth-embedded/fs/with-lock.d.ts +33 -0
  109. package/dist/common-auth-embedded/fs/with-lock.js +48 -0
  110. package/dist/common-auth-embedded/logger/capture-sink.d.ts +14 -0
  111. package/dist/common-auth-embedded/logger/capture-sink.js +13 -0
  112. package/dist/common-auth-embedded/logger/engine.d.ts +100 -0
  113. package/dist/common-auth-embedded/logger/engine.js +246 -0
  114. package/dist/common-auth-embedded/logger/index.d.ts +6 -0
  115. package/dist/common-auth-embedded/logger/index.js +3 -0
  116. package/dist/common-auth-embedded/logger/redact.d.ts +11 -0
  117. package/dist/common-auth-embedded/logger/redact.js +83 -0
  118. package/dist/common-auth-embedded/pi-slot/index.d.ts +3 -0
  119. package/dist/common-auth-embedded/pi-slot/index.js +2 -0
  120. package/dist/common-auth-embedded/pi-slot/lock.js +212 -0
  121. package/dist/common-auth-embedded/pi-slot/slot.d.ts +49 -0
  122. package/dist/common-auth-embedded/pi-slot/slot.js +383 -0
  123. package/dist/common-auth-embedded/quota/codec.d.ts +11 -0
  124. package/dist/common-auth-embedded/quota/codec.js +12 -0
  125. package/dist/common-auth-embedded/quota/format.d.ts +46 -0
  126. package/dist/common-auth-embedded/quota/format.js +138 -0
  127. package/dist/common-auth-embedded/quota/index.d.ts +10 -0
  128. package/dist/common-auth-embedded/quota/index.js +5 -0
  129. package/dist/common-auth-embedded/quota/map.d.ts +63 -0
  130. package/dist/common-auth-embedded/quota/map.js +105 -0
  131. package/dist/common-auth-embedded/quota/merge.d.ts +48 -0
  132. package/dist/common-auth-embedded/quota/merge.js +162 -0
  133. package/dist/common-auth-embedded/quota/projection.d.ts +64 -0
  134. package/dist/common-auth-embedded/quota/projection.js +134 -0
  135. package/dist/common-auth-embedded/routing/admission.d.ts +93 -0
  136. package/dist/common-auth-embedded/routing/admission.js +142 -0
  137. package/dist/common-auth-embedded/routing/index.d.ts +8 -0
  138. package/dist/common-auth-embedded/routing/index.js +4 -0
  139. package/dist/common-auth-embedded/routing/ordered.d.ts +47 -0
  140. package/dist/common-auth-embedded/routing/ordered.js +58 -0
  141. package/dist/common-auth-embedded/routing/pins.d.ts +22 -0
  142. package/dist/common-auth-embedded/routing/pins.js +34 -0
  143. package/dist/common-auth-embedded/routing/sticky.d.ts +158 -0
  144. package/dist/common-auth-embedded/routing/sticky.js +339 -0
  145. package/dist/common-auth-embedded/source-output.json +1090 -0
  146. package/dist/common-auth-embedded/store/attribution.d.ts +28 -0
  147. package/dist/common-auth-embedded/store/attribution.js +60 -0
  148. package/dist/common-auth-embedded/store/errors.d.ts +55 -0
  149. package/dist/common-auth-embedded/store/errors.js +38 -0
  150. package/dist/common-auth-embedded/store/hooks.d.ts +12 -0
  151. package/dist/common-auth-embedded/store/hooks.js +34 -0
  152. package/dist/common-auth-embedded/store/identity.d.ts +39 -0
  153. package/dist/common-auth-embedded/store/identity.js +79 -0
  154. package/dist/common-auth-embedded/store/index.d.ts +21 -0
  155. package/dist/common-auth-embedded/store/index.js +7 -0
  156. package/dist/common-auth-embedded/store/mutate.d.ts +189 -0
  157. package/dist/common-auth-embedded/store/mutate.js +500 -0
  158. package/dist/common-auth-embedded/store/pool.d.ts +196 -0
  159. package/dist/common-auth-embedded/store/pool.js +120 -0
  160. package/dist/common-auth-embedded/store/provider-state.d.ts +131 -0
  161. package/dist/common-auth-embedded/store/provider-state.js +226 -0
  162. package/dist/common-auth-embedded/store/publication.d.ts +47 -0
  163. package/dist/common-auth-embedded/store/publication.js +304 -0
  164. package/dist/common-auth-embedded/store/pull.d.ts +36 -0
  165. package/dist/common-auth-embedded/store/pull.js +143 -0
  166. package/dist/common-auth-embedded/store/refresh-lock.d.ts +63 -0
  167. package/dist/common-auth-embedded/store/refresh-lock.js +136 -0
  168. package/dist/common-auth-embedded/store/refresh.d.ts +72 -0
  169. package/dist/common-auth-embedded/store/refresh.js +225 -0
  170. package/dist/common-auth-embedded/store/reserved.js +13 -0
  171. package/dist/common-auth-embedded/store/rows.d.ts +313 -0
  172. package/dist/common-auth-embedded/store/rows.js +1258 -0
  173. package/dist/common-auth-embedded/store/runtime.d.ts +36 -0
  174. package/dist/common-auth-embedded/store/runtime.js +68 -0
  175. package/dist/common-auth-embedded/store/schema.d.ts +443 -0
  176. package/dist/common-auth-embedded/store/schema.js +754 -0
  177. package/dist/common-auth-embedded/store/settings.d.ts +63 -0
  178. package/dist/common-auth-embedded/store/settings.js +120 -0
  179. package/dist/common-auth-embedded/store/torn.d.ts +78 -0
  180. package/dist/common-auth-embedded/store/torn.js +294 -0
  181. package/dist/common-auth-embedded/util/any-signal.js +42 -0
  182. package/dist/common-auth-runtime.d.ts +73 -0
  183. package/dist/common-auth-runtime.d.ts.map +1 -0
  184. package/dist/common-auth-runtime.js +65 -0
  185. package/dist/common-auth-runtime.js.map +1 -0
  186. package/dist/credential-redaction.d.ts +13 -0
  187. package/dist/credential-redaction.d.ts.map +1 -0
  188. package/dist/credential-redaction.js +230 -0
  189. package/dist/credential-redaction.js.map +1 -0
  190. package/dist/fetch-timeout.d.ts +4 -2
  191. package/dist/fetch-timeout.d.ts.map +1 -1
  192. package/dist/fetch-timeout.js +121 -14
  193. package/dist/fetch-timeout.js.map +1 -1
  194. package/dist/fingerprint.d.ts +3 -3
  195. package/dist/fingerprint.d.ts.map +1 -1
  196. package/dist/fingerprint.js +4 -4
  197. package/dist/fingerprint.js.map +1 -1
  198. package/dist/index.d.ts +16 -1
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +15 -0
  201. package/dist/index.js.map +1 -1
  202. package/dist/model-registry.d.ts +16 -0
  203. package/dist/model-registry.d.ts.map +1 -1
  204. package/dist/model-registry.js +242 -30
  205. package/dist/model-registry.js.map +1 -1
  206. package/dist/quota-manager.d.ts.map +1 -1
  207. package/dist/quota-manager.js +35 -10
  208. package/dist/quota-manager.js.map +1 -1
  209. package/dist/quota-presentation.d.ts +10 -0
  210. package/dist/quota-presentation.d.ts.map +1 -0
  211. package/dist/quota-presentation.js +60 -0
  212. package/dist/quota-presentation.js.map +1 -0
  213. package/dist/quota-types.d.ts +2 -0
  214. package/dist/quota-types.d.ts.map +1 -1
  215. package/dist/rotation.d.ts +8 -0
  216. package/dist/rotation.d.ts.map +1 -1
  217. package/dist/rotation.js +24 -0
  218. package/dist/rotation.js.map +1 -1
  219. package/dist/transform/agy-generation.d.ts +3 -0
  220. package/dist/transform/agy-generation.d.ts.map +1 -0
  221. package/dist/transform/agy-generation.js +28 -0
  222. package/dist/transform/agy-generation.js.map +1 -0
  223. package/dist/transform/claude.d.ts +7 -3
  224. package/dist/transform/claude.d.ts.map +1 -1
  225. package/dist/transform/claude.js +8 -2
  226. package/dist/transform/claude.js.map +1 -1
  227. package/dist/transform/index.d.ts +1 -0
  228. package/dist/transform/index.d.ts.map +1 -1
  229. package/dist/transform/index.js +1 -0
  230. package/dist/transform/index.js.map +1 -1
  231. package/dist/transform/model-resolver.d.ts +2 -1
  232. package/dist/transform/model-resolver.d.ts.map +1 -1
  233. package/dist/transform/model-resolver.js +46 -5
  234. package/dist/transform/model-resolver.js.map +1 -1
  235. package/dist/transform/types.d.ts +1 -1
  236. package/dist/transform/types.d.ts.map +1 -1
  237. package/dist/vault-account-source.d.ts +183 -0
  238. package/dist/vault-account-source.d.ts.map +1 -0
  239. package/dist/vault-account-source.js +296 -0
  240. package/dist/vault-account-source.js.map +1 -0
  241. package/dist/vault-enrollment-authority.d.ts +16 -0
  242. package/dist/vault-enrollment-authority.d.ts.map +1 -0
  243. package/dist/vault-enrollment-authority.js +19 -0
  244. package/dist/vault-enrollment-authority.js.map +1 -0
  245. package/dist/vault-family.d.ts +11 -0
  246. package/dist/vault-family.d.ts.map +1 -0
  247. package/dist/vault-family.js +24 -0
  248. package/dist/vault-family.js.map +1 -0
  249. package/dist/vault-provider-state.d.ts +162 -0
  250. package/dist/vault-provider-state.d.ts.map +1 -0
  251. package/dist/vault-provider-state.js +422 -0
  252. package/dist/vault-provider-state.js.map +1 -0
  253. package/package.json +39 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-repository.js","sourceRoot":"","sources":["../src/account-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,470 @@
1
+ /**
2
+ * Account selection, session pinning, rate-limit, cooldown, health, token,
3
+ * toast and usage bookkeeping over one pool of rows, independent of where
4
+ * the rows' credentials live.
5
+ *
6
+ * `AccountSelector` is the single owner of that state. The local
7
+ * `AccountManager` delegates every selection method to one selector over its
8
+ * `ManagedAccount` rows; a vault-backed pool builds a selector over rows that
9
+ * carry only roster metadata. Selection policy reads only the
10
+ * `SelectableAccount` fields, so a row type with a credential field (the
11
+ * local one) and a row type without one (a vault's) select identically.
12
+ *
13
+ * Two helpers copy whole rows: `refreshSelectableRow` (the default refresh
14
+ * of `replaceAccounts`) and `getAccountsSnapshot`. They copy every field a
15
+ * row has, so they are for rows without credentials. A pool whose rows
16
+ * carry credentials passes its own refresh and takes its own snapshots, as
17
+ * the local `AccountManager` does.
18
+ *
19
+ * Persisting a transition is not the selector's concern. Each transition is
20
+ * reported to an injected `SelectionSink` with the exact row object it was
21
+ * decided for, at the point the original manager wrote it, so the owner of
22
+ * the rows decides whether and where it is stored.
23
+ */
24
+ import type { AccessVerdict, CooldownObservation, LastSwitchReason } from './account-repository-types.ts';
25
+ import type { AccountSelectionStrategy, CooldownReason, HeaderStyle, AccountModelFamily as ModelFamily, RateLimitStateV3 } from './account-types.ts';
26
+ import { type Fingerprint, type FingerprintVersion } from './fingerprint.ts';
27
+ import type { QuotaGroup, QuotaGroupSummary } from './quota-types.ts';
28
+ import { HealthScoreTracker, type RateLimitReason, TokenBucketTracker } from './rotation.ts';
29
+ export type BaseQuotaKey = 'claude' | 'gemini-antigravity' | 'gemini-cli';
30
+ export type QuotaKey = BaseQuotaKey | `${BaseQuotaKey}:${string}`;
31
+ /**
32
+ * The fields of a pool row that selection and its bookkeeping read or set.
33
+ * None of them is a credential: no refresh or access token, expiry, project,
34
+ * refresh parts or repository ref. A row type may carry more fields (the
35
+ * local `ManagedAccount` carries its credential); the selector never reads
36
+ * them.
37
+ */
38
+ export interface SelectableAccount {
39
+ /** The row's position in the pool. It changes on reorder; never an identity. */
40
+ index: number;
41
+ enabled: boolean;
42
+ lastUsed: number;
43
+ /**
44
+ * Rate-limit reset time per quota key (see `getQuotaKey`): `claude`, or
45
+ * a Gemini header style, optionally with a model.
46
+ */
47
+ rateLimitResetTimes: RateLimitStateV3;
48
+ lastSwitchReason?: LastSwitchReason;
49
+ coolingDownUntil?: number;
50
+ cooldownReason?: CooldownReason;
51
+ /** When each quota key last selected this row (in memory only). */
52
+ touchedForQuota: Record<string, number>;
53
+ consecutiveFailures?: number;
54
+ /** Timestamp of last failure for TTL-based reset of consecutiveFailures */
55
+ lastFailureTime?: number;
56
+ cachedQuota?: Partial<Record<QuotaGroup, QuotaGroupSummary>>;
57
+ cachedQuotaUpdatedAt?: number;
58
+ dailyRequestCounts?: {
59
+ date: string;
60
+ claude: number;
61
+ gemini: number;
62
+ };
63
+ email?: string;
64
+ fingerprint?: Fingerprint;
65
+ fingerprintHistory?: FingerprintVersion[];
66
+ verificationRequired?: boolean;
67
+ verificationRequiredAt?: number;
68
+ verificationRequiredReason?: string;
69
+ verificationUrl?: string;
70
+ accountIneligible?: boolean;
71
+ accountIneligibleAt?: number;
72
+ accountIneligibleReason?: string;
73
+ eligibilityStateUpdatedAt?: number;
74
+ }
75
+ export interface AccountSessionIdentity {
76
+ id: string;
77
+ parentId?: string | null;
78
+ }
79
+ /**
80
+ * Where the selector reports each transition, with the exact row object it
81
+ * was decided for. Every method is optional; an absent one drops that
82
+ * effect. Methods are called synchronously, in the order the transitions
83
+ * happen; whatever a sink throws reaches the selector's caller.
84
+ */
85
+ export interface SelectionSink<A> {
86
+ /** A rate-limit reset time was set for `key`, or (`'clear'`) dropped. */
87
+ rateLimit?(row: A, key: QuotaKey, resetAt: number | 'clear'): void;
88
+ /** A cooldown was set, or (`null`) cleared. */
89
+ cooldown?(row: A, value: CooldownObservation): void;
90
+ /** The row was switched to for `reason`. */
91
+ switched?(row: A, reason: LastSwitchReason): void;
92
+ /** The row was selected by hybrid selection or marked used at `at`. */
93
+ lastUsed?(row: A, at: number): void;
94
+ /**
95
+ * The pool-wide selection of `family` changed to `row` (`null`: none).
96
+ * Session pins are in memory only and are not reported.
97
+ */
98
+ selection?(family: ModelFamily, row: A | null): void;
99
+ /** One request of `family` was served by the row at `at`. */
100
+ usage?(row: A, family: ModelFamily, at: number): void;
101
+ /** The row's enabled flag was set by a caller. */
102
+ enabled?(row: A, enabled: boolean): void;
103
+ /** An access verdict, with its metadata and enabled flag, was recorded. */
104
+ accessVerdict?(row: A, verdict: AccessVerdict): void;
105
+ /** The row's fingerprint or its history changed. */
106
+ fingerprint?(row: A): void;
107
+ /** Persist the pool soon; called after the transitions above that ask for it. */
108
+ requestSave?(): void;
109
+ /**
110
+ * A transition about a row that is no longer in the pool was ignored.
111
+ * Without this method the selector reports it through `onDiagnostic`.
112
+ */
113
+ stale?(row: A, label: string): void;
114
+ }
115
+ /** A tracker the selector owns, or a shared one it resolves on each use. */
116
+ type TrackerSource<T> = T | (() => T);
117
+ export interface AccountSelectorOptions<A extends SelectableAccount> {
118
+ sink?: SelectionSink<A>;
119
+ /**
120
+ * The health scores this selector selects with, keyed by its row indexes.
121
+ * A tracker instance is owned: the selector reindexes it when rows move.
122
+ * A function resolves a shared tracker on each use (the local pool-file
123
+ * manager's process-wide default); a shared tracker is never reindexed,
124
+ * because other pools key it by their own indexes. Absent: a new tracker
125
+ * owned by this selector.
126
+ */
127
+ healthTracker?: TrackerSource<HealthScoreTracker>;
128
+ /** The token balances this selector selects with; see `healthTracker`. */
129
+ tokenTracker?: TrackerSource<TokenBucketTracker>;
130
+ now?: () => number;
131
+ random?: () => number;
132
+ pid?: number;
133
+ onDiagnostic?: (message: string, fields?: Record<string, unknown>) => void;
134
+ }
135
+ /** How `replaceAccounts` matches and refreshes rows. */
136
+ export interface ReplaceAccountsOptions<A extends SelectableAccount> {
137
+ /**
138
+ * The row's identity. Rows whose keys are equal (`SameValueZero`, as a
139
+ * `Map` compares them) are the same member: an object key matches by
140
+ * object identity, a string key by value. A key is read from a current
141
+ * row as the row is now, so a row whose identity was legitimately
142
+ * advanced in place (a local credential refresh) is matched under its
143
+ * successor identity.
144
+ */
145
+ keyOf(row: A): unknown;
146
+ /**
147
+ * Brings a kept row up to date with the matched fresh row. Defaults to
148
+ * `refreshSelectableRow`, which copies every field and so suits only rows
149
+ * without credentials. Not called when the fresh row is the kept row.
150
+ */
151
+ refresh?(prior: A, fresh: A): void;
152
+ /**
153
+ * The pool-wide selection of `family` when its row left. Defaults to
154
+ * none (-1). Not reported to the sink.
155
+ */
156
+ selectionFallback?(family: ModelFamily, accounts: readonly A[]): number;
157
+ }
158
+ /** The rows a membership change added and removed. */
159
+ export interface AccountsReplaced<A> {
160
+ added: A[];
161
+ removed: A[];
162
+ }
163
+ export declare function clampNonNegativeInt(value: unknown, fallback: number): number;
164
+ export declare function getQuotaKey(family: ModelFamily, headerStyle: HeaderStyle, model?: string | null): QuotaKey;
165
+ /**
166
+ * Resolve the quota group for soft quota checks.
167
+ *
168
+ * When a model string is available we use the model-registry lookup first,
169
+ * then fall back to substring matching. When model is null/undefined we
170
+ * fall back based on family:
171
+ * - Claude → "non-gemini" quota group
172
+ * - Gemini → "gemini" quota group
173
+ *
174
+ * @param family - The model family ("claude" | "gemini")
175
+ * @param model - Optional model string for precise resolution
176
+ * @returns The QuotaGroup to use for soft quota checks
177
+ */
178
+ export declare function resolveQuotaGroup(family: ModelFamily, model?: string | null): QuotaGroup;
179
+ /**
180
+ * The default refresh of a kept row from its fresh roster row: every field
181
+ * the fresh row has replaces the kept one, and every field it lacks is
182
+ * removed, so no stale enabled flag, cooldown, quota reading, verdict or
183
+ * other roster metadata survives. Only in-memory bookkeeping is kept
184
+ * (quota-key touches, consecutive failures, the row's index), plus two
185
+ * observations this pool may hold before its roster shows them: the later
186
+ * `lastUsed`, and per rate-limit key the later reset time.
187
+ *
188
+ * It copies every field of the fresh row, whatever it is, so it is meant
189
+ * for rows without credentials (a vault roster's). A row type that carries
190
+ * credentials refreshes them under its own rules instead.
191
+ */
192
+ export declare function refreshSelectableRow<A extends SelectableAccount>(prior: A, fresh: A): void;
193
+ /**
194
+ * The one owner of a pool's selection state: its rows, the per-family
195
+ * selection and round-robin cursors, per-session pins (with parent ids,
196
+ * used rows, cursors and PID-offset flags), session usage, toast debounce,
197
+ * health and token trackers, and the clock, random source and pid they use.
198
+ *
199
+ * Uses the same account until it hits a rate limit (429), then switches.
200
+ * Rate limits are tracked per quota key (family, model and header style),
201
+ * so an account rate-limited for Claude can still be used for Gemini.
202
+ *
203
+ * Rows are held by reference, never copied, and their selection fields are
204
+ * updated in place. Index-keyed state follows a row across a membership
205
+ * change only through `replaceAccounts` or `removeAccount`, which match rows
206
+ * by identity, never by position.
207
+ */
208
+ export declare class AccountSelector<A extends SelectableAccount> {
209
+ private accounts;
210
+ private cursorByFamily;
211
+ private currentAccountIndexByFamily;
212
+ private sessionOffsetApplied;
213
+ private lastToastAccountIndex;
214
+ private lastToastTime;
215
+ private readonly sessionStartTime;
216
+ private sessionRequestCounts;
217
+ private sessionUsedAccounts;
218
+ private readonly requestSessionStates;
219
+ private readonly sink;
220
+ private readonly healthSource;
221
+ private readonly tokenSource;
222
+ private readonly onDiagnostic;
223
+ private readonly now;
224
+ private readonly random;
225
+ private readonly pid;
226
+ constructor(options?: AccountSelectorOptions<A>);
227
+ /**
228
+ * The health tracker this selector selects with, keyed by its current
229
+ * row indexes. Callers record request outcomes on this tracker.
230
+ */
231
+ get healthTracker(): HealthScoreTracker;
232
+ /** The token balances this selector selects with; see `healthTracker`. */
233
+ get tokenTracker(): TokenBucketTracker;
234
+ /**
235
+ * The rows in pool order: the selector's own array, not a copy. Callers
236
+ * must not change it; membership changes go through `replaceAccounts`
237
+ * and `removeAccount`.
238
+ */
239
+ get rows(): readonly A[];
240
+ /** Asks the sink to persist the pool soon (`SelectionSink.requestSave`). */
241
+ requestSaveToDisk(): void;
242
+ /** Whether `row` is (by object identity) one of the pool's rows. */
243
+ has(row: A): boolean;
244
+ /**
245
+ * Installs the rows of an initial load, without matching them to earlier
246
+ * rows, and sets each given family's selection and round-robin cursor to
247
+ * the given index. The selector takes the array; each row's `index` must
248
+ * be its position. For later changes use `replaceAccounts`.
249
+ */
250
+ resetAccounts(accounts: A[], selection?: Partial<Record<ModelFamily, number>>): void;
251
+ /**
252
+ * Replaces the pool's rows with `next`, matched by `options.keyOf`, never
253
+ * by position or by any credential.
254
+ *
255
+ * A row whose key is unchanged stays the same object, refreshed from its
256
+ * fresh row (see `ReplaceAccountsOptions.refresh`), and keeps its session
257
+ * pins, used marks, health and token entries, session request counts and
258
+ * toast state at its new index. A row with a new key, a replaced
259
+ * credential included, is a new member that inherits nothing, even at the
260
+ * position its predecessor held. A row whose key is missing leaves: its
261
+ * pins and marks are dropped, a pool-wide selection on it falls back to
262
+ * `options.selectionFallback`, and any later transition about its object
263
+ * is ignored rather than applied to the row now at its old index. A row
264
+ * whose key is `undefined` is never matched. Round-robin cursors are
265
+ * counters and are kept.
266
+ */
267
+ replaceAccounts(next: readonly A[], options: ReplaceAccountsOptions<A>): AccountsReplaced<A>;
268
+ /**
269
+ * Removes one row. Rows after it move up one place, and their pins, used
270
+ * marks, trackers and counts move with them; the removed row's are
271
+ * dropped. A pool-wide selection on the removed row passes to the row
272
+ * that takes its place, and round-robin cursors past it step back one,
273
+ * as the pool-file manager always did. False when `row` is not loaded.
274
+ */
275
+ removeAccount(row: A): boolean;
276
+ /**
277
+ * The shared part of every membership change: matches `next` to the
278
+ * current rows by key, then moves all index-keyed state to the kept rows'
279
+ * new indexes and drops the state of rows that left. `fallback` gives the
280
+ * pool-wide selection of a family whose selected row left.
281
+ */
282
+ private reconcile;
283
+ /**
284
+ * Whether `row` is still loaded. A transition about a row that left is
285
+ * reported as ignored and must not be applied through its old index,
286
+ * which may now name another row.
287
+ */
288
+ private isLoaded;
289
+ getAccountCount(): number;
290
+ getTotalAccountCount(): number;
291
+ getEnabledAccounts(): A[];
292
+ getAccounts(): A[];
293
+ /**
294
+ * Copies of the rows with their own rate-limit maps. Every field of a row
295
+ * is copied, so this suits rows without credentials; a pool whose rows
296
+ * carry credentials (the local `AccountManager`) takes its own snapshot.
297
+ */
298
+ getAccountsSnapshot(): A[];
299
+ private getEffectiveSoftQuotaThreshold;
300
+ private getRequestSessionState;
301
+ private pruneRequestSessionStates;
302
+ private getActiveIndex;
303
+ private setActiveIndex;
304
+ /** Sets the pool-wide selection of a family; a change is reported. */
305
+ private setGlobalActiveIndex;
306
+ private getCursor;
307
+ private advanceCursor;
308
+ private getUsedAccounts;
309
+ private preferAccountOutsideParent;
310
+ deleteSessionState(sessionId: string): void;
311
+ getCurrentAccountForFamily(family: ModelFamily, identity?: AccountSessionIdentity): A | null;
312
+ /**
313
+ * Numeric active indexes for each model family. Exposed so callers
314
+ * that persist `activeIndexByFamily` (e.g. command-data's remove
315
+ * path) can capture the live cursor per family without going
316
+ * through the account-lookup layer.
317
+ */
318
+ getActiveIndexByFamily(identity?: AccountSessionIdentity): Record<ModelFamily, number>;
319
+ markSwitched(account: A, reason: LastSwitchReason, family: ModelFamily, identity?: AccountSessionIdentity): void;
320
+ /**
321
+ * Check if we should show an account switch toast.
322
+ * Debounces repeated toasts for the same account.
323
+ */
324
+ shouldShowAccountToast(accountIndex: number, debounceMs?: number): boolean;
325
+ markToastShown(accountIndex: number): void;
326
+ getCurrentOrNextForFamily(family: ModelFamily, model?: string | null, strategy?: AccountSelectionStrategy, headerStyle?: HeaderStyle, pidOffsetEnabled?: boolean, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number, identity?: AccountSessionIdentity,
327
+ /**
328
+ * Account indexes the caller has ruled out (e.g. the operator
329
+ * killswitch pre-filter). Every selection path — pinned session,
330
+ * round-robin, hybrid, and sticky fallback — skips these indexes
331
+ * so a killed current account falls through to the next eligible
332
+ * account instead of collapsing the request into the rate-limit
333
+ * wait path.
334
+ */
335
+ excludeIndexes?: Set<number>): A | null;
336
+ getNextForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number, identity?: AccountSessionIdentity,
337
+ /** Indexes ruled out by the caller (e.g. killswitch pre-filter). */
338
+ excludeIndexes?: Set<number>): A | null;
339
+ markRateLimited(account: A, retryAfterMs: number, family: ModelFamily, headerStyle?: HeaderStyle, model?: string | null): void;
340
+ private setRateLimit;
341
+ private clearRateLimit;
342
+ private touchLastUsed;
343
+ /**
344
+ * Mark an account as used after a successful API request.
345
+ * This updates the lastUsed timestamp for freshness calculations.
346
+ * Should be called AFTER request completion, not during account selection.
347
+ */
348
+ markAccountUsed(accountIndex: number): void;
349
+ recordSessionUsage(accountIndex: number, identity?: AccountSessionIdentity): void;
350
+ wasUsedInSession(accountIndex: number, identity?: AccountSessionIdentity): boolean;
351
+ shouldProactivelyRotate(family: ModelFamily, model: string | null | undefined, thresholdPercent: number, cacheTtlMs: number, identity?: AccountSessionIdentity): boolean;
352
+ proactivelyRotateForFamily(family: ModelFamily, model: string | null | undefined, headerStyle: HeaderStyle, softQuotaThresholdPercent: number, softQuotaCacheTtlMs: number, identity?: AccountSessionIdentity): A | null;
353
+ markRateLimitedWithReason(account: A, family: ModelFamily, headerStyle: HeaderStyle, model: string | null | undefined, reason: RateLimitReason, retryAfterMs?: number | null, failureTtlMs?: number): number;
354
+ markRequestSuccess(account: A): void;
355
+ clearAllRateLimitsForFamily(family: ModelFamily, model?: string | null): void;
356
+ shouldTryOptimisticReset(family: ModelFamily, model?: string | null): boolean;
357
+ markAccountCoolingDown(account: A, cooldownMs: number, reason: CooldownReason): void;
358
+ isAccountCoolingDown(account: A): boolean;
359
+ clearAccountCooldown(account: A): void;
360
+ getAccountCooldownReason(account: A): CooldownReason | undefined;
361
+ markTouchedForQuota(account: A, quotaKey: string): void;
362
+ isFreshForQuota(account: A, quotaKey: string): boolean;
363
+ getFreshAccountsForQuota(quotaKey: string, family: ModelFamily, model?: string | null): A[];
364
+ isRateLimitedForHeaderStyle(account: A, family: ModelFamily, headerStyle: HeaderStyle, model?: string | null): boolean;
365
+ getAvailableHeaderStyle(account: A, family: ModelFamily, model?: string | null): HeaderStyle | null;
366
+ /**
367
+ * Check if any OTHER account has antigravity quota available for the given family/model.
368
+ *
369
+ * Used to determine whether to switch accounts vs fall back to gemini-cli:
370
+ * - If true: Switch to another account (preserve antigravity priority)
371
+ * - If false: All accounts exhausted antigravity, safe to fall back to gemini-cli
372
+ *
373
+ * @param currentAccountIndex - Index of the current account (will be excluded from check)
374
+ * @param family - Model family ("gemini" or "claude")
375
+ * @param model - Optional model name for model-specific rate limits
376
+ * @returns true if any other enabled, non-cooling-down account has antigravity available
377
+ */
378
+ hasOtherAccountWithAntigravityAvailable(currentAccountIndex: number, family: ModelFamily, model?: string | null): boolean;
379
+ setAccountEnabled(accountIndex: number, enabled: boolean): boolean;
380
+ /** Changes the in-memory flag and moves a selection off a disabled account. */
381
+ private applyEnabled;
382
+ /**
383
+ * Sets `row`'s enabled flag without reporting it, as when its store
384
+ * already changed the flag, and moves a selection off it when it is
385
+ * disabled. A row that left the pool changes only its own flag, never the
386
+ * row now at its old index.
387
+ */
388
+ setEnabledInMemory(row: A, enabled: boolean): void;
389
+ markAccountVerificationRequired(accountIndex: number, reason?: string, verifyUrl?: string): boolean;
390
+ markAccountIneligible(accountIndex: number, reason?: string): boolean;
391
+ clearAccountAccessBlocks(accountIndex: number, enableAccount?: boolean): boolean;
392
+ getMinWaitTimeForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, strict?: boolean): number;
393
+ /**
394
+ * Regenerate fingerprint for an account, saving the old one to history.
395
+ * @param accountIndex - Index of the account to regenerate fingerprint for
396
+ * @returns The new fingerprint, or null if account not found
397
+ */
398
+ regenerateAccountFingerprint(accountIndex: number): Fingerprint | null;
399
+ /**
400
+ * Restore a fingerprint from history for an account.
401
+ * @param accountIndex - Index of the account
402
+ * @param historyIndex - Index in the fingerprint history to restore from (0 = most recent)
403
+ * @returns The restored fingerprint, or null if account/history not found
404
+ */
405
+ restoreAccountFingerprint(accountIndex: number, historyIndex: number): Fingerprint | null;
406
+ /**
407
+ * Get fingerprint history for an account.
408
+ * @param accountIndex - Index of the account
409
+ * @returns Array of fingerprint versions, or empty array if not found
410
+ */
411
+ getAccountFingerprintHistory(accountIndex: number): FingerprintVersion[];
412
+ /**
413
+ * Record a successful API request for an account.
414
+ * Tracks per model family with daily reset.
415
+ */
416
+ recordRequest(accountIndex: number, family: ModelFamily): void;
417
+ /**
418
+ * Get request counts for an account for today.
419
+ */
420
+ getDailyRequestCounts(accountIndex: number): {
421
+ date: string;
422
+ claude: number;
423
+ gemini: number;
424
+ } | null;
425
+ /**
426
+ * Get total daily request counts across all accounts for a model family.
427
+ */
428
+ getTotalDailyRequests(family: ModelFamily): number;
429
+ /**
430
+ * Get a summary of daily request distribution across accounts.
431
+ * Returns accounts sorted by request count (descending).
432
+ */
433
+ getDailyRequestSummary(family: ModelFamily): Array<{
434
+ index: number;
435
+ email?: string;
436
+ count: number;
437
+ }>;
438
+ /**
439
+ * Record a request for the current session (in-memory only).
440
+ */
441
+ recordSessionRequest(accountIndex: number, family: ModelFamily): void;
442
+ /**
443
+ * Get a summary of the current session's request usage.
444
+ */
445
+ getSessionSummary(): {
446
+ durationMinutes: number;
447
+ totalClaude: number;
448
+ totalGemini: number;
449
+ requestsPerHour: number;
450
+ accountsUsed: number;
451
+ perAccount: Array<{
452
+ index: number;
453
+ email?: string;
454
+ claude: number;
455
+ gemini: number;
456
+ }>;
457
+ };
458
+ isAccountOverSoftQuota(account: A, family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
459
+ getOldestQuotaCacheAge(): number | null;
460
+ areAllAccountsOverSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
461
+ /**
462
+ * Get minimum wait time until any account's soft quota resets.
463
+ * Returns 0 if any account is available (not over threshold).
464
+ * Returns the minimum resetTime across all over-threshold accounts.
465
+ * Returns null if no resetTime data is available.
466
+ */
467
+ getMinWaitTimeForSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): number | null;
468
+ }
469
+ export {};
470
+ //# sourceMappingURL=account-selector.d.ts.map