oc-chatgpt-multi-auth 4.9.6 → 4.9.7

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/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +106 -37
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/accounts.d.ts +20 -1
  5. package/dist/lib/accounts.d.ts.map +1 -1
  6. package/dist/lib/accounts.js +222 -1
  7. package/dist/lib/accounts.js.map +1 -1
  8. package/dist/lib/auth/auth.d.ts.map +1 -1
  9. package/dist/lib/auth/auth.js +7 -6
  10. package/dist/lib/auth/auth.js.map +1 -1
  11. package/dist/lib/auth/server.d.ts.map +1 -1
  12. package/dist/lib/auth/server.js +5 -4
  13. package/dist/lib/auth/server.js.map +1 -1
  14. package/dist/lib/cli.d.ts +13 -0
  15. package/dist/lib/cli.d.ts.map +1 -1
  16. package/dist/lib/cli.js +45 -1
  17. package/dist/lib/cli.js.map +1 -1
  18. package/dist/lib/config.d.ts.map +1 -1
  19. package/dist/lib/config.js +2 -1
  20. package/dist/lib/config.js.map +1 -1
  21. package/dist/lib/constants.d.ts +1 -0
  22. package/dist/lib/constants.d.ts.map +1 -1
  23. package/dist/lib/constants.js +1 -0
  24. package/dist/lib/constants.js.map +1 -1
  25. package/dist/lib/context-overflow.js +2 -2
  26. package/dist/lib/context-overflow.js.map +1 -1
  27. package/dist/lib/logger.d.ts +13 -0
  28. package/dist/lib/logger.d.ts.map +1 -1
  29. package/dist/lib/logger.js +85 -54
  30. package/dist/lib/logger.js.map +1 -1
  31. package/dist/lib/oauth-success.html +1 -1
  32. package/dist/lib/prompts/codex.d.ts.map +1 -1
  33. package/dist/lib/prompts/codex.js +4 -3
  34. package/dist/lib/prompts/codex.js.map +1 -1
  35. package/dist/lib/request/fetch-helpers.d.ts +17 -0
  36. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  37. package/dist/lib/request/fetch-helpers.js +50 -5
  38. package/dist/lib/request/fetch-helpers.js.map +1 -1
  39. package/dist/lib/storage.d.ts +5 -0
  40. package/dist/lib/storage.d.ts.map +1 -1
  41. package/dist/lib/storage.js +2 -0
  42. package/dist/lib/storage.js.map +1 -1
  43. package/dist/lib/types.d.ts +13 -0
  44. package/dist/lib/types.d.ts.map +1 -1
  45. package/package.json +1 -1
  46. package/scripts/install-opencode-codex-auth.js +1 -1
  47. package/scripts/test-all-models.sh +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAqE/D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,MA4pC/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAElD,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAuE/D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAwvC/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAoB,CAAC;AAElD,eAAe,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -27,13 +27,13 @@ import { createAuthorizationFlow, exchangeAuthorizationCode, parseAuthorizationI
27
27
  import { queuedRefresh } from "./lib/refresh-queue.js";
28
28
  import { openBrowserUrl } from "./lib/auth/browser.js";
29
29
  import { startLocalOAuthServer } from "./lib/auth/server.js";
30
- import { promptLoginMode } from "./lib/cli.js";
30
+ import { promptAccountSelection, promptLoginMode } from "./lib/cli.js";
31
31
  import { getCodexMode, getRateLimitToastDebounceMs, getRetryAllAccountsMaxRetries, getRetryAllAccountsMaxWaitMs, getRetryAllAccountsRateLimited, getTokenRefreshSkewMs, getSessionRecovery, getAutoResume, loadPluginConfig, } from "./lib/config.js";
32
32
  import { AUTH_LABELS, CODEX_BASE_URL, DUMMY_API_KEY, LOG_STAGES, PLUGIN_NAME, PROVIDER_ID, ACCOUNT_LIMITS, } from "./lib/constants.js";
33
- import { logRequest, logDebug } from "./lib/logger.js";
33
+ import { initLogger, logRequest, logDebug, logInfo, logWarn } from "./lib/logger.js";
34
34
  import { checkAndNotify } from "./lib/auto-update-checker.js";
35
35
  import { handleContextOverflow } from "./lib/context-overflow.js";
36
- import { AccountManager, extractAccountEmail, extractAccountId, formatAccountLabel, formatCooldown, formatWaitTime, sanitizeEmail, } from "./lib/accounts.js";
36
+ import { AccountManager, getAccountIdCandidates, extractAccountEmail, extractAccountId, formatAccountLabel, formatCooldown, formatWaitTime, sanitizeEmail, shouldUpdateAccountIdFromToken, } from "./lib/accounts.js";
37
37
  import { getStoragePath, loadAccounts, saveAccounts } from "./lib/storage.js";
38
38
  import { createCodexHeaders, extractRequestUrl, handleErrorResponse, handleSuccessResponse, refreshAndUpdateToken, rewriteUrlForCodex, shouldRefreshToken, transformRequestForCodex, } from "./lib/request/fetch-helpers.js";
39
39
  import { getRateLimitBackoff, RATE_LIMIT_SHORT_RETRY_THRESHOLD_MS, resetRateLimitBackoff, } from "./lib/request/rate-limit-backoff.js";
@@ -56,7 +56,56 @@ import { createSessionRecoveryHook, isRecoverableError, detectErrorType, getReco
56
56
  * ```
57
57
  */
58
58
  export const OpenAIOAuthPlugin = async ({ client }) => {
59
+ initLogger(client);
59
60
  let cachedAccountManager = null;
61
+ const resolveAccountSelection = async (tokens) => {
62
+ const override = (process.env.CODEX_AUTH_ACCOUNT_ID ?? "").trim();
63
+ if (override) {
64
+ const suffix = override.length > 6 ? override.slice(-6) : override;
65
+ logInfo(`Using account override from CODEX_AUTH_ACCOUNT_ID (id:${suffix}).`);
66
+ return {
67
+ ...tokens,
68
+ accountIdOverride: override,
69
+ accountIdSource: "manual",
70
+ accountLabel: `Override [id:${suffix}]`,
71
+ };
72
+ }
73
+ const candidates = getAccountIdCandidates(tokens.access, tokens.idToken);
74
+ if (candidates.length === 0) {
75
+ return tokens;
76
+ }
77
+ if (candidates.length === 1) {
78
+ const candidate = candidates[0];
79
+ return {
80
+ ...tokens,
81
+ accountIdOverride: candidate.accountId,
82
+ accountIdSource: candidate.source,
83
+ accountLabel: candidate.label,
84
+ };
85
+ }
86
+ const defaultIndex = (() => {
87
+ const orgDefaultIndex = candidates.findIndex((candidate) => candidate.isDefault && candidate.source === "org");
88
+ if (orgDefaultIndex >= 0)
89
+ return orgDefaultIndex;
90
+ const tokenIndex = candidates.findIndex((candidate) => candidate.source === "token");
91
+ if (tokenIndex >= 0)
92
+ return tokenIndex;
93
+ return 0;
94
+ })();
95
+ const selected = await promptAccountSelection(candidates, {
96
+ defaultIndex,
97
+ title: "Multiple workspaces detected for this account:",
98
+ });
99
+ const choice = selected ?? candidates[defaultIndex];
100
+ if (!choice)
101
+ return tokens;
102
+ return {
103
+ ...tokens,
104
+ accountIdOverride: choice.accountId,
105
+ accountIdSource: choice.source ?? "token",
106
+ accountLabel: choice.label,
107
+ };
108
+ };
60
109
  const buildManualOAuthFlow = (pkce, url, onSuccess) => ({
61
110
  url,
62
111
  method: "code",
@@ -67,17 +116,21 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
67
116
  return { type: "failed", reason: "invalid_response", message: "No authorization code provided" };
68
117
  }
69
118
  const tokens = await exchangeAuthorizationCode(parsed.code, pkce.verifier, REDIRECT_URI);
70
- if (tokens?.type === "success" && onSuccess) {
71
- await onSuccess(tokens);
119
+ if (tokens?.type === "success") {
120
+ const resolved = await resolveAccountSelection(tokens);
121
+ if (onSuccess) {
122
+ await onSuccess(resolved);
123
+ }
124
+ return resolved;
72
125
  }
73
- return tokens?.type === "success"
126
+ return tokens?.type === "failed"
74
127
  ? tokens
75
128
  : { type: "failed" };
76
129
  },
77
130
  });
78
131
  const runOAuthFlow = async (forceNewLogin = false) => {
79
132
  const { pkce, state, url } = await createAuthorizationFlow({ forceNewLogin });
80
- console.log("\nOAuth URL:\n" + url + "\n");
133
+ logInfo(`OAuth URL: ${url}`);
81
134
  let serverInfo = null;
82
135
  try {
83
136
  serverInfo = await startLocalOAuthServer({ state });
@@ -91,7 +144,7 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
91
144
  serverInfo?.close();
92
145
  const message = `\n[${PLUGIN_NAME}] OAuth callback server failed to start. ` +
93
146
  `Please retry with "${AUTH_LABELS.OAUTH_MANUAL}".\n`;
94
- console.warn(message);
147
+ logWarn(message);
95
148
  return { type: "failed" };
96
149
  }
97
150
  const result = await serverInfo.waitForCode(state);
@@ -125,7 +178,12 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
125
178
  }
126
179
  }
127
180
  for (const result of results) {
128
- const accountId = extractAccountId(result.access);
181
+ const accountId = result.accountIdOverride ?? extractAccountId(result.access);
182
+ const accountIdSource = accountId
183
+ ? result.accountIdSource ??
184
+ (result.accountIdOverride ? "manual" : "token")
185
+ : undefined;
186
+ const accountLabel = result.accountLabel;
129
187
  const accountEmail = sanitizeEmail(extractAccountEmail(result.access, result.idToken));
130
188
  const existingByEmail = accountEmail && indexByEmail.has(accountEmail)
131
189
  ? indexByEmail.get(accountEmail)
@@ -139,6 +197,8 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
139
197
  const newIndex = accounts.length;
140
198
  accounts.push({
141
199
  accountId,
200
+ accountIdSource,
201
+ accountLabel,
142
202
  email: accountEmail,
143
203
  refreshToken: result.refresh,
144
204
  addedAt: now,
@@ -159,9 +219,14 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
159
219
  const oldToken = existing.refreshToken;
160
220
  const oldEmail = existing.email;
161
221
  const nextEmail = accountEmail ?? existing.email;
222
+ const nextAccountId = accountId ?? existing.accountId;
223
+ const nextAccountIdSource = accountId ? accountIdSource ?? existing.accountIdSource : existing.accountIdSource;
224
+ const nextAccountLabel = accountLabel ?? existing.accountLabel;
162
225
  accounts[existingIndex] = {
163
226
  ...existing,
164
- accountId: accountId ?? existing.accountId,
227
+ accountId: nextAccountId,
228
+ accountIdSource: nextAccountIdSource,
229
+ accountLabel: nextAccountLabel,
165
230
  email: nextEmail,
166
231
  refreshToken: result.refresh,
167
232
  lastUsed: now,
@@ -245,8 +310,11 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
245
310
  return;
246
311
  const id = extractAccountId(refreshed.access);
247
312
  const email = sanitizeEmail(extractAccountEmail(refreshed.access, refreshed.idToken));
248
- if (id && id !== account.accountId) {
313
+ if (id &&
314
+ id !== account.accountId &&
315
+ shouldUpdateAccountIdFromToken(account.accountIdSource, account.accountId)) {
249
316
  account.accountId = id;
317
+ account.accountIdSource = "token";
250
318
  changed = true;
251
319
  }
252
320
  if (email && email !== account.email) {
@@ -453,7 +521,7 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
453
521
  }
454
522
  attempted.add(account.index);
455
523
  // Log account selection for debugging rotation
456
- console.log(`[oc-chatgpt-multi-auth] Using account ${account.index + 1}/${accountCount}: ${account.email ?? "unknown"} for ${modelFamily}`);
524
+ logDebug(`Using account ${account.index + 1}/${accountCount}: ${account.email ?? "unknown"} for ${modelFamily}`);
457
525
  let accountAuth = accountManager.toAuthDetails(account);
458
526
  try {
459
527
  if (shouldRefreshToken(accountAuth, tokenRefreshSkewMs)) {
@@ -468,6 +536,7 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
468
536
  accountManager.saveToDiskDebounced();
469
537
  continue;
470
538
  }
539
+ const hadAccountId = !!account.accountId;
471
540
  const accountId = account.accountId ?? extractAccountId(accountAuth.access);
472
541
  if (!accountId) {
473
542
  accountManager.markAccountCoolingDown(account, ACCOUNT_LIMITS.AUTH_FAILURE_COOLDOWN_MS, "auth-failure");
@@ -475,6 +544,9 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
475
544
  continue;
476
545
  }
477
546
  account.accountId = accountId;
547
+ if (!hadAccountId) {
548
+ account.accountIdSource = account.accountIdSource ?? "token";
549
+ }
478
550
  account.email =
479
551
  extractAccountEmail(accountAuth.access) ?? account.email;
480
552
  if (accountCount > 1 &&
@@ -525,7 +597,7 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
525
597
  accountManager.recordRateLimit(account, modelFamily, model);
526
598
  account.lastSwitchReason = "rate-limit";
527
599
  accountManager.saveToDiskDebounced();
528
- console.log(`[oc-chatgpt-multi-auth] Rate limited! Account ${account.index + 1} (${account.email ?? "unknown"}) will rotate to next account`);
600
+ logWarn(`Rate limited. Rotating account ${account.index + 1} (${account.email ?? "unknown"}).`);
529
601
  if (accountManager.getAccountCount() > 1 &&
530
602
  accountManager.shouldShowAccountToast(account.index, rateLimitToastDebounceMs)) {
531
603
  await showToast(`Rate limited. Switching accounts (retry in ${waitLabel}).`, "warning");
@@ -620,16 +692,6 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
620
692
  * @returns Authorization flow configuration
621
693
  */
622
694
  authorize: async (inputs) => {
623
- // Detect if running in TUI/Non-interactive mode (OpenCode GUI)
624
- // We force CLI usage to ensure proper shell interaction for OAuth flow
625
- if (!process.stdout.isTTY) {
626
- return {
627
- url: "",
628
- instructions: "Authentication via UI is currently closed. Please use the command `opencode auth login` in your terminal instead.",
629
- method: "auto",
630
- callback: async () => ({ type: "failed", reason: "unknown", message: "UI auth disabled" }),
631
- };
632
- }
633
695
  // Always use the multi-account flow regardless of inputs
634
696
  // The inputs parameter is only used for noBrowser flag, not for flow selection
635
697
  const accounts = [];
@@ -646,6 +708,7 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
646
708
  else {
647
709
  const existingAccounts = existingStorage.accounts.map((account, index) => ({
648
710
  accountId: account.accountId,
711
+ accountLabel: account.accountLabel,
649
712
  email: account.email,
650
713
  index,
651
714
  }));
@@ -653,10 +716,10 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
653
716
  startFresh = loginMode === "fresh";
654
717
  }
655
718
  if (startFresh) {
656
- console.log("\nStarting fresh - existing accounts will be replaced.\n");
719
+ logInfo("Starting fresh - existing accounts will be replaced.");
657
720
  }
658
721
  else {
659
- console.log("\nAdding to existing accounts.\n");
722
+ logInfo("Adding to existing accounts.");
660
723
  }
661
724
  }
662
725
  const requestedCount = Number.parseInt(inputs?.accountCount ?? "1", 10);
@@ -684,20 +747,23 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
684
747
  });
685
748
  }
686
749
  while (accounts.length < targetCount) {
687
- console.log(`\n=== OpenAI OAuth (Account ${accounts.length + 1}) ===`);
750
+ logInfo(`=== OpenAI OAuth (Account ${accounts.length + 1}) ===`);
688
751
  const forceNewLogin = accounts.length > 0;
689
752
  const result = await runOAuthFlow(forceNewLogin);
753
+ let resolved = null;
690
754
  if (result.type === "success") {
691
- const email = extractAccountEmail(result.access, result.idToken);
692
- const accountId = extractAccountId(result.access);
693
- const label = email || accountId || "Unknown account";
694
- console.log(`\n✓ Authenticated as: ${label}\n`);
695
- const isDuplicate = accounts.some((acc) => (accountId && extractAccountId(acc.access) === accountId) ||
755
+ resolved = await resolveAccountSelection(result);
756
+ const email = extractAccountEmail(resolved.access, resolved.idToken);
757
+ const accountId = resolved.accountIdOverride ?? extractAccountId(resolved.access);
758
+ const label = resolved.accountLabel ?? email ?? accountId ?? "Unknown account";
759
+ logInfo(`Authenticated as: ${label}`);
760
+ const isDuplicate = accounts.some((acc) => (accountId &&
761
+ (acc.accountIdOverride ?? extractAccountId(acc.access)) === accountId) ||
696
762
  (email && extractAccountEmail(acc.access, acc.idToken) === email));
697
763
  if (isDuplicate) {
698
- console.warn(`\n⚠️ WARNING: You authenticated with an account that is already in the list (${label}).`);
699
- console.warn("This usually happens if you didn't log out or use a different browser profile.");
700
- console.warn("The duplicate will update the existing entry.\n");
764
+ logWarn(`\n⚠️ WARNING: You authenticated with an account that is already in the list (${label}).`);
765
+ logWarn("This usually happens if you didn't log out or use a different browser profile.");
766
+ logWarn("The duplicate will update the existing entry.");
701
767
  }
702
768
  }
703
769
  if (result.type === "failed") {
@@ -709,14 +775,17 @@ export const OpenAIOAuthPlugin = async ({ client }) => {
709
775
  callback: async () => result,
710
776
  };
711
777
  }
712
- console.warn(`[${PLUGIN_NAME}] Skipping failed account ${accounts.length + 1}`);
778
+ logWarn(`[${PLUGIN_NAME}] Skipping failed account ${accounts.length + 1}`);
713
779
  break;
714
780
  }
715
- accounts.push(result);
781
+ if (!resolved) {
782
+ continue;
783
+ }
784
+ accounts.push(resolved);
716
785
  await showToast(`Account ${accounts.length} authenticated`, "success");
717
786
  try {
718
787
  const isFirstAccount = accounts.length === 1;
719
- await persistAccountPool([result], isFirstAccount && startFresh);
788
+ await persistAccountPool([resolved], isFirstAccount && startFresh);
720
789
  }
721
790
  catch (err) {
722
791
  logDebug(`[${PLUGIN_NAME}] Failed to persist account pool: ${err?.message ?? String(err)}`);
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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"}
@@ -1,10 +1,16 @@
1
1
  import type { Auth } from "@opencode-ai/sdk";
2
2
  import { type AccountStorageV3, type CooldownReason, type RateLimitStateV3 } from "./storage.js";
3
- import type { OAuthAuthDetails } from "./types.js";
3
+ import type { AccountIdSource, 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
7
  export type RateLimitReason = "quota" | "tokens" | "concurrent" | "unknown";
8
+ export interface AccountIdCandidate {
9
+ accountId: string;
10
+ label: string;
11
+ source: AccountIdSource;
12
+ isDefault?: boolean;
13
+ }
8
14
  /**
9
15
  * Extracts the ChatGPT account ID from a JWT access token.
10
16
  * @param accessToken - JWT access token from OAuth flow
@@ -16,6 +22,16 @@ export declare function extractAccountId(accessToken?: string): string | undefin
16
22
  * Checks id_token first (where OpenAI puts email), then falls back to access_token.
17
23
  */
18
24
  export declare function extractAccountEmail(accessToken?: string, idToken?: string): string | undefined;
25
+ /**
26
+ * Extracts all accountId candidates from access/id tokens.
27
+ * Used to support business workspaces/organizations that are not the token default.
28
+ */
29
+ export declare function getAccountIdCandidates(accessToken?: string, idToken?: string): AccountIdCandidate[];
30
+ /**
31
+ * Determines if accountId should be updated from a token-derived value.
32
+ * We keep org/manual selections stable across refreshes.
33
+ */
34
+ export declare function shouldUpdateAccountIdFromToken(source: AccountIdSource | undefined, currentAccountId?: string): boolean;
19
35
  /**
20
36
  * Sanitizes an email address by trimming whitespace and lowercasing.
21
37
  * @param email - Email string to sanitize
@@ -28,6 +44,8 @@ export declare function sanitizeEmail(email: string | undefined): string | undef
28
44
  export interface ManagedAccount {
29
45
  index: number;
30
46
  accountId?: string;
47
+ accountIdSource?: AccountIdSource;
48
+ accountLabel?: string;
31
49
  email?: string;
32
50
  refreshToken: string;
33
51
  access?: string;
@@ -100,6 +118,7 @@ export declare class AccountManager {
100
118
  export declare function formatAccountLabel(account: {
101
119
  email?: string;
102
120
  accountId?: string;
121
+ accountLabel?: string;
103
122
  } | undefined, index: number): string;
104
123
  /**
105
124
  * Formats milliseconds as a human-readable wait time (e.g., "2m 30s").
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../lib/accounts.ts"],"names":[],"mappings":"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"}