codex-multi-auth 2.17.0 → 2.17.3

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 (450) hide show
  1. package/.codex-plugin/plugin.json +9 -9
  2. package/LICENSE +21 -21
  3. package/README.md +142 -484
  4. package/assets/codex-multi-auth-icon.svg +39 -39
  5. package/assets/readme-hero.svg +31 -31
  6. package/config/README.md +31 -31
  7. package/config/codex-legacy.json +1221 -1221
  8. package/config/codex-modern.json +423 -423
  9. package/config/minimal-codex.json +15 -15
  10. package/dist/index.d.ts +0 -1
  11. package/dist/lib/account-policy.d.ts +18 -2
  12. package/dist/lib/account-policy.js +97 -40
  13. package/dist/lib/accounts/rate-limits.d.ts +0 -1
  14. package/dist/lib/accounts.d.ts +1 -8
  15. package/dist/lib/accounts.d.ts.map +1 -1
  16. package/dist/lib/accounts.js +7 -19
  17. package/dist/lib/api-route-store.d.ts +0 -1
  18. package/dist/lib/audit.d.ts +0 -1
  19. package/dist/lib/audit.js +43 -12
  20. package/dist/lib/auth/account-access.d.ts +0 -1
  21. package/dist/lib/auth/account-access.js +5 -1
  22. package/dist/lib/auth/auth.d.ts +4 -3
  23. package/dist/lib/auth/auth.js +220 -28
  24. package/dist/lib/auth/browser.d.ts +0 -1
  25. package/dist/lib/auth/callback-guidance.d.ts +0 -1
  26. package/dist/lib/auth/device-auth.d.ts +0 -1
  27. package/dist/lib/auth/index.d.ts +0 -1
  28. package/dist/lib/auth/org-override.d.ts +0 -1
  29. package/dist/lib/auth/server.d.ts +1 -2
  30. package/dist/lib/auth/server.js +100 -53
  31. package/dist/lib/auth/token-utils.d.ts +0 -1
  32. package/dist/lib/auth-rate-limit.d.ts +0 -1
  33. package/dist/lib/budget-guard.d.ts +16 -2
  34. package/dist/lib/budget-guard.js +123 -43
  35. package/dist/lib/capability-policy.d.ts +0 -1
  36. package/dist/lib/circuit-breaker.d.ts +20 -1
  37. package/dist/lib/circuit-breaker.js +24 -5
  38. package/dist/lib/cli.d.ts +0 -1
  39. package/dist/lib/codex-cli/index.d.ts +0 -1
  40. package/dist/lib/codex-cli/observability.d.ts +0 -1
  41. package/dist/lib/codex-cli/state.d.ts +0 -1
  42. package/dist/lib/codex-cli/sync.d.ts +0 -1
  43. package/dist/lib/codex-cli/writer.d.ts +0 -1
  44. package/dist/lib/codex-manager/account-credentials.d.ts +0 -1
  45. package/dist/lib/codex-manager/account-manager-commands.d.ts +0 -1
  46. package/dist/lib/codex-manager/account-pool-write.d.ts +0 -1
  47. package/dist/lib/codex-manager/active-account-sync.d.ts +6 -0
  48. package/dist/lib/codex-manager/active-account-sync.js +336 -0
  49. package/dist/lib/codex-manager/api-login-menu.d.ts +0 -1
  50. package/dist/lib/codex-manager/backend-category-entry.d.ts +0 -1
  51. package/dist/lib/codex-manager/backend-category-helpers.d.ts +0 -1
  52. package/dist/lib/codex-manager/backend-category-prompt.d.ts +0 -1
  53. package/dist/lib/codex-manager/backend-settings-controller.d.ts +0 -1
  54. package/dist/lib/codex-manager/backend-settings-entry.d.ts +0 -1
  55. package/dist/lib/codex-manager/backend-settings-helpers.d.ts +0 -1
  56. package/dist/lib/codex-manager/backend-settings-prompt.d.ts +0 -1
  57. package/dist/lib/codex-manager/backend-settings-schema.d.ts +0 -1
  58. package/dist/lib/codex-manager/behavior-settings-panel.d.ts +0 -1
  59. package/dist/lib/codex-manager/commands/account.d.ts +8 -3
  60. package/dist/lib/codex-manager/commands/account.js +46 -34
  61. package/dist/lib/codex-manager/commands/best.d.ts +0 -1
  62. package/dist/lib/codex-manager/commands/bridge.d.ts +0 -1
  63. package/dist/lib/codex-manager/commands/budget.d.ts +8 -3
  64. package/dist/lib/codex-manager/commands/budget.js +6 -4
  65. package/dist/lib/codex-manager/commands/check.d.ts +0 -1
  66. package/dist/lib/codex-manager/commands/config-explain.d.ts +0 -1
  67. package/dist/lib/codex-manager/commands/debug-bundle.d.ts +0 -1
  68. package/dist/lib/codex-manager/commands/forecast.d.ts +1 -2
  69. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -1
  70. package/dist/lib/codex-manager/commands/forecast.js +2 -2
  71. package/dist/lib/codex-manager/commands/history.d.ts +0 -1
  72. package/dist/lib/codex-manager/commands/init-config.d.ts +0 -1
  73. package/dist/lib/codex-manager/commands/integrations.d.ts +0 -1
  74. package/dist/lib/codex-manager/commands/limits.d.ts +0 -1
  75. package/dist/lib/codex-manager/commands/models.d.ts +0 -1
  76. package/dist/lib/codex-manager/commands/monitor.d.ts +0 -1
  77. package/dist/lib/codex-manager/commands/report.d.ts +0 -1
  78. package/dist/lib/codex-manager/commands/resets.d.ts +0 -1
  79. package/dist/lib/codex-manager/commands/resets.js +9 -1
  80. package/dist/lib/codex-manager/commands/rotation.d.ts +0 -1
  81. package/dist/lib/codex-manager/commands/status.d.ts +0 -1
  82. package/dist/lib/codex-manager/commands/switch.d.ts +0 -1
  83. package/dist/lib/codex-manager/commands/uninstall.d.ts +0 -1
  84. package/dist/lib/codex-manager/commands/unpin.d.ts +0 -1
  85. package/dist/lib/codex-manager/commands/usage.d.ts +0 -1
  86. package/dist/lib/codex-manager/commands/verify.d.ts +0 -1
  87. package/dist/lib/codex-manager/commands/why-selected.d.ts +0 -1
  88. package/dist/lib/codex-manager/commands/workspace.d.ts +0 -1
  89. package/dist/lib/codex-manager/dashboard-display-panel.d.ts +0 -1
  90. package/dist/lib/codex-manager/dashboard-formatters.d.ts +0 -1
  91. package/dist/lib/codex-manager/dashboard-settings-controller.d.ts +0 -1
  92. package/dist/lib/codex-manager/dashboard-settings-data.d.ts +0 -1
  93. package/dist/lib/codex-manager/dashboard-settings-entry.d.ts +0 -1
  94. package/dist/lib/codex-manager/experimental-settings-entry.d.ts +0 -1
  95. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts +0 -1
  96. package/dist/lib/codex-manager/experimental-settings-schema.d.ts +0 -1
  97. package/dist/lib/codex-manager/experimental-sync-target-entry.d.ts +0 -1
  98. package/dist/lib/codex-manager/experimental-sync-target.d.ts +0 -1
  99. package/dist/lib/codex-manager/forecast-report-shared.d.ts +0 -1
  100. package/dist/lib/codex-manager/formatters/account-formatters.d.ts +0 -1
  101. package/dist/lib/codex-manager/formatters/index.d.ts +0 -1
  102. package/dist/lib/codex-manager/formatters/model-formatters.d.ts +0 -1
  103. package/dist/lib/codex-manager/formatters/quota-formatters.d.ts +0 -1
  104. package/dist/lib/codex-manager/formatters/text-style.d.ts +0 -1
  105. package/dist/lib/codex-manager/health-check.d.ts +0 -1
  106. package/dist/lib/codex-manager/health-check.js +1 -1
  107. package/dist/lib/codex-manager/help.d.ts +0 -1
  108. package/dist/lib/codex-manager/login-action-panel.d.ts +0 -1
  109. package/dist/lib/codex-manager/login-flow.d.ts +0 -1
  110. package/dist/lib/codex-manager/login-menu-actions.d.ts +0 -1
  111. package/dist/lib/codex-manager/login-menu-data.d.ts +0 -1
  112. package/dist/lib/codex-manager/login-menu-data.d.ts.map +1 -1
  113. package/dist/lib/codex-manager/login-menu-data.js +7 -3
  114. package/dist/lib/codex-manager/login-oauth.d.ts +0 -1
  115. package/dist/lib/codex-manager/login-workspace-choice.d.ts +0 -1
  116. package/dist/lib/codex-manager/manual-callback.d.ts +0 -1
  117. package/dist/lib/codex-manager/persist-selected-account.d.ts +0 -1
  118. package/dist/lib/codex-manager/quota-cache-helpers.d.ts +7 -2
  119. package/dist/lib/codex-manager/quota-cache-helpers.d.ts.map +1 -1
  120. package/dist/lib/codex-manager/quota-cache-helpers.js +34 -19
  121. package/dist/lib/codex-manager/rate-limit-markers.d.ts +0 -1
  122. package/dist/lib/codex-manager/repair-commands.d.ts +0 -1
  123. package/dist/lib/codex-manager/repair-commands.js +1 -1
  124. package/dist/lib/codex-manager/settings-hub/backend.d.ts +0 -1
  125. package/dist/lib/codex-manager/settings-hub/dashboard.d.ts +0 -1
  126. package/dist/lib/codex-manager/settings-hub/experimental.d.ts +0 -1
  127. package/dist/lib/codex-manager/settings-hub/index.d.ts +0 -1
  128. package/dist/lib/codex-manager/settings-hub/shared.d.ts +0 -1
  129. package/dist/lib/codex-manager/settings-hub-entry.d.ts +0 -1
  130. package/dist/lib/codex-manager/settings-hub-menu.d.ts +0 -1
  131. package/dist/lib/codex-manager/settings-hub-prompt.d.ts +0 -1
  132. package/dist/lib/codex-manager/settings-hub.d.ts +0 -1
  133. package/dist/lib/codex-manager/settings-panels.d.ts +0 -1
  134. package/dist/lib/codex-manager/settings-persist-utils.d.ts +0 -1
  135. package/dist/lib/codex-manager/settings-preview.d.ts +0 -1
  136. package/dist/lib/codex-manager/settings-write-queue.d.ts +0 -1
  137. package/dist/lib/codex-manager/statusline-settings-panel.d.ts +0 -1
  138. package/dist/lib/codex-manager/theme-settings-panel.d.ts +0 -1
  139. package/dist/lib/codex-manager/unified-settings-controller.d.ts +0 -1
  140. package/dist/lib/codex-manager/unified-settings-entry.d.ts +0 -1
  141. package/dist/lib/codex-manager.d.ts +1 -2
  142. package/dist/lib/codex-manager.js +5 -95
  143. package/dist/lib/concurrency.d.ts +0 -1
  144. package/dist/lib/config-schema.d.ts +0 -1
  145. package/dist/lib/config.d.ts +0 -1
  146. package/dist/lib/config.js +46 -241
  147. package/dist/lib/constants.d.ts +0 -1
  148. package/dist/lib/context-budget/model-context-windows.d.ts +0 -1
  149. package/dist/lib/context-budget-guard.d.ts +0 -1
  150. package/dist/lib/context-budget-response.d.ts +0 -1
  151. package/dist/lib/context-budget-response.js +8 -8
  152. package/dist/lib/context-overflow.d.ts +0 -1
  153. package/dist/lib/context-overflow.js +10 -10
  154. package/dist/lib/dashboard-settings.d.ts +0 -1
  155. package/dist/lib/entitlement-cache.d.ts +0 -1
  156. package/dist/lib/env-parsing.d.ts +13 -1
  157. package/dist/lib/env-parsing.js +21 -0
  158. package/dist/lib/errors.d.ts +0 -1
  159. package/dist/lib/forecast.d.ts +0 -1
  160. package/dist/lib/fs-retry.d.ts +0 -1
  161. package/dist/lib/health.d.ts +0 -1
  162. package/dist/lib/index.d.ts +0 -1
  163. package/dist/lib/integration-generators.d.ts +0 -1
  164. package/dist/lib/live-account-sync.d.ts +0 -1
  165. package/dist/lib/local-bridge.d.ts +0 -1
  166. package/dist/lib/local-bridge.js +4 -1
  167. package/dist/lib/local-client-tokens.d.ts +0 -1
  168. package/dist/lib/local-client-tokens.js +125 -30
  169. package/dist/lib/logger.d.ts +0 -1
  170. package/dist/lib/logger.js +11 -1
  171. package/dist/lib/model-capability-matrix.d.ts +0 -1
  172. package/dist/lib/model-route-policy.d.ts +1 -2
  173. package/dist/lib/named-backup-export.d.ts +0 -1
  174. package/dist/lib/oauth-success.html +125 -125
  175. package/dist/lib/oc-chatgpt-import-adapter.d.ts +0 -1
  176. package/dist/lib/oc-chatgpt-orchestrator.d.ts +0 -1
  177. package/dist/lib/oc-chatgpt-target-detection.d.ts +0 -1
  178. package/dist/lib/parallel-probe.d.ts +0 -1
  179. package/dist/lib/policy/runtime-policy-cache.d.ts +80 -0
  180. package/dist/lib/policy/runtime-policy-cache.js +310 -0
  181. package/dist/lib/policy/runtime-policy.d.ts +1 -2
  182. package/dist/lib/policy/runtime-policy.js +46 -19
  183. package/dist/lib/preemptive-quota-scheduler.d.ts +0 -1
  184. package/dist/lib/proactive-refresh.d.ts +0 -1
  185. package/dist/lib/prompts/codex-host-bridge.d.ts +0 -1
  186. package/dist/lib/prompts/codex-host-bridge.js +138 -138
  187. package/dist/lib/prompts/codex.d.ts +0 -1
  188. package/dist/lib/prompts/codex.js +79 -79
  189. package/dist/lib/prompts/fetch-utils.d.ts +0 -1
  190. package/dist/lib/prompts/host-codex-prompt.d.ts +0 -1
  191. package/dist/lib/quota-cache.d.ts +7 -4
  192. package/dist/lib/quota-cache.d.ts.map +1 -1
  193. package/dist/lib/quota-cache.js +117 -61
  194. package/dist/lib/quota-probe.d.ts +0 -1
  195. package/dist/lib/quota-probe.js +5 -2
  196. package/dist/lib/quota-readiness.d.ts +7 -3
  197. package/dist/lib/quota-readiness.d.ts.map +1 -1
  198. package/dist/lib/quota-readiness.js +25 -4
  199. package/dist/lib/recovery/constants.d.ts +0 -1
  200. package/dist/lib/recovery/storage.d.ts +0 -1
  201. package/dist/lib/recovery/types.d.ts +0 -1
  202. package/dist/lib/recovery.d.ts +0 -1
  203. package/dist/lib/redaction.d.ts +0 -1
  204. package/dist/lib/refresh-guardian.d.ts +0 -1
  205. package/dist/lib/refresh-lease.d.ts +0 -1
  206. package/dist/lib/refresh-queue.d.ts +0 -1
  207. package/dist/lib/request/client-cancellation.d.ts +0 -1
  208. package/dist/lib/request/error-classification.d.ts +0 -1
  209. package/dist/lib/request/failover-config.d.ts +0 -1
  210. package/dist/lib/request/failure-policy.d.ts +0 -1
  211. package/dist/lib/request/fetch-helpers.d.ts +0 -1
  212. package/dist/lib/request/headers.d.ts +0 -1
  213. package/dist/lib/request/helpers/input-utils.d.ts +0 -1
  214. package/dist/lib/request/helpers/input-utils.js +88 -34
  215. package/dist/lib/request/helpers/model-map.d.ts +0 -1
  216. package/dist/lib/request/helpers/tool-utils.d.ts +0 -1
  217. package/dist/lib/request/helpers/tool-utils.js +421 -4
  218. package/dist/lib/request/index.d.ts +0 -1
  219. package/dist/lib/request/rate-limit-backoff.d.ts +0 -1
  220. package/dist/lib/request/rate-limit-decision.d.ts +0 -1
  221. package/dist/lib/request/request-attempt-budget.d.ts +0 -1
  222. package/dist/lib/request/request-init.d.ts +0 -1
  223. package/dist/lib/request/request-resilience.d.ts +0 -1
  224. package/dist/lib/request/request-transformer.d.ts +0 -1
  225. package/dist/lib/request/request-transformer.js +50 -25
  226. package/dist/lib/request/response-compaction.d.ts +0 -1
  227. package/dist/lib/request/response-handler.d.ts +0 -1
  228. package/dist/lib/request/response-metadata.d.ts +0 -1
  229. package/dist/lib/request/response-outcome.d.ts +0 -1
  230. package/dist/lib/request/stream-failover-runtime.d.ts +0 -1
  231. package/dist/lib/request/stream-failover.d.ts +0 -1
  232. package/dist/lib/request/stream-failover.js +28 -4
  233. package/dist/lib/request/token-refresh.d.ts +0 -1
  234. package/dist/lib/request/url-rewriting.d.ts +0 -1
  235. package/dist/lib/request/wait-utils.d.ts +0 -1
  236. package/dist/lib/rotation.d.ts +0 -1
  237. package/dist/lib/routing-mutex.d.ts +0 -1
  238. package/dist/lib/routing-profiles.d.ts +16 -2
  239. package/dist/lib/routing-profiles.js +119 -44
  240. package/dist/lib/runtime/account-check-helpers.d.ts +0 -1
  241. package/dist/lib/runtime/account-check-types.d.ts +0 -1
  242. package/dist/lib/runtime/account-check.d.ts +0 -1
  243. package/dist/lib/runtime/account-manager-cache-entry.d.ts +0 -1
  244. package/dist/lib/runtime/account-manager-cache.d.ts +0 -1
  245. package/dist/lib/runtime/account-model-catalog.d.ts +1 -2
  246. package/dist/lib/runtime/account-pool.d.ts +0 -1
  247. package/dist/lib/runtime/account-reset-credits.d.ts +0 -1
  248. package/dist/lib/runtime/account-reset-credits.js +8 -2
  249. package/dist/lib/runtime/account-scope.d.ts +0 -1
  250. package/dist/lib/runtime/account-select-event.d.ts +0 -1
  251. package/dist/lib/runtime/account-selection.d.ts +0 -1
  252. package/dist/lib/runtime/account-state.d.ts +0 -1
  253. package/dist/lib/runtime/account-status.d.ts +0 -1
  254. package/dist/lib/runtime/account-storage-scope-entry.d.ts +0 -1
  255. package/dist/lib/runtime/api-model-capabilities.d.ts +0 -1
  256. package/dist/lib/runtime/api-model-runtime.d.ts +0 -1
  257. package/dist/lib/runtime/app-bind.d.ts +0 -1
  258. package/dist/lib/runtime/app-bind.d.ts.map +1 -1
  259. package/dist/lib/runtime/app-bind.js +10 -2
  260. package/dist/lib/runtime/app-helper-selection.d.ts +0 -1
  261. package/dist/lib/runtime/auth-facade.d.ts +0 -1
  262. package/dist/lib/runtime/automatic-account-checks.d.ts +5 -2
  263. package/dist/lib/runtime/automatic-account-checks.d.ts.map +1 -1
  264. package/dist/lib/runtime/automatic-account-checks.js +29 -2
  265. package/dist/lib/runtime/automatic-subscription-checks.d.ts +1 -2
  266. package/dist/lib/runtime/automatic-subscription-checks.d.ts.map +1 -1
  267. package/dist/lib/runtime/automatic-subscription-checks.js +13 -16
  268. package/dist/lib/runtime/browser-oauth-flow.d.ts +0 -1
  269. package/dist/lib/runtime/capability-boost.d.ts +0 -1
  270. package/dist/lib/runtime/catalog-capabilities.d.ts +0 -1
  271. package/dist/lib/runtime/config-toml.d.ts +0 -1
  272. package/dist/lib/runtime/context-budget-settings.d.ts +0 -1
  273. package/dist/lib/runtime/event-handler.d.ts +0 -1
  274. package/dist/lib/runtime/first-run.d.ts +0 -1
  275. package/dist/lib/runtime/flagged-verify-types.d.ts +0 -1
  276. package/dist/lib/runtime/hydrate-emails.d.ts +0 -1
  277. package/dist/lib/runtime/inference-activity.d.ts +0 -1
  278. package/dist/lib/runtime/live-sync-entry.d.ts +0 -1
  279. package/dist/lib/runtime/live-sync.d.ts +0 -1
  280. package/dist/lib/runtime/loader-setup.d.ts +0 -1
  281. package/dist/lib/runtime/login-menu-accounts.d.ts +0 -1
  282. package/dist/lib/runtime/manual-oauth-flow.d.ts +0 -1
  283. package/dist/lib/runtime/model-discovery-status.d.ts +2 -3
  284. package/dist/lib/runtime/native-account-storage.d.ts +0 -1
  285. package/dist/lib/runtime/native-account-sync.d.ts +0 -1
  286. package/dist/lib/runtime/native-binding-lock.d.ts +0 -1
  287. package/dist/lib/runtime/native-client-auth.d.ts +0 -1
  288. package/dist/lib/runtime/native-provider-config.d.ts +0 -1
  289. package/dist/lib/runtime/native-rate-limits.d.ts +2 -1
  290. package/dist/lib/runtime/native-rate-limits.js +23 -6
  291. package/dist/lib/runtime/preemptive-quota.d.ts +0 -1
  292. package/dist/lib/runtime/quota-headers.d.ts +0 -1
  293. package/dist/lib/runtime/quota-probe.d.ts +0 -1
  294. package/dist/lib/runtime/quota-settings.d.ts +0 -1
  295. package/dist/lib/runtime/refresh-guardian-entry.d.ts +0 -1
  296. package/dist/lib/runtime/refresh-guardian.d.ts +0 -1
  297. package/dist/lib/runtime/request-init.d.ts +0 -1
  298. package/dist/lib/runtime/reset-credit-routing.d.ts +0 -1
  299. package/dist/lib/runtime/reset-credits.d.ts +0 -1
  300. package/dist/lib/runtime/response-output-history.d.ts +0 -1
  301. package/dist/lib/runtime/responses-websocket.d.ts +0 -1
  302. package/dist/lib/runtime/resume-picker.d.ts +0 -1
  303. package/dist/lib/runtime/rotation-account-selection.d.ts +0 -1
  304. package/dist/lib/runtime/rotation-proxy-state.d.ts +0 -1
  305. package/dist/lib/runtime/rotation-server-types.d.ts +0 -1
  306. package/dist/lib/runtime/rotation-storage-meta.d.ts +0 -1
  307. package/dist/lib/runtime/rotation-token-refresh.d.ts +0 -1
  308. package/dist/lib/runtime/runtime-capability-failures.d.ts +0 -1
  309. package/dist/lib/runtime/runtime-current-account.d.ts +0 -1
  310. package/dist/lib/runtime/runtime-observability.d.ts +0 -1
  311. package/dist/lib/runtime/runtime-services.d.ts +0 -1
  312. package/dist/lib/runtime/session-affinity-entry.d.ts +0 -1
  313. package/dist/lib/runtime/session-recovery.d.ts +0 -1
  314. package/dist/lib/runtime/status-marker.d.ts +0 -1
  315. package/dist/lib/runtime/storage-scope.d.ts +0 -1
  316. package/dist/lib/runtime/subscription-first-use.d.ts +0 -1
  317. package/dist/lib/runtime/subscription-quota-event.d.ts +0 -1
  318. package/dist/lib/runtime/subscription-quota-order.d.ts +0 -1
  319. package/dist/lib/runtime/toast.d.ts +0 -1
  320. package/dist/lib/runtime/ui-runtime-entry.d.ts +0 -1
  321. package/dist/lib/runtime/ui-runtime.d.ts +0 -1
  322. package/dist/lib/runtime/verify-flagged.d.ts +0 -1
  323. package/dist/lib/runtime/workspace-model-scopes.d.ts +0 -1
  324. package/dist/lib/runtime-constants.d.ts +0 -1
  325. package/dist/lib/runtime-paths.d.ts +0 -1
  326. package/dist/lib/runtime-rotation-proxy.d.ts +1 -1
  327. package/dist/lib/runtime-rotation-proxy.js +136 -3
  328. package/dist/lib/schemas.d.ts +35 -13
  329. package/dist/lib/schemas.js +19 -2
  330. package/dist/lib/session-affinity.d.ts +0 -1
  331. package/dist/lib/shutdown.d.ts +0 -1
  332. package/dist/lib/storage/account-clear-entry.d.ts +0 -1
  333. package/dist/lib/storage/account-clear.d.ts +0 -1
  334. package/dist/lib/storage/account-match-utils.d.ts +0 -1
  335. package/dist/lib/storage/account-persistence.d.ts +0 -1
  336. package/dist/lib/storage/account-port.d.ts +0 -1
  337. package/dist/lib/storage/account-save-entry.d.ts +0 -1
  338. package/dist/lib/storage/account-save.d.ts +9 -2
  339. package/dist/lib/storage/account-save.js +4 -1
  340. package/dist/lib/storage/account-snapshot.d.ts +0 -1
  341. package/dist/lib/storage/backup-metadata-builder.d.ts +0 -1
  342. package/dist/lib/storage/backup-metadata.d.ts +0 -1
  343. package/dist/lib/storage/backup-paths.d.ts +0 -1
  344. package/dist/lib/storage/backup-restore.d.ts +0 -1
  345. package/dist/lib/storage/cache-artifacts.d.ts +0 -1
  346. package/dist/lib/storage/credential-sidecars.d.ts +0 -1
  347. package/dist/lib/storage/error-hints.d.ts +0 -1
  348. package/dist/lib/storage/file-lock.d.ts +0 -1
  349. package/dist/lib/storage/file-lock.js +33 -1
  350. package/dist/lib/storage/file-paths.d.ts +0 -1
  351. package/dist/lib/storage/fixture-guards.d.ts +0 -1
  352. package/dist/lib/storage/flagged-entry.d.ts +0 -1
  353. package/dist/lib/storage/flagged-load-entry.d.ts +0 -1
  354. package/dist/lib/storage/flagged-save-entry.d.ts +0 -1
  355. package/dist/lib/storage/flagged-storage-file.d.ts +0 -1
  356. package/dist/lib/storage/flagged-storage-io.d.ts +0 -1
  357. package/dist/lib/storage/flagged-storage.d.ts +0 -1
  358. package/dist/lib/storage/gitignore.d.ts +0 -1
  359. package/dist/lib/storage/hash.d.ts +0 -1
  360. package/dist/lib/storage/health.d.ts +0 -1
  361. package/dist/lib/storage/identity.d.ts +0 -1
  362. package/dist/lib/storage/import-export.d.ts +0 -1
  363. package/dist/lib/storage/json-store-lock.d.ts +105 -0
  364. package/dist/lib/storage/json-store-lock.js +259 -0
  365. package/dist/lib/storage/metadata-section.d.ts +0 -1
  366. package/dist/lib/storage/migrations.d.ts +0 -1
  367. package/dist/lib/storage/migrations.js +31 -18
  368. package/dist/lib/storage/named-backup-entry.d.ts +0 -1
  369. package/dist/lib/storage/named-backups-entry.d.ts +0 -1
  370. package/dist/lib/storage/named-backups.d.ts +0 -1
  371. package/dist/lib/storage/path-state.d.ts +0 -1
  372. package/dist/lib/storage/paths.d.ts +0 -1
  373. package/dist/lib/storage/pending-auth.d.ts +10 -3
  374. package/dist/lib/storage/pending-auth.d.ts.map +1 -1
  375. package/dist/lib/storage/pending-auth.js +33 -9
  376. package/dist/lib/storage/project-migration.d.ts +0 -1
  377. package/dist/lib/storage/public-types.d.ts +0 -1
  378. package/dist/lib/storage/record-identity.d.ts +15 -0
  379. package/dist/lib/storage/record-identity.d.ts.map +1 -0
  380. package/dist/lib/storage/record-identity.js +16 -0
  381. package/dist/lib/storage/record-utils.d.ts +0 -1
  382. package/dist/lib/storage/restore-assessment.d.ts +0 -1
  383. package/dist/lib/storage/restore-backup-entry.d.ts +0 -1
  384. package/dist/lib/storage/restore-metadata.d.ts +0 -1
  385. package/dist/lib/storage/save-retry.d.ts +0 -1
  386. package/dist/lib/storage/snapshot-inspectors.d.ts +0 -1
  387. package/dist/lib/storage/snapshot-merge.d.ts +0 -1
  388. package/dist/lib/storage/storage-parser.d.ts +2 -1
  389. package/dist/lib/storage/storage-parser.js +10 -2
  390. package/dist/lib/storage/transactions.d.ts +0 -1
  391. package/dist/lib/storage.d.ts +15 -2
  392. package/dist/lib/storage.js +612 -25
  393. package/dist/lib/synthetic-response.d.ts +0 -1
  394. package/dist/lib/table-formatter.d.ts +0 -1
  395. package/dist/lib/temp-path.d.ts +0 -1
  396. package/dist/lib/tools/hashline-tools.d.ts +0 -1
  397. package/dist/lib/types.d.ts +0 -1
  398. package/dist/lib/ui/ansi.d.ts +0 -1
  399. package/dist/lib/ui/auth-menu-builder.d.ts +0 -1
  400. package/dist/lib/ui/auth-menu.d.ts +0 -1
  401. package/dist/lib/ui/check-progress.d.ts +0 -1
  402. package/dist/lib/ui/confirm.d.ts +0 -1
  403. package/dist/lib/ui/display-width.d.ts +0 -1
  404. package/dist/lib/ui/format.d.ts +0 -1
  405. package/dist/lib/ui/index.d.ts +0 -1
  406. package/dist/lib/ui/runtime.d.ts +0 -1
  407. package/dist/lib/ui/select.d.ts +0 -1
  408. package/dist/lib/ui/theme.d.ts +0 -1
  409. package/dist/lib/ui/ui-copy.d.ts +0 -1
  410. package/dist/lib/unified-settings.d.ts +13 -11
  411. package/dist/lib/unified-settings.js +22 -14
  412. package/dist/lib/update-notice.d.ts +0 -1
  413. package/dist/lib/usage/index.d.ts +0 -1
  414. package/dist/lib/usage/ledger.d.ts +0 -1
  415. package/dist/lib/usage/pricing.d.ts +0 -1
  416. package/dist/lib/usage/redaction.d.ts +0 -1
  417. package/dist/lib/usage/stream-usage-deferral.d.ts +0 -1
  418. package/dist/lib/usage/types.d.ts +0 -1
  419. package/dist/lib/usage/usage-extraction.d.ts +0 -1
  420. package/dist/lib/utils.d.ts +21 -1
  421. package/dist/lib/utils.js +31 -0
  422. package/dist/lib/wsl.d.ts +0 -1
  423. package/node_modules/@codex-ai/plugin/dist/index.d.ts +2 -2
  424. package/node_modules/@codex-ai/plugin/dist/index.js +2 -2
  425. package/node_modules/@codex-ai/plugin/dist/tool.d.ts +42 -42
  426. package/node_modules/@codex-ai/plugin/dist/tool.js +29 -29
  427. package/node_modules/@codex-ai/plugin/package.json +9 -9
  428. package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -4
  429. package/node_modules/@codex-ai/sdk/dist/index.js +2 -2
  430. package/node_modules/@codex-ai/sdk/package.json +8 -8
  431. package/package.json +206 -200
  432. package/scripts/codex-app-launcher.js +653 -653
  433. package/scripts/codex-app-router.js +373 -373
  434. package/scripts/codex-bin-resolver.js +332 -313
  435. package/scripts/codex-multi-auth.js +65 -59
  436. package/scripts/codex-routing.js +62 -62
  437. package/scripts/codex.js +6923 -6642
  438. package/scripts/install-codex-auth-utils.js +213 -213
  439. package/scripts/mcodex.js +367 -367
  440. package/scripts/postinstall.js +114 -114
  441. package/scripts/preuninstall.js +265 -265
  442. package/skills/codex-auth-setup/SKILL.md +73 -0
  443. package/vendor/codex-ai-plugin/dist/index.d.ts +2 -2
  444. package/vendor/codex-ai-plugin/dist/index.js +2 -2
  445. package/vendor/codex-ai-plugin/dist/tool.d.ts +42 -42
  446. package/vendor/codex-ai-plugin/dist/tool.js +29 -29
  447. package/vendor/codex-ai-plugin/package.json +9 -9
  448. package/vendor/codex-ai-sdk/dist/index.d.ts +4 -4
  449. package/vendor/codex-ai-sdk/dist/index.js +2 -2
  450. package/vendor/codex-ai-sdk/package.json +8 -8
