codex-multi-auth 2.18.0 → 2.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/dist/lib/account-policy.d.ts +3 -1
- package/dist/lib/account-policy.js +21 -5
- package/dist/lib/codex-manager/commands/history.js +3 -1
- package/dist/lib/codex-manager/commands/status.js +8 -3
- package/dist/lib/codex-manager/dashboard-settings-data.js +2 -0
- package/dist/lib/codex-manager/formatters/subscription-status.d.ts +16 -0
- package/dist/lib/codex-manager/formatters/subscription-status.js +69 -0
- package/dist/lib/codex-manager/formatters/text-style.js +4 -1
- package/dist/lib/codex-manager/health-check.js +17 -12
- package/dist/lib/codex-manager/quota-cache-helpers.js +8 -4
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts +1 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.js +4 -0
- package/dist/lib/codex-manager/settings-panels.d.ts +1 -0
- package/dist/lib/codex-manager/settings-panels.js +1 -0
- package/dist/lib/codex-manager/theme-settings-panel.d.ts +2 -1
- package/dist/lib/codex-manager/theme-settings-panel.js +39 -0
- package/dist/lib/dashboard-settings.d.ts +2 -0
- package/dist/lib/dashboard-settings.js +18 -0
- package/dist/lib/model-route-policy.d.ts +5 -5
- package/dist/lib/quota-cache.d.ts +6 -0
- package/dist/lib/quota-cache.js +33 -16
- package/dist/lib/quota-probe.d.ts +3 -0
- package/dist/lib/quota-probe.js +5 -4
- package/dist/lib/quota-readiness.d.ts +3 -3
- package/dist/lib/quota-readiness.js +6 -2
- package/dist/lib/request/url-rewriting.js +3 -1
- package/dist/lib/runtime/account-model-catalog.d.ts +5 -5
- package/dist/lib/runtime/account-reset-credits.d.ts +2 -2
- package/dist/lib/runtime/model-discovery-status.d.ts +5 -5
- package/dist/lib/runtime/reset-credits.d.ts +7 -7
- package/dist/lib/runtime/resume-picker.js +1 -1
- package/dist/lib/runtime/subscription-first-use.js +1 -1
- package/dist/lib/runtime/workspace-model-scopes.d.ts +3 -3
- package/dist/lib/schemas.d.ts +65 -65
- package/dist/lib/ui/index.d.ts +1 -1
- package/dist/lib/ui/index.js +1 -1
- package/dist/lib/ui/runtime.d.ts +3 -1
- package/dist/lib/ui/runtime.js +11 -1
- package/dist/lib/ui/theme.d.ts +20 -1
- package/dist/lib/ui/theme.js +154 -30
- package/dist/lib/ui/ui-copy.d.ts +3 -2
- package/dist/lib/ui/ui-copy.js +3 -2
- package/package.json +25 -24
- package/scripts/codex.js +70 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/account-policy.d.ts.map +0 -1
- package/dist/lib/accounts/rate-limits.d.ts.map +0 -1
- package/dist/lib/accounts.d.ts.map +0 -1
- package/dist/lib/api-route-store.d.ts.map +0 -1
- package/dist/lib/audit.d.ts.map +0 -1
- package/dist/lib/auth/account-access.d.ts.map +0 -1
- package/dist/lib/auth/auth.d.ts.map +0 -1
- package/dist/lib/auth/browser.d.ts.map +0 -1
- package/dist/lib/auth/callback-guidance.d.ts.map +0 -1
- package/dist/lib/auth/device-auth.d.ts.map +0 -1
- package/dist/lib/auth/index.d.ts.map +0 -1
- package/dist/lib/auth/org-override.d.ts.map +0 -1
- package/dist/lib/auth/server.d.ts.map +0 -1
- package/dist/lib/auth/token-utils.d.ts.map +0 -1
- package/dist/lib/auth-rate-limit.d.ts.map +0 -1
- package/dist/lib/budget-guard.d.ts.map +0 -1
- package/dist/lib/capability-policy.d.ts.map +0 -1
- package/dist/lib/circuit-breaker.d.ts.map +0 -1
- package/dist/lib/cli.d.ts.map +0 -1
- package/dist/lib/codex-cli/index.d.ts.map +0 -1
- package/dist/lib/codex-cli/observability.d.ts.map +0 -1
- package/dist/lib/codex-cli/state.d.ts.map +0 -1
- package/dist/lib/codex-cli/sync.d.ts.map +0 -1
- package/dist/lib/codex-cli/writer.d.ts.map +0 -1
- package/dist/lib/codex-manager/account-credentials.d.ts.map +0 -1
- package/dist/lib/codex-manager/account-manager-commands.d.ts.map +0 -1
- package/dist/lib/codex-manager/account-pool-write.d.ts.map +0 -1
- package/dist/lib/codex-manager/api-login-menu.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-category-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-category-helpers.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-category-prompt.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-settings-controller.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-settings-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-settings-helpers.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-settings-prompt.d.ts.map +0 -1
- package/dist/lib/codex-manager/backend-settings-schema.d.ts.map +0 -1
- package/dist/lib/codex-manager/behavior-settings-panel.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/account.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/best.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/bridge.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/budget.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/check.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/config-explain.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/debug-bundle.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/forecast.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/history.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/init-config.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/integrations.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/limits.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/models.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/monitor.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/report.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/resets.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/rotation.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/status.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/switch.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/uninstall.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/unpin.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/usage.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/verify.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/why-selected.d.ts.map +0 -1
- package/dist/lib/codex-manager/commands/workspace.d.ts.map +0 -1
- package/dist/lib/codex-manager/dashboard-display-panel.d.ts.map +0 -1
- package/dist/lib/codex-manager/dashboard-formatters.d.ts.map +0 -1
- package/dist/lib/codex-manager/dashboard-settings-controller.d.ts.map +0 -1
- package/dist/lib/codex-manager/dashboard-settings-data.d.ts.map +0 -1
- package/dist/lib/codex-manager/dashboard-settings-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager/experimental-settings-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +0 -1
- package/dist/lib/codex-manager/experimental-settings-schema.d.ts.map +0 -1
- package/dist/lib/codex-manager/experimental-sync-target-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager/experimental-sync-target.d.ts.map +0 -1
- package/dist/lib/codex-manager/forecast-report-shared.d.ts.map +0 -1
- package/dist/lib/codex-manager/formatters/account-formatters.d.ts.map +0 -1
- package/dist/lib/codex-manager/formatters/index.d.ts.map +0 -1
- package/dist/lib/codex-manager/formatters/model-formatters.d.ts.map +0 -1
- package/dist/lib/codex-manager/formatters/quota-formatters.d.ts.map +0 -1
- package/dist/lib/codex-manager/formatters/text-style.d.ts.map +0 -1
- package/dist/lib/codex-manager/health-check.d.ts.map +0 -1
- package/dist/lib/codex-manager/help.d.ts.map +0 -1
- package/dist/lib/codex-manager/login-action-panel.d.ts.map +0 -1
- package/dist/lib/codex-manager/login-flow.d.ts.map +0 -1
- package/dist/lib/codex-manager/login-menu-actions.d.ts.map +0 -1
- package/dist/lib/codex-manager/login-menu-data.d.ts.map +0 -1
- package/dist/lib/codex-manager/login-oauth.d.ts.map +0 -1
- package/dist/lib/codex-manager/login-workspace-choice.d.ts.map +0 -1
- package/dist/lib/codex-manager/manual-callback.d.ts.map +0 -1
- package/dist/lib/codex-manager/persist-selected-account.d.ts.map +0 -1
- package/dist/lib/codex-manager/quota-cache-helpers.d.ts.map +0 -1
- package/dist/lib/codex-manager/rate-limit-markers.d.ts.map +0 -1
- package/dist/lib/codex-manager/repair-commands.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub/backend.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub/experimental.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub/index.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub/shared.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub-menu.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub-prompt.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-hub.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-panels.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-persist-utils.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-preview.d.ts.map +0 -1
- package/dist/lib/codex-manager/settings-write-queue.d.ts.map +0 -1
- package/dist/lib/codex-manager/statusline-settings-panel.d.ts.map +0 -1
- package/dist/lib/codex-manager/theme-settings-panel.d.ts.map +0 -1
- package/dist/lib/codex-manager/unified-settings-controller.d.ts.map +0 -1
- package/dist/lib/codex-manager/unified-settings-entry.d.ts.map +0 -1
- package/dist/lib/codex-manager.d.ts.map +0 -1
- package/dist/lib/concurrency.d.ts.map +0 -1
- package/dist/lib/config-schema.d.ts.map +0 -1
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/context-budget/model-context-windows.d.ts.map +0 -1
- package/dist/lib/context-budget-guard.d.ts.map +0 -1
- package/dist/lib/context-budget-response.d.ts.map +0 -1
- package/dist/lib/context-overflow.d.ts.map +0 -1
- package/dist/lib/dashboard-settings.d.ts.map +0 -1
- package/dist/lib/entitlement-cache.d.ts.map +0 -1
- package/dist/lib/env-parsing.d.ts.map +0 -1
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/forecast.d.ts.map +0 -1
- package/dist/lib/fs-retry.d.ts.map +0 -1
- package/dist/lib/health.d.ts.map +0 -1
- package/dist/lib/index.d.ts.map +0 -1
- package/dist/lib/integration-generators.d.ts.map +0 -1
- package/dist/lib/live-account-sync.d.ts.map +0 -1
- package/dist/lib/local-bridge.d.ts.map +0 -1
- package/dist/lib/local-client-tokens.d.ts.map +0 -1
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/model-capability-matrix.d.ts.map +0 -1
- package/dist/lib/model-route-policy.d.ts.map +0 -1
- package/dist/lib/named-backup-export.d.ts.map +0 -1
- package/dist/lib/oc-chatgpt-import-adapter.d.ts.map +0 -1
- package/dist/lib/oc-chatgpt-orchestrator.d.ts.map +0 -1
- package/dist/lib/oc-chatgpt-target-detection.d.ts.map +0 -1
- package/dist/lib/parallel-probe.d.ts.map +0 -1
- package/dist/lib/policy/runtime-policy.d.ts.map +0 -1
- package/dist/lib/preemptive-quota-scheduler.d.ts.map +0 -1
- package/dist/lib/proactive-refresh.d.ts.map +0 -1
- package/dist/lib/prompts/codex-host-bridge.d.ts.map +0 -1
- package/dist/lib/prompts/codex.d.ts.map +0 -1
- package/dist/lib/prompts/fetch-utils.d.ts.map +0 -1
- package/dist/lib/prompts/host-codex-prompt.d.ts.map +0 -1
- package/dist/lib/quota-cache.d.ts.map +0 -1
- package/dist/lib/quota-probe.d.ts.map +0 -1
- package/dist/lib/quota-readiness.d.ts.map +0 -1
- package/dist/lib/recovery/constants.d.ts.map +0 -1
- package/dist/lib/recovery/storage.d.ts.map +0 -1
- package/dist/lib/recovery/types.d.ts.map +0 -1
- package/dist/lib/recovery.d.ts.map +0 -1
- package/dist/lib/redaction.d.ts.map +0 -1
- package/dist/lib/refresh-guardian.d.ts.map +0 -1
- package/dist/lib/refresh-lease.d.ts.map +0 -1
- package/dist/lib/refresh-queue.d.ts.map +0 -1
- package/dist/lib/request/client-cancellation.d.ts.map +0 -1
- package/dist/lib/request/error-classification.d.ts.map +0 -1
- package/dist/lib/request/failover-config.d.ts.map +0 -1
- package/dist/lib/request/failure-policy.d.ts.map +0 -1
- package/dist/lib/request/fetch-helpers.d.ts.map +0 -1
- package/dist/lib/request/headers.d.ts.map +0 -1
- package/dist/lib/request/helpers/input-utils.d.ts.map +0 -1
- package/dist/lib/request/helpers/model-map.d.ts.map +0 -1
- package/dist/lib/request/helpers/tool-utils.d.ts.map +0 -1
- package/dist/lib/request/index.d.ts.map +0 -1
- package/dist/lib/request/rate-limit-backoff.d.ts.map +0 -1
- package/dist/lib/request/rate-limit-decision.d.ts.map +0 -1
- package/dist/lib/request/request-attempt-budget.d.ts.map +0 -1
- package/dist/lib/request/request-init.d.ts.map +0 -1
- package/dist/lib/request/request-resilience.d.ts.map +0 -1
- package/dist/lib/request/request-transformer.d.ts.map +0 -1
- package/dist/lib/request/response-compaction.d.ts.map +0 -1
- package/dist/lib/request/response-handler.d.ts.map +0 -1
- package/dist/lib/request/response-metadata.d.ts.map +0 -1
- package/dist/lib/request/response-outcome.d.ts.map +0 -1
- package/dist/lib/request/stream-failover-runtime.d.ts.map +0 -1
- package/dist/lib/request/stream-failover.d.ts.map +0 -1
- package/dist/lib/request/token-refresh.d.ts.map +0 -1
- package/dist/lib/request/url-rewriting.d.ts.map +0 -1
- package/dist/lib/request/wait-utils.d.ts.map +0 -1
- package/dist/lib/rotation.d.ts.map +0 -1
- package/dist/lib/routing-mutex.d.ts.map +0 -1
- package/dist/lib/routing-profiles.d.ts.map +0 -1
- package/dist/lib/runtime/account-check-helpers.d.ts.map +0 -1
- package/dist/lib/runtime/account-check-types.d.ts.map +0 -1
- package/dist/lib/runtime/account-check.d.ts.map +0 -1
- package/dist/lib/runtime/account-manager-cache-entry.d.ts.map +0 -1
- package/dist/lib/runtime/account-manager-cache.d.ts.map +0 -1
- package/dist/lib/runtime/account-model-catalog.d.ts.map +0 -1
- package/dist/lib/runtime/account-pool.d.ts.map +0 -1
- package/dist/lib/runtime/account-reset-credits.d.ts.map +0 -1
- package/dist/lib/runtime/account-scope.d.ts.map +0 -1
- package/dist/lib/runtime/account-select-event.d.ts.map +0 -1
- package/dist/lib/runtime/account-selection.d.ts.map +0 -1
- package/dist/lib/runtime/account-state.d.ts.map +0 -1
- package/dist/lib/runtime/account-status.d.ts.map +0 -1
- package/dist/lib/runtime/account-storage-scope-entry.d.ts.map +0 -1
- package/dist/lib/runtime/api-model-capabilities.d.ts.map +0 -1
- package/dist/lib/runtime/api-model-runtime.d.ts.map +0 -1
- package/dist/lib/runtime/app-bind.d.ts.map +0 -1
- package/dist/lib/runtime/app-helper-selection.d.ts.map +0 -1
- package/dist/lib/runtime/auth-facade.d.ts.map +0 -1
- package/dist/lib/runtime/automatic-account-checks.d.ts.map +0 -1
- package/dist/lib/runtime/automatic-subscription-checks.d.ts.map +0 -1
- package/dist/lib/runtime/browser-oauth-flow.d.ts.map +0 -1
- package/dist/lib/runtime/capability-boost.d.ts.map +0 -1
- package/dist/lib/runtime/catalog-capabilities.d.ts.map +0 -1
- package/dist/lib/runtime/config-toml.d.ts.map +0 -1
- package/dist/lib/runtime/context-budget-settings.d.ts.map +0 -1
- package/dist/lib/runtime/event-handler.d.ts.map +0 -1
- package/dist/lib/runtime/first-run.d.ts.map +0 -1
- package/dist/lib/runtime/flagged-verify-types.d.ts.map +0 -1
- package/dist/lib/runtime/hydrate-emails.d.ts.map +0 -1
- package/dist/lib/runtime/inference-activity.d.ts.map +0 -1
- package/dist/lib/runtime/live-sync-entry.d.ts.map +0 -1
- package/dist/lib/runtime/live-sync.d.ts.map +0 -1
- package/dist/lib/runtime/loader-setup.d.ts.map +0 -1
- package/dist/lib/runtime/login-menu-accounts.d.ts.map +0 -1
- package/dist/lib/runtime/manual-oauth-flow.d.ts.map +0 -1
- package/dist/lib/runtime/model-discovery-status.d.ts.map +0 -1
- package/dist/lib/runtime/native-account-storage.d.ts.map +0 -1
- package/dist/lib/runtime/native-account-sync.d.ts.map +0 -1
- package/dist/lib/runtime/native-binding-lock.d.ts.map +0 -1
- package/dist/lib/runtime/native-client-auth.d.ts.map +0 -1
- package/dist/lib/runtime/native-provider-config.d.ts.map +0 -1
- package/dist/lib/runtime/native-rate-limits.d.ts.map +0 -1
- package/dist/lib/runtime/preemptive-quota.d.ts.map +0 -1
- package/dist/lib/runtime/quota-headers.d.ts.map +0 -1
- package/dist/lib/runtime/quota-probe.d.ts.map +0 -1
- package/dist/lib/runtime/quota-settings.d.ts.map +0 -1
- package/dist/lib/runtime/refresh-guardian-entry.d.ts.map +0 -1
- package/dist/lib/runtime/refresh-guardian.d.ts.map +0 -1
- package/dist/lib/runtime/request-init.d.ts.map +0 -1
- package/dist/lib/runtime/reset-credit-routing.d.ts.map +0 -1
- package/dist/lib/runtime/reset-credits.d.ts.map +0 -1
- package/dist/lib/runtime/response-output-history.d.ts.map +0 -1
- package/dist/lib/runtime/responses-websocket.d.ts.map +0 -1
- package/dist/lib/runtime/resume-picker.d.ts.map +0 -1
- package/dist/lib/runtime/rotation-account-selection.d.ts.map +0 -1
- package/dist/lib/runtime/rotation-proxy-state.d.ts.map +0 -1
- package/dist/lib/runtime/rotation-server-types.d.ts.map +0 -1
- package/dist/lib/runtime/rotation-storage-meta.d.ts.map +0 -1
- package/dist/lib/runtime/rotation-token-refresh.d.ts.map +0 -1
- package/dist/lib/runtime/runtime-capability-failures.d.ts.map +0 -1
- package/dist/lib/runtime/runtime-current-account.d.ts.map +0 -1
- package/dist/lib/runtime/runtime-observability.d.ts.map +0 -1
- package/dist/lib/runtime/runtime-services.d.ts.map +0 -1
- package/dist/lib/runtime/session-affinity-entry.d.ts.map +0 -1
- package/dist/lib/runtime/session-recovery.d.ts.map +0 -1
- package/dist/lib/runtime/status-marker.d.ts.map +0 -1
- package/dist/lib/runtime/storage-scope.d.ts.map +0 -1
- package/dist/lib/runtime/subscription-first-use.d.ts.map +0 -1
- package/dist/lib/runtime/subscription-quota-event.d.ts.map +0 -1
- package/dist/lib/runtime/subscription-quota-order.d.ts.map +0 -1
- package/dist/lib/runtime/toast.d.ts.map +0 -1
- package/dist/lib/runtime/ui-runtime-entry.d.ts.map +0 -1
- package/dist/lib/runtime/ui-runtime.d.ts.map +0 -1
- package/dist/lib/runtime/verify-flagged.d.ts.map +0 -1
- package/dist/lib/runtime/workspace-model-scopes.d.ts.map +0 -1
- package/dist/lib/runtime-constants.d.ts.map +0 -1
- package/dist/lib/runtime-paths.d.ts.map +0 -1
- package/dist/lib/runtime-rotation-proxy.d.ts.map +0 -1
- package/dist/lib/schemas.d.ts.map +0 -1
- package/dist/lib/session-affinity.d.ts.map +0 -1
- package/dist/lib/shutdown.d.ts.map +0 -1
- package/dist/lib/storage/account-clear-entry.d.ts.map +0 -1
- package/dist/lib/storage/account-clear.d.ts.map +0 -1
- package/dist/lib/storage/account-match-utils.d.ts.map +0 -1
- package/dist/lib/storage/account-persistence.d.ts.map +0 -1
- package/dist/lib/storage/account-port.d.ts.map +0 -1
- package/dist/lib/storage/account-save-entry.d.ts.map +0 -1
- package/dist/lib/storage/account-save.d.ts.map +0 -1
- package/dist/lib/storage/account-snapshot.d.ts.map +0 -1
- package/dist/lib/storage/backup-metadata-builder.d.ts.map +0 -1
- package/dist/lib/storage/backup-metadata.d.ts.map +0 -1
- package/dist/lib/storage/backup-paths.d.ts.map +0 -1
- package/dist/lib/storage/backup-restore.d.ts.map +0 -1
- package/dist/lib/storage/cache-artifacts.d.ts.map +0 -1
- package/dist/lib/storage/credential-sidecars.d.ts.map +0 -1
- package/dist/lib/storage/error-hints.d.ts.map +0 -1
- package/dist/lib/storage/file-lock.d.ts.map +0 -1
- package/dist/lib/storage/file-paths.d.ts.map +0 -1
- package/dist/lib/storage/fixture-guards.d.ts.map +0 -1
- package/dist/lib/storage/flagged-entry.d.ts.map +0 -1
- package/dist/lib/storage/flagged-load-entry.d.ts.map +0 -1
- package/dist/lib/storage/flagged-save-entry.d.ts.map +0 -1
- package/dist/lib/storage/flagged-storage-file.d.ts.map +0 -1
- package/dist/lib/storage/flagged-storage-io.d.ts.map +0 -1
- package/dist/lib/storage/flagged-storage.d.ts.map +0 -1
- package/dist/lib/storage/gitignore.d.ts.map +0 -1
- package/dist/lib/storage/hash.d.ts.map +0 -1
- package/dist/lib/storage/health.d.ts.map +0 -1
- package/dist/lib/storage/identity.d.ts.map +0 -1
- package/dist/lib/storage/import-export.d.ts.map +0 -1
- package/dist/lib/storage/metadata-section.d.ts.map +0 -1
- package/dist/lib/storage/migrations.d.ts.map +0 -1
- package/dist/lib/storage/named-backup-entry.d.ts.map +0 -1
- package/dist/lib/storage/named-backups-entry.d.ts.map +0 -1
- package/dist/lib/storage/named-backups.d.ts.map +0 -1
- package/dist/lib/storage/path-state.d.ts.map +0 -1
- package/dist/lib/storage/paths.d.ts.map +0 -1
- package/dist/lib/storage/pending-auth.d.ts.map +0 -1
- package/dist/lib/storage/project-migration.d.ts.map +0 -1
- package/dist/lib/storage/public-types.d.ts.map +0 -1
- package/dist/lib/storage/record-identity.d.ts.map +0 -1
- package/dist/lib/storage/record-utils.d.ts.map +0 -1
- package/dist/lib/storage/restore-assessment.d.ts.map +0 -1
- package/dist/lib/storage/restore-backup-entry.d.ts.map +0 -1
- package/dist/lib/storage/restore-metadata.d.ts.map +0 -1
- package/dist/lib/storage/save-retry.d.ts.map +0 -1
- package/dist/lib/storage/snapshot-inspectors.d.ts.map +0 -1
- package/dist/lib/storage/snapshot-merge.d.ts.map +0 -1
- package/dist/lib/storage/storage-parser.d.ts.map +0 -1
- package/dist/lib/storage/transactions.d.ts.map +0 -1
- package/dist/lib/storage.d.ts.map +0 -1
- package/dist/lib/synthetic-response.d.ts.map +0 -1
- package/dist/lib/table-formatter.d.ts.map +0 -1
- package/dist/lib/temp-path.d.ts.map +0 -1
- package/dist/lib/tools/hashline-tools.d.ts.map +0 -1
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/ui/ansi.d.ts.map +0 -1
- package/dist/lib/ui/auth-menu-builder.d.ts.map +0 -1
- package/dist/lib/ui/auth-menu.d.ts.map +0 -1
- package/dist/lib/ui/check-progress.d.ts.map +0 -1
- package/dist/lib/ui/confirm.d.ts.map +0 -1
- package/dist/lib/ui/display-width.d.ts.map +0 -1
- package/dist/lib/ui/format.d.ts.map +0 -1
- package/dist/lib/ui/index.d.ts.map +0 -1
- package/dist/lib/ui/runtime.d.ts.map +0 -1
- package/dist/lib/ui/select.d.ts.map +0 -1
- package/dist/lib/ui/theme.d.ts.map +0 -1
- package/dist/lib/ui/ui-copy.d.ts.map +0 -1
- package/dist/lib/unified-settings.d.ts.map +0 -1
- package/dist/lib/update-notice.d.ts.map +0 -1
- package/dist/lib/usage/index.d.ts.map +0 -1
- package/dist/lib/usage/ledger.d.ts.map +0 -1
- package/dist/lib/usage/pricing.d.ts.map +0 -1
- package/dist/lib/usage/redaction.d.ts.map +0 -1
- package/dist/lib/usage/stream-usage-deferral.d.ts.map +0 -1
- package/dist/lib/usage/types.d.ts.map +0 -1
- package/dist/lib/usage/usage-extraction.d.ts.map +0 -1
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/wsl.d.ts.map +0 -1
|
@@ -4,6 +4,10 @@ export interface QuotaCacheWindow {
|
|
|
4
4
|
resetAtMs?: number;
|
|
5
5
|
}
|
|
6
6
|
export interface QuotaCacheEntry {
|
|
7
|
+
primingCompleted?: boolean;
|
|
8
|
+
/** Completion/failure time, independent of the quota header observation. */
|
|
9
|
+
primingObservedAt?: number;
|
|
10
|
+
primingFailure?: "timed out" | "stream ended early" | "upstream failed" | "response too large" | "network error";
|
|
7
11
|
updatedAt: number;
|
|
8
12
|
status: number;
|
|
9
13
|
model: string;
|
|
@@ -47,6 +51,8 @@ export declare function getQuotaCachePath(): string;
|
|
|
47
51
|
* will be empty if the on-disk file is absent, malformed, or could not be read.
|
|
48
52
|
*/
|
|
49
53
|
export declare function loadQuotaCache(): Promise<QuotaCacheData>;
|
|
54
|
+
/** Merge quota and priming evidence independently; subsequent quota retires old outcomes. */
|
|
55
|
+
export declare function mergeQuotaCacheEntry(latest: QuotaCacheEntry | undefined, update: QuotaCacheEntry): QuotaCacheEntry;
|
|
50
56
|
/**
|
|
51
57
|
* Persist the quota cache to the on-disk JSON file used by the multi-auth runtime.
|
|
52
58
|
*
|
package/dist/lib/quota-cache.js
CHANGED
|
@@ -58,6 +58,9 @@ function normalizeEntry(value) {
|
|
|
58
58
|
return null;
|
|
59
59
|
}
|
|
60
60
|
return {
|
|
61
|
+
...(value.primingCompleted === true ? { primingCompleted: true } : {}),
|
|
62
|
+
...(typeof value.primingFailure === "string" && ["timed out", "stream ended early", "upstream failed", "response too large", "network error"].includes(value.primingFailure) ? { primingFailure: value.primingFailure } : {}),
|
|
63
|
+
...(normalizeNumber(value.primingObservedAt) !== undefined ? { primingObservedAt: normalizeNumber(value.primingObservedAt) } : {}),
|
|
61
64
|
updatedAt,
|
|
62
65
|
status,
|
|
63
66
|
model: model.trim(),
|
|
@@ -158,6 +161,32 @@ async function readQuotaCache() {
|
|
|
158
161
|
...(parsed.byWorkspace ? { byWorkspace: normalizeEntryMap(parsed.byWorkspace) } : {}),
|
|
159
162
|
};
|
|
160
163
|
}
|
|
164
|
+
/** Merge quota and priming evidence independently; subsequent quota retires old outcomes. */
|
|
165
|
+
export function mergeQuotaCacheEntry(latest, update) {
|
|
166
|
+
if (!latest)
|
|
167
|
+
return update;
|
|
168
|
+
const quota = update.updatedAt >= latest.updatedAt ? update : latest;
|
|
169
|
+
const outcomeTime = (entry) => entry.primingCompleted || entry.primingFailure
|
|
170
|
+
? entry.primingObservedAt ?? entry.updatedAt : -Infinity;
|
|
171
|
+
// A timeout does not undo a completion from an overlapping attempt.
|
|
172
|
+
// Only completions at/after the newest quota observation remain relevant.
|
|
173
|
+
const completion = [update, latest].filter(entry => entry.primingCompleted && outcomeTime(entry) >= quota.updatedAt)
|
|
174
|
+
.sort((a, b) => outcomeTime(b) - outcomeTime(a))[0];
|
|
175
|
+
const evidence = completion ?? (outcomeTime(update) >= outcomeTime(latest) ? update : latest);
|
|
176
|
+
const result = { ...quota };
|
|
177
|
+
delete result.primingCompleted;
|
|
178
|
+
delete result.primingFailure;
|
|
179
|
+
delete result.primingObservedAt;
|
|
180
|
+
if (outcomeTime(evidence) >= quota.updatedAt) {
|
|
181
|
+
if (evidence.primingCompleted)
|
|
182
|
+
result.primingCompleted = true;
|
|
183
|
+
else if (evidence.primingFailure)
|
|
184
|
+
result.primingFailure = evidence.primingFailure;
|
|
185
|
+
if (evidence.primingObservedAt !== undefined)
|
|
186
|
+
result.primingObservedAt = evidence.primingObservedAt;
|
|
187
|
+
}
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
161
190
|
/** Reapply this run's changed entries, preserving unrelated or newer concurrent observations. */
|
|
162
191
|
function mergeQuotaChanges(current, proposed, baseline) {
|
|
163
192
|
const same = (a, b) => JSON.stringify(a) === JSON.stringify(b);
|
|
@@ -168,24 +197,12 @@ function mergeQuotaChanges(current, proposed, baseline) {
|
|
|
168
197
|
continue;
|
|
169
198
|
const latest = current[namespace]?.[key], update = next[key];
|
|
170
199
|
if (update) {
|
|
171
|
-
if (
|
|
172
|
-
|
|
173
|
-
current[namespace][key] = update;
|
|
174
|
-
}
|
|
175
|
-
else if (same(latest, before[key])) {
|
|
176
|
-
// The on-disk entry is still exactly the one this caller's
|
|
177
|
-
// baseline saw, so nothing concurrent touched this key:
|
|
178
|
-
// `update` is a deliberate write whose lower stamp can only
|
|
179
|
-
// come from a backward clock jump on this writer. Re-stamp
|
|
180
|
-
// it just ahead instead of silently losing it. A raced key
|
|
181
|
-
// (`!same`) falls through and keeps the on-disk entry: its
|
|
182
|
-
// higher stamp marks a newer observation, and bumping an
|
|
183
|
-
// older one past it would let stale quota data overwrite
|
|
184
|
-
// fresher data.
|
|
200
|
+
if (latest && update.updatedAt < latest.updatedAt && same(latest, before[key])) {
|
|
201
|
+
// Preserve the existing backward-clock handling for an unraced write.
|
|
185
202
|
update.updatedAt = latest.updatedAt + 1;
|
|
186
|
-
current[namespace] ??= {};
|
|
187
|
-
current[namespace][key] = update;
|
|
188
203
|
}
|
|
204
|
+
current[namespace] ??= {};
|
|
205
|
+
current[namespace][key] = mergeQuotaCacheEntry(latest, update);
|
|
189
206
|
}
|
|
190
207
|
else if (same(latest, before[key])) {
|
|
191
208
|
delete current[namespace]?.[key];
|
|
@@ -26,7 +26,10 @@ export interface CodexQuotaWindow {
|
|
|
26
26
|
resetAtMs?: number;
|
|
27
27
|
}
|
|
28
28
|
export interface CodexQuotaSnapshot {
|
|
29
|
+
/** Time quota headers were observed, before consuming the response stream. */
|
|
30
|
+
observedAt?: number;
|
|
29
31
|
primingCompleted?: boolean;
|
|
32
|
+
primingObservedAt?: number;
|
|
30
33
|
primingFailure?: FirstUseProbeError["reason"];
|
|
31
34
|
status: number;
|
|
32
35
|
planType?: string;
|
package/dist/lib/quota-probe.js
CHANGED
|
@@ -382,15 +382,16 @@ export async function fetchCodexQuotaSnapshot(options) {
|
|
|
382
382
|
}
|
|
383
383
|
const snapshotBase = parseQuotaSnapshotBase(response.headers, response.status);
|
|
384
384
|
if (snapshotBase) {
|
|
385
|
-
|
|
385
|
+
const observedAt = Date.now();
|
|
386
|
+
if (options.primeUnusedSubscription && needsSubscriptionFirstUse(snapshotBase, observedAt)) {
|
|
386
387
|
try {
|
|
387
388
|
await finishSubscriptionFirstUse(response, timeoutMs);
|
|
388
|
-
return { ...snapshotBase, model, primingCompleted: true };
|
|
389
|
+
return { ...snapshotBase, observedAt, model, primingObservedAt: Date.now(), primingCompleted: true };
|
|
389
390
|
}
|
|
390
391
|
catch (error) {
|
|
391
392
|
// Keep valid quota data without retrying an accepted inference.
|
|
392
393
|
if (error instanceof FirstUseProbeError)
|
|
393
|
-
return { ...snapshotBase, model, primingFailure: error.reason };
|
|
394
|
+
return { ...snapshotBase, observedAt, model, primingObservedAt: Date.now(), primingFailure: error.reason };
|
|
394
395
|
throw error;
|
|
395
396
|
}
|
|
396
397
|
}
|
|
@@ -400,7 +401,7 @@ export async function fetchCodexQuotaSnapshot(options) {
|
|
|
400
401
|
catch {
|
|
401
402
|
// Best effort cancellation.
|
|
402
403
|
}
|
|
403
|
-
return { ...snapshotBase, model };
|
|
404
|
+
return { ...snapshotBase, observedAt, model };
|
|
404
405
|
}
|
|
405
406
|
if (!response.ok) {
|
|
406
407
|
const bodyText = await response.text().catch(() => "");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { QuotaCacheData, QuotaCacheEntry } from "./quota-cache.js";
|
|
2
2
|
import type { AccountMetadataV3 } from "./storage.js";
|
|
3
|
-
export type QuotaCacheAccountRef = Pick<AccountMetadataV3, "accountId" | "email" | "recordId" | "workspaces" | "currentWorkspaceIndex"> & Partial<Pick<AccountMetadataV3, "refreshToken" | "addedAt">>;
|
|
3
|
+
export type QuotaCacheAccountRef = Pick<AccountMetadataV3, "accountId" | "email" | "recordId" | "workspaces" | "currentWorkspaceIndex"> & Partial<Pick<AccountMetadataV3, "refreshToken" | "addedAt" | "accessToken">>;
|
|
4
4
|
export declare function normalizeQuotaAccountId(value: string | undefined): string | null;
|
|
5
5
|
export declare function normalizeQuotaEmail(value: string | undefined): string | null;
|
|
6
6
|
export declare function hasUniqueQuotaAccountId(accounts: readonly QuotaCacheAccountRef[], account: QuotaCacheAccountRef): boolean;
|
|
@@ -12,9 +12,9 @@ export declare function buildQuotaEmailFallbackState(accounts: readonly QuotaCac
|
|
|
12
12
|
export declare function hasSafeQuotaEmailFallback(emailFallbackState: ReadonlyMap<string, QuotaEmailFallbackState>, account: QuotaCacheAccountRef): boolean;
|
|
13
13
|
export declare function quotaLeftPercentFromUsed(usedPercent: number | undefined): number | undefined;
|
|
14
14
|
export declare function quotaUsedPercentIsExhausted(usedPercent: number | undefined): boolean;
|
|
15
|
-
export declare function isQuotaCacheEntryExhausted(entry: Pick<QuotaCacheEntry, "primary" | "secondary"> & {
|
|
15
|
+
export declare function isQuotaCacheEntryExhausted(entry: (Pick<QuotaCacheEntry, "primary" | "secondary"> & {
|
|
16
16
|
updatedAt?: number;
|
|
17
|
-
} | null | undefined, now?: number): boolean;
|
|
17
|
+
}) | null | undefined, now?: number): boolean;
|
|
18
18
|
/** Cache identity includes the credential record, so shared organization IDs cannot collide. */
|
|
19
19
|
export declare function quotaWorkspaceKey(account: QuotaCacheAccountRef, workspaceId: string): string | undefined;
|
|
20
20
|
/** Display the selected workspace; callers routing another scope must pass that exact workspace. */
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { extractAccountId } from "./auth/token-utils.js";
|
|
1
2
|
import { createHash } from "node:crypto";
|
|
2
3
|
import { resolveAccountRecordId } from "./storage/record-identity.js";
|
|
3
4
|
export function normalizeQuotaAccountId(value) {
|
|
@@ -101,7 +102,7 @@ export function quotaWorkspaceKey(account, workspaceId) {
|
|
|
101
102
|
export function quotaWorkspaceId(account) {
|
|
102
103
|
return account.workspaces?.length
|
|
103
104
|
? account.workspaces[account.currentWorkspaceIndex ?? 0]?.id.trim()
|
|
104
|
-
: account.accountId?.trim();
|
|
105
|
+
: account.accountId?.trim() || extractAccountId(account.accessToken);
|
|
105
106
|
}
|
|
106
107
|
/** Read exact-workspace quota, using legacy binding entries only for that binding. */
|
|
107
108
|
export function findQuotaCacheEntryForAccount(cache, account, accounts, emailFallbackState = buildQuotaEmailFallbackState(accounts), workspaceId = quotaWorkspaceId(account)) {
|
|
@@ -110,7 +111,10 @@ export function findQuotaCacheEntryForAccount(cache, account, accounts, emailFal
|
|
|
110
111
|
const key = workspaceId && quotaWorkspaceKey(account, workspaceId);
|
|
111
112
|
const scoped = key ? cache.byWorkspace?.[key] : undefined;
|
|
112
113
|
// Legacy entries describe only the stored binding, never a sibling workspace.
|
|
113
|
-
|
|
114
|
+
// A workspaces-bearing account whose selection does not resolve (invalid index
|
|
115
|
+
// or blank id) has no valid binding at all — never fall back to legacy keys.
|
|
116
|
+
if (normalizeQuotaAccountId(workspaceId) !== normalizeQuotaAccountId(account.accountId) ||
|
|
117
|
+
(account.workspaces?.length && !normalizeQuotaAccountId(workspaceId)))
|
|
114
118
|
return scoped ?? null;
|
|
115
119
|
const accountId = normalizeQuotaAccountId(account.accountId);
|
|
116
120
|
const newer = (legacy) => scoped && (!legacy || scoped.updatedAt >= legacy.updatedAt) ? scoped : legacy ?? null;
|
|
@@ -121,7 +121,9 @@ function getSharedProxyDispatcher(proxyUrl) {
|
|
|
121
121
|
if (existing) {
|
|
122
122
|
return existing;
|
|
123
123
|
}
|
|
124
|
-
|
|
124
|
+
// undici 8 enables H2 on TLS ALPN; keep HTTP/1.1 so upstream protocol
|
|
125
|
+
// behavior matches the 6.x line this pin replaces.
|
|
126
|
+
const dispatcher = new ProxyAgent({ uri: proxyUrl, allowH2: false });
|
|
125
127
|
sharedProxyDispatchers.set(proxyUrl, dispatcher);
|
|
126
128
|
return dispatcher;
|
|
127
129
|
}
|
|
@@ -46,17 +46,17 @@ export declare class AccountModelCatalog {
|
|
|
46
46
|
checkedAt: number;
|
|
47
47
|
models: string[];
|
|
48
48
|
entitlements: {
|
|
49
|
+
model: string;
|
|
50
|
+
checkedAt?: number | undefined;
|
|
51
|
+
probes?: {
|
|
52
|
+
[k: string]: "downgraded" | "unsupported" | "unverified" | "verified";
|
|
53
|
+
} | undefined;
|
|
49
54
|
serviceTiers: {
|
|
50
55
|
id: string;
|
|
51
56
|
name: string;
|
|
52
57
|
}[];
|
|
53
58
|
reasoningLevels: string[];
|
|
54
59
|
accessPrograms: string[];
|
|
55
|
-
probes?: {
|
|
56
|
-
[k: string]: "verified" | "unsupported" | "unverified" | "downgraded";
|
|
57
|
-
} | undefined;
|
|
58
|
-
checkedAt?: number | undefined;
|
|
59
|
-
model: string;
|
|
60
60
|
}[];
|
|
61
61
|
error: boolean;
|
|
62
62
|
};
|
|
@@ -6,7 +6,7 @@ export declare function isResetTargetEnabled(account: AccountMetadataV3, target:
|
|
|
6
6
|
export declare function createResetCreditService(manager?: AccountManager): ResetCreditService;
|
|
7
7
|
export declare function loadResetCreditState(): Promise<{
|
|
8
8
|
version: 1;
|
|
9
|
-
policy: "
|
|
9
|
+
policy: "last-resort" | "manual";
|
|
10
10
|
snapshots: Record<string, {
|
|
11
11
|
updatedAt: number;
|
|
12
12
|
availableCount: number | null;
|
|
@@ -32,7 +32,7 @@ export declare function loadResetCreditState(): Promise<{
|
|
|
32
32
|
lastRedemption?: {
|
|
33
33
|
key: string;
|
|
34
34
|
at: number;
|
|
35
|
-
outcome: "
|
|
35
|
+
outcome: "alreadyRedeemed" | "noCredit" | "nothingToReset" | "reset";
|
|
36
36
|
automatic: boolean;
|
|
37
37
|
} | undefined;
|
|
38
38
|
}>;
|
|
@@ -23,10 +23,10 @@ declare const schema: z.ZodObject<{
|
|
|
23
23
|
model: z.ZodString;
|
|
24
24
|
checkedAt: z.ZodOptional<z.ZodNumber>;
|
|
25
25
|
probes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
26
|
+
downgraded: "downgraded";
|
|
26
27
|
unsupported: "unsupported";
|
|
27
|
-
verified: "verified";
|
|
28
28
|
unverified: "unverified";
|
|
29
|
-
|
|
29
|
+
verified: "verified";
|
|
30
30
|
}>>>;
|
|
31
31
|
serviceTiers: z.ZodArray<z.ZodObject<{
|
|
32
32
|
id: z.ZodString;
|
|
@@ -38,8 +38,8 @@ declare const schema: z.ZodObject<{
|
|
|
38
38
|
}, z.core.$strip>>;
|
|
39
39
|
label: z.ZodString;
|
|
40
40
|
kind: z.ZodEnum<{
|
|
41
|
-
oauth: "oauth";
|
|
42
41
|
api: "api";
|
|
42
|
+
oauth: "oauth";
|
|
43
43
|
zdr: "zdr";
|
|
44
44
|
}>;
|
|
45
45
|
enabled: z.ZodBoolean;
|
|
@@ -51,10 +51,10 @@ declare const schema: z.ZodObject<{
|
|
|
51
51
|
model: z.ZodString;
|
|
52
52
|
checkedAt: z.ZodOptional<z.ZodNumber>;
|
|
53
53
|
probes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
|
|
54
|
+
downgraded: "downgraded";
|
|
54
55
|
unsupported: "unsupported";
|
|
55
|
-
verified: "verified";
|
|
56
56
|
unverified: "unverified";
|
|
57
|
-
|
|
57
|
+
verified: "verified";
|
|
58
58
|
}>>>;
|
|
59
59
|
serviceTiers: z.ZodArray<z.ZodObject<{
|
|
60
60
|
id: z.ZodString;
|
|
@@ -24,8 +24,8 @@ export type ResetSnapshot = z.infer<typeof snapshotSchema>;
|
|
|
24
24
|
declare const stateSchema: z.ZodObject<{
|
|
25
25
|
version: z.ZodLiteral<1>;
|
|
26
26
|
policy: z.ZodDefault<z.ZodEnum<{
|
|
27
|
-
manual: "manual";
|
|
28
27
|
"last-resort": "last-resort";
|
|
28
|
+
manual: "manual";
|
|
29
29
|
}>>;
|
|
30
30
|
snapshots: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
31
31
|
updatedAt: z.ZodNumber;
|
|
@@ -53,10 +53,10 @@ declare const stateSchema: z.ZodObject<{
|
|
|
53
53
|
key: z.ZodString;
|
|
54
54
|
at: z.ZodNumber;
|
|
55
55
|
outcome: z.ZodEnum<{
|
|
56
|
-
reset: "reset";
|
|
57
|
-
nothingToReset: "nothingToReset";
|
|
58
|
-
noCredit: "noCredit";
|
|
59
56
|
alreadyRedeemed: "alreadyRedeemed";
|
|
57
|
+
noCredit: "noCredit";
|
|
58
|
+
nothingToReset: "nothingToReset";
|
|
59
|
+
reset: "reset";
|
|
60
60
|
}>;
|
|
61
61
|
automatic: z.ZodBoolean;
|
|
62
62
|
}, z.core.$strip>>;
|
|
@@ -64,10 +64,10 @@ declare const stateSchema: z.ZodObject<{
|
|
|
64
64
|
type State = z.infer<typeof stateSchema>;
|
|
65
65
|
declare const outcomeSchema: z.ZodObject<{
|
|
66
66
|
outcome: z.ZodEnum<{
|
|
67
|
-
reset: "reset";
|
|
68
|
-
nothingToReset: "nothingToReset";
|
|
69
|
-
noCredit: "noCredit";
|
|
70
67
|
alreadyRedeemed: "alreadyRedeemed";
|
|
68
|
+
noCredit: "noCredit";
|
|
69
|
+
nothingToReset: "nothingToReset";
|
|
70
|
+
reset: "reset";
|
|
71
71
|
}>;
|
|
72
72
|
}, z.core.$strip>;
|
|
73
73
|
export type ResetOutcome = z.infer<typeof outcomeSchema>['outcome'];
|
|
@@ -104,7 +104,7 @@ function displayText(value) {
|
|
|
104
104
|
// Session titles and directory names are untrusted terminal output.
|
|
105
105
|
return String(value).replace(/[\x00-\x1f\x7f-\x9f]/g, " ").slice(0, 180);
|
|
106
106
|
}
|
|
107
|
-
export async function pickResumeThread(options, deps = { createCatalog: createResumeCatalog, select:
|
|
107
|
+
export async function pickResumeThread(options, deps = { createCatalog: createResumeCatalog, select: select }) {
|
|
108
108
|
const catalog = deps.createCatalog(options);
|
|
109
109
|
const pages = [];
|
|
110
110
|
let pageIndex = 0;
|
|
@@ -2,7 +2,7 @@ import { createUsageStreamScanner } from "../usage/usage-extraction.js";
|
|
|
2
2
|
import { isRecord } from "../utils.js";
|
|
3
3
|
/** Only personal included subscriptions may receive an automatic first-use probe. */
|
|
4
4
|
export function needsSubscriptionFirstUse(snapshot, now) {
|
|
5
|
-
if (snapshot.status !== 200 || !["plus", "pro", "prolite"].includes(snapshot.planType?.toLowerCase() ?? ""))
|
|
5
|
+
if (snapshot.status !== 200 || !["plus", "pro", "prolite", "promax"].includes(snapshot.planType?.toLowerCase() ?? ""))
|
|
6
6
|
return false;
|
|
7
7
|
const allWindows = [snapshot.primary, snapshot.secondary];
|
|
8
8
|
if (allWindows.some(window => typeof window.usedPercent === "number" && window.usedPercent !== 0))
|
|
@@ -2,13 +2,13 @@ import { type ManagedAccount } from "../accounts.js";
|
|
|
2
2
|
export declare function modelScopeId(...parts: string[]): string;
|
|
3
3
|
/** Request scopes are immutable views. Discovery must never switch a saved account. */
|
|
4
4
|
export declare function workspaceModelScopes(account: ManagedAccount): {
|
|
5
|
+
accountId: string;
|
|
6
|
+
workspaceIndex: number;
|
|
7
|
+
enabled: boolean;
|
|
5
8
|
id: string;
|
|
6
9
|
accountIndex: number;
|
|
7
10
|
routable: boolean;
|
|
8
11
|
bound: boolean;
|
|
9
12
|
selected: boolean;
|
|
10
13
|
label: string;
|
|
11
|
-
accountId: string;
|
|
12
|
-
workspaceIndex: number;
|
|
13
|
-
enabled: boolean;
|
|
14
14
|
}[];
|