codex-multi-auth 2.17.2 → 2.18.0
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 +1 -1
- package/README.md +86 -425
- package/config/README.md +1 -1
- package/config/codex-legacy.json +12 -212
- package/config/codex-modern.json +4 -80
- package/config/minimal-codex.json +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/lib/account-policy.d.ts +18 -2
- package/dist/lib/account-policy.js +97 -40
- package/dist/lib/accounts/rate-limits.d.ts +0 -1
- package/dist/lib/accounts.d.ts +0 -1
- package/dist/lib/accounts.js +4 -5
- package/dist/lib/api-route-store.d.ts +0 -1
- package/dist/lib/audit.d.ts +0 -1
- package/dist/lib/audit.js +43 -12
- package/dist/lib/auth/account-access.d.ts +0 -1
- package/dist/lib/auth/account-access.js +5 -1
- package/dist/lib/auth/auth.d.ts +4 -3
- package/dist/lib/auth/auth.js +220 -28
- package/dist/lib/auth/browser.d.ts +0 -1
- package/dist/lib/auth/callback-guidance.d.ts +0 -1
- package/dist/lib/auth/device-auth.d.ts +0 -1
- package/dist/lib/auth/index.d.ts +0 -1
- package/dist/lib/auth/org-override.d.ts +0 -1
- package/dist/lib/auth/server.d.ts +1 -2
- package/dist/lib/auth/server.js +100 -53
- package/dist/lib/auth/token-utils.d.ts +0 -1
- package/dist/lib/auth-rate-limit.d.ts +0 -1
- package/dist/lib/budget-guard.d.ts +16 -2
- package/dist/lib/budget-guard.js +123 -43
- package/dist/lib/capability-policy.d.ts +0 -1
- package/dist/lib/circuit-breaker.d.ts +20 -1
- package/dist/lib/circuit-breaker.js +24 -5
- package/dist/lib/cli.d.ts +0 -1
- package/dist/lib/codex-cli/index.d.ts +0 -1
- package/dist/lib/codex-cli/observability.d.ts +0 -1
- package/dist/lib/codex-cli/state.d.ts +0 -1
- package/dist/lib/codex-cli/sync.d.ts +0 -1
- package/dist/lib/codex-cli/writer.d.ts +0 -1
- package/dist/lib/codex-manager/account-credentials.d.ts +0 -1
- package/dist/lib/codex-manager/account-manager-commands.d.ts +0 -1
- package/dist/lib/codex-manager/account-pool-write.d.ts +0 -1
- package/dist/lib/codex-manager/active-account-sync.d.ts +6 -0
- package/dist/lib/codex-manager/active-account-sync.js +336 -0
- package/dist/lib/codex-manager/api-login-menu.d.ts +0 -1
- package/dist/lib/codex-manager/backend-category-entry.d.ts +0 -1
- package/dist/lib/codex-manager/backend-category-helpers.d.ts +0 -1
- package/dist/lib/codex-manager/backend-category-prompt.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-controller.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-entry.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-helpers.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-prompt.d.ts +0 -1
- package/dist/lib/codex-manager/backend-settings-schema.d.ts +0 -1
- package/dist/lib/codex-manager/behavior-settings-panel.d.ts +0 -1
- package/dist/lib/codex-manager/commands/account.d.ts +8 -3
- package/dist/lib/codex-manager/commands/account.js +46 -34
- package/dist/lib/codex-manager/commands/best.d.ts +0 -1
- package/dist/lib/codex-manager/commands/bridge.d.ts +0 -1
- package/dist/lib/codex-manager/commands/budget.d.ts +8 -3
- package/dist/lib/codex-manager/commands/budget.js +6 -4
- package/dist/lib/codex-manager/commands/check.d.ts +0 -1
- package/dist/lib/codex-manager/commands/config-explain.d.ts +0 -1
- package/dist/lib/codex-manager/commands/debug-bundle.d.ts +0 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts +0 -1
- package/dist/lib/codex-manager/commands/history.d.ts +0 -1
- package/dist/lib/codex-manager/commands/init-config.d.ts +0 -1
- package/dist/lib/codex-manager/commands/integrations.d.ts +0 -1
- package/dist/lib/codex-manager/commands/limits.d.ts +0 -1
- package/dist/lib/codex-manager/commands/models.d.ts +0 -1
- package/dist/lib/codex-manager/commands/monitor.d.ts +0 -1
- package/dist/lib/codex-manager/commands/report.d.ts +0 -1
- package/dist/lib/codex-manager/commands/resets.d.ts +0 -1
- package/dist/lib/codex-manager/commands/resets.js +9 -1
- package/dist/lib/codex-manager/commands/rotation.d.ts +0 -1
- package/dist/lib/codex-manager/commands/status.d.ts +0 -1
- package/dist/lib/codex-manager/commands/switch.d.ts +0 -1
- package/dist/lib/codex-manager/commands/uninstall.d.ts +0 -1
- package/dist/lib/codex-manager/commands/unpin.d.ts +0 -1
- package/dist/lib/codex-manager/commands/usage.d.ts +0 -1
- package/dist/lib/codex-manager/commands/verify.d.ts +0 -1
- package/dist/lib/codex-manager/commands/why-selected.d.ts +0 -1
- package/dist/lib/codex-manager/commands/workspace.d.ts +0 -1
- package/dist/lib/codex-manager/dashboard-display-panel.d.ts +0 -1
- package/dist/lib/codex-manager/dashboard-formatters.d.ts +0 -1
- package/dist/lib/codex-manager/dashboard-settings-controller.d.ts +0 -1
- package/dist/lib/codex-manager/dashboard-settings-data.d.ts +0 -1
- package/dist/lib/codex-manager/dashboard-settings-entry.d.ts +0 -1
- package/dist/lib/codex-manager/experimental-settings-entry.d.ts +0 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts +0 -1
- package/dist/lib/codex-manager/experimental-settings-schema.d.ts +0 -1
- package/dist/lib/codex-manager/experimental-sync-target-entry.d.ts +0 -1
- package/dist/lib/codex-manager/experimental-sync-target.d.ts +0 -1
- package/dist/lib/codex-manager/forecast-report-shared.d.ts +0 -1
- package/dist/lib/codex-manager/formatters/account-formatters.d.ts +0 -1
- package/dist/lib/codex-manager/formatters/index.d.ts +0 -1
- package/dist/lib/codex-manager/formatters/model-formatters.d.ts +0 -1
- package/dist/lib/codex-manager/formatters/quota-formatters.d.ts +0 -1
- package/dist/lib/codex-manager/formatters/text-style.d.ts +0 -1
- package/dist/lib/codex-manager/health-check.d.ts +0 -1
- package/dist/lib/codex-manager/help.d.ts +0 -1
- package/dist/lib/codex-manager/login-action-panel.d.ts +0 -1
- package/dist/lib/codex-manager/login-flow.d.ts +0 -1
- package/dist/lib/codex-manager/login-menu-actions.d.ts +0 -1
- package/dist/lib/codex-manager/login-menu-data.d.ts +0 -1
- package/dist/lib/codex-manager/login-oauth.d.ts +0 -1
- package/dist/lib/codex-manager/login-workspace-choice.d.ts +0 -1
- package/dist/lib/codex-manager/manual-callback.d.ts +0 -1
- package/dist/lib/codex-manager/persist-selected-account.d.ts +0 -1
- package/dist/lib/codex-manager/quota-cache-helpers.d.ts +0 -1
- package/dist/lib/codex-manager/rate-limit-markers.d.ts +0 -1
- package/dist/lib/codex-manager/repair-commands.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub/backend.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub/experimental.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub/index.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub/shared.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub-entry.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub-menu.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub-prompt.d.ts +0 -1
- package/dist/lib/codex-manager/settings-hub.d.ts +0 -1
- package/dist/lib/codex-manager/settings-panels.d.ts +0 -1
- package/dist/lib/codex-manager/settings-persist-utils.d.ts +0 -1
- package/dist/lib/codex-manager/settings-preview.d.ts +0 -1
- package/dist/lib/codex-manager/settings-write-queue.d.ts +0 -1
- package/dist/lib/codex-manager/statusline-settings-panel.d.ts +0 -1
- package/dist/lib/codex-manager/theme-settings-panel.d.ts +0 -1
- package/dist/lib/codex-manager/unified-settings-controller.d.ts +0 -1
- package/dist/lib/codex-manager/unified-settings-entry.d.ts +0 -1
- package/dist/lib/codex-manager.d.ts +1 -2
- package/dist/lib/codex-manager.js +5 -95
- package/dist/lib/concurrency.d.ts +0 -1
- package/dist/lib/config-schema.d.ts +0 -1
- package/dist/lib/config.d.ts +0 -1
- package/dist/lib/config.js +46 -241
- package/dist/lib/constants.d.ts +0 -1
- package/dist/lib/context-budget/model-context-windows.d.ts +1 -2
- package/dist/lib/context-budget/model-context-windows.js +10 -13
- package/dist/lib/context-budget-guard.d.ts +0 -1
- package/dist/lib/context-budget-response.d.ts +0 -1
- package/dist/lib/context-overflow.d.ts +0 -1
- package/dist/lib/dashboard-settings.d.ts +0 -1
- package/dist/lib/entitlement-cache.d.ts +0 -1
- package/dist/lib/env-parsing.d.ts +13 -1
- package/dist/lib/env-parsing.js +21 -0
- package/dist/lib/errors.d.ts +0 -1
- package/dist/lib/forecast.d.ts +0 -1
- package/dist/lib/fs-retry.d.ts +0 -1
- package/dist/lib/health.d.ts +0 -1
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/integration-generators.d.ts +0 -1
- package/dist/lib/live-account-sync.d.ts +0 -1
- package/dist/lib/local-bridge.d.ts +0 -1
- package/dist/lib/local-bridge.js +4 -1
- package/dist/lib/local-client-tokens.d.ts +0 -1
- package/dist/lib/local-client-tokens.js +125 -30
- package/dist/lib/logger.d.ts +0 -1
- package/dist/lib/logger.js +11 -1
- package/dist/lib/model-capability-matrix.d.ts +0 -1
- package/dist/lib/model-route-policy.d.ts +1 -2
- package/dist/lib/named-backup-export.d.ts +0 -1
- package/dist/lib/oc-chatgpt-import-adapter.d.ts +0 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts +0 -1
- package/dist/lib/oc-chatgpt-target-detection.d.ts +3 -3
- package/dist/lib/oc-chatgpt-target-detection.js +40 -13
- package/dist/lib/parallel-probe.d.ts +0 -1
- package/dist/lib/policy/runtime-policy-cache.d.ts +80 -0
- package/dist/lib/policy/runtime-policy-cache.js +310 -0
- package/dist/lib/policy/runtime-policy.d.ts +1 -2
- package/dist/lib/policy/runtime-policy.js +46 -19
- package/dist/lib/preemptive-quota-scheduler.d.ts +0 -1
- package/dist/lib/proactive-refresh.d.ts +0 -1
- package/dist/lib/prompts/codex-host-bridge.d.ts +0 -1
- package/dist/lib/prompts/codex.d.ts +0 -1
- package/dist/lib/prompts/fetch-utils.d.ts +0 -1
- package/dist/lib/prompts/host-codex-prompt.d.ts +0 -1
- package/dist/lib/quota-cache.d.ts +0 -1
- package/dist/lib/quota-cache.js +60 -36
- package/dist/lib/quota-probe.d.ts +0 -1
- package/dist/lib/quota-probe.js +5 -2
- package/dist/lib/quota-readiness.d.ts +0 -1
- package/dist/lib/recovery/constants.d.ts +0 -1
- package/dist/lib/recovery/storage.d.ts +0 -1
- package/dist/lib/recovery/types.d.ts +0 -1
- package/dist/lib/recovery.d.ts +0 -1
- package/dist/lib/redaction.d.ts +0 -1
- package/dist/lib/refresh-guardian.d.ts +0 -1
- package/dist/lib/refresh-lease.d.ts +0 -1
- package/dist/lib/refresh-queue.d.ts +0 -1
- package/dist/lib/request/client-cancellation.d.ts +0 -1
- package/dist/lib/request/error-classification.d.ts +0 -1
- package/dist/lib/request/error-classification.js +41 -52
- package/dist/lib/request/failover-config.d.ts +0 -1
- package/dist/lib/request/failure-policy.d.ts +0 -1
- package/dist/lib/request/fetch-helpers.d.ts +0 -1
- package/dist/lib/request/fetch-helpers.js +1 -1
- package/dist/lib/request/headers.d.ts +0 -1
- package/dist/lib/request/helpers/input-utils.d.ts +0 -1
- package/dist/lib/request/helpers/input-utils.js +88 -34
- package/dist/lib/request/helpers/model-map.d.ts +2 -3
- package/dist/lib/request/helpers/model-map.js +120 -78
- package/dist/lib/request/helpers/tool-utils.d.ts +0 -1
- package/dist/lib/request/helpers/tool-utils.js +421 -4
- package/dist/lib/request/index.d.ts +0 -1
- package/dist/lib/request/rate-limit-backoff.d.ts +0 -1
- package/dist/lib/request/rate-limit-decision.d.ts +0 -1
- package/dist/lib/request/request-attempt-budget.d.ts +0 -1
- package/dist/lib/request/request-init.d.ts +0 -1
- package/dist/lib/request/request-resilience.d.ts +0 -1
- package/dist/lib/request/request-transformer.d.ts +1 -2
- package/dist/lib/request/request-transformer.js +51 -26
- package/dist/lib/request/response-compaction.d.ts +0 -1
- package/dist/lib/request/response-handler.d.ts +0 -1
- package/dist/lib/request/response-metadata.d.ts +0 -1
- package/dist/lib/request/response-outcome.d.ts +0 -1
- package/dist/lib/request/stream-failover-runtime.d.ts +0 -1
- package/dist/lib/request/stream-failover.d.ts +0 -1
- package/dist/lib/request/stream-failover.js +28 -4
- package/dist/lib/request/token-refresh.d.ts +0 -1
- package/dist/lib/request/url-rewriting.d.ts +0 -1
- package/dist/lib/request/wait-utils.d.ts +0 -1
- package/dist/lib/rotation.d.ts +0 -1
- package/dist/lib/routing-mutex.d.ts +0 -1
- package/dist/lib/routing-profiles.d.ts +16 -2
- package/dist/lib/routing-profiles.js +119 -44
- package/dist/lib/runtime/account-check-helpers.d.ts +0 -1
- package/dist/lib/runtime/account-check-types.d.ts +0 -1
- package/dist/lib/runtime/account-check.d.ts +0 -1
- package/dist/lib/runtime/account-manager-cache-entry.d.ts +0 -1
- package/dist/lib/runtime/account-manager-cache.d.ts +0 -1
- package/dist/lib/runtime/account-model-catalog.d.ts +1 -2
- package/dist/lib/runtime/account-pool.d.ts +0 -1
- package/dist/lib/runtime/account-reset-credits.d.ts +0 -1
- package/dist/lib/runtime/account-reset-credits.js +8 -2
- package/dist/lib/runtime/account-scope.d.ts +0 -1
- package/dist/lib/runtime/account-select-event.d.ts +0 -1
- package/dist/lib/runtime/account-selection.d.ts +0 -1
- package/dist/lib/runtime/account-state.d.ts +0 -1
- package/dist/lib/runtime/account-status.d.ts +0 -1
- package/dist/lib/runtime/account-storage-scope-entry.d.ts +0 -1
- package/dist/lib/runtime/api-model-capabilities.d.ts +0 -1
- package/dist/lib/runtime/api-model-runtime.d.ts +0 -1
- package/dist/lib/runtime/app-bind.d.ts +0 -1
- package/dist/lib/runtime/app-helper-selection.d.ts +0 -1
- package/dist/lib/runtime/auth-facade.d.ts +0 -1
- package/dist/lib/runtime/automatic-account-checks.d.ts +0 -1
- package/dist/lib/runtime/automatic-subscription-checks.d.ts +0 -1
- package/dist/lib/runtime/browser-oauth-flow.d.ts +0 -1
- package/dist/lib/runtime/capability-boost.d.ts +0 -1
- package/dist/lib/runtime/catalog-capabilities.d.ts +0 -1
- package/dist/lib/runtime/config-toml.d.ts +0 -1
- package/dist/lib/runtime/context-budget-settings.d.ts +0 -1
- package/dist/lib/runtime/event-handler.d.ts +0 -1
- package/dist/lib/runtime/first-run.d.ts +0 -1
- package/dist/lib/runtime/flagged-verify-types.d.ts +0 -1
- package/dist/lib/runtime/hydrate-emails.d.ts +0 -1
- package/dist/lib/runtime/inference-activity.d.ts +0 -1
- package/dist/lib/runtime/live-sync-entry.d.ts +0 -1
- package/dist/lib/runtime/live-sync.d.ts +0 -1
- package/dist/lib/runtime/loader-setup.d.ts +0 -1
- package/dist/lib/runtime/login-menu-accounts.d.ts +0 -1
- package/dist/lib/runtime/manual-oauth-flow.d.ts +0 -1
- package/dist/lib/runtime/model-discovery-status.d.ts +0 -1
- package/dist/lib/runtime/native-account-storage.d.ts +0 -1
- package/dist/lib/runtime/native-account-sync.d.ts +0 -1
- package/dist/lib/runtime/native-binding-lock.d.ts +0 -1
- package/dist/lib/runtime/native-client-auth.d.ts +0 -1
- package/dist/lib/runtime/native-provider-config.d.ts +0 -1
- package/dist/lib/runtime/native-rate-limits.d.ts +2 -1
- package/dist/lib/runtime/native-rate-limits.js +23 -6
- package/dist/lib/runtime/preemptive-quota.d.ts +0 -1
- package/dist/lib/runtime/quota-headers.d.ts +0 -1
- package/dist/lib/runtime/quota-probe.d.ts +0 -1
- package/dist/lib/runtime/quota-settings.d.ts +0 -1
- package/dist/lib/runtime/refresh-guardian-entry.d.ts +0 -1
- package/dist/lib/runtime/refresh-guardian.d.ts +0 -1
- package/dist/lib/runtime/request-init.d.ts +0 -1
- package/dist/lib/runtime/reset-credit-routing.d.ts +0 -1
- package/dist/lib/runtime/reset-credits.d.ts +0 -1
- package/dist/lib/runtime/response-output-history.d.ts +0 -1
- package/dist/lib/runtime/responses-websocket.d.ts +0 -1
- package/dist/lib/runtime/resume-picker.d.ts +0 -1
- package/dist/lib/runtime/rotation-account-selection.d.ts +0 -1
- package/dist/lib/runtime/rotation-proxy-state.d.ts +0 -1
- package/dist/lib/runtime/rotation-server-types.d.ts +0 -1
- package/dist/lib/runtime/rotation-storage-meta.d.ts +0 -1
- package/dist/lib/runtime/rotation-token-refresh.d.ts +0 -1
- package/dist/lib/runtime/runtime-capability-failures.d.ts +0 -1
- package/dist/lib/runtime/runtime-current-account.d.ts +0 -1
- package/dist/lib/runtime/runtime-observability.d.ts +0 -1
- package/dist/lib/runtime/runtime-services.d.ts +0 -1
- package/dist/lib/runtime/session-affinity-entry.d.ts +0 -1
- package/dist/lib/runtime/session-recovery.d.ts +0 -1
- package/dist/lib/runtime/status-marker.d.ts +0 -1
- package/dist/lib/runtime/storage-scope.d.ts +0 -1
- package/dist/lib/runtime/subscription-first-use.d.ts +0 -1
- package/dist/lib/runtime/subscription-quota-event.d.ts +0 -1
- package/dist/lib/runtime/subscription-quota-order.d.ts +0 -1
- package/dist/lib/runtime/toast.d.ts +0 -1
- package/dist/lib/runtime/ui-runtime-entry.d.ts +0 -1
- package/dist/lib/runtime/ui-runtime.d.ts +0 -1
- package/dist/lib/runtime/verify-flagged.d.ts +0 -1
- package/dist/lib/runtime/workspace-model-scopes.d.ts +0 -1
- package/dist/lib/runtime-constants.d.ts +0 -1
- package/dist/lib/runtime-paths.d.ts +0 -1
- package/dist/lib/runtime-rotation-proxy.d.ts +1 -1
- package/dist/lib/runtime-rotation-proxy.js +133 -0
- package/dist/lib/schemas.d.ts +35 -13
- package/dist/lib/schemas.js +19 -2
- package/dist/lib/session-affinity.d.ts +0 -1
- package/dist/lib/shutdown.d.ts +0 -1
- package/dist/lib/storage/account-clear-entry.d.ts +0 -1
- package/dist/lib/storage/account-clear.d.ts +0 -1
- package/dist/lib/storage/account-match-utils.d.ts +0 -1
- package/dist/lib/storage/account-persistence.d.ts +0 -1
- package/dist/lib/storage/account-port.d.ts +0 -1
- package/dist/lib/storage/account-save-entry.d.ts +0 -1
- package/dist/lib/storage/account-save.d.ts +9 -2
- package/dist/lib/storage/account-save.js +4 -1
- package/dist/lib/storage/account-snapshot.d.ts +0 -1
- package/dist/lib/storage/backup-metadata-builder.d.ts +0 -1
- package/dist/lib/storage/backup-metadata.d.ts +0 -1
- package/dist/lib/storage/backup-paths.d.ts +0 -1
- package/dist/lib/storage/backup-restore.d.ts +0 -1
- package/dist/lib/storage/cache-artifacts.d.ts +0 -1
- package/dist/lib/storage/credential-sidecars.d.ts +0 -1
- package/dist/lib/storage/error-hints.d.ts +0 -1
- package/dist/lib/storage/file-lock.d.ts +0 -1
- package/dist/lib/storage/file-lock.js +33 -1
- package/dist/lib/storage/file-paths.d.ts +0 -1
- package/dist/lib/storage/fixture-guards.d.ts +0 -1
- package/dist/lib/storage/flagged-entry.d.ts +0 -1
- package/dist/lib/storage/flagged-load-entry.d.ts +0 -1
- package/dist/lib/storage/flagged-save-entry.d.ts +0 -1
- package/dist/lib/storage/flagged-storage-file.d.ts +0 -1
- package/dist/lib/storage/flagged-storage-io.d.ts +0 -1
- package/dist/lib/storage/flagged-storage.d.ts +0 -1
- package/dist/lib/storage/gitignore.d.ts +0 -1
- package/dist/lib/storage/hash.d.ts +0 -1
- package/dist/lib/storage/health.d.ts +0 -1
- package/dist/lib/storage/identity.d.ts +0 -1
- package/dist/lib/storage/import-export.d.ts +0 -1
- package/dist/lib/storage/json-store-lock.d.ts +105 -0
- package/dist/lib/storage/json-store-lock.js +259 -0
- package/dist/lib/storage/metadata-section.d.ts +0 -1
- package/dist/lib/storage/migrations.d.ts +0 -1
- package/dist/lib/storage/migrations.js +31 -18
- package/dist/lib/storage/named-backup-entry.d.ts +0 -1
- package/dist/lib/storage/named-backups-entry.d.ts +0 -1
- package/dist/lib/storage/named-backups.d.ts +0 -1
- package/dist/lib/storage/path-state.d.ts +0 -1
- package/dist/lib/storage/paths.d.ts +0 -1
- package/dist/lib/storage/pending-auth.d.ts +9 -3
- package/dist/lib/storage/pending-auth.js +30 -8
- package/dist/lib/storage/project-migration.d.ts +0 -1
- package/dist/lib/storage/public-types.d.ts +0 -1
- package/dist/lib/storage/record-identity.d.ts +0 -1
- package/dist/lib/storage/record-utils.d.ts +0 -1
- package/dist/lib/storage/restore-assessment.d.ts +0 -1
- package/dist/lib/storage/restore-backup-entry.d.ts +0 -1
- package/dist/lib/storage/restore-metadata.d.ts +0 -1
- package/dist/lib/storage/save-retry.d.ts +0 -1
- package/dist/lib/storage/snapshot-inspectors.d.ts +0 -1
- package/dist/lib/storage/snapshot-merge.d.ts +0 -1
- package/dist/lib/storage/storage-parser.d.ts +2 -1
- package/dist/lib/storage/storage-parser.js +10 -2
- package/dist/lib/storage/transactions.d.ts +0 -1
- package/dist/lib/storage.d.ts +15 -2
- package/dist/lib/storage.js +612 -25
- package/dist/lib/synthetic-response.d.ts +0 -1
- package/dist/lib/table-formatter.d.ts +0 -1
- package/dist/lib/temp-path.d.ts +0 -1
- package/dist/lib/tools/hashline-tools.d.ts +0 -1
- package/dist/lib/types.d.ts +0 -1
- package/dist/lib/ui/ansi.d.ts +0 -1
- package/dist/lib/ui/auth-menu-builder.d.ts +0 -1
- package/dist/lib/ui/auth-menu.d.ts +0 -1
- package/dist/lib/ui/check-progress.d.ts +0 -1
- package/dist/lib/ui/confirm.d.ts +0 -1
- package/dist/lib/ui/display-width.d.ts +0 -1
- package/dist/lib/ui/format.d.ts +0 -1
- package/dist/lib/ui/index.d.ts +0 -1
- package/dist/lib/ui/runtime.d.ts +0 -1
- package/dist/lib/ui/select.d.ts +0 -1
- package/dist/lib/ui/theme.d.ts +0 -1
- package/dist/lib/ui/ui-copy.d.ts +1 -2
- package/dist/lib/ui/ui-copy.js +1 -1
- package/dist/lib/unified-settings.d.ts +13 -11
- package/dist/lib/unified-settings.js +22 -14
- package/dist/lib/update-notice.d.ts +0 -1
- package/dist/lib/usage/index.d.ts +0 -1
- package/dist/lib/usage/ledger.d.ts +0 -1
- package/dist/lib/usage/pricing.d.ts +1 -2
- package/dist/lib/usage/pricing.js +41 -16
- package/dist/lib/usage/redaction.d.ts +0 -1
- package/dist/lib/usage/stream-usage-deferral.d.ts +0 -1
- package/dist/lib/usage/types.d.ts +0 -1
- package/dist/lib/usage/usage-extraction.d.ts +0 -1
- package/dist/lib/utils.d.ts +21 -1
- package/dist/lib/utils.js +31 -0
- package/dist/lib/wsl.d.ts +0 -1
- package/package.json +11 -5
- package/scripts/codex-bin-resolver.js +20 -1
- package/scripts/codex-multi-auth.js +7 -1
- package/scripts/codex.js +385 -89
- package/skills/codex-auth-setup/SKILL.md +73 -0
|
@@ -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 {
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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 updateQuotaCacheForWorkspace(cache: QuotaCacheData, acco
|
|
|
21
21
|
/** Clone every cache namespace; immutable entries may safely remain shared. */
|
|
22
22
|
export declare function cloneQuotaCacheData(cache: QuotaCacheData): QuotaCacheData;
|
|
23
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;
|
|
24
|
-
//# sourceMappingURL=quota-cache-helpers.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
|
|
@@ -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
|
|
@@ -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 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
|
|
@@ -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
|
|
@@ -22,4 +22,3 @@ export interface StatuslineSettingsPanelDeps {
|
|
|
22
22
|
}
|
|
23
23
|
export declare function promptStatuslineSettingsPanel(initial: DashboardDisplaySettings, deps: StatuslineSettingsPanelDeps): Promise<DashboardDisplaySettings | null>;
|
|
24
24
|
export {};
|
|
25
|
-
//# sourceMappingURL=statusline-settings-panel.d.ts.map
|
|
@@ -10,4 +10,3 @@ export interface ThemeSettingsPanelDeps {
|
|
|
10
10
|
UI_COPY: typeof UI_COPY;
|
|
11
11
|
}
|
|
12
12
|
export declare function promptThemeSettingsPanel(initial: DashboardDisplaySettings, deps: ThemeSettingsPanelDeps): Promise<DashboardDisplaySettings | null>;
|
|
13
|
-
//# sourceMappingURL=theme-settings-panel.d.ts.map
|
|
@@ -24,4 +24,3 @@ export type UnifiedSettingsControllerDeps = {
|
|
|
24
24
|
THEME_PANEL_KEYS: readonly (keyof DashboardDisplaySettings)[];
|
|
25
25
|
};
|
|
26
26
|
export declare function configureUnifiedSettingsController(initialSettings: DashboardDisplaySettings | undefined, deps: UnifiedSettingsControllerDeps): Promise<DashboardDisplaySettings>;
|
|
27
|
-
//# sourceMappingURL=unified-settings-controller.d.ts.map
|
|
@@ -3,4 +3,3 @@ import type { UnifiedSettingsControllerDeps } from "./unified-settings-controlle
|
|
|
3
3
|
export declare function configureUnifiedSettingsEntry(initialSettings: DashboardDisplaySettings | undefined, deps: {
|
|
4
4
|
configureUnifiedSettingsController: (initialSettings: DashboardDisplaySettings | undefined, deps: UnifiedSettingsControllerDeps) => Promise<DashboardDisplaySettings>;
|
|
5
5
|
} & UnifiedSettingsControllerDeps): Promise<DashboardDisplaySettings>;
|
|
6
|
-
//# sourceMappingURL=unified-settings-entry.d.ts.map
|
|
@@ -2,8 +2,7 @@ import { selectHybridAccountTraced } from "./rotation.js";
|
|
|
2
2
|
import { formatBackupSavedAt, styleAccountDetailText } from "./codex-manager/formatters/index.js";
|
|
3
3
|
import { type AccountStorageV3 } from "./storage.js";
|
|
4
4
|
export { formatBackupSavedAt, styleAccountDetailText };
|
|
5
|
-
export
|
|
5
|
+
export { autoSyncActiveAccountToCodex } from "./codex-manager/active-account-sync.js";
|
|
6
6
|
/** @internal Exposed for diagnostics regression tests; not part of the CLI API. */
|
|
7
7
|
export declare function buildSelectAccountTraced(): (storage: AccountStorageV3) => Promise<ReturnType<typeof selectHybridAccountTraced>>;
|
|
8
8
|
export declare function runCodexMultiAuthCli(rawArgs: string[]): Promise<number>;
|
|
9
|
-
//# sourceMappingURL=codex-manager.d.ts.map
|
|
@@ -5,7 +5,6 @@ import { loadInferenceRequestTimes } from "./runtime/inference-activity.js";
|
|
|
5
5
|
import { loadModelInventory, refreshAndPrintModelInventory } from "./runtime/model-discovery-status.js";
|
|
6
6
|
import { AUTH_INVALIDATION_MARKER, AccountManager, extractAccountEmail, extractAccountId, formatAccountLabel, formatWaitTime, sanitizeEmail, } from "./accounts.js";
|
|
7
7
|
import { reboundUnauthorizedAccountIdentity, refreshCodexCliMirror, } from "./auth/account-access.js";
|
|
8
|
-
import { codexCliAccountIdFor } from "./auth/token-utils.js";
|
|
9
8
|
import { loadCodexCliState } from "./codex-cli/state.js";
|
|
10
9
|
import { setCodexCliActiveSelection } from "./codex-cli/writer.js";
|
|
11
10
|
import { parseBestArgs, printBestUsage, runBestCommand, } from "./codex-manager/commands/best.js";
|
|
@@ -60,7 +59,7 @@ import { loadQuotaCache, saveQuotaCache } from "./quota-cache.js";
|
|
|
60
59
|
import { readAppRuntimeHelperAccountSignal } from "./runtime/runtime-current-account.js";
|
|
61
60
|
import { fetchCodexQuotaSnapshot, formatQuotaSnapshotLine, } from "./quota-probe.js";
|
|
62
61
|
import { queuedRefresh } from "./refresh-queue.js";
|
|
63
|
-
import { clearAccounts,
|
|
62
|
+
import { clearAccounts, inspectStorageHealth, getLastAccountsSaveTimestamp, getStoragePath, loadAccounts, loadFlaggedAccounts, saveAccounts, setStoragePath, } from "./storage.js";
|
|
64
63
|
// Formatter implementations moved to lib/codex-manager/formatters/ (audit
|
|
65
64
|
// roadmap §4.1.1 phase 1). Re-exported here so existing consumers importing
|
|
66
65
|
// from lib/codex-manager.js keep working unchanged.
|
|
@@ -196,99 +195,10 @@ async function runBest(args) {
|
|
|
196
195
|
setCodexCliActiveSelection,
|
|
197
196
|
});
|
|
198
197
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
const activeIndex = resolveActiveIndex(storage, "codex");
|
|
206
|
-
if (activeIndex < 0 || activeIndex >= storage.accounts.length) {
|
|
207
|
-
return false;
|
|
208
|
-
}
|
|
209
|
-
const account = storage.accounts[activeIndex];
|
|
210
|
-
if (!account) {
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
const accountMatch = {
|
|
214
|
-
accountId: account.accountId,
|
|
215
|
-
email: account.email,
|
|
216
|
-
refreshToken: account.refreshToken,
|
|
217
|
-
};
|
|
218
|
-
const now = Date.now();
|
|
219
|
-
let syncAccessToken = account.accessToken;
|
|
220
|
-
let syncRefreshToken = account.refreshToken;
|
|
221
|
-
let syncExpiresAt = account.expiresAt;
|
|
222
|
-
let syncIdToken;
|
|
223
|
-
let syncEmail = account.email;
|
|
224
|
-
let changed = false;
|
|
225
|
-
let nextStoredAccount = null;
|
|
226
|
-
if (!hasUsableAccessToken(account, now)) {
|
|
227
|
-
const refreshResult = await queuedRefresh(account.refreshToken);
|
|
228
|
-
if (refreshResult.type !== "success") {
|
|
229
|
-
return false;
|
|
230
|
-
}
|
|
231
|
-
nextStoredAccount = structuredClone(account);
|
|
232
|
-
const tokenAccountId = extractAccountId(refreshResult.access);
|
|
233
|
-
const nextEmail = sanitizeEmail(extractAccountEmail(refreshResult.access, refreshResult.idToken));
|
|
234
|
-
if (nextStoredAccount.refreshToken !== refreshResult.refresh) {
|
|
235
|
-
nextStoredAccount.refreshToken = refreshResult.refresh;
|
|
236
|
-
changed = true;
|
|
237
|
-
}
|
|
238
|
-
if (nextStoredAccount.accessToken !== refreshResult.access) {
|
|
239
|
-
nextStoredAccount.accessToken = refreshResult.access;
|
|
240
|
-
changed = true;
|
|
241
|
-
}
|
|
242
|
-
if (nextStoredAccount.expiresAt !== refreshResult.expires) {
|
|
243
|
-
nextStoredAccount.expiresAt = refreshResult.expires;
|
|
244
|
-
changed = true;
|
|
245
|
-
}
|
|
246
|
-
if (nextEmail && nextEmail !== nextStoredAccount.email) {
|
|
247
|
-
nextStoredAccount.email = nextEmail;
|
|
248
|
-
changed = true;
|
|
249
|
-
}
|
|
250
|
-
if (applyTokenAccountIdentity(nextStoredAccount, tokenAccountId)) {
|
|
251
|
-
changed = true;
|
|
252
|
-
}
|
|
253
|
-
syncAccessToken = refreshResult.access;
|
|
254
|
-
syncRefreshToken = refreshResult.refresh;
|
|
255
|
-
syncExpiresAt = refreshResult.expires;
|
|
256
|
-
syncIdToken = refreshResult.idToken;
|
|
257
|
-
syncEmail = nextStoredAccount.email;
|
|
258
|
-
}
|
|
259
|
-
if (changed && nextStoredAccount) {
|
|
260
|
-
let persisted = false;
|
|
261
|
-
await withAccountStorageTransaction(async (loadedStorage, persist) => {
|
|
262
|
-
if (!loadedStorage) {
|
|
263
|
-
return;
|
|
264
|
-
}
|
|
265
|
-
const nextStorage = structuredClone(loadedStorage);
|
|
266
|
-
const targetIndex = findMatchingAccountIndex(nextStorage.accounts, accountMatch, {
|
|
267
|
-
allowUniqueAccountIdFallbackWithoutEmail: true,
|
|
268
|
-
}) ??
|
|
269
|
-
findMatchingAccountIndex(nextStorage.accounts, nextStoredAccount, {
|
|
270
|
-
allowUniqueAccountIdFallbackWithoutEmail: true,
|
|
271
|
-
});
|
|
272
|
-
if (targetIndex === undefined) {
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
nextStorage.accounts[targetIndex] = structuredClone(nextStoredAccount);
|
|
276
|
-
await persist(nextStorage);
|
|
277
|
-
persisted = true;
|
|
278
|
-
});
|
|
279
|
-
if (!persisted) {
|
|
280
|
-
return false;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
return setCodexCliActiveSelection({
|
|
284
|
-
accountId: codexCliAccountIdFor(nextStoredAccount ?? account, syncAccessToken, syncIdToken),
|
|
285
|
-
email: syncEmail,
|
|
286
|
-
accessToken: syncAccessToken,
|
|
287
|
-
refreshToken: syncRefreshToken,
|
|
288
|
-
expiresAt: syncExpiresAt,
|
|
289
|
-
...(syncIdToken ? { idToken: syncIdToken } : {}),
|
|
290
|
-
});
|
|
291
|
-
}
|
|
198
|
+
// Moved to lib/codex-manager/active-account-sync.ts so the wrapper's forwarded
|
|
199
|
+
// path can import the sync without the whole manager/dispatch graph. Re-exported
|
|
200
|
+
// here to keep the codex-manager.js surface (and its tests) unchanged.
|
|
201
|
+
export { autoSyncActiveAccountToCodex } from "./codex-manager/active-account-sync.js";
|
|
292
202
|
/** @internal Exposed for diagnostics regression tests; not part of the CLI API. */
|
|
293
203
|
export function buildSelectAccountTraced() {
|
|
294
204
|
return async (storage) => {
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
/** Bounded independent work, refilling free slots immediately and preserving result order. */
|
|
2
2
|
export declare function mapWithConcurrency<T, R>(items: readonly T[], limit: number, worker: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
3
|
-
//# sourceMappingURL=concurrency.d.ts.map
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -385,4 +385,3 @@ export declare function getRoutingMutexMode(pluginConfig: PluginConfig): "enable
|
|
|
385
385
|
export declare function getSchedulingStrategy(pluginConfig: PluginConfig): "hybrid" | "sequential";
|
|
386
386
|
export declare function getPluginConfigExplainReport(): ConfigExplainReport;
|
|
387
387
|
export {};
|
|
388
|
-
//# sourceMappingURL=config.d.ts.map
|