opencode-openai-codex-multi-auth 4.5.6 → 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.
@@ -6,11 +6,77 @@ import lockfile from "proper-lockfile";
6
6
  import { findAccountMatchIndex } from "./account-matching.js";
7
7
  const STORAGE_FILE = "openai-codex-accounts.json";
8
8
  const AUTH_DEBUG_ENABLED = process.env.OPENCODE_OPENAI_AUTH_DEBUG === "1";
9
+ const MAX_QUARANTINE_FILES = 20;
9
10
  function debug(...args) {
10
11
  if (!AUTH_DEBUG_ENABLED)
11
12
  return;
12
13
  console.debug(...args);
13
14
  }
15
+ function hasCompleteIdentity(record) {
16
+ return Boolean(record.accountId && record.email && record.plan);
17
+ }
18
+ function normalizeAccountRecord(candidate, now) {
19
+ if (!candidate || typeof candidate !== "object")
20
+ return null;
21
+ const record = candidate;
22
+ const refreshTokenRaw = typeof record.refreshToken === "string"
23
+ ? record.refreshToken
24
+ : typeof record.refresh_token === "string"
25
+ ? record.refresh_token
26
+ : typeof record.refresh === "string"
27
+ ? record.refresh
28
+ : undefined;
29
+ const refreshToken = typeof refreshTokenRaw === "string" ? refreshTokenRaw.trim() : "";
30
+ if (!refreshToken)
31
+ return null;
32
+ const accountIdRaw = typeof record.accountId === "string"
33
+ ? record.accountId
34
+ : typeof record.account_id === "string"
35
+ ? record.account_id
36
+ : undefined;
37
+ const accountId = typeof accountIdRaw === "string" && accountIdRaw.trim() ? accountIdRaw : undefined;
38
+ const emailRaw = typeof record.email === "string" ? record.email : undefined;
39
+ const email = typeof emailRaw === "string" && emailRaw.trim() ? emailRaw : undefined;
40
+ const planRaw = typeof record.plan === "string"
41
+ ? record.plan
42
+ : typeof record.chatgpt_plan_type === "string"
43
+ ? record.chatgpt_plan_type
44
+ : undefined;
45
+ const plan = typeof planRaw === "string" && planRaw.trim() ? planRaw : undefined;
46
+ const enabled = typeof record.enabled === "boolean" ? record.enabled : undefined;
47
+ const addedAt = typeof record.addedAt === "number" && Number.isFinite(record.addedAt)
48
+ ? record.addedAt
49
+ : now;
50
+ const lastUsed = typeof record.lastUsed === "number" && Number.isFinite(record.lastUsed)
51
+ ? record.lastUsed
52
+ : now;
53
+ const lastSwitchReason = typeof record.lastSwitchReason === "string" ? record.lastSwitchReason : undefined;
54
+ const rateLimitResetTimes = record.rateLimitResetTimes && typeof record.rateLimitResetTimes === "object"
55
+ ? record.rateLimitResetTimes
56
+ : undefined;
57
+ const coolingDownUntil = typeof record.coolingDownUntil === "number" && Number.isFinite(record.coolingDownUntil)
58
+ ? record.coolingDownUntil
59
+ : undefined;
60
+ const cooldownReasonRaw = typeof record.cooldownReason === "string" ? record.cooldownReason : undefined;
61
+ const cooldownReason = cooldownReasonRaw === "auth-failure" ? "auth-failure" : undefined;
62
+ return {
63
+ refreshToken,
64
+ accountId,
65
+ email,
66
+ plan,
67
+ enabled,
68
+ addedAt: Math.max(0, Math.floor(addedAt)),
69
+ lastUsed: Math.max(0, Math.floor(lastUsed)),
70
+ lastSwitchReason: lastSwitchReason === "rate-limit" ||
71
+ lastSwitchReason === "initial" ||
72
+ lastSwitchReason === "rotation"
73
+ ? lastSwitchReason
74
+ : undefined,
75
+ rateLimitResetTimes,
76
+ coolingDownUntil,
77
+ cooldownReason,
78
+ };
79
+ }
14
80
  const LOCK_OPTIONS = {
15
81
  stale: 10_000,
16
82
  retries: {
@@ -21,9 +87,16 @@ const LOCK_OPTIONS = {
21
87
  },
22
88
  realpath: false,
23
89
  };
90
+ async function ensureFileExists(path) {
91
+ if (existsSync(path))
92
+ return;
93
+ await fs.mkdir(dirname(path), { recursive: true });
94
+ await fs.writeFile(path, JSON.stringify({ version: 3, accounts: [], activeIndex: 0, activeIndexByFamily: {} }, null, 2), "utf-8");
95
+ }
24
96
  async function withFileLock(path, fn) {
25
97
  let release = null;
26
98
  try {
99
+ await ensureFileExists(path).catch(() => undefined);
27
100
  release = await lockfile.lock(path, LOCK_OPTIONS);
28
101
  return await fn();
29
102
  }
@@ -38,6 +111,47 @@ async function withFileLock(path, fn) {
38
111
  }
39
112
  }
40
113
  }