@@ -3,11 +3,10 @@ import { basename, join } from "node:path";
3
3
  import { logWarn } from "./logger.js";
4
4
  import { getCodexMultiAuthDir } from "./runtime-paths.js";
5
5
  import { isRecord, sleep } from "./utils.js";
6
- import { tempPathFor } from "./temp-path.js";
6
+ import { getJsonStoreFileMtimeMs, resetJsonStoreWriteQueuesForTests, stampUpdatedAt, withJsonStoreCasRetry, withJsonStoreFileLock, withJsonStoreWriteQueue, writeJsonStoreFileAtomicWithRetry, } from "./storage/json-store-lock.js";
7
7
  const BUDGET_GUARD_FILE_NAME = "budget-guards.json";
8
8
  const RETRYABLE_FS_CODES = new Set(["EBUSY", "EPERM"]);
9
9
  const VALID_WINDOWS = new Set(["hour", "day", "week", "month"]);
10
- let writeQueue = Promise.resolve();
11
10
  function isRetryableFsError(error) {
12
11
  const code = error?.code;
13
12
  return typeof code === "string" && RETRYABLE_FS_CODES.has(code);
@@ -40,13 +39,35 @@ function normalizeLimit(key, value) {
40
39
  : 0,
41
40
  };
42
41
  }
