oc-codex-multi-auth 6.7.1 → 6.8.1

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 (84) hide show
  1. package/README.md +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +13 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/accounts/persistence.d.ts +10 -0
  6. package/dist/lib/accounts/persistence.d.ts.map +1 -1
  7. package/dist/lib/accounts/persistence.js +69 -2
  8. package/dist/lib/accounts/persistence.js.map +1 -1
  9. package/dist/lib/accounts/state.d.ts +2 -0
  10. package/dist/lib/accounts/state.d.ts.map +1 -1
  11. package/dist/lib/accounts/state.js +10 -0
  12. package/dist/lib/accounts/state.js.map +1 -1
  13. package/dist/lib/auth/login-runner.d.ts +1 -0
  14. package/dist/lib/auth/login-runner.d.ts.map +1 -1
  15. package/dist/lib/auth/login-runner.js +8 -0
  16. package/dist/lib/auth/login-runner.js.map +1 -1
  17. package/dist/lib/codex-reset.d.ts +122 -0
  18. package/dist/lib/codex-reset.d.ts.map +1 -0
  19. package/dist/lib/codex-reset.js +196 -0
  20. package/dist/lib/codex-reset.js.map +1 -0
  21. package/dist/lib/codex-usage.d.ts +15 -0
  22. package/dist/lib/codex-usage.d.ts.map +1 -1
  23. package/dist/lib/codex-usage.js +44 -13
  24. package/dist/lib/codex-usage.js.map +1 -1
  25. package/dist/lib/proactive-refresh.d.ts.map +1 -1
  26. package/dist/lib/proactive-refresh.js +6 -4
  27. package/dist/lib/proactive-refresh.js.map +1 -1
  28. package/dist/lib/refresh-queue.d.ts +9 -0
  29. package/dist/lib/refresh-queue.d.ts.map +1 -1
  30. package/dist/lib/refresh-queue.js +29 -0
  31. package/dist/lib/refresh-queue.js.map +1 -1
  32. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  33. package/dist/lib/request/fetch-helpers.js +21 -2
  34. package/dist/lib/request/fetch-helpers.js.map +1 -1
  35. package/dist/lib/request/request-transformer.d.ts +10 -0
  36. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  37. package/dist/lib/request/request-transformer.js +20 -0
  38. package/dist/lib/request/request-transformer.js.map +1 -1
  39. package/dist/lib/request/response-handler.d.ts.map +1 -1
  40. package/dist/lib/request/response-handler.js +28 -5
  41. package/dist/lib/request/response-handler.js.map +1 -1
  42. package/dist/lib/schemas.d.ts +3 -0
  43. package/dist/lib/schemas.d.ts.map +1 -1
  44. package/dist/lib/schemas.js +1 -0
  45. package/dist/lib/schemas.js.map +1 -1
  46. package/dist/lib/storage/migrations.d.ts +7 -0
  47. package/dist/lib/storage/migrations.d.ts.map +1 -1
  48. package/dist/lib/storage/migrations.js.map +1 -1
  49. package/dist/lib/storage.d.ts +1 -1
  50. package/dist/lib/storage.d.ts.map +1 -1
  51. package/dist/lib/storage.js +10 -1
  52. package/dist/lib/storage.js.map +1 -1
  53. package/dist/lib/tools/codex-keychain.d.ts.map +1 -1
  54. package/dist/lib/tools/codex-keychain.js +153 -77
  55. package/dist/lib/tools/codex-keychain.js.map +1 -1
  56. package/dist/lib/tools/codex-label.d.ts.map +1 -1
  57. package/dist/lib/tools/codex-label.js +60 -34
  58. package/dist/lib/tools/codex-label.js.map +1 -1
  59. package/dist/lib/tools/codex-limits.js +10 -4
  60. package/dist/lib/tools/codex-limits.js.map +1 -1
  61. package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
  62. package/dist/lib/tools/codex-refresh.js +80 -5
  63. package/dist/lib/tools/codex-refresh.js.map +1 -1
  64. package/dist/lib/tools/codex-remove.d.ts.map +1 -1
  65. package/dist/lib/tools/codex-remove.js +85 -56
  66. package/dist/lib/tools/codex-remove.js.map +1 -1
  67. package/dist/lib/tools/codex-reset.d.ts +16 -0
  68. package/dist/lib/tools/codex-reset.d.ts.map +1 -0
  69. package/dist/lib/tools/codex-reset.js +332 -0
  70. package/dist/lib/tools/codex-reset.js.map +1 -0
  71. package/dist/lib/tools/codex-switch.d.ts.map +1 -1
  72. package/dist/lib/tools/codex-switch.js +57 -35
  73. package/dist/lib/tools/codex-switch.js.map +1 -1
  74. package/dist/lib/tools/index.d.ts.map +1 -1
  75. package/dist/lib/tools/index.js +2 -0
  76. package/dist/lib/tools/index.js.map +1 -1
  77. package/dist/lib/tui-quota-cache.d.ts +25 -0
  78. package/dist/lib/tui-quota-cache.d.ts.map +1 -1
  79. package/dist/lib/tui-quota-cache.js +42 -1
  80. package/dist/lib/tui-quota-cache.js.map +1 -1
  81. package/dist/tui.d.ts.map +1 -1
  82. package/dist/tui.js +17 -5
  83. package/dist/tui.js.map +1 -1
  84. package/package.json +153 -153
