codex-multi-auth 2.2.0 → 2.2.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 (108) hide show
  1. package/.codex-plugin/plugin.json +9 -0
  2. package/README.md +3 -2
  3. package/dist/lib/auth/device-auth.d.ts.map +1 -1
  4. package/dist/lib/auth/device-auth.js +15 -0
  5. package/dist/lib/auth/device-auth.js.map +1 -1
  6. package/dist/lib/auth/server.d.ts.map +1 -1
  7. package/dist/lib/auth/server.js +12 -7
  8. package/dist/lib/auth/server.js.map +1 -1
  9. package/dist/lib/capability-policy.d.ts.map +1 -1
  10. package/dist/lib/capability-policy.js +5 -0
  11. package/dist/lib/capability-policy.js.map +1 -1
  12. package/dist/lib/codex-cli/state.d.ts.map +1 -1
  13. package/dist/lib/codex-cli/state.js +28 -7
  14. package/dist/lib/codex-cli/state.js.map +1 -1
  15. package/dist/lib/codex-manager/commands/best.d.ts.map +1 -1
  16. package/dist/lib/codex-manager/commands/best.js +2 -2
  17. package/dist/lib/codex-manager/commands/best.js.map +1 -1
  18. package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -1
  19. package/dist/lib/codex-manager/commands/budget.js +6 -0
  20. package/dist/lib/codex-manager/commands/budget.js.map +1 -1
  21. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
  22. package/dist/lib/codex-manager/commands/forecast.js +9 -7
  23. package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
  24. package/dist/lib/codex-manager/commands/integrations.js +2 -2
  25. package/dist/lib/codex-manager/commands/integrations.js.map +1 -1
  26. package/dist/lib/codex-manager/commands/models.js +3 -3
  27. package/dist/lib/codex-manager/commands/models.js.map +1 -1
  28. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
  29. package/dist/lib/codex-manager/commands/report.js +9 -7
  30. package/dist/lib/codex-manager/commands/report.js.map +1 -1
  31. package/dist/lib/codex-manager/commands/workspace.d.ts.map +1 -1
  32. package/dist/lib/codex-manager/commands/workspace.js +12 -1
  33. package/dist/lib/codex-manager/commands/workspace.js.map +1 -1
  34. package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +1 -1
  35. package/dist/lib/codex-manager/forecast-report-commands.js +11 -10
  36. package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -1
  37. package/dist/lib/codex-manager/help.d.ts.map +1 -1
  38. package/dist/lib/codex-manager/help.js +7 -5
  39. package/dist/lib/codex-manager/help.js.map +1 -1
  40. package/dist/lib/codex-manager/repair-commands.js +7 -7
  41. package/dist/lib/codex-manager/repair-commands.js.map +1 -1
  42. package/dist/lib/codex-manager.d.ts.map +1 -1
  43. package/dist/lib/codex-manager.js +72 -32
  44. package/dist/lib/codex-manager.js.map +1 -1
  45. package/dist/lib/config.d.ts.map +1 -1
  46. package/dist/lib/config.js +217 -13
  47. package/dist/lib/config.js.map +1 -1
  48. package/dist/lib/forecast.d.ts +1 -0
  49. package/dist/lib/forecast.d.ts.map +1 -1
  50. package/dist/lib/forecast.js +25 -2
  51. package/dist/lib/forecast.js.map +1 -1
  52. package/dist/lib/integration-generators.d.ts.map +1 -1
  53. package/dist/lib/integration-generators.js +1 -1
  54. package/dist/lib/integration-generators.js.map +1 -1
  55. package/dist/lib/local-client-tokens.d.ts.map +1 -1
  56. package/dist/lib/local-client-tokens.js +117 -64
  57. package/dist/lib/local-client-tokens.js.map +1 -1
  58. package/dist/lib/model-capability-matrix.d.ts.map +1 -1
  59. package/dist/lib/model-capability-matrix.js +13 -10
  60. package/dist/lib/model-capability-matrix.js.map +1 -1
  61. package/dist/lib/policy/runtime-policy.d.ts.map +1 -1
  62. package/dist/lib/policy/runtime-policy.js +8 -0
  63. package/dist/lib/policy/runtime-policy.js.map +1 -1
  64. package/dist/lib/prompts/codex.d.ts +1 -1
  65. package/dist/lib/prompts/codex.d.ts.map +1 -1
  66. package/dist/lib/prompts/codex.js +4 -4
  67. package/dist/lib/prompts/codex.js.map +1 -1
  68. package/dist/lib/quota-cache.d.ts.map +1 -1
  69. package/dist/lib/quota-cache.js +16 -1
  70. package/dist/lib/quota-cache.js.map +1 -1
  71. package/dist/lib/quota-probe.d.ts.map +1 -1
  72. package/dist/lib/quota-probe.js +2 -1
  73. package/dist/lib/quota-probe.js.map +1 -1
  74. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  75. package/dist/lib/request/fetch-helpers.js +3 -0
  76. package/dist/lib/request/fetch-helpers.js.map +1 -1
  77. package/dist/lib/request/helpers/model-map.d.ts +1 -0
  78. package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
  79. package/dist/lib/request/helpers/model-map.js +10 -0
  80. package/dist/lib/request/helpers/model-map.js.map +1 -1
  81. package/dist/lib/routing-mutex.d.ts +12 -0
  82. package/dist/lib/routing-mutex.d.ts.map +1 -1
  83. package/dist/lib/routing-mutex.js +38 -1
  84. package/dist/lib/routing-mutex.js.map +1 -1
  85. package/dist/lib/runtime/quota-probe.d.ts.map +1 -1
  86. package/dist/lib/runtime/quota-probe.js +2 -5
  87. package/dist/lib/runtime/quota-probe.js.map +1 -1
  88. package/dist/lib/runtime-rotation-proxy.d.ts +23 -1
  89. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  90. package/dist/lib/runtime-rotation-proxy.js +127 -11
  91. package/dist/lib/runtime-rotation-proxy.js.map +1 -1
  92. package/dist/lib/storage/account-persistence.d.ts.map +1 -1
  93. package/dist/lib/storage/account-persistence.js +11 -1
  94. package/dist/lib/storage/account-persistence.js.map +1 -1
  95. package/dist/lib/storage/record-utils.d.ts.map +1 -1
  96. package/dist/lib/storage/record-utils.js +6 -1
  97. package/dist/lib/storage/record-utils.js.map +1 -1
  98. package/dist/lib/storage/transactions.d.ts +8 -0
  99. package/dist/lib/storage/transactions.d.ts.map +1 -1
  100. package/dist/lib/storage/transactions.js +14 -1
  101. package/dist/lib/storage/transactions.js.map +1 -1
  102. package/dist/lib/storage.d.ts.map +1 -1
  103. package/dist/lib/storage.js +46 -9
  104. package/dist/lib/storage.js.map +1 -1
  105. package/package.json +4 -3
  106. package/scripts/codex-bin-resolver.js +28 -1
  107. package/scripts/mcodex.js +367 -0
  108. package/scripts/mcodex +0 -117
