codex-multi-auth 2.3.2 → 2.3.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 +10 -10
- package/README.md +421 -420
- package/dist/lib/accounts.d.ts +14 -0
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +59 -4
- package/dist/lib/constants.d.ts +7 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +7 -0
- package/dist/lib/forecast.d.ts.map +1 -1
- package/dist/lib/forecast.js +15 -6
- package/dist/lib/local-client-tokens.d.ts.map +1 -1
- package/dist/lib/local-client-tokens.js +11 -4
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +5 -0
- package/dist/lib/preemptive-quota-scheduler.d.ts.map +1 -1
- package/dist/lib/preemptive-quota-scheduler.js +29 -3
- package/dist/lib/refresh-lease.d.ts +1 -0
- package/dist/lib/refresh-lease.d.ts.map +1 -1
- package/dist/lib/refresh-lease.js +35 -4
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +3 -2
- package/dist/lib/request/rate-limit-decision.d.ts.map +1 -1
- package/dist/lib/request/rate-limit-decision.js +7 -2
- package/dist/lib/request/response-handler.d.ts.map +1 -1
- package/dist/lib/request/response-handler.js +63 -11
- package/dist/lib/schemas.js +2 -2
- package/dist/lib/storage.d.ts.map +1 -1
- package/dist/lib/storage.js +6 -1
- package/node_modules/@codex-ai/plugin/dist/index.d.ts +2 -2
- package/node_modules/@codex-ai/plugin/dist/index.js +2 -2
- package/node_modules/@codex-ai/plugin/dist/tool.d.ts +42 -42
- package/node_modules/@codex-ai/plugin/dist/tool.js +29 -29
- package/node_modules/@codex-ai/plugin/package.json +9 -9
- package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -4
- package/node_modules/@codex-ai/sdk/dist/index.js +2 -2
- package/node_modules/@codex-ai/sdk/package.json +8 -8
- package/package.json +196 -196
- package/vendor/codex-ai-plugin/dist/index.d.ts +2 -2
- package/vendor/codex-ai-plugin/dist/index.js +2 -2
- package/vendor/codex-ai-plugin/dist/tool.d.ts +42 -42
- package/vendor/codex-ai-plugin/dist/tool.js +29 -29
- package/vendor/codex-ai-plugin/package.json +9 -9
- package/vendor/codex-ai-sdk/dist/index.d.ts +4 -4
- package/vendor/codex-ai-sdk/dist/index.js +2 -2
- package/vendor/codex-ai-sdk/package.json +8 -8
- package/dist/index.js.map +0 -1
- package/dist/lib/account-policy.js.map +0 -1
- package/dist/lib/accounts/rate-limits.js.map +0 -1
- package/dist/lib/accounts.js.map +0 -1
- package/dist/lib/audit.js.map +0 -1
- package/dist/lib/auth/auth.js.map +0 -1
- package/dist/lib/auth/browser.js.map +0 -1
- package/dist/lib/auth/device-auth.js.map +0 -1
- package/dist/lib/auth/index.js.map +0 -1
- package/dist/lib/auth/org-override.js.map +0 -1
- package/dist/lib/auth/server.js.map +0 -1
- package/dist/lib/auth/token-utils.js.map +0 -1
- package/dist/lib/auth-rate-limit.js.map +0 -1
- package/dist/lib/budget-guard.js.map +0 -1
- package/dist/lib/capability-policy.js.map +0 -1
- package/dist/lib/circuit-breaker.js.map +0 -1
- package/dist/lib/cli.js.map +0 -1
- package/dist/lib/codex-cli/index.js.map +0 -1
- package/dist/lib/codex-cli/observability.js.map +0 -1
- package/dist/lib/codex-cli/state.js.map +0 -1
- package/dist/lib/codex-cli/sync.js.map +0 -1
- package/dist/lib/codex-cli/writer.js.map +0 -1
- package/dist/lib/codex-manager/account-manager-commands.js.map +0 -1
- package/dist/lib/codex-manager/account-pool-write.js.map +0 -1
- package/dist/lib/codex-manager/backend-category-entry.js.map +0 -1
- package/dist/lib/codex-manager/backend-category-helpers.js.map +0 -1
- package/dist/lib/codex-manager/backend-category-prompt.js.map +0 -1
- package/dist/lib/codex-manager/backend-settings-controller.js.map +0 -1
- package/dist/lib/codex-manager/backend-settings-entry.js.map +0 -1
- package/dist/lib/codex-manager/backend-settings-helpers.js.map +0 -1
- package/dist/lib/codex-manager/backend-settings-prompt.js.map +0 -1
- package/dist/lib/codex-manager/backend-settings-schema.js.map +0 -1
- package/dist/lib/codex-manager/behavior-settings-panel.js.map +0 -1
- package/dist/lib/codex-manager/commands/account.js.map +0 -1
- package/dist/lib/codex-manager/commands/best.js.map +0 -1
- package/dist/lib/codex-manager/commands/bridge.js.map +0 -1
- package/dist/lib/codex-manager/commands/budget.js.map +0 -1
- package/dist/lib/codex-manager/commands/check.js.map +0 -1
- package/dist/lib/codex-manager/commands/config-explain.js.map +0 -1
- package/dist/lib/codex-manager/commands/debug-bundle.js.map +0 -1
- package/dist/lib/codex-manager/commands/forecast.js.map +0 -1
- package/dist/lib/codex-manager/commands/init-config.js.map +0 -1
- package/dist/lib/codex-manager/commands/integrations.js.map +0 -1
- package/dist/lib/codex-manager/commands/models.js.map +0 -1
- package/dist/lib/codex-manager/commands/monitor.js.map +0 -1
- package/dist/lib/codex-manager/commands/report.js.map +0 -1
- package/dist/lib/codex-manager/commands/rotation.js.map +0 -1
- package/dist/lib/codex-manager/commands/status.js.map +0 -1
- package/dist/lib/codex-manager/commands/switch.js.map +0 -1
- package/dist/lib/codex-manager/commands/uninstall.js.map +0 -1
- package/dist/lib/codex-manager/commands/unpin.js.map +0 -1
- package/dist/lib/codex-manager/commands/usage.js.map +0 -1
- package/dist/lib/codex-manager/commands/verify.js.map +0 -1
- package/dist/lib/codex-manager/commands/why-selected.js.map +0 -1
- package/dist/lib/codex-manager/commands/workspace.js.map +0 -1
- package/dist/lib/codex-manager/dashboard-display-panel.js.map +0 -1
- package/dist/lib/codex-manager/dashboard-formatters.js.map +0 -1
- package/dist/lib/codex-manager/dashboard-settings-controller.js.map +0 -1
- package/dist/lib/codex-manager/dashboard-settings-data.js.map +0 -1
- package/dist/lib/codex-manager/dashboard-settings-entry.js.map +0 -1
- package/dist/lib/codex-manager/experimental-settings-entry.js.map +0 -1
- package/dist/lib/codex-manager/experimental-settings-prompt.js.map +0 -1
- package/dist/lib/codex-manager/experimental-settings-schema.js.map +0 -1
- package/dist/lib/codex-manager/experimental-sync-target-entry.js.map +0 -1
- package/dist/lib/codex-manager/experimental-sync-target.js.map +0 -1
- package/dist/lib/codex-manager/forecast-report-commands.d.ts +0 -54
- package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +0 -1
- package/dist/lib/codex-manager/forecast-report-commands.js +0 -443
- package/dist/lib/codex-manager/forecast-report-commands.js.map +0 -1
- package/dist/lib/codex-manager/forecast-report-shared.js.map +0 -1
- package/dist/lib/codex-manager/help.js.map +0 -1
- package/dist/lib/codex-manager/manual-callback.js.map +0 -1
- package/dist/lib/codex-manager/rate-limit-markers.js.map +0 -1
- package/dist/lib/codex-manager/repair-commands.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub/backend.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub/dashboard.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub/experimental.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub/index.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub/shared.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub-entry.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub-menu.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub-prompt.js.map +0 -1
- package/dist/lib/codex-manager/settings-hub.js.map +0 -1
- package/dist/lib/codex-manager/settings-panels.js.map +0 -1
- package/dist/lib/codex-manager/settings-persist-utils.js.map +0 -1
- package/dist/lib/codex-manager/settings-preview.js.map +0 -1
- package/dist/lib/codex-manager/settings-write-queue.js.map +0 -1
- package/dist/lib/codex-manager/statusline-order.d.ts +0 -3
- package/dist/lib/codex-manager/statusline-order.d.ts.map +0 -1
- package/dist/lib/codex-manager/statusline-order.js +0 -16
- package/dist/lib/codex-manager/statusline-order.js.map +0 -1
- package/dist/lib/codex-manager/statusline-settings-panel.js.map +0 -1
- package/dist/lib/codex-manager/theme-settings-panel.js.map +0 -1
- package/dist/lib/codex-manager/unified-settings-controller.js.map +0 -1
- package/dist/lib/codex-manager/unified-settings-entry.js.map +0 -1
- package/dist/lib/codex-manager.js.map +0 -1
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/context-overflow.js.map +0 -1
- package/dist/lib/dashboard-settings.js.map +0 -1
- package/dist/lib/entitlement-cache.js.map +0 -1
- package/dist/lib/env-parsing.js.map +0 -1
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/forecast.js.map +0 -1
- package/dist/lib/fs-retry.js.map +0 -1
- package/dist/lib/health.js.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/integration-generators.js.map +0 -1
- package/dist/lib/live-account-sync.js.map +0 -1
- package/dist/lib/local-bridge.js.map +0 -1
- package/dist/lib/local-client-tokens.js.map +0 -1
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/model-capability-matrix.js.map +0 -1
- package/dist/lib/named-backup-export.js.map +0 -1
- package/dist/lib/oc-chatgpt-import-adapter.js.map +0 -1
- package/dist/lib/oc-chatgpt-orchestrator.js.map +0 -1
- package/dist/lib/oc-chatgpt-target-detection.js.map +0 -1
- package/dist/lib/parallel-probe.js.map +0 -1
- package/dist/lib/policy/runtime-policy.js.map +0 -1
- package/dist/lib/preemptive-quota-scheduler.js.map +0 -1
- package/dist/lib/proactive-refresh.js.map +0 -1
- package/dist/lib/prompts/codex-host-bridge.js.map +0 -1
- package/dist/lib/prompts/codex.js.map +0 -1
- package/dist/lib/prompts/fetch-utils.js.map +0 -1
- package/dist/lib/prompts/host-codex-prompt.js.map +0 -1
- package/dist/lib/quota-cache.js.map +0 -1
- package/dist/lib/quota-probe.js.map +0 -1
- package/dist/lib/quota-readiness.js.map +0 -1
- package/dist/lib/recovery/constants.js.map +0 -1
- package/dist/lib/recovery/index.d.ts +0 -12
- package/dist/lib/recovery/index.d.ts.map +0 -1
- package/dist/lib/recovery/index.js +0 -11
- package/dist/lib/recovery/index.js.map +0 -1
- package/dist/lib/recovery/storage.js.map +0 -1
- package/dist/lib/recovery/types.js.map +0 -1
- package/dist/lib/recovery.js.map +0 -1
- package/dist/lib/refresh-guardian.js.map +0 -1
- package/dist/lib/refresh-lease.js.map +0 -1
- package/dist/lib/refresh-queue.js.map +0 -1
- package/dist/lib/request/failover-config.js.map +0 -1
- package/dist/lib/request/failure-policy.js.map +0 -1
- package/dist/lib/request/fetch-helpers.js.map +0 -1
- package/dist/lib/request/helpers/input-utils.js.map +0 -1
- package/dist/lib/request/helpers/model-map.js.map +0 -1
- package/dist/lib/request/helpers/tool-utils.js.map +0 -1
- package/dist/lib/request/index.js.map +0 -1
- package/dist/lib/request/rate-limit-backoff.js.map +0 -1
- package/dist/lib/request/request-attempt-budget.js.map +0 -1
- package/dist/lib/request/request-init.js.map +0 -1
- package/dist/lib/request/request-resilience.js.map +0 -1
- package/dist/lib/request/request-transformer.js.map +0 -1
- package/dist/lib/request/response-compaction.js.map +0 -1
- package/dist/lib/request/response-handler.js.map +0 -1
- package/dist/lib/request/response-metadata.js.map +0 -1
- package/dist/lib/request/stream-failover.js.map +0 -1
- package/dist/lib/request/wait-utils.js.map +0 -1
- package/dist/lib/rotation.js.map +0 -1
- package/dist/lib/routing-mutex.js.map +0 -1
- package/dist/lib/routing-profiles.js.map +0 -1
- package/dist/lib/runtime/account-check-helpers.js.map +0 -1
- package/dist/lib/runtime/account-check-types.js.map +0 -1
- package/dist/lib/runtime/account-check.js.map +0 -1
- package/dist/lib/runtime/account-health-check.d.ts +0 -8
- package/dist/lib/runtime/account-health-check.d.ts.map +0 -1
- package/dist/lib/runtime/account-health-check.js +0 -29
- package/dist/lib/runtime/account-health-check.js.map +0 -1
- package/dist/lib/runtime/account-manager-cache-entry.js.map +0 -1
- package/dist/lib/runtime/account-manager-cache.js.map +0 -1
- package/dist/lib/runtime/account-pool.js.map +0 -1
- package/dist/lib/runtime/account-scope.js.map +0 -1
- package/dist/lib/runtime/account-select-event.js.map +0 -1
- package/dist/lib/runtime/account-selection.js.map +0 -1
- package/dist/lib/runtime/account-state.js.map +0 -1
- package/dist/lib/runtime/account-status.js.map +0 -1
- package/dist/lib/runtime/account-storage-scope-entry.js.map +0 -1
- package/dist/lib/runtime/app-bind.js.map +0 -1
- package/dist/lib/runtime/auth-facade.js.map +0 -1
- package/dist/lib/runtime/browser-oauth-flow.js.map +0 -1
- package/dist/lib/runtime/capability-boost.js.map +0 -1
- package/dist/lib/runtime/config-toml.js.map +0 -1
- package/dist/lib/runtime/event-handler.js.map +0 -1
- package/dist/lib/runtime/flagged-verify-types.js.map +0 -1
- package/dist/lib/runtime/hydrate-emails.js.map +0 -1
- package/dist/lib/runtime/live-sync-entry.js.map +0 -1
- package/dist/lib/runtime/live-sync.js.map +0 -1
- package/dist/lib/runtime/loader-setup.js.map +0 -1
- package/dist/lib/runtime/login-menu-accounts.js.map +0 -1
- package/dist/lib/runtime/manual-oauth-flow.js.map +0 -1
- package/dist/lib/runtime/oauth-browser-flow.d.ts +0 -9
- package/dist/lib/runtime/oauth-browser-flow.d.ts.map +0 -1
- package/dist/lib/runtime/oauth-browser-flow.js +0 -33
- package/dist/lib/runtime/oauth-browser-flow.js.map +0 -1
- package/dist/lib/runtime/preemptive-quota.js.map +0 -1
- package/dist/lib/runtime/quota-headers.js.map +0 -1
- package/dist/lib/runtime/quota-probe.js.map +0 -1
- package/dist/lib/runtime/quota-settings.js.map +0 -1
- package/dist/lib/runtime/refresh-guardian-entry.js.map +0 -1
- package/dist/lib/runtime/refresh-guardian.js.map +0 -1
- package/dist/lib/runtime/request-init.js.map +0 -1
- package/dist/lib/runtime/runtime-current-account.js.map +0 -1
- package/dist/lib/runtime/runtime-observability.js.map +0 -1
- package/dist/lib/runtime/runtime-services.js.map +0 -1
- package/dist/lib/runtime/session-affinity-entry.js.map +0 -1
- package/dist/lib/runtime/session-affinity.d.ts +0 -13
- package/dist/lib/runtime/session-affinity.d.ts.map +0 -1
- package/dist/lib/runtime/session-affinity.js +0 -16
- package/dist/lib/runtime/session-affinity.js.map +0 -1
- package/dist/lib/runtime/session-recovery.js.map +0 -1
- package/dist/lib/runtime/status-marker.js.map +0 -1
- package/dist/lib/runtime/storage-scope.js.map +0 -1
- package/dist/lib/runtime/toast.js.map +0 -1
- package/dist/lib/runtime/ui-runtime-entry.js.map +0 -1
- package/dist/lib/runtime/ui-runtime.js.map +0 -1
- package/dist/lib/runtime/verify-flagged.js.map +0 -1
- package/dist/lib/runtime-constants.js.map +0 -1
- package/dist/lib/runtime-paths.js.map +0 -1
- package/dist/lib/runtime-rotation-proxy.js.map +0 -1
- package/dist/lib/schemas.js.map +0 -1
- package/dist/lib/session-affinity.js.map +0 -1
- package/dist/lib/shutdown.js.map +0 -1
- package/dist/lib/storage/account-clear-entry.js.map +0 -1
- package/dist/lib/storage/account-clear.js.map +0 -1
- package/dist/lib/storage/account-match-utils.js.map +0 -1
- package/dist/lib/storage/account-persistence.js.map +0 -1
- package/dist/lib/storage/account-port.js.map +0 -1
- package/dist/lib/storage/account-save-entry.js.map +0 -1
- package/dist/lib/storage/account-save.js.map +0 -1
- package/dist/lib/storage/account-snapshot.js.map +0 -1
- package/dist/lib/storage/backup-metadata-builder.js.map +0 -1
- package/dist/lib/storage/backup-metadata.js.map +0 -1
- package/dist/lib/storage/backup-paths.js.map +0 -1
- package/dist/lib/storage/backup-restore.js.map +0 -1
- package/dist/lib/storage/cache-artifacts.js.map +0 -1
- package/dist/lib/storage/error-hints.js.map +0 -1
- package/dist/lib/storage/file-paths.js.map +0 -1
- package/dist/lib/storage/fixture-guards.js.map +0 -1
- package/dist/lib/storage/flagged-entry.js.map +0 -1
- package/dist/lib/storage/flagged-load-entry.js.map +0 -1
- package/dist/lib/storage/flagged-save-entry.js.map +0 -1
- package/dist/lib/storage/flagged-storage-file.js.map +0 -1
- package/dist/lib/storage/flagged-storage-io.js.map +0 -1
- package/dist/lib/storage/flagged-storage.js.map +0 -1
- package/dist/lib/storage/gitignore.js.map +0 -1
- package/dist/lib/storage/hash.js.map +0 -1
- package/dist/lib/storage/health.js.map +0 -1
- package/dist/lib/storage/identity.js.map +0 -1
- package/dist/lib/storage/import-export.js.map +0 -1
- package/dist/lib/storage/metadata-section.js.map +0 -1
- package/dist/lib/storage/migrations.js.map +0 -1
- package/dist/lib/storage/named-backup-entry.js.map +0 -1
- package/dist/lib/storage/named-backups-entry.js.map +0 -1
- package/dist/lib/storage/named-backups.js.map +0 -1
- package/dist/lib/storage/path-state.js.map +0 -1
- package/dist/lib/storage/paths.js.map +0 -1
- package/dist/lib/storage/project-migration.js.map +0 -1
- package/dist/lib/storage/record-utils.js.map +0 -1
- package/dist/lib/storage/restore-assessment.js.map +0 -1
- package/dist/lib/storage/restore-backup-entry.js.map +0 -1
- package/dist/lib/storage/restore-metadata.js.map +0 -1
- package/dist/lib/storage/restore.d.ts +0 -14
- package/dist/lib/storage/restore.d.ts.map +0 -1
- package/dist/lib/storage/restore.js +0 -52
- package/dist/lib/storage/restore.js.map +0 -1
- package/dist/lib/storage/snapshot-inspectors.js.map +0 -1
- package/dist/lib/storage/storage-parser.js.map +0 -1
- package/dist/lib/storage/transactions.js.map +0 -1
- package/dist/lib/storage.js.map +0 -1
- package/dist/lib/table-formatter.js.map +0 -1
- package/dist/lib/tools/hashline-tools.js.map +0 -1
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/ui/ansi.js.map +0 -1
- package/dist/lib/ui/auth-menu.js.map +0 -1
- package/dist/lib/ui/confirm.js.map +0 -1
- package/dist/lib/ui/copy.d.ts +0 -159
- package/dist/lib/ui/copy.d.ts.map +0 -1
- package/dist/lib/ui/copy.js +0 -164
- package/dist/lib/ui/copy.js.map +0 -1
- package/dist/lib/ui/display-width.js.map +0 -1
- package/dist/lib/ui/format.js.map +0 -1
- package/dist/lib/ui/runtime.js.map +0 -1
- package/dist/lib/ui/select.js.map +0 -1
- package/dist/lib/ui/theme.js.map +0 -1
- package/dist/lib/unified-settings.js.map +0 -1
- package/dist/lib/update-notice.js.map +0 -1
- package/dist/lib/usage/index.js.map +0 -1
- package/dist/lib/usage/ledger.js.map +0 -1
- package/dist/lib/usage/pricing.js.map +0 -1
- package/dist/lib/usage/redaction.js.map +0 -1
- package/dist/lib/usage/types.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger, logRequest, LOGGING_ENABLED } from "../logger.js";
|
|
2
|
-
import { PLUGIN_NAME } from "../constants.js";
|
|
2
|
+
import { HTTP_STATUS, PLUGIN_NAME } from "../constants.js";
|
|
3
3
|
import { isRecord } from "../utils.js";
|
|
4
4
|
const log = createLogger("response-handler");
|
|
5
5
|
const MAX_SSE_SIZE = 10 * 1024 * 1024; // 10MB limit to prevent memory exhaustion
|
|
@@ -456,7 +456,23 @@ function maybeCaptureResponseEvent(state, data, onResponseId) {
|
|
|
456
456
|
state.encounteredError = true;
|
|
457
457
|
return;
|
|
458
458
|
}
|
|
459
|
-
|
|
459
|
+
// response.failed is a genuine terminal failure: the turn did not produce a
|
|
460
|
+
// usable result even though HTTP opened 200. Treat it as an error so the
|
|
461
|
+
// stream is not misclassified as a successful response and misattributed as
|
|
462
|
+
// an account success (stress audit H7).
|
|
463
|
+
if (data.type === "response.failed") {
|
|
464
|
+
log.warn("SSE terminal failure event received", { type: data.type });
|
|
465
|
+
state.encounteredError = true;
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
468
|
+
// response.completed / response.done / response.incomplete are all terminal
|
|
469
|
+
// envelopes that carry a final response object. response.incomplete (e.g.
|
|
470
|
+
// hitting max_output_tokens or a content filter) is a NORMAL early stop whose
|
|
471
|
+
// partial output is the answer — it must be delivered to the client and
|
|
472
|
+
// counts as a healthy account, not a failure (re-audit correction to H7).
|
|
473
|
+
if (data.type === "response.done" ||
|
|
474
|
+
data.type === "response.completed" ||
|
|
475
|
+
data.type === "response.incomplete") {
|
|
460
476
|
if (isRecord(data.response)) {
|
|
461
477
|
state.finalResponse = { ...data.response };
|
|
462
478
|
}
|
|
@@ -518,15 +534,19 @@ function parseSseStream(sseText, onResponseId) {
|
|
|
518
534
|
let firstMalformedSample = null;
|
|
519
535
|
for (const line of lines) {
|
|
520
536
|
const trimmedLine = line.trim();
|
|
521
|
-
|
|
522
|
-
|
|
537
|
+
// Accept "data:" with or without the optional trailing space. The SSE
|
|
538
|
+
// spec allows "data:value"; requiring the space silently dropped every
|
|
539
|
+
// event on an upstream/proxy formatting change (stress audit M1).
|
|
540
|
+
if (trimmedLine.startsWith("data:")) {
|
|
541
|
+
const payload = trimmedLine.substring(5).trim();
|
|
523
542
|
if (!payload || payload === "[DONE]")
|
|
524
543
|
continue;
|
|
525
544
|
try {
|
|
526
545
|
const data = JSON.parse(payload);
|
|
527
546
|
maybeCaptureResponseEvent(state, data, onResponseId);
|
|
528
|
-
if (state.encounteredError)
|
|
529
|
-
return null;
|
|
547
|
+
if (state.encounteredError) {
|
|
548
|
+
return { finalResponse: null, encounteredError: true };
|
|
549
|
+
}
|
|
530
550
|
}
|
|
531
551
|
catch (error) {
|
|
532
552
|
// AUDIT-H9 / H-03: previously these malformed chunks were
|
|
@@ -553,7 +573,10 @@ function parseSseStream(sseText, onResponseId) {
|
|
|
553
573
|
firstSample: firstMalformedSample,
|
|
554
574
|
});
|
|
555
575
|
}
|
|
556
|
-
return
|
|
576
|
+
return {
|
|
577
|
+
finalResponse: finalizeParsedResponse(state),
|
|
578
|
+
encounteredError: state.encounteredError,
|
|
579
|
+
};
|
|
557
580
|
}
|
|
558
581
|
/**
|
|
559
582
|
* Convert SSE stream response to JSON for generateText()
|
|
@@ -597,13 +620,42 @@ export async function convertSseToJson(response, headers, options) {
|
|
|
597
620
|
logRequest("stream-full", { fullContent: fullText });
|
|
598
621
|
}
|
|
599
622
|
// Parse SSE events to extract the final response
|
|
600
|
-
const finalResponse = parseSseStream(fullText, options?.onResponseId);
|
|
623
|
+
const { finalResponse, encounteredError } = parseSseStream(fullText, options?.onResponseId);
|
|
624
|
+
// A terminal failure event (mid-stream `error`, `response.failed`, or
|
|
625
|
+
// `response.incomplete`) means the upstream turn failed even though HTTP
|
|
626
|
+
// opened 200. Returning the raw SSE at 200 here makes the proxy record an
|
|
627
|
+
// account success and skip rotation/retry (stress audit H6+H7). Synthesize
|
|
628
|
+
// a non-2xx so the caller routes to failure. (A stream that simply yields
|
|
629
|
+
// no final response WITHOUT an error — empty/truncated — is left as the
|
|
630
|
+
// original passthrough below so the empty-response retry path still runs.)
|
|
631
|
+
if (encounteredError) {
|
|
632
|
+
log.warn("SSE stream ended with a terminal failure event");
|
|
633
|
+
logRequest("stream-error", {
|
|
634
|
+
error: "SSE stream terminated with an error/failed/incomplete event",
|
|
635
|
+
});
|
|
636
|
+
const upstreamFailed = typeof response.status === "number" && response.status >= 400;
|
|
637
|
+
const status = upstreamFailed ? response.status : HTTP_STATUS.BAD_GATEWAY;
|
|
638
|
+
const errorHeaders = new Headers(headers);
|
|
639
|
+
errorHeaders.set("content-type", "application/json; charset=utf-8");
|
|
640
|
+
return new Response(JSON.stringify({
|
|
641
|
+
error: {
|
|
642
|
+
message: "Upstream SSE stream terminated with a failure event",
|
|
643
|
+
type: "upstream_stream_error",
|
|
644
|
+
code: "sse_terminal_error",
|
|
645
|
+
},
|
|
646
|
+
}), {
|
|
647
|
+
status,
|
|
648
|
+
statusText: upstreamFailed ? response.statusText : "Bad Gateway",
|
|
649
|
+
headers: errorHeaders,
|
|
650
|
+
});
|
|
651
|
+
}
|
|
601
652
|
if (!finalResponse) {
|
|
602
653
|
log.warn("Could not find final response in SSE stream");
|
|
603
654
|
logRequest("stream-error", {
|
|
604
655
|
error: "No terminal response event found in SSE stream",
|
|
605
656
|
});
|
|
606
|
-
// Return original stream if we can't parse
|
|
657
|
+
// Return original stream if we can't parse (no error event, just no
|
|
658
|
+
// terminal response). Preserves the empty-response retry path.
|
|
607
659
|
return new Response(fullText, {
|
|
608
660
|
status: response.status,
|
|
609
661
|
statusText: response.statusText,
|
|
@@ -650,9 +702,9 @@ function createResponseIdCapturingStream(body, onResponseId) {
|
|
|
650
702
|
}
|
|
651
703
|
for (const rawLine of lines) {
|
|
652
704
|
const trimmedLine = rawLine.trim();
|
|
653
|
-
if (!trimmedLine.startsWith("data:
|
|
705
|
+
if (!trimmedLine.startsWith("data:"))
|
|
654
706
|
continue;
|
|
655
|
-
const payload = trimmedLine.slice(
|
|
707
|
+
const payload = trimmedLine.slice(5).trim();
|
|
656
708
|
if (!payload || payload === "[DONE]")
|
|
657
709
|
continue;
|
|
658
710
|
try {
|
package/dist/lib/schemas.js
CHANGED
|
@@ -274,7 +274,7 @@ export const TokenSuccessSchema = z.object({
|
|
|
274
274
|
type: z.literal("success"),
|
|
275
275
|
access: z.string().min(1),
|
|
276
276
|
refresh: z.string().min(1),
|
|
277
|
-
expires: z.number(),
|
|
277
|
+
expires: z.number().int().positive(),
|
|
278
278
|
idToken: z.string().optional(),
|
|
279
279
|
multiAccount: z.boolean().optional(),
|
|
280
280
|
});
|
|
@@ -303,7 +303,7 @@ export const TokenResultSchema = z.discriminatedUnion("type", [
|
|
|
303
303
|
export const OAuthTokenResponseSchema = z.object({
|
|
304
304
|
access_token: z.string().min(1),
|
|
305
305
|
refresh_token: z.string().optional(),
|
|
306
|
-
expires_in: z.number(),
|
|
306
|
+
expires_in: z.number().int().positive(),
|
|
307
307
|
id_token: z.string().optional(),
|
|
308
308
|
token_type: z.string().optional(),
|
|
309
309
|
scope: z.string().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../lib/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/storage.js
CHANGED
|
@@ -814,7 +814,12 @@ export function normalizeAccountStorage(data) {
|
|
|
814
814
|
const baseStorage = fromVersion === 1
|
|
815
815
|
? migrateV1ToV3(data)
|
|
816
816
|
: data;
|
|
817
|
-
|
|
817
|
+
// Build from baseStorage.accounts (the migrated V3 shape), NOT the raw V1
|
|
818
|
+
// objects. Otherwise a V1->V3 upgrade discards migrateV1ToV3's per-account
|
|
819
|
+
// transforms — most importantly the scalar `rateLimitResetTime` -> map
|
|
820
|
+
// `rateLimitResetTimes` conversion — so a rate-limited V1 account would be
|
|
821
|
+
// treated as immediately available on upgrade and burst 429s (stress audit M3).
|
|
822
|
+
const validAccounts = baseStorage.accounts.filter((account) => isRecord(account) &&
|
|
818
823
|
typeof account.refreshToken === "string" &&
|
|
819
824
|
!!account.refreshToken.trim());
|
|
820
825
|
const deduplicatedAccounts = deduplicateAccounts(validAccounts);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type PluginInput = any;
|
|
2
|
-
export type Plugin = any;
|
|
1
|
+
export type PluginInput = any;
|
|
2
|
+
export type Plugin = any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
|
|
1
|
+
export {};
|
|
2
|
+
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
export interface ToolContext {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
directory: string;
|
|
4
|
-
worktree: string;
|
|
5
|
-
ask: (request: any) => Promise<any> | any;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface ToolDefinition<TArgs = any, TResult = any> {
|
|
9
|
-
description?: string;
|
|
10
|
-
args?: Record<string, any>;
|
|
11
|
-
parameters?: unknown;
|
|
12
|
-
execute: (args: TArgs, context: ToolContext) => Promise<TResult> | TResult;
|
|
13
|
-
[key: string]: any;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface SchemaNode {
|
|
17
|
-
optional: () => SchemaNode;
|
|
18
|
-
describe: (_text: string) => SchemaNode;
|
|
19
|
-
min: (_value: number) => SchemaNode;
|
|
20
|
-
max: (_value: number) => SchemaNode;
|
|
21
|
-
default: (_value: unknown) => SchemaNode;
|
|
22
|
-
int: () => SchemaNode;
|
|
23
|
-
array: (_node?: unknown) => SchemaNode;
|
|
24
|
-
[key: string]: any;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface ToolFactory {
|
|
28
|
-
<TArgs = any, TResult = any>(definition: ToolDefinition<TArgs, TResult>): ToolDefinition<TArgs, TResult>;
|
|
29
|
-
schema: {
|
|
30
|
-
string: () => SchemaNode;
|
|
31
|
-
number: () => SchemaNode;
|
|
32
|
-
boolean: () => SchemaNode;
|
|
33
|
-
object: (shape: Record<string, unknown>) => SchemaNode;
|
|
34
|
-
enum: (values: readonly unknown[]) => SchemaNode;
|
|
35
|
-
literal: (value: unknown) => SchemaNode;
|
|
36
|
-
array: (node: unknown) => SchemaNode;
|
|
37
|
-
any: () => SchemaNode;
|
|
38
|
-
unknown: () => SchemaNode;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export declare const tool: ToolFactory;
|
|
1
|
+
export interface ToolContext {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
directory: string;
|
|
4
|
+
worktree: string;
|
|
5
|
+
ask: (request: any) => Promise<any> | any;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface ToolDefinition<TArgs = any, TResult = any> {
|
|
9
|
+
description?: string;
|
|
10
|
+
args?: Record<string, any>;
|
|
11
|
+
parameters?: unknown;
|
|
12
|
+
execute: (args: TArgs, context: ToolContext) => Promise<TResult> | TResult;
|
|
13
|
+
[key: string]: any;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SchemaNode {
|
|
17
|
+
optional: () => SchemaNode;
|
|
18
|
+
describe: (_text: string) => SchemaNode;
|
|
19
|
+
min: (_value: number) => SchemaNode;
|
|
20
|
+
max: (_value: number) => SchemaNode;
|
|
21
|
+
default: (_value: unknown) => SchemaNode;
|
|
22
|
+
int: () => SchemaNode;
|
|
23
|
+
array: (_node?: unknown) => SchemaNode;
|
|
24
|
+
[key: string]: any;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface ToolFactory {
|
|
28
|
+
<TArgs = any, TResult = any>(definition: ToolDefinition<TArgs, TResult>): ToolDefinition<TArgs, TResult>;
|
|
29
|
+
schema: {
|
|
30
|
+
string: () => SchemaNode;
|
|
31
|
+
number: () => SchemaNode;
|
|
32
|
+
boolean: () => SchemaNode;
|
|
33
|
+
object: (shape: Record<string, unknown>) => SchemaNode;
|
|
34
|
+
enum: (values: readonly unknown[]) => SchemaNode;
|
|
35
|
+
literal: (value: unknown) => SchemaNode;
|
|
36
|
+
array: (node: unknown) => SchemaNode;
|
|
37
|
+
any: () => SchemaNode;
|
|
38
|
+
unknown: () => SchemaNode;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export declare const tool: ToolFactory;
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
const chain = {
|
|
2
|
-
optional() { return this; },
|
|
3
|
-
describe() { return this; },
|
|
4
|
-
min() { return this; },
|
|
5
|
-
max() { return this; },
|
|
6
|
-
default() { return this; },
|
|
7
|
-
int() { return this; },
|
|
8
|
-
array() { return this; },
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
function node() {
|
|
12
|
-
return Object.create(chain);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export function tool(definition) {
|
|
16
|
-
return definition;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
tool.schema = {
|
|
20
|
-
string: () => node(),
|
|
21
|
-
number: () => node(),
|
|
22
|
-
boolean: () => node(),
|
|
23
|
-
object: () => node(),
|
|
24
|
-
enum: () => node(),
|
|
25
|
-
literal: () => node(),
|
|
26
|
-
array: () => node(),
|
|
27
|
-
any: () => node(),
|
|
28
|
-
unknown: () => node(),
|
|
29
|
-
};
|
|
1
|
+
const chain = {
|
|
2
|
+
optional() { return this; },
|
|
3
|
+
describe() { return this; },
|
|
4
|
+
min() { return this; },
|
|
5
|
+
max() { return this; },
|
|
6
|
+
default() { return this; },
|
|
7
|
+
int() { return this; },
|
|
8
|
+
array() { return this; },
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
function node() {
|
|
12
|
+
return Object.create(chain);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function tool(definition) {
|
|
16
|
+
return definition;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
tool.schema = {
|
|
20
|
+
string: () => node(),
|
|
21
|
+
number: () => node(),
|
|
22
|
+
boolean: () => node(),
|
|
23
|
+
object: () => node(),
|
|
24
|
+
enum: () => node(),
|
|
25
|
+
literal: () => node(),
|
|
26
|
+
array: () => node(),
|
|
27
|
+
any: () => node(),
|
|
28
|
+
unknown: () => node(),
|
|
29
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@codex-ai/plugin",
|
|
3
|
-
"version": "1.2.10-codex.1",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"exports": {
|
|
6
|
-
".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
|
|
7
|
-
"./tool": { "import": "./dist/tool.js", "types": "./dist/tool.d.ts" }
|
|
8
|
-
}
|
|
9
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@codex-ai/plugin",
|
|
3
|
+
"version": "1.2.10-codex.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" },
|
|
7
|
+
"./tool": { "import": "./dist/tool.js", "types": "./dist/tool.d.ts" }
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type Auth = any;
|
|
2
|
-
export type Provider = any;
|
|
3
|
-
export type Model = any;
|
|
4
|
-
export type CodexClient = any;
|
|
1
|
+
export type Auth = any;
|
|
2
|
+
export type Provider = any;
|
|
3
|
+
export type Model = any;
|
|
4
|
+
export type CodexClient = any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
|
|
1
|
+
export {};
|
|
2
|
+
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@codex-ai/sdk",
|
|
3
|
-
"version": "1.2.10-codex.1",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"exports": {
|
|
6
|
-
".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" }
|
|
7
|
-
}
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@codex-ai/sdk",
|
|
3
|
+
"version": "1.2.10-codex.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": { "import": "./dist/index.js", "types": "./dist/index.d.ts" }
|
|
7
|
+
}
|
|
8
|
+
}
|