oc-codex-multi-auth 6.19.0 → 6.20.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.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +180 -79
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts/persistence.d.ts +22 -0
- package/dist/lib/accounts/persistence.d.ts.map +1 -1
- package/dist/lib/accounts/persistence.js +79 -0
- package/dist/lib/accounts/persistence.js.map +1 -1
- package/dist/lib/accounts/rate-limits.d.ts +22 -0
- package/dist/lib/accounts/rate-limits.d.ts.map +1 -1
- package/dist/lib/accounts/rate-limits.js +25 -0
- package/dist/lib/accounts/rate-limits.js.map +1 -1
- package/dist/lib/accounts/rotation.d.ts +22 -23
- package/dist/lib/accounts/rotation.d.ts.map +1 -1
- package/dist/lib/accounts/rotation.js +62 -37
- package/dist/lib/accounts/rotation.js.map +1 -1
- package/dist/lib/accounts/stale-state.d.ts +31 -0
- package/dist/lib/accounts/stale-state.d.ts.map +1 -1
- package/dist/lib/accounts/stale-state.js +56 -1
- package/dist/lib/accounts/stale-state.js.map +1 -1
- package/dist/lib/accounts/state.d.ts +6 -0
- package/dist/lib/accounts/state.d.ts.map +1 -1
- package/dist/lib/accounts/state.js +15 -1
- package/dist/lib/accounts/state.js.map +1 -1
- package/dist/lib/auth/login-runner.d.ts +3 -0
- package/dist/lib/auth/login-runner.d.ts.map +1 -1
- package/dist/lib/auth/login-runner.js +35 -0
- package/dist/lib/auth/login-runner.js.map +1 -1
- package/dist/lib/codex-usage.d.ts +13 -5
- package/dist/lib/codex-usage.d.ts.map +1 -1
- package/dist/lib/codex-usage.js +33 -21
- package/dist/lib/codex-usage.js.map +1 -1
- package/dist/lib/parallel-probe.d.ts.map +1 -1
- package/dist/lib/parallel-probe.js +4 -2
- package/dist/lib/parallel-probe.js.map +1 -1
- package/dist/lib/request/fetch-helpers.d.ts +24 -0
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +66 -20
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/schemas.d.ts +9 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +3 -0
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/storage/flagged.d.ts.map +1 -1
- package/dist/lib/storage/flagged.js +5 -0
- package/dist/lib/storage/flagged.js.map +1 -1
- package/dist/lib/storage/migrations.d.ts +21 -0
- package/dist/lib/storage/migrations.d.ts.map +1 -1
- package/dist/lib/storage/migrations.js.map +1 -1
- package/dist/lib/storage/normalize.d.ts.map +1 -1
- package/dist/lib/storage/normalize.js +57 -1
- package/dist/lib/storage/normalize.js.map +1 -1
- package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
- package/dist/lib/tools/codex-doctor.js +8 -66
- package/dist/lib/tools/codex-doctor.js.map +1 -1
- package/dist/lib/tools/codex-health.d.ts.map +1 -1
- package/dist/lib/tools/codex-health.js +7 -1
- package/dist/lib/tools/codex-health.js.map +1 -1
- package/dist/lib/tools/codex-list.d.ts.map +1 -1
- package/dist/lib/tools/codex-list.js +14 -1
- package/dist/lib/tools/codex-list.js.map +1 -1
- package/dist/lib/tools/codex-status.d.ts.map +1 -1
- package/dist/lib/tools/codex-status.js +6 -1
- package/dist/lib/tools/codex-status.js.map +1 -1
- package/dist/lib/tools/doctor-repair.d.ts +10 -0
- package/dist/lib/tools/doctor-repair.d.ts.map +1 -0
- package/dist/lib/tools/doctor-repair.js +86 -0
- package/dist/lib/tools/doctor-repair.js.map +1 -0
- package/dist/lib/tools/index.d.ts +3 -0
- package/dist/lib/tools/index.d.ts.map +1 -1
- package/dist/lib/tools/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/install-oc-codex-multi-auth-core.js +133 -6
|
@@ -67,6 +67,9 @@ export class AccountPersistence {
|
|
|
67
67
|
rateLimitResetTimes: Object.keys(account.rateLimitResetTimes).length > 0
|
|
68
68
|
? { ...account.rateLimitResetTimes }
|
|
69
69
|
: undefined,
|
|
70
|
+
quotaExhaustedUntil: account.quotaExhaustedUntil,
|
|
71
|
+
quotaExhaustedStampAt: account.quotaExhaustedStampAt,
|
|
72
|
+
quotaExhaustedClearedAt: account.quotaExhaustedClearedAt,
|
|
70
73
|
coolingDownUntil: account.coolingDownUntil,
|
|
71
74
|
cooldownReason: account.cooldownReason,
|
|
72
75
|
})),
|
|
@@ -98,6 +101,7 @@ export class AccountPersistence {
|
|
|
98
101
|
// ids the refresh token participates in the identity key, and
|
|
99
102
|
// adopting a rotated token would change which disk record this
|
|
100
103
|
// account matches.
|
|
104
|
+
this.applyDiskQuotaClearTombstones(storage, current);
|
|
101
105
|
this.adoptLongerDiskRateLimits(storage, current);
|
|
102
106
|
this.adoptNewerDiskCredentials(storage, current);
|
|
103
107
|
}
|
|
@@ -152,6 +156,23 @@ export class AccountPersistence {
|
|
|
152
156
|
merged.coolingDownUntil = mine.coolingDownUntil;
|
|
153
157
|
merged.cooldownReason = mine.cooldownReason;
|
|
154
158
|
}
|
|
159
|
+
// Account-wide quota exhaustion is monotonic like the per-family
|
|
160
|
+
// blocks: keep whichever side's stamp runs longer. A doctor-clear
|
|
161
|
+
// tombstone on the disk record outranks a snapshot stamp that was
|
|
162
|
+
// not written after the clear (see applyDiskQuotaClearTombstones);
|
|
163
|
+
// a stamp that IS newer displaces the tombstone.
|
|
164
|
+
const diskClearedAt = record.quotaExhaustedClearedAt;
|
|
165
|
+
const mineStampIsNewerThanClear = typeof diskClearedAt !== "number" ||
|
|
166
|
+
(typeof mine.quotaExhaustedStampAt === "number" &&
|
|
167
|
+
mine.quotaExhaustedStampAt > diskClearedAt);
|
|
168
|
+
if (typeof mine.quotaExhaustedUntil === "number" &&
|
|
169
|
+
mine.quotaExhaustedUntil > now &&
|
|
170
|
+
mine.quotaExhaustedUntil > (record.quotaExhaustedUntil ?? 0) &&
|
|
171
|
+
mineStampIsNewerThanClear) {
|
|
172
|
+
merged.quotaExhaustedUntil = mine.quotaExhaustedUntil;
|
|
173
|
+
merged.quotaExhaustedStampAt = mine.quotaExhaustedStampAt;
|
|
174
|
+
delete merged.quotaExhaustedClearedAt;
|
|
175
|
+
}
|
|
155
176
|
if (typeof mine.lastUsed === "number" && mine.lastUsed > (record.lastUsed ?? 0)) {
|
|
156
177
|
merged.lastUsed = mine.lastUsed;
|
|
157
178
|
merged.lastSwitchReason = mine.lastSwitchReason ?? record.lastSwitchReason;
|
|
@@ -160,6 +181,49 @@ export class AccountPersistence {
|
|
|
160
181
|
}),
|
|
161
182
|
};
|
|
162
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Keep a `codex-doctor --fix` quota-stamp clear that landed on disk after
|
|
186
|
+
* this process loaded its snapshot.
|
|
187
|
+
*
|
|
188
|
+
* The #218 monotonic merge is one-directional by design: it adopts longer
|
|
189
|
+
* stamps so a stale process cannot wipe out a fresh week-long block, but
|
|
190
|
+
* that same direction resurrects a stamp a doctor verification just
|
|
191
|
+
* cleared — this process still holds the stamp in memory and writes it
|
|
192
|
+
* back verbatim on its next save. The doctor clear cannot distinguish
|
|
193
|
+
* "stale snapshot" from "new evidence" through values alone, so it dates
|
|
194
|
+
* its clear (`quotaExhaustedClearedAt`) and every authoritative stamp
|
|
195
|
+
* write dates itself (`quotaExhaustedStampAt`). A stamp at least as old
|
|
196
|
+
* as the clear stays cleared; a newer stamp (real 429/poller evidence
|
|
197
|
+
* recorded after the clear) wins and is kept.
|
|
198
|
+
*
|
|
199
|
+
* Stamps without provenance (`quotaExhaustedStampAt` undefined — written
|
|
200
|
+
* by pre-upgrade builds or hand-edited files) are treated as predating
|
|
201
|
+
* the clear, so the tombstone stays effective across mixed-version pools.
|
|
202
|
+
* The cost of a wrongly-suppressed legacy stamp is one upstream 429 that
|
|
203
|
+
* immediately re-stamps the account.
|
|
204
|
+
*/
|
|
205
|
+
applyDiskQuotaClearTombstones(outgoing, disk) {
|
|
206
|
+
const diskByIdentity = new Map();
|
|
207
|
+
for (const record of disk.accounts) {
|
|
208
|
+
diskByIdentity.set(getWorkspaceIdentityKey(record), record);
|
|
209
|
+
}
|
|
210
|
+
for (const mine of outgoing.accounts) {
|
|
211
|
+
if (!mine)
|
|
212
|
+
continue;
|
|
213
|
+
const theirs = diskByIdentity.get(getWorkspaceIdentityKey(mine));
|
|
214
|
+
const clearedAt = theirs?.quotaExhaustedClearedAt;
|
|
215
|
+
if (typeof clearedAt !== "number" ||
|
|
216
|
+
!Number.isFinite(clearedAt) ||
|
|
217
|
+
mine.quotaExhaustedUntil === undefined) {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
if ((mine.quotaExhaustedStampAt ?? 0) > clearedAt)
|
|
221
|
+
continue;
|
|
222
|
+
delete mine.quotaExhaustedUntil;
|
|
223
|
+
delete mine.quotaExhaustedStampAt;
|
|
224
|
+
mine.quotaExhaustedClearedAt = clearedAt;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
163
227
|
/**
|
|
164
228
|
* Merges still-active rate-limit blocks from `disk` into `outgoing`, keeping
|
|
165
229
|
* whichever block runs longer per quota key.
|
|
@@ -190,6 +254,21 @@ export class AccountPersistence {
|
|
|
190
254
|
if (!mine)
|
|
191
255
|
continue;
|
|
192
256
|
const theirs = diskByIdentity.get(getWorkspaceIdentityKey(mine));
|
|
257
|
+
// Adopt a longer on-disk quota-exhaustion stamp for the same reason the
|
|
258
|
+
// per-family blocks below are adopted (#218): a second process may have
|
|
259
|
+
// recorded a week-long block after this one loaded. Handled before the
|
|
260
|
+
// `theirResets` guard so a disk record carrying only a quota stamp is
|
|
261
|
+
// not skipped. The stamp's provenance travels with it, and a freshly
|
|
262
|
+
// adopted stamp displaces any tombstone (stamp writers never set both).
|
|
263
|
+
const theirQuota = theirs?.quotaExhaustedUntil;
|
|
264
|
+
if (typeof theirQuota === "number" &&
|
|
265
|
+
Number.isFinite(theirQuota) &&
|
|
266
|
+
theirQuota > now &&
|
|
267
|
+
theirQuota > (mine.quotaExhaustedUntil ?? 0)) {
|
|
268
|
+
mine.quotaExhaustedUntil = theirQuota;
|
|
269
|
+
mine.quotaExhaustedStampAt = theirs?.quotaExhaustedStampAt;
|
|
270
|
+
delete mine.quotaExhaustedClearedAt;
|
|
271
|
+
}
|
|
193
272
|
const theirResets = theirs?.rateLimitResetTimes;
|
|
194
273
|
if (!theirResets)
|
|
195
274
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../lib/accounts/persistence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../lib/accounts/persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,28 @@ export interface RateLimitedEntity {
|
|
|
16
16
|
rateLimitResetTimes: RateLimitState;
|
|
17
17
|
}
|
|
18
18
|
export declare function clearExpiredRateLimits(entity: RateLimitedEntity): void;
|
|
19
|
+
export interface QuotaExhaustibleEntity {
|
|
20
|
+
/** Ms epoch until which this account's shared subscription quota is spent. */
|
|
21
|
+
quotaExhaustedUntil?: number;
|
|
22
|
+
/** When the stamp was written; see AccountMetadataV3. */
|
|
23
|
+
quotaExhaustedStampAt?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Whether an account's shared subscription quota is currently spent.
|
|
27
|
+
*
|
|
28
|
+
* This is an ACCOUNT-WIDE block sourced from the `/wham/usage`
|
|
29
|
+
* primary/secondary window, deliberately distinct from the per-family /
|
|
30
|
+
* per-model transient blocks tracked in {@link RateLimitState}. Read sites
|
|
31
|
+
* report it separately so a 30-second 429 is never conflated with a week-long
|
|
32
|
+
* subscription-quota exhaustion.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isQuotaExhausted(entity: QuotaExhaustibleEntity, now?: number): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Drop an elapsed (or non-finite) quota-exhaustion stamp so it does not leak
|
|
37
|
+
* into snapshots or persistence, mirroring {@link clearExpiredRateLimits} for
|
|
38
|
+
* the per-family map.
|
|
39
|
+
*/
|
|
40
|
+
export declare function clearExpiredQuotaExhaustion(entity: QuotaExhaustibleEntity, now?: number): void;
|
|
19
41
|
export declare function isRateLimitedForQuotaKey(entity: RateLimitedEntity, key: QuotaKey): boolean;
|
|
20
42
|
export declare function isRateLimitedForFamily(entity: RateLimitedEntity, family: ModelFamily, model?: string | null): boolean;
|
|
21
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limits.d.ts","sourceRoot":"","sources":["../../../lib/accounts/rate-limits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AACvC,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAO9E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAKhF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED,MAAM,WAAW,cAAc;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,mBAAmB,EAAE,cAAc,CAAC;CACpC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAStE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAG1F;AAED,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,WAAW,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAYT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUjD"}
|
|
1
|
+
{"version":3,"file":"rate-limits.d.ts","sourceRoot":"","sources":["../../../lib/accounts/rate-limits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AACvC,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC;AAElE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAO9E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAKhF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK5E;AAED,MAAM,WAAW,cAAc;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,mBAAmB,EAAE,cAAc,CAAC;CACpC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAStE;AAED,MAAM,WAAW,sBAAsB;IACtC,8EAA8E;IAC9E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,sBAAsB,EAC9B,GAAG,GAAE,MAAgB,GACnB,OAAO,CAGT;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,sBAAsB,EAC9B,GAAG,GAAE,MAAgB,GACnB,IAAI,CAMN;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAG1F;AAED,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,WAAW,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GACnB,OAAO,CAYT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAUjD"}
|
|
@@ -37,6 +37,31 @@ export function clearExpiredRateLimits(entity) {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Whether an account's shared subscription quota is currently spent.
|
|
42
|
+
*
|
|
43
|
+
* This is an ACCOUNT-WIDE block sourced from the `/wham/usage`
|
|
44
|
+
* primary/secondary window, deliberately distinct from the per-family /
|
|
45
|
+
* per-model transient blocks tracked in {@link RateLimitState}. Read sites
|
|
46
|
+
* report it separately so a 30-second 429 is never conflated with a week-long
|
|
47
|
+
* subscription-quota exhaustion.
|
|
48
|
+
*/
|
|
49
|
+
export function isQuotaExhausted(entity, now = nowMs()) {
|
|
50
|
+
const until = entity.quotaExhaustedUntil;
|
|
51
|
+
return typeof until === "number" && Number.isFinite(until) && now < until;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Drop an elapsed (or non-finite) quota-exhaustion stamp so it does not leak
|
|
55
|
+
* into snapshots or persistence, mirroring {@link clearExpiredRateLimits} for
|
|
56
|
+
* the per-family map.
|
|
57
|
+
*/
|
|
58
|
+
export function clearExpiredQuotaExhaustion(entity, now = nowMs()) {
|
|
59
|
+
const until = entity.quotaExhaustedUntil;
|
|
60
|
+
if (until !== undefined && (!Number.isFinite(until) || now >= until)) {
|
|
61
|
+
delete entity.quotaExhaustedUntil;
|
|
62
|
+
delete entity.quotaExhaustedStampAt;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
40
65
|
export function isRateLimitedForQuotaKey(entity, key) {
|
|
41
66
|
const resetTime = entity.rateLimitResetTimes[key];
|
|
42
67
|
return resetTime !== undefined && nowMs() < resetTime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limits.js","sourceRoot":"","sources":["../../../lib/accounts/rate-limits.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rate-limits.js","sourceRoot":"","sources":["../../../lib/accounts/rate-limits.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,16 +35,25 @@ export declare class AccountRotation {
|
|
|
35
35
|
* Health/token/freshness-weighted selection. The historical default.
|
|
36
36
|
*
|
|
37
37
|
* When at least one account is selectable this returns the best-scoring one.
|
|
38
|
-
* When NONE is — every account disabled, rate-limited or
|
|
39
|
-
* `selectHybridAccount` deliberately falls back to the
|
|
40
|
-
* account instead of returning null, because retrying a
|
|
41
|
-
* beats refusing to send anything (a single-account pool has
|
|
42
|
-
* over to, and a persisted block can outlive the limit that
|
|
38
|
+
* When NONE is — every account disabled, rate-limited, quota-exhausted or
|
|
39
|
+
* cooling down — `selectHybridAccount` deliberately falls back to the
|
|
40
|
+
* least-recently-used account instead of returning null, because retrying a
|
|
41
|
+
* blocked account beats refusing to send anything (a single-account pool has
|
|
42
|
+
* nowhere to fail over to, and a persisted block can outlive the limit that
|
|
43
|
+
* caused it).
|
|
43
44
|
*
|
|
44
45
|
* So a returned account is NOT a promise that it is selectable. Callers that
|
|
45
46
|
* need that guarantee must consult `getSelectionExplainability`, which is
|
|
46
47
|
* what `codex-doctor` does. {@link getCurrentOrNextForFamilySticky} and
|
|
47
48
|
* {@link getCurrentOrNextForFamily} return null in the same situation.
|
|
49
|
+
*
|
|
50
|
+
* The request path overrides this last-resort behavior: when the fallback
|
|
51
|
+
* account is marked ineligible in the selection explainability, the request
|
|
52
|
+
* loop discards it instead of sending it upstream, so an all-blocked pool
|
|
53
|
+
* waits out (or fails on) the block rather than retrying it — which is also
|
|
54
|
+
* what allows model fallback to degrade the model when every account is
|
|
55
|
+
* blocked. The last-resort retry still applies to callers that do not
|
|
56
|
+
* re-check eligibility (for example `codex-doctor` probing).
|
|
48
57
|
*/
|
|
49
58
|
getCurrentOrNextForFamilyHybrid(family: ModelFamily, model?: string | null, options?: HybridSelectionOptions, preferredAccountIds?: readonly string[], strictPreferredPool?: boolean, excludedIndices?: ReadonlySet<number>): ManagedAccount | null;
|
|
50
59
|
/**
|
|
@@ -106,27 +115,17 @@ export declare class AccountRotation {
|
|
|
106
115
|
* Block an account until a quota window the backend reported as fully spent
|
|
107
116
|
* resets (issue #218).
|
|
108
117
|
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
* 429s, so it survives restarts and is shared with other processes through
|
|
117
|
-
* the accounts file, and it expires on its own via `clearExpiredRateLimits`.
|
|
118
|
-
*
|
|
119
|
-
* Because that write is monotonic and persisted, it is also unforgiving: a
|
|
120
|
-
* reset stamp further out than any real window would strand the account for
|
|
121
|
-
* as long as it claims, with nothing in the product able to walk it back. The
|
|
122
|
-
* upper bound below is the same guard `parseQuotaResetAtMs` applies to the
|
|
123
|
-
* headers, repeated here because this is the method that makes a block
|
|
124
|
-
* permanent — the lower bound on the next line has always been checked for
|
|
125
|
-
* the same reason.
|
|
118
|
+
* Primary/secondary subscription windows are account-wide, irrespective of
|
|
119
|
+
* the request's family/model. Keep their absolute reset monotonically in
|
|
120
|
+
* `quotaExhaustedUntil`, persisted separately from transient server 429s and
|
|
121
|
+
* expired by `clearExpiredQuotaExhaustion`. Legacy family/model arguments
|
|
122
|
+
* remain accepted, but cannot narrow the subscription block's scope.
|
|
123
|
+
* Reject implausible timestamps using the parser's horizon guard so a bad
|
|
124
|
+
* header cannot strand an account indefinitely.
|
|
126
125
|
*
|
|
127
126
|
* @returns true when a new (or longer) block was written.
|
|
128
127
|
*/
|
|
129
|
-
markQuotaExhausted(account: ManagedAccount, resetAtMs: number,
|
|
128
|
+
markQuotaExhausted(account: ManagedAccount, resetAtMs: number, _family: ModelFamily, _model?: string | null): boolean;
|
|
130
129
|
markAccountCoolingDown(account: ManagedAccount, cooldownMs: number, reason: CooldownReason): void;
|
|
131
130
|
/**
|
|
132
131
|
* Mark every in-memory account sharing a refresh token as cooling down.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../../../lib/accounts/rotation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAKN,KAAK,sBAAsB,EAC3B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,
|
|
1
|
+
{"version":3,"file":"rotation.d.ts","sourceRoot":"","sources":["../../../lib/accounts/rotation.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { getHealthTracker, getTokenTracker, selectHybridAccount, } from "../rota
|
|
|
10
10
|
import { matchesModelPoolAccountKey } from "./pool-identity.js";
|
|
11
11
|
import { MAX_QUOTA_RESET_HORIZON_MS } from "../quota-windows.js";
|
|
12
12
|
import { nowMs } from "../utils.js";
|
|
13
|
-
import { clearExpiredRateLimits, getQuotaKey, isRateLimitedForFamily, } from "./rate-limits.js";
|
|
13
|
+
import { clearExpiredQuotaExhaustion, clearExpiredRateLimits, getQuotaKey, isQuotaExhausted, isRateLimitedForFamily, } from "./rate-limits.js";
|
|
14
14
|
export class AccountRotation {
|
|
15
15
|
state;
|
|
16
16
|
constructor(state) {
|
|
@@ -32,6 +32,9 @@ export class AccountRotation {
|
|
|
32
32
|
if (account.enabled === false)
|
|
33
33
|
return false;
|
|
34
34
|
clearExpiredRateLimits(account);
|
|
35
|
+
clearExpiredQuotaExhaustion(account);
|
|
36
|
+
if (isQuotaExhausted(account))
|
|
37
|
+
return false;
|
|
35
38
|
if (isRateLimitedForFamily(account, family, model))
|
|
36
39
|
return false;
|
|
37
40
|
if (this.state.isAccountCoolingDown(account))
|
|
@@ -103,16 +106,25 @@ export class AccountRotation {
|
|
|
103
106
|
* Health/token/freshness-weighted selection. The historical default.
|
|
104
107
|
*
|
|
105
108
|
* When at least one account is selectable this returns the best-scoring one.
|
|
106
|
-
* When NONE is — every account disabled, rate-limited or
|
|
107
|
-
* `selectHybridAccount` deliberately falls back to the
|
|
108
|
-
* account instead of returning null, because retrying a
|
|
109
|
-
* beats refusing to send anything (a single-account pool has
|
|
110
|
-
* over to, and a persisted block can outlive the limit that
|
|
109
|
+
* When NONE is — every account disabled, rate-limited, quota-exhausted or
|
|
110
|
+
* cooling down — `selectHybridAccount` deliberately falls back to the
|
|
111
|
+
* least-recently-used account instead of returning null, because retrying a
|
|
112
|
+
* blocked account beats refusing to send anything (a single-account pool has
|
|
113
|
+
* nowhere to fail over to, and a persisted block can outlive the limit that
|
|
114
|
+
* caused it).
|
|
111
115
|
*
|
|
112
116
|
* So a returned account is NOT a promise that it is selectable. Callers that
|
|
113
117
|
* need that guarantee must consult `getSelectionExplainability`, which is
|
|
114
118
|
* what `codex-doctor` does. {@link getCurrentOrNextForFamilySticky} and
|
|
115
119
|
* {@link getCurrentOrNextForFamily} return null in the same situation.
|
|
120
|
+
*
|
|
121
|
+
* The request path overrides this last-resort behavior: when the fallback
|
|
122
|
+
* account is marked ineligible in the selection explainability, the request
|
|
123
|
+
* loop discards it instead of sending it upstream, so an all-blocked pool
|
|
124
|
+
* waits out (or fails on) the block rather than retrying it — which is also
|
|
125
|
+
* what allows model fallback to degrade the model when every account is
|
|
126
|
+
* blocked. The last-resort retry still applies to callers that do not
|
|
127
|
+
* re-check eligibility (for example `codex-doctor` probing).
|
|
116
128
|
*/
|
|
117
129
|
getCurrentOrNextForFamilyHybrid(family, model, options, preferredAccountIds, strictPreferredPool = false, excludedIndices) {
|
|
118
130
|
const count = this.state.accounts.length;
|
|
@@ -316,27 +328,17 @@ export class AccountRotation {
|
|
|
316
328
|
* Block an account until a quota window the backend reported as fully spent
|
|
317
329
|
* resets (issue #218).
|
|
318
330
|
*
|
|
319
|
-
*
|
|
320
|
-
*
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
* 429s, so it survives restarts and is shared with other processes through
|
|
327
|
-
* the accounts file, and it expires on its own via `clearExpiredRateLimits`.
|
|
328
|
-
*
|
|
329
|
-
* Because that write is monotonic and persisted, it is also unforgiving: a
|
|
330
|
-
* reset stamp further out than any real window would strand the account for
|
|
331
|
-
* as long as it claims, with nothing in the product able to walk it back. The
|
|
332
|
-
* upper bound below is the same guard `parseQuotaResetAtMs` applies to the
|
|
333
|
-
* headers, repeated here because this is the method that makes a block
|
|
334
|
-
* permanent — the lower bound on the next line has always been checked for
|
|
335
|
-
* the same reason.
|
|
331
|
+
* Primary/secondary subscription windows are account-wide, irrespective of
|
|
332
|
+
* the request's family/model. Keep their absolute reset monotonically in
|
|
333
|
+
* `quotaExhaustedUntil`, persisted separately from transient server 429s and
|
|
334
|
+
* expired by `clearExpiredQuotaExhaustion`. Legacy family/model arguments
|
|
335
|
+
* remain accepted, but cannot narrow the subscription block's scope.
|
|
336
|
+
* Reject implausible timestamps using the parser's horizon guard so a bad
|
|
337
|
+
* header cannot strand an account indefinitely.
|
|
336
338
|
*
|
|
337
339
|
* @returns true when a new (or longer) block was written.
|
|
338
340
|
*/
|
|
339
|
-
markQuotaExhausted(account, resetAtMs,
|
|
341
|
+
markQuotaExhausted(account, resetAtMs, _family, _model) {
|
|
340
342
|
if (!Number.isFinite(resetAtMs))
|
|
341
343
|
return false;
|
|
342
344
|
const resetAt = Math.floor(resetAtMs);
|
|
@@ -345,14 +347,18 @@ export class AccountRotation {
|
|
|
345
347
|
return false;
|
|
346
348
|
if (resetAt - now > MAX_QUOTA_RESET_HORIZON_MS)
|
|
347
349
|
return false;
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
changed = true;
|
|
350
|
+
const existing = account.quotaExhaustedUntil;
|
|
351
|
+
if (typeof existing === "number" && Number.isFinite(existing) && existing >= resetAt) {
|
|
352
|
+
return false;
|
|
352
353
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
354
|
+
account.quotaExhaustedUntil = resetAt;
|
|
355
|
+
// Provenance for the cross-process merge: a stamp whose write time is
|
|
356
|
+
// not newer than a doctor-clear tombstone must not be resurrected by a
|
|
357
|
+
// stale-snapshot save. Every authoritative write re-dates the stamp.
|
|
358
|
+
account.quotaExhaustedStampAt = now;
|
|
359
|
+
delete account.quotaExhaustedClearedAt;
|
|
360
|
+
account.lastRateLimitReason = "quota";
|
|
361
|
+
return true;
|
|
356
362
|
}
|
|
357
363
|
markAccountCoolingDown(account, cooldownMs, reason) {
|
|
358
364
|
const ms = Math.max(0, Math.floor(cooldownMs));
|
|
@@ -388,24 +394,40 @@ export class AccountRotation {
|
|
|
388
394
|
return 0;
|
|
389
395
|
if (enabledAccounts.length === 0)
|
|
390
396
|
return 0;
|
|
391
|
-
|
|
397
|
+
// Per-account semantics: an account is unavailable until its LAST active
|
|
398
|
+
// block clears (max over its own blocks), and the pool recovers when the
|
|
399
|
+
// FIRST account becomes available (min across accounts). Flattening
|
|
400
|
+
// every block into one list and taking the global min underestimates:
|
|
401
|
+
// a legacy all-family weekly stamp (6d) plus a newer quota stamp (2h)
|
|
402
|
+
// on the same account used to promise a 2h wait while the account
|
|
403
|
+
// stayed blocked for 6 days, sending the wait loop back to sleep in a
|
|
404
|
+
// cycle until the longer block elapsed.
|
|
405
|
+
const accountWaits = [];
|
|
392
406
|
const baseKey = getQuotaKey(family);
|
|
393
407
|
const modelKey = model ? getQuotaKey(family, model) : null;
|
|
394
408
|
const tokenQuotaKey = model ? `${family}:${model}` : family;
|
|
395
409
|
const tokenTracker = getTokenTracker();
|
|
396
410
|
for (const account of enabledAccounts) {
|
|
411
|
+
const blocks = [];
|
|
397
412
|
const baseResetAt = account.rateLimitResetTimes[baseKey];
|
|
398
413
|
if (typeof baseResetAt === "number") {
|
|
399
|
-
|
|
414
|
+
blocks.push(Math.max(0, baseResetAt - now));
|
|
400
415
|
}
|
|
401
416
|
if (modelKey) {
|
|
402
417
|
const modelResetAt = account.rateLimitResetTimes[modelKey];
|
|
403
418
|
if (typeof modelResetAt === "number") {
|
|
404
|
-
|
|
419
|
+
blocks.push(Math.max(0, modelResetAt - now));
|
|
405
420
|
}
|
|
406
421
|
}
|
|
407
422
|
if (typeof account.coolingDownUntil === "number") {
|
|
408
|
-
|
|
423
|
+
blocks.push(Math.max(0, account.coolingDownUntil - now));
|
|
424
|
+
}
|
|
425
|
+
// An account whose shared subscription quota is spent is blocked
|
|
426
|
+
// account-wide until the stamp resets; surface that wait so a
|
|
427
|
+
// quota-exhausted-only pool waits instead of returning 0 (503).
|
|
428
|
+
if (typeof account.quotaExhaustedUntil === "number" &&
|
|
429
|
+
account.quotaExhaustedUntil > now) {
|
|
430
|
+
blocks.push(account.quotaExhaustedUntil - now);
|
|
409
431
|
}
|
|
410
432
|
// An account blocked only by a depleted local token bucket becomes
|
|
411
433
|
// available again after refill; include that wait so a fully
|
|
@@ -413,11 +435,14 @@ export class AccountRotation {
|
|
|
413
435
|
if (account.enabled !== false) {
|
|
414
436
|
const tokenWait = tokenTracker.msUntilToken(account.index, tokenQuotaKey);
|
|
415
437
|
if (tokenWait > 0 && Number.isFinite(tokenWait)) {
|
|
416
|
-
|
|
438
|
+
blocks.push(tokenWait);
|
|
417
439
|
}
|
|
418
440
|
}
|
|
441
|
+
if (blocks.length > 0) {
|
|
442
|
+
accountWaits.push(Math.max(...blocks));
|
|
443
|
+
}
|
|
419
444
|
}
|
|
420
|
-
return
|
|
445
|
+
return accountWaits.length > 0 ? Math.min(...accountWaits) : 0;
|
|
421
446
|
}
|
|
422
447
|
}
|
|
423
448
|
//# sourceMappingURL=rotation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotation.js","sourceRoot":"","sources":["../../../lib/accounts/rotation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rotation.js","sourceRoot":"","sources":["../../../lib/accounts/rotation.ts"],"names":[],"mappings":"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"}
|