opencode-openai-codex-auth-multi 4.3.1 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +20 -5
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +34 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/accounts.d.ts +7 -0
  6. package/dist/lib/accounts.d.ts.map +1 -1
  7. package/dist/lib/accounts.js +53 -0
  8. package/dist/lib/accounts.js.map +1 -1
  9. package/dist/lib/auth/auth.d.ts +9 -1
  10. package/dist/lib/auth/auth.d.ts.map +1 -1
  11. package/dist/lib/auth/auth.js +7 -1
  12. package/dist/lib/auth/auth.js.map +1 -1
  13. package/dist/lib/auto-update-checker.d.ts +10 -0
  14. package/dist/lib/auto-update-checker.d.ts.map +1 -0
  15. package/dist/lib/auto-update-checker.js +129 -0
  16. package/dist/lib/auto-update-checker.js.map +1 -0
  17. package/dist/lib/cli.d.ts.map +1 -1
  18. package/dist/lib/cli.js +1 -0
  19. package/dist/lib/cli.js.map +1 -1
  20. package/dist/lib/config.js +6 -6
  21. package/dist/lib/config.js.map +1 -1
  22. package/dist/lib/context-overflow.d.ts +27 -0
  23. package/dist/lib/context-overflow.d.ts.map +1 -0
  24. package/dist/lib/context-overflow.js +124 -0
  25. package/dist/lib/context-overflow.js.map +1 -0
  26. package/dist/lib/logger.d.ts +13 -17
  27. package/dist/lib/logger.d.ts.map +1 -1
  28. package/dist/lib/logger.js +89 -24
  29. package/dist/lib/logger.js.map +1 -1
  30. package/dist/lib/refresh-queue.d.ts +100 -0
  31. package/dist/lib/refresh-queue.d.ts.map +1 -0
  32. package/dist/lib/refresh-queue.js +196 -0
  33. package/dist/lib/refresh-queue.js.map +1 -0
  34. package/dist/lib/request/fetch-helpers.js +2 -2
  35. package/dist/lib/request/fetch-helpers.js.map +1 -1
  36. package/dist/lib/request/helpers/input-utils.d.ts +1 -0
  37. package/dist/lib/request/helpers/input-utils.d.ts.map +1 -1
  38. package/dist/lib/request/helpers/input-utils.js +39 -0
  39. package/dist/lib/request/helpers/input-utils.js.map +1 -1
  40. package/dist/lib/request/rate-limit-backoff.d.ts +4 -0
  41. package/dist/lib/request/rate-limit-backoff.d.ts.map +1 -1
  42. package/dist/lib/request/rate-limit-backoff.js +20 -0
  43. package/dist/lib/request/rate-limit-backoff.js.map +1 -1
  44. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  45. package/dist/lib/request/request-transformer.js +2 -1
  46. package/dist/lib/request/request-transformer.js.map +1 -1
  47. package/dist/lib/rotation.d.ts +121 -0
  48. package/dist/lib/rotation.d.ts.map +1 -0
  49. package/dist/lib/rotation.js +248 -0
  50. package/dist/lib/rotation.js.map +1 -0
  51. package/package.json +1 -1
