opencode-openai-codex-multi-auth 4.5.5 → 4.5.9

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 (47) hide show
  1. package/README.md +10 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +356 -48
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/account-matching.d.ts.map +1 -1
  6. package/dist/lib/account-matching.js +3 -37
  7. package/dist/lib/account-matching.js.map +1 -1
  8. package/dist/lib/accounts.d.ts +22 -1
  9. package/dist/lib/accounts.d.ts.map +1 -1
  10. package/dist/lib/accounts.js +291 -56
  11. package/dist/lib/accounts.js.map +1 -1
  12. package/dist/lib/auth/auth.d.ts +5 -0
  13. package/dist/lib/auth/auth.d.ts.map +1 -1
  14. package/dist/lib/auth/auth.js +19 -1
  15. package/dist/lib/auth/auth.js.map +1 -1
  16. package/dist/lib/cli.d.ts +7 -1
  17. package/dist/lib/cli.d.ts.map +1 -1
  18. package/dist/lib/cli.js +57 -3
  19. package/dist/lib/cli.js.map +1 -1
  20. package/dist/lib/config.d.ts +8 -0
  21. package/dist/lib/config.d.ts.map +1 -1
  22. package/dist/lib/config.js +35 -0
  23. package/dist/lib/config.js.map +1 -1
  24. package/dist/lib/formatting.d.ts +9 -0
  25. package/dist/lib/formatting.d.ts.map +1 -0
  26. package/dist/lib/formatting.js +71 -0
  27. package/dist/lib/formatting.js.map +1 -0
  28. package/dist/lib/oauth-success.html +1 -1
  29. package/dist/lib/rate-limit.d.ts +36 -0
  30. package/dist/lib/rate-limit.d.ts.map +1 -0
  31. package/dist/lib/rate-limit.js +78 -0
  32. package/dist/lib/rate-limit.js.map +1 -0
  33. package/dist/lib/refresh-queue.d.ts +37 -0
  34. package/dist/lib/refresh-queue.d.ts.map +1 -0
  35. package/dist/lib/refresh-queue.js +83 -0
  36. package/dist/lib/refresh-queue.js.map +1 -0
  37. package/dist/lib/rotation.d.ts +1 -1
  38. package/dist/lib/rotation.d.ts.map +1 -1
  39. package/dist/lib/rotation.js +15 -3
  40. package/dist/lib/rotation.js.map +1 -1
  41. package/dist/lib/storage.d.ts +20 -0
  42. package/dist/lib/storage.d.ts.map +1 -1
  43. package/dist/lib/storage.js +502 -108
  44. package/dist/lib/storage.js.map +1 -1
  45. package/dist/lib/types.d.ts +45 -0
  46. package/dist/lib/types.d.ts.map +1 -1
  47. package/package.json +11 -5
@@ -1,6 +1,6 @@
1
1
  import { decodeJWT, refreshAccessToken } from "./auth/auth.js";
2
2
  import { JWT_CLAIM_PATH } from "./constants.js";
3
- import { loadAccounts, saveAccounts } from "./storage.js";
3
+ import { backupAccountsFile, loadAccounts, saveAccounts } from "./storage.js";
4
4
  import { MODEL_FAMILIES } from "./prompts/codex.js";
5
5
  import { getHealthTracker, getTokenTracker, selectHybridAccount } from "./rotation.js";
6
6
  import { findAccountMatchIndex } from "./account-matching.js";
@@ -56,6 +56,7 @@ const PLAN_TYPE_LABELS = {
56
56
  enterprise: "Enterprise",
57
57
  edu: "Edu",
58
58
  };