@@ -1 +1 @@
1
- {"version":3,"file":"codex-remove.js","sourceRoot":"","sources":["../../../lib/tools/codex-remove.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-remove.js","sourceRoot":"","sources":["../../../lib/tools/codex-remove.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * `codex-reset` tool — view and redeem banked Codex rate-limit reset credits.
3
+ *
4
+ * Closes the gap for users who cannot reach OpenAI's redemption UI (desktop
5
+ * app / IDE extensions / Codex CLI `/usage`): the credits are granted per
6
+ * account, and this plugin already holds the credentials needed to spend them.
7
+ *
8
+ * Redeeming is irreversible and spends a finite credit, so `action="consume"`
9
+ * only issues the POST when `confirm` is `true`. A tool call has no interactive
10
+ * y/N prompt, so confirmation is an explicit argument instead — an unconfirmed
11
+ * consume renders the same preview a dry run does and changes nothing.
12
+ */
13
+ import { type ToolDefinition } from "@opencode-ai/plugin/tool";
14
+ import type { ToolContext } from "./index.js";
15
+ export declare function createCodexResetTool(ctx: ToolContext): ToolDefinition;
16
+ //# sourceMappingURL=codex-reset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-reset.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-reset.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8BrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAqE9C,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CA0TrE"}
@@ -0,0 +1,332 @@
1
+ /**
2
+ * `codex-reset` tool — view and redeem banked Codex rate-limit reset credits.
3
+ *
4
+ * Closes the gap for users who cannot reach OpenAI's redemption UI (desktop
5
+ * app / IDE extensions / Codex CLI `/usage`): the credits are granted per
6
+ * account, and this plugin already holds the credentials needed to spend them.
7
+ *
8
+ * Redeeming is irreversible and spends a finite credit, so `action="consume"`
9
+ * only issues the POST when `confirm` is `true`. A tool call has no interactive
10
+ * y/N prompt, so confirmation is an explicit argument instead — an unconfirmed
11
+ * consume renders the same preview a dry run does and changes nothing.
12
+ */
13
+ import { tool } from "@opencode-ai/plugin/tool";
14
+ import { consumeCodexResetCredit, createRedeemRequestId, fetchCodexResetCredits, formatCodexResetConsumeResult, formatCodexResetCredit, parseCodexResetCredits, selectRedeemableCredit, } from "../codex-reset.js";
15
+ import { ensureCodexUsageAccessToken, fetchCodexUsage, formatUsageLimitSummary, formatUsageLimitTitle, hasUsageWindow, parseCodexUsagePayload, resolveCodexUsageAccountId, } from "../codex-usage.js";
16
+ import { loadAccounts } from "../storage.js";
17
+ import { formatUiHeader, formatUiItem, formatUiKeyValue, } from "../ui/format.js";
18
+ import { normalizeToolOutputFormat, renderJsonOutput } from "../runtime.js";
19
+ function normalizeResetAction(action) {
20
+ if (action === undefined || action === "status")
21
+ return "status";
22
+ if (action === "consume")
23
+ return "consume";
24
+ throw new Error(`Invalid action "${action}". Expected "status" or "consume".`);
25
+ }
26
+ /**
27
+ * Resolve the 1-based `account` argument to a storage index.
28
+ *
29
+ * Defaults to the active Codex account, since credits are granted per account
30
+ * and the one serving requests is the one whose windows the user wants reset.
31
+ */
32
+ function resolveResetAccountIndex(accountCount, activeIndex, account) {
33
+ if (account === undefined)
34
+ return activeIndex;
35
+ if (!Number.isInteger(account) ||
36
+ account < 1 ||
37
+ account > accountCount) {
38
+ throw new Error(`Invalid account ${account}. Expected 1-${accountCount}.`);
39
+ }
40
+ return account - 1;
41
+ }
42
+ function buildUsageLines(usage) {
43
+ const lines = [];
44
+ for (const window of [usage.primary, usage.secondary]) {
45
+ if (!hasUsageWindow(window))
46
+ continue;
47
+ lines.push(` ${formatUsageLimitTitle(window.windowMinutes)}: ${formatUsageLimitSummary(window)}`);
48
+ }
49
+ return lines;
50
+ }
51
+ function buildCreditLines(summary) {
52
+ const lines = [
53
+ `banked credits: ${summary.availableCount} available`,
54
+ ];
55
+ for (const credit of summary.credits) {
56
+ lines.push(` ${formatCodexResetCredit(credit)}`);
57
+ if (credit.title)
58
+ lines.push(` "${credit.title}"`);
59
+ }
60
+ if (summary.credits.length === 0) {
61
+ lines.push(" (none granted)");
62
+ }
63
+ return lines;
64
+ }
65
+ export function createCodexResetTool(ctx) {
66
+ const { resolveUiRuntime, resolveActiveIndex, formatCommandAccountLabel, resolveMaskEmail, buildJsonAccountIdentity, invalidateAccountManagerCache, } = ctx;
67
+ return tool({
68
+ description: "View banked Codex rate-limit reset credits, and redeem one to clear the current usage windows. Redeeming is irreversible and requires confirm=true.",
69
+ args: {
70
+ action: tool.schema
71
+ .string()
72
+ .optional()
73
+ .describe('"status" (default) lists banked credits and current usage. "consume" redeems one credit.'),
74
+ creditId: tool.schema
75
+ .string()
76
+ .optional()
77
+ .describe("Redeem this specific credit id. Defaults to the first available credit."),
78
+ confirm: tool.schema
79
+ .boolean()
80
+ .optional()
81
+ .describe("Must be true for action=\"consume\" to actually redeem. Without it the redemption is only previewed."),
82
+ dryRun: tool.schema
83
+ .boolean()
84
+ .optional()
85
+ .describe("Preview the redemption without spending the credit."),
86
+ account: tool.schema
87
+ .number()
88
+ .optional()
89
+ .describe("1-based account number to act on. Defaults to the active Codex account."),
90
+ format: tool.schema
91
+ .string()
92
+ .optional()
93
+ .describe('Output format: "text" (default) or "json".'),
94
+ includeSensitive: tool.schema
95
+ .boolean()
96
+ .optional()
97
+ .describe("Include raw account labels, emails, and account IDs in JSON output. Defaults to false."),
98
+ },
99
+ async execute({ action, creditId, confirm, dryRun, account, format, includeSensitive, } = {}) {
100
+ const ui = resolveUiRuntime();
101
+ const maskEmail = resolveMaskEmail();
102
+ const outputFormat = normalizeToolOutputFormat(format);
103
+ const resetAction = normalizeResetAction(action);
104
+ const includeSensitiveOutput = includeSensitive === true;
105
+ const storage = await loadAccounts();
106
+ if (!storage || storage.accounts.length === 0) {
107
+ if (outputFormat === "json") {
108
+ return renderJsonOutput({
109
+ message: "No Codex accounts configured. Run: opencode auth login",
110
+ action: resetAction,
111
+ credits: [],
112
+ availableCount: 0,
113
+ });
114
+ }
115
+ if (ui.v2Enabled) {
116
+ return [
117
+ ...formatUiHeader(ui, "Codex reset"),
118
+ "",
119
+ formatUiItem(ui, "No accounts configured.", "warning"),
120
+ formatUiItem(ui, "Run: opencode auth login", "accent"),
121
+ ].join("\n");
122
+ }
123
+ return "No Codex accounts configured. Run: opencode auth login";
124
+ }
125
+ const activeIndex = resolveActiveIndex(storage, "codex");
126
+ const index = resolveResetAccountIndex(storage.accounts.length, activeIndex, account);
127
+ const target = storage.accounts[index];
128
+ if (!target) {
129
+ throw new Error(`No account at position ${index + 1}.`);
130
+ }
131
+ const label = formatCommandAccountLabel(target, index);
132
+ const displayLabel = formatCommandAccountLabel(target, index, {
133
+ maskEmail,
134
+ });
135
+ const identity = buildJsonAccountIdentity(index, {
136
+ includeSensitive: includeSensitiveOutput,
137
+ account: target,
138
+ label,
139
+ });
140
+ try {
141
+ const credentials = await ensureCodexUsageAccessToken({
142
+ storage,
143
+ account: target,
144
+ });
145
+ if (credentials.persisted)
146
+ invalidateAccountManagerCache();
147
+ const accountId = resolveCodexUsageAccountId({
148
+ account: target,
149
+ accessToken: credentials.accessToken,
150
+ });
151
+ if (!accountId)
152
+ throw new Error("Missing account id");
153
+ const request = {
154
+ accountId,
155
+ accessToken: credentials.accessToken,
156
+ organizationId: target.organizationId,
157
+ };
158
+ if (resetAction === "status") {
159
+ // The two endpoints are independent, so overlap them rather than
160
+ // paying two serial round-trips on every status check.
161
+ const [creditsPayload, usagePayload] = await Promise.all([
162
+ fetchCodexResetCredits(request),
163
+ fetchCodexUsage(request),
164
+ ]);
165
+ const summary = parseCodexResetCredits(creditsPayload);
166
+ const usage = parseCodexUsagePayload(usagePayload);
167
+ if (outputFormat === "json") {
168
+ return renderJsonOutput({
169
+ ...identity,
170
+ action: "status",
171
+ availableCount: summary.availableCount,
172
+ credits: summary.credits,
173
+ planType: usage.planType,
174
+ limits: usage.limits,
175
+ });
176
+ }
177
+ const lines = ui.v2Enabled
178
+ ? [...formatUiHeader(ui, "Codex reset"), ""]
179
+ : [];
180
+ lines.push(`${displayLabel}:`);
181
+ lines.push(...buildCreditLines(summary));
182
+ lines.push("", "current usage:");
183
+ lines.push(...buildUsageLines(usage));
184
+ if (summary.availableCount > 0) {
185
+ lines.push("", 'Redeem with: codex-reset action="consume" confirm=true');
186
+ }
187
+ return lines.join("\n");
188
+ }
189
+ const summary = parseCodexResetCredits(await fetchCodexResetCredits(request));
190
+ const selection = selectRedeemableCredit(summary, creditId);
191
+ if (selection.type !== "selected") {
192
+ const message = selection.type === "not-found"
193
+ ? `No available credit with id ${selection.creditId}.`
194
+ : "No available credits to redeem.";
195
+ if (outputFormat === "json") {
196
+ return renderJsonOutput({
197
+ ...identity,
198
+ action: "consume",
199
+ redeemed: false,
200
+ reason: selection.type,
201
+ message,
202
+ availableCount: summary.availableCount,
203
+ credits: summary.credits,
204
+ });
205
+ }
206
+ return [`${displayLabel}:`, ` ${message}`].join("\n");
207
+ }
208
+ const credit = selection.credit;
209
+ // A consume without explicit confirmation is a preview, not a
210
+ // redemption: spending a credit cannot be undone, and a tool call
211
+ // offers no interactive prompt to fall back on.
212
+ const previewOnly = dryRun === true || confirm !== true;
213
+ if (previewOnly) {
214
+ const reason = dryRun === true ? "dry-run" : "unconfirmed";
215
+ if (outputFormat === "json") {
216
+ return renderJsonOutput({
217
+ ...identity,
218
+ action: "consume",
219
+ redeemed: false,
220
+ reason,
221
+ credit,
222
+ message: reason === "dry-run"
223
+ ? "Dry run: credit not redeemed."
224
+ : "Not redeemed. Pass confirm=true to redeem this credit.",
225
+ });
226
+ }
227
+ return [
228
+ `${displayLabel}:`,
229
+ " about to redeem:",
230
+ ` ${formatCodexResetCredit(credit)}`,
231
+ reason === "dry-run"
232
+ ? " dry run: credit not redeemed."
233
+ : ' not redeemed. Re-run with confirm=true to redeem this credit.',
234
+ ].join("\n");
235
+ }
236
+ let result;
237
+ try {
238
+ result = await consumeCodexResetCredit({
239
+ ...request,
240
+ creditId: credit.id,
241
+ redeemRequestId: createRedeemRequestId(credit.id),
242
+ });
243
+ }
244
+ catch (error) {
245
+ // The POST may have reached the backend before the failure
246
+ // (timeout, dropped response), so the redemption outcome is
247
+ // genuinely unknown — reporting `redeemed: false` here could
248
+ // send the user to spend a second credit. The idempotency key
249
+ // is derived from the credit id, so retrying the SAME credit
250
+ // is safe; the guidance below is about picking a different one.
251
+ const consumeError = (error instanceof Error ? error.message : String(error)).slice(0, 160);
252
+ if (outputFormat === "json") {
253
+ return renderJsonOutput({
254
+ ...identity,
255
+ action: "consume",
256
+ redeemed: null,
257
+ reason: "consume-failed",
258
+ credit,
259
+ error: consumeError,
260
+ message: `The consume request failed but may have reached the backend. Run codex-reset (status) and check whether ${credit.id} is still available before redeeming another credit.`,
261
+ });
262
+ }
263
+ return [
264
+ `${displayLabel}:`,
265
+ ` Error: ${consumeError}`,
266
+ " redemption outcome unknown: the request may have reached the backend.",
267
+ ` Run codex-reset (status) and check whether ${credit.id} is still available before redeeming another credit.`,
268
+ ].join("\n");
269
+ }
270
+ // Past this point the credit is spent and cannot be recovered. The
271
+ // usage refresh below is a courtesy read, so its failure must never
272
+ // reach the outer catch: reporting `redeemed: false` for a credit the
273
+ // server already consumed would send the user to redeem another one.
274
+ let usageAfter;
275
+ let usageError;
276
+ try {
277
+ usageAfter = parseCodexUsagePayload(await fetchCodexUsage(request));
278
+ }
279
+ catch (error) {
280
+ usageError = error instanceof Error ? error.message : String(error);
281
+ }
282
+ if (outputFormat === "json") {
283
+ return renderJsonOutput({
284
+ ...identity,
285
+ action: "consume",
286
+ redeemed: true,
287
+ credit,
288
+ result: {
289
+ code: result.code ?? null,
290
+ windowsReset: result.windows_reset ?? null,
291
+ redeemedAt: result.credit?.redeemed_at ?? null,
292
+ },
293
+ planType: usageAfter?.planType ?? null,
294
+ limits: usageAfter?.limits ?? null,
295
+ usageError: usageError ? usageError.slice(0, 160) : null,
296
+ });
297
+ }
298
+ return [
299
+ `${displayLabel}:`,
300
+ ` redeemed ${credit.id}`,
301
+ ` ${formatCodexResetConsumeResult(result)}`,
302
+ "",
303
+ ...(usageAfter
304
+ ? ["new usage:", ...buildUsageLines(usageAfter)]
305
+ : [
306
+ `new usage: unavailable (${usageError?.slice(0, 160)})`,
307
+ "The credit was redeemed. Run codex-reset to re-read usage.",
308
+ ]),
309
+ ].join("\n");
310
+ }
311
+ catch (error) {
312
+ const message = error instanceof Error ? error.message : String(error);
313
+ if (outputFormat === "json") {
314
+ return renderJsonOutput({
315
+ ...identity,
316
+ action: resetAction,
317
+ redeemed: false,
318
+ error: message.slice(0, 160),
319
+ });
320
+ }
321
+ if (ui.v2Enabled) {
322
+ return [
323
+ formatUiItem(ui, displayLabel),
324
+ ` ${formatUiKeyValue(ui, "Error", message.slice(0, 160), "danger")}`,
325
+ ].join("\n");
326
+ }
327
+ return [`${displayLabel}:`, ` Error: ${message.slice(0, 160)}`].join("\n");
328
+ }
329
+ },
330
+ });
331
+ }
332
+ //# sourceMappingURL=codex-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-reset.js","sourceRoot":"","sources":["../../../lib/tools/codex-reset.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex-switch.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-switch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAWrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAkKtE"}
1
+ {"version":3,"file":"codex-switch.d.ts","sourceRoot":"","sources":["../../../lib/tools/codex-switch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAWrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,CAmMtE"}
@@ -3,7 +3,7 @@
3
3
  * Extracted from `index.ts` per RC-1 Phase 2.
4
4
  */
5
5
  import { tool } from "@opencode-ai/plugin/tool";
6
- import { loadAccounts, saveAccounts } from "../storage.js";
6
+ import { loadAccounts, withAccountStorageTransaction } from "../storage.js";
7
7
  import { AccountManager } from "../accounts.js";
8
8
  import { logWarn } from "../logger.js";
9
9
  import { MODEL_FAMILIES } from "../prompts/codex.js";
@@ -22,8 +22,14 @@ export function createCodexSwitchTool(ctx) {
22
22
  async execute({ index } = {}) {
23
23
  const ui = resolveUiRuntime();
24
24
  const maskEmail = resolveMaskEmail();
25
- const storage = await loadAccounts();
26
- if (!storage || storage.accounts.length === 0) {
25
+ // This read is only used to render the "no accounts" / interactive
26
+ // picker UX. It is intentionally NOT the snapshot that gets mutated
27
+ // and saved below -- the mutate+save happens inside
28
+ // withAccountStorageTransaction against a freshly re-read snapshot so
29
+ // a concurrent save (e.g. a rotation persisting rate-limit state)
30
+ // between this read and the eventual save can't be clobbered.
31
+ const initialStorage = await loadAccounts();
32
+ if (!initialStorage || initialStorage.accounts.length === 0) {
27
33
  if (ui.v2Enabled) {
28
34
  return [
29
35
  ...formatUiHeader(ui, "Switch account"),
@@ -36,7 +42,7 @@ export function createCodexSwitchTool(ctx) {
36
42
  }
37
43
  let resolvedIndex = index;
38
44
  if (resolvedIndex === undefined) {
39
- const selectedIndex = await promptAccountIndexSelection(ui, storage, "Switch account");
45
+ const selectedIndex = await promptAccountIndexSelection(ui, initialStorage, "Switch account");
40
46
  if (selectedIndex === null) {
41
47
  if (supportsInteractiveMenus()) {
42
48
  if (ui.v2Enabled) {
@@ -61,48 +67,65 @@ export function createCodexSwitchTool(ctx) {
61
67
  }
62
68
  resolvedIndex = selectedIndex + 1;
63
69
  }
64
- const targetIndex = Math.floor((resolvedIndex ?? 0) - 1);
65
- if (!Number.isFinite(targetIndex) ||
66
- targetIndex < 0 ||
67
- targetIndex >= storage.accounts.length) {
70
+ const outcome = await withAccountStorageTransaction(async (current, persist) => {
71
+ const accounts = current?.accounts ?? [];
72
+ const targetIndex = (resolvedIndex ?? 0) - 1;
73
+ if (!current ||
74
+ !Number.isInteger(targetIndex) ||
75
+ targetIndex < 0 ||
76
+ targetIndex >= accounts.length) {
77
+ return { kind: "invalid", accountCount: accounts.length };
78
+ }
79
+ const now = Date.now();
80
+ const account = accounts[targetIndex];
81
+ if (account) {
82
+ account.lastUsed = now;
83
+ account.lastSwitchReason = "rotation";
84
+ }
85
+ const storage = current;
86
+ storage.activeIndex = targetIndex;
87
+ storage.activeIndexByFamily = storage.activeIndexByFamily ?? {};
88
+ for (const family of MODEL_FAMILIES) {
89
+ storage.activeIndexByFamily[family] = targetIndex;
90
+ }
91
+ const label = formatCommandAccountLabel(account, targetIndex, {
92
+ maskEmail,
93
+ });
94
+ try {
95
+ await persist(storage);
96
+ }
97
+ catch (saveError) {
98
+ logWarn("Failed to save account switch", {
99
+ error: String(saveError),
100
+ });
101
+ return { kind: "save-failed", label };
102
+ }
103
+ return { kind: "ok", label };
104
+ });
105
+ if (outcome.kind === "invalid") {
68
106
  if (ui.v2Enabled) {
69
107
  return [
70
108
  ...formatUiHeader(ui, "Switch account"),
71
109
  "",
72
110
  formatUiItem(ui, `Invalid account number: ${resolvedIndex}`, "danger"),
73
- formatUiKeyValue(ui, "Valid range", `1-${storage.accounts.length}`, "muted"),
111
+ formatUiKeyValue(ui, "Valid range", `1-${outcome.accountCount}`, "muted"),
74
112
  ].join("\n");
75
113
  }
76
- return `Invalid account number: ${resolvedIndex}\n\nValid range: 1-${storage.accounts.length}`;
114
+ return `Invalid account number: ${resolvedIndex}\n\nValid range: 1-${outcome.accountCount}`;
77
115
  }
78
- const now = Date.now();
79
- const account = storage.accounts[targetIndex];
80
- if (account) {
81
- account.lastUsed = now;
82
- account.lastSwitchReason = "rotation";
83
- }
84
- storage.activeIndex = targetIndex;
85
- storage.activeIndexByFamily = storage.activeIndexByFamily ?? {};
86
- for (const family of MODEL_FAMILIES) {
87
- storage.activeIndexByFamily[family] = targetIndex;
88
- }
89
- try {
90
- await saveAccounts(storage);
91
- }
92
- catch (saveError) {
93
- logWarn("Failed to save account switch", {
94
- error: String(saveError),
95
- });
96
- const label = formatCommandAccountLabel(account, targetIndex, { maskEmail });
116
+ if (outcome.kind === "save-failed") {
117
+ // The transaction only mutated its in-memory snapshot; the
118
+ // persist() call that would have made it durable threw, so
119
+ // nothing on disk actually changed. Wording must not imply the
120
+ // switch happened -- it didn't.
97
121
  if (ui.v2Enabled) {
98
122
  return [
99
123
  ...formatUiHeader(ui, "Switch account"),
100
124
  "",
101
- formatUiItem(ui, `Switched to ${label}`, "warning"),
102
- formatUiItem(ui, "Failed to persist change. It may be lost on restart.", "danger"),
125
+ formatUiItem(ui, `Failed to switch to ${outcome.label}: account storage could not be updated.`, "danger"),
103
126
  ].join("\n");
104
127
  }
105
- return `Switched to ${label} but failed to persist. Changes may be lost on restart.`;
128
+ return `Failed to switch to ${outcome.label}: account storage could not be updated.`;
106
129
  }
107
130
  try {
108
131
  await clearTuiQuotaSnapshot();
@@ -117,15 +140,14 @@ export function createCodexSwitchTool(ctx) {
117
140
  cachedAccountManagerRef.current = reloadedManager;
118
141
  accountManagerPromiseRef.current = Promise.resolve(reloadedManager);
119
142
  }
120
- const label = formatCommandAccountLabel(account, targetIndex, { maskEmail });
121
143
  if (ui.v2Enabled) {
122
144
  return [
123
145
  ...formatUiHeader(ui, "Switch account"),
124
146
  "",
125
- formatUiItem(ui, `${getStatusMarker(ui, "ok")} Switched to ${label}`, "success"),
147
+ formatUiItem(ui, `${getStatusMarker(ui, "ok")} Switched to ${outcome.label}`, "success"),
126
148
  ].join("\n");
127
149
  }
128
- return `Switched to account: ${label}`;
150
+ return `Switched to account: ${outcome.label}`;
129
151
  },
130
152
  });
131
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-switch.js","sourceRoot":"","sources":["../../../lib/tools/codex-switch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-switch.js","sourceRoot":"","sources":["../../../lib/tools/codex-switch.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/tools/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ import { createCodexSwitchTool } from "./codex-switch.js";
21
21
  import { createCodexWarmTool } from "./codex-warm.js";
22
22
  import { createCodexStatusTool } from "./codex-status.js";
23
23
  import { createCodexLimitsTool } from "./codex-limits.js";
24
+ import { createCodexResetTool } from "./codex-reset.js";
24
25
  import { createCodexMetricsTool } from "./codex-metrics.js";
25
26
  import { createCodexDoctorTool } from "./codex-doctor.js";
26
27
  import { createCodexLabelTool } from "./codex-label.js";
@@ -45,6 +46,7 @@ export function createToolRegistry(ctx) {
45
46
  "codex-warm": createCodexWarmTool(ctx),
46
47
  "codex-status": createCodexStatusTool(ctx),
47
48
  "codex-limits": createCodexLimitsTool(ctx),
49
+ "codex-reset": createCodexResetTool(ctx),
48
50
  "codex-metrics": createCodexMetricsTool(ctx),
49
51
  "codex-help": createCodexHelpTool(ctx),
50
52
  "codex-setup": createCodexSetupTool(ctx),