codex-multi-auth 1.2.1 → 1.2.2

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 (102) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +19 -8
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/accounts.d.ts +10 -0
  5. package/dist/lib/accounts.d.ts.map +1 -1
  6. package/dist/lib/accounts.js +312 -69
  7. package/dist/lib/accounts.js.map +1 -1
  8. package/dist/lib/circuit-breaker.d.ts +4 -0
  9. package/dist/lib/circuit-breaker.d.ts.map +1 -1
  10. package/dist/lib/circuit-breaker.js +33 -1
  11. package/dist/lib/circuit-breaker.js.map +1 -1
  12. package/dist/lib/codex-manager/commands/forecast.d.ts +2 -1
  13. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
  14. package/dist/lib/codex-manager/commands/forecast.js +92 -2
  15. package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
  16. package/dist/lib/codex-manager/commands/report.d.ts +2 -1
  17. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
  18. package/dist/lib/codex-manager/commands/report.js +87 -2
  19. package/dist/lib/codex-manager/commands/report.js.map +1 -1
  20. package/dist/lib/codex-manager.d.ts.map +1 -1
  21. package/dist/lib/codex-manager.js +2 -0
  22. package/dist/lib/codex-manager.js.map +1 -1
  23. package/dist/lib/health.d.ts +1 -0
  24. package/dist/lib/health.d.ts.map +1 -1
  25. package/dist/lib/health.js +6 -2
  26. package/dist/lib/health.js.map +1 -1
  27. package/dist/lib/parallel-probe.d.ts +1 -1
  28. package/dist/lib/parallel-probe.d.ts.map +1 -1
  29. package/dist/lib/parallel-probe.js +5 -2
  30. package/dist/lib/parallel-probe.js.map +1 -1
  31. package/dist/lib/proactive-refresh.d.ts +1 -1
  32. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  33. package/dist/lib/proactive-refresh.js +14 -5
  34. package/dist/lib/proactive-refresh.js.map +1 -1
  35. package/dist/lib/refresh-guardian.d.ts +3 -0
  36. package/dist/lib/refresh-guardian.d.ts.map +1 -1
  37. package/dist/lib/refresh-guardian.js +142 -52
  38. package/dist/lib/refresh-guardian.js.map +1 -1
  39. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  40. package/dist/lib/request/fetch-helpers.js +64 -13
  41. package/dist/lib/request/fetch-helpers.js.map +1 -1
  42. package/dist/lib/rotation.d.ts +14 -11
  43. package/dist/lib/rotation.d.ts.map +1 -1
  44. package/dist/lib/rotation.js +36 -30
  45. package/dist/lib/rotation.js.map +1 -1
  46. package/dist/lib/storage/identity.d.ts +6 -0
  47. package/dist/lib/storage/identity.d.ts.map +1 -1
  48. package/dist/lib/storage/identity.js +14 -3
  49. package/dist/lib/storage/identity.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/lib/codex-manager/best.d.ts +0 -26
  52. package/dist/lib/codex-manager/best.d.ts.map +0 -1
  53. package/dist/lib/codex-manager/best.js +0 -249
  54. package/dist/lib/codex-manager/best.js.map +0 -1
  55. package/dist/lib/codex-manager/config-explain.d.ts +0 -2
  56. package/dist/lib/codex-manager/config-explain.d.ts.map +0 -1
  57. package/dist/lib/codex-manager/config-explain.js +0 -62
  58. package/dist/lib/codex-manager/config-explain.js.map +0 -1
  59. package/dist/lib/codex-manager/config-template.d.ts +0 -2
  60. package/dist/lib/codex-manager/config-template.d.ts.map +0 -1
  61. package/dist/lib/codex-manager/config-template.js +0 -112
  62. package/dist/lib/codex-manager/config-template.js.map +0 -1
  63. package/dist/lib/codex-manager/debug-bundle.d.ts +0 -2
  64. package/dist/lib/codex-manager/debug-bundle.d.ts.map +0 -1
  65. package/dist/lib/codex-manager/debug-bundle.js +0 -128
  66. package/dist/lib/codex-manager/debug-bundle.js.map +0 -1
  67. package/dist/lib/codex-manager/doctor.d.ts +0 -20
  68. package/dist/lib/codex-manager/doctor.d.ts.map +0 -1
  69. package/dist/lib/codex-manager/doctor.js +0 -546
  70. package/dist/lib/codex-manager/doctor.js.map +0 -1
  71. package/dist/lib/codex-manager/fix.d.ts +0 -26
  72. package/dist/lib/codex-manager/fix.d.ts.map +0 -1
  73. package/dist/lib/codex-manager/fix.js +0 -366
  74. package/dist/lib/codex-manager/fix.js.map +0 -1
  75. package/dist/lib/codex-manager/forecast.d.ts +0 -26
  76. package/dist/lib/codex-manager/forecast.d.ts.map +0 -1
  77. package/dist/lib/codex-manager/forecast.js +0 -218
  78. package/dist/lib/codex-manager/forecast.js.map +0 -1
  79. package/dist/lib/codex-manager/info.d.ts +0 -11
  80. package/dist/lib/codex-manager/info.d.ts.map +0 -1
  81. package/dist/lib/codex-manager/info.js +0 -91
  82. package/dist/lib/codex-manager/info.js.map +0 -1
  83. package/dist/lib/codex-manager/login.d.ts +0 -40
  84. package/dist/lib/codex-manager/login.d.ts.map +0 -1
  85. package/dist/lib/codex-manager/login.js +0 -1041
  86. package/dist/lib/codex-manager/login.js.map +0 -1
  87. package/dist/lib/codex-manager/report.d.ts +0 -39
  88. package/dist/lib/codex-manager/report.d.ts.map +0 -1
  89. package/dist/lib/codex-manager/report.js +0 -243
  90. package/dist/lib/codex-manager/report.js.map +0 -1
  91. package/dist/lib/codex-manager/switch.d.ts +0 -31
  92. package/dist/lib/codex-manager/switch.d.ts.map +0 -1
  93. package/dist/lib/codex-manager/switch.js +0 -103
  94. package/dist/lib/codex-manager/switch.js.map +0 -1
  95. package/dist/lib/codex-manager/verify-flagged.d.ts +0 -20
  96. package/dist/lib/codex-manager/verify-flagged.d.ts.map +0 -1
  97. package/dist/lib/codex-manager/verify-flagged.js +0 -316
  98. package/dist/lib/codex-manager/verify-flagged.js.map +0 -1
  99. package/dist/lib/request/trace-mode.d.ts +0 -9
  100. package/dist/lib/request/trace-mode.d.ts.map +0 -1
  101. package/dist/lib/request/trace-mode.js +0 -14
  102. package/dist/lib/request/trace-mode.js.map +0 -1