42
+ // Normalized keys can literally be Object.prototype member names —
43
+ // "constructor" and "__proto__" both survive normalizeKey untouched. On a
44
+ // plain object, reading an absent key resolves an inherited member
45
+ // ({}.constructor === Object), which made a same-named limit look "already
46
+ // present" to the merge and silently dropped the incoming entry; writing
47
+ // "__proto__" invokes the setter and mutates the prototype instead of storing
48
+ // anything. Null-prototype maps make every key a plain data slot regardless of
49
+ // name (same convention as lib/storage/snapshot-merge.ts).
50
+ function newLimitsMap() {
51
+ return Object.create(null);
52
+ }
53
+ // Writes into maps that callers may have built as plain object literals cannot
54
+ // rely on the map being null-prototype, so "__proto__" needs an own-property
55
+ // write that bypasses the inherited setter.
56
+ function writeLimitEntry(map, key, limit) {
57
+ Object.defineProperty(map, key, {
58
+ value: limit,
59
+ writable: true,
60
+ enumerable: true,
61
+ configurable: true,
62
+ });
63
+ }
43
64
  function emptyStore() {
44
- return { version: 1, limits: {} };
65
+ return { version: 1, limits: newLimitsMap() };
45
66
  }
46
67
  function normalizeStore(value) {
47
68
  if (!isRecord(value) || value.version !== 1)
48
69
  return emptyStore();
49
- const limits = {};
70
+ const limits = newLimitsMap();
50
71
  if (isRecord(value.limits)) {
51
72
  for (const [rawKey, raw] of Object.entries(value.limits)) {
52
73
  const key = normalizeKey(rawKey);
@@ -94,54 +115,113 @@ export async function loadBudgetGuardStore() {
94
115
  return emptyStore();
95
116
  }
96
117
  }
97
- export async function saveBudgetGuardStore(store) {
98
- const path = getBudgetGuardPath();
99
- const payload = normalizeStore(store);
100
- const task = async () => {
101
- await fs.mkdir(getCodexMultiAuthDir(), { recursive: true, mode: 0o700 });
102
- const tempPath = tempPathFor(path);
103
- let moved = false;
104
- try {
105
- await fs.writeFile(tempPath, `${JSON.stringify(payload, null, 2)}\n`, {
106
- encoding: "utf8",
107
- mode: 0o600,
108
- });
109
- for (let attempt = 0; attempt < 5; attempt += 1) {
110
- try {
111
- await fs.rename(tempPath, path);
112
- moved = true;
113
- return;
114
- }
115
- catch (error) {
116
- if (!isRetryableFsError(error) || attempt >= 4)
117
- throw error;
118
- await sleep(10 * 2 ** attempt);
119
- }
118
+ /**
119
+ * Per-key merge of the caller's normalized store over the freshest on-disk
120
+ * store. Budget entries carry `updatedAt`; the newer entry wins per key so a
121
+ * save built on a stale snapshot cannot resurrect an older limit over a
122
+ * concurrent process's newer one. Keys the caller does not carry are
123
+ * preserved (upsert-only store — nothing deletes entries), matching the
124
+ * config save's patch-over-fresh-read semantics.
125
+ *
126
+ * When `baseline` (the caller's pre-edit snapshot) is supplied, entries
127
+ * identical to it are untouched carried copies and skipped entirely, so a
128
+ * stale snapshot row can never be re-stamped over a raced write. Entries
129
+ * that differ are deliberate writes and must not lose purely on timestamp:
130
+ * the upsert-time floor stamps against the caller's snapshot, but a
131
+ * concurrent writer can land a still-newer entry before this merge runs, so
132
+ * the merge re-stamps against the freshest on-disk entry instead of
133
+ * silently dropping the edit. Without a baseline every supplied entry is a
134
+ * plain `updatedAt >=` upsert.
135
+ */
136
+ function mergeBudgetGuardLimits(current, incoming, baseline) {
137
+ const merged = {
138
+ version: 1,
139
+ limits: Object.assign(newLimitsMap(), current.limits),
140
+ };
141
+ const same = (a, b) => JSON.stringify(a) === JSON.stringify(b);
142
+ for (const [key, limit] of Object.entries(incoming.limits)) {
143
+ const existing = merged.limits[key];
144
+ if (!baseline) {
145
+ if (!existing || limit.updatedAt >= existing.updatedAt) {
146
+ merged.limits[key] = limit;
120
147
  }
148
+ continue;
121
149
  }
122
- finally {
123
- if (!moved) {
124
- try {
125
- await fs.unlink(tempPath);
126
- }
127
- catch {
128
- // Best-effort temp cleanup.
129
- }
130
- }
150
+ if (same(limit, baseline.limits[key]))
151
+ continue;
152
+ limit.updatedAt = stampUpdatedAt(limit.updatedAt, existing?.updatedAt);
153
+ merged.limits[key] = limit;
154
+ }
155
+ return merged;
156
+ }
157
+ export async function saveBudgetGuardStore(store, baseline) {
158
+ const path = getBudgetGuardPath();
159
+ const incoming = normalizeStore(store);
160
+ // Normalize at invocation like `incoming`: later caller-side mutation of
161
+ // `baseline` must not shift which entries the merge counts as deliberate.
162
+ const prior = baseline ? normalizeStore(baseline) : undefined;
163
+ // Per-path promise queue serializes writers inside THIS process; the
164
+ // lock directory closes the same window against OTHER processes. Inside the lock
165
+ // every attempt re-stats (CAS), re-reads the freshest on-disk store, and
166
+ // merges this call's entries over it — so a save that raced a concurrent
167
+ // write reloads-and-retries rather than blindly overwriting it.
168
+ await withJsonStoreWriteQueue(path, async () => {
169
+ await withJsonStoreFileLock(path, async () => {
170
+ await withJsonStoreCasRetry(async () => {
171
+ const expectedMtimeMs = await getJsonStoreFileMtimeMs(path);
172
+ const current = await loadBudgetGuardStore();
173
+ const merged = mergeBudgetGuardLimits(current, incoming, prior);
174
+ await fs.mkdir(getCodexMultiAuthDir(), {
175
+ recursive: true,
176
+ mode: 0o700,
177
+ });
178
+ await writeJsonStoreFileAtomicWithRetry(path, merged, {
179
+ expectedMtimeMs,
180
+ mode: 0o600,
181
+ });
182
+ });
183
+ });
184
+ });
185
+ }
186
+ /**
187
+ * Run a budget-guard read→mutate→write inside the write queue (in-process
188
+ * serialization) AND the cross-process lock directory, with mtime CAS retry:
189
+ * every attempt re-reads the freshest on-disk store and re-applies `mutate`
190
+ * before writing — so a mutation is applied to the latest committed state
191
+ * rather than merged by whole-record `updatedAt`, which can drop or clobber
192
+ * a concurrent process's change to the same key. `mutate` must be
193
+ * re-appliable across retries (apply precomputed work onto the store it is
194
+ * handed, don't capture mutated state). Prefer this over load→upsert→save
195
+ * whenever the caller is mutating rather than importing a foreign store.
196
+ */
197
+ export async function updateBudgetGuardStore(mutate) {
198
+ const path = getBudgetGuardPath();
199
+ return withJsonStoreWriteQueue(path, () => withJsonStoreFileLock(path, () => withJsonStoreCasRetry(async () => {
200
+ const expectedMtimeMs = await getJsonStoreFileMtimeMs(path);
201
+ const store = await loadBudgetGuardStore();
202
+ const { result, dirty } = mutate(store);
203
+ if (dirty) {
204
+ await fs.mkdir(getCodexMultiAuthDir(), {
205
+ recursive: true,
206
+ mode: 0o700,
207
+ });
208
+ await writeJsonStoreFileAtomicWithRetry(path, normalizeStore(store), { expectedMtimeMs, mode: 0o600 });
131
209
  }
132
- };
133
- const queued = writeQueue.catch(() => undefined).then(task);
134
- writeQueue = queued.then(() => undefined, () => undefined);
135
- await queued;
210
+ return result;
211
+ })));
136
212
  }
137
213
  export function upsertBudgetLimit(store, limit, now = Date.now()) {
138
214
  const key = normalizeKey(limit.key);
139
215
  if (!key)
140
216
  throw new Error("Budget key is required");
141
- const next = normalizeLimit(key, { ...limit, key, updatedAt: now });
217
+ const next = normalizeLimit(key, {
218
+ ...limit,
219
+ key,
220
+ updatedAt: stampUpdatedAt(now, store.limits[key]?.updatedAt),
221
+ });
142
222
  if (!next)
143
223
  throw new Error("Invalid budget limit");
144
- store.limits[key] = next;
224
+ writeLimitEntry(store.limits, key, next);
145
225
  return next;
146
226
  }
147
227
  export function getBudgetWindowStart(window, now = Date.now()) {
@@ -207,5 +287,5 @@ export function evaluateBudgetGuard(limit, summary) {
207
287
  };
208
288
  }
209
289
  export function resetBudgetGuardWriteQueueForTests() {
210
- writeQueue = Promise.resolve();
290
+ resetJsonStoreWriteQueuesForTests(getBudgetGuardPath());
211
291
  }
@@ -15,4 +15,3 @@ export declare class CapabilityPolicyStore {
15
15
  clearAccount(accountKey: string): number;
16
16
  private evictIfNeeded;
17
17
  }
18
- //# sourceMappingURL=capability-policy.d.ts.map
@@ -9,6 +9,20 @@ export type CircuitState = "closed" | "open" | "half-open";
9
9
  export declare class CircuitOpenError extends Error {
10
10
  constructor(message?: string);
11
11
  }
12
+ /**
13
+ * Non-throwing admission result, for hot paths that would otherwise pay for a
14
+ * {@link CircuitOpenError} allocation on every rejection during a storm.
15
+ * `reason` names the gate that rejected so callers can keep their own error
16
+ * taxonomy without parsing exception messages.
17
+ */
18
+ export type CircuitAdmissionResult = {
19
+ ok: true;
20
+ } | {
21
+ ok: false;
22
+ reason: "open" | "half-open";
23
+ /** Milliseconds until a fresh attempt may be admitted. */
24
+ retryAfterMs: number;
25
+ };
12
26
  export declare class CircuitBreaker {
13
27
  private state;
14
28
  private failures;
@@ -16,6 +30,12 @@ export declare class CircuitBreaker {
16
30
  private halfOpenAttempts;
17
31
  private config;
18
32
  constructor(config?: Partial<CircuitBreakerConfig>);
33
+ /**
34
+ * Same admission decision as {@link canExecute} but returns a result
35
+ * object instead of throwing, so reject-heavy callers stay exception-free.
36
+ * Admitting a probe still consumes the half-open attempt slot.
37
+ */
38
+ tryCanExecute(): CircuitAdmissionResult;
19
39
  canExecute(): boolean;
20
40
  isAvailable(now?: number): boolean;
21
41
  recordSuccess(): void;
@@ -41,4 +61,3 @@ export declare function clearCircuitBreakers(): void;
41
61
  * than inheriting an open one (accounts-02).
42
62
  */
43
63
  export declare function removeCircuitBreaker(key: string): void;
44
- //# sourceMappingURL=circuit-breaker.d.ts.map
@@ -19,14 +19,23 @@ export class CircuitBreaker {
19
19
  constructor(config = {}) {
20
20
  this.config = { ...DEFAULT_CIRCUIT_BREAKER_CONFIG, ...config };
21
21
  }
22
- canExecute() {
22
+ /**
23
+ * Same admission decision as {@link canExecute} but returns a result
24
+ * object instead of throwing, so reject-heavy callers stay exception-free.
25
+ * Admitting a probe still consumes the half-open attempt slot.
26
+ */
27
+ tryCanExecute() {
23
28
  const now = Date.now();
24
29
  if (this.state === "open") {
25
30
  if (now - this.lastStateChange >= this.config.resetTimeoutMs) {
26
31
  this.transitionToHalfOpen(now);
27
32
  }
28
33
  else {
29
- throw new CircuitOpenError();
34
+ return {
35
+ ok: false,
36
+ reason: "open",
37
+ retryAfterMs: Math.max(0, this.config.resetTimeoutMs - (now - this.lastStateChange)),
38
+ };
30
39
  }
31
40
  }
32
41
  if (this.state === "half-open") {
@@ -35,13 +44,23 @@ export class CircuitBreaker {
35
44
  this.resetHalfOpenProbeWindow(now);
36
45
  }
37
46
  else {
38
- throw new CircuitOpenError("Circuit is half-open");
47
+ return {
48
+ ok: false,
49
+ reason: "half-open",
50
+ retryAfterMs: Math.max(0, this.config.resetTimeoutMs - (now - this.lastStateChange)),
51
+ };
39
52
  }
40
53
  }
41
54
  this.halfOpenAttempts += 1;
42
- return true;
55
+ return { ok: true };
43
56
  }
44
- return true;
57
+ return { ok: true };
58
+ }
59
+ canExecute() {
60
+ const result = this.tryCanExecute();
61
+ if (result.ok)
62
+ return true;
63
+ throw new CircuitOpenError(result.reason === "half-open" ? "Circuit is half-open" : "Circuit is open");
45
64
  }
46
65
  isAvailable(now = Date.now()) {
47
66
  if (this.state === "open") {
package/dist/lib/cli.d.ts CHANGED
@@ -68,4 +68,3 @@ export interface AccountSelectionOptions {
68
68
  export declare function promptAccountSelection(candidates: AccountSelectionCandidate[], options?: AccountSelectionOptions): Promise<AccountSelectionCandidate | null>;
69
69
  export { isTTY };
70
70
  export type { AccountStatus };
71
- //# sourceMappingURL=cli.d.ts.map
@@ -2,4 +2,3 @@ export * from "./observability.js";
2
2
  export * from "./state.js";
3
3
  export * from "./sync.js";
4
4
  export * from "./writer.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -19,4 +19,3 @@ export declare function makeAccountFingerprint(input: {
19
19
  accountId?: string;
20
20
  email?: string;
21
21
  }): string | undefined;
22
- //# sourceMappingURL=observability.d.ts.map
@@ -99,4 +99,3 @@ export declare function loadCodexCliState(options?: {
99
99
  export declare function lookupCodexCliTokensByEmail(email: string | undefined): Promise<CodexCliTokenCacheEntry | null>;
100
100
  export declare function clearCodexCliStateCache(): void;
101
101
  export declare function __resetCodexCliWarningCacheForTests(): void;
102
- //# sourceMappingURL=state.d.ts.map
@@ -17,4 +17,3 @@ export declare function syncAccountStorageFromCodexCli(current: AccountStorageV3
17
17
  changed: boolean;
18
18
  }>;
19
19
  export declare function getActiveSelectionForFamily(storage: AccountStorageV3, family: ModelFamily): number;
20
- //# sourceMappingURL=sync.d.ts.map
@@ -60,4 +60,3 @@ export declare function ensureCodexCliFileAuthStore(configPath?: string): Promis
60
60
  export declare function setCodexCliActiveSelection(selection: ActiveSelection): Promise<boolean>;
61
61
  export declare function getLastCodexCliSelectionWriteTimestamp(): number;
62
62
  export {};
63
- //# sourceMappingURL=writer.d.ts.map
@@ -10,4 +10,3 @@ export declare function applyTokenAccountIdentity(account: {
10
10
  accountId?: string;
11
11
  accountIdSource?: AccountIdSource;
12
12
  }, tokenAccountId: string | undefined): boolean;
13
- //# sourceMappingURL=account-credentials.d.ts.map
@@ -11,4 +11,3 @@
11
11
  * @internal
12
12
  */
13
13
  export declare const ACCOUNT_MANAGER_COMMANDS: Set<string>;
14
- //# sourceMappingURL=account-manager-commands.d.ts.map
@@ -102,4 +102,3 @@ export declare function applyAccountPoolResults(params: {
102
102
  activeIndex: number;
103
103
  outcome: AccountPoolWriteOutcome | null;
104
104
  };
105
- //# sourceMappingURL=account-pool-write.d.ts.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Test-only: clear the storage-fingerprint cache so each test re-reads from
3
+ * disk instead of inheriting a previous scenario's "already synced" state.
4
+ */
5
+ export declare function resetActiveAccountSyncMetaForTests(): void;
6
+ export declare function autoSyncActiveAccountToCodex(): Promise<boolean>;