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
@@ -1 +1 @@
1
- {"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/forecast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/forecast.ts"],"names":[],"mappings":"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"}
@@ -234,7 +234,7 @@ export async function runForecastCommand(args, deps) {
234
234
  if (options.json) {
235
235
  if (workingQuotaCache && quotaCacheChanged) {
236
236
  try {
237
- await deps.saveQuotaCache(workingQuotaCache);
237
+ await deps.saveQuotaCache(workingQuotaCache, quotaCache ?? undefined);
238
238
  }
239
239
  catch (error) {
240
240
  // Quota cache is a derived artifact; a transient Windows EBUSY/
@@ -334,7 +334,7 @@ export async function runForecastCommand(args, deps) {
334
334
  }
335
335
  if (workingQuotaCache && quotaCacheChanged) {
336
336
  try {
337
- await deps.saveQuotaCache(workingQuotaCache);
337
+ await deps.saveQuotaCache(workingQuotaCache, quotaCache ?? undefined);
338
338
  }
339
339
  catch (error) {
340
340
  // Quota cache is a derived artifact; tolerate transient Windows
@@ -20,4 +20,3 @@ export interface HistoryCommandDeps {
20
20
  logError?: (message: string) => void;
21
21
  }
22
22
  export declare function runHistoryCommand(args: string[], deps?: HistoryCommandDeps): number;
23
- //# sourceMappingURL=history.d.ts.map
@@ -12,4 +12,3 @@ export declare function runInitConfigCommand(args: string[], deps?: {
12
12
  cwd?: () => string;
13
13
  }): Promise<number>;
14
14
  export {};
15
- //# sourceMappingURL=init-config.d.ts.map
@@ -3,4 +3,3 @@ export interface IntegrationsCommandDeps {
3
3
  logError?: (message: string) => void;
4
4
  }
5
5
  export declare function runIntegrationsCommand(args: string[], deps?: IntegrationsCommandDeps): number;
6
- //# sourceMappingURL=integrations.d.ts.map
@@ -18,4 +18,3 @@ export interface LimitsCommandDeps {
18
18
  * existing sequential, age-gated refresh path before serializing the snapshot.
19
19
  */
20
20
  export declare function runLimitsCommand(args: string[], deps: LimitsCommandDeps): Promise<number>;
21
- //# sourceMappingURL=limits.d.ts.map
@@ -11,4 +11,3 @@ export interface ModelsCommandDeps {
11
11
  getNow?: () => number;
12
12
  }
13
13
  export declare function runModelsCommand(args: string[], deps: ModelsCommandDeps): Promise<number>;
14
- //# sourceMappingURL=models.d.ts.map
@@ -19,4 +19,3 @@ export interface MonitorCommandDeps {
19
19
  getNow?: () => number;
20
20
  }
21
21
  export declare function runMonitorCommand(args: string[], deps: MonitorCommandDeps): Promise<number>;
22
- //# sourceMappingURL=monitor.d.ts.map
@@ -28,4 +28,3 @@ export interface ReportCommandDeps {
28
28
  loadQuotaCache?: () => Promise<QuotaCacheData | null>;
29
29
  }
30
30
  export declare function runReportCommand(args: string[], deps: ReportCommandDeps): Promise<number>;
31
- //# sourceMappingURL=report.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function runResetsCommand(args: string[]): Promise<number>;
2
- //# sourceMappingURL=resets.d.ts.map
@@ -37,6 +37,9 @@ export async function runResetsCommand(args) {
37
37
  return 0;
38
38
  }
39
39
  const targets = (storage?.accounts ?? []).map(resetTargetForStoredAccount).filter(t => t !== null);
40
+ const keyCounts = new Map();
41
+ for (const target of targets)
42
+ keyCounts.set(target.key, (keyCounts.get(target.key) ?? 0) + 1);
40
43
  const refreshed = value === '--refresh' ? await withCheckProgress('Refreshing reset-credit availability', () => service.refresh(targets)) : null;
41
44
  const state = await service.status();
42
45
  console.log(`Automatic redemption: ${state.policy}`);
@@ -44,7 +47,12 @@ export async function runResetsCommand(args) {
44
47
  const index = (storage?.accounts ?? []).findIndex(a => resetTargetForStoredAccount(a)?.key === state.lastRedemption?.key);
45
48
  console.log(`Last confirmed reset: ${index >= 0 ? `account ${index + 1}` : "removed account"}; ${state.lastRedemption.outcome}; ${state.lastRedemption.automatic ? "automatic" : "explicit"}`);
46
49
  }
47
- (storage?.accounts ?? []).forEach((a, i) => { const target = resetTargetForStoredAccount(a); const snapshot = target ? (refreshed ?? state.snapshots)[target.key] : undefined; console.log(`${resetAccountLabel(a, i)}: ${snapshot?.availableCount ?? 'unknown'} reset credits${snapshot ? ` (checked ${Math.max(0, Math.floor((Date.now() - snapshot.updatedAt) / 1000))}s ago)` : ''}${target?.key === state.pending?.key ? ' [redemption pending; retry this account]' : ''}`); });
50
+ (storage?.accounts ?? []).forEach((a, i) => { const target = resetTargetForStoredAccount(a); const ambiguous = target && (keyCounts.get(target.key) ?? 0) > 1; const snapshot = target && !ambiguous ? (refreshed ?? state.snapshots)[target.key] : undefined; console.log(`${resetAccountLabel(a, i)}: ${snapshot?.availableCount ?? 'unknown'} reset credits${snapshot ? ` (checked ${Math.max(0, Math.floor((Date.now() - snapshot.updatedAt) / 1000))}s ago)` : ''}${ambiguous ? ' [ambiguous account identity; repair duplicate records]' : ''}${target?.key === state.pending?.key ? ' [redemption pending; retry this account]' : ''}`); });
51
+ const failed = refreshed ? targets.filter(target => (keyCounts.get(target.key) ?? 0) > 1 || !refreshed[target.key]).length : 0;
52
+ if (failed) {
53
+ console.error(`${failed} of ${targets.length} reset-credit reads failed. Check account authentication and the native Codex backend (CODEX_MULTI_AUTH_USAGE_CODEX_BIN selects an executable). No credits were redeemed.`);
54
+ return 1;
55
+ }
48
56
  return 0;
49
57
  }
50
58
  catch {
@@ -24,4 +24,3 @@ export interface RotationCommandDeps {
24
24
  }
25
25
  export declare function runRotationCommand(args: string[], deps: RotationCommandDeps): Promise<number>;
26
26
  export {};
27
- //# sourceMappingURL=rotation.d.ts.map
@@ -42,4 +42,3 @@ export interface FeaturesCommandDeps {
42
42
  }
43
43
  export declare function runFeaturesCommand(deps: FeaturesCommandDeps): number;
44
44
  export {};
45
- //# sourceMappingURL=status.d.ts.map
@@ -23,4 +23,3 @@ export interface SwitchCommandDeps {
23
23
  }
24
24
  export declare function runSwitchCommand(args: string[], deps: SwitchCommandDeps): Promise<number>;
25
25
  export {};
26
- //# sourceMappingURL=switch.d.ts.map
@@ -34,4 +34,3 @@ export type UninstallCommandDeps = {
34
34
  };
35
35
  export declare function runUninstallCommand(args: string[], deps?: UninstallCommandDeps): Promise<number>;
36
36
  export {};
37
- //# sourceMappingURL=uninstall.d.ts.map
@@ -10,4 +10,3 @@ export interface UnpinCommandDeps {
10
10
  }
11
11
  export declare function runUnpinCommand(deps: UnpinCommandDeps): Promise<number>;
12
12
  export {};
13
- //# sourceMappingURL=unpin.d.ts.map
@@ -10,4 +10,3 @@ export interface UsageCommandDeps {
10
10
  writeFile?: (path: string, contents: string) => Promise<void>;
11
11
  }
12
12
  export declare function runUsageCommand(args: string[], deps?: UsageCommandDeps): Promise<number>;
13
- //# sourceMappingURL=usage.d.ts.map
@@ -56,4 +56,3 @@ export declare function runVerifyCommand(args: string[], deps: VerifyCommandDeps
56
56
  export declare function parseVerifyArgs(args: string[]): ParsedArgsResult<VerifyCliOptions>;
57
57
  export declare function printVerifyUsage(): void;
58
58
  export {};
59
- //# sourceMappingURL=verify.d.ts.map
@@ -33,4 +33,3 @@ export declare function runWhySelectedCommand(args: string[], deps: WhySelectedC
33
33
  export declare function parseWhySelectedArgs(args: string[]): ParsedArgsResult<WhySelectedCliOptions>;
34
34
  export declare function printWhySelectedUsage(): void;
35
35
  export {};
36
- //# sourceMappingURL=why-selected.d.ts.map
@@ -16,4 +16,3 @@ export interface WorkspaceCommandDeps {
16
16
  */
17
17
  export declare function runWorkspaceCommand(args: string[], deps: WorkspaceCommandDeps): Promise<number>;
18
18
  export {};
19
- //# sourceMappingURL=workspace.d.ts.map
@@ -23,4 +23,3 @@ export interface DashboardDisplayPanelDeps {
23
23
  UI_COPY: typeof UI_COPY;
24
24
  }
25
25
  export declare function promptDashboardDisplayPanel(initial: DashboardDisplaySettings, deps: DashboardDisplayPanelDeps): Promise<DashboardDisplaySettings | null>;
26
- //# sourceMappingURL=dashboard-display-panel.d.ts.map
@@ -3,4 +3,3 @@ export declare function formatDashboardSettingState(value: boolean): string;
3
3
  export declare function formatMenuSortMode(mode: DashboardAccountSortMode): string;
4
4
  export declare function formatMenuLayoutMode(mode: "compact-details" | "expanded-rows"): string;
5
5
  export declare function formatMenuQuotaTtl(ttlMs: number): string;
6
- //# sourceMappingURL=dashboard-formatters.d.ts.map
@@ -9,4 +9,3 @@ export declare function configureDashboardSettingsController(currentSettings: Da
9
9
  getDashboardSettingsPath: () => string;
10
10
  writeLine: (message: string) => void;
11
11
  }): Promise<DashboardDisplaySettings>;
12
- //# sourceMappingURL=dashboard-settings-controller.d.ts.map
@@ -7,4 +7,3 @@ export declare function dashboardSettingsDataEqual(left: DashboardDisplaySetting
7
7
  resolveMenuLayoutMode: (settings: DashboardDisplaySettings) => "compact-details" | "expanded-rows";
8
8
  normalizeStatuslineFields: (fields: DashboardDisplaySettings["menuStatuslineFields"]) => DashboardDisplaySettings["menuStatuslineFields"];
9
9
  }): boolean;
10
- //# sourceMappingURL=dashboard-settings-data.d.ts.map
@@ -19,4 +19,3 @@ export declare function configureDashboardSettingsEntry(currentSettings: Dashboa
19
19
  getDashboardSettingsPath: () => string;
20
20
  writeLine: (message: string) => void;
21
21
  }): Promise<DashboardDisplaySettings>;
22
- //# sourceMappingURL=dashboard-settings-entry.d.ts.map
@@ -4,4 +4,3 @@ export declare function promptExperimentalSettingsEntry<TTargetState>(params: {
4
4
  initialConfig: PluginConfig;
5
5
  promptExperimentalSettingsMenu: (args: ExperimentalSettingsPromptDeps<TTargetState>) => Promise<PluginConfig | null>;
6
6
  } & ExperimentalSettingsPromptDeps<TTargetState>): Promise<PluginConfig | null>;
7
- //# sourceMappingURL=experimental-settings-entry.d.ts.map
@@ -65,4 +65,3 @@ export type ExperimentalSettingsPromptDeps<TTargetState> = {
65
65
  };
66
66
  export declare function promptExperimentalSettingsMenu<TTargetState>(params: ExperimentalSettingsPromptDeps<TTargetState>): Promise<PluginConfig | null>;
67
67
  export {};
68
- //# sourceMappingURL=experimental-settings-prompt.d.ts.map
@@ -22,4 +22,3 @@ export type ExperimentalSettingsAction = {
22
22
  export declare function getExperimentalSelectOptions(ui: ReturnType<typeof getUiRuntimeOptions>, help: string, onInput?: SelectOptions<ExperimentalSettingsAction>["onInput"]): SelectOptions<ExperimentalSettingsAction>;
23
23
  export declare function mapExperimentalMenuHotkey(raw: string): ExperimentalSettingsAction | undefined;
24
24
  export declare function mapExperimentalStatusHotkey(raw: string): ExperimentalSettingsAction | undefined;
25
- //# sourceMappingURL=experimental-settings-schema.d.ts.map
@@ -27,4 +27,3 @@ export declare function loadExperimentalSyncTargetEntry(params: {
27
27
  normalizeAccountStorage: (value: unknown) => AccountStorageV3 | null;
28
28
  sleep: (ms: number) => Promise<void>;
29
29
  }): ReturnType<typeof params.loadExperimentalSyncTargetState>;
30
- //# sourceMappingURL=experimental-sync-target-entry.d.ts.map
@@ -20,4 +20,3 @@ export declare function loadExperimentalSyncTargetState(deps: {
20
20
  normalizeAccountStorage: (value: unknown) => AccountStorageV3 | null;
21
21
  }): Promise<ExperimentalSyncTargetState>;
22
22
  export {};
23
- //# sourceMappingURL=experimental-sync-target.d.ts.map
@@ -32,4 +32,3 @@ export declare function serializeForecastResults(results: ForecastAccountResult[
32
32
  };
33
33
  refreshFailure?: TokenFailure;
34
34
  }>;
35
- //# sourceMappingURL=forecast-report-shared.d.ts.map
@@ -8,4 +8,3 @@ export declare function formatRateLimitEntry(account: {
8
8
  rateLimitResetTimes?: Record<string, number | undefined>;
9
9
  }, now: number, family?: ModelFamily): string | null;
10
10
  export declare function formatBackupSavedAt(mtimeMs: number): string;
11
- //# sourceMappingURL=account-formatters.d.ts.map
@@ -2,4 +2,3 @@ export * from "./account-formatters.js";
2
2
  export * from "./model-formatters.js";
3
3
  export * from "./quota-formatters.js";
4
4
  export * from "./text-style.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -9,4 +9,3 @@ export interface ModelInspection {
9
9
  }
10
10
  export declare function inspectRequestedModel(requestedModel: string): ModelInspection;
11
11
  export declare function formatModelInspection(model: ModelInspection): string;
12
- //# sourceMappingURL=model-formatters.d.ts.map
@@ -23,4 +23,3 @@ export interface CompactQuotaFormatOptions {
23
23
  }
24
24
  export declare function formatCompactQuotaSnapshot(snapshot: CodexQuotaSnapshot, now?: number, options?: CompactQuotaFormatOptions): string;
25
25
  export declare function formatAccountQuotaSummary(entry: QuotaCacheEntry, now?: number, options?: CompactQuotaFormatOptions): string;
26
- //# sourceMappingURL=quota-formatters.d.ts.map
@@ -11,4 +11,3 @@ export declare function formatResultSummary(segments: ReadonlyArray<{
11
11
  tone: PromptTone;
12
12
  }>): string;
13
13
  export declare function stringifyLogArgs(args: unknown[]): string;
14
- //# sourceMappingURL=text-style.d.ts.map
@@ -14,4 +14,3 @@ export interface HealthCheckOptions {
14
14
  display?: DashboardDisplaySettings;
15
15
  }
16
16
  export declare function runHealthCheck(options?: HealthCheckOptions): Promise<void>;
17
- //# sourceMappingURL=health-check.d.ts.map
@@ -283,7 +283,7 @@ export async function runHealthCheck(options = {}) {
283
283
  }
284
284
  if (workingQuotaCache && quotaCacheChanged) {
285
285
  try {
286
- await saveQuotaCache(workingQuotaCache);
286
+ await saveQuotaCache(workingQuotaCache, quotaCache ?? undefined);
287
287
  }
288
288
  catch (error) {
289
289
  // Quota cache is a derived artifact; a transient Windows EBUSY/EPERM
@@ -38,4 +38,3 @@ export type ParsedBestArgs = {
38
38
  export declare function printBestUsage(): void;
39
39
  export declare function parseBestArgs(args: string[]): ParsedBestArgs;
40
40
  export {};
41
- //# sourceMappingURL=help.d.ts.map
@@ -1,4 +1,3 @@
1
1
  import type { DashboardDisplaySettings } from "../dashboard-settings.js";
2
2
  /** @internal */
3
3
  export declare function runActionPanel(title: string, stage: string, action: () => Promise<void> | void, settings?: DashboardDisplaySettings): Promise<void>;
4
- //# sourceMappingURL=login-action-panel.d.ts.map
@@ -17,4 +17,3 @@ export interface LoginFlowDeps {
17
17
  export declare function resolveLoginAccountTarget(storage: AccountStorageV3, identifier: string): AccountMetadataV3 | null;
18
18
  /** @internal */
19
19
  export declare function runAuthLogin(args: string[], deps: LoginFlowDeps): Promise<number>;
20
- //# sourceMappingURL=login-flow.d.ts.map
@@ -17,4 +17,3 @@ export declare function promptBackupRestoreMode(latestBackup: NamedBackupSummary
17
17
  export declare function promptManualBackupSelection(backups: NamedBackupSummary[]): Promise<NamedBackupSummary | null>;
18
18
  /** @internal */
19
19
  export declare function handleManageAction(storage: AccountStorageV3, menuResult: Awaited<ReturnType<typeof promptLoginMode>>): Promise<void>;
20
- //# sourceMappingURL=login-menu-actions.d.ts.map
@@ -16,4 +16,3 @@ export declare function refreshQuotaCacheForMenu(storage: AccountStorageV3, cach
16
16
  export declare function toExistingAccountInfo(storage: AccountStorageV3, quotaCache: QuotaCacheData | null, displaySettings: DashboardDisplaySettings, runtimeCurrent?: RuntimeCurrentAccountSelection | null): ExistingAccountInfo[];
17
17
  export declare function loadRuntimeCurrentSelectionForStorage(storage: AccountStorageV3, now?: number): Promise<RuntimeCurrentAccountSelection | null>;
18
18
  export declare function syncCodexCliActiveSelectionIfDrifted(storage: AccountStorageV3): Promise<boolean>;
19
- //# sourceMappingURL=login-menu-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login-menu-data.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/login-menu-data.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAEN,KAAK,wBAAwB,EAE7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEN,KAAK,cAAc,EAGnB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAKN,KAAK,8BAA8B,EACnC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAezE;;;;;;GAMG;AAEH,eAAO,MAAM,iCAAiC,QAAa,CAAC;AA+E5D,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAa,GACd,MAAM,CAkBR;AAED,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACnD,OAAO,CAAC,cAAc,CAAC,CAiGzB;AAoKD,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,cAAc,GAAG,IAAI,EACjC,eAAe,EAAE,wBAAwB,EACzC,cAAc,GAAE,8BAA8B,GAAG,IAAW,GAC1D,mBAAmB,EAAE,CA+EvB;AAED,wBAAsB,qCAAqC,CAC1D,OAAO,EAAE,gBAAgB,EACzB,GAAG,SAAa,GACd,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAgBhD;AAgCD,wBAAsB,oCAAoC,CACzD,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CAyBlB"}
1
+ {"version":3,"file":"login-menu-data.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/login-menu-data.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAEN,KAAK,wBAAwB,EAE7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAEN,KAAK,cAAc,EAGnB,MAAM,mBAAmB,CAAC;AAe3B,OAAO,EAKN,KAAK,8BAA8B,EACnC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,KAAK,EAAqB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAezE;;;;;;GAMG;AAEH,eAAO,MAAM,iCAAiC,QAAa,CAAC;AA+E5D,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAa,GACd,MAAM,CAkBR;AAED,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,gBAAgB,EACzB,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACnD,OAAO,CAAC,cAAc,CAAC,CAqGzB;AAoKD,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,cAAc,GAAG,IAAI,EACjC,eAAe,EAAE,wBAAwB,EACzC,cAAc,GAAE,8BAA8B,GAAG,IAAW,GAC1D,mBAAmB,EAAE,CA+EvB;AAED,wBAAsB,qCAAqC,CAC1D,OAAO,EAAE,gBAAgB,EACzB,GAAG,SAAa,GACd,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAgBhD;AAgCD,wBAAsB,oCAAoC,CACzD,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,OAAO,CAAC,CAyBlB"}
@@ -111,7 +111,8 @@ export async function refreshQuotaCacheForMenu(storage, cache, maxAgeMs, onProgr
111
111
  // loaded; another writer (a deep check, a second session) may have saved
112
112
  // entries meanwhile, and writing the stale clone back whole-file would
113
113
  // silently discard them (last write wins). Re-apply this run's results
114
- // onto the freshest persisted cache instead.
114
+ // onto a fresh snapshot for the returned menu view. saveQuotaCache then
115
+ // reloads under its file lock and applies only changes since saveBaseline.
115
116
  //
116
117
  // loadQuotaCache() is documented to never throw — on any read failure it
117
118
  // returns empty maps. We also guard the empty-maps case explicitly: if the
@@ -119,11 +120,14 @@ export async function refreshQuotaCacheForMenu(storage, cache, maxAgeMs, onProgr
119
120
  // nextCache so non-probed entries are not wiped. The try/catch handles any
120
121
  // mocked or future implementation that does throw.
121
122
  let cacheToSave = nextCache;
123
+ let saveBaseline = cache;
122
124
  try {
123
125
  const persisted = await loadQuotaCache();
124
126
  const persistedHasData = Object.keys(persisted.byAccountId).length > 0 ||
125
- Object.keys(persisted.byEmail).length > 0;
127
+ Object.keys(persisted.byEmail).length > 0 ||
128
+ Object.keys(persisted.byWorkspace ?? {}).length > 0;
126
129
  if (persistedHasData) {
130
+ saveBaseline = cloneQuotaCacheData(persisted);
127
131
  for (const { account, snapshot } of appliedSnapshots) {
128
132
  updateQuotaCacheForAccount(persisted, account, snapshot, storage.accounts, emailFallbackState);
129
133
  }
@@ -136,7 +140,7 @@ export async function refreshQuotaCacheForMenu(storage, cache, maxAgeMs, onProgr
136
140
  // so non-probed entries survive.
137
141
  }
138
142
  try {
139
- await saveQuotaCache(cacheToSave);
143
+ await saveQuotaCache(cacheToSave, saveBaseline);
140
144
  }
141
145
  catch (error) {
142
146
  // Quota cache is a derived artifact; a transient Windows EBUSY/EPERM
@@ -91,4 +91,3 @@ export interface PersistAccountPoolOptions {
91
91
  export declare function persistAccountPool(results: TokenSuccessWithAccount[], replaceAll: boolean, options?: PersistAccountPoolOptions): Promise<PersistAccountPoolResult | null>;
92
92
  /** @internal */
93
93
  export declare function syncSelectionToCodex(tokens: TokenSuccessWithAccount): Promise<void>;
94
- //# sourceMappingURL=login-oauth.d.ts.map
@@ -8,4 +8,3 @@ interface WorkspaceChoiceDeps {
8
8
  /** Undefined delegates to the unambiguous default; null means cancel without saving. */
9
9
  export declare function chooseLoginWorkspace(candidates: AccountIdCandidate[], deps?: WorkspaceChoiceDeps): Promise<string | undefined | null>;
10
10
  export {};
11
- //# sourceMappingURL=login-workspace-choice.d.ts.map
@@ -30,4 +30,3 @@ export type ManualCallbackClassification = {
30
30
  * which is treated as a cancellation.
31
31
  */
32
32
  export declare function classifyManualCallbackInput(answer: string | null, expectedState: string): ManualCallbackClassification;
33
- //# sourceMappingURL=manual-callback.d.ts.map
@@ -21,4 +21,3 @@ export declare function persistAndSyncSelectedAccount({ storage, targetIndex, pa
21
21
  synced: boolean;
22
22
  wasDisabled: boolean;
23
23
  }>;
24
- //# sourceMappingURL=persist-selected-account.d.ts.map
@@ -1,3 +1,4 @@
1
+ import { type QuotaCacheAccountRef } from "../quota-readiness.js";
1
2
  import { type QuotaCacheData, type QuotaCacheEntry } from "../quota-cache.js";
2
3
  import type { CodexQuotaSnapshot } from "../quota-probe.js";
3
4
  import type { AccountMetadataV3 } from "../storage.js";
@@ -11,8 +12,12 @@ import type { AccountMetadataV3 } from "../storage.js";
11
12
  */
12
13
  /** Default model used for live quota probes across manager commands. */
13
14
  export declare const DEFAULT_LIVE_PROBE_MODEL = "gpt-5.6-sol";
14
- export declare function getPersistedQuotaViewForAccount(cache: QuotaCacheData | null, account: Pick<AccountMetadataV3, "accountId" | "email" | "rateLimitResetTimes">, accounts: readonly Pick<AccountMetadataV3, "accountId" | "email">[], now: number, emailFallbackState?: ReadonlyMap<string, import("../quota-readiness.js").QuotaEmailFallbackState>): QuotaCacheEntry | null;
15
+ /** Combine selected-workspace observations with persisted account-level rate-limit blockers. */
16
+ export declare function getPersistedQuotaViewForAccount(cache: QuotaCacheData | null, account: QuotaCacheAccountRef & Pick<AccountMetadataV3, "rateLimitResetTimes">, accounts: readonly Pick<AccountMetadataV3, "accountId" | "email">[], now: number, emailFallbackState?: ReadonlyMap<string, import("../quota-readiness.js").QuotaEmailFallbackState>): QuotaCacheEntry | null;
17
+ /** Update legacy stored-binding quota with a unique ID or safe email fallback. */
15
18
  export declare function updateQuotaCacheForAccount(cache: QuotaCacheData, account: Pick<AccountMetadataV3, "accountId" | "email">, snapshot: CodexQuotaSnapshot, accounts: readonly Pick<AccountMetadataV3, "accountId" | "email">[], emailFallbackState?: ReadonlyMap<string, import("../quota-readiness.js").QuotaEmailFallbackState>): boolean;
19
+ /** Persist the observed workspace without attributing sibling quota to a stored binding. */
20
+ export declare function updateQuotaCacheForWorkspace(cache: QuotaCacheData, account: AccountMetadataV3, workspaceId: string, snapshot: CodexQuotaSnapshot, accounts: readonly AccountMetadataV3[]): void;
21
+ /** Clone every cache namespace; immutable entries may safely remain shared. */
16
22
  export declare function cloneQuotaCacheData(cache: QuotaCacheData): QuotaCacheData;
17
23
  export declare function pruneUnsafeQuotaEmailCacheEntry(cache: QuotaCacheData, email: string | undefined, accounts: readonly Pick<AccountMetadataV3, "accountId" | "email">[], emailFallbackState?: ReadonlyMap<string, import("../quota-readiness.js").QuotaEmailFallbackState>): boolean;
18
- //# sourceMappingURL=quota-cache-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota-cache-helpers.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/quota-cache-helpers.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;GAOG;AAEH,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,gBAAsB,CAAC;AA2B5D,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,OAAO,EAAE,IAAI,CACZ,iBAAiB,EACjB,WAAW,GAAG,OAAO,GAAG,qBAAqB,CAC7C,EACD,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,GAAG,EAAE,MAAM,EACX,kBAAkB,+EAAyC,GACzD,eAAe,GAAG,IAAI,CA+BxB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EACvD,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,kBAAkB,+EAAyC,GACzD,OAAO,CAuCT;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAOzE;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,kBAAkB,+EAAyC,GACzD,OAAO,CAeT"}
1
+ {"version":3,"file":"quota-cache-helpers.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/quota-cache-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,KAAK,oBAAoB,EAKzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;GAOG;AAEH,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,gBAAsB,CAAC;AAE5D,gGAAgG;AAChG,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,EAC9E,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,GAAG,EAAE,MAAM,EACX,kBAAkB,+EAAyC,GACzD,eAAe,GAAG,IAAI,CA+BxB;AAsBD,kFAAkF;AAClF,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EACvD,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,kBAAkB,+EAAyC,GACzD,OAAO,CAwBT;AAED,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAgB/L;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAQzE;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,kBAAkB,+EAAyC,GACzD,OAAO,CAeT"}
@@ -1,4 +1,4 @@
1
- import { buildQuotaEmailFallbackState, hasSafeQuotaEmailFallback, hasUniqueQuotaAccountId, normalizeQuotaAccountId, normalizeQuotaEmail, } from "../quota-readiness.js";
1
+ import { buildQuotaEmailFallbackState, findQuotaCacheEntryForAccount, quotaWorkspaceKey, hasSafeQuotaEmailFallback, hasUniqueQuotaAccountId, normalizeQuotaAccountId, normalizeQuotaEmail, } from "../quota-readiness.js";
2
2
  import { DEFAULT_MODEL, DEFAULT_PROBE_MODEL, } from "../request/helpers/model-map.js";
3
3
  import { getRateLimitResetTimeForFamily } from "../runtime/account-status.js";
4
4
  /**
@@ -11,24 +11,10 @@ import { getRateLimitResetTimeForFamily } from "../runtime/account-status.js";
11
11
  */
12
12
  /** Default model used for live quota probes across manager commands. */
13
13
  export const DEFAULT_LIVE_PROBE_MODEL = DEFAULT_PROBE_MODEL;
14
- function getQuotaCacheEntryForAccount(cache, account, accounts, emailFallbackState = buildQuotaEmailFallbackState(accounts)) {
15
- const accountId = normalizeQuotaAccountId(account.accountId);
16
- if (accountId &&
17
- hasUniqueQuotaAccountId(accounts, account) &&
18
- cache.byAccountId[accountId]) {
19
- return cache.byAccountId[accountId] ?? null;
20
- }
21
- const email = normalizeQuotaEmail(account.email);
22
- if (email &&
23
- hasSafeQuotaEmailFallback(emailFallbackState, account) &&
24
- cache.byEmail[email]) {
25
- return cache.byEmail[email] ?? null;
26
- }
27
- return null;
28
- }
14
+ /** Combine selected-workspace observations with persisted account-level rate-limit blockers. */
29
15
  export function getPersistedQuotaViewForAccount(cache, account, accounts, now, emailFallbackState = buildQuotaEmailFallbackState(accounts)) {
30
16
  const cachedEntry = cache
31
- ? getQuotaCacheEntryForAccount(cache, account, accounts, emailFallbackState)
17
+ ? findQuotaCacheEntryForAccount(cache, account, accounts, emailFallbackState)
32
18
  : null;
33
19
  const persistedResetAt = getRateLimitResetTimeForFamily(account, now, "codex");
34
20
  if (typeof persistedResetAt !== "number") {
@@ -52,8 +38,9 @@ export function getPersistedQuotaViewForAccount(cache, account, accounts, now, e
52
38
  secondary: cachedEntry?.secondary ?? {},
53
39
  };
54
40
  }
55
- export function updateQuotaCacheForAccount(cache, account, snapshot, accounts, emailFallbackState = buildQuotaEmailFallbackState(accounts)) {
56
- const nextEntry = {
41
+ /** Retain only quota fields from a probe, never its credentials or response body. */
42
+ function quotaEntryFromSnapshot(snapshot) {
43
+ return {
57
44
  updatedAt: Date.now(),
58
45
  status: snapshot.status,
59
46
  model: snapshot.model,
@@ -69,6 +56,10 @@ export function updateQuotaCacheForAccount(cache, account, snapshot, accounts, e
69
56
  resetAtMs: snapshot.secondary.resetAtMs,
70
57
  },
71
58
  };
59
+ }
60
+ /** Update legacy stored-binding quota with a unique ID or safe email fallback. */
61
+ export function updateQuotaCacheForAccount(cache, account, snapshot, accounts, emailFallbackState = buildQuotaEmailFallbackState(accounts)) {
62
+ const nextEntry = quotaEntryFromSnapshot(snapshot);
72
63
  let changed = false;
73
64
  const accountId = normalizeQuotaAccountId(account.accountId);
74
65
  const hasUniqueAccountId = accountId !== null && hasUniqueQuotaAccountId(accounts, account);
@@ -89,12 +80,36 @@ export function updateQuotaCacheForAccount(cache, account, snapshot, accounts, e
89
80
  }
90
81
  return changed;
91
82
  }
83
+ /** Persist the observed workspace without attributing sibling quota to a stored binding. */
84
+ export function updateQuotaCacheForWorkspace(cache, account, workspaceId, snapshot, accounts) {
85
+ const key = quotaWorkspaceKey(account, workspaceId);
86
+ if (!key)
87
+ return;
88
+ cache.byWorkspace ??= {};
89
+ cache.byWorkspace[key] = quotaEntryFromSnapshot(snapshot);
90
+ if (workspaceId === normalizeQuotaAccountId(account.accountId)) {
91
+ updateQuotaCacheForAccount(cache, account, snapshot, accounts);
92
+ }
93
+ else {
94
+ // Retire the ambiguous fallback only after retaining its binding observation.
95
+ const boundId = normalizeQuotaAccountId(account.accountId);
96
+ const binding = boundId ? findQuotaCacheEntryForAccount(cache, account, accounts, undefined, boundId) : null;
97
+ const boundKey = boundId && quotaWorkspaceKey(account, boundId);
98
+ if (binding && boundKey)
99
+ cache.byWorkspace[boundKey] = binding;
100
+ const email = normalizeQuotaEmail(account.email);
101
+ if (email)
102
+ delete cache.byEmail[email];
103
+ }
104
+ }
105
+ /** Clone every cache namespace; immutable entries may safely remain shared. */
92
106
  export function cloneQuotaCacheData(cache) {
93
107
  // Shallow spreading is safe because quota cache entries are always replaced,
94
108
  // never mutated in-place.
95
109
  return {
96
110
  byAccountId: { ...cache.byAccountId },
97
111
  byEmail: { ...cache.byEmail },
112
+ ...(cache.byWorkspace ? { byWorkspace: { ...cache.byWorkspace } } : {}),
98
113
  };
99
114
  }
100
115
  export function pruneUnsafeQuotaEmailCacheEntry(cache, email, accounts, emailFallbackState = buildQuotaEmailFallbackState(accounts)) {
@@ -1,2 +1 @@
1
1
  export declare function isRateLimitedMarker(marker: string): boolean;
2
- //# sourceMappingURL=rate-limit-markers.d.ts.map
@@ -65,4 +65,3 @@ export declare function runVerifyFlagged(args: string[], deps: RepairCommandDeps
65
65
  export declare function runFix(args: string[], deps: RepairCommandDeps): Promise<number>;
66
66
  export declare function runDoctor(args: string[], deps: RepairCommandDeps): Promise<number>;
67
67
  export {};
68
- //# sourceMappingURL=repair-commands.d.ts.map
@@ -1195,7 +1195,7 @@ export async function runFix(args, deps) {
1195
1195
  let quotaCacheSaveError = null;
1196
1196
  if (!options.dryRun && workingQuotaCache && quotaCacheChanged) {
1197
1197
  try {
1198
- await saveQuotaCache(workingQuotaCache);
1198
+ await saveQuotaCache(workingQuotaCache, quotaCache ?? undefined);
1199
1199
  }
1200
1200
  catch (error) {
1201
1201
  // Account storage was already persisted above. Surface the quota-cache
@@ -1,4 +1,3 @@
1
1
  import type { PluginConfig } from "../../types.js";
2
2
  export declare function promptBackendSettings(initial: PluginConfig): Promise<PluginConfig | null>;
3
3
  export declare function configureBackendSettings(currentConfig?: PluginConfig): Promise<PluginConfig>;
4
- //# sourceMappingURL=backend.d.ts.map
@@ -8,4 +8,3 @@ export declare function promptStatuslineSettings(initial: DashboardDisplaySettin
8
8
  export declare function configureStatuslineSettings(currentSettings?: DashboardDisplaySettings): Promise<DashboardDisplaySettings>;
9
9
  export declare function promptBehaviorSettings(initial: DashboardDisplaySettings): Promise<DashboardDisplaySettings | null>;
10
10
  export declare function promptThemeSettings(initial: DashboardDisplaySettings): Promise<DashboardDisplaySettings | null>;
11
- //# sourceMappingURL=dashboard.d.ts.map
@@ -15,4 +15,3 @@ export declare function loadExperimentalSyncTarget(): Promise<{
15
15
  destination: import("../../storage.js").AccountStorageV3 | null;
16
16
  }>;
17
17
  export declare function promptExperimentalSettings(initialConfig: PluginConfig): Promise<PluginConfig | null>;
18
- //# sourceMappingURL=experimental.d.ts.map
@@ -31,4 +31,3 @@ declare const __testOnly: {
31
31
  promptBackendSettings: typeof promptBackendSettings;
32
32
  };
33
33
  export { configureUnifiedSettings, applyUiThemeFromDashboardSettings, resolveMenuLayoutMode, __testOnly, };
34
- //# sourceMappingURL=index.d.ts.map
@@ -37,4 +37,3 @@ export declare function resolveMenuLayoutMode(settings: DashboardDisplaySettings
37
37
  export declare function withQueuedRetryForTests<T>(pathKey: string, task: () => Promise<T>): Promise<T>;
38
38
  export declare function persistDashboardSettingsSelectionForTests(selected: DashboardDisplaySettings, keys: ReadonlyArray<keyof DashboardDisplaySettings>, scope: string): Promise<DashboardDisplaySettings>;
39
39
  export declare function persistBackendConfigSelectionForTests(selected: PluginConfig, scope: string): Promise<PluginConfig>;
40
- //# sourceMappingURL=shared.d.ts.map
@@ -27,4 +27,3 @@ export declare function promptSettingsHubEntry<TAction extends {
27
27
  help: string;
28
28
  };
29
29
  }): Promise<TAction | null>;
30
- //# sourceMappingURL=settings-hub-entry.d.ts.map
@@ -27,4 +27,3 @@ export declare function buildSettingsHubItems(copy: {
27
27
  back: string;
28
28
  }): MenuItem<SettingsHubMenuAction>[];
29
29
  export declare function findSettingsHubInitialCursor(items: MenuItem<SettingsHubMenuAction>[], initialFocus: SettingsHubMenuAction["type"]): number | undefined;
30
- //# sourceMappingURL=settings-hub-menu.d.ts.map
@@ -22,4 +22,3 @@ export declare function promptSettingsHubMenu(initialFocus: SettingsHubMenuActio
22
22
  help: string;
23
23
  };
24
24
  }): Promise<SettingsHubMenuAction | null>;
25
- //# sourceMappingURL=settings-hub-prompt.d.ts.map
@@ -1,2 +1 @@
1
1
  export { __testOnly, applyUiThemeFromDashboardSettings, configureUnifiedSettings, resolveMenuLayoutMode, } from "./settings-hub/index.js";
2
- //# sourceMappingURL=settings-hub.d.ts.map
@@ -53,4 +53,3 @@ export declare function promptThemeSettingsPanelEntry(params: {
53
53
  THEME_PANEL_KEYS: ThemeSettingsPanelDeps["THEME_PANEL_KEYS"];
54
54
  UI_COPY: ThemeSettingsPanelDeps["UI_COPY"];
55
55
  }): Promise<DashboardDisplaySettings | null>;
56
- //# sourceMappingURL=settings-panels.d.ts.map