59
+ const HYDRATION_ATTEMPT_COOLDOWN_MS = 60_000;
59
60
  function normalizePlanType(planType) {
60
61
  if (typeof planType !== "string")
61
62
  return undefined;
@@ -97,6 +98,15 @@ export function formatWaitTime(ms) {
97
98
  return `${minutes}m ${seconds}s`;
98
99
  return `${seconds}s`;
99
100
  }
101
+ function hasCompleteIdentity(account) {
102
+ return Boolean(account.accountId && account.email && account.plan);
103
+ }
104
+ function isAccountEnabled(account) {
105
+ return account.enabled !== false;
106
+ }
107
+ export function needsIdentityHydration(accounts) {
108
+ return accounts.some((account) => isAccountEnabled(account) && !hasCompleteIdentity(account));
109
+ }
100
110
  function clearExpiredRateLimits(account) {
101
111
  const now = nowMs();
102
112
  for (const key of Object.keys(account.rateLimitResetTimes)) {
@@ -119,6 +129,55 @@ function isRateLimitedForFamily(account, family, model) {
119
129
  const baseKey = getQuotaKey(family);
120
130
  return isRateLimitedForQuotaKey(account, baseKey);
121
131
  }
132
+ async function migrateLegacyAccounts(storage) {
133
+ const needsMigration = storage.accounts.some((record) => !hasCompleteIdentity(record));
134
+ if (!needsMigration)
135
+ return storage;
136
+ let updated = false;
137
+ const migratedAccounts = [];
138
+ for (const record of storage.accounts) {
139
+ if (hasCompleteIdentity(record)) {
140
+ migratedAccounts.push(record);
141
+ continue;
142
+ }
143
+ if (!record.refreshToken) {
144
+ migratedAccounts.push(record);
145
+ continue;
146
+ }
147
+ const result = await refreshAccessToken(record.refreshToken);
148
+ if (result.type !== "success") {
149
+ migratedAccounts.push(record);
150
+ continue;
151
+ }
152
+ const token = result.idToken ?? result.access;
153
+ const accountId = extractAccountId(token);
154
+ const email = sanitizeEmail(extractAccountEmail(token));
155
+ const plan = extractAccountPlan(token);
156
+ if (!accountId || !email || !plan) {
157
+ migratedAccounts.push(record);
158
+ continue;
159
+ }
160
+ updated = true;
161
+ migratedAccounts.push({
162
+ ...record,
163
+ accountId,
164
+ email,
165
+ plan,
166
+ refreshToken: result.refresh,
167
+ });
168
+ }
169
+ if (!updated)
170
+ return storage;
171
+ const backupPath = await backupAccountsFile();
172
+ if (!backupPath)
173
+ return storage;
174
+ const migrated = {
175
+ ...storage,
176
+ accounts: migratedAccounts,
177
+ };
178
+ await saveAccounts(migrated);
179
+ return migrated;
180
+ }
122
181
  function mergeAccountRecords(existing, incoming) {
123
182
  const merged = existing.map((account) => ({
124
183
  ...account,
@@ -157,6 +216,9 @@ function mergeAccountRecords(existing, incoming) {
157
216
  if (!updated.plan && candidate.plan) {
158
217
  updated.plan = candidate.plan;
159
218
  }
219
+ if (typeof candidate.enabled === "boolean" && candidate.enabled !== updated.enabled) {
220
+ updated.enabled = candidate.enabled;
221
+ }
160
222
  if (typeof candidate.addedAt === "number" &&
161
223
  Number.isFinite(candidate.addedAt) &&
162
224
  (typeof updated.addedAt !== "number" || candidate.addedAt < updated.addedAt)) {
@@ -217,40 +279,28 @@ export class AccountManager {
217
279
  };
218
280
  lastToastAccountIndex = -1;
219
281
  lastToastTime = 0;
282
+ refreshInFlight = new Map();
283
+ lastHydrationAttemptAt = null;
220
284
  static async loadFromDisk(authFallback) {
221
285
  const stored = await loadAccounts();
222
- return new AccountManager(authFallback, stored);
286
+ const migrated = stored ? await migrateLegacyAccounts(stored) : stored;
287
+ return new AccountManager(authFallback, migrated);
223
288
  }
224
289
  constructor(authFallback, stored) {
225
290
  const fallbackAccountId = extractAccountId(authFallback?.access);
226
291
  const fallbackEmail = sanitizeEmail(extractAccountEmail(authFallback?.access));
227
292
  const fallbackPlan = extractAccountPlan(authFallback?.access);
293
+ const hasFallbackIdentity = Boolean(fallbackAccountId && fallbackEmail && fallbackPlan);
228
294
  if (stored && stored.accounts.length > 0) {
229
295
  const baseNow = nowMs();
230
296
  const fallbackMatchIndex = (() => {
231
- if (!authFallback)
297
+ if (!authFallback || !hasFallbackIdentity)
232
298
  return -1;
233
- if (fallbackAccountId && fallbackPlan) {
234
- const exact = findAccountMatchIndex(stored.accounts, {
235
- accountId: fallbackAccountId,
236
- plan: fallbackPlan,
237
- email: fallbackEmail,
238
- });
239
- if (exact >= 0)
240
- return exact;
241
- }
242
- if (authFallback.refresh) {
243
- const refreshIndex = stored.accounts.findIndex((record) => record.refreshToken === authFallback.refresh);
244
- if (refreshIndex >= 0)
245
- return refreshIndex;
246
- }
247
- if (fallbackAccountId) {
248
- const matches = stored.accounts.filter((record) => record.accountId === fallbackAccountId);
249
- if (matches.length === 1) {
250
- return stored.accounts.findIndex((record) => record.accountId === fallbackAccountId);
251
- }
252
- }
253
- return -1;
299
+ return findAccountMatchIndex(stored.accounts, {
300
+ accountId: fallbackAccountId,
301
+ plan: fallbackPlan,
302
+ email: fallbackEmail,
303
+ });
254
304
  })();
255
305
  this.accounts = stored.accounts
256
306
  .map((record, index) => {
@@ -262,6 +312,7 @@ export class AccountManager {
262
312
  accountId: matchesFallback ? fallbackAccountId ?? record.accountId : record.accountId,
263
313
  email: matchesFallback ? fallbackEmail ?? record.email : sanitizeEmail(record.email),
264
314
  plan: matchesFallback ? fallbackPlan ?? record.plan : record.plan,
315
+ enabled: record.enabled !== false,
265
316
  refreshToken: matchesFallback && authFallback ? authFallback.refresh : record.refreshToken,
266
317
  access: matchesFallback && authFallback ? authFallback.access : undefined,
267
318
  expires: matchesFallback && authFallback ? authFallback.expires : undefined,
@@ -275,13 +326,14 @@ export class AccountManager {
275
326
  })
276
327
  .filter((a) => a !== null);
277
328
  const hasMatchingFallback = !!authFallback && fallbackMatchIndex >= 0;
278
- if (authFallback && !hasMatchingFallback) {
329
+ if (authFallback && hasFallbackIdentity && !hasMatchingFallback) {
279
330
  const now = nowMs();
280
331
  this.accounts.push({
281
332
  index: this.accounts.length,
282
333
  accountId: fallbackAccountId,
283
334
  email: fallbackEmail,
284
335
  plan: fallbackPlan,
336
+ enabled: true,
285
337
  refreshToken: authFallback.refresh,
286
338
  access: authFallback.access,
287
339
  expires: authFallback.expires,
@@ -302,7 +354,7 @@ export class AccountManager {
302
354
  }
303
355
  return;
304
356
  }
305
- if (authFallback) {
357
+ if (authFallback && hasFallbackIdentity) {
306
358
  const now = nowMs();
307
359
  this.accounts = [
308
360
  {
@@ -310,6 +362,7 @@ export class AccountManager {
310
362
  accountId: fallbackAccountId,
311
363
  email: fallbackEmail,
312
364
  plan: fallbackPlan,
365
+ enabled: true,
313
366
  refreshToken: authFallback.refresh,
314
367
  access: authFallback.access,
315
368
  expires: authFallback.expires,
@@ -326,11 +379,49 @@ export class AccountManager {
326
379
  }
327
380
  }
328
381
  getAccountCount() {
329
- return this.accounts.length;
382
+ return this.accounts.filter((account) => hasCompleteIdentity(account) && isAccountEnabled(account)).length;
383
+ }
384
+ getLegacyAccounts() {
385
+ return this.accounts.filter((account) => {
386
+ if (account.enabled === false)
387
+ return false;
388
+ if (account.enabled === undefined)
389
+ account.enabled = true;
390
+ return !hasCompleteIdentity(account);
391
+ });
392
+ }
393
+ removeAccountsByRefreshToken(tokens) {
394
+ if (tokens.size === 0)
395
+ return 0;
396
+ const indexMap = new Map();
397
+ const remaining = [];
398
+ for (const account of this.accounts) {
399
+ if (tokens.has(account.refreshToken))
400
+ continue;
401
+ const newIndex = remaining.length;
402
+ indexMap.set(account.index, newIndex);
403
+ remaining.push({ ...account, index: newIndex });
404
+ }
405
+ const removedCount = this.accounts.length - remaining.length;
406
+ this.accounts = remaining;
407
+ const fallbackIndex = this.accounts.length > 0 ? 0 : -1;
408
+ this.cursor = indexMap.get(this.cursor) ?? Math.max(0, fallbackIndex);
409
+ for (const family of MODEL_FAMILIES) {
410
+ const mapped = indexMap.get(this.currentAccountIndexByFamily[family]);
411
+ this.currentAccountIndexByFamily[family] = mapped ?? fallbackIndex;
412
+ if (mapped === undefined)
413
+ this.sessionOffsetApplied[family] = false;
414
+ }
415
+ return removedCount;
330
416
  }
331
417
  getAccountsSnapshot() {
332
418
  return this.accounts.map((a) => ({ ...a, rateLimitResetTimes: { ...a.rateLimitResetTimes } }));
333
419
  }
420
+ getAccountByIndex(index) {
421
+ if (!Number.isFinite(index))
422
+ return null;
423
+ return this.accounts[index] ?? null;
424
+ }
334
425
  getActiveIndexForFamily(family) {
335
426
  const idx = this.currentAccountIndexByFamily[family];
336
427
  if (idx < 0 || idx >= this.accounts.length)
@@ -381,7 +472,8 @@ export class AccountManager {
381
472
  if (strategy === "hybrid") {
382
473
  const healthTracker = getHealthTracker();
383
474
  const tokenTracker = getTokenTracker();
384
- const accountsWithMetrics = this.accounts.map((acc) => {
475
+ const eligibleAccounts = this.accounts.filter((acc) => hasCompleteIdentity(acc) && isAccountEnabled(acc));
476
+ const accountsWithMetrics = eligibleAccounts.map((acc) => {
385
477
  clearExpiredRateLimits(acc);
386
478
  return {
387
479
  index: acc.index,
@@ -391,11 +483,13 @@ export class AccountManager {
391
483
  isCoolingDown: this.isAccountCoolingDown(acc),
392
484
  };
393
485
  });
394
- const selectedIndex = selectHybridAccount(accountsWithMetrics, tokenTracker);
486
+ const currentIndex = this.currentAccountIndexByFamily[family] >= 0
487
+ ? this.currentAccountIndexByFamily[family]
488
+ : null;
489
+ const selectedIndex = selectHybridAccount(accountsWithMetrics, tokenTracker, currentIndex);
395
490
  if (selectedIndex !== null) {
396
491
  const selected = this.accounts[selectedIndex];
397
492
  if (selected) {
398
- selected.lastUsed = nowMs();
399
493
  this.currentAccountIndexByFamily[family] = selected.index;
400
494
  return selected;
401
495
  }
@@ -411,10 +505,9 @@ export class AccountManager {
411
505
  return next;
412
506
  }
413
507
  const current = this.getCurrentAccountForFamily(family);
414
- if (current) {
508
+ if (current && hasCompleteIdentity(current) && isAccountEnabled(current)) {
415
509
  clearExpiredRateLimits(current);
416
510
  if (!isRateLimitedForFamily(current, family, model) && !this.isAccountCoolingDown(current)) {
417
- current.lastUsed = nowMs();
418
511
  return current;
419
512
  }
420
513
  }
@@ -426,7 +519,10 @@ export class AccountManager {
426
519
  getNextForFamily(family, model) {
427
520
  const available = this.accounts.filter((a) => {
428
521
  clearExpiredRateLimits(a);
429
- return !isRateLimitedForFamily(a, family, model) && !this.isAccountCoolingDown(a);
522
+ return (hasCompleteIdentity(a) &&
523
+ isAccountEnabled(a) &&
524
+ !isRateLimitedForFamily(a, family, model) &&
525
+ !this.isAccountCoolingDown(a));
430
526
  });
431
527
  if (available.length === 0)
432
528
  return null;
@@ -434,7 +530,6 @@ export class AccountManager {
434
530
  if (!account)
435
531
  return null;
436
532
  this.cursor += 1;
437
- account.lastUsed = nowMs();
438
533
  return account;
439
534
  }
440
535
  markSwitched(account, reason, family) {
@@ -477,6 +572,12 @@ export class AccountManager {
477
572
  this.lastToastAccountIndex = accountIndex;
478
573
  this.lastToastTime = nowMs();
479
574
  }
575
+ markAccountUsed(accountIndex) {
576
+ const account = this.accounts.find((a) => a.index === accountIndex);
577
+ if (!account)
578
+ return;
579
+ account.lastUsed = nowMs();
580
+ }
480
581
  updateFromAuth(account, auth) {
481
582
  account.refreshToken = auth.refresh;
482
583
  account.access = auth.access;
@@ -495,17 +596,33 @@ export class AccountManager {
495
596
  }
496
597
  async hydrateMissingEmails() {
497
598
  // Best-effort: refresh tokens to decode emails/accountId.
599
+ try {
600
+ await backupAccountsFile();
601
+ }
602
+ catch {
603
+ // ignore backup failures
604
+ }
498
605
  for (const account of this.accounts) {
499
- if (account.email && account.accountId)
606
+ if (account.enabled === false)
607
+ continue;
608
+ if (account.enabled === undefined)
609
+ account.enabled = true;
610
+ if (hasCompleteIdentity(account))
500
611
  continue;
501
612
  try {
502
- const refreshed = await refreshAccessToken(account.refreshToken);
613
+ const refreshed = await this.refreshAccountWithLock(account);
503
614
  if (refreshed.type !== "success")
504
615
  continue;
505
- const tokenForClaims = refreshed.idToken ?? refreshed.access;
506
- account.accountId = extractAccountId(tokenForClaims) ?? account.accountId;
507
- account.email = sanitizeEmail(extractAccountEmail(tokenForClaims)) ?? account.email;
508
- account.plan = extractAccountPlan(tokenForClaims) ?? account.plan;
616
+ const idToken = refreshed.idToken;
617
+ const accessToken = refreshed.access;
618
+ account.accountId =
619
+ extractAccountId(idToken) ?? extractAccountId(accessToken) ?? account.accountId;
620
+ account.email =
621
+ sanitizeEmail(extractAccountEmail(idToken)) ??
622
+ sanitizeEmail(extractAccountEmail(accessToken)) ??
623
+ account.email;
624
+ account.plan =
625
+ extractAccountPlan(idToken) ?? extractAccountPlan(accessToken) ?? account.plan;
509
626
  account.refreshToken = refreshed.refresh;
510
627
  }
511
628
  catch {
@@ -513,9 +630,71 @@ export class AccountManager {
513
630
  }
514
631
  }
515
632
  }
633
+ async repairLegacyAccounts() {
634
+ const repaired = [];
635
+ const quarantined = [];
636
+ for (const account of this.accounts) {
637
+ if (account.enabled === false)
638
+ continue;
639
+ if (account.enabled === undefined)
640
+ account.enabled = true;
641
+ if (hasCompleteIdentity(account))
642
+ continue;
643
+ try {
644
+ const refreshed = await this.refreshAccountWithLock(account);
645
+ if (refreshed.type !== "success") {
646
+ quarantined.push(account);
647
+ continue;
648
+ }
649
+ const idToken = refreshed.idToken;
650
+ const accessToken = refreshed.access;
651
+ const extractedAccountId = extractAccountId(idToken) ?? extractAccountId(accessToken) ?? null;
652
+ if (account.accountId && extractedAccountId && account.accountId !== extractedAccountId) {
653
+ quarantined.push(account);
654
+ continue;
655
+ }
656
+ const accountId = extractedAccountId ?? account.accountId;
657
+ const email = sanitizeEmail(extractAccountEmail(idToken)) ??
658
+ sanitizeEmail(extractAccountEmail(accessToken)) ??
659
+ account.email;
660
+ const plan = extractAccountPlan(idToken) ?? extractAccountPlan(accessToken) ?? account.plan;
661
+ if (!accountId || !email || !plan) {
662
+ quarantined.push(account);
663
+ continue;
664
+ }
665
+ account.accountId = accountId;
666
+ account.email = email;
667
+ account.plan = plan;
668
+ account.refreshToken = refreshed.refresh;
669
+ repaired.push(account);
670
+ }
671
+ catch {
672
+ quarantined.push(account);
673
+ }
674
+ }
675
+ return { repaired, quarantined };
676
+ }
677
+ async getMinWaitTimeForFamilyWithHydration(family, model) {
678
+ const now = nowMs();
679
+ const needsHydration = this.accounts.some((account) => account.enabled !== false && !hasCompleteIdentity(account));
680
+ const shouldAttemptHydration = this.lastHydrationAttemptAt === null ||
681
+ now - this.lastHydrationAttemptAt >= HYDRATION_ATTEMPT_COOLDOWN_MS;
682
+ if (needsHydration && shouldAttemptHydration) {
683
+ this.lastHydrationAttemptAt = now;
684
+ try {
685
+ await this.hydrateMissingEmails();
686
+ await this.saveToDisk();
687
+ }
688
+ catch {
689
+ // Best-effort; ignore hydration failures here.
690
+ }
691
+ }
692
+ return this.getMinWaitTimeForFamily(family, model);
693
+ }
516
694
  getMinWaitTimeForFamily(family, model) {
517
695
  const now = nowMs();
518
- const available = this.accounts.filter((a) => {
696
+ const eligible = this.accounts.filter((a) => hasCompleteIdentity(a) && isAccountEnabled(a));
697
+ const available = eligible.filter((a) => {
519
698
  clearExpiredRateLimits(a);
520
699
  return !isRateLimitedForFamily(a, family, model) && !this.isAccountCoolingDown(a);
521
700
  });
@@ -524,7 +703,7 @@ export class AccountManager {
524
703
  const waitTimes = [];
525
704
  const baseKey = getQuotaKey(family);
526
705
  const modelKey = model ? getQuotaKey(family, model) : null;
527
- for (const account of this.accounts) {
706
+ for (const account of eligible) {
528
707
  const baseReset = account.rateLimitResetTimes[baseKey];
529
708
  if (typeof baseReset === "number")
530
709
  waitTimes.push(Math.max(0, baseReset - now));
@@ -539,7 +718,73 @@ export class AccountManager {
539
718
  }
540
719
  return waitTimes.length > 0 ? Math.min(...waitTimes) : 0;
541
720
  }
721
+ async refreshAccountWithLock(account, refreshFn = refreshAccessToken) {
722
+ if (account.enabled === false)
723
+ return { type: "failed" };
724
+ const existing = this.refreshInFlight.get(account.index);
725
+ if (existing)
726
+ return existing;
727
+ const refreshPromise = (async () => {
728
+ try {
729
+ return await refreshFn(account.refreshToken);
730
+ }
731
+ finally {
732
+ this.refreshInFlight.delete(account.index);
733
+ }
734
+ })();
735
+ this.refreshInFlight.set(account.index, refreshPromise);
736
+ return refreshPromise;
737
+ }
738
+ async refreshAccountWithFallback(account, refreshFn = refreshAccessToken) {
739
+ if (account.enabled === false)
740
+ return { type: "failed" };
741
+ const first = await this.refreshAccountWithLock(account, refreshFn);
742
+ if (first.type === "success")
743
+ return first;
744
+ const latest = await loadAccounts().catch(() => null);
745
+ if (!latest?.accounts || latest.accounts.length === 0)
746
+ return first;
747
+ const matchIndex = findAccountMatchIndex(latest.accounts, {
748
+ accountId: account.accountId,
749
+ plan: account.plan,
750
+ email: account.email,
751
+ });
752
+ if (matchIndex < 0)
753
+ return first;
754
+ const latestRecord = latest.accounts[matchIndex];
755
+ if (!latestRecord?.refreshToken || latestRecord.refreshToken === account.refreshToken) {
756
+ return first;
757
+ }
758
+ account.refreshToken = latestRecord.refreshToken;
759
+ if (!account.accountId && latestRecord.accountId)
760
+ account.accountId = latestRecord.accountId;
761
+ if (!account.email && latestRecord.email)
762
+ account.email = latestRecord.email;
763
+ if (!account.plan && latestRecord.plan)
764
+ account.plan = latestRecord.plan;
765
+ return this.refreshAccountWithLock(account, refreshFn);
766
+ }
542
767
  async saveToDisk() {
768
+ const snapshot = this.getStorageSnapshot();
769
+ let accountsToSave = snapshot.accounts;
770
+ try {
771
+ const latest = await loadAccounts();
772
+ if (latest?.accounts && latest.accounts.length > 0) {
773
+ accountsToSave = mergeAccountRecords(latest.accounts, snapshot.accounts);
774
+ }
775
+ }
776
+ catch {
777
+ accountsToSave = snapshot.accounts;
778
+ }
779
+ const storage = {
780
+ version: 3,
781
+ accounts: accountsToSave,
782
+ activeIndex: Math.min(snapshot.activeIndex, Math.max(0, accountsToSave.length - 1)),
783
+ activeIndexByFamily: snapshot.activeIndexByFamily,
784
+ };
785
+ await saveAccounts(storage);
786
+ }
787
+ getStorageSnapshot() {
543
788
  const activeIndexByFamily = {};
544
789
  for (const family of MODEL_FAMILIES) {
545
790
  activeIndexByFamily[family] = clampNonNegativeInt(this.currentAccountIndexByFamily[family], 0);
@@ -550,6 +795,7 @@ export class AccountManager {
550
795
  accountId: a.accountId,
551
796
  email: a.email,
552
797
  plan: a.plan,
798
+ enabled: a.enabled !== false,
553
799
  addedAt: a.addedAt,
554
800
  lastUsed: a.lastUsed,
555
801
  lastSwitchReason: a.lastSwitchReason,
@@ -557,23 +803,12 @@ export class AccountManager {
557
803
  coolingDownUntil: a.coolingDownUntil,
558
804
  cooldownReason: a.cooldownReason,
559
805
  }));
560
- let accountsToSave = snapshot;
561
- try {
562
- const latest = await loadAccounts();
563
- if (latest?.accounts && latest.accounts.length > 0) {
564
- accountsToSave = mergeAccountRecords(latest.accounts, snapshot);
565
- }
566
- }
567
- catch {
568
- accountsToSave = snapshot;
569
- }
570
- const storage = {
806
+ return {
571
807
  version: 3,
572
- accounts: accountsToSave,
573
- activeIndex: Math.min(activeIndex, Math.max(0, accountsToSave.length - 1)),
808
+ accounts: snapshot,
809
+ activeIndex: Math.min(activeIndex, Math.max(0, snapshot.length - 1)),
574
810
  activeIndexByFamily,
575
811
  };
576
- await saveAccounts(storage);
577
812
  }
578
813
  }
579
814
  export function isOAuthAuth(auth) {
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,11 @@ export declare function createState(): string;
15
15
  * @returns Parsed authorization data
16
16
  */
17
17
  export declare function parseAuthorizationInput(input: string): ParsedAuthInput;
18
+ export type OAuthStateValidation = "match" | "missing" | "mismatch";
19
+ export declare function validateOAuthState(expectedState: string, receivedState?: string): OAuthStateValidation;
20
+ export declare function parseAuthorizationInputForFlow(input: string, expectedState: string): ParsedAuthInput & {
21
+ stateStatus: OAuthStateValidation;
22
+ };
18
23
  /**
19
24
  * Exchange authorization code for access and refresh tokens
20
25
  * @param code - Authorization code from OAuth flow