codex-multi-auth 2.3.0-beta.1 → 2.3.0-beta.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.
- package/.codex-plugin/plugin.json +2 -1
- package/README.md +4 -4
- package/config/schema/config.schema.json +268 -21
- package/dist/index.js +0 -1
- package/dist/lib/account-policy.d.ts.map +1 -1
- package/dist/lib/account-policy.js +2 -2
- package/dist/lib/accounts/rate-limits.js +0 -1
- package/dist/lib/accounts.d.ts +3 -8
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +2 -3
- package/dist/lib/audit.d.ts +0 -9
- package/dist/lib/audit.d.ts.map +1 -1
- package/dist/lib/audit.js +0 -1
- package/dist/lib/auth/auth.js +0 -1
- package/dist/lib/auth/browser.js +0 -1
- package/dist/lib/auth/device-auth.d.ts +1 -6
- package/dist/lib/auth/device-auth.d.ts.map +1 -1
- package/dist/lib/auth/device-auth.js +5 -6
- package/dist/lib/auth/index.js +0 -1
- package/dist/lib/auth/org-override.js +0 -1
- package/dist/lib/auth/server.js +0 -1
- package/dist/lib/auth/token-utils.js +0 -1
- package/dist/lib/auth-rate-limit.js +0 -1
- package/dist/lib/budget-guard.d.ts.map +1 -1
- package/dist/lib/budget-guard.js +2 -2
- package/dist/lib/capability-policy.js +0 -1
- package/dist/lib/circuit-breaker.js +0 -1
- package/dist/lib/cli.js +1 -2
- package/dist/lib/codex-cli/index.js +0 -1
- package/dist/lib/codex-cli/observability.js +0 -1
- package/dist/lib/codex-cli/state.js +0 -1
- package/dist/lib/codex-cli/sync.d.ts +2 -2
- package/dist/lib/codex-cli/sync.d.ts.map +1 -1
- package/dist/lib/codex-cli/sync.js +1 -2
- package/dist/lib/codex-cli/writer.d.ts.map +1 -1
- package/dist/lib/codex-cli/writer.js +2 -2
- package/dist/lib/codex-manager/account-credentials.d.ts +13 -0
- package/dist/lib/codex-manager/account-credentials.d.ts.map +1 -0
- package/dist/lib/codex-manager/account-credentials.js +55 -0
- package/dist/lib/codex-manager/account-manager-commands.js +0 -1
- package/dist/lib/codex-manager/account-pool-write.d.ts +1 -1
- package/dist/lib/codex-manager/account-pool-write.d.ts.map +1 -1
- package/dist/lib/codex-manager/account-pool-write.js +0 -1
- package/dist/lib/codex-manager/backend-category-entry.js +0 -1
- package/dist/lib/codex-manager/backend-category-helpers.js +0 -1
- package/dist/lib/codex-manager/backend-category-prompt.js +0 -1
- package/dist/lib/codex-manager/backend-settings-controller.js +0 -1
- package/dist/lib/codex-manager/backend-settings-entry.js +0 -1
- package/dist/lib/codex-manager/backend-settings-helpers.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-helpers.d.ts.map +1 -1
- package/dist/lib/codex-manager/backend-settings-helpers.js +1 -2
- package/dist/lib/codex-manager/backend-settings-prompt.js +0 -1
- package/dist/lib/codex-manager/backend-settings-schema.js +0 -1
- package/dist/lib/codex-manager/behavior-settings-panel.d.ts +1 -20
- package/dist/lib/codex-manager/behavior-settings-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/behavior-settings-panel.js +0 -1
- package/dist/lib/codex-manager/commands/account.js +0 -1
- package/dist/lib/codex-manager/commands/best.d.ts +8 -0
- package/dist/lib/codex-manager/commands/best.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/best.js +64 -1
- package/dist/lib/codex-manager/commands/bridge.js +0 -1
- package/dist/lib/codex-manager/commands/budget.js +0 -1
- package/dist/lib/codex-manager/commands/check.js +0 -1
- package/dist/lib/codex-manager/commands/config-explain.js +0 -1
- package/dist/lib/codex-manager/commands/debug-bundle.js +0 -1
- package/dist/lib/codex-manager/commands/forecast.js +0 -1
- package/dist/lib/codex-manager/commands/init-config.js +0 -1
- package/dist/lib/codex-manager/commands/integrations.js +0 -1
- package/dist/lib/codex-manager/commands/models.js +0 -1
- package/dist/lib/codex-manager/commands/monitor.js +0 -1
- package/dist/lib/codex-manager/commands/report.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/report.js +2 -2
- package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/rotation.js +1 -4
- package/dist/lib/codex-manager/commands/status.js +0 -1
- package/dist/lib/codex-manager/commands/switch.js +0 -1
- package/dist/lib/codex-manager/commands/uninstall.d.ts +2 -2
- package/dist/lib/codex-manager/commands/uninstall.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/uninstall.js +3 -34
- package/dist/lib/codex-manager/commands/unpin.js +0 -1
- package/dist/lib/codex-manager/commands/usage.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/usage.js +2 -2
- package/dist/lib/codex-manager/commands/verify.d.ts +2 -2
- package/dist/lib/codex-manager/commands/verify.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/verify.js +0 -1
- package/dist/lib/codex-manager/commands/why-selected.d.ts +1 -22
- package/dist/lib/codex-manager/commands/why-selected.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/why-selected.js +0 -1
- package/dist/lib/codex-manager/commands/workspace.js +0 -1
- package/dist/lib/codex-manager/dashboard-display-panel.d.ts +1 -15
- package/dist/lib/codex-manager/dashboard-display-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/dashboard-display-panel.js +0 -1
- package/dist/lib/codex-manager/dashboard-formatters.js +0 -1
- package/dist/lib/codex-manager/dashboard-settings-controller.js +0 -1
- package/dist/lib/codex-manager/dashboard-settings-data.js +0 -1
- package/dist/lib/codex-manager/dashboard-settings-entry.js +0 -1
- package/dist/lib/codex-manager/experimental-settings-entry.js +0 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts +2 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.js +0 -1
- package/dist/lib/codex-manager/experimental-settings-schema.js +1 -2
- package/dist/lib/codex-manager/experimental-sync-target-entry.js +0 -1
- package/dist/lib/codex-manager/experimental-sync-target.js +0 -1
- package/dist/lib/codex-manager/forecast-report-commands.js +0 -1
- package/dist/lib/codex-manager/forecast-report-shared.d.ts +2 -2
- package/dist/lib/codex-manager/forecast-report-shared.d.ts.map +1 -1
- package/dist/lib/codex-manager/forecast-report-shared.js +5 -21
- package/dist/lib/codex-manager/formatters/account-formatters.d.ts +11 -0
- package/dist/lib/codex-manager/formatters/account-formatters.d.ts.map +1 -0
- package/dist/lib/codex-manager/formatters/account-formatters.js +79 -0
- package/dist/lib/codex-manager/formatters/index.d.ts +5 -0
- package/dist/lib/codex-manager/formatters/index.d.ts.map +1 -0
- package/dist/lib/codex-manager/formatters/index.js +4 -0
- package/dist/lib/codex-manager/formatters/model-formatters.d.ts +12 -0
- package/dist/lib/codex-manager/formatters/model-formatters.d.ts.map +1 -0
- package/dist/lib/codex-manager/formatters/model-formatters.js +23 -0
- package/dist/lib/codex-manager/formatters/quota-formatters.d.ts +9 -0
- package/dist/lib/codex-manager/formatters/quota-formatters.d.ts.map +1 -0
- package/dist/lib/codex-manager/formatters/quota-formatters.js +104 -0
- package/dist/lib/codex-manager/formatters/text-style.d.ts +14 -0
- package/dist/lib/codex-manager/formatters/text-style.d.ts.map +1 -0
- package/dist/lib/codex-manager/formatters/text-style.js +111 -0
- package/dist/lib/codex-manager/health-check.d.ts +14 -0
- package/dist/lib/codex-manager/health-check.d.ts.map +1 -0
- package/dist/lib/codex-manager/health-check.js +278 -0
- package/dist/lib/codex-manager/help.d.ts +2 -1
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +0 -1
- package/dist/lib/codex-manager/login-action-panel.d.ts +4 -0
- package/dist/lib/codex-manager/login-action-panel.d.ts.map +1 -0
- package/dist/lib/codex-manager/login-action-panel.js +238 -0
- package/dist/lib/codex-manager/login-flow.d.ts +17 -0
- package/dist/lib/codex-manager/login-flow.d.ts.map +1 -0
- package/dist/lib/codex-manager/login-flow.js +387 -0
- package/dist/lib/codex-manager/login-menu-actions.d.ts +20 -0
- package/dist/lib/codex-manager/login-menu-actions.d.ts.map +1 -0
- package/dist/lib/codex-manager/login-menu-actions.js +303 -0
- package/dist/lib/codex-manager/login-menu-data.d.ts +19 -0
- package/dist/lib/codex-manager/login-menu-data.d.ts.map +1 -0
- package/dist/lib/codex-manager/login-menu-data.js +378 -0
- package/dist/lib/codex-manager/login-oauth.d.ts +55 -0
- package/dist/lib/codex-manager/login-oauth.d.ts.map +1 -0
- package/dist/lib/codex-manager/login-oauth.js +345 -0
- package/dist/lib/codex-manager/manual-callback.js +0 -1
- package/dist/lib/codex-manager/persist-selected-account.d.ts +24 -0
- package/dist/lib/codex-manager/persist-selected-account.d.ts.map +1 -0
- package/dist/lib/codex-manager/persist-selected-account.js +107 -0
- package/dist/lib/codex-manager/quota-cache-helpers.d.ts +18 -0
- package/dist/lib/codex-manager/quota-cache-helpers.d.ts.map +1 -0
- package/dist/lib/codex-manager/quota-cache-helpers.js +112 -0
- package/dist/lib/codex-manager/rate-limit-markers.js +0 -1
- package/dist/lib/codex-manager/repair-commands.d.ts +0 -15
- package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -1
- package/dist/lib/codex-manager/repair-commands.js +5 -6
- package/dist/lib/codex-manager/settings-hub/backend.d.ts +0 -5
- package/dist/lib/codex-manager/settings-hub/backend.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-hub/backend.js +2 -3
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts +1 -14
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.js +9 -10
- package/dist/lib/codex-manager/settings-hub/experimental.js +1 -2
- package/dist/lib/codex-manager/settings-hub/index.js +1 -2
- package/dist/lib/codex-manager/settings-hub/shared.js +0 -1
- package/dist/lib/codex-manager/settings-hub-entry.js +0 -1
- package/dist/lib/codex-manager/settings-hub-menu.js +0 -1
- package/dist/lib/codex-manager/settings-hub-prompt.js +0 -1
- package/dist/lib/codex-manager/settings-hub.js +0 -1
- package/dist/lib/codex-manager/settings-panels.js +0 -1
- package/dist/lib/codex-manager/settings-persist-utils.js +0 -1
- package/dist/lib/codex-manager/settings-preview.js +0 -1
- package/dist/lib/codex-manager/settings-write-queue.d.ts +0 -10
- package/dist/lib/codex-manager/settings-write-queue.d.ts.map +1 -1
- package/dist/lib/codex-manager/settings-write-queue.js +10 -11
- package/dist/lib/codex-manager/statusline-order.js +0 -1
- package/dist/lib/codex-manager/statusline-settings-panel.d.ts +3 -18
- package/dist/lib/codex-manager/statusline-settings-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/statusline-settings-panel.js +0 -1
- package/dist/lib/codex-manager/theme-settings-panel.d.ts +1 -14
- package/dist/lib/codex-manager/theme-settings-panel.d.ts.map +1 -1
- package/dist/lib/codex-manager/theme-settings-panel.js +0 -1
- package/dist/lib/codex-manager/unified-settings-controller.js +0 -1
- package/dist/lib/codex-manager/unified-settings-entry.js +0 -1
- package/dist/lib/codex-manager.d.ts +2 -4
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +219 -2570
- package/dist/lib/config-schema.d.ts +32 -0
- package/dist/lib/config-schema.d.ts.map +1 -0
- package/dist/lib/config-schema.js +96 -0
- package/dist/lib/config.d.ts +0 -13
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +82 -123
- package/dist/lib/constants.js +0 -1
- package/dist/lib/context-overflow.js +0 -1
- package/dist/lib/dashboard-settings.d.ts +3 -3
- package/dist/lib/dashboard-settings.d.ts.map +1 -1
- package/dist/lib/dashboard-settings.js +0 -2
- package/dist/lib/entitlement-cache.js +0 -1
- package/dist/lib/env-parsing.js +0 -1
- package/dist/lib/errors.d.ts +0 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +0 -1
- package/dist/lib/forecast.d.ts +4 -3
- package/dist/lib/forecast.d.ts.map +1 -1
- package/dist/lib/forecast.js +0 -1
- package/dist/lib/fs-retry.d.ts +46 -3
- package/dist/lib/fs-retry.d.ts.map +1 -1
- package/dist/lib/fs-retry.js +77 -9
- package/dist/lib/health.js +0 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/lib/integration-generators.js +0 -1
- package/dist/lib/live-account-sync.js +0 -1
- package/dist/lib/local-bridge.js +0 -1
- package/dist/lib/local-client-tokens.d.ts.map +1 -1
- package/dist/lib/local-client-tokens.js +2 -2
- package/dist/lib/logger.js +0 -1
- package/dist/lib/model-capability-matrix.js +0 -1
- package/dist/lib/named-backup-export.js +0 -1
- package/dist/lib/oc-chatgpt-import-adapter.d.ts +1 -1
- package/dist/lib/oc-chatgpt-import-adapter.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-import-adapter.js +0 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-orchestrator.js +2 -2
- package/dist/lib/oc-chatgpt-target-detection.d.ts +1 -1
- package/dist/lib/oc-chatgpt-target-detection.d.ts.map +1 -1
- package/dist/lib/oc-chatgpt-target-detection.js +0 -1
- package/dist/lib/parallel-probe.js +0 -1
- package/dist/lib/policy/runtime-policy.js +0 -1
- package/dist/lib/preemptive-quota-scheduler.js +0 -1
- package/dist/lib/proactive-refresh.js +0 -1
- package/dist/lib/prompts/codex-host-bridge.d.ts +0 -8
- package/dist/lib/prompts/codex-host-bridge.d.ts.map +1 -1
- package/dist/lib/prompts/codex-host-bridge.js +0 -21
- package/dist/lib/prompts/codex.d.ts +3 -11
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +6 -13
- package/dist/lib/prompts/fetch-utils.d.ts +0 -2
- package/dist/lib/prompts/fetch-utils.d.ts.map +1 -1
- package/dist/lib/prompts/fetch-utils.js +2 -3
- package/dist/lib/prompts/host-codex-prompt.d.ts.map +1 -1
- package/dist/lib/prompts/host-codex-prompt.js +2 -2
- package/dist/lib/quota-cache.d.ts.map +1 -1
- package/dist/lib/quota-cache.js +17 -44
- package/dist/lib/quota-probe.js +0 -1
- package/dist/lib/quota-readiness.js +0 -1
- package/dist/lib/recovery/constants.js +0 -1
- package/dist/lib/recovery/index.js +0 -1
- package/dist/lib/recovery/storage.d.ts.map +1 -1
- package/dist/lib/recovery/storage.js +35 -54
- package/dist/lib/recovery/storage.js.map +1 -1
- package/dist/lib/recovery/types.d.ts +4 -12
- package/dist/lib/recovery/types.d.ts.map +1 -1
- package/dist/lib/recovery/types.js +0 -1
- package/dist/lib/recovery.d.ts +2 -2
- package/dist/lib/recovery.d.ts.map +1 -1
- package/dist/lib/recovery.js +0 -1
- package/dist/lib/refresh-guardian.js +0 -1
- package/dist/lib/refresh-lease.d.ts.map +1 -1
- package/dist/lib/refresh-lease.js +1 -4
- package/dist/lib/refresh-queue.js +0 -1
- package/dist/lib/request/error-classification.d.ts +75 -0
- package/dist/lib/request/error-classification.d.ts.map +1 -0
- package/dist/lib/request/error-classification.js +295 -0
- package/dist/lib/request/failover-config.js +0 -1
- package/dist/lib/request/failure-policy.js +0 -1
- package/dist/lib/request/fetch-helpers.d.ts +10 -114
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +7 -589
- package/dist/lib/request/headers.d.ts +33 -0
- package/dist/lib/request/headers.d.ts.map +1 -0
- package/dist/lib/request/headers.js +64 -0
- package/dist/lib/request/helpers/input-utils.js +0 -1
- package/dist/lib/request/helpers/model-map.d.ts +10 -0
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +11 -1
- package/dist/lib/request/helpers/tool-utils.js +0 -1
- package/dist/lib/request/index.js +0 -1
- package/dist/lib/request/rate-limit-backoff.js +0 -1
- package/dist/lib/request/rate-limit-decision.d.ts +28 -0
- package/dist/lib/request/rate-limit-decision.d.ts.map +1 -0
- package/dist/lib/request/rate-limit-decision.js +191 -0
- package/dist/lib/request/request-attempt-budget.js +0 -1
- package/dist/lib/request/request-init.js +0 -1
- package/dist/lib/request/request-resilience.js +0 -1
- package/dist/lib/request/request-transformer.js +0 -1
- package/dist/lib/request/response-compaction.d.ts +2 -1
- package/dist/lib/request/response-compaction.d.ts.map +1 -1
- package/dist/lib/request/response-compaction.js +0 -1
- package/dist/lib/request/response-handler.js +0 -1
- package/dist/lib/request/response-metadata.js +0 -1
- package/dist/lib/request/stream-failover-runtime.d.ts +8 -0
- package/dist/lib/request/stream-failover-runtime.d.ts.map +1 -0
- package/dist/lib/request/stream-failover-runtime.js +171 -0
- package/dist/lib/request/stream-failover.js +0 -1
- package/dist/lib/request/token-refresh.d.ts +30 -0
- package/dist/lib/request/token-refresh.d.ts.map +1 -0
- package/dist/lib/request/token-refresh.js +116 -0
- package/dist/lib/request/url-rewriting.d.ts +24 -0
- package/dist/lib/request/url-rewriting.d.ts.map +1 -0
- package/dist/lib/request/url-rewriting.js +153 -0
- package/dist/lib/request/wait-utils.js +0 -1
- package/dist/lib/rotation.d.ts +2 -4
- package/dist/lib/rotation.d.ts.map +1 -1
- package/dist/lib/rotation.js +1 -3
- package/dist/lib/routing-mutex.js +0 -1
- package/dist/lib/routing-profiles.d.ts.map +1 -1
- package/dist/lib/routing-profiles.js +2 -2
- package/dist/lib/runtime/account-check-helpers.js +0 -1
- package/dist/lib/runtime/account-check-types.js +0 -1
- package/dist/lib/runtime/account-check.js +0 -1
- package/dist/lib/runtime/account-health-check.js +0 -1
- package/dist/lib/runtime/account-manager-cache-entry.js +0 -1
- package/dist/lib/runtime/account-manager-cache.js +0 -1
- package/dist/lib/runtime/account-pool.js +0 -1
- package/dist/lib/runtime/account-scope.js +0 -1
- package/dist/lib/runtime/account-select-event.js +0 -1
- package/dist/lib/runtime/account-selection.js +0 -1
- package/dist/lib/runtime/account-state.js +0 -1
- package/dist/lib/runtime/account-status.js +0 -1
- package/dist/lib/runtime/account-storage-scope-entry.js +0 -1
- package/dist/lib/runtime/app-bind.js +0 -1
- package/dist/lib/runtime/auth-facade.js +0 -1
- package/dist/lib/runtime/browser-oauth-flow.js +0 -1
- package/dist/lib/runtime/capability-boost.js +0 -1
- package/dist/lib/runtime/config-toml.d.ts +0 -6
- package/dist/lib/runtime/config-toml.d.ts.map +1 -1
- package/dist/lib/runtime/config-toml.js +6 -7
- package/dist/lib/runtime/event-handler.d.ts +0 -31
- package/dist/lib/runtime/event-handler.d.ts.map +1 -1
- package/dist/lib/runtime/event-handler.js +0 -23
- package/dist/lib/runtime/first-run.d.ts +78 -0
- package/dist/lib/runtime/first-run.d.ts.map +1 -0
- package/dist/lib/runtime/first-run.js +327 -0
- package/dist/lib/runtime/flagged-verify-types.js +0 -1
- package/dist/lib/runtime/hydrate-emails.js +0 -1
- package/dist/lib/runtime/live-sync-entry.js +0 -1
- package/dist/lib/runtime/live-sync.js +0 -1
- package/dist/lib/runtime/loader-setup.js +0 -1
- package/dist/lib/runtime/login-menu-accounts.js +0 -1
- package/dist/lib/runtime/manual-oauth-flow.js +0 -1
- package/dist/lib/runtime/oauth-browser-flow.js +0 -1
- package/dist/lib/runtime/preemptive-quota.js +0 -1
- package/dist/lib/runtime/quota-headers.d.ts +1 -6
- package/dist/lib/runtime/quota-headers.d.ts.map +1 -1
- package/dist/lib/runtime/quota-headers.js +5 -6
- package/dist/lib/runtime/quota-probe.js +0 -1
- package/dist/lib/runtime/quota-settings.js +0 -1
- package/dist/lib/runtime/refresh-guardian-entry.js +0 -1
- package/dist/lib/runtime/refresh-guardian.js +0 -1
- package/dist/lib/runtime/request-init.js +0 -1
- package/dist/lib/runtime/rotation-account-selection.d.ts +38 -0
- package/dist/lib/runtime/rotation-account-selection.d.ts.map +1 -0
- package/dist/lib/runtime/rotation-account-selection.js +172 -0
- package/dist/lib/runtime/rotation-proxy-state.d.ts +54 -0
- package/dist/lib/runtime/rotation-proxy-state.d.ts.map +1 -0
- package/dist/lib/runtime/rotation-proxy-state.js +56 -0
- package/dist/lib/runtime/rotation-server-types.d.ts +57 -0
- package/dist/lib/runtime/rotation-server-types.d.ts.map +1 -0
- package/dist/lib/runtime/rotation-server-types.js +1 -0
- package/dist/lib/runtime/rotation-storage-meta.d.ts +40 -0
- package/dist/lib/runtime/rotation-storage-meta.d.ts.map +1 -0
- package/dist/lib/runtime/rotation-storage-meta.js +143 -0
- package/dist/lib/runtime/rotation-token-refresh.d.ts +25 -0
- package/dist/lib/runtime/rotation-token-refresh.d.ts.map +1 -0
- package/dist/lib/runtime/rotation-token-refresh.js +99 -0
- package/dist/lib/runtime/runtime-current-account.d.ts +3 -3
- package/dist/lib/runtime/runtime-current-account.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-current-account.js +2 -5
- package/dist/lib/runtime/runtime-observability.d.ts +2 -2
- package/dist/lib/runtime/runtime-observability.d.ts.map +1 -1
- package/dist/lib/runtime/runtime-observability.js +0 -5
- package/dist/lib/runtime/runtime-services.js +0 -1
- package/dist/lib/runtime/session-affinity-entry.js +0 -1
- package/dist/lib/runtime/session-affinity.js +0 -1
- package/dist/lib/runtime/session-recovery.js +0 -1
- package/dist/lib/runtime/status-marker.js +0 -1
- package/dist/lib/runtime/storage-scope.js +0 -1
- package/dist/lib/runtime/toast.js +0 -1
- package/dist/lib/runtime/ui-runtime-entry.js +0 -1
- package/dist/lib/runtime/ui-runtime.js +0 -1
- package/dist/lib/runtime/verify-flagged.js +0 -1
- package/dist/lib/runtime-constants.js +0 -1
- package/dist/lib/runtime-paths.js +0 -1
- package/dist/lib/runtime-rotation-proxy.d.ts +7 -124
- package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
- package/dist/lib/runtime-rotation-proxy.js +618 -1356
- package/dist/lib/schemas.d.ts +5 -93
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +9 -10
- package/dist/lib/session-affinity.js +0 -1
- package/dist/lib/shutdown.js +0 -1
- package/dist/lib/storage/account-clear-entry.js +0 -1
- package/dist/lib/storage/account-clear.js +0 -1
- package/dist/lib/storage/account-match-utils.js +0 -1
- package/dist/lib/storage/account-persistence.d.ts +1 -1
- package/dist/lib/storage/account-persistence.d.ts.map +1 -1
- package/dist/lib/storage/account-persistence.js +0 -1
- package/dist/lib/storage/account-port.d.ts +1 -1
- package/dist/lib/storage/account-port.d.ts.map +1 -1
- package/dist/lib/storage/account-port.js +0 -1
- package/dist/lib/storage/account-save-entry.d.ts +1 -1
- package/dist/lib/storage/account-save-entry.d.ts.map +1 -1
- package/dist/lib/storage/account-save-entry.js +0 -1
- package/dist/lib/storage/account-save.d.ts +1 -1
- package/dist/lib/storage/account-save.d.ts.map +1 -1
- package/dist/lib/storage/account-save.js +0 -1
- package/dist/lib/storage/account-snapshot.js +0 -1
- package/dist/lib/storage/backup-metadata-builder.d.ts +1 -1
- package/dist/lib/storage/backup-metadata-builder.d.ts.map +1 -1
- package/dist/lib/storage/backup-metadata-builder.js +0 -1
- package/dist/lib/storage/backup-metadata.d.ts +13 -0
- package/dist/lib/storage/backup-metadata.d.ts.map +1 -1
- package/dist/lib/storage/backup-metadata.js +0 -1
- package/dist/lib/storage/backup-paths.js +0 -1
- package/dist/lib/storage/backup-restore.d.ts +1 -1
- package/dist/lib/storage/backup-restore.d.ts.map +1 -1
- package/dist/lib/storage/backup-restore.js +0 -1
- package/dist/lib/storage/cache-artifacts.js +0 -1
- package/dist/lib/storage/error-hints.js +0 -1
- package/dist/lib/storage/file-paths.d.ts +2 -2
- package/dist/lib/storage/file-paths.d.ts.map +1 -1
- package/dist/lib/storage/file-paths.js +2 -3
- package/dist/lib/storage/fixture-guards.d.ts +1 -1
- package/dist/lib/storage/fixture-guards.d.ts.map +1 -1
- package/dist/lib/storage/fixture-guards.js +0 -1
- package/dist/lib/storage/flagged-entry.js +0 -1
- package/dist/lib/storage/flagged-load-entry.d.ts +1 -1
- package/dist/lib/storage/flagged-load-entry.d.ts.map +1 -1
- package/dist/lib/storage/flagged-load-entry.js +0 -1
- package/dist/lib/storage/flagged-save-entry.d.ts +1 -1
- package/dist/lib/storage/flagged-save-entry.d.ts.map +1 -1
- package/dist/lib/storage/flagged-save-entry.js +0 -1
- package/dist/lib/storage/flagged-storage-file.d.ts +1 -1
- package/dist/lib/storage/flagged-storage-file.d.ts.map +1 -1
- package/dist/lib/storage/flagged-storage-file.js +0 -1
- package/dist/lib/storage/flagged-storage-io.d.ts +1 -1
- package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -1
- package/dist/lib/storage/flagged-storage-io.js +2 -3
- package/dist/lib/storage/flagged-storage.d.ts +1 -1
- package/dist/lib/storage/flagged-storage.d.ts.map +1 -1
- package/dist/lib/storage/flagged-storage.js +15 -2
- package/dist/lib/storage/flagged-storage.js.map +1 -1
- package/dist/lib/storage/gitignore.js +0 -1
- package/dist/lib/storage/hash.js +0 -1
- package/dist/lib/storage/health.js +0 -1
- package/dist/lib/storage/identity.js +0 -1
- package/dist/lib/storage/import-export.d.ts +1 -1
- package/dist/lib/storage/import-export.d.ts.map +1 -1
- package/dist/lib/storage/import-export.js +2 -3
- package/dist/lib/storage/metadata-section.js +0 -1
- package/dist/lib/storage/migrations.d.ts +7 -49
- package/dist/lib/storage/migrations.d.ts.map +1 -1
- package/dist/lib/storage/migrations.js +5 -2
- package/dist/lib/storage/named-backup-entry.js +0 -1
- package/dist/lib/storage/named-backups-entry.d.ts +1 -1
- package/dist/lib/storage/named-backups-entry.d.ts.map +1 -1
- package/dist/lib/storage/named-backups-entry.js +0 -1
- package/dist/lib/storage/named-backups.js +0 -1
- package/dist/lib/storage/path-state.js +0 -1
- package/dist/lib/storage/paths.js +0 -1
- package/dist/lib/storage/project-migration.d.ts +1 -1
- package/dist/lib/storage/project-migration.d.ts.map +1 -1
- package/dist/lib/storage/project-migration.js +0 -1
- package/dist/lib/storage/public-types.d.ts +70 -0
- package/dist/lib/storage/public-types.d.ts.map +1 -0
- package/dist/lib/storage/public-types.js +6 -0
- package/dist/lib/storage/record-utils.js +0 -1
- package/dist/lib/storage/restore-assessment.d.ts +1 -1
- package/dist/lib/storage/restore-assessment.d.ts.map +1 -1
- package/dist/lib/storage/restore-assessment.js +0 -1
- package/dist/lib/storage/restore-backup-entry.d.ts +1 -1
- package/dist/lib/storage/restore-backup-entry.d.ts.map +1 -1
- package/dist/lib/storage/restore-backup-entry.js +0 -1
- package/dist/lib/storage/restore-metadata.d.ts +1 -1
- package/dist/lib/storage/restore-metadata.d.ts.map +1 -1
- package/dist/lib/storage/restore-metadata.js +0 -1
- package/dist/lib/storage/restore.d.ts +1 -1
- package/dist/lib/storage/restore.d.ts.map +1 -1
- package/dist/lib/storage/restore.js +0 -1
- package/dist/lib/storage/save-retry.d.ts +10 -0
- package/dist/lib/storage/save-retry.d.ts.map +1 -0
- package/dist/lib/storage/save-retry.js +26 -0
- package/dist/lib/storage/snapshot-inspectors.d.ts +1 -1
- package/dist/lib/storage/snapshot-inspectors.d.ts.map +1 -1
- package/dist/lib/storage/snapshot-inspectors.js +0 -1
- package/dist/lib/storage/storage-parser.d.ts +1 -1
- package/dist/lib/storage/storage-parser.d.ts.map +1 -1
- package/dist/lib/storage/storage-parser.js +0 -1
- package/dist/lib/storage/transactions.d.ts +1 -1
- package/dist/lib/storage/transactions.d.ts.map +1 -1
- package/dist/lib/storage/transactions.js +0 -1
- package/dist/lib/storage.d.ts +3 -24
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +47 -55
- package/dist/lib/table-formatter.js +0 -1
- package/dist/lib/temp-path.d.ts +26 -0
- package/dist/lib/temp-path.d.ts.map +1 -0
- package/dist/lib/temp-path.js +30 -0
- package/dist/lib/tools/hashline-tools.js +0 -1
- package/dist/lib/types.js +0 -1
- package/dist/lib/ui/ansi.js +0 -1
- package/dist/lib/ui/auth-menu-builder.d.ts +89 -0
- package/dist/lib/ui/auth-menu-builder.d.ts.map +1 -0
- package/dist/lib/ui/auth-menu-builder.js +350 -0
- package/dist/lib/ui/auth-menu.d.ts +2 -76
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +3 -349
- package/dist/lib/ui/confirm.js +0 -1
- package/dist/lib/ui/display-width.js +0 -1
- package/dist/lib/ui/format.js +0 -1
- package/dist/lib/ui/index.d.ts +10 -0
- package/dist/lib/ui/index.d.ts.map +1 -0
- package/dist/lib/ui/index.js +9 -0
- package/dist/lib/ui/runtime.js +0 -1
- package/dist/lib/ui/select.js +0 -1
- package/dist/lib/ui/theme.d.ts +3 -2
- package/dist/lib/ui/theme.d.ts.map +1 -1
- package/dist/lib/ui/theme.js +0 -1
- package/dist/lib/ui/ui-copy.d.ts +159 -0
- package/dist/lib/ui/ui-copy.d.ts.map +1 -0
- package/dist/lib/ui/ui-copy.js +163 -0
- package/dist/lib/unified-settings.d.ts.map +1 -1
- package/dist/lib/unified-settings.js +2 -2
- package/dist/lib/update-notice.d.ts.map +1 -1
- package/dist/lib/update-notice.js +2 -2
- package/dist/lib/usage/index.js +0 -1
- package/dist/lib/usage/ledger.js +0 -1
- package/dist/lib/usage/pricing.js +0 -1
- package/dist/lib/usage/redaction.js +0 -1
- package/dist/lib/usage/types.js +0 -1
- package/dist/lib/utils.js +0 -1
- package/package.json +8 -9
- package/scripts/postinstall.js +34 -265
- package/scripts/preuninstall.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flagged-storage-io.d.ts","sourceRoot":"","sources":["../../../lib/storage/flagged-storage-io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"flagged-storage-io.d.ts","sourceRoot":"","sources":["../../../lib/storage/flagged-storage-io.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AA4EjE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,uBAAuB,CAAC;IACpE,sBAAsB,EAAE,CACvB,OAAO,EAAE,uBAAuB,EAChC,eAAe,EAAE,MAAM,KACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,mBAAmB,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA0InC;AAED,wBAAsB,iCAAiC,CACtD,OAAO,EAAE,uBAAuB,EAChC,MAAM,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,uBAAuB,CAAC;IACpE,iBAAiB,EAAE,CAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACrE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtE,GACC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAED,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChB"}
|
|
@@ -3,6 +3,7 @@ import { dirname } from "node:path";
|
|
|
3
3
|
import { FlaggedAccountStorageV1Schema, safeParseJson } from "../schemas.js";
|
|
4
4
|
import { readFileWithRetry } from "./flagged-storage-file.js";
|
|
5
5
|
import { FILE_RETRY_CODES } from "../fs-retry.js";
|
|
6
|
+
import { tempPathFor } from "../temp-path.js";
|
|
6
7
|
// storage-07: align with the single shared retryable-code set (adds ENOTEMPTY/
|
|
7
8
|
// EACCES) instead of a local subset.
|
|
8
9
|
const RETRYABLE_UNLINK_CODES = FILE_RETRY_CODES;
|
|
@@ -183,8 +184,7 @@ export async function loadFlaggedAccountsState(params) {
|
|
|
183
184
|
}
|
|
184
185
|
}
|
|
185
186
|
export async function saveFlaggedAccountsUnlockedToDisk(storage, params) {
|
|
186
|
-
const
|
|
187
|
-
const tempPath = `${params.path}.${uniqueSuffix}.tmp`;
|
|
187
|
+
const tempPath = tempPathFor(params.path);
|
|
188
188
|
try {
|
|
189
189
|
await fs.mkdir(dirname(params.path), { recursive: true });
|
|
190
190
|
if (existsSync(params.path)) {
|
|
@@ -274,4 +274,3 @@ export async function clearFlaggedAccountsOnDisk(params) {
|
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
276
|
}
|
|
277
|
-
//# sourceMappingURL=flagged-storage-io.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FlaggedAccountStorageV1 } from "
|
|
1
|
+
import type { FlaggedAccountStorageV1 } from "./public-types.js";
|
|
2
2
|
export declare function normalizeFlaggedStorage(data: unknown, deps: {
|
|
3
3
|
isRecord: (value: unknown) => value is Record<string, unknown>;
|
|
4
4
|
now: () => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flagged-storage.d.ts","sourceRoot":"","sources":["../../../lib/storage/flagged-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,uBAAuB,EACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"flagged-storage.d.ts","sourceRoot":"","sources":["../../../lib/storage/flagged-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGX,uBAAuB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IACL,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/D,GAAG,EAAE,MAAM,MAAM,CAAC;CAClB,GACC,uBAAuB,CAuIzB"}
|
|
@@ -24,9 +24,11 @@ export function normalizeFlaggedStorage(data, deps) {
|
|
|
24
24
|
value === "initial" ||
|
|
25
25
|
value === "rotation" ||
|
|
26
26
|
value === "best" ||
|
|
27
|
-
value === "restore"
|
|
27
|
+
value === "restore" ||
|
|
28
|
+
value === "manual";
|
|
28
29
|
const isCooldownReason = (value) => value === "auth-failure" ||
|
|
29
30
|
value === "network-error" ||
|
|
31
|
+
value === "server-error" ||
|
|
30
32
|
value === "rate-limit";
|
|
31
33
|
let rateLimitResetTimes;
|
|
32
34
|
if (deps.isRecord(rawAccount.rateLimitResetTimes)) {
|
|
@@ -63,6 +65,12 @@ export function normalizeFlaggedStorage(data, deps) {
|
|
|
63
65
|
? rawAccount.accountLabel
|
|
64
66
|
: undefined,
|
|
65
67
|
email: typeof rawAccount.email === "string" ? rawAccount.email : undefined,
|
|
68
|
+
accessToken: typeof rawAccount.accessToken === "string"
|
|
69
|
+
? rawAccount.accessToken
|
|
70
|
+
: undefined,
|
|
71
|
+
expiresAt: typeof rawAccount.expiresAt === "number"
|
|
72
|
+
? rawAccount.expiresAt
|
|
73
|
+
: undefined,
|
|
66
74
|
enabled: typeof rawAccount.enabled === "boolean"
|
|
67
75
|
? rawAccount.enabled
|
|
68
76
|
: undefined,
|
|
@@ -72,6 +80,12 @@ export function normalizeFlaggedStorage(data, deps) {
|
|
|
72
80
|
? rawAccount.coolingDownUntil
|
|
73
81
|
: undefined,
|
|
74
82
|
cooldownReason,
|
|
83
|
+
workspaces: Array.isArray(rawAccount.workspaces)
|
|
84
|
+
? rawAccount.workspaces
|
|
85
|
+
: undefined,
|
|
86
|
+
currentWorkspaceIndex: typeof rawAccount.currentWorkspaceIndex === "number"
|
|
87
|
+
? rawAccount.currentWorkspaceIndex
|
|
88
|
+
: undefined,
|
|
75
89
|
flaggedAt,
|
|
76
90
|
flaggedReason: typeof rawAccount.flaggedReason === "string"
|
|
77
91
|
? rawAccount.flaggedReason
|
|
@@ -87,4 +101,3 @@ export function normalizeFlaggedStorage(data, deps) {
|
|
|
87
101
|
accounts: Array.from(byRefreshToken.values()),
|
|
88
102
|
};
|
|
89
103
|
}
|
|
90
|
-
//# sourceMappingURL=flagged-storage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flagged-storage.js","sourceRoot":"","sources":["../../../lib/storage/flagged-storage.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,uBAAuB,CACtC,IAAa,EACb,IAGC;IAED,IACC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,KAAK,CAAC;QAClB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC5B,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAC;IACnE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,SAAS;QACzC,MAAM,YAAY,GACjB,OAAO,UAAU,CAAC,YAAY,KAAK,QAAQ;YAC1C,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE;YAChC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,YAAY;YAAE,SAAS;QAE5B,MAAM,SAAS,GACd,OAAO,UAAU,CAAC,SAAS,KAAK,QAAQ;YACvC,CAAC,CAAC,UAAU,CAAC,SAAS;YACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACf,MAAM,iBAAiB,GAAG,CACzB,KAAc,EACkC,EAAE,CAClD,KAAK,KAAK,OAAO;YACjB,KAAK,KAAK,UAAU;YACpB,KAAK,KAAK,KAAK;YACf,KAAK,KAAK,QAAQ,CAAC;QACpB,MAAM,cAAc,GAAG,CACtB,KAAc,EACmC,EAAE,CACnD,KAAK,KAAK,YAAY;YACtB,KAAK,KAAK,SAAS;YACnB,KAAK,KAAK,UAAU;YACpB,KAAK,KAAK,MAAM;YAChB,KAAK,KAAK,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"flagged-storage.js","sourceRoot":"","sources":["../../../lib/storage/flagged-storage.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/storage/hash.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-export.d.ts","sourceRoot":"","sources":["../../../lib/storage/import-export.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import-export.d.ts","sourceRoot":"","sources":["../../../lib/storage/import-export.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsD1D,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9D,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuChB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,GAAG,IAAI,CAAC;CACrE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8C5B;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC7C,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,CACpB,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,KAClC,gBAAgB,CAAC,UAAU,CAAC,CAAC;CAClC,GAAG;IACH,UAAU,EAAE,gBAAgB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB,CAgCA"}
|
|
@@ -2,6 +2,7 @@ import { existsSync, promises as fs } from "node:fs";
|
|
|
2
2
|
import { dirname } from "node:path";
|
|
3
3
|
import { AnyAccountStorageSchema, safeParseJson } from "../schemas.js";
|
|
4
4
|
import { shouldRetryFileOperation } from "../fs-retry.js";
|
|
5
|
+
import { tempPathFor } from "../temp-path.js";
|
|
5
6
|
const EXPORT_RENAME_MAX_ATTEMPTS = 4;
|
|
6
7
|
const EXPORT_RENAME_BASE_DELAY_MS = 25;
|
|
7
8
|
const MAX_IMPORT_BYTES = 4 * 1024 * 1024;
|
|
@@ -64,8 +65,7 @@ export async function exportAccountsToFile(params) {
|
|
|
64
65
|
activeIndex: params.storage.activeIndex,
|
|
65
66
|
activeIndexByFamily: params.storage.activeIndexByFamily,
|
|
66
67
|
}, null, 2);
|
|
67
|
-
const
|
|
68
|
-
const tempPath = `${params.resolvedPath}.${uniqueSuffix}.tmp`;
|
|
68
|
+
const tempPath = tempPathFor(params.resolvedPath);
|
|
69
69
|
try {
|
|
70
70
|
await fs.writeFile(tempPath, content, {
|
|
71
71
|
encoding: "utf-8",
|
|
@@ -151,4 +151,3 @@ export function mergeImportedAccounts(params) {
|
|
|
151
151
|
skipped: skippedCount,
|
|
152
152
|
};
|
|
153
153
|
}
|
|
154
|
-
//# sourceMappingURL=import-export.js.map
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Storage migration utilities for account data format upgrades.
|
|
3
3
|
* Extracted from storage.ts to reduce module size.
|
|
4
|
+
*
|
|
5
|
+
* Historical migration-era shapes (v1) live here and are intentionally not
|
|
6
|
+
* exported from the lib/storage.ts facade; current-version shapes live in
|
|
7
|
+
* ./public-types.ts.
|
|
4
8
|
*/
|
|
5
|
-
import { type ModelFamily } from "../prompts/codex.js";
|
|
6
9
|
import type { AccountIdSource } from "../types.js";
|
|
7
|
-
import type {
|
|
8
|
-
|
|
9
|
-
export interface RateLimitStateV3 {
|
|
10
|
-
[key: string]: number | undefined;
|
|
11
|
-
}
|
|
12
|
-
export interface AccountMetadataV1 {
|
|
10
|
+
import type { AccountStorageV3, CooldownReason } from "./public-types.js";
|
|
11
|
+
interface AccountMetadataV1 {
|
|
13
12
|
accountId?: string;
|
|
14
13
|
accountIdSource?: AccountIdSource;
|
|
15
14
|
accountLabel?: string;
|
|
@@ -32,47 +31,6 @@ export interface AccountStorageV1 {
|
|
|
32
31
|
accounts: AccountMetadataV1[];
|
|
33
32
|
activeIndex: number;
|
|
34
33
|
}
|
|
35
|
-
export interface AccountMetadataV3 {
|
|
36
|
-
accountId?: string;
|
|
37
|
-
accountIdSource?: AccountIdSource;
|
|
38
|
-
accountLabel?: string;
|
|
39
|
-
email?: string;
|
|
40
|
-
refreshToken: string;
|
|
41
|
-
/** Optional cached access token (Codex CLI parity). */
|
|
42
|
-
accessToken?: string;
|
|
43
|
-
/** Optional access token expiry timestamp (ms since epoch). */
|
|
44
|
-
expiresAt?: number;
|
|
45
|
-
enabled?: boolean;
|
|
46
|
-
addedAt: number;
|
|
47
|
-
lastUsed: number;
|
|
48
|
-
lastSwitchReason?: "rate-limit" | "initial" | "rotation" | "best" | "restore" | "manual";
|
|
49
|
-
rateLimitResetTimes?: RateLimitStateV3;
|
|
50
|
-
coolingDownUntil?: number;
|
|
51
|
-
cooldownReason?: CooldownReason;
|
|
52
|
-
workspaces?: Workspace[];
|
|
53
|
-
currentWorkspaceIndex?: number;
|
|
54
|
-
}
|
|
55
|
-
export interface AccountStorageV3 {
|
|
56
|
-
version: 3;
|
|
57
|
-
accounts: AccountMetadataV3[];
|
|
58
|
-
activeIndex: number;
|
|
59
|
-
activeIndexByFamily?: Partial<Record<ModelFamily, number>>;
|
|
60
|
-
/**
|
|
61
|
-
* Optional manual pin set by `codex-multi-auth switch <n>` (0-based).
|
|
62
|
-
* When set and valid, the runtime rotation proxy MUST route exclusively to
|
|
63
|
-
* this account regardless of session affinity or hybrid scoring. Cleared by
|
|
64
|
-
* `best` and the dedicated `unpin` command. See issue #474.
|
|
65
|
-
*/
|
|
66
|
-
pinnedAccountIndex?: number;
|
|
67
|
-
/**
|
|
68
|
-
* Monotonically increasing counter bumped by user-initiated storage events
|
|
69
|
-
* (`switch`, `unpin`, `best`) so the long-running runtime proxy can detect
|
|
70
|
-
* a manual change and invalidate sticky session affinity. The proxy reads
|
|
71
|
-
* this from disk via the same mtime-cached path as `pinnedAccountIndex` and
|
|
72
|
-
* never bumps it from its own debounced writes. Treat `undefined` as
|
|
73
|
-
* logically zero. See issue #474.
|
|
74
|
-
*/
|
|
75
|
-
affinityGeneration?: number;
|
|
76
|
-
}
|
|
77
34
|
export declare function migrateV1ToV3(v1: AccountStorageV1): AccountStorageV3;
|
|
35
|
+
export {};
|
|
78
36
|
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../lib/storage/migrations.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../lib/storage/migrations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EACX,gBAAgB,EAChB,cAAc,EAEd,MAAM,mBAAmB,CAAC;AAE3B,UAAU,iBAAiB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EACd,YAAY,GACZ,SAAS,GACT,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACpB;AAMD,wBAAgB,aAAa,CAAC,EAAE,EAAE,gBAAgB,GAAG,gBAAgB,CAiCpE"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Storage migration utilities for account data format upgrades.
|
|
3
3
|
* Extracted from storage.ts to reduce module size.
|
|
4
|
+
*
|
|
5
|
+
* Historical migration-era shapes (v1) live here and are intentionally not
|
|
6
|
+
* exported from the lib/storage.ts facade; current-version shapes live in
|
|
7
|
+
* ./public-types.ts.
|
|
4
8
|
*/
|
|
5
|
-
import { MODEL_FAMILIES } from "../
|
|
9
|
+
import { MODEL_FAMILIES } from "../request/helpers/model-map.js";
|
|
6
10
|
function nowMs() {
|
|
7
11
|
return Date.now();
|
|
8
12
|
}
|
|
@@ -38,4 +42,3 @@ export function migrateV1ToV3(v1) {
|
|
|
38
42
|
activeIndexByFamily: Object.fromEntries(MODEL_FAMILIES.map((family) => [family, v1.activeIndex])),
|
|
39
43
|
};
|
|
40
44
|
}
|
|
41
|
-
//# sourceMappingURL=migrations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"named-backups-entry.d.ts","sourceRoot":"","sources":["../../../lib/storage/named-backups-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"named-backups-entry.d.ts","sourceRoot":"","sources":["../../../lib/storage/named-backups-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAClD,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,mBAAmB,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QACL,oBAAoB,EAAE,CACrB,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;YAAE,UAAU,EAAE;gBAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;QAC7D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KACtE,KACG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnC,oBAAoB,EAAE,CACrB,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;QAAE,UAAU,EAAE;YAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAKhC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountStorageV3 } from "
|
|
1
|
+
import type { AccountStorageV3 } from "./public-types.js";
|
|
2
2
|
export declare function loadNormalizedStorageFromPath(path: string, label: string, deps: {
|
|
3
3
|
loadAccountsFromPath: (path: string) => Promise<{
|
|
4
4
|
normalized: AccountStorageV3 | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-migration.d.ts","sourceRoot":"","sources":["../../../lib/storage/project-migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"project-migration.d.ts","sourceRoot":"","sources":["../../../lib/storage/project-migration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAsB,6BAA6B,CAClD,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IACL,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAC/C,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACpC,YAAY,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrE,GACC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAoBlC;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,gBAAgB,GAAG,IAAI,EAChC,QAAQ,EAAE,gBAAgB,EAC1B,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,GAAG,IAAI,GAClE,gBAAgB,CAelB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current-version account storage shapes shared with external consumers via
|
|
3
|
+
* the lib/storage.ts facade. Historical migration-era shapes (v1) live in
|
|
4
|
+
* ./migrations.ts and are intentionally not exported from the facade.
|
|
5
|
+
*/
|
|
6
|
+
import type { ModelFamily } from "../request/helpers/model-map.js";
|
|
7
|
+
import type { AccountIdSource } from "../types.js";
|
|
8
|
+
export interface Workspace {
|
|
9
|
+
id: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
enabled: boolean;
|
|
12
|
+
disabledAt?: number;
|
|
13
|
+
isDefault?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export type CooldownReason = "auth-failure" | "network-error" | "server-error" | "rate-limit";
|
|
16
|
+
export interface RateLimitStateV3 {
|
|
17
|
+
[key: string]: number | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface AccountMetadataV3 {
|
|
20
|
+
accountId?: string;
|
|
21
|
+
accountIdSource?: AccountIdSource;
|
|
22
|
+
accountLabel?: string;
|
|
23
|
+
email?: string;
|
|
24
|
+
refreshToken: string;
|
|
25
|
+
/** Optional cached access token (Codex CLI parity). */
|
|
26
|
+
accessToken?: string;
|
|
27
|
+
/** Optional access token expiry timestamp (ms since epoch). */
|
|
28
|
+
expiresAt?: number;
|
|
29
|
+
enabled?: boolean;
|
|
30
|
+
addedAt: number;
|
|
31
|
+
lastUsed: number;
|
|
32
|
+
lastSwitchReason?: "rate-limit" | "initial" | "rotation" | "best" | "restore" | "manual";
|
|
33
|
+
rateLimitResetTimes?: RateLimitStateV3;
|
|
34
|
+
coolingDownUntil?: number;
|
|
35
|
+
cooldownReason?: CooldownReason;
|
|
36
|
+
workspaces?: Workspace[];
|
|
37
|
+
currentWorkspaceIndex?: number;
|
|
38
|
+
}
|
|
39
|
+
export interface AccountStorageV3 {
|
|
40
|
+
version: 3;
|
|
41
|
+
accounts: AccountMetadataV3[];
|
|
42
|
+
activeIndex: number;
|
|
43
|
+
activeIndexByFamily?: Partial<Record<ModelFamily, number>>;
|
|
44
|
+
/**
|
|
45
|
+
* Optional manual pin set by `codex-multi-auth switch <n>` (0-based).
|
|
46
|
+
* When set and valid, the runtime rotation proxy MUST route exclusively to
|
|
47
|
+
* this account regardless of session affinity or hybrid scoring. Cleared by
|
|
48
|
+
* `best` and the dedicated `unpin` command. See issue #474.
|
|
49
|
+
*/
|
|
50
|
+
pinnedAccountIndex?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Monotonically increasing counter bumped by user-initiated storage events
|
|
53
|
+
* (`switch`, `unpin`, `best`) so the long-running runtime proxy can detect
|
|
54
|
+
* a manual change and invalidate sticky session affinity. The proxy reads
|
|
55
|
+
* this from disk via the same mtime-cached path as `pinnedAccountIndex` and
|
|
56
|
+
* never bumps it from its own debounced writes. Treat `undefined` as
|
|
57
|
+
* logically zero. See issue #474.
|
|
58
|
+
*/
|
|
59
|
+
affinityGeneration?: number;
|
|
60
|
+
}
|
|
61
|
+
export interface FlaggedAccountMetadataV1 extends AccountMetadataV3 {
|
|
62
|
+
flaggedAt: number;
|
|
63
|
+
flaggedReason?: string;
|
|
64
|
+
lastError?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface FlaggedAccountStorageV1 {
|
|
67
|
+
version: 1;
|
|
68
|
+
accounts: FlaggedAccountMetadataV1[];
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=public-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-types.d.ts","sourceRoot":"","sources":["../../../lib/storage/public-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,SAAS;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,CAAC;AAE9F,MAAM,WAAW,gBAAgB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EACd,YAAY,GACZ,SAAS,GACT,UAAU,GACV,MAAM,GACN,SAAS,GACT,QAAQ,CAAC;IACZ,mBAAmB,CAAC,EAAE,gBAAgB,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAChC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAyB,SAAQ,iBAAiB;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACvC,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore-assessment.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore-assessment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"restore-assessment.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore-assessment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAU9E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,OAAO,CAAC;CACxB,GAAG,iBAAiB,CAwCpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore-backup-entry.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore-backup-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"restore-backup-entry.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore-backup-entry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAChC,6BAA6B,EAAE,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,oBAAoB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;YAC/C,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;SACpC,CAAC,CAAC;QACH,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KAC3D,KACG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/B,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,oBAAoB,EAAE,CACrB,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;QAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAQ5B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountStorageV3 } from "
|
|
1
|
+
import type { AccountStorageV3 } from "./public-types.js";
|
|
2
2
|
type RestoreReason = "empty-storage" | "intentional-reset" | "missing-storage";
|
|
3
3
|
type AccountStorageWithMetadata = AccountStorageV3 & {
|
|
4
4
|
restoreEligible?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore-metadata.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"restore-metadata.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,KAAK,aAAa,GAAG,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAE/E,KAAK,0BAA0B,GAAG,gBAAgB,GAAG;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,wBAAgB,qCAAqC,CACpD,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,aAAa,GAC1B,0BAA0B,CAS5B;AAED,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,aAAa,GAC1B,0BAA0B,CAM5B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountStorageV3 } from "
|
|
1
|
+
import type { AccountStorageV3 } from "./public-types.js";
|
|
2
2
|
export interface RestoreAccountsFromBackupDeps {
|
|
3
3
|
realpath: typeof import("node:fs").promises.realpath;
|
|
4
4
|
getNamedBackupRoot: (storagePath: string) => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../../lib/storage/restore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,EAAE,cAAc,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACrD,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IACpD,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,oBAAoB,EAAE,CACrB,IAAI,EAAE,MAAM,KACR,OAAO,CAAC;QAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3D;AAED,wBAAsB,6BAA6B,CAClD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,6BAA6B,EACnC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAqD3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry wrapper for account-storage writes. Lives in the storage layer so
|
|
3
|
+
* lower-level callers (lib/accounts.ts) can use it without importing the
|
|
4
|
+
* codex-manager layer; lib/codex-manager/forecast-report-shared.ts re-exports
|
|
5
|
+
* it for its historical consumers.
|
|
6
|
+
*/
|
|
7
|
+
import type { AccountStorageV3 } from "./public-types.js";
|
|
8
|
+
export declare function isRetryableStorageWriteError(error: unknown): boolean;
|
|
9
|
+
export declare function saveAccountsWithRetry(storage: AccountStorageV3, saveAccounts: (storage: AccountStorageV3) => Promise<void>): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=save-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"save-retry.d.ts","sourceRoot":"","sources":["../../../lib/storage/save-retry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGpE;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GACxD,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Retry wrapper for account-storage writes. Lives in the storage layer so
|
|
3
|
+
* lower-level callers (lib/accounts.ts) can use it without importing the
|
|
4
|
+
* codex-manager layer; lib/codex-manager/forecast-report-shared.ts re-exports
|
|
5
|
+
* it for its historical consumers.
|
|
6
|
+
*/
|
|
7
|
+
import { sleep } from "../utils.js";
|
|
8
|
+
const RETRYABLE_STORAGE_WRITE_CODES = new Set(["EBUSY", "EPERM"]);
|
|
9
|
+
export function isRetryableStorageWriteError(error) {
|
|
10
|
+
const code = error?.code;
|
|
11
|
+
return typeof code === "string" && RETRYABLE_STORAGE_WRITE_CODES.has(code);
|
|
12
|
+
}
|
|
13
|
+
export async function saveAccountsWithRetry(storage, saveAccounts) {
|
|
14
|
+
for (let attempt = 0;; attempt += 1) {
|
|
15
|
+
try {
|
|
16
|
+
await saveAccounts(storage);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
if (!isRetryableStorageWriteError(error) || attempt >= 3) {
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
await sleep(10 * 2 ** attempt);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FlaggedAccountStorageV1 } from "
|
|
1
|
+
import type { FlaggedAccountStorageV1 } from "./public-types.js";
|
|
2
2
|
import type { BackupSnapshotMetadata, SnapshotStats } from "./backup-metadata.js";
|
|
3
3
|
export declare function describeAccountsWalSnapshot(path: string, deps: {
|
|
4
4
|
statSnapshot: (path: string) => Promise<SnapshotStats>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-inspectors.d.ts","sourceRoot":"","sources":["../../../lib/storage/snapshot-inspectors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"snapshot-inspectors.d.ts","sourceRoot":"","sources":["../../../lib/storage/snapshot-inspectors.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EACX,sBAAsB,EACtB,aAAa,EACb,MAAM,sBAAsB,CAAC;AAE9B,wBAAsB,2BAA2B,CAChD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACL,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,QAAQ,EAAE,cAAc,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACrD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACtC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK;QAC5C,UAAU,EAAE;YAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;SAAE,GAAG,IAAI,CAAC;QAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;CACF,GACC,OAAO,CAAC,sBAAsB,CAAC,CAmEjC;AAED,wBAAsB,uBAAuB,CAC5C,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,EACpC,IAAI,EAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IACvD,2BAA2B,EAAE,CAC5B,IAAI,EAAE,MAAM,KACR,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnE,GACC,OAAO,CAAC,sBAAsB,CAAC,CAoCjC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AccountStorageV3 } from "
|
|
1
|
+
import type { AccountStorageV3 } from "./public-types.js";
|
|
2
2
|
export declare function parseAndNormalizeStorage(data: unknown, normalizeAccountStorage: (data: unknown) => AccountStorageV3 | null, isRecord: (value: unknown) => value is Record<string, unknown>): {
|
|
3
3
|
normalized: AccountStorageV3 | null;
|
|
4
4
|
storedVersion: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-parser.d.ts","sourceRoot":"","sources":["../../../lib/storage/storage-parser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"storage-parser.d.ts","sourceRoot":"","sources":["../../../lib/storage/storage-parser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,OAAO,EACb,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,gBAAgB,GAAG,IAAI,EACnE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5D;IACF,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACvB,CAOA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACzC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IACL,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,gBAAgB,GAAG,IAAI,CAAC;IACpE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/D,GACC,OAAO,CAAC;IACV,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC,CAmCD"}
|