@@ -1,249 +0,0 @@
1
- import { extractAccountEmail, extractAccountId, formatAccountLabel, sanitizeEmail, } from "../accounts.js";
2
- import { setCodexCliActiveSelection } from "../codex-cli/writer.js";
3
- import { evaluateForecastAccounts, recommendForecastAccount, } from "../forecast.js";
4
- import { fetchCodexQuotaSnapshot } from "../quota-probe.js";
5
- import { queuedRefresh } from "../refresh-queue.js";
6
- import { loadAccounts, saveAccounts, setStoragePath } from "../storage.js";
7
- import { printBestUsage } from "./help.js";
8
- function parseBestArgs(args) {
9
- const options = {
10
- live: false,
11
- json: false,
12
- model: "gpt-5-codex",
13
- modelProvided: false,
14
- };
15
- for (let i = 0; i < args.length; i += 1) {
16
- const arg = args[i];
17
- if (!arg)
18
- continue;
19
- if (arg === "--live" || arg === "-l")
20
- options.live = true;
21
- else if (arg === "--json" || arg === "-j")
22
- options.json = true;
23
- else if (arg === "--model" || arg === "-m") {
24
- const value = args[i + 1];
25
- if (!value)
26
- return { ok: false, message: "Missing value for --model" };
27
- options.model = value;
28
- options.modelProvided = true;
29
- i += 1;
30
- }
31
- else if (arg.startsWith("--model=")) {
32
- const value = arg.slice("--model=".length).trim();
33
- if (!value)
34
- return { ok: false, message: "Missing value for --model" };
35
- options.model = value;
36
- options.modelProvided = true;
37
- }
38
- else
39
- return { ok: false, message: `Unknown option: ${arg}` };
40
- }
41
- return { ok: true, options };
42
- }
43
- export async function runBest(args, deps) {
44
- if (args.includes("--help") || args.includes("-h")) {
45
- printBestUsage();
46
- return 0;
47
- }
48
- const parsedArgs = parseBestArgs(args);
49
- if (!parsedArgs.ok) {
50
- console.error(parsedArgs.message);
51
- printBestUsage();
52
- return 1;
53
- }
54
- const options = parsedArgs.options;
55
- if (options.modelProvided && !options.live) {
56
- console.error("--model requires --live for codex auth best");
57
- printBestUsage();
58
- return 1;
59
- }
60
- setStoragePath(null);
61
- const storage = await loadAccounts();
62
- if (!storage || storage.accounts.length === 0) {
63
- if (options.json)
64
- console.log(JSON.stringify({ error: "No accounts configured." }, null, 2));
65
- else
66
- console.log("No accounts configured.");
67
- return 1;
68
- }
69
- const now = Date.now();
70
- const refreshFailures = new Map();
71
- const liveQuotaByIndex = new Map();
72
- const probeIdTokenByIndex = new Map();
73
- const probeRefreshedIndices = new Set();
74
- const probeErrors = [];
75
- let changed = false;
76
- const printProbeNotes = () => {
77
- if (probeErrors.length === 0)
78
- return;
79
- console.log(`Live check notes (${probeErrors.length}):`);
80
- for (const error of probeErrors)
81
- console.log(` - ${error}`);
82
- };
83
- const persistProbeChangesIfNeeded = async () => {
84
- if (!changed)
85
- return;
86
- await saveAccounts(storage);
87
- changed = false;
88
- };
89
- for (let i = 0; i < storage.accounts.length; i += 1) {
90
- const account = storage.accounts[i];
91
- if (!account || !options.live || account.enabled === false)
92
- continue;
93
- let probeAccessToken = account.accessToken;
94
- let probeAccountId = account.accountId ?? extractAccountId(account.accessToken);
95
- if (!deps.hasUsableAccessToken(account, now)) {
96
- const refreshResult = await queuedRefresh(account.refreshToken);
97
- if (refreshResult.type !== "success") {
98
- refreshFailures.set(i, {
99
- ...refreshResult,
100
- message: deps.normalizeFailureDetail(refreshResult.message, refreshResult.reason),
101
- });
102
- continue;
103
- }
104
- const refreshedEmail = sanitizeEmail(extractAccountEmail(refreshResult.access, refreshResult.idToken));
105
- const refreshedAccountId = extractAccountId(refreshResult.access);
106
- if (account.refreshToken !== refreshResult.refresh) {
107
- account.refreshToken = refreshResult.refresh;
108
- changed = true;
109
- }
110
- if (account.accessToken !== refreshResult.access) {
111
- account.accessToken = refreshResult.access;
112
- changed = true;
113
- }
114
- if (account.expiresAt !== refreshResult.expires) {
115
- account.expiresAt = refreshResult.expires;
116
- changed = true;
117
- }
118
- if (refreshedEmail && refreshedEmail !== account.email) {
119
- account.email = refreshedEmail;
120
- changed = true;
121
- }
122
- if (refreshedAccountId && refreshedAccountId !== account.accountId) {
123
- account.accountId = refreshedAccountId;
124
- account.accountIdSource = "token";
125
- changed = true;
126
- }
127
- if (refreshResult.idToken)
128
- probeIdTokenByIndex.set(i, refreshResult.idToken);
129
- probeRefreshedIndices.add(i);
130
- probeAccessToken = account.accessToken;
131
- probeAccountId = account.accountId ?? refreshedAccountId;
132
- }
133
- if (!probeAccessToken || !probeAccountId) {
134
- probeErrors.push(`${formatAccountLabel(account, i)}: missing accountId for live probe`);
135
- continue;
136
- }
137
- try {
138
- const liveQuota = await fetchCodexQuotaSnapshot({
139
- accountId: probeAccountId,
140
- accessToken: probeAccessToken,
141
- model: options.model,
142
- });
143
- liveQuotaByIndex.set(i, liveQuota);
144
- }
145
- catch (error) {
146
- const message = deps.normalizeFailureDetail(error instanceof Error ? error.message : String(error), undefined);
147
- probeErrors.push(`${formatAccountLabel(account, i)}: ${message}`);
148
- }
149
- }
150
- const forecastResults = evaluateForecastAccounts(storage.accounts.map((account, index) => ({
151
- index,
152
- account,
153
- isCurrent: index === deps.resolveActiveIndex(storage, "codex"),
154
- now,
155
- refreshFailure: refreshFailures.get(index),
156
- liveQuota: liveQuotaByIndex.get(index),
157
- })));
158
- const recommendation = recommendForecastAccount(forecastResults);
159
- if (recommendation.recommendedIndex === null) {
160
- await persistProbeChangesIfNeeded();
161
- if (options.json)
162
- console.log(JSON.stringify({
163
- error: recommendation.reason,
164
- ...(probeErrors.length > 0 ? { probeErrors } : {}),
165
- }, null, 2));
166
- else {
167
- console.log(`No best account available: ${recommendation.reason}`);
168
- printProbeNotes();
169
- }
170
- return 1;
171
- }
172
- const bestIndex = recommendation.recommendedIndex;
173
- const bestAccount = storage.accounts[bestIndex];
174
- if (!bestAccount) {
175
- await persistProbeChangesIfNeeded();
176
- if (options.json)
177
- console.log(JSON.stringify({ error: "Best account not found." }, null, 2));
178
- else
179
- console.log("Best account not found.");
180
- return 1;
181
- }
182
- const currentIndex = deps.resolveActiveIndex(storage, "codex");
183
- if (currentIndex === bestIndex) {
184
- const shouldSyncCurrentBest = probeRefreshedIndices.has(bestIndex) ||
185
- probeIdTokenByIndex.has(bestIndex);
186
- let alreadyBestSynced;
187
- if (changed) {
188
- bestAccount.lastUsed = now;
189
- await persistProbeChangesIfNeeded();
190
- }
191
- if (shouldSyncCurrentBest) {
192
- alreadyBestSynced = await setCodexCliActiveSelection({
193
- accountId: bestAccount.accountId,
194
- email: bestAccount.email,
195
- accessToken: bestAccount.accessToken,
196
- refreshToken: bestAccount.refreshToken,
197
- expiresAt: bestAccount.expiresAt,
198
- ...(probeIdTokenByIndex.has(bestIndex)
199
- ? { idToken: probeIdTokenByIndex.get(bestIndex) }
200
- : {}),
201
- });
202
- if (!alreadyBestSynced && !options.json)
203
- console.warn("Codex auth sync did not complete. Multi-auth routing will still use this account.");
204
- }
205
- if (options.json)
206
- console.log(JSON.stringify({
207
- message: `Already on best account: ${formatAccountLabel(bestAccount, bestIndex)}`,
208
- accountIndex: bestIndex + 1,
209
- reason: recommendation.reason,
210
- ...(alreadyBestSynced !== undefined
211
- ? { synced: alreadyBestSynced }
212
- : {}),
213
- ...(probeErrors.length > 0 ? { probeErrors } : {}),
214
- }, null, 2));
215
- else {
216
- console.log(`Already on best account ${bestIndex + 1}: ${formatAccountLabel(bestAccount, bestIndex)}`);
217
- console.log(`Reason: ${recommendation.reason}`);
218
- printProbeNotes();
219
- }
220
- return 0;
221
- }
222
- const targetIndex = bestIndex;
223
- const parsed = targetIndex + 1;
224
- const { synced, wasDisabled } = await deps.persistAndSyncSelectedAccount({
225
- storage,
226
- targetIndex,
227
- parsed,
228
- switchReason: "best",
229
- initialSyncIdToken: probeIdTokenByIndex.get(bestIndex),
230
- });
231
- if (options.json)
232
- console.log(JSON.stringify({
233
- message: `Switched to best account: ${formatAccountLabel(bestAccount, targetIndex)}`,
234
- accountIndex: parsed,
235
- reason: recommendation.reason,
236
- synced,
237
- wasDisabled,
238
- ...(probeErrors.length > 0 ? { probeErrors } : {}),
239
- }, null, 2));
240
- else {
241
- console.log(`Switched to best account ${parsed}: ${formatAccountLabel(bestAccount, targetIndex)}${wasDisabled ? " (re-enabled)" : ""}`);
242
- console.log(`Reason: ${recommendation.reason}`);
243
- printProbeNotes();
244
- if (!synced)
245
- console.warn("Codex auth sync did not complete. Multi-auth routing will still use this account.");
246
- }
247
- return 0;
248
- }
249
- //# sourceMappingURL=best.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"best.js","sourceRoot":"","sources":["../../../lib/codex-manager/best.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function runConfigExplain(args: string[]): number;
2
- //# sourceMappingURL=config-explain.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-explain.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/config-explain.ts"],"names":[],"mappings":"AA2CA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAgDvD"}
@@ -1,62 +0,0 @@
1
- import { explainPluginConfig, } from "../config.js";
2
- import { printConfigExplainUsage } from "./help.js";
3
- function parseConfigExplainArgs(args) {
4
- const options = { json: false };
5
- for (const arg of args) {
6
- if (arg === "--json" || arg === "-j") {
7
- options.json = true;
8
- continue;
9
- }
10
- return { ok: false, message: `Unknown option: ${arg}` };
11
- }
12
- return { ok: true, options };
13
- }
14
- function formatSourceLabel(explanation) {
15
- switch (explanation.sourceKind) {
16
- case "defaults":
17
- return "defaults only";
18
- case "unified-settings":
19
- return "unified settings";
20
- case "env-file":
21
- return "env override file";
22
- case "legacy-file":
23
- return "legacy file";
24
- default:
25
- return explanation.sourceKind;
26
- }
27
- }
28
- export function runConfigExplain(args) {
29
- if (args.includes("--help") || args.includes("-h")) {
30
- printConfigExplainUsage();
31
- return 0;
32
- }
33
- const parsedArgs = parseConfigExplainArgs(args);
34
- if (!parsedArgs.ok) {
35
- console.error(parsedArgs.message);
36
- printConfigExplainUsage();
37
- return 1;
38
- }
39
- const explanation = explainPluginConfig();
40
- if (parsedArgs.options.json) {
41
- console.log(JSON.stringify({
42
- command: "config-explain",
43
- ...explanation,
44
- }, null, 2));
45
- return 0;
46
- }
47
- console.log("Config explain");
48
- console.log("");
49
- console.log(`Source: ${formatSourceLabel(explanation)}`);
50
- console.log(`Unified settings path: ${explanation.unifiedSettingsPath}`);
51
- if (explanation.sourcePath) {
52
- console.log(`Active config path: ${explanation.sourcePath}`);
53
- }
54
- if (explanation.envConfigPath) {
55
- console.log(`CODEX_MULTI_AUTH_CONFIG_PATH: ${explanation.envConfigPath}`);
56
- }
57
- console.log(`User config keys: ${explanation.userConfigKeys.length > 0 ? explanation.userConfigKeys.join(", ") : "none"}`);
58
- console.log(`Env overrides: ${explanation.activeEnvOverrides.length > 0 ? explanation.activeEnvOverrides.join(", ") : "none"}`);
59
- console.log(`Changed from defaults: ${explanation.changedKeys.length > 0 ? explanation.changedKeys.join(", ") : "none"}`);
60
- return 0;
61
- }
62
- //# sourceMappingURL=config-explain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-explain.js","sourceRoot":"","sources":["../../../lib/codex-manager/config-explain.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function runConfigTemplate(args: string[]): Promise<number>;
2
- //# sourceMappingURL=config-template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-template.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/config-template.ts"],"names":[],"mappings":"AA4DA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAuEvE"}
@@ -1,112 +0,0 @@
1
- import { existsSync, promises as fs } from "node:fs";
2
- import { dirname, resolve } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import { printConfigTemplateUsage } from "./help.js";
5
- function resolveConfigTemplateDir() {
6
- const candidates = [
7
- resolve(fileURLToPath(new URL("../../config", import.meta.url))),
8
- resolve(fileURLToPath(new URL("../../../config", import.meta.url))),
9
- ];
10
- for (const candidate of candidates) {
11
- if (existsSync(candidate)) {
12
- return candidate;
13
- }
14
- }
15
- return candidates[0] ?? resolve(process.cwd(), "config");
16
- }
17
- const CONFIG_DIR = resolveConfigTemplateDir();
18
- const TEMPLATE_FILES = {
19
- modern: "codex-modern.json",
20
- legacy: "codex-legacy.json",
21
- minimal: "minimal-codex.json",
22
- };
23
- const TEMPLATE_LIST = [
24
- {
25
- name: "modern",
26
- file: TEMPLATE_FILES.modern,
27
- description: "Variant-based starter config",
28
- },
29
- {
30
- name: "legacy",
31
- file: TEMPLATE_FILES.legacy,
32
- description: "Explicit-model starter config",
33
- },
34
- {
35
- name: "minimal",
36
- file: TEMPLATE_FILES.minimal,
37
- description: "Minimal debug config",
38
- },
39
- ];
40
- function getTemplatePath(name) {
41
- return resolve(CONFIG_DIR, TEMPLATE_FILES[name]);
42
- }
43
- async function readTemplate(name) {
44
- return fs.readFile(getTemplatePath(name), "utf-8");
45
- }
46
- export async function runConfigTemplate(args) {
47
- if (args.includes("--help") || args.includes("-h")) {
48
- printConfigTemplateUsage();
49
- return 0;
50
- }
51
- const [command, ...rest] = args;
52
- if (!command) {
53
- printConfigTemplateUsage();
54
- return 1;
55
- }
56
- if (command === "list") {
57
- console.log("Config templates");
58
- for (const template of TEMPLATE_LIST) {
59
- console.log(`- ${template.name}: ${template.description} (${template.file})`);
60
- }
61
- return 0;
62
- }
63
- if (command === "show") {
64
- const [nameArg, ...showArgs] = rest;
65
- if (!nameArg || !(nameArg in TEMPLATE_FILES)) {
66
- console.error(`Unknown template: ${nameArg ?? ""}`.trim());
67
- printConfigTemplateUsage();
68
- return 1;
69
- }
70
- let outPath;
71
- for (let i = 0; i < showArgs.length; i += 1) {
72
- const arg = showArgs[i];
73
- if (!arg)
74
- continue;
75
- if (arg === "--out") {
76
- const value = showArgs[i + 1];
77
- if (!value) {
78
- console.error("Missing value for --out");
79
- return 1;
80
- }
81
- outPath = value;
82
- i += 1;
83
- continue;
84
- }
85
- if (arg.startsWith("--out=")) {
86
- outPath = arg.slice("--out=".length).trim();
87
- if (!outPath) {
88
- console.error("Missing value for --out");
89
- return 1;
90
- }
91
- continue;
92
- }
93
- console.error(`Unknown option: ${arg}`);
94
- return 1;
95
- }
96
- const name = nameArg;
97
- const content = await readTemplate(name);
98
- if (outPath) {
99
- const resolvedOutPath = resolve(process.cwd(), outPath);
100
- await fs.mkdir(dirname(resolvedOutPath), { recursive: true });
101
- await fs.writeFile(resolvedOutPath, content, "utf-8");
102
- console.log(`Template written: ${resolvedOutPath}`);
103
- return 0;
104
- }
105
- console.log(content.trimEnd());
106
- return 0;
107
- }
108
- console.error(`Unknown config template command: ${command}`);
109
- printConfigTemplateUsage();
110
- return 1;
111
- }
112
- //# sourceMappingURL=config-template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-template.js","sourceRoot":"","sources":["../../../lib/codex-manager/config-template.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function runDebugBundle(args: string[]): Promise<number>;
2
- //# sourceMappingURL=debug-bundle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-bundle.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/debug-bundle.ts"],"names":[],"mappings":"AAqFA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqFpE"}
@@ -1,128 +0,0 @@
1
- import { promises as fs } from "node:fs";
2
- import { dirname, resolve } from "node:path";
3
- import { getCodexCliAuthPath, getCodexCliConfigPath, loadCodexCliState, } from "../codex-cli/state.js";
4
- import { explainPluginConfig } from "../config.js";
5
- import { loadDashboardDisplaySettings } from "../dashboard-settings.js";
6
- import { getStoragePath, loadAccounts, loadFlaggedAccounts, setStoragePath, } from "../storage.js";
7
- import { printDebugBundleUsage } from "./help.js";
8
- function parseDebugBundleArgs(args) {
9
- const options = { json: false };
10
- for (let i = 0; i < args.length; i += 1) {
11
- const arg = args[i];
12
- if (!arg)
13
- continue;
14
- if (arg === "--json" || arg === "-j") {
15
- options.json = true;
16
- continue;
17
- }
18
- if (arg === "--out") {
19
- const value = args[i + 1];
20
- if (!value) {
21
- return { ok: false, message: "Missing value for --out" };
22
- }
23
- options.outPath = value;
24
- i += 1;
25
- continue;
26
- }
27
- if (arg.startsWith("--out=")) {
28
- const value = arg.slice("--out=".length).trim();
29
- if (!value) {
30
- return { ok: false, message: "Missing value for --out" };
31
- }
32
- options.outPath = value;
33
- continue;
34
- }
35
- return { ok: false, message: `Unknown option: ${arg}` };
36
- }
37
- return { ok: true, options };
38
- }
39
- function summarizeStorage(storage) {
40
- if (!storage || storage.accounts.length === 0) {
41
- return {
42
- totalAccounts: 0,
43
- enabledAccounts: 0,
44
- disabledAccounts: 0,
45
- activeIndex: null,
46
- };
47
- }
48
- const totalAccounts = storage.accounts.length;
49
- const enabledAccounts = storage.accounts.filter((account) => account.enabled !== false).length;
50
- return {
51
- totalAccounts,
52
- enabledAccounts,
53
- disabledAccounts: totalAccounts - enabledAccounts,
54
- activeIndex: storage.activeIndex + 1,
55
- };
56
- }
57
- export async function runDebugBundle(args) {
58
- if (args.includes("--help") || args.includes("-h")) {
59
- printDebugBundleUsage();
60
- return 0;
61
- }
62
- const parsedArgs = parseDebugBundleArgs(args);
63
- if (!parsedArgs.ok) {
64
- console.error(parsedArgs.message);
65
- printDebugBundleUsage();
66
- return 1;
67
- }
68
- const options = parsedArgs.options;
69
- setStoragePath(null);
70
- const [storage, flaggedStorage, dashboardSettings, codexCliState] = await Promise.all([
71
- loadAccounts(),
72
- loadFlaggedAccounts(),
73
- loadDashboardDisplaySettings(),
74
- loadCodexCliState({ forceRefresh: true }),
75
- ]);
76
- const explanation = explainPluginConfig();
77
- const bundle = {
78
- command: "debug-bundle",
79
- generatedAt: new Date().toISOString(),
80
- storagePath: getStoragePath(),
81
- flaggedStoragePath: getStoragePath().replace("openai-codex-accounts.json", "openai-codex-flagged-accounts.json"),
82
- codexCli: {
83
- authPath: getCodexCliAuthPath(),
84
- configPath: getCodexCliConfigPath(),
85
- statePath: codexCliState?.path ?? null,
86
- activeAccountId: codexCliState?.activeAccountId ?? null,
87
- activeEmail: codexCliState?.activeEmail ?? null,
88
- },
89
- config: {
90
- sourceKind: explanation.sourceKind,
91
- sourcePath: explanation.sourcePath,
92
- unifiedSettingsPath: explanation.unifiedSettingsPath,
93
- envConfigPath: explanation.envConfigPath,
94
- userConfigKeys: explanation.userConfigKeys,
95
- activeEnvOverrides: explanation.activeEnvOverrides,
96
- changedKeys: explanation.changedKeys,
97
- },
98
- dashboardSettings,
99
- accounts: summarizeStorage(storage),
100
- flaggedAccounts: {
101
- total: flaggedStorage.accounts.length,
102
- },
103
- };
104
- if (options.outPath) {
105
- const outputPath = resolve(process.cwd(), options.outPath);
106
- await fs.mkdir(dirname(outputPath), { recursive: true });
107
- await fs.writeFile(outputPath, `${JSON.stringify(bundle, null, 2)}\n`, "utf-8");
108
- }
109
- if (options.json) {
110
- console.log(JSON.stringify(bundle, null, 2));
111
- return 0;
112
- }
113
- console.log("Debug bundle");
114
- console.log(`Generated: ${bundle.generatedAt}`);
115
- console.log(`Storage: ${bundle.storagePath}`);
116
- console.log(`Flagged storage: ${bundle.flaggedStoragePath}`);
117
- console.log(`Config source: ${bundle.config.sourceKind}`);
118
- console.log(`Accounts: ${bundle.accounts.totalAccounts} total (${bundle.accounts.enabledAccounts} enabled, ${bundle.accounts.disabledAccounts} disabled)`);
119
- console.log(`Flagged accounts: ${bundle.flaggedAccounts.total}`);
120
- if (bundle.accounts.activeIndex !== null) {
121
- console.log(`Active account: ${bundle.accounts.activeIndex}`);
122
- }
123
- if (options.outPath) {
124
- console.log(`Bundle written: ${resolve(process.cwd(), options.outPath)}`);
125
- }
126
- return 0;
127
- }
128
- //# sourceMappingURL=debug-bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug-bundle.js","sourceRoot":"","sources":["../../../lib/codex-manager/debug-bundle.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { type ModelFamily } from "../prompts/codex.js";
2
- export interface DoctorCommandDeps {
3
- resolveActiveIndex(storage: {
4
- activeIndex: number;
5
- activeIndexByFamily?: Record<string, number>;
6
- accounts: unknown[];
7
- }, family?: ModelFamily): number;
8
- hasUsableAccessToken(account: {
9
- accessToken?: string;
10
- expiresAt?: number;
11
- }, now: number): boolean;
12
- normalizeFailureDetail(message: string | undefined, reason: string | undefined): string;
13
- applyTokenAccountIdentity(account: {
14
- accountId?: string;
15
- accountIdSource?: string;
16
- }, tokenAccountId: string | undefined): boolean;
17
- hasLikelyInvalidRefreshToken(refreshToken: string): boolean;
18
- }
19
- export declare function runDoctor(args: string[], deps: DoctorCommandDeps): Promise<number>;
20
- //# sourceMappingURL=doctor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/doctor.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAmCvE,MAAM,WAAW,iBAAiB;IACjC,kBAAkB,CACjB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,QAAQ,EAAE,OAAO,EAAE,CAAC;KACpB,EACD,MAAM,CAAC,EAAE,WAAW,GAClB,MAAM,CAAC;IACV,oBAAoB,CACnB,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EACrD,GAAG,EAAE,MAAM,GACT,OAAO,CAAC;IACX,sBAAsB,CACrB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,CAAC;IACV,yBAAyB,CACxB,OAAO,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,EACzD,cAAc,EAAE,MAAM,GAAG,SAAS,GAChC,OAAO,CAAC;IACX,4BAA4B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5D;AAsID,wBAAsB,SAAS,CAC9B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,iBAAiB,GACrB,OAAO,CAAC,MAAM,CAAC,CAkcjB"}