@@ -1,11 +1,13 @@
1
1
  import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
2
- import { existsSync, readFileSync } from "node:fs";
2
+ import { existsSync, readFileSync, statSync } from "node:fs";
3
3
  import { createServer } from "node:http";
4
4
  import { AccountManager, extractAccountId, } from "./accounts.js";
5
+ import { withRoutingMutex } from "./routing-mutex.js";
5
6
  import { getStoragePath } from "./storage.js";
6
7
  import { getFetchTimeoutMs, getNetworkErrorCooldownMs, getRetryAllAccountsMaxRetries, getServerErrorCooldownMs, getSessionAffinity, getSessionAffinityMaxEntries, getSessionAffinityTtlMs, getStreamStallTimeoutMs, getMinRotationIntervalMs, getTokenInvalidationCooldownMs, getTokenRefreshSkewMs, getPidOffsetEnabled, getRoutingMutexMode, loadPluginConfig, } from "./config.js";
7
8
  import { CODEX_BASE_URL, HTTP_STATUS, OPENAI_HEADERS, OPENAI_HEADER_VALUES, URL_PATHS, } from "./constants.js";
8
9
  import { getModelFamily } from "./prompts/codex.js";
10
+ import { CURRENT_CODEX_MODEL } from "./request/helpers/model-map.js";
9
11
  import { queuedRefresh } from "./refresh-queue.js";