114
+ async function ensurePrivateFileMode(path) {
115
+ try {
116
+ // Best-effort: make quarantine files readable only by the current user.
117
+ await fs.chmod(path, 0o600);
118
+ }
119
+ catch {
120
+ // ignore (unsupported on some platforms/filesystems)
121
+ }
122
+ }
123
+ async function cleanupQuarantineFiles(storagePath) {
124
+ try {
125
+ const dir = dirname(storagePath);
126
+ const entries = await fs.readdir(dir);
127
+ const prefix = `${STORAGE_FILE}.quarantine-`;
128
+ const matches = entries
129
+ .filter((name) => name.startsWith(prefix) && name.endsWith(".json"))
130
+ .map((name) => {
131
+ const stampRaw = name.slice(prefix.length, name.length - ".json".length);
132
+ const stamp = Number.parseInt(stampRaw, 10);
133
+ return {
134
+ name,
135
+ stamp: Number.isFinite(stamp) ? stamp : 0,
136
+ };
137
+ })
138
+ .sort((a, b) => a.stamp - b.stamp);
139
+ if (matches.length <= MAX_QUARANTINE_FILES)
140
+ return;
141
+ const toDelete = matches.slice(0, matches.length - MAX_QUARANTINE_FILES);
142
+ await Promise.all(toDelete.map(async (entry) => {
143
+ try {
144
+ await fs.unlink(join(dir, entry.name));
145
+ }
146
+ catch {
147
+ // ignore per-file deletion failures
148
+ }
149
+ }));
150
+ }
151
+ catch {
152
+ // ignore cleanup failures
153
+ }
154
+ }
41
155
  function getOpencodeConfigDir() {
42
156
  const xdgConfigHome = process.env.XDG_CONFIG_HOME;
43
157
  if (xdgConfigHome && xdgConfigHome.trim()) {
@@ -68,68 +182,6 @@ function getLegacyStoragePath() {
68
182
  }
69
183
  function normalizeStorage(parsed) {
70
184
  const now = Date.now();
71
- const normalizeAccountRecord = (candidate) => {
72
- if (!candidate || typeof candidate !== "object")
73
- return null;
74
- const record = candidate;
75
- const refreshTokenRaw = typeof record.refreshToken === "string"
76
- ? record.refreshToken
77
- : typeof record.refresh_token === "string"
78
- ? record.refresh_token
79
- : typeof record.refresh === "string"
80
- ? record.refresh
81
- : undefined;
82
- const refreshToken = typeof refreshTokenRaw === "string" ? refreshTokenRaw.trim() : "";
83
- if (!refreshToken)
84
- return null;
85
- const accountIdRaw = typeof record.accountId === "string"
86
- ? record.accountId
87
- : typeof record.account_id === "string"
88
- ? record.account_id
89
- : undefined;
90
- const accountId = typeof accountIdRaw === "string" && accountIdRaw.trim() ? accountIdRaw : undefined;
91
- const emailRaw = typeof record.email === "string" ? record.email : undefined;
92
- const email = typeof emailRaw === "string" && emailRaw.trim() ? emailRaw : undefined;
93
- const planRaw = typeof record.plan === "string"
94
- ? record.plan
95
- : typeof record.chatgpt_plan_type === "string"
96
- ? record.chatgpt_plan_type
97
- : undefined;
98
- const plan = typeof planRaw === "string" && planRaw.trim() ? planRaw : undefined;
99
- const enabled = typeof record.enabled === "boolean" ? record.enabled : undefined;
100
- const addedAt = typeof record.addedAt === "number" && Number.isFinite(record.addedAt)
101
- ? record.addedAt
102
- : now;
103
- const lastUsed = typeof record.lastUsed === "number" && Number.isFinite(record.lastUsed)
104
- ? record.lastUsed
105
- : now;
106
- const lastSwitchReason = typeof record.lastSwitchReason === "string" ? record.lastSwitchReason : undefined;
107
- const rateLimitResetTimes = record.rateLimitResetTimes && typeof record.rateLimitResetTimes === "object"
108
- ? record.rateLimitResetTimes
109
- : undefined;
110
- const coolingDownUntil = typeof record.coolingDownUntil === "number" && Number.isFinite(record.coolingDownUntil)
111
- ? record.coolingDownUntil
112
- : undefined;
113
- const cooldownReasonRaw = typeof record.cooldownReason === "string" ? record.cooldownReason : undefined;
114
- const cooldownReason = cooldownReasonRaw === "auth-failure" ? "auth-failure" : undefined;
115
- return {
116
- refreshToken,
117
- accountId,
118
- email,
119
- plan,
120
- enabled,
121
- addedAt: Math.max(0, Math.floor(addedAt)),
122
- lastUsed: Math.max(0, Math.floor(lastUsed)),
123
- lastSwitchReason: lastSwitchReason === "rate-limit" ||
124
- lastSwitchReason === "initial" ||
125
- lastSwitchReason === "rotation"
126
- ? lastSwitchReason
127
- : undefined,
128
- rateLimitResetTimes,
129
- coolingDownUntil,
130
- cooldownReason,
131
- };
132
- };
133
185
  let accountsSource;
134
186
  let activeIndexSource = 0;
135
187
  let activeIndexByFamilySource = undefined;
@@ -148,7 +200,7 @@ function normalizeStorage(parsed) {
148
200
  if (!Array.isArray(accountsSource))
149
201
  return null;
150
202
  const normalizedAccounts = accountsSource
151
- .map(normalizeAccountRecord)
203
+ .map((entry) => normalizeAccountRecord(entry, now))
152
204
  .filter((a) => a !== null);
153
205
  const activeIndexRaw = typeof activeIndexSource === "number" && Number.isFinite(activeIndexSource)
154
206
  ? Math.max(0, Math.floor(activeIndexSource))
@@ -374,26 +426,15 @@ function mergeAccountStorage(existing, incoming) {
374
426
  async function migrateLegacyAccountsFileIfNeeded() {
375
427
  const newPath = getStoragePath();
376
428
  const legacyPath = getLegacyStoragePath();
377
- const newExists = existsSync(newPath);
378
- const legacyExists = existsSync(legacyPath);
379
- if (!legacyExists)
429
+ if (!existsSync(legacyPath))
380
430
  return;
381
- if (!newExists) {
382
- await fs.mkdir(dirname(newPath), { recursive: true });
383
- try {
384
- await fs.rename(legacyPath, newPath);
385
- }
386
- catch {
387
- try {
388
- await fs.copyFile(legacyPath, newPath);
389
- await fs.unlink(legacyPath);
390
- }
391
- catch {
392
- // Best-effort; ignore.
393
- }
394
- }
431
+ await withFileLock(newPath, async () => {
432
+ await migrateLegacyAccountsFileIfNeededLocked(newPath, legacyPath);
433
+ });
434
+ }
435
+ async function migrateLegacyAccountsFileIfNeededLocked(newPath, legacyPath) {
436
+ if (!existsSync(legacyPath))
395
437
  return;
396
- }
397
438
  try {
398
439
  const [newRaw, legacyRaw] = await Promise.all([
399
440
  fs.readFile(newPath, "utf-8"),
@@ -406,6 +447,12 @@ async function migrateLegacyAccountsFileIfNeeded() {
406
447
  if (!newStorage) {
407
448
  debug("[StorageMigration] New storage invalid, adopting legacy accounts");
408
449
  await fs.writeFile(newPath, JSON.stringify(legacyStorage, null, 2), "utf-8");
450
+ try {
451
+ await fs.unlink(legacyPath);
452
+ }
453
+ catch {
454
+ // Best-effort; ignore.
455
+ }
409
456
  return;
410
457
  }
411
458
  const { accounts: mergedAccounts, changed } = mergeAccounts(newStorage.accounts, legacyStorage.accounts);
@@ -438,6 +485,178 @@ async function migrateLegacyAccountsFileIfNeeded() {
438
485
  // Best-effort; ignore.
439
486
  }
440
487
  }
488
+ async function loadAccountsUnsafe(filePath) {
489
+ try {
490
+ const raw = await fs.readFile(filePath, "utf-8");
491
+ const parsed = JSON.parse(raw);
492
+ return normalizeStorage(parsed);
493
+ }
494
+ catch {
495
+ return null;
496
+ }
497
+ }
498
+ function extractAccountsSource(parsed) {
499
+ if (Array.isArray(parsed)) {
500
+ return { accountsSource: parsed, activeIndexSource: 0, activeIndexByFamilySource: undefined };
501
+ }
502
+ if (parsed && typeof parsed === "object") {
503
+ const storage = parsed;
504
+ if (!Array.isArray(storage.accounts))
505
+ return null;
506
+ return {
507
+ accountsSource: storage.accounts,
508
+ activeIndexSource: storage.activeIndex,
509
+ activeIndexByFamilySource: storage.activeIndexByFamily,
510
+ };
511
+ }
512
+ return null;
513
+ }
514
+ export async function inspectAccountsFile() {
515
+ const filePath = getStoragePath();
516
+ if (!existsSync(filePath)) {
517
+ return { status: "missing", corruptEntries: [], legacyEntries: [], validEntries: [] };
518
+ }
519
+ try {
520
+ const raw = await fs.readFile(filePath, "utf-8");
521
+ const parsed = JSON.parse(raw);
522
+ const source = extractAccountsSource(parsed);
523
+ if (!source) {
524
+ return {
525
+ status: "corrupt-file",
526
+ reason: "invalid-shape",
527
+ corruptEntries: [],
528
+ legacyEntries: [],
529
+ validEntries: [],
530
+ };
531
+ }
532
+ const now = Date.now();
533
+ const corruptEntries = [];
534
+ const legacyEntries = [];
535
+ const validEntries = [];
536
+ for (const entry of source.accountsSource) {
537
+ const normalized = normalizeAccountRecord(entry, now);
538
+ if (!normalized) {
539
+ corruptEntries.push(entry);
540
+ continue;
541
+ }
542
+ if (!hasCompleteIdentity(normalized)) {
543
+ legacyEntries.push(normalized);
544
+ continue;
545
+ }
546
+ validEntries.push(normalized);
547
+ }
548
+ if (corruptEntries.length > 0 || legacyEntries.length > 0) {
549
+ return {
550
+ status: "needs-repair",
551
+ corruptEntries,
552
+ legacyEntries,
553
+ validEntries,
554
+ };
555
+ }
556
+ return { status: "ok", corruptEntries: [], legacyEntries: [], validEntries };
557
+ }
558
+ catch {
559
+ return {
560
+ status: "corrupt-file",
561
+ reason: "parse-error",
562
+ corruptEntries: [],
563
+ legacyEntries: [],
564
+ validEntries: [],
565
+ };
566
+ }
567
+ }
568
+ async function writeAccountsFile(storage) {
569
+ const filePath = getStoragePath();
570
+ await withFileLock(filePath, async () => {
571
+ const jsonContent = JSON.stringify(storage, null, 2);
572
+ const tmpPath = `${filePath}.${randomBytes(6).toString("hex")}.tmp`;
573
+ try {
574
+ await fs.writeFile(tmpPath, jsonContent, "utf-8");
575
+ await fs.rename(tmpPath, filePath);
576
+ }
577
+ catch (error) {
578
+ try {
579
+ await fs.unlink(tmpPath);
580
+ }
581
+ catch {
582
+ // ignore cleanup errors
583
+ }
584
+ throw error;
585
+ }
586
+ });
587
+ }
588
+ export async function writeQuarantineFile(records, reason) {
589
+ const filePath = getStoragePath();
590
+ const quarantinePath = `${filePath}.quarantine-${Date.now()}.json`;
591
+ await fs.mkdir(dirname(filePath), { recursive: true });
592
+ const payload = {
593
+ reason,
594
+ quarantinedAt: new Date().toISOString(),
595
+ records,
596
+ };
597
+ if (existsSync(filePath)) {
598
+ await withFileLock(filePath, async () => {
599
+ await fs.writeFile(quarantinePath, JSON.stringify(payload, null, 2), "utf-8");
600
+ await ensurePrivateFileMode(quarantinePath);
601
+ await cleanupQuarantineFiles(filePath);
602
+ });
603
+ return quarantinePath;
604
+ }
605
+ await fs.writeFile(quarantinePath, JSON.stringify(payload, null, 2), "utf-8");
606
+ await ensurePrivateFileMode(quarantinePath);
607
+ await cleanupQuarantineFiles(filePath);
608
+ return quarantinePath;
609
+ }
610
+ export async function replaceAccountsFile(storage) {
611
+ await writeAccountsFile(storage);
612
+ }
613
+ export async function quarantineCorruptFile() {
614
+ const filePath = getStoragePath();
615
+ if (!existsSync(filePath))
616
+ return null;
617
+ const quarantinePath = `${filePath}.quarantine-${Date.now()}.json`;
618
+ await withFileLock(filePath, async () => {
619
+ if (!existsSync(filePath))
620
+ return;
621
+ await fs.copyFile(filePath, quarantinePath);
622
+ await ensurePrivateFileMode(quarantinePath);
623
+ await cleanupQuarantineFiles(filePath);
624
+ });
625
+ await writeAccountsFile({
626
+ version: 3,
627
+ accounts: [],
628
+ activeIndex: 0,
629
+ activeIndexByFamily: {},
630
+ });
631
+ return quarantinePath;
632
+ }
633
+ export async function autoQuarantineCorruptAccountsFile() {
634
+ const inspection = await inspectAccountsFile();
635
+ if (inspection.status !== "corrupt-file")
636
+ return null;
637
+ return await quarantineCorruptFile();
638
+ }
639
+ export async function quarantineAccounts(storage, entries, reason) {
640
+ if (!entries.length) {
641
+ return { storage, quarantinePath: await writeQuarantineFile([], reason) };
642
+ }
643
+ const tokens = new Set(entries.map((entry) => entry.refreshToken));
644
+ const remaining = storage.accounts.filter((account) => !tokens.has(account.refreshToken));
645
+ const normalized = normalizeStorage({
646
+ accounts: remaining,
647
+ activeIndex: storage.activeIndex,
648
+ activeIndexByFamily: storage.activeIndexByFamily,
649
+ });
650
+ const updated = normalized ?? {
651
+ version: 3,
652
+ accounts: [],
653
+ activeIndex: 0,
654
+ activeIndexByFamily: {},
655
+ };
656
+ const quarantinePath = await writeQuarantineFile(entries, reason);
657
+ await writeAccountsFile(updated);
658
+ return { storage: updated, quarantinePath };
659
+ }
441
660
  export async function loadAccounts() {
442
661
  await migrateLegacyAccountsFileIfNeeded();
443
662
  const filePath = getStoragePath();
@@ -475,23 +694,26 @@ export async function saveAccounts(storage) {
475
694
  const filePath = getStoragePath();
476
695
  debug(`[SaveAccounts] Saving to ${filePath} with ${storage.accounts.length} accounts`);
477
696
  try {
478
- await fs.mkdir(dirname(filePath), { recursive: true });
479
- if (!existsSync(filePath)) {
480
- await fs.writeFile(filePath, JSON.stringify({
481
- version: 3,
482
- accounts: [],
483
- activeIndex: 0,
484
- activeIndexByFamily: {},
485
- }, null, 2), "utf-8");
486
- }
487
697
  await withFileLock(filePath, async () => {
488
- const existing = await loadAccounts().catch(() => null);
698
+ await migrateLegacyAccountsFileIfNeededLocked(filePath, getLegacyStoragePath());
699
+ const existing = await loadAccountsUnsafe(filePath);
489
700
  const mergedStorage = existing ? mergeAccountStorage(existing, storage) : storage;
490
701
  const jsonContent = JSON.stringify(mergedStorage, null, 2);
491
702
  debug(`[SaveAccounts] Writing ${jsonContent.length} bytes`);
492
703
  const tmpPath = `${filePath}.${randomBytes(6).toString("hex")}.tmp`;
493
- await fs.writeFile(tmpPath, jsonContent, "utf-8");
494
- await fs.rename(tmpPath, filePath);
704
+ try {
705
+ await fs.writeFile(tmpPath, jsonContent, "utf-8");
706
+ await fs.rename(tmpPath, filePath);
707
+ }
708
+ catch (error) {
709
+ try {
710
+ await fs.unlink(tmpPath);
711
+ }
712
+ catch {
713
+ // ignore cleanup errors
714
+ }
715
+ throw error;
716
+ }
495
717
  if (AUTH_DEBUG_ENABLED) {
496
718
  const verifyContent = await fs.readFile(filePath, "utf-8");
497
719
  const verifyStorage = normalizeStorage(JSON.parse(verifyContent));
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-openai-codex-multi-auth",
3
- "version": "4.5.6",
3
+ "version": "4.5.9",
4
4
  "description": "OpenAI ChatGPT (Codex backend) OAuth auth plugin for opencode - use your ChatGPT Plus/Pro subscription instead of API credits",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -10,6 +10,10 @@
10
10
  "contributors": [
11
11
  "iam-brain (https://github.com/iam-brain)"
12
12
  ],
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "provenance": true
16
+ },
13
17
  "repository": {
14
18
  "type": "git",
15
19
  "url": "git+https://github.com/iam-brain/opencode-openai-codex-multi-auth.git"
@@ -39,9 +43,9 @@
39
43
  "test:watch": "vitest",
40
44
  "test:ui": "vitest --ui",
41
45
  "test:coverage": "vitest run --coverage",
42
- "release:patch": "npm test && npm version patch -m \"release: v%s\" && npm run build",
43
- "release:minor": "npm test && npm version minor -m \"release: v%s\" && npm run build",
44
- "release:major": "npm test && npm version major -m \"release: v%s\" && npm run build"
46
+ "release:patch": "npm test && npm version patch -m \"release: v%s\" && npm run build && git push origin main --follow-tags",
47
+ "release:minor": "npm test && npm version minor -m \"release: v%s\" && npm run build && git push origin main --follow-tags",
48
+ "release:major": "npm test && npm version major -m \"release: v%s\" && npm run build && git push origin main --follow-tags"
45
49
  },
46
50
  "bin": {
47
51
  "opencode-openai-codex-multi-auth": "scripts/install-opencode-codex-auth.js",