package/README.md CHANGED
@@ -4,14 +4,14 @@
4
4
  [![npm downloads](https://img.shields.io/npm/dw/opencode-openai-codex-auth-multi.svg)](https://www.npmjs.com/package/opencode-openai-codex-auth-multi)
5
5
  [![Tests](https://github.com/ndycode/opencode-openai-codex-auth-multi/actions/workflows/ci.yml/badge.svg)](https://github.com/ndycode/opencode-openai-codex-auth-multi/actions)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
7
- [![X (Twitter)](https://img.shields.io/badge/X-@ndycode-000000?style=flat&logo=x)](https://x.com/ndycode)
8
7
 
9
8
  Enable OpenCode to authenticate against **OpenAI's Codex backend** via OAuth so you can use ChatGPT Plus/Pro rate limits and access models like `gpt-5.2`, `gpt-5.2-codex`, and `gpt-5.1-codex-max` with your ChatGPT credentials.
10
9
 
11
10
  ## What You Get
12
11
 
13
12
  - **GPT-5.2, GPT-5.2 Codex, GPT-5.1 Codex Max** and all GPT-5.x variants via ChatGPT OAuth
14
- - **Multi-account support** — add multiple ChatGPT accounts, auto-rotates when rate-limited
13
+ - **Multi-account support** — add multiple ChatGPT accounts, health-aware rotation with automatic failover
14
+ - **Auto-update notifications** — get notified when a new version is available
15
15
  - **22 model presets** — full variant system with reasoning levels (none/low/medium/high/xhigh)
16
16
  - **Prompt caching** — session-based caching for faster multi-turn conversations
17
17
  - **Usage-aware errors** — friendly messages with rate limit reset timing
@@ -236,7 +236,7 @@ For legacy OpenCode (v1.0.209 and below), use `config/opencode-legacy.json` whic
236
236
 
237
237
  ## Multi-Account Setup
238
238
 
239
- Add multiple ChatGPT accounts for higher combined quotas. The plugin automatically rotates between accounts when one is rate-limited.
239
+ Add multiple ChatGPT accounts for higher combined quotas. The plugin uses **health-aware rotation** with automatic failover.
240
240
 
241
241
  ```bash
242
242
  opencode auth login # Run again to add more accounts
@@ -247,6 +247,12 @@ opencode auth login # Run again to add more accounts
247
247
  - `openai-accounts-switch` — Switch active account
248
248
  - `openai-accounts-status` — Show rate limit status
249
249
 
250
+ **How rotation works (v4.4.0+):**
251
+ - Health scoring tracks success/failure per account
252
+ - Token bucket prevents hitting rate limits
253
+ - Hybrid selection prefers healthy accounts with available tokens
254
+ - Always retries when all accounts are rate-limited (waits for reset)
255
+
250
256
  **Storage:** `~/.opencode/openai-codex-accounts.json`
251
257
 
252
258
  ---
@@ -354,7 +360,7 @@ OpenCode uses `~/.config/opencode/` on **all platforms** including Windows.
354
360
  **Solutions:**
355
361
  1. Update plugin:
356
362
  ```bash
357
- npx -y opencode-openai-codex-auth-multi@latest
363
+ npx -y opencode-openai-codex-auth-multi@latest
358
364
  ```
359
365
  2. Ensure config has:
360
366
  ```json
@@ -434,11 +440,20 @@ Create `~/.opencode/openai-codex-auth-config.json` for optional settings:
434
440
  |--------|---------|--------------|
435
441
  | `codexMode` | `true` | Uses Codex-OpenCode bridge prompt (synced with latest Codex CLI) |
436
442
 
443
+ ### Retry Behavior (v4.4.0+)
444
+
445
+ | Option | Default | What it does |
446
+ |--------|---------|--------------|
447
+ | `retryAllAccountsRateLimited` | `true` | Wait and retry when all accounts are rate-limited |
448
+ | `retryAllAccountsMaxWaitMs` | `0` | Max wait time (0 = unlimited) |
449
+ | `retryAllAccountsMaxRetries` | `Infinity` | Max retry attempts |
450
+
437
451
  ### Environment Variables
438
452
 
439
453
  ```bash
440
454
  DEBUG_CODEX_PLUGIN=1 opencode # Enable debug logging
441
455
  ENABLE_PLUGIN_REQUEST_LOGGING=1 opencode # Log all API requests
456
+ CODEX_PLUGIN_LOG_LEVEL=debug opencode # Set log level (debug|info|warn|error)
442
457
  CODEX_MODE=0 opencode # Temporarily disable bridge prompt
443
458
  ```
444
459
 
@@ -457,7 +472,7 @@ For all options, see [docs/configuration.md](docs/configuration.md).
457
472
 
458
473
  ## Credits
459
474
 
460
- - [numman-ali/opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) by [@nummanali](https://x.com/nummanali) — Original plugin
475
+ - [numman-ali/opencode-openai-codex-auth](https://github.com/numman-ali/opencode-openai-codex-auth) by [numman-ali](https://github.com/numman-ali) — Original plugin
461
476
  - [ndycode](https://github.com/ndycode) — Multi-account support and maintenance
462
477
 
463
478
  ## License
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AA2D1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,MA2kC9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AA6D1E;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAknC9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -23,13 +23,16 @@
23
23
 
24
24
  */
25
25
  import { tool } from "@opencode-ai/plugin";
26
- import { createAuthorizationFlow, exchangeAuthorizationCode, parseAuthorizationInput, REDIRECT_URI, refreshAccessToken, } from "./lib/auth/auth.js";
26
+ import { createAuthorizationFlow, exchangeAuthorizationCode, parseAuthorizationInput, REDIRECT_URI, } from "./lib/auth/auth.js";
27
+ import { queuedRefresh } from "./lib/refresh-queue.js";
27
28
  import { openBrowserUrl } from "./lib/auth/browser.js";
28
29
  import { startLocalOAuthServer } from "./lib/auth/server.js";
29
30
  import { promptAddAnotherAccount, promptLoginMode } from "./lib/cli.js";
30
31
  import { getCodexMode, getRateLimitToastDebounceMs, getRetryAllAccountsMaxRetries, getRetryAllAccountsMaxWaitMs, getRetryAllAccountsRateLimited, getTokenRefreshSkewMs, loadPluginConfig, } from "./lib/config.js";
31
32
  import { AUTH_LABELS, CODEX_BASE_URL, DUMMY_API_KEY, LOG_STAGES, PLUGIN_NAME, PROVIDER_ID, ACCOUNT_LIMITS, } from "./lib/constants.js";
32
33
  import { logRequest, logDebug } from "./lib/logger.js";
34
+ import { checkAndNotify } from "./lib/auto-update-checker.js";
35
+ import { handleContextOverflow } from "./lib/context-overflow.js";
33
36
  import { AccountManager, extractAccountEmail, extractAccountId, formatAccountLabel, formatCooldown, formatWaitTime, sanitizeEmail, } from "./lib/accounts.js";
34
37
  import { getStoragePath, loadAccounts, saveAccounts } from "./lib/storage.js";
35
38
  import { createCodexHeaders, extractRequestUrl, handleErrorResponse, handleSuccessResponse, refreshAndUpdateToken, rewriteUrlForCodex, shouldRefreshToken, transformRequestForCodex, } from "./lib/request/fetch-helpers.js";
@@ -93,8 +96,8 @@ export const OpenAIAuthPlugin = async ({ client }) => {
93
96
  }
94
97
  return await exchangeAuthorizationCode(parsed.code, pkce.verifier, REDIRECT_URI);
95
98
  };
96
- const runOAuthFlow = async (useManualMode) => {
97
- const { pkce, state, url } = await createAuthorizationFlow();
99
+ const runOAuthFlow = async (useManualMode, forceNewLogin = false) => {
100
+ const { pkce, state, url } = await createAuthorizationFlow({ forceNewLogin });
98
101
  console.log("\nOAuth URL:\n" + url + "\n");
99
102
  if (useManualMode) {
100
103
  openBrowserUrl(url);
@@ -259,7 +262,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
259
262
  let changed = false;
260
263
  await Promise.all(accountsToHydrate.map(async (account) => {
261
264
  try {
262
- const refreshed = await refreshAccessToken(account.refreshToken);
265
+ const refreshed = await queuedRefresh(account.refreshToken);
263
266
  if (refreshed.type !== "success")
264
267
  return;
265
268
  const id = extractAccountId(refreshed.access);
@@ -364,6 +367,9 @@ export const OpenAIAuthPlugin = async ({ client }) => {
364
367
  const retryAllAccountsRateLimited = getRetryAllAccountsRateLimited(pluginConfig);
365
368
  const retryAllAccountsMaxWaitMs = getRetryAllAccountsMaxWaitMs(pluginConfig);
366
369
  const retryAllAccountsMaxRetries = getRetryAllAccountsMaxRetries(pluginConfig);
370
+ checkAndNotify(async (message, variant) => {
371
+ await showToast(message, variant);
372
+ }).catch(() => { });
367
373
  // Return SDK configuration
368
374
  return {
369
375
  apiKey: DUMMY_API_KEY,
@@ -424,7 +430,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
424
430
  const accountCount = accountManager.getAccountCount();
425
431
  const attempted = new Set();
426
432
  while (attempted.size < Math.max(1, accountCount)) {
427
- const account = accountManager.getCurrentOrNextForFamily(modelFamily, model);
433
+ const account = accountManager.getCurrentOrNextForFamilyHybrid(modelFamily, model);
428
434
  if (!account || attempted.has(account.index)) {
429
435
  break;
430
436
  }
@@ -474,6 +480,11 @@ export const OpenAIAuthPlugin = async ({ client }) => {
474
480
  headers: Object.fromEntries(response.headers.entries()),
475
481
  });
476
482
  if (!response.ok) {
483
+ // Check for context overflow (400 "prompt too long") before other error handling
484
+ const contextOverflowResult = await handleContextOverflow(response, model);
485
+ if (contextOverflowResult.handled) {
486
+ return contextOverflowResult.response;
487
+ }
477
488
  const { response: errorResponse, rateLimit } = await handleErrorResponse(response);
478
489
  if (rateLimit) {
479
490
  const { attempt, delayMs } = getRateLimitBackoff(account.index, quotaKey, rateLimit.retryAfterMs);
@@ -487,6 +498,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
487
498
  continue;
488
499
  }
489
500
  accountManager.markRateLimited(account, delayMs, modelFamily, model);
501
+ accountManager.recordRateLimit(account, modelFamily, model);
490
502
  account.lastSwitchReason = "rate-limit";
491
503
  accountManager.saveToDiskDebounced();
492
504
  if (accountManager.getAccountCount() > 1 &&
@@ -499,6 +511,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
499
511
  return errorResponse;
500
512
  }
501
513
  resetRateLimitBackoff(account.index, quotaKey);
514
+ accountManager.recordSuccess(account, modelFamily, model);
502
515
  return await handleSuccessResponse(response, isStreaming);
503
516
  }
504
517
  }
@@ -571,7 +584,21 @@ export const OpenAIAuthPlugin = async ({ client }) => {
571
584
  }
572
585
  while (accounts.length < ACCOUNT_LIMITS.MAX_ACCOUNTS) {
573
586
  console.log(`\n=== OpenAI OAuth (Account ${accounts.length + 1}) ===`);
574
- const result = await runOAuthFlow(useManualMode);
587
+ const forceNewLogin = accounts.length > 0;
588
+ const result = await runOAuthFlow(useManualMode, forceNewLogin);
589
+ if (result.type === "success") {
590
+ const email = extractAccountEmail(result.access);
591
+ const accountId = extractAccountId(result.access);
592
+ const label = email || accountId || "Unknown account";
593
+ console.log(`\n✓ Authenticated as: ${label}\n`);
594
+ const isDuplicate = accounts.some((acc) => (accountId && extractAccountId(acc.access) === accountId) ||
595
+ (email && extractAccountEmail(acc.access) === email));
596
+ if (isDuplicate) {
597
+ console.warn(`\n⚠️ WARNING: You authenticated with an account that is already in the list (${label}).`);
598
+ console.warn("This usually happens if you didn't log out or use a different browser profile.");
599
+ console.warn("The duplicate will update the existing entry.\n");
600
+ }
601
+ }
575
602
  if (result.type === "failed") {
576
603
  if (accounts.length === 0) {
577
604
  return {
@@ -873,7 +900,7 @@ export const OpenAIAuthPlugin = async ({ client }) => {
873
900
  continue;
874
901
  const label = formatAccountLabel(account, i);
875
902
  try {
876
- const refreshResult = await refreshAccessToken(account.refreshToken);
903
+ const refreshResult = await queuedRefresh(account.refreshToken);
877
904
  if (refreshResult.type === "success") {
878
905
  results.push(` ✓ ${label}: Healthy`);
879
906
  healthyCount++;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { OAuthAuthDetails } from "./types.js";
4
4
  import { type ModelFamily } from "./prompts/codex.js";
5
5
  export type BaseQuotaKey = ModelFamily;
6
6
  export type QuotaKey = BaseQuotaKey | `${BaseQuotaKey}:${string}`;
7
+ export type RateLimitReason = "quota" | "tokens" | "concurrent" | "unknown";
7
8
  /**
8
9
  * Extracts the ChatGPT account ID from a JWT access token.
9
10
  * @param accessToken - JWT access token from OAuth flow
@@ -36,6 +37,7 @@ export interface ManagedAccount {
36
37
  addedAt: number;
37
38
  lastUsed: number;
38
39
  lastSwitchReason?: "rate-limit" | "initial" | "rotation";
40
+ lastRateLimitReason?: RateLimitReason;
39
41
  rateLimitResetTimes: RateLimitStateV3;
40
42
  coolingDownUntil?: number;
41
43
  cooldownReason?: CooldownReason;
@@ -70,8 +72,13 @@ export declare class AccountManager {
70
72
  getCurrentOrNext(): ManagedAccount | null;
71
73
  getCurrentOrNextForFamily(family: ModelFamily, model?: string | null): ManagedAccount | null;
72
74
  getNextForFamily(family: ModelFamily, model?: string | null): ManagedAccount | null;
75
+ getCurrentOrNextForFamilyHybrid(family: ModelFamily, model?: string | null): ManagedAccount | null;
76
+ recordSuccess(account: ManagedAccount, family: ModelFamily, model?: string | null): void;
77
+ recordRateLimit(account: ManagedAccount, family: ModelFamily, model?: string | null): void;
78
+ recordFailure(account: ManagedAccount, family: ModelFamily, model?: string | null): void;
73
79
  markSwitched(account: ManagedAccount, reason: "rate-limit" | "initial" | "rotation", family: ModelFamily): void;
74
80
  markRateLimited(account: ManagedAccount, retryAfterMs: number, family: ModelFamily, model?: string | null): void;
81
+ markRateLimitedWithReason(account: ManagedAccount, retryAfterMs: number, family: ModelFamily, reason: RateLimitReason, model?: string | null): void;
75
82
  markAccountCoolingDown(account: ManagedAccount, cooldownMs: number, reason: CooldownReason): void;
76
83
  isAccountCoolingDown(account: ManagedAccount): boolean;
77
84
  clearAccountCooldown(account: ManagedAccount): void;
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AACvC,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,GAAG,YAAY,IAAI,MAAM,EAAE,CAAC;AAoBlE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKzE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAK3E;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,CAAC;IACzD,mBAAmB,EAAE,gBAAgB,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAgCD;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAwB;IAExC,OAAO,CAAC,cAAc,CAMpB;IACF,OAAO,CAAC,2BAA2B,CAMjC;IACF,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,WAAW,CAA8B;IAEjD;;;;OAIG;WACU,YAAY,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IAKnF,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;gBAIlC,YAAY,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAkG7E,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,MAAM;IAIxB,uBAAuB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAQpD,mBAAmB,IAAI,cAAc,EAAE;IAOvC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAgBpD,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAI1C,0BAA0B,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI;IAQtE,gBAAgB,IAAI,cAAc,GAAG,IAAI;IAIzC,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI;IA4B5F,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,cAAc,GAAG,IAAI;IAwBnF,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAK/G,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAahH,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAMjG,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAStD,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKnD,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,SAAQ,GAAG,OAAO;IAQzE,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAK1C,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAQrE,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAS5C,cAAc,IAAI,MAAM;IAIxB,uBAAuB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAiC3E,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAyCzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC,mBAAmB,CAAC,OAAO,SAAM,GAAG,IAAI;IAYlC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAUxC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAC3D,KAAK,EAAE,MAAM,GACZ,MAAM,CASR;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,GAAG,SAAU,GACZ,MAAM,GAAG,IAAI,CAMf"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { decodeJWT } from "./auth/auth.js";
2
2
  import { JWT_CLAIM_PATH } from "./constants.js";
3
3
  import { loadAccounts, saveAccounts, } from "./storage.js";
4
4
  import { MODEL_FAMILIES } from "./prompts/codex.js";
5
+ import { getHealthTracker, getTokenTracker, selectHybridAccount, } from "./rotation.js";
5
6
  function nowMs() {
6
7
  return Date.now();
7
8
  }
@@ -299,11 +300,62 @@ export class AccountManager {
299
300
  }
300
301
  return null;
301
302
  }
303
+ getCurrentOrNextForFamilyHybrid(family, model) {
304
+ const count = this.accounts.length;
305
+ if (count === 0)
306
+ return null;
307
+ const quotaKey = model ? `${family}:${model}` : family;
308
+ const healthTracker = getHealthTracker();
309
+ const tokenTracker = getTokenTracker();
310
+ const accountsWithMetrics = this.accounts
311
+ .map((account) => {
312
+ if (!account)
313
+ return null;
314
+ clearExpiredRateLimits(account);
315
+ const isAvailable = !isRateLimitedForFamily(account, family, model) && !this.isAccountCoolingDown(account);
316
+ return {
317
+ index: account.index,
318
+ isAvailable,
319
+ lastUsed: account.lastUsed,
320
+ };
321
+ })
322
+ .filter((a) => a !== null);
323
+ const selected = selectHybridAccount(accountsWithMetrics, healthTracker, tokenTracker, quotaKey);
324
+ if (!selected)
325
+ return null;
326
+ const account = this.accounts[selected.index];
327
+ if (!account)
328
+ return null;
329
+ this.currentAccountIndexByFamily[family] = account.index;
330
+ this.cursorByFamily[family] = (account.index + 1) % count;
331
+ account.lastUsed = nowMs();
332
+ return account;
333
+ }
334
+ recordSuccess(account, family, model) {
335
+ const quotaKey = model ? `${family}:${model}` : family;
336
+ const healthTracker = getHealthTracker();
337
+ healthTracker.recordSuccess(account.index, quotaKey);
338
+ }
339
+ recordRateLimit(account, family, model) {
340
+ const quotaKey = model ? `${family}:${model}` : family;
341
+ const healthTracker = getHealthTracker();
342
+ const tokenTracker = getTokenTracker();
343
+ healthTracker.recordRateLimit(account.index, quotaKey);
344
+ tokenTracker.drain(account.index, quotaKey);
345
+ }
346
+ recordFailure(account, family, model) {
347
+ const quotaKey = model ? `${family}:${model}` : family;
348
+ const healthTracker = getHealthTracker();
349
+ healthTracker.recordFailure(account.index, quotaKey);
350
+ }
302
351
  markSwitched(account, reason, family) {
303
352
  account.lastSwitchReason = reason;
304
353
  this.currentAccountIndexByFamily[family] = account.index;
305
354
  }
306
355
  markRateLimited(account, retryAfterMs, family, model) {
356
+ this.markRateLimitedWithReason(account, retryAfterMs, family, "unknown", model);
357
+ }
358
+ markRateLimitedWithReason(account, retryAfterMs, family, reason, model) {
307
359
  const retryMs = Math.max(0, Math.floor(retryAfterMs));
308
360
  const resetAt = nowMs() + retryMs;
309
361
  const baseKey = getQuotaKey(family);
@@ -312,6 +364,7 @@ export class AccountManager {
312
364
  const modelKey = getQuotaKey(family, model);
313
365
  account.rateLimitResetTimes[modelKey] = resetAt;
314
366
  }
367
+ account.lastRateLimitReason = reason;
315
368
  }
316
369
  markAccountCoolingDown(account, cooldownMs, reason) {
317
370
  const ms = Math.max(0, Math.floor(cooldownMs));
@@ -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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"}
@@ -35,9 +35,17 @@ export declare function decodeJWT(token: string): JWTPayload | null;
35
35
  * @returns Token result
36
36
  */
37
37
  export declare function refreshAccessToken(refreshToken: string): Promise<TokenResult>;
38
+ export interface AuthorizationFlowOptions {
39
+ /**
40
+ * Force a fresh login screen instead of using cached browser session.
41
+ * Use when adding multiple accounts to ensure different credentials.
42
+ */
43
+ forceNewLogin?: boolean;
44
+ }
38
45
  /**
39
46
  * Create OAuth authorization flow
47
+ * @param options - Optional configuration for the flow
40
48
  * @returns Authorization flow details
41
49
  */
42
- export declare function createAuthorizationFlow(): Promise<AuthorizationFlow>;
50
+ export declare function createAuthorizationFlow(options?: AuthorizationFlowOptions): Promise<AuthorizationFlow>;
43
51
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../lib/auth/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzG,eAAO,MAAM,SAAS,iCAAiC,CAAC;AACxD,eAAO,MAAM,aAAa,4CAA4C,CAAC;AACvE,eAAO,MAAM,SAAS,wCAAwC,CAAC;AAC/D,eAAO,MAAM,YAAY,wCAAwC,CAAC;AAClE,eAAO,MAAM,KAAK,wCAAwC,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CA0BtE;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC9C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAqB,GAChC,OAAO,CAAC,WAAW,CAAC,CAoCtB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAe1D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDnF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAiB1E"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../lib/auth/auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzG,eAAO,MAAM,SAAS,iCAAiC,CAAC;AACxD,eAAO,MAAM,aAAa,4CAA4C,CAAC;AACvE,eAAO,MAAM,SAAS,wCAAwC,CAAC;AAC/D,eAAO,MAAM,YAAY,wCAAwC,CAAC;AAClE,eAAO,MAAM,KAAK,wCAAwC,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CA0BtE;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC9C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAqB,GAChC,OAAO,CAAC,WAAW,CAAC,CAoCtB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAe1D;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAoDnF;AAED,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuB5G"}
@@ -149,9 +149,10 @@ export async function refreshAccessToken(refreshToken) {
149
149
  }
150
150
  /**
151
151
  * Create OAuth authorization flow
152
+ * @param options - Optional configuration for the flow
152
153
  * @returns Authorization flow details
153
154
  */
154
- export async function createAuthorizationFlow() {
155
+ export async function createAuthorizationFlow(options) {
155
156
  const pkce = (await generatePKCE());
156
157
  const state = createState();
157
158
  const url = new URL(AUTHORIZE_URL);
@@ -165,6 +166,11 @@ export async function createAuthorizationFlow() {
165
166
  url.searchParams.set("id_token_add_organizations", "true");
166
167
  url.searchParams.set("codex_cli_simplified_flow", "true");
167
168
  url.searchParams.set("originator", "codex_cli_rs");
169
+ // Force a fresh login screen when adding multiple accounts
170
+ // This helps prevent the browser from auto-using an existing session
171
+ if (options?.forceNewLogin) {
172
+ url.searchParams.set("prompt", "login");
173
+ }
168
174
  return { pkce, state, url: url.toString() };
169
175
  }
170
176
  //# sourceMappingURL=auth.js.map