10
12
  import { mutateRuntimeObservabilitySnapshot, recordRuntimePoolExhaustion, recordRuntimeReload, recordRuntimeReset, } from "./runtime/runtime-observability.js";
11
13
  import { createRuntimeUsageRecorder, evaluateRuntimePolicy, loadRuntimePolicyState, } from "./policy/runtime-policy.js";
@@ -203,6 +205,17 @@ function recordLastRuntimeAccount(status, identity) {
203
205
  // vitest workers (each pointing at their own temp storage file) cannot
204
206
  // corrupt each other's snapshots. See issue #474.
205
207
  const STORAGE_META_CACHE = new Map();
208
+ // The mtime+size short-circuit (L3) may only be trusted once the cached
209
+ // mtime is far enough in the past that no *subsequent* write could share the
210
+ // same coarse mtime tick. Filesystems report mtime at wildly different
211
+ // granularities (ext4 ns, FAT 2s, some network/Windows volumes ~1s, and CI
212
+ // containers occasionally coarser), and our writers use atomic rename, so two
213
+ // rapid CLI bumps can land on an identical mtimeMs. Within this settle window
214
+ // we therefore ignore mtime equality and fall back to the read + sha1 path
215
+ // (the real source of truth). Outside it, the file has been quiescent long
216
+ // enough that mtime equality provably means "unchanged", so we skip the read.
217
+ // 2s comfortably exceeds the coarsest mtime granularity we expect in practice.
218
+ const MTIME_SHORTCIRCUIT_SETTLE_MS = 2_000;
206
219
  function hashStorageBytes(bytes) {
207
220
  return createHash("sha1").update(bytes).digest("hex");
208
221
  }
@@ -213,7 +226,11 @@ function metaFromSnapshot(snapshot) {
213
226
  };
214
227
  }
215
228
  /**
216
- * Cheap, hot-path-safe single read with mtime-cache short-circuit. Transient
229
+ * Cheap, hot-path-safe single read with mtime-cache short-circuit. When the
230
+ * file's `mtimeMs` and `size` match the cached snapshot for this path we
231
+ * return the cached value WITHOUT reading or hashing the file. Only when
232
+ * mtime/size differ (or were never cached) do we `readFileSync` + sha1 and,
233
+ * if the content hash still matches, skip the `JSON.parse`. Transient
217
234
  * failures (EBUSY/EPERM/EACCES/EAGAIN, partial-write SyntaxError) fall through
218
235
  * to the last cached value for this path; defaults are only returned when the
219
236
  * file has never been successfully read.
@@ -229,11 +246,36 @@ export function readStorageMetaFromDisk(storagePath = getStoragePath()) {
229
246
  return { pinnedAccountIndex: null, affinityGeneration: 0 };
230
247
  }
231
248
  try {
249
+ // mtime+size short-circuit (L3): when neither has changed since the last
250
+ // successful read AND the cached mtime has settled (see
251
+ // MTIME_SHORTCIRCUIT_SETTLE_MS) we return the cached snapshot without
252
+ // reading or hashing the file. During the settle window we deliberately
253
+ // fall through to the read + sha1 path below, which stays the source of
254
+ // truth and protects against the coarse-mtime collision described on
255
+ // StorageMetaSnapshot. So this is a pure fast path for the common
256
+ // "file quiescent, proxy polling every request" case.
257
+ const stats = statSync(storagePath);
258
+ const cachedByStat = STORAGE_META_CACHE.get(storagePath);
259
+ if (cachedByStat &&
260
+ cachedByStat.mtimeMs === stats.mtimeMs &&
261
+ cachedByStat.size === stats.size &&
262
+ Date.now() - stats.mtimeMs > MTIME_SHORTCIRCUIT_SETTLE_MS) {
263
+ return metaFromSnapshot(cachedByStat);
264
+ }
232
265
  const bytes = readFileSync(storagePath);
233
266
  const contentHash = hashStorageBytes(bytes);
234
267
  const cached = STORAGE_META_CACHE.get(storagePath);
235
268
  if (cached && cached.contentHash === contentHash) {
236
- return metaFromSnapshot(cached);
269
+ // Content is byte-identical despite the mtime/size change (e.g. an
270
+ // atomic-rename rewrite of the same bytes). Refresh the stat fields so
271
+ // the next request takes the fast path, but skip the JSON.parse.
272
+ const refreshed = {
273
+ ...cached,
274
+ mtimeMs: stats.mtimeMs,
275
+ size: stats.size,
276
+ };
277
+ STORAGE_META_CACHE.set(storagePath, refreshed);
278
+ return metaFromSnapshot(refreshed);
237
279
  }
238
280
  const parsed = JSON.parse(bytes.toString("utf8"));
239
281
  const pinnedAccountIndex = typeof parsed.pinnedAccountIndex === "number" &&
@@ -247,6 +289,8 @@ export function readStorageMetaFromDisk(storagePath = getStoragePath()) {
247
289
  ? parsed.affinityGeneration
248
290
  : 0;
249
291
  const snapshot = {
292
+ mtimeMs: stats.mtimeMs,
293
+ size: stats.size,
250
294
  contentHash,
251
295
  pinnedAccountIndex,
252
296
  affinityGeneration,
@@ -311,7 +355,21 @@ async function persistRuntimeActiveAccount(accountManager, account, family, isPi
311
355
  // (syncCodexCliActiveSelectionForIndex), which is the lost-update window the
312
356
  // mutex exists to close. In legacy mode markSwitchedLocked runs inline, so
313
357
  // behavior is unchanged by default.
314
- await accountManager.markSwitchedLocked(account, "rotation", family);
358
+ //
359
+ // L4 fix: in "enabled" mode the SELECTION path already committed the cursor
360
+ // for this account inside the routing mutex (atomic select+commit, see the
361
+ // hot-path caller). Re-running markSwitchedLocked here — after the upstream
362
+ // fetch, in a *separate* critical section — would redundantly re-advance the
363
+ // cursor and could clobber a concurrent request's atomic advance that landed
364
+ // while this request was awaiting upstream. So only do the locked cursor
365
+ // commit in legacy mode, where selection does NOT commit under a lock and
366
+ // this remains the sole commit site (preserving legacy behavior exactly).
367
+ // `saveToDiskDebounced` + CLI sync still run in both modes: they snapshot the
368
+ // current in-memory state / mirror the CLI selection and do not advance the
369
+ // in-memory rotation cursor.
370
+ if (accountManager.getRoutingMutexMode() !== "enabled") {
371
+ await accountManager.markSwitchedLocked(account, "rotation", family);
372
+ }
315
373
  accountManager.saveToDiskDebounced();
316
374
  await accountManager.syncCodexCliActiveSelectionForIndex(account.index);
317
375
  }
@@ -439,7 +497,11 @@ function buildResponsesRequestContext(req, body) {
439
497
  method: "POST",
440
498
  upstreamPath: URL_PATHS.CODEX_RESPONSES,
441
499
  model,
442
- family: getModelFamily(model ?? "gpt-5.3-codex"),
500
+ // The /codex/responses path is codex-family. A model-less request must
501
+ // bucket into the codex family (rotation/cooldown/budget), so fall back to
502
+ // the current codex model — NOT the general DEFAULT_MODEL (gpt-5.5), whose
503
+ // family is gpt-5.2 and would mis-account a pass-through codex request.
504
+ family: getModelFamily(model ?? CURRENT_CODEX_MODEL),
443
505
  stream: parsedBody?.stream === true,
444
506
  sessionKey: resolveSessionKey(headers, parsedBody),
445
507
  };
@@ -779,6 +841,24 @@ function getQuotaNearExhaustionWaitMs(headers, remainingThreshold, now) {
779
841
  }
780
842
  return candidates.length > 0 ? Math.max(...candidates) : 0;
781
843
  }
844
+ /**
845
+ * `chooseAccount` is a SYNC selector that internally advances the rotation
846
+ * cursor (the session-affinity-preferred branch and the round-robin fallback
847
+ * both call `accountManager.markSwitched(...)`, and the hybrid selector advances
848
+ * its own cursor). It does NOT acquire the routing mutex itself.
849
+ *
850
+ * Concurrency (L4): when `routingMutex === "enabled"`, the proxy hot path runs
851
+ * this whole call AND the subsequent `markSwitchedLocked` commit inside a single
852
+ * `withRoutingMutex` acquisition, so concurrent requests serialize selection +
853
+ * cursor advance and cannot stampede the same account. `withRoutingMutex` is
854
+ * reentrant (AsyncLocalStorage), so the nested `markSwitchedLocked` — and the
855
+ * later one in `persistRuntimeActiveAccount` — run inline without re-acquiring
856
+ * the non-reentrant FIFO queue (no deadlock). In legacy mode the inline
857
+ * `markSwitched` calls below are used unchanged and no lock is taken, so default
858
+ * behavior and perf are identical. See the hot-path caller in
859
+ * `startRuntimeRotationProxy` and the regression in
860
+ * `test/runtime-rotation-proxy.test.ts`.
861
+ */
782
862
  export function chooseAccount(params) {
783
863
  const { accountManager, sessionAffinityStore, sessionKey, family, model, attemptedIndexes, now, policy, pinnedIndex, skipReasons, stickyBoostByAccount, pidOffsetEnabled, } = params;
784
864
  // Manual pin (from `codex-multi-auth switch <n>`) overrides every other
@@ -820,6 +900,7 @@ export function chooseAccount(params) {
820
900
  skipReasons?.set(preferred.index, reason);
821
901
  }
822
902
  else {
903
+ // L4 (deferred): unlocked cursor mutation — see chooseAccount header.
823
904
  accountManager.markSwitched(preferred, "rotation", family);
824
905
  return preferred;
825
906
  }
@@ -857,6 +938,7 @@ export function chooseAccount(params) {
857
938
  const live = accountManager.getAccountByIndex(account.index);
858
939
  if (!live)
859
940
  continue;
941
+ // L4 (deferred): unlocked cursor mutation — see chooseAccount header.
860
942
  accountManager.markSwitched(live, "rotation", family);
861
943
  return live;
862
944
  }
@@ -1100,6 +1182,16 @@ export async function startRuntimeRotationProxy(options) {
1100
1182
  let accountManager = activeAccountManager;
1101
1183
  try {
1102
1184
  const incomingUrl = new URL(req.url ?? "/", "http://127.0.0.1");
1185
+ // Authenticate before discriminating path/method so an unauthenticated
1186
+ // caller cannot enumerate which endpoints exist: an unknown caller always
1187
+ // gets 401, never a 404 that would confirm a path is invalid (vs. just
1188
+ // unauthorized). Authorized callers still fall through to the 404 below
1189
+ // when they hit an unsupported path/method.
1190
+ const incomingHeaders = headersFromIncoming(req);
1191
+ if (!isAuthorizedClient(incomingHeaders, clientApiKey)) {
1192
+ writeUnauthorized(res);
1193
+ return;
1194
+ }
1103
1195
  const isResponsesRequest = req.method === "POST" && isResponsesPath(incomingUrl.pathname);
1104
1196
  const isModelsRequest = req.method === "GET" && isModelsPath(incomingUrl.pathname);
1105
1197
  const isThreadGoalRequest = (req.method === "GET" || req.method === "POST") &&
@@ -1108,11 +1200,6 @@ export async function startRuntimeRotationProxy(options) {
1108
1200
  writeMethodOrPathError(res);
1109
1201
  return;
1110
1202
  }
1111
- const incomingHeaders = headersFromIncoming(req);
1112
- if (!isAuthorizedClient(incomingHeaders, clientApiKey)) {
1113
- writeUnauthorized(res);
1114
- return;
1115
- }
1116
1203
  status.totalRequests += 1;
1117
1204
  const requestBody = isResponsesRequest || (isThreadGoalRequest && req.method === "POST")
1118
1205
  ? await readRequestBody(req, maxRequestBodyBytes)
@@ -1218,7 +1305,22 @@ export async function startRuntimeRotationProxy(options) {
1218
1305
  now() - lastGlobalSwitchAt < minRotationIntervalMs
1219
1306
  ? { [lastGlobalAccountIndex]: 1000 }
1220
1307
  : {};
1221
- const selected = chooseAccount({
1308
+ // L4 fix (routing mutex): when `routingMutex === "enabled"`, run the
1309
+ // selection AND the cursor commit inside ONE mutex acquisition so two
1310
+ // concurrent requests cannot read the same cursor and stampede before
1311
+ // the locked commit lands. `chooseAccount` is sync and mutates the
1312
+ // cursor internally (session-affinity `markSwitched`, the hybrid
1313
+ // selector's own advance, and the round-robin fallback `markSwitched`);
1314
+ // holding the mutex across the whole call serializes all of those.
1315
+ // We then `markSwitchedLocked` the winner to (a) re-commit the cursor
1316
+ // under the lock across the await boundary and (b) hand
1317
+ // `persistRuntimeActiveAccount` a cursor that is already correct. That
1318
+ // later `markSwitchedLocked` runs INLINE (reentrant) within this held
1319
+ // section, so there is no double-acquire and no deadlock on the
1320
+ // non-reentrant FIFO queue. In legacy mode the inline `markSwitched`
1321
+ // calls inside `chooseAccount` are used unchanged and no lock is taken,
1322
+ // so default behavior and perf are identical to before.
1323
+ const selectAccount = () => chooseAccount({
1222
1324
  accountManager,
1223
1325
  sessionAffinityStore,
1224
1326
  sessionKey: context.sessionKey,
@@ -1232,6 +1334,20 @@ export async function startRuntimeRotationProxy(options) {
1232
1334
  stickyBoostByAccount: rotationStickyBoost,
1233
1335
  pidOffsetEnabled,
1234
1336
  });
1337
+ const selected = routingMutexMode === "enabled"
1338
+ ? await withRoutingMutex(routingMutexMode, async () => {
1339
+ const candidate = selectAccount();
1340
+ if (candidate && pinnedIndex === null) {
1341
+ // Re-commit the cursor under the held mutex. Skipped when a
1342
+ // manual pin is active so the proxy never clobbers the pin
1343
+ // (see #474); pinned selections are deterministic and need no
1344
+ // cursor advance. Runs inline via reentrancy — see comment
1345
+ // above.
1346
+ await accountManager.markSwitchedLocked(candidate, "rotation", context.family);
1347
+ }
1348
+ return candidate;
1349
+ })
1350
+ : selectAccount();
1235
1351
  if (!selected) {
1236
1352
  if (!reloadedAfterNoAccount &&
1237
1353
  !isPinned &&
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-rotation-proxy.js","sourceRoot":"","sources":["../../lib/runtime-rotation-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-rotation-proxy.js","sourceRoot":"","sources":["../../lib/runtime-rotation-proxy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-persistence.d.ts","sourceRoot":"","sources":["../../../lib/storage/account-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,wBAAgB,iCAAiC,CAChD,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAC1C,gBAAgB,CAWlB"}
1
+ {"version":3,"file":"account-persistence.d.ts","sourceRoot":"","sources":["../../../lib/storage/account-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,wBAAgB,iCAAiC,CAChD,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAC1C,gBAAgB,CAqBlB"}
@@ -1,5 +1,5 @@
1
1
  export function cloneAccountStorageForPersistence(storage) {
2
- return {
2
+ const cloned = {
3
3
  version: 3,
4
4
  accounts: structuredClone(storage?.accounts ?? []),
5
5
  activeIndex: typeof storage?.activeIndex === "number" &&
@@ -8,5 +8,15 @@ export function cloneAccountStorageForPersistence(storage) {
8
8
  : 0,
9
9
  activeIndexByFamily: structuredClone(storage?.activeIndexByFamily ?? {}),
10
10
  };
11
+ // Preserve the user's manual pin (issue #474) and affinity generation across
12
+ // the combined account+flagged transaction (incl. doctor restore). Dropping
13
+ // these erased a manual `switch <n>` pin on persistence.
14
+ if (typeof storage?.pinnedAccountIndex === "number") {
15
+ cloned.pinnedAccountIndex = storage.pinnedAccountIndex;
16
+ }
17
+ if (typeof storage?.affinityGeneration === "number") {
18
+ cloned.affinityGeneration = storage.affinityGeneration;
19
+ }
20
+ return cloned;
11
21
  }
12
22
  //# sourceMappingURL=account-persistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account-persistence.js","sourceRoot":"","sources":["../../../lib/storage/account-persistence.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iCAAiC,CAChD,OAA4C;IAE5C,OAAO;QACN,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClD,WAAW,EACV,OAAO,OAAO,EAAE,WAAW,KAAK,QAAQ;YACxC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,CAAC;QACL,mBAAmB,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,IAAI,EAAE,CAAC;KACxE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"account-persistence.js","sourceRoot":"","sources":["../../../lib/storage/account-persistence.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iCAAiC,CAChD,OAA4C;IAE5C,MAAM,MAAM,GAAqB;QAChC,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;QAClD,WAAW,EACV,OAAO,OAAO,EAAE,WAAW,KAAK,QAAQ;YACxC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,WAAW;YACrB,CAAC,CAAC,CAAC;QACL,mBAAmB,EAAE,eAAe,CAAC,OAAO,EAAE,mBAAmB,IAAI,EAAE,CAAC;KACxE,CAAC;IACF,6EAA6E;IAC7E,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,OAAO,OAAO,EAAE,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACxD,CAAC;IACD,IAAI,OAAO,OAAO,EAAE,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"record-utils.d.ts","sourceRoot":"","sources":["../../../lib/storage/record-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGhE"}
1
+ {"version":3,"file":"record-utils.d.ts","sourceRoot":"","sources":["../../../lib/storage/record-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAOhE"}
@@ -4,6 +4,11 @@ export function isRecord(value) {
4
4
  export function clampIndex(index, length) {
5
5
  if (length <= 0)
6
6
  return 0;
7
- return Math.max(0, Math.min(index, length - 1));
7
+ // A tampered/corrupt activeIndex can be NaN; Math.trunc(NaN) is NaN and would
8
+ // propagate through Math.min/Math.max, yielding NaN and undefined array access.
9
+ // Coerce it to the first valid index. (±Infinity still clamp correctly below.)
10
+ if (Number.isNaN(index))
11
+ return 0;
12
+ return Math.max(0, Math.min(Math.trunc(index), length - 1));
8
13
  }
9
14
  //# sourceMappingURL=record-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-utils.js","sourceRoot":"","sources":["../../../lib/storage/record-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACtC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAc;IACvD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"record-utils.js","sourceRoot":"","sources":["../../../lib/storage/record-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAc;IACtC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAc;IACvD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -4,6 +4,14 @@ export type TransactionSnapshotState = {
4
4
  storagePath: string;
5
5
  active: boolean;
6
6
  };
7
+ /**
8
+ * Reports whether the caller is already running inside a `withStorageLock`
9
+ * critical section. The global storage mutex has no reentrancy, so callers
10
+ * that may run both standalone and nested under a held lock (e.g. recovery
11
+ * persistence triggered while loading flagged storage during a transaction)
12
+ * must use this to avoid re-acquiring the lock and deadlocking.
13
+ */
14
+ export declare function isStorageLockHeld(): boolean;
7
15
  export declare function getTransactionSnapshotState(): TransactionSnapshotState | undefined;
8
16
  export declare function runInTransactionSnapshotContext<T>(state: TransactionSnapshotState, fn: () => Promise<T>): Promise<T>;
9
17
  export declare function withStorageLock<T>(fn: () => Promise<T>): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../lib/storage/transactions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE/E,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAMF,wBAAgB,2BAA2B,IACxC,wBAAwB,GACxB,SAAS,CAEX;AAED,wBAAgB,+BAA+B,CAAC,CAAC,EAChD,KAAK,EAAE,wBAAwB,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOnE;AAED,wBAAsB,6BAA6B,CAAC,CAAC,EACpD,OAAO,EAAE,CACR,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,KACjD,OAAO,CAAC,CAAC,CAAC,EACf,IAAI,EAAE;IACL,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpD,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D,GACC,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED,wBAAsB,uCAAuC,CAAC,CAAC,EAC9D,OAAO,EAAE,CACR,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,OAAO,EAAE,CACR,cAAc,EAAE,gBAAgB,EAChC,cAAc,EAAE,uBAAuB,KACnC,OAAO,CAAC,IAAI,CAAC,EAClB,cAAc,EAAE,uBAAuB,KACnC,OAAO,CAAC,CAAC,CAAC,EACf,IAAI,EAAE;IACL,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5D,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,mBAAmB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,iCAAiC,EAAE,CAClC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,KACxC,gBAAgB,CAAC;IACtB,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACnE,GACC,OAAO,CAAC,CAAC,CAAC,CA6CZ"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../lib/storage/transactions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAE/E,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CAChB,CAAC;AAOF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,2BAA2B,IACxC,wBAAwB,GACxB,SAAS,CAEX;AAED,wBAAgB,+BAA+B,CAAC,CAAC,EAChD,KAAK,EAAE,wBAAwB,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,CAAC,CAAC,CAEZ;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASnE;AAED,wBAAsB,6BAA6B,CAAC,CAAC,EACpD,OAAO,EAAE,CACR,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,KACjD,OAAO,CAAC,CAAC,CAAC,EACf,IAAI,EAAE;IACL,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpD,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D,GACC,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAED,wBAAsB,uCAAuC,CAAC,CAAC,EAC9D,OAAO,EAAE,CACR,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,OAAO,EAAE,CACR,cAAc,EAAE,gBAAgB,EAChC,cAAc,EAAE,uBAAuB,KACnC,OAAO,CAAC,IAAI,CAAC,EAClB,cAAc,EAAE,uBAAuB,KACnC,OAAO,CAAC,CAAC,CAAC,EACf,IAAI,EAAE;IACL,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpD,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC5D,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,mBAAmB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,iCAAiC,EAAE,CAClC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,KACxC,gBAAgB,CAAC;IACtB,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,KAAK,IAAI,CAAC;CACnE,GACC,OAAO,CAAC,CAAC,CAAC,CA6CZ"}