From cf5a1a0b18e8b33e8f66338f0d1f9df0a9c5e1e1 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 9 Sep 2026 16:37:38 +0000 Subject: [PATCH] sync: merge upstream v2.49.0 (2f3f736) into dev Resolve decision-handoff conflicts per docs/fork/OWNED.md: - upstream-owned: take vendor/main - package.json: fork identity recipe (@yansigit/opencodex, 2.49.0) - shared-hotspot core.ts: upstream control flow + fork shadow/credential flags - Re-port fork cursor-oauth recovery kinds and agentKind logging to usage/log.ts - Re-port UpstreamRedirectError to fetch-helpers.ts - Align ws-upstream and codex quota/routing with vendor/main Co-authored-by: SB Yoon --- .../3863-storage-skip-referenced.png | Bin 0 -> 158186 bytes ...se-spark-meta-search-content-types-400.jpg | Bin 0 -> 61033 bytes .../workflows/cleanup-orphaned-workflows.yml | 2 +- Dockerfile | 2 +- README.md | 13 +- SPONSORS.md | 2 +- .../client-compaction-dashboard.png | Bin 0 -> 175508 bytes .../sponsors/orcarouter-overview-mobile.png | Bin 0 -> 85899 bytes assets/sponsors/orcarouter-overview.png | Bin 0 -> 116096 bytes assets/sponsors/orcarouter-picker.png | Bin 0 -> 56510 bytes assets/sponsors/orcarouter-readme.png | Bin 0 -> 235068 bytes assets/sponsors/orcarouter.png | Bin 0 -> 51347 bytes assets/sponsors/packycode-overview-mobile.png | Bin 0 -> 83536 bytes assets/sponsors/packycode-overview.png | Bin 0 -> 110868 bytes assets/sponsors/packycode-picker.png | Bin 0 -> 121180 bytes assets/sponsors/packycode-readme.png | Bin 0 -> 246941 bytes assets/sponsors/packycode.png | Bin 0 -> 13337 bytes bun.lock | 36 +- .../010_implementation.md | 28 + .../000_plan.md | 69 ++ .../010_phase1_l1_continuation_recovery.md | 56 ++ ...020_phase2_l2_ws_quota_generation_fence.md | 54 ++ .../030_outcome.md | 58 ++ .../_fin/260908_bug6_manual_stack/000_plan.md | 18 + .../010_go_compatibility.md | 42 + .../020_xai_continuation.md | 25 + .../030_v2_guidance.md | 55 ++ .../260908_bug6_manual_stack/040_v2_preset.md | 96 ++ .../050_credit_alias.md | 29 + .../060_credit_recovery.md | 43 + .../070_integration.md | 61 ++ .../260908_bug6_manual_stack/071_delivery.md | 35 + .../072_final_proof.md | 23 + .../260908_c248_individual_fixes/000_plan.md | 33 + .../010_privacy.md | 19 + .../020_release_notes.md | 144 +++ .../030_timezone.md | 157 ++++ .../040_reconcile.md | 3 + .../050_outcome.md | 35 + .../000_plan.md | 79 ++ .../010_layer1_atomic_write.md | 72 ++ .../020_layer2_initialize_flag.md | 69 ++ .../030_layer3_init_guidance.md | 65 ++ .../040_layer4_landing.md | 62 ++ .../050_outcome.md | 82 ++ .../260908_provider_runtime_stack/000_plan.md | 65 ++ .../010_layer_plan.md | 34 + .../011_conflict_map.md | 24 + .../012_mark_sourcing.md | 23 + .../013_secondary_dispositions.md | 23 + .../020_wp2_carry.md | 23 + .../030_wp3_marks_docs.md | 15 + .../040_wp4_publish_merge.md | 16 + .../050_delivery_record.md | 58 ++ .../060_ledger.md | 17 + .../assets/031_l4_provider_marks.png | Bin 0 -> 30266 bytes devlog/_fin/260908_release_248/000_plan.md | 31 + devlog/_fin/260908_release_248/010_release.md | 16 + .../_fin/260908_release_248/020_progress.md | 14 + .../030_wp2_regression_review.md | 39 + .../260908_release_248/040_wp3_promotion.md | 35 + .../260908_release_248/050_wp4_publication.md | 35 + .../260904_dashboard_minimal/000_inventory.md | 49 +- .../001_subagent_opinions.md | 8 +- .../assets/011_sidebar_footer_after.png | Bin 160651 -> 0 bytes .../assets/011_star_in_update_dialog.png | Bin 25258 -> 0 bytes .../assets/021_dashboard_after.png | Bin 129844 -> 0 bytes .../assets/021_startup_autostart_row.png | Bin 31730 -> 0 bytes .../assets/031_models_after.png | Bin 183105 -> 0 bytes .../assets/031_models_disclosures_open.png | Bin 81327 -> 0 bytes .../assets/041_integrations_after.png | Bin 178656 -> 0 bytes .../assets/051_codex_set_after.png | Bin 166439 -> 0 bytes .../assets/051_codex_set_more_open.png | Bin 27807 -> 0 bytes .../assets/061_usage_after.png | Bin 129651 -> 0 bytes .../assets/071_startup_after.png | Bin 191321 -> 0 bytes .../assets/081_subagents_after.png | Bin 98618 -> 0 bytes .../assets/codex-set_1440.png | Bin 217210 -> 0 bytes .../assets/codex-set_interactive.txt | 51 -- .../assets/codex-set_text.txt | 115 --- .../assets/dashboard_1440.png | Bin 205723 -> 0 bytes .../assets/dashboard_interactive.txt | 37 - .../assets/dashboard_models_1440.png | Bin 144708 -> 0 bytes .../assets/dashboard_models_interactive.txt | 28 - .../assets/dashboard_models_text.txt | 42 - .../assets/dashboard_providers_1440.png | Bin 175869 -> 0 bytes .../dashboard_providers_interactive.txt | 18 - .../assets/dashboard_providers_text.txt | 34 - .../assets/dashboard_text.txt | 76 -- .../assets/integrations_1440.png | Bin 237623 -> 0 bytes .../assets/integrations_interactive.txt | 86 -- .../assets/integrations_text.txt | 163 ---- .../assets/logs_1440.png | Bin 211341 -> 0 bytes .../assets/logs_debug_1440.png | Bin 155847 -> 0 bytes .../assets/logs_debug_interactive.txt | 24 - .../assets/logs_debug_text.txt | 30 - .../assets/logs_interactive.txt | 25 - .../assets/logs_text.txt | 425 --------- .../assets/models_1440.png | Bin 272955 -> 0 bytes .../assets/models_combos_1440.png | Bin 142151 -> 0 bytes .../assets/models_combos_interactive.txt | 59 -- .../assets/models_combos_text.txt | 89 -- .../assets/models_compatibility_1440.png | Bin 157526 -> 0 bytes .../models_compatibility_interactive.txt | 22 - .../assets/models_compatibility_text.txt | 27 - .../assets/models_interactive.txt | 144 --- .../assets/models_routing_1440.png | Bin 156067 -> 0 bytes .../assets/models_routing_interactive.txt | 28 - .../assets/models_routing_text.txt | 37 - .../assets/models_text.txt | 166 ---- .../assets/providers_1440.png | Bin 272079 -> 0 bytes .../assets/providers_interactive.txt | 37 - .../assets/providers_text.txt | 125 --- .../assets/startup_1440.png | Bin 215104 -> 0 bytes .../assets/startup_interactive.txt | 22 - .../assets/startup_text.txt | 59 -- .../assets/storage_1440.png | Bin 131402 -> 0 bytes .../assets/storage_interactive.txt | 16 - .../assets/storage_text.txt | 21 - .../assets/subagents_1440.png | Bin 162388 -> 0 bytes .../assets/subagents_interactive.txt | 60 -- .../assets/subagents_text.txt | 74 -- .../assets/usage_1440.png | Bin 192569 -> 0 bytes .../assets/usage_interactive.txt | 27 - .../assets/usage_text.txt | 256 ------ .../260904_provider_quota_refresh/000_plan.md | 10 +- .../030_wp3_live_verification_and_pr.md | 32 +- .../031_live_verification_record.md | 31 +- .../assets/010_meta_usage_quota.png | Bin 207974 -> 0 bytes .../assets/020_usage_refresh_result.png | Bin 209941 -> 0 bytes .../assets/030_accounts_refresh_button.png | Bin 236698 -> 0 bytes .../assets/040_accounts_refresh_result.png | Bin 234429 -> 0 bytes .../010_implementation.md | 25 + .../010_implementation.md | 32 + .../000_plan.md | 103 +++ .../010_phase1.md | 62 ++ .../020_phase2.md | 73 ++ .../030_phase3.md | 141 +++ .../040_phase4.md | 121 +++ .../050_phase5.md | 95 ++ .../000_plan.md | 113 +++ .../001_audit_record.md | 53 ++ .../010_phase1_stack_build.md | 54 ++ .../020_phase2_publish.md | 92 ++ .../030_phase3_merge_and_settle.md | 106 +++ .../260908_sponsor_overview/010_overview.md | 38 + devlog/_plan/260908_voice_relay/000_plan.md | 39 + .../_plan/260908_voice_relay/001_sources.md | 24 + .../000_plan.md | 176 ++++ .../000_plan.md | 55 ++ .../010_audit.md | 44 + .../assets/010_before.png | Bin 0 -> 219024 bytes .../assets/020_after_collapsed.png | Bin 0 -> 156527 bytes .../assets/030_after_open.png | Bin 0 -> 209764 bytes .../000_plan.md | 101 +++ .../010_phase1_retry_after_abort.md | 351 ++++++++ .../020_phase2_endpoint_validation.md | 19 + .../pr-screenshots/3984-model-feedback.png | Bin 0 -> 21781 bytes docs-site/src/content/docs/contributing.md | 6 + .../docs/fr/guides/codex-integration.md | 7 +- .../content/docs/fr/guides/integrations.md | 6 +- .../docs/fr/guides/sub-agent-surface.md | 5 +- .../docs/fr/reference/cli/lifecycle.md | 4 + .../docs/fr/reference/proxy-formats.md | 18 +- .../docs/getting-started/quickstart.md | 28 + .../src/content/docs/guides/claude-code.md | 33 + .../content/docs/guides/codex-app-models.md | 2 + .../content/docs/guides/codex-integration.md | 167 +++- docs-site/src/content/docs/guides/combos.md | 13 + .../src/content/docs/guides/integrations.md | 10 +- .../src/content/docs/guides/providers.md | 89 ++ .../content/docs/guides/sub-agent-surface.md | 6 +- .../src/content/docs/guides/web-dashboard.md | 2 +- .../docs/ja/guides/codex-integration.md | 4 +- .../docs/ja/guides/sub-agent-surface.md | 4 +- .../docs/ja/reference/cli/lifecycle.md | 22 + .../docs/ja/reference/configuration/agents.md | 14 +- .../ja/reference/configuration/providers.md | 4 + .../docs/ja/reference/proxy-formats.md | 16 +- .../src/content/docs/ko/guides/claude-code.md | 28 + .../docs/ko/guides/codex-integration.md | 19 +- .../src/content/docs/ko/guides/combos.md | 6 + .../docs/ko/guides/sub-agent-surface.md | 4 +- .../content/docs/ko/reference/cli/agents.md | 21 + .../docs/ko/reference/cli/lifecycle.md | 41 + .../ko/reference/cli/providers-accounts.md | 6 + .../docs/ko/reference/configuration/agents.md | 14 +- .../ko/reference/configuration/providers.md | 4 + .../docs/ko/reference/management-api.md | 14 + .../docs/ko/reference/proxy-formats.md | 18 +- .../src/content/docs/reference/adapters.md | 17 +- .../src/content/docs/reference/cli/agents.md | 21 + .../content/docs/reference/cli/lifecycle.md | 68 +- .../docs/reference/cli/providers-accounts.md | 14 + .../docs/reference/configuration/agents.md | 47 +- .../docs/reference/configuration/providers.md | 53 +- .../docs/reference/configuration/server.md | 3 +- .../content/docs/reference/management-api.md | 27 +- .../content/docs/reference/proxy-formats.md | 18 +- .../docs/ru/guides/codex-integration.md | 7 +- .../docs/ru/guides/sub-agent-surface.md | 5 +- .../src/content/docs/ru/reference/adapters.md | 14 +- .../docs/ru/reference/cli/lifecycle.md | 22 + .../docs/ru/reference/configuration/agents.md | 36 +- .../ru/reference/configuration/providers.md | 4 + .../docs/ru/reference/proxy-formats.md | 18 +- .../docs/tr/guides/codex-integration.md | 7 +- .../docs/tr/guides/sub-agent-surface.md | 5 +- .../docs/tr/reference/cli/lifecycle.md | 4 + .../docs/tr/reference/proxy-formats.md | 19 +- .../docs/zh-cn/guides/codex-integration.md | 6 +- .../docs/zh-cn/guides/sub-agent-surface.md | 4 +- .../docs/zh-cn/reference/cli/lifecycle.md | 22 + .../zh-cn/reference/configuration/agents.md | 14 +- .../reference/configuration/providers.md | 4 + .../docs/zh-cn/reference/proxy-formats.md | 17 +- .../docs/zh-tw/guides/codex-integration.md | 6 +- .../content/docs/zh-tw/guides/integrations.md | 2 +- .../docs/zh-tw/guides/sub-agent-surface.md | 4 +- .../docs/zh-tw/reference/cli/lifecycle.md | 4 + .../docs/zh-tw/reference/proxy-formats.md | 16 +- docs/qoder-cli-provider.md | 73 ++ gui/public/provider-icons/README.md | 66 ++ gui/public/provider-icons/packycode.svg | 19 + gui/public/provider-icons/qoder.svg | 5 + .../provider-catalog/ProviderCatalog.tsx | 8 +- .../provider-catalog/provider-presets.ts | 37 +- .../provider-workspace/ProviderDetails.tsx | 4 + .../provider-workspace/ProviderOverview.tsx | 139 +-- .../provider-workspace/ProviderSponsor.tsx | 44 + .../SubagentDelegationSection.tsx | 245 +----- gui/src/i18n/de.ts | 20 +- gui/src/i18n/en.ts | 20 +- gui/src/i18n/fr.ts | 20 +- gui/src/i18n/ja.ts | 20 +- gui/src/i18n/ko.ts | 20 +- gui/src/i18n/ru.ts | 20 +- gui/src/i18n/tr.ts | 20 +- gui/src/i18n/zh-TW.ts | 20 +- gui/src/i18n/zh.ts | 20 +- gui/src/pages/Models.tsx | 252 +++--- gui/src/pages/Providers.tsx | 6 +- gui/src/pages/Storage.tsx | 10 +- gui/src/pages/Subagents.tsx | 242 +----- gui/src/pages/Usage.tsx | 127 ++- gui/src/pages/dashboard-overview-sections.tsx | 21 + gui/src/pages/dashboard-shared.ts | 1 + gui/src/pages/use-dashboard-data.ts | 45 +- gui/src/pages/use-subagent-delegation.ts | 6 + gui/src/provider-icons.ts | 15 + gui/src/styles-subagents-workspace.css | 16 + gui/src/styles.css | 44 + gui/src/styles/provider-workspace-shell.css | 75 +- gui/tests/multi-agent-guidance.test.tsx | 31 +- .../provider-catalog-sponsor-pinning.test.ts | 36 + gui/tests/provider-icons.test.ts | 25 + gui/tests/provider-sponsor-overview.test.tsx | 76 ++ gui/tests/subagents-ultra-mode.test.tsx | 471 ++++------ gui/tests/usage-custom-range.test.tsx | 162 +++- gui/tests/vision-sidecar-dashboard.test.tsx | 73 +- package.json | 8 +- scripts/build-release-changelog.ts | 3 +- scripts/release-notes.ts | 10 +- scripts/test-layout/layout.json | 174 ++-- scripts/test.ts | 396 +++------ src/adapters/anthropic.ts | 47 +- src/adapters/codebuddy/adapter.ts | 85 ++ src/adapters/codebuddy/profiles.ts | 52 ++ src/adapters/coding-agent/profile.ts | 100 +++ src/adapters/coding-agent/protocol.ts | 463 ++++++++++ src/adapters/coding-agent/turn.ts | 353 ++++++++ src/adapters/google.ts | 26 +- src/adapters/mimo-free.ts | 3 + src/adapters/openai-chat.ts | 4 +- src/adapters/openai-responses.ts | 47 +- src/adapters/opencode-go-additional-tools.ts | 35 + src/adapters/opencode-go.ts | 35 - src/adapters/qoder/adapter.ts | 70 ++ src/adapters/qoder/live-models.ts | 89 ++ src/adapters/qoder/profiles.ts | 36 + src/adapters/registry.ts | 12 + src/adapters/responses-tool-schema.ts | 121 ++- src/adapters/routed-agent-messages.ts | 46 + src/claude/inbound-content-options.ts | 6 + src/cli/dispatch.ts | 2 + src/cli/doctor.ts | 40 + src/cli/effort.ts | 32 +- src/cli/help.ts | 2 + src/cli/index.ts | 25 +- src/cli/provider-runtime.ts | 3 +- src/cli/registry.ts | 4 +- src/cli/system-command.ts | 13 +- src/cli/usage-report.ts | 14 +- src/codex/account-lifecycle.ts | 37 +- src/codex/auth-api.ts | 287 ++++-- src/codex/auth-collision.ts | 14 +- src/codex/auth-context.ts | 82 +- src/codex/catalog/provider-fetch.ts | 82 +- src/codex/features.ts | 4 +- src/codex/inject.ts | 220 +++-- src/codex/journal.ts | 73 +- src/codex/model-cache.ts | 15 +- src/codex/multi-agent-mode-policy.ts | 24 + src/codex/native-profile-startup.ts | 77 +- src/codex/native-profile-store.ts | 4 +- src/codex/ocx-compaction-history.ts | 226 +++++ src/codex/project-config-warnings.ts | 4 +- src/codex/quota-types.ts | 3 - src/codex/quota.ts | 89 +- src/codex/reserve-availability.ts | 26 +- src/codex/reset-credit-auto-redeem.ts | 67 +- src/codex/routing.ts | 150 ++-- src/codex/runtime.ts | 46 +- src/codex/shim.ts | 11 +- src/config.ts | 1 + src/config/atomic-write.ts | 5 +- src/config/initialize.ts | 17 +- src/images/loop.ts | 1 + src/images/xai-video-client.ts | 2 + src/integrations/registry.ts | 1 + src/lib/process-control.ts | 60 +- src/lib/state-store-registrations.ts | 2 + src/lib/upstream-retry.ts | 1 + src/oauth/chatgpt.ts | 83 ++ src/oauth/xai.ts | 166 +++- src/providers/api-key-selection-capture.ts | 10 + src/providers/api-key-selection.ts | 9 +- src/providers/caller-authorization.ts | 36 + src/providers/codebuddy-models.ts | 184 ++++ src/providers/default-aliases.ts | 5 +- src/providers/derive.ts | 5 + src/providers/free-directory.ts | 28 +- src/providers/openai-sidecar.ts | 46 +- src/providers/qoder-models.ts | 25 + src/providers/registry.ts | 146 +++- src/responses/compaction.ts | 4 + src/responses/task-input.ts | 22 +- src/router.ts | 9 +- src/server/chat-completions.ts | 35 +- src/server/claude-messages.ts | 563 ++++-------- src/server/images.ts | 1 + src/server/live.ts | 27 +- src/server/management-api.ts | 14 + .../management/account-selection-stream.ts | 17 +- .../management/agent-settings-routes.ts | 3 + src/server/management/config-routes.ts | 241 ++--- src/server/management/logs-usage-routes.ts | 1 + .../management/native-integration-routes.ts | 3 +- src/server/management/provider-routes.ts | 548 ++++-------- src/server/port-reclaim.ts | 37 +- src/server/request-log.ts | 6 + src/server/responses/collaboration.ts | 73 +- src/server/responses/combo-session-recall.ts | 89 ++ src/server/responses/compact.ts | 20 +- src/server/responses/core.ts | 401 +++++++-- src/server/responses/fetch-helpers.ts | 49 +- src/server/responses/policy-fallback.ts | 12 + src/server/responses/ws-upstream.ts | 71 +- src/service.ts | 38 +- src/storage/cleanup.ts | 122 ++- src/types/config.ts | 14 +- src/usage/log.ts | 167 +--- src/vision/anthropic-describe.ts | 1 + src/web-search/anthropic-executor.ts | 1 + src/web-search/loop.ts | 1 + structure/01_runtime.md | 7 + structure/02_config-and-codex-home.md | 16 + structure/03_catalog-and-subagents.md | 32 + structure/04_transports-and-sidecars.md | 70 ++ structure/05_gui-and-management-api.md | 24 +- structure/06_docs-and-release.md | 22 +- structure/08_openai-provider-tiers.md | 58 ++ .../adapter-buffered-tool-conformance.test.ts | 2 + .../adapter-registry-authority.test.ts | 16 +- .../adapters/adapter-tool-conformance.test.ts | 11 + .../anthropic-error-stop-reason.test.ts | 64 ++ .../anthropic-quota-dispatch.test.ts | 62 +- .../google-claude-prefill-guard.test.ts | 33 +- .../openai/openai-chat-hardening.test.ts | 332 ++++++- .../routed-agent-messages.test.ts} | 161 +++- .../build-release-changelog.test.ts | 36 + tests/ci-workflows/install-scripts.test.ts | 4 +- tests/ci-workflows/release-notes.test.ts | 63 ++ tests/ci-workflows/test-home-guard.test.ts | 320 +++++-- tests/ci-workflows/test-runner.test.ts | 148 +++- .../claude-integration/claude-inbound.test.ts | 98 +++ tests/cli/cli-effort.test.ts | 126 +++ tests/cli/cli-headless-parity.test.ts | 18 + tests/cli/cli-help.test.ts | 48 +- tests/cli/cli-management-auth.test.ts | 2 +- tests/cli/cli-restart-health.test.ts | 336 ++++++- tests/cli/cli-restore-back.test.ts | 1 + tests/cli/cli-start-journal-order.test.ts | 5 + tests/cli/cli-usage-report.test.ts | 32 + tests/clients/client-connect.test.ts | 134 ++- tests/clients/integrations-state.test.ts | 21 +- tests/clients/integrations-writer.test.ts | 102 ++- .../bearer-admission-routed-provider.test.ts | 822 +++++++++++++++++- .../catalog-hub-context-window.test.ts | 71 ++ .../codex-integration/codex-auth-api.test.ts | 669 +++++++++++++- .../codex-auth-context.test.ts | 147 +++- .../codex-catalog-restore.test.ts | 6 +- tests/codex-integration/codex-catalog.test.ts | 52 ++ .../codex-composed-acceptance.test.ts | 6 +- .../codex-cooldown-recovery.test.ts | 79 +- .../codex-inject-integration.test.ts | 196 +++++ tests/codex-integration/codex-inject.test.ts | 50 ++ tests/codex-integration/codex-journal.test.ts | 240 ++++- .../codex-metadata-integrity.test.ts | 29 + .../codex-models-cache-invalidate.test.ts | 38 +- .../codex-prompt-route.test.ts | 314 ++++--- .../codex-prompt-text-probe.test.ts | 120 ++- .../codex-quota-parser-parity.test.ts | 45 +- .../codex-reset-credit-auto-redeem.test.ts | 423 ++++++++- .../codex-retained-root-serialization.test.ts | 151 ++-- tests/codex-integration/codex-routing.test.ts | 187 ++-- tests/codex-integration/codex-runtime.test.ts | 91 ++ tests/codex-integration/codex-shim.test.ts | 108 ++- .../codex-spark-visibility.test.ts | 27 +- tests/codex-integration/codex-v2-gate.test.ts | 53 ++ tests/codex-integration/doctor.test.ts | 53 ++ .../history-ocx-compaction-recovery.test.ts | 108 +++ .../issue-702-expired-replay-state.test.ts | 119 ++- .../main-account-hard-lock-auth.test.ts | 188 +++- .../multi-agent-compat.test.ts | 185 +++- .../native-profile-processes.test.ts | 36 +- .../project-config-warnings.test.ts | 43 + .../reserve-availability.test.ts | 31 +- tests/config/config-mutation-lock.test.ts | 101 ++- tests/config/settings-stream-mode.test.ts | 36 + tests/fixtures/parent-stop-runner.ts | 99 +++ tests/fixtures/test-layout-expected.json | 132 +-- tests/gui/integrations-invariants.test.ts | 16 +- tests/gui/models-feedback-callback.test.ts | 37 + .../adapter-conformance/wire-drivers.ts | 9 + tests/helpers/bounded-auth-read-child.ts | 61 ++ .../main-account-policy-startup-child.ts | 292 +++++++ tests/images/loop.test.ts | 51 +- tests/lib/abort-idle-deadline.test.ts | 63 +- tests/lib/credential-redirect-guard.test.ts | 124 ++- tests/lib/process-control-graceful.test.ts | 104 ++- tests/oauth/chatgpt-oauth.test.ts | 35 +- tests/oauth/oauth-accounts-api.test.ts | 30 +- tests/oauth/state-store-sweeper.test.ts | 59 +- .../api-key-selection-capture.test.ts | 69 ++ tests/providers/codebuddy-adapter.test.ts | 381 ++++++++ tests/providers/codebuddy-protocol.test.ts | 354 ++++++++ .../cursor/cursor-stream-health.test.ts | 85 +- tests/providers/mimo-free-provider.test.ts | 64 +- .../muse-spark-web-search-compat.test.ts | 81 +- .../opencode-go-grok46-responses.test.ts | 170 +++- tests/providers/opencode-go-luna-wire.test.ts | 174 +++- .../opencode-go-session-header.test.ts | 141 ++- .../provider-connection-test.test.ts | 68 ++ .../providers/provider-model-aliases.test.ts | 44 + .../provider-model-discovery-contract.test.ts | 82 +- .../provider-registry-parity.test.ts | 45 +- tests/providers/qoder-adapter.test.ts | 115 +++ tests/providers/qoder-live-models.test.ts | 89 ++ tests/providers/sponsor-presets.test.ts | 39 + tests/providers/xai/grok-lifecycle.test.ts | 13 +- tests/providers/xai/xai-oauth-retry.test.ts | 42 +- .../openai-responses-passthrough.test.ts | 100 +++ tests/responses/passthrough-abort.test.ts | 2 +- .../responses/responses-account-label.test.ts | 59 ++ .../responses-compaction-routing.test.ts | 570 +++++++++++- .../responses-opaque-blob-recovery.test.ts | 57 +- tests/responses/responses-parser.test.ts | 23 +- tests/responses/responses-state.test.ts | 11 +- tests/routing/combo-child-headers.test.ts | 4 + tests/routing/routing-policy-fallback.test.ts | 45 +- ...subagent-fallback-handle-responses.test.ts | 82 +- tests/server/port-reclaim.test.ts | 103 ++- tests/server/relay-eager.test.ts | 32 + .../server/server-combo-failover-e2e.test.ts | 381 +++++++- tests/server/server-images.test.ts | 42 + tests/server/server-live.test.ts | 60 +- .../server-xai-responses-streaming.test.ts | 177 +++- tests/server/stream-aborted-marker.test.ts | 75 ++ .../server/v2-agent-message-failfast.test.ts | 15 +- tests/service/init-eof.test.ts | 49 ++ tests/service/stop-deferred-teardown.test.ts | 175 +++- tests/storage/storage-cleanup.test.ts | 49 +- tests/storage/storage-mutation-race.test.ts | 19 +- tests/usage/request-log.test.ts | 53 ++ tests/usage/usage-aggregate-cache.test.ts | 57 ++ tests/videos/xai-video-client.test.ts | 25 + tests/vision/vision-anthropic.test.ts | 1 + tests/web-search/web-search-anthropic.test.ts | 1 + tests/web-search/web-search.test.ts | 1 + tests/windows/windows-secret-acl.test.ts | 24 + 490 files changed, 23030 insertions(+), 7180 deletions(-) create mode 100644 .github/pr-assets/3863-storage-skip-referenced.png create mode 100644 .github/pr-assets/muse-spark-meta-search-content-types-400.jpg create mode 100644 assets/pr-screenshots/client-compaction-dashboard.png create mode 100644 assets/sponsors/orcarouter-overview-mobile.png create mode 100644 assets/sponsors/orcarouter-overview.png create mode 100644 assets/sponsors/orcarouter-picker.png create mode 100644 assets/sponsors/orcarouter-readme.png create mode 100644 assets/sponsors/orcarouter.png create mode 100644 assets/sponsors/packycode-overview-mobile.png create mode 100644 assets/sponsors/packycode-overview.png create mode 100644 assets/sponsors/packycode-picker.png create mode 100644 assets/sponsors/packycode-readme.png create mode 100644 assets/sponsors/packycode.png create mode 100644 devlog/_fin/260907_init_publication_guidance/010_implementation.md create mode 100644 devlog/_fin/260908_b_track_quota_recovery_stack/000_plan.md create mode 100644 devlog/_fin/260908_b_track_quota_recovery_stack/010_phase1_l1_continuation_recovery.md create mode 100644 devlog/_fin/260908_b_track_quota_recovery_stack/020_phase2_l2_ws_quota_generation_fence.md create mode 100644 devlog/_fin/260908_b_track_quota_recovery_stack/030_outcome.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/000_plan.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/010_go_compatibility.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/020_xai_continuation.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/030_v2_guidance.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/040_v2_preset.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/050_credit_alias.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/060_credit_recovery.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/070_integration.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/071_delivery.md create mode 100644 devlog/_fin/260908_bug6_manual_stack/072_final_proof.md create mode 100644 devlog/_fin/260908_c248_individual_fixes/000_plan.md create mode 100644 devlog/_fin/260908_c248_individual_fixes/010_privacy.md create mode 100644 devlog/_fin/260908_c248_individual_fixes/020_release_notes.md create mode 100644 devlog/_fin/260908_c248_individual_fixes/030_timezone.md create mode 100644 devlog/_fin/260908_c248_individual_fixes/040_reconcile.md create mode 100644 devlog/_fin/260908_c248_individual_fixes/050_outcome.md create mode 100644 devlog/_fin/260908_c_track_config_init_stack/000_plan.md create mode 100644 devlog/_fin/260908_c_track_config_init_stack/010_layer1_atomic_write.md create mode 100644 devlog/_fin/260908_c_track_config_init_stack/020_layer2_initialize_flag.md create mode 100644 devlog/_fin/260908_c_track_config_init_stack/030_layer3_init_guidance.md create mode 100644 devlog/_fin/260908_c_track_config_init_stack/040_layer4_landing.md create mode 100644 devlog/_fin/260908_c_track_config_init_stack/050_outcome.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/000_plan.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/010_layer_plan.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/011_conflict_map.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/012_mark_sourcing.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/013_secondary_dispositions.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/020_wp2_carry.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/030_wp3_marks_docs.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/040_wp4_publish_merge.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/050_delivery_record.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/060_ledger.md create mode 100644 devlog/_fin/260908_provider_runtime_stack/assets/031_l4_provider_marks.png create mode 100644 devlog/_fin/260908_release_248/000_plan.md create mode 100644 devlog/_fin/260908_release_248/010_release.md create mode 100644 devlog/_fin/260908_release_248/020_progress.md create mode 100644 devlog/_fin/260908_release_248/030_wp2_regression_review.md create mode 100644 devlog/_fin/260908_release_248/040_wp3_promotion.md create mode 100644 devlog/_fin/260908_release_248/050_wp4_publication.md delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/011_sidebar_footer_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/011_star_in_update_dialog.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/021_dashboard_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/021_startup_autostart_row.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/031_models_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/031_models_disclosures_open.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/041_integrations_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_more_open.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/061_usage_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/071_startup_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/081_subagents_after.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/codex-set_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/codex-set_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/codex-set_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/dashboard_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/integrations_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/integrations_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/integrations_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/logs_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/logs_debug_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/logs_debug_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/logs_debug_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/logs_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/logs_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_combos_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_combos_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_combos_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_routing_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_routing_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_routing_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/models_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/providers_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/providers_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/providers_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/startup_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/startup_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/startup_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/storage_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/storage_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/storage_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/subagents_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/subagents_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/subagents_text.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/usage_1440.png delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/usage_interactive.txt delete mode 100644 devlog/_plan/260904_dashboard_minimal/assets/usage_text.txt delete mode 100644 devlog/_plan/260904_provider_quota_refresh/assets/010_meta_usage_quota.png delete mode 100644 devlog/_plan/260904_provider_quota_refresh/assets/020_usage_refresh_result.png delete mode 100644 devlog/_plan/260904_provider_quota_refresh/assets/030_accounts_refresh_button.png delete mode 100644 devlog/_plan/260904_provider_quota_refresh/assets/040_accounts_refresh_result.png create mode 100644 devlog/_plan/260907_release_note_prefix/010_implementation.md create mode 100644 devlog/_plan/260907_router_selection_capture/010_implementation.md create mode 100644 devlog/_plan/260908_a_stack_responses_compat/000_plan.md create mode 100644 devlog/_plan/260908_a_stack_responses_compat/010_phase1.md create mode 100644 devlog/_plan/260908_a_stack_responses_compat/020_phase2.md create mode 100644 devlog/_plan/260908_a_stack_responses_compat/030_phase3.md create mode 100644 devlog/_plan/260908_a_stack_responses_compat/040_phase4.md create mode 100644 devlog/_plan/260908_a_stack_responses_compat/050_phase5.md create mode 100644 devlog/_plan/260908_d_group_test_infra_stack/000_plan.md create mode 100644 devlog/_plan/260908_d_group_test_infra_stack/001_audit_record.md create mode 100644 devlog/_plan/260908_d_group_test_infra_stack/010_phase1_stack_build.md create mode 100644 devlog/_plan/260908_d_group_test_infra_stack/020_phase2_publish.md create mode 100644 devlog/_plan/260908_d_group_test_infra_stack/030_phase3_merge_and_settle.md create mode 100644 devlog/_plan/260908_sponsor_overview/010_overview.md create mode 100644 devlog/_plan/260908_voice_relay/000_plan.md create mode 100644 devlog/_plan/260908_voice_relay/001_sources.md create mode 100644 devlog/_plan/260909_config_mutation_lock_windows/000_plan.md create mode 100644 devlog/_plan/260909_usage_custom_range_disclosure/000_plan.md create mode 100644 devlog/_plan/260909_usage_custom_range_disclosure/010_audit.md create mode 100644 devlog/_plan/260909_usage_custom_range_disclosure/assets/010_before.png create mode 100644 devlog/_plan/260909_usage_custom_range_disclosure/assets/020_after_collapsed.png create mode 100644 devlog/_plan/260909_usage_custom_range_disclosure/assets/030_after_open.png create mode 100644 devlog/_plan/260909_xai_oauth_retry_hardening/000_plan.md create mode 100644 devlog/_plan/260909_xai_oauth_retry_hardening/010_phase1_retry_after_abort.md create mode 100644 devlog/_plan/260909_xai_oauth_retry_hardening/020_phase2_endpoint_validation.md create mode 100644 docs-site/public/pr-screenshots/3984-model-feedback.png create mode 100644 docs/qoder-cli-provider.md create mode 100644 gui/public/provider-icons/packycode.svg create mode 100644 gui/public/provider-icons/qoder.svg create mode 100644 gui/src/components/provider-workspace/ProviderSponsor.tsx create mode 100644 gui/tests/provider-catalog-sponsor-pinning.test.ts create mode 100644 gui/tests/provider-sponsor-overview.test.tsx create mode 100644 src/adapters/codebuddy/adapter.ts create mode 100644 src/adapters/codebuddy/profiles.ts create mode 100644 src/adapters/coding-agent/profile.ts create mode 100644 src/adapters/coding-agent/protocol.ts create mode 100644 src/adapters/coding-agent/turn.ts create mode 100644 src/adapters/opencode-go-additional-tools.ts delete mode 100644 src/adapters/opencode-go.ts create mode 100644 src/adapters/qoder/adapter.ts create mode 100644 src/adapters/qoder/live-models.ts create mode 100644 src/adapters/qoder/profiles.ts create mode 100644 src/adapters/routed-agent-messages.ts create mode 100644 src/codex/multi-agent-mode-policy.ts create mode 100644 src/codex/ocx-compaction-history.ts create mode 100644 src/providers/api-key-selection-capture.ts create mode 100644 src/providers/caller-authorization.ts create mode 100644 src/providers/codebuddy-models.ts create mode 100644 src/providers/qoder-models.ts create mode 100644 src/server/responses/combo-session-recall.ts rename tests/{providers/opencode-go-agent-messages.test.ts => adapters/routed-agent-messages.test.ts} (50%) create mode 100644 tests/codex-integration/catalog-hub-context-window.test.ts create mode 100644 tests/codex-integration/history-ocx-compaction-recovery.test.ts create mode 100644 tests/fixtures/parent-stop-runner.ts create mode 100644 tests/gui/models-feedback-callback.test.ts create mode 100644 tests/helpers/bounded-auth-read-child.ts create mode 100644 tests/helpers/main-account-policy-startup-child.ts create mode 100644 tests/providers/api-key-selection-capture.test.ts create mode 100644 tests/providers/codebuddy-adapter.test.ts create mode 100644 tests/providers/codebuddy-protocol.test.ts create mode 100644 tests/providers/qoder-adapter.test.ts create mode 100644 tests/providers/qoder-live-models.test.ts create mode 100644 tests/providers/sponsor-presets.test.ts diff --git a/.github/pr-assets/3863-storage-skip-referenced.png b/.github/pr-assets/3863-storage-skip-referenced.png new file mode 100644 index 0000000000000000000000000000000000000000..0fcc6370a442c05bf3113143f72fb5b7f5ba225f GIT binary patch literal 158186 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 TJ>1vHB7XW6<9>pd_dT(OzTR`Qlv}Jm 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

FyaEdl+*Uv3N_jp{?XmpP_&8f|dDVZfgtr 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 - - - + + + + + +
SPONSORThanks to SPONSOR for sponsoring this project! BLURBOrcaRouterThanks to OrcaRouter for sponsoring this project! OrcaRouter is one OpenAI-compatible AI gateway for production AI: adaptive routing that grades every prompt and sends it to the model that clears your bar, automatic failover, routing rules as code, zero-markup provider pricing with prompt caching, and guardrails, an agent firewall, and request logs on every call across 200+ models. Pick OrcaRouter in the Add provider picker or run ocx provider add orcarouter; orcarouter/auto is the adaptive router.
PackyCodeThanks to PackyCode for sponsoring this project! PackyCode is a stable, high-performance API relay provider, offering relay services for Claude Code, Codex, Gemini, and more. With automatic failover, smart routing, and unlimited concurrency, it turns AI into a real productivity tool. Register via this link and get started! Pick PackyCode in the Add provider picker or run ocx provider add packycode.
PackyCode 是一家稳定、高效的 API 中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。具备自动故障转移、智能路由和无限并发等多种功能,让 AI 编程成为真正的生产力工具。点此链接注册,立即开始使用!
---> --- @@ -303,7 +306,7 @@ full-slash form keeps working too. Details: [model routing docs](https://opencod OpenAI (ChatGPT login or API key), Anthropic, Google Gemini, xAI, Kimi, Azure OpenAI, Ollama (local + Cloud), Cursor (experimental), and every OpenAI-compatible endpoint — plus DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Mistral, Hugging Face, NVIDIA NIM, MiniMax, -Qwen Cloud, SiliconFlow, and more. Full list: `ocx init` or the +Qwen Cloud, Qoder Global and CN (official PAT + CLI), SiliconFlow, and more. Full list: `ocx init` or the [provider docs](https://opencodex.me/guides/providers/). ## CLI diff --git a/SPONSORS.md b/SPONSORS.md index a0a2ee33b1b..76a54c377b7 100644 --- a/SPONSORS.md +++ b/SPONSORS.md @@ -45,7 +45,7 @@ sponsor receives: supplied by the sponsor and published verbatim. The maintainer may decline or require edits to text that is false, misleading, disparages third parties, or breaches applicable law or GitHub policy. A second-language blurb (for example Chinese) may run alongside the English one. -- A built-in provider preset (`ocx provider select `) shipped in a public npm release, +- A built-in provider preset (`ocx provider add `) shipped in a public npm release, listed near the top of the provider picker in the dashboard and CLI and marked as a sponsor there. (The registry field and picker ordering that back this land with the first sponsor preset; today the picker follows registry order.) diff --git a/assets/pr-screenshots/client-compaction-dashboard.png b/assets/pr-screenshots/client-compaction-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..89c3cf1c40a2abaa3c8ad82e0e5c70cde397dfda GIT binary patch literal 175508 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Ð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 Dc%$9s literal 0 HcmV?d00001 diff --git a/assets/sponsors/orcarouter-overview.png b/assets/sponsors/orcarouter-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..a067b5ea608b487ff97e5b0aca6575a29ede3d03 GIT binary patch literal 116096 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

q2Xj|Y)~*vj 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 literal 0 HcmV?d00001 diff --git a/assets/sponsors/orcarouter-picker.png b/assets/sponsors/orcarouter-picker.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4e5b1628621003be239aff4cf554e1797925c6 GIT binary patch literal 56510 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

$b73F8J_pFQD)U~(l(-7-X6pVd23d1)uB9WR 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 D$(CVe literal 0 HcmV?d00001 diff --git a/assets/sponsors/orcarouter-readme.png b/assets/sponsors/orcarouter-readme.png new file mode 100644 index 0000000000000000000000000000000000000000..dfad19db9e17cd1cfc22c140ab210fe78b7a54e0 GIT binary patch literal 235068 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

iAt&dHAGDE#tprM~}+t7tS1`$taXzJB=f>cg%X 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 z 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 XG-SVHr+JtcY*9jKUet4L!3qBbG}4e^ literal 0 HcmV?d00001 diff --git a/assets/sponsors/packycode-overview.png b/assets/sponsors/packycode-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..ca86f481f344679d67265daac06b2c02d1886917 GIT binary patch literal 110868 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�TT8qF)P}Ms}&T`j|mt0r9?ur5OoS&bc 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

E^^FBmr7`M>8*X;EaXU(2hKTn*(BQ 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⁢u|5 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 P1T)gRs9UXbE#m(H@!rdn literal 0 HcmV?d00001 diff --git a/assets/sponsors/packycode-picker.png b/assets/sponsors/packycode-picker.png new file mode 100644 index 0000000000000000000000000000000000000000..0f61d1fa867c66dbae5e49f12cd95319658497d3 GIT binary patch literal 121180 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⁣%i1u|2`^831^FD>z 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,TJJ&{xe09f5rbiq0j3k6UL%z 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 Pb45qvmU@+{ec1m2X2<3? literal 0 HcmV?d00001 diff --git a/assets/sponsors/packycode-readme.png b/assets/sponsors/packycode-readme.png new file mode 100644 index 0000000000000000000000000000000000000000..36e9f8a667e36604bc0bd382ea1ce2d8dbaf11cc GIT binary patch literal 246941 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 N| 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 Zm@jAbC;X=)|I@62kW`Q;eD?Cg{{f4bxOe~n literal 0 HcmV?d00001 diff --git a/assets/sponsors/packycode.png b/assets/sponsors/packycode.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2afee75fd7f857715ec60bf0dababe10b660dc GIT binary patch literal 13337 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 literal 0 HcmV?d00001 diff --git a/bun.lock b/bun.lock index e25328f0263..34733cee44a 100644 --- a/bun.lock +++ b/bun.lock @@ -3,17 +3,17 @@ "configVersion": 1, "workspaces": { "": { - "name": "@yansigit/opencodex", + "name": "@bitkyc08/opencodex", "dependencies": { "@bufbuild/protobuf": "^2.14.0", "@modelcontextprotocol/sdk": "^1.30.0", "@napi-rs/keyring": "1.3.0", - "bun": "1.4.0", + "bun": "1.4.2", "zod": "4.4.3", }, "devDependencies": { "@anthropic-ai/sdk": "0.122.0", - "@types/bun": "1.4.0", + "@types/bun": "1.4.2", "typescript": "7.0.2", }, "optionalDependencies": { @@ -68,33 +68,33 @@ "@napi-rs/keyring-win32-x64-msvc": ["@napi-rs/keyring-win32-x64-msvc@1.3.0", "", { "os": "win32", "cpu": "x64" }, "sha512-4DnCWXwDc0HRKwyRlG5y0VhKZW2tNRQfKKfyj6IX/KWfDNyq9hn4n+GL1auyDcOO/v8PwnhmYo2+rOOqCkvvOg=="], - "@oven/bun-darwin-aarch64": ["@oven/bun-darwin-aarch64@1.4.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GCpf8QuFLsyioVawP5HrMxA1ZRBlu6Hq9RNnSc3UTUWAzIxBso9trjoZczw1HdgpqSssFkszfIV2zmOzFTjhkw=="], + "@oven/bun-darwin-aarch64": ["@oven/bun-darwin-aarch64@1.4.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-MXdZkP1featqxZ+/VTXWG1BVjM4OGBehVY2Q88EeUj/7L0UMeCGItmyPYTN+wxvlGJ6F66JEtzsw+GvQWewnag=="], - "@oven/bun-darwin-x64": ["@oven/bun-darwin-x64@1.4.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-cIrhwOr0SPEraewznhC+c/k6TG8bwFn5uZ4EJuXwjiKJLcAF36q7/bGjWkeXSe48JwMcPRUR054JXF7+cRwSSA=="], + "@oven/bun-darwin-x64": ["@oven/bun-darwin-x64@1.4.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-gZTxZuLjkUhAWjTETu3tw0WhsEdNkJ64daj60ybhPf835a2yollV3yTkK9JozvzKPx4TRFzLSl8C+U525pxVbw=="], - "@oven/bun-freebsd-aarch64": ["@oven/bun-freebsd-aarch64@1.4.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-09x7wnjMR6M5KGBDBhVl2CpfoCIQOkVDbPX2KfIhpXv4N6grbWE7dfLPw/Ydi9gaUMGhU7UKhoz444Nu6RCycA=="], + "@oven/bun-freebsd-aarch64": ["@oven/bun-freebsd-aarch64@1.4.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-SMNItMw1Z8QeeQVKnw8jA7xQNkeXdP+OPgin4Wi/QTx/B8RHHLnuZfqmFy7NtVeT2NF0kKYppW4WWd2CCYZjhQ=="], - "@oven/bun-freebsd-x64": ["@oven/bun-freebsd-x64@1.4.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-dRwzti/qJqV1HWplU27iUWUqp+f2DtFSf2yqQKSb+HH2dDOC//Uqd9u/A5h1DMsLszfP5OGP9UwQIKxVwFODaA=="], + "@oven/bun-freebsd-x64": ["@oven/bun-freebsd-x64@1.4.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-THbPKXhO54N0DpFRKZNDZpQ7dpbX0bWASuARckAUS9wRtFIHsiY+uULXJvxJGo2YD1YewvXQ4G8Fj7XT5oBCiw=="], - "@oven/bun-linux-aarch64": ["@oven/bun-linux-aarch64@1.4.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-Y5yAtCbHK6JjprXEtkdklDQFPADgs+CkfcliyY5g4JJ8baGHyQSrfpSkX3XVJ2C+aBLsdwNDdW+oczMsAwx6uA=="], + "@oven/bun-linux-aarch64": ["@oven/bun-linux-aarch64@1.4.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-3BBP9ovJ2RGHFH6Ae1CAtxNtG1+YY6GD6rmYbsUosoAk9+OEl6zeDQ/k4fBkc6dYOJCtWnx8hUxzNzQATSmvYQ=="], - "@oven/bun-linux-aarch64-android": ["@oven/bun-linux-aarch64-android@1.4.0", "", { "os": "android", "cpu": "arm64" }, "sha512-HpPIxJfDNPBPhiBNMyZoo/dOLijARfsx5j72vNuLtaTvl0Hh7HUculxjsOQ2WSyGoCgqXMEr1Qqjab1im9u1RA=="], + "@oven/bun-linux-aarch64-android": ["@oven/bun-linux-aarch64-android@1.4.2", "", { "os": "android", "cpu": "arm64" }, "sha512-3mZKO2rhsNgbAUtAHC1UKUlF2zTxFraDZT/Elv8wzyH0fJL9h+Iv3TgB9lO63w89PRn3eFe+NRA1bhVgikKNPQ=="], - "@oven/bun-linux-aarch64-musl": ["@oven/bun-linux-aarch64-musl@1.4.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-RUjAAkJ/CdNV++zVxyANWshPc73CECYsfhk0fWAkoJjtywxJ2BwXzI6nopBBDMfs0HS+fhRGn6zGwU8ccxLeJg=="], + "@oven/bun-linux-aarch64-musl": ["@oven/bun-linux-aarch64-musl@1.4.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-+Sm6y+lSiSFBOtXmnekp5Q6n1tUKlyv71FCPWBc61Cgb14T5eBs8SN/nh4MUCOKzONkI3O+as3MGUgikS4aCBQ=="], - "@oven/bun-linux-x64": ["@oven/bun-linux-x64@1.4.0", "", { "os": "linux", "cpu": "x64" }, "sha512-Du44zebtPXJujvMLmtIxEQ6ykOhYt7L/Q+YIGVm+Yy+Pj/fpOnq60ggwIpKp/pGAFbYHNiTrA3JTjuZ9MTbZIg=="], + "@oven/bun-linux-x64": ["@oven/bun-linux-x64@1.4.2", "", { "os": "linux", "cpu": "x64" }, "sha512-9/E/UXOTpSo3YsV5g+FhtTd/qTpiWoKuxS12cqtuYA1ssu9fRAoPQnipFgGyck3tWO63iUdxBiygq+kELFawng=="], - "@oven/bun-linux-x64-android": ["@oven/bun-linux-x64-android@1.4.0", "", { "os": "android", "cpu": "x64" }, "sha512-u++KyLlfMn36yWz+AgJs+fZtS46UFDNpSSZhrcitkytONtNwq0X6Q9BDVEFXxYl/+Eec0xme1rb6MgW+U35WeA=="], + "@oven/bun-linux-x64-android": ["@oven/bun-linux-x64-android@1.4.2", "", { "os": "android", "cpu": "x64" }, "sha512-6HC5tzcC79113n2IHCTJMWv+HsQImv4ZFEK2XpYLxY6HbT8tM4cUM2Zv1bHZBQsS3jv/zYBamDJ1UX7If0d5tw=="], - "@oven/bun-linux-x64-musl": ["@oven/bun-linux-x64-musl@1.4.0", "", { "os": "linux", "cpu": "x64" }, "sha512-C1Dv+ISL8YKEKM9jAHzNifOcRUoziy6UMxh+yVXjUCP6QnbRhENDHLaIWWkQZJyBLTn0I3xozflorAlHiGzGqA=="], + "@oven/bun-linux-x64-musl": ["@oven/bun-linux-x64-musl@1.4.2", "", { "os": "linux", "cpu": "x64" }, "sha512-vVTKUg1bnPhRP/Hp73jIVoFh2vPFNYEqYX0ERKfZBOQEEHitNAeukZzzuUDZS0SoDCIpuWUGSpd/CDMbjdR+Uw=="], - "@oven/bun-windows-aarch64": ["@oven/bun-windows-aarch64@1.4.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-FBAYaQpJBP0asgqzL6NFUfjdQqsV+kvTpJ/eWxPKj+RcDgIfPSuE8kvQuPYu5pa8u8JTujYMjmuyvHxVuQsInA=="], + "@oven/bun-windows-aarch64": ["@oven/bun-windows-aarch64@1.4.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-8EJ1ST7339WJE3poPW5nBgVW/lWf9HBz4W27ZUNhburKmcBLOByPyE6DP9fHD8FQGm5c+ilUN2hX1mrW0jxq9Q=="], - "@oven/bun-windows-x64": ["@oven/bun-windows-x64@1.4.0", "", { "os": "win32", "cpu": "x64" }, "sha512-jRKv1NPLznMSZY5BEWciMF7zv0Tiyo2pQSxAJ3w+YWJ6y3VWNJQQQdLlV5Jx8lbOFDrJdrc9dD3GV17k3BP41A=="], + "@oven/bun-windows-x64": ["@oven/bun-windows-x64@1.4.2", "", { "os": "win32", "cpu": "x64" }, "sha512-+bN6OuVld/9diT/RLSXSW7JE6CvNE3gL9XsAEjULi1nUsXd6DNO6GuA9jNdNb3r8PdJFnYHr5aypNV1Oj3Rd9g=="], "@stablelib/base64": ["@stablelib/base64@1.0.1", "", {}, "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ=="], - "@types/bun": ["@types/bun@1.4.0", "", { "dependencies": { "bun-types": "1.4.0" } }, "sha512-K+lZULY23vRgK/CfTjFIV+tyifaNdSMlPh9j+6mQ/cLfpOznLyAuzgV/JQysyECpkBQLVMSyvjlr2fBUSA9wFQ=="], + "@types/bun": ["@types/bun@1.4.2", "", { "dependencies": { "bun-types": "1.4.2" } }, "sha512-GimotNn7+ZV0uVArItBbriZsR1oNf0+WTzPkdcFrzShI7k2norL0uzEaJT8T33dWr7O/c9ZDuAFQrctKCi72oQ=="], "@types/node": ["@types/node@26.0.1", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw=="], @@ -164,9 +164,9 @@ "body-parser": ["body-parser@2.3.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^2.0.0", "debug": "^4.4.3", "http-errors": "^2.0.1", "iconv-lite": "^0.7.2", "on-finished": "^2.4.1", "qs": "^6.15.2", "raw-body": "^3.0.2", "type-is": "^2.1.0" } }, "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw=="], - "bun": ["bun@1.4.0", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.4.0", "@oven/bun-darwin-x64": "1.4.0", "@oven/bun-freebsd-aarch64": "1.4.0", "@oven/bun-freebsd-x64": "1.4.0", "@oven/bun-linux-aarch64": "1.4.0", "@oven/bun-linux-aarch64-android": "1.4.0", "@oven/bun-linux-aarch64-musl": "1.4.0", "@oven/bun-linux-x64": "1.4.0", "@oven/bun-linux-x64-android": "1.4.0", "@oven/bun-linux-x64-musl": "1.4.0", "@oven/bun-windows-aarch64": "1.4.0", "@oven/bun-windows-x64": "1.4.0" }, "os": [ "!aix", "!sunos", "!openbsd", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-iRiFkc2W7UVpCyZXO9tod45TP9QCyN19fWqbpeN/jaM/K7uzeHYx/OSPsahMJazGKBgPsnxRt+4Jc43d8BcHZw=="], + "bun": ["bun@1.4.2", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.4.2", "@oven/bun-darwin-x64": "1.4.2", "@oven/bun-freebsd-aarch64": "1.4.2", "@oven/bun-freebsd-x64": "1.4.2", "@oven/bun-linux-aarch64": "1.4.2", "@oven/bun-linux-aarch64-android": "1.4.2", "@oven/bun-linux-aarch64-musl": "1.4.2", "@oven/bun-linux-x64": "1.4.2", "@oven/bun-linux-x64-android": "1.4.2", "@oven/bun-linux-x64-musl": "1.4.2", "@oven/bun-windows-aarch64": "1.4.2", "@oven/bun-windows-x64": "1.4.2" }, "os": [ "!aix", "!sunos", "!openbsd", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-TrSXo6HJfIEaczpb3kjX82I2pL47vK1QUNmHRCUdz9IzaOwa9lzOXSWwu2l18YHE3sNfGRapVLd4nNm+22vVVA=="], - "bun-types": ["bun-types@1.4.0", "", { "dependencies": { "@types/node": "*" } }, "sha512-iIKw23BspnQQYd3prITOBxeUsxBHnwzX6YJfGMuNOZzeNcMmVqzIIVGRm1l69ogaPQmb4wB6BN8mA5bE9YuC5Q=="], + "bun-types": ["bun-types@1.4.2", "", { "dependencies": { "@types/node": "*" } }, "sha512-bxV1FgK7yBIzjRe5zBozIM4Bem11ZJcCXSrjWRG3YWLt8yFDePu4cLjpebO8OvPeIE9trbyPF4fuj3Cia4Fj3w=="], "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], diff --git a/devlog/_fin/260907_init_publication_guidance/010_implementation.md b/devlog/_fin/260907_init_publication_guidance/010_implementation.md new file mode 100644 index 00000000000..80b59549246 --- /dev/null +++ b/devlog/_fin/260907_init_publication_guidance/010_implementation.md @@ -0,0 +1,28 @@ +# Issue #3893: implementation plan + +Satisfy-spec work, triggered by issue #3893 and the request to implement separate draft PRs. Goal: actionable first-run publication diagnostics. Non-goals: changing file writes, permissions, replacement/cleanup guarantees, or adding a filesystem fallback. Stop after a verified draft PR; unresolved platform checks are reported, never marked passed. Escalate if resolving the issue requires weakening publication guarantees. This file records the plan and eventual evidence. + +Class C2: diagnostic propagation and user documentation. One independent branch from 522ce5f8c; no branch dependencies or orchestration state changes. + +File map: +- MODIFY src/config/initialize.ts: add an optional hardeningFailed flag to constructor options; select a fixed privacy-safe permission diagnostic when hardening throws. Track the flag around the existing harden call only, and pass it in the existing error options. Append supported-location guidance to denied-link diagnostics. All I/O order and cleanup remain identical. +- MODIFY tests/config/config-mutation-lock.test.ts: inject a harden failure and prove write/link never happen, target remains absent, no residue remains, and raw error details do not appear. Assert all five denied-link codes provide recovery guidance while retaining uncertain-publication state. Partial-write errors must not be mislabeled as permission failures. +- MODIFY tests/service/init-eof.test.ts: use its existing child bootstrap seam to inject publication errors during the real CLI wizard; verify exit=1, diagnostics and residue warnings, no configuration/backup damage or integration prompts. +- MODIFY docs-site/src/content/docs/getting-started/quickstart.md and structure/02_config-and-codex-home.md: explain supported locations, inspection before retry, separate permission and link failures, and fresh-install OPENCODEX_HOME examples. Existing translations reviewed for contradictions. + +Optional constructor input chain: created by the publication function; consumed by Error.message; no config serialization, migration, or persistent state. Existing constructor calls keep their meaning. + +Verification: focused config/init tests read the real publication and CLI code; typecheck includes src; privacy scan; required docs-site build. Baseline focused run: 35 pass, 3 skip, 2 fail (Windows file-symlink privilege: symlinkSync EPERM and dependent missing-residue assertion). No baseline failure will be hidden by changing tests. New regression checks must pass. Windows-native filesystem support remains bounded by the host. + +Audit: direct O_EXCL and replacement fallbacks rejected because they change complete-file/no-replace guarantees. Reuse the existing error and test seams; no new diagnostic module. Guidance never prints raw cause text or candidate bytes. + +## Verification before draft publication + +- `bun install --frozen-lockfile`: passed; lockfile unchanged. +- New diagnostics were observed failing before implementation: 9 failures across the focused hardening/link/CLI fault cases. After implementation: 9 passed. +- `bun test tests/config/config-mutation-lock.test.ts tests/service/init-eof.test.ts`: 38 passed, 3 skipped, 2 failed. The same two tests failed on unchanged 522ce5f8c: file-symlink creation is denied on this Windows host, and the swapped-symlink test then lacks its expected residue. New recovery tests pass; no skips or weakened assertions were added. +- `bun run typecheck`: passed. +- `bun run privacy:scan`: passed. +- `cd docs-site; bun install --frozen-lockfile; bun run build`: passed, 425 pages. Translated quickstarts contain no conflicting recovery/fallback instructions. +- CLI fault scenarios verify exit=1, distinct permission/link messages, uncertain-publication/residue warnings, backup preservation and no integration prompts. Partial-write errors keep the generic diagnostic. +- No physical non-NTFS filesystem support is claimed. Maintainer review remains required; this is a draft handoff. diff --git a/devlog/_fin/260908_b_track_quota_recovery_stack/000_plan.md b/devlog/_fin/260908_b_track_quota_recovery_stack/000_plan.md new file mode 100644 index 00000000000..d73b85568a1 --- /dev/null +++ b/devlog/_fin/260908_b_track_quota_recovery_stack/000_plan.md @@ -0,0 +1,69 @@ +# 000_plan.md — B트랙 대화 복구·quota 스택 배송 + +## 목표 +#3889(만료된 forward continuation의 WebSocket 복구)과 #3934(자격증명 세대 기반 늦은 WS quota 차단)를 +원저자 기여를 보존한 수동 종속 브랜치 체인으로 재구성하고, 최종 tip 한 곳에서만 CI를 태워 +green이면 tip을 dev에 통합한다. + +## 제약 (사용자 지시) +- 로컬 스위트 절대 실행 금지: bun run test / test:changed / typecheck / build / install 모두 NOT RUN. +- 푸시는 `--no-verify`. +- CI는 최종 tip에만 트리거한다. 하위 레이어에는 PR을 열지 않는다. +- 원작 PR이 있으면 원저자를 Co-authored-by로 보존한다. +- tip이 dev에 머지되는 순간 연결 이슈도 닫는다. + +## CI 트리거 계약 (근거) +`.github/workflows/ci.yml`의 `on.pull_request`에는 base 브랜치 필터가 없다(주석에 stacked child PR을 +일부러 포함시켰다고 명시). 따라서 **PR을 여는 것 자체가 CI run을 만든다.** +`push:`는 `branches: [main, preview, dev]`로 제한되므로 포크/작업 브랜치 푸시는 CI를 만들지 않는다. +결론: 하위 레이어 L1은 **브랜치 푸시만** 하고 PR을 열지 않는다. tip L2에만 PR을 연다. + +## 의존성 정렬 (PHASE-SPLIT-01) +효율이 아니라 의존 구조로 나눈다. 두 변경 모두 `src/server/responses/core.ts`를 만지므로 +같은 파일 위에서 순서를 가진 체인으로 쌓는다. + +- L1 = #3889 continuation 복구 (core.ts:3598 부근 오류 코드 계약) +- L2 = #3934 WS quota 세대 펜싱 (core.ts:1004 부근 observer) — L1 위에 쌓는다 + +텍스트 충돌은 없다(두 훅 사이 거리 약 2600줄). 체인 순서는 리뷰 단위 분리를 위한 것이다. + +## 파일 변경 맵 +### L1 (#3889, 원저자 ykvv / y2ambition-ai) +- MODIFY `src/server/responses/core.ts` — 400 응답 코드를 `invalid_request_error` → `previous_response_not_found`, + 메시지를 "전체 대화를 다시 보내라"로 변경. HTTP 상태와 인증 전 거부 위치는 유지. +- MODIFY `tests/codex-integration/issue-702-expired-replay-state.test.ts` — 기존 HTTP 기대값의 code 갱신 + + expired/missing 두 모드의 WebSocket 재연결·전체 도구 이력 재전송 회귀 추가. +- MODIFY `docs-site/src/content/docs/guides/codex-integration.md`, `.../ko/guides/codex-integration.md` + +### L2 (#3934, 원저자 luvs01) +- MODIFY `src/server/responses/core.ts` — `codexWsQuotaObserver`에서 pool 자격증명 generation을 포착하고 + `isCodexAccountGenerationLive`가 false면 늦게 도착한 quota 프레임을 무시. +- MODIFY `tests/responses/responses-account-label.test.ts` — 교체된 자격증명의 늦은 quota가 지워진 상태를 + 되살리지 못하는 회귀 추가. + +## 범위 밖 (OUT) +- `REPLAY_TTL_MS` 등 캐시 보존 기간 변경 +- 인증/자격증명 회전 정책 변경 +- main-pool writer 소유권 규칙 변경 +- B트랙 외 항목(#3906/#3886/#3922/#3917/#3900/#3896/#3924/#3930/#3890) + +## 검증자 (PLAN-VERIFIER-REAL-01) +로컬 스위트가 금지되었으므로 **로컬 검증자는 NOT RUN으로 기록한다**. 유일한 실행 검증자는 +tip PR head SHA에 대한 hosted Cross-platform CI다. 관측 대상: 4 Linux shard, Windows, +macOS lane, gates(typecheck/lint/privacy scan), packaging. +- `gh api repos/lidge-jun/opencodex/actions/runs?head_sha=` → conclusion=success +- 이 CI는 `src/**`와 `tests/**`를 changes 필터에 포함하므로 실제로 이번 변경 대상을 관측한다. + +## 수용 기준 +1. L1/L2 커밋 각각에 원저자 Co-authored-by 트레일러가 살아 있다. +2. L1에는 PR이 없고 CI run도 없다. CI run은 tip 하나뿐이다. +3. tip head SHA의 CI conclusion이 success다. +4. 로컬 스위트 미실행, 푸시는 --no-verify. +5. tip이 dev 조상이 되고, #3889/#3934가 정리되며 연결 이슈가 닫힌다. + +## 우회 경로 (PLAN-BYPASS-NAMED-01) +- tier: E2 (hosted CI 게이트) +- 실행 주체: GitHub Actions + maintainer 통합 +- 알려진 우회: admin 권한 보유자는 CI 미완료 상태에서도 머지 가능. 이 계획은 그러지 않는다. +- 잔여 위험: 하위 레이어 L1은 자체 CI 없이 tip 누적 CI로만 증명된다. 사용자 지시에 따른 의도된 선택. +- 문구 하향: 없음. diff --git a/devlog/_fin/260908_b_track_quota_recovery_stack/010_phase1_l1_continuation_recovery.md b/devlog/_fin/260908_b_track_quota_recovery_stack/010_phase1_l1_continuation_recovery.md new file mode 100644 index 00000000000..4c054dd8c33 --- /dev/null +++ b/devlog/_fin/260908_b_track_quota_recovery_stack/010_phase1_l1_continuation_recovery.md @@ -0,0 +1,56 @@ +# 010_phase1_l1_continuation_recovery.md — L1 (#3889) 브랜치 구성 + +## 목적 +만료·부재한 forward continuation 상태를 Codex WebSocket 클라이언트가 스스로 복구할 수 있게, +프록시가 돌려주는 400 오류의 코드를 클라이언트가 인식하는 `previous_response_not_found`로 바꾼다. + +## 브랜치 +`codex/b-stack-l1-continuation-recovery`, base = `origin/dev`. + +## 커밋 계약 +원저자 보존이 필수다. 체리픽으로 원 커밋의 author를 그대로 유지한다. + +``` +git cherry-pick -x e8d82a181ea0daa06c5111c09e0148475e45458f +``` + +체리픽은 원 커밋의 author(ykvv <229483879+y2ambition-ai@users.noreply.github.com>)를 보존한다. +squash 병합 시 author가 소실될 수 있으므로 커밋 메시지에 트레일러도 추가한다: + +``` +Co-authored-by: ykvv <229483879+y2ambition-ai@users.noreply.github.com> +``` + +## 정확한 변경 (before → after) +`src/server/responses/core.ts` 약 3598행: + +```diff + if ( + hasUnexpandedPreviousResponse + && isCanonicalOpenAiForwardProvider(route.provider) + ) { + return formatErrorResponse( + 400, +- "invalid_request_error", +- "OpenAI forward continuation state is unavailable or expired; start a new session instead of reusing this previous_response_id.", ++ "previous_response_not_found", ++ "OpenAI forward continuation state is unavailable or expired; resend the full conversation without previous_response_id.", + ); + } +``` + +가드 위치(인증·어댑터·upstream I/O 이전)는 바뀌지 않는다. HTTP 상태 400도 유지한다. + +테스트: `tests/codex-integration/issue-702-expired-replay-state.test.ts` +- 기존 HTTP 케이스: `code`를 `previous_response_not_found`로 갱신, `type`은 `invalid_request_error` 유지. +- 신규: expired/missing 두 모드로 WebSocket 연결 → 거부 확인 → upstream 요청 0건 확인 → + 재연결 후 전체 이력 재전송 → upstream 1건 + `previous_response_id` 없음 + 도구 호출/결과 쌍 보존. + +문서: `docs-site/src/content/docs/guides/codex-integration.md` 및 한국어 페이지에 복구 경계 문단 추가. + +## 검증 +로컬 스위트 NOT RUN(사용자 금지). 이 레이어는 PR을 열지 않으므로 자체 CI도 없다. +증명은 L2 tip의 누적 CI가 담당한다. + +## 감사 반영 +서브에이전트 audit-3889의 결과에 따라 문서의 TTL 수치와 error type/code 매핑을 확정한다. diff --git a/devlog/_fin/260908_b_track_quota_recovery_stack/020_phase2_l2_ws_quota_generation_fence.md b/devlog/_fin/260908_b_track_quota_recovery_stack/020_phase2_l2_ws_quota_generation_fence.md new file mode 100644 index 00000000000..8ac37b83f90 --- /dev/null +++ b/devlog/_fin/260908_b_track_quota_recovery_stack/020_phase2_l2_ws_quota_generation_fence.md @@ -0,0 +1,54 @@ +# 020_phase2_l2_ws_quota_generation_fence.md — L2 (#3934) tip 레이어 + +## 목적 +pool 자격증명이 교체된 뒤 이전 WebSocket 연결에서 늦게 도착한 quota 프레임이, +새 자격증명을 위해 비워둔 quota 상태를 되살리지 못하게 막는다. + +## 브랜치 +`codex/b-stack-l2-ws-quota-generation`, base = `codex/b-stack-l1-continuation-recovery` (L1 위에 쌓음). +이 브랜치가 스택의 tip이며, **PR은 여기에만 연다.** + +## 커밋 계약 +``` +git cherry-pick -x e5c01f44e9736baba5b3a993c7f489f6b60d5ddd +``` +원저자 luvs01 보존 + `Co-authored-by: luvs01 ` 트레일러. + +## 정확한 변경 (before → after) +`src/server/responses/core.ts` 약 1004행: + +```diff ++import { isCodexAccountGenerationLive } from "../../codex/account-store"; + + function codexWsQuotaObserver(authCtx, provider): CodexWsQuotaObserver | undefined { + if (!isCanonicalOpenAiForwardProvider(provider) || !usesCodexForwardPoolAuth(authCtx, provider)) return undefined; + const { accountId, writerGeneration } = authCtx; ++ const credentialGeneration = authCtx.kind === "pool" ? authCtx.generation : undefined; + const mainWriter = authCtx.kind === "main-pool" ? authCtx.mainQuotaWriter : undefined; +- return headers => applyCapturedCodexQuota(accountId, headers, writerGeneration, mainWriter); ++ return headers => { ++ if (credentialGeneration !== undefined && !isCodexAccountGenerationLive(accountId, credentialGeneration)) return; ++ applyCapturedCodexQuota(accountId, headers, writerGeneration, mainWriter); ++ }; + } +``` + +`credentialGeneration === undefined`면 기존 동작을 그대로 유지한다(main-pool·비pool 경로 무변경). + +테스트: `tests/responses/responses-account-label.test.ts` +- quota 10 전달 → 자격증명 교체 → quota clear → 옛 연결에서 quota 100 전달 → 최종 상태가 null인지 확인. + +## L1과의 관계 +같은 파일이지만 서로 다른 함수(약 2600줄 간격)라 텍스트 충돌이 없다. +체인 순서는 리뷰 단위를 나누기 위한 것이며, L2 diff는 이 변경만 보여준다. + +## CI 계약 +`.github/workflows/ci.yml`의 `on.pull_request`는 base 필터가 없어 PR 생성 즉시 CI가 붙는다. +따라서 L1에는 PR을 열지 않고, tip인 L2에만 PR을 연다 → CI run 정확히 1개. +`changes` 필터가 `src/**`, `tests/**`, `docs-site` 외 경로를 보므로 이 변경 세트는 `ci=true`가 되어 +4개 Linux shard, Windows, macOS lane, gates가 모두 돈다. + +## 머지 후 처리 +- tip PR 머지 → `git merge-base --is-ancestor`로 dev 조상 확인 +- #3889, #3934: 내용이 dev에 들어갔으므로 원저자 크레딧을 명시하며 닫는다 +- 연결 이슈: dev 머지 시점에 닫는다 (PR base가 dev라 GitHub 자동 종료가 안 됨 — AGENTS.md 명시) diff --git a/devlog/_fin/260908_b_track_quota_recovery_stack/030_outcome.md b/devlog/_fin/260908_b_track_quota_recovery_stack/030_outcome.md new file mode 100644 index 00000000000..7f5ef7e74ec --- /dev/null +++ b/devlog/_fin/260908_b_track_quota_recovery_stack/030_outcome.md @@ -0,0 +1,58 @@ +# 030_outcome.md — 배송 결과 + +## 결과 +PR [#3937](https://github.com/lidge-jun/opencodex/pull/3937)이 `dev`에 머지되었다. +머지 커밋 `ca381ea764cfbc63bec978f53eb58e96c00c0c64`, 2026-09-07T18:31:27Z. + +## 스택 구조 (실제) +``` +dev 942c02873 + └─ 7273a0d1f docs(devlog): plan the B-track ... [계획] + └─ 531753340 fix(responses): recover expired ... [L1, author ykvv] + └─ a06bfa2f2 fix(codex): fence late WS quota [L2 = tip, author luvs01] +``` +L1에는 PR을 열지 않았다. tip에만 PR을 열어 CI를 1회 트리거했다. + +## CI 증거 +- tip `a06bfa2f2`: Cross-platform CI run 1건, conclusion=success, run_attempt=1 + ([run 34149252860](https://github.com/lidge-jun/opencodex/actions/runs/34149252860)). + 잡 21/21 완료, failure 0. Linux shard 4, macOS lane 2, gates, packaging, keyring, Docker smoke 포함. +- 하위 레이어 `531753340`: workflow run **0건**. 브랜치 푸시가 CI를 만들지 않는다는 계약이 실측으로 확인됐다. +- `enforce-target`은 동시성 그룹 충돌로 1차 시도가 취소되어, 대기 중이던 중복 run을 취소하고 재실행해 success를 받았다. + +## 검증 한계 (사실대로 기록) +- **로컬 제품 스위트는 한 번도 실행하지 않았다** (`bun run test`/`test:changed`/`typecheck`/`build`/`install`: NOT RUN). + 사용자 지시에 따른 것이며, hosted CI가 유일한 실행 검증자였다. 푸시는 전부 `--no-verify`. +- tip SHA에 취소된 체크 2건이 남아 있다: `enforce-target`(101832157192, 옛 시도)과 `label`(101827844691). + 같은 워크플로의 후속 시도가 success로 끝났고 failure는 0건이다. 체크 목록이 전부 깨끗하다고 말하면 사실이 아니다. +- CI가 검증한 트리(tip)와 최종 dev 트리는 동일하지 않다. 머지 직전 별도 PR #3936(문서)이 먼저 착륙해 + lifecycle 문서 5개가 차이로 남는다. `git diff --exit-code a06bfa2f2 ca381ea76 -- src tests`는 exit 0으로, + **소스와 테스트는 CI가 본 그대로** 착륙했다. + +## 감사 (astra-high 서브에이전트 4기) +1. `audit-3889`: PASS. `formatErrorResponse`의 2번째 인자는 `classifyError` 입력이며 + `previous_response_not_found` 분기가 `type=invalid_request_error`/`code=previous_response_not_found`를 만든다 + (`src/bridge.ts:2130`, `src/lib/errors.ts:179`). 문서의 1시간은 `RESPONSE_TTL_MS=3_600_000`과 일치. +2. `audit-3934`: PASS. `main-pool`에 `generation`이 없는 것은 의도된 분리이며 `mainQuotaWriter`가 별도 펜싱한다. + `writerGeneration`(설정 재조정)과 `generation`(영속 자격증명)은 다른 개념이라 새 검사가 중복이 아니다. + generation `0`은 엄격 동등으로 정상 처리된다. +3. `verify-stack`: PASS. 체리픽 hunk 무결성, 두 변경의 공존, import/export, 테스트 심볼, layout, privacy 6항목. +4. `verify-landing`: 7개 주장 중 6개 CONFIRMED, 1개 REFUTED(위 취소 체크 건). 이 문서가 그 반증을 반영한다. + +## 원저자 크레딧 +머지 커밋에 두 트레일러가 모두 살아 있다. +``` +Co-authored-by: ykvv <229483879+y2ambition-ai@users.noreply.github.com> +Co-authored-by: luvs01 +``` +원본 PR #3889·#3934는 배송 완료 안내와 함께 closed(미머지)로 처리했다. + +## 연결 이슈 +GraphQL `closingIssuesReferences`로 확인한 결과 #3889·#3934·#3937 모두 종료 대상 이슈가 **0건**이다. +따라서 이번 머지로 닫을 이슈는 없었다. (#3885는 A트랙 #3886 소관이라 대상이 아니다.) + +## 이번에 나아지지 않은 것 +- 하위 레이어 L1은 자체 CI 증거 없이 tip 누적 CI로만 증명됐다. 사용자 지시에 따른 의도된 선택이며, + 레이어별 독립 회귀 증거가 필요한 변경에는 이 방식을 그대로 쓰면 안 된다. +- `enforce-target` 동시성 충돌은 재실행으로 우회했을 뿐 원인을 고치지 않았다. + 같은 SHA에 워크플로가 두 번 트리거되는 조건이 남아 있다. diff --git a/devlog/_fin/260908_bug6_manual_stack/000_plan.md b/devlog/_fin/260908_bug6_manual_stack/000_plan.md new file mode 100644 index 00000000000..cda1225ad63 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/000_plan.md @@ -0,0 +1,18 @@ +# Six-item bug stack — completed delivery + +All five new product PRs merged into `dev` on 2026-09-08. The sixth source item, #3965, had independently landed and required no duplicate PR. [071](071_delivery.md) records verification and retained failure history; [072](072_final_proof.md) records actual landing proof. + +| Source | Delivery | Disposition | +| --- | --- | --- | +| #3838 Go placement/stateless residual | #3986 | Landed; source closed; lossy mixed-ciphertext filtering declined | +| #3907 xAI string child result | #3991 | Landed; issue completed | +| #3944 V2 proxy guidance | #3992 | Landed; source closed | +| #3951 server-owned delegation preset | #3993 | Landed; source closed | +| #3965 canonical operation alias | Existing merge402be7c1f | Verified landed NOOP for another PR | +| #3973 cooldown recovery, consolidated #3995 | #4002 | Landed; issue completed and source PR closed | + +This was one ordinary manual chain. Children were retargeted to dev before their parents merged because repository settings automatically delete merged branches. Original authorship and Co-authored-by trailers were preserved. #3997/#3996 remain outside this delivery. + +The earlier decade documents are historical plans and audit amendments. Their future-tense steps describe what was required at that point; this outcome and the final ledger are authoritative for completion. The work used repeated PABCD cycles and independent Astra high source/security reviews. + +Local product tests, installs, typechecks and builds: **NOT RUN**, by owner instruction. Commits disabled hooks per invocation and pushes used --no-verify. Hosted CI, synthetic dashboard observation and isolated remote documentation builds supplied verification. No release, deployment, main/preview promotion, live account operation or reset credit was used. All 30 pre-existing user files were preserved. diff --git a/devlog/_fin/260908_bug6_manual_stack/010_go_compatibility.md b/devlog/_fin/260908_bug6_manual_stack/010_go_compatibility.md new file mode 100644 index 00000000000..fa7a4e78450 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/010_go_compatibility.md @@ -0,0 +1,42 @@ +# wp1: Go compatibility residuals + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp0. C3 with independent boundary review. Source PR #3838 head `d84e5a80a5e40a65462a0466d82cdcec463a847e`; baseline dev `9e1468d4b7a41b498ed2aca98507ada2c741afea`. #3942 already landed the generic array agent-message normalizer. Reimplement the remaining Go behavior on current owners; do not restore the removed `opencode-go.ts` or duplicate namespace logic. + +## Main decisions + +Carry Go additional-tools placement and the canonical preset's stateless intent. Retain current all-parts readable/fail-closed agent-message behavior; the old lossy mixed-content hunk is deliberately declined because successful transport alone does not prove complete task content. Original PR disposition must name that decision rather than claim every historical hunk landed. Custom renamed providers retain explicit configuration semantics; no destination-based configuration migration is added. + +## File changes + +- NEW `src/adapters/opencode-go-additional-tools.ts`: export a small immutable placement helper taking body and base URL. Match HTTPS `opencode.ai`, standard port, exact `/zen/go/v1` (optional terminal slash); reject credentials/query/fragment and other paths. For valid `additional_tools` array wrappers append their already-normalized tools to top-level tools and remove the wrapper. Preserve unrelated input and supported nameless hosted tools. Non-array malformed wrappers remain unchanged; no valid wrappers returns the original body. Existing namespace/custom owners perform identity lowering and dedupe before this pass. +- MODIFY `src/adapters/openai-responses.ts`: import helper; invoke only inside non-forward dispatch after existing namespace/custom/search lowering around baseline line 2455, before code-mode/compaction and later hosted-tool pruning. Response alias maps stay owned by prior normalization. +- MODIFY `src/providers/registry.ts`: canonical `opencode-go` entry gains `statelessResponses: true`. Existing derive logic seeds/backfills only absent values; explicit false remains authoritative. +- MODIFY `tests/providers/opencode-go-grok46-responses.test.ts`: replace the old expected private wrapper with promoted tools; cover duplicate containers, distinct namespace same-name children, custom/function handling, hosted Luna search versus Go Grok denial, tool_choice none/allowed list, tool_search_output activation, forward/Zen/lookalike/wrong-port exclusion and immutable replay. +- MODIFY `tests/providers/opencode-go-luna-wire.test.ts`: cover seed/backfill/false, full-history continuation with synthetic reasoning and paired tool results; assert previous_response_id removed, store false, call pairing/history retained. Cover stateless orphan and reasoning-summary interactions through existing focused suites. No new test file is required if these current owners remain reviewable. +- MODIFY `docs-site/src/content/docs/reference/configuration/providers.md` and `structure/04_transports-and-sidecars.md`: record Go wrapper placement and canonical stateless default with explicit override and full-history limits. Update only contradicting translated statements. + +## Before / after flow + +Before: namespace normalization leaves valid declarations inside `input.additional_tools`; strict Go receives a private wrapper. After: the same normalized declarations appear in `tools`, and valid wrappers are removed. Before: canonical Go may forward previous_response_id with replay history. After: existing stateless normalization strips the stored-continuation parameters and sends complete history. + +## Activation and observable coverage + +Use production adapter fixtures, not a duplicate normalizer oracle. Namespace alpha.lookup and beta.lookup must both remain callable; duplicate wire identities follow the existing canonical owner. Nameless hosted tools must survive placement until provider/model pruning. Malformed wrapper, unapproved destination and forward controls stay byte-identical. Seed false must differ from default true. A two-turn synthetic continuation must preserve meaningful reasoning/tool history while removing stored-state references. Inspect existing stateless orphan repair and summary tests; extend any missing Go model coverage without weakening assertions. + +Hosted verification: PR CI covers changed runtime and provider suites, with final full dispatch before integration. Local product tests/install/typecheck/build are NOT RUN. Preserve original PR account-linked Co-authored-by credit; resolve identity from GitHub before commit. The full source investigation is in ignored `.tmp/bug6-01a07e9d/go-xai-plan.md`; it is not public implementation proof. + +## wp1 P refresh + +Previous wp0 D directs Go residual implementation. During live refresh dev advanced to c15662855 (#3975), changing only tests/codex-integration/codex-prompt-text-probe.test.ts. Hook-disabled merge incorporated that unrelated probe fixture correction before B; Go owners and this design are unchanged. The initial A narrative said unchanged dev based on the pre-fetch snapshot; this entry corrects it. + +## C audit foldback and repair plan + +Independent review at 9b42c1a80 found two blockers. F1 accepted: the stateless flag enables content-to-summary output normalization, but the continuation cache records original output; full-history overlap then fails. The adapter-only full-history fixture bypassed the affected server boundary. F2 accepted: baseUrl-only matching misses split/endpoint-inclusive configurations and can affect an overridden non-Go resource. Neither finding conflicts with preserving opaque items or existing fail-closed policy. + +Repair F1: MODIFY `src/server/responses/core.ts` at `rememberPassthroughResponseChecked` only. After current namespace/custom/function restoration, apply existing `rewriteReasoningSummaryInJson` under the same `hideThinkingSummary !== true && routeUsesContentChannelReasoning(provider, model)` condition as client output, then record that representation. Preserve item content and IDs under the existing opaque-item rule; do not weaken overlap comparison or use ID-only matching. This aligns stored output with the actual client serialization for SSE and JSON. Extend the current Go server fixture to send actual full-history plus previous_response_id and assert each prior call/message occurs exactly once; retain delta replay and hiding/opaque controls. The shared callback is an explicit narrow scope expansion required by this newly activated path, not unrelated state refactoring. + +Repair F2: the helper now accepts the final resolved Responses request URL already built by the adapter. Match exact origin and `/zen/go/v1/responses`, rejecting userinfo/query/fragment. Positive fixtures cover normal base, endpoint-inclusive base and split custom path; negative fixtures cover an override resolving to Zen/non-Go and assert both actual request URL and body. Update destination wording in docs and preserve all prior host/port/immutability controls. + +Re-review the repaired diff with the same implementation auditor; retain CI failures and repair evidence. No local product commands are authorized. diff --git a/devlog/_fin/260908_bug6_manual_stack/020_xai_continuation.md b/devlog/_fin/260908_bug6_manual_stack/020_xai_continuation.md new file mode 100644 index 00000000000..8308cc290ef --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/020_xai_continuation.md @@ -0,0 +1,25 @@ +# wp2: xAI string child-result continuation + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp1 current outbound placement and full-history regression controls. C3. Issue #3907 posts string `agent_message.content`; #3942 already implements arrays for all non-forward destinations. Scope is the string residual only. + +## File changes + +- MODIFY `src/adapters/routed-agent-messages.ts`: extend `normalizeRoutedAgentMessages` with optional `{ allowStringContent?: boolean }`, default false. If enabled and content is a nonblank string, create one input_text part containing the exact original string. Existing attribution and array handling continue. Whitespace-only, unknown, malformed and ciphertext shapes remain unchanged; never trim the forwarded text or mutate the input. +- MODIFY `src/adapters/openai-responses.ts`: reuse `isXaiResponsesDestination` from `src/providers/xai-transport.ts`, pass its result as allowStringContent inside the existing `!forward` call. Existing array behavior stays available for other non-forward destinations. No custom-forward exception. +- MODIFY `tests/adapters/routed-agent-messages.test.ts`: exercise both exact xAI hosts, API-key and OAuth, exact text/newlines, attribution, missing transport item ID and input immutability. String controls: native/custom forward, other providers, lookalike hosts and blank content stay unchanged; existing all-parts array/ciphertext tests remain. +- MODIFY `tests/server/server-xai-responses-streaming.test.ts`: extend the synthetic server fixture with parent request, child request, then parent continuation containing string child result plus genuine paired tool history. Upstream stub rejects surviving private agent_message with 422; assert user-message child text, ordinary response completion, paired calls preserved and no repeated incompatible dispatch. This exercises the wire boundary, not the actual Codex scheduler. +- MODIFY `docs-site/src/content/docs/reference/adapters.md`, `docs-site/src/content/docs/reference/configuration/providers.md`, and the contradicting Russian adapters paragraph: describe existing non-forward array conversion and xAI string extension, preserving forward/encrypted exclusions. Sync `structure/04_transports-and-sidecars.md` without broadening the passive manifest claims. + +## Before / after + +Before the raw-body outbound normalizer requires array content and leaves the issue's string item on the strict xAI wire. After it produces `{type: message, role: user, content: [{type: input_text, text: originalText}]}` through the existing attribution rules, only for an approved non-forward xAI destination. No tool result is synthesized and no encrypted message is partially discarded. + +## Verification + +Pin parent/child fixtures to synthetic input. The strict upstream stub must reject the pre-fix request shape and accept the normalized one; destination-negative controls prove the guard is active. Hosted PR CI and final full dispatch execute adapter/server regressions. Local tests/install/typecheck/build remain NOT RUN. Source audit checks raw-body call placement and all consumers of the added option. There is no serialized configuration field or migration: option creation and consumption are both in-memory adapter calls. + +## wp2 P refresh + +Previous wp1 D: PR3986 at d1f61e933 passed run34178540141 and independent source/security audit, with18Go replay scenarios and remote docs425pages. Proceed to xAI string residual. Candidate339e42c1e was prepared in an isolated worktree under the owner-authorized parallel-preparation amendment; it is not yet adopted. Its base exactly equals the certified preceding layer, and the eight-file diff matches this plan. Existing xAI predicate remains the destination owner; no account changes. Issue3907 is still open. Main revalidates candidate before B and retains fresh hosted CI before wp2 closure. diff --git a/devlog/_fin/260908_bug6_manual_stack/030_v2_guidance.md b/devlog/_fin/260908_bug6_manual_stack/030_v2_guidance.md new file mode 100644 index 00000000000..aac9ffab00d --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/030_v2_guidance.md @@ -0,0 +1,55 @@ +# wp3: V2 guidance carry + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp2 in the owner-requested manual chain. Carry PR #3944 at 6fb0fc6f1d34c77b98a74fe817e5bd90063a7d1a with both original commits and contributor trailer. Local product verification is NOT RUN. + + separate proxy routing metadata from native policy + +Source: [pinned collaboration implementation](https://github.com/lidge-jun/opencodex/blob/6fb0fc6f1d34c77b98a74fe817e5bd90063a7d1a/src/server/responses/collaboration.ts#L244), [pinned regression changes](https://github.com/lidge-jun/opencodex/blob/6fb0fc6f1d34c77b98a74fe817e5bd90063a7d1a/tests/codex-integration/multi-agent-compat.test.ts#L1188). C3 source change, with C4 care for developer-instruction and public-contract semantics; this lane does not run orchestration. + +### Concrete before -> after hunks + +| Exact path / baseline anchor | Before | After to carry | +| --- | --- | --- | +| `src/server/responses/collaboration.ts:242` | Only the native proactive constant exists. | Add private `OPENCODEX_SUBAGENT_GUIDANCE_OPEN_TAG` / `CLOSE_TAG` constants after it. Leave `PROACTIVE_MULTI_AGENT_MODE_TEXT` unchanged. | +| `src/server/responses/collaboration.ts:466-490` | Custom and built-in v2 bodies use native tags; built-in prescribes overrides, `fork_turns`, and preferred-model use. | Wrap both v2 paths in the proxy tag; replace only built-in preamble with routing-metadata wording; preferred clause ends with a period. Preserve placeholder substitution, effective preferred model, account namespace filtering, roster/fallback text, stale/unknown suppression and roster-drop budget. | +| `src/server/responses/collaboration.ts:543-545` | Exact generated-item predicate only. | Add `generatedGuidanceFamily(text)` recognizing exactly the two outer tag families. This is a dedup classification, not an authorship assertion. | +| `src/server/responses/collaboration.ts:583-594` | Latest-match handling only for native tag; other text dedups against any earlier exact match. | For either known family, compare incoming text to the latest exact generated developer text within that family in the replay prefix. For untagged text retain existing exact-item behavior. | +| `src/types/config.ts:472-475,515-516` | Effort JSDoc prescribes spawn overrides; custom-body wrapper is native tag. | Describe effort as advisory v2 metadata; update wrapper name. Preserve type declarations, injectionModel dependency and reasoning-level validation documentation. | +| `tests/codex-integration/multi-agent-compat.test.ts:270,387,615,741,781,847,1185` | Old v2 wrapper and imperative expectations; native-family A-B-A only. | Carry all changed expectations and new proxy/native replay matrices from the head; preserve existing v1, catalog, placement, sanitization and shape-negative tests. | +| `docs-site/src/content/docs/reference/configuration/agents.md:77-93` | Excludes v1 leaf workers and describes model/fork overrides. | Correct already-shipped leaf eligibility; describe proxy wrapper, advisory metadata, preserved custom body and per-family latest-text dedup. State mixed-version limitations. | +| `docs-site/src/content/docs/ja/reference/configuration/agents.md:31-37` | Old roster/guidance contract. | Carry corresponding roster correction and proxy/native/replay qualification. | +| `docs-site/src/content/docs/ko/reference/configuration/agents.md:31-37` | Same old contract. | Same localized contract. | +| `docs-site/src/content/docs/ru/reference/configuration/agents.md:38-57` | Same old contract, longer prose. | Carry full localized explanation including historical-message limitation. | +| `docs-site/src/content/docs/zh-cn/reference/configuration/agents.md:31-37` | Same old contract. | Same localized contract. | + +Do not mass-replace ``: `collaboration.ts:493-497` remains the v1 max/ultra parity path, and native/legacy history must remain byte-identical. Do not add a settings migration or infer the author of an old tagged message. No revocation of already injected instructions is claimed. + +### Data creation and consumers + +Existing config fields, not new fields: `/api/injection-model` maps `model`, `effort`, `prompt`, `multiAgentGuidanceEnabled` to `OcxConfig.injectionModel`, `injectionEffort`, `injectionPrompt`, `multiAgentGuidanceEnabled` (`agent-settings-routes.ts:501-508,529-589`). `saveConfigPreservingClaudeCode` persists the existing JSON config. No changes to that input/storage contract are needed. + +`src/server/responses/core.ts:2421-2429` passes those fields, route account namespace, featured models and fallback to `multiAgentGuidanceText`. `collaboration.ts:366-405` retains feature/tool/catalog admission; `:409-464` retains request-scoped roster and preferred/fallback derivation. Only the final rendered text changes. `applyInjectionPlaceholders` at `:504-509` still substitutes the four placeholders and preserves unknown placeholders. + +`core.ts:2430-2433` calls `injectDeveloperMessage`. `collaboration.ts:583` creates raw `{type:"message",role:"developer",content:[{type:"input_text",text}]}`; `:597-613` creates the parsed `{role:"developer",content:text,timestamp}` and places it; `:616-621` splices raw input at the matching conversation position. Both representations must retain the same ordered text across stateful replay. `src/server/responses.ts:6` reexports the same public helpers unchanged. `src/codex/subagent-model-fallback.ts:688-692` continues owning fallback prose. Native default sync is an independent consumer per `structure/03_catalog-and-subagents.md:459-465`; do not merge it with guidance. + +### Regression activation + +Carry the existing hermetic `CODEX_HOME` / catalog fixture builders (`multi-agent-compat.test.ts:23-103`), including the fresh catalog override and its cleanup. Test the actual helpers through `parseRequest`, raw input, `_replayPrefixLen`, and `_continuationConversationMessageIndex`. + +1. V2 built-in has proxy tags and model/effort/roster/fallback metadata, and lacks native tag, `fork_turns`, and preferred-model imperative. V1 max/ultra retains native tag and below-top silence. Disabled guidance and stale/unknown catalog produce null. +2. Built-in A -> custom B -> built-in A appends last A; unknown placeholders/newlines in custom B remain unchanged. +3. Native A -> proxy P -> native B -> same proxy P adds nothing; native text dedup ignores later proxy P. +4. Old built-in/native-tagged custom text + native policy + new proxy text preserves the original prefix and appends new proxy metadata. Never assert historical authorship or automatic cleanup. +5. Keep exact-shape negatives, 700-character fixture, external-task input, leading tool-result, compaction marker and raw/parsed alignment cases. +6. Small additional hunk recommended in `tests/server/server-combo-failover-e2e.test.ts:2285` beside the existing generated-guidance replay case: configure a synthetic v2 tool/catalog route, change built-in -> custom -> built-in across actual response continuations, capture adapter input, assert latest proxy guidance and native policy survive once and precede the current task. Use the existing server harness. Preserve current-dev compaction/recall fixtures in this file. This activates the caller/replay integration rather than only manually assigning parsed indices. + +Remote-only focused activation: `bun test tests/codex-integration/multi-agent-compat.test.ts`; additionally `bun test tests/server/server-combo-failover-e2e.test.ts` if adding the caller fixture. **NOT RUN here.** Negative controls for the remote verification owner: reverting the custom wrapper, collapsing the two families, or changing latest-family comparison to any-ever comparison must fail the corresponding transition tests. No local mutation/control execution. + + +Main decision: preserve the complete original diff. The optional extra server caller fixture is deferred unless source audit reveals an untested change; do not duplicate the existing replay matrix merely for volume. Sync structure/03_catalog-and-subagents.md to the new tag and policy boundary. + +## wp3 P refresh + +Previous wp2 D: PR3991 head00eb47886 passed run34180674115, source audit and remote docs425pages; proceed guidance carry. Prepared layer3 consists of24977adf2,21757b71a,8000e2482, based on d1f61e933. Intervening wp2 changes affect xAI adapter/tests, provider/adapters docs and structure04; none overlap the9layer3 files. Original #3944 remains open at6fb0fc6f. Independent prepared-source/security audit PASS in isolated v2GuidanceReviewer.md; actual adoption requires unchanged-delta/interdiff verification and own hostedCI. diff --git a/devlog/_fin/260908_bug6_manual_stack/040_v2_preset.md b/devlog/_fin/260908_bug6_manual_stack/040_v2_preset.md new file mode 100644 index 00000000000..4ab32b47683 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/040_v2_preset.md @@ -0,0 +1,96 @@ +# wp4: server-owned proactive preset carry + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp3. Carry PR #3951 at db502d486c8d8de80c0143fcfd6f86238d1ce917 with its contributor trailer. All local product commands are NOT RUN. + + make the server own proactive preset recommendations + +Source: [pinned policy module](https://github.com/lidge-jun/opencodex/blob/db502d486c8d8de80c0143fcfd6f86238d1ce917/src/codex/multi-agent-mode-policy.ts#L1), [pinned API additions](https://github.com/lidge-jun/opencodex/blob/db502d486c8d8de80c0143fcfd6f86238d1ce917/src/server/management/agent-settings-routes.ts#L252), [pinned GUI source binding](https://github.com/lidge-jun/opencodex/blob/db502d486c8d8de80c0143fcfd6f86238d1ce917/gui/src/pages/Subagents.tsx#L48). C3 API/GUI change, C4 care for persisted developer-policy text and management boundary. + +### Concrete before -> after hunks + +| Exact path / baseline anchor | Before | After to carry | +| --- | --- | --- | +| `src/codex/multi-agent-mode-policy.ts` (new, head lines 1-24) | Browser owns the preset; no recommendation owner. | Create dependency-free constant `{revision:"proactive-trigger-v1",text:[six clauses].join(" ")}`, two exact released legacy strings, and exact-equality canonicalizer. The recommendation changes the delegation trigger while preserving user/authority/scope/tool rules. | +| `src/codex/features.ts:39,1077-1094` | Non-null writer probes support then forwards original text. | Import canonicalizer; after existing capability probe set `canonicalValue = value === null ? null : canonicalizeOpenCodexModeHint(value)`; pass only that value to existing `setV2StringField`. No read-time/startup migration. | +| `src/server/management/agent-settings-routes.ts:43,250,423` | GET/PUT return stored hint only. | Import recommendation constant and append `multiAgentModeHintRecommendation: MULTI_AGENT_MODE_HINT_RECOMMENDATION` to both successful serializers. Do not add it to accepted PUT fields or config storage. | +| `gui/src/pages/use-subagent-delegation.ts:22-31` | State has stored hint but no recommendation. | Export `UltraModeHintRecommendation {text:string;revision:string}`; require `recommendation: UltraModeHintRecommendation \| null` in `UltraModeState`. Keep patch type as hint text/null and mode. | +| `gui/src/pages/Subagents.tsx:11,43,60-79` | Mode state outlives apiBase; no recommendation validation. | Add `UNLOADED_ULTRA_MODE` including null recommendation; hold `{apiBase,mode}`; derive current/unloaded state by exact apiBase. Validate nonblank string text AND revision, retaining their exact bytes; malformed/missing recommendation becomes null. Preserve abort/generation/current-server guards. | +| `gui/src/pages/Subagents.tsx:97-118,343` | Save checks busy only; forwarded busy does not describe hydration. | Refuse save without current-server mode or matching current apiBase; forward `ultraSaving || !ultraModeCurrent`. Keep PUT then GET refresh and stale-server outcome suppression. | +| `gui/src/components/subagents-workspace/SubagentDelegationSection.tsx:299-328` | Enable/Restore use local constant. | Enable sends current server recommendation.text; disable still sends null. Disable install if forced-v2 eligibility or recommendation is absent; existing nonblank hint remains clearable. Pass nullable server preset to editor. Keep editor key based on stored hint, not recommendation revision. | +| `gui/src/components/subagents-workspace/SubagentDelegationSection.tsx:341-391` | Editor requires string preset; exported browser preset remains. | Nullable preset; Restore changes draft only and is disabled without preset; Save preserves nonblank draft bytes. Remove local `ULTRA_MODE_PRESET` export. | +| `gui/tests/multi-agent-guidance.test.tsx:68,153` | Fixtures lack new field. | Add null recommendation and recommendation-refresh/unsaved-draft regression. | +| `gui/tests/subagents-ultra-mode.test.tsx:1-178` | Imports local preset and asserts duplicated text. | Remove preset import; lazy-import createRoot after DOM setup; use distinctive server recommendation fixture; carry API/malformed/edit/restore/save/server-switch cases. | +| `tests/codex-integration/codex-v2-gate.test.ts:47,426,1342` | Existing TOML and API contracts only. | Import recommendation; independently pin both released strings; add writer normalization, custom preservation, GET-no-write/unrelated-PUT preservation, readback and idempotence cases. | + +All nine locale modules retain keys and change exactly these five values: `sub.ultraMode`, `sub.ultraModeText`, `sub.ultraModeLoadFail`, `sub.ultraModeSaveFail`, `sub.ultraModeSaved`. Exact baseline anchors: `gui/src/i18n/en.ts:712`, `de.ts:683`, `fr.ts:695`, `ja.ts:643`, `ko.ts:700`, `ru.ts:698`, `tr.ts:705`, `zh-TW.ts:550`, `zh.ts:693`. English label becomes “Always proactive delegation”; no hardcoded JSX copy or locale-key rename. + +Docs: merge the wp4 proactive-preset section into `docs-site/src/content/docs/reference/configuration/agents.md:48-60`, and add the equivalent section to `ja/`, `ko/`, `ru/`, `zh-cn/` versions of that same path. Preserve every wp3 roster/proxy-wrapper/replay paragraph. These five files are the only shared files between the original PRs; carry their hunks, not whole-file replacement from #3951. The combined original carry touches 26 distinct files. + +Recommended small SOT followups, main to include in its phase write allowlist: at `structure/03_catalog-and-subagents.md:459` record the separate native-hint versus proxy-guidance owners; at `structure/05_gui-and-management-api.md:129` add the response-only recommendation and explicit-save-only canonicalization contract. No broader restructuring. + +### Complete field lifecycle / consumer audit + +1. **Creation:** policy module owns constant `text` and `revision`. Revision labels server guidance; the GUI validates a nonblank string, does not whitelist revisions, does not infer installed native capability from it. +2. **Serialization:** GET at route `:234-254` and successful PUT at `:413-427` add the same nested object. `src/server/auth-cors.ts:259-263` JSON.stringify serializes it with the existing JSON content type. No new envelope, endpoint, auth path or DTO needed. +3. **GUI hydration:** `Subagents.loadUltraMode` GET reads the object, retains both fields only if valid, and stores it with exact apiBase. `SubagentsWorkspace.tsx:47-60` forwards typed state; it needs no runtime logic change. The recommendation is not written to session-list cache. +4. **GUI interaction:** `ultraOn` remains derived from nonblank stored hint (`SubagentDelegationSection.tsx:57-60`). Enable uses recommendation.text, Clear sends null, Restore only updates local draft, Save sends draft. Recommendation-only refresh must not remount the editor; stored-hint changes still do. While a new API source is pending, the previous source's editor/hint disappears and all mode writes are disabled. +5. **Write input:** `/api/v2` accepts only the existing `multiAgentModeHintText?: string|null` for this behavior. Blank/non-string validation at route `:308-310` and unsupported-runtime preflight at `:335-339` remain before mutations. The recommendation object and revision are never sent back as configuration. The GUI PUT body at `Subagents.tsx:103-107` is JSON.stringify(patch). +6. **Persistence:** route `:390` calls `setMultiAgentModeHintText`. Its capability check remains first. Exact legacy strings become recommendation.text; arbitrary custom text, including one-space variants, stays byte-identical; null stays null. `features.ts:951-1061` owns dedicated/inline/boolean TOML forms, sibling/comment/EOL preservation and atomic writes; `:485` owns string escaping. Persist only `features.multi_agent_v2.multi_agent_mode_hint_text`. Never persist text/revision as extra TOML keys: native config rejects unknown members. +7. **Readback:** `getMultiAgentModeHintText` at `features.ts:935-937` uses `getV2StringField` at `:857`; no canonicalization on read. The successful PUT re-reads stored hint and independently returns recommendation. CLI `src/cli/v2.ts:138,151,167` reads or invokes the same writer, so CLI explicit writes also gain exact-legacy normalization without a CLI implementation edit. +8. **Other consumers:** `gui/src/pages/Models.tsx:476-486,1116-1127,1244-1255` deliberately projects flag/mode/thread/hybrid fields and ignores recommendation; `dashboard-core-poll.ts:233-244` projects mode only; `use-dashboard-data.ts:609-615` sends mode only. These clients need no new required field. Existing synthetic missing-recommendation responses remain useful old-server fixtures. `ULTRA_MODE_PRESET` has only the local component and `subagents-ultra-mode.test.tsx` consumers found in the repository. +9. **Native consumer boundary:** the stored hint is for native Codex sessions; OpenCodex's v2 request guidance does not read this field. Keep the v1 proactive constant and new recommendation as distinct owners rather than replacing one with the other. No capability claim or live native delegation behavior was tested here. + +### Regression activation + +Carry backend fixtures at pinned #3951 `codex-v2-gate.test.ts:52-57,434-446,1382-1412`. Independently pinned release strings must remain in tests; do not import the production legacy array, which would make deleting a compatibility entry delete its oracle too. + +Backend cases: each legacy input canonicalizes only on an explicit write; GET preserves exact TOML bytes; unrelated PUT preserves stored legacy; successful PUT returns canonical stored hint plus unchanged recommendation; re-save is changed:false; adjacent comments and concurrency limit survive; null clears; whitespace variants/custom text survive; unsupported binary leaves a combined request unchanged; existing inline, dedicated, boolean, CRLF, quoting and multiline-refusal tests remain active. + +Small additional hunks recommended in the same registered file: + +- Beside baseline API tests at `:1360`: PUT a custom string with leading/trailing spaces, newline, quotes and backslash; assert exact response hint and decoded TOML equality, same recommendation, and no persisted recommendation/revision keys. Assert a recommendation-only body is rejected without changing files, and recommendation extras beside a valid hint never replace the server constant. +- Beside CLI test at `:1626`: `cmdV2(["mode-hint", legacy])` for both released values; read/status returns canonical text; re-save no change; custom one-space variant preserved; `--clear` removes only hint. Use `fixtureConfig`, temporary CODEX_HOME and `installModeHintRuntime(true)` with existing cleanup. + +GUI cases, pinned [subagents-ultra-mode.test.tsx:126-318](https://github.com/lidge-jun/opencodex/blob/db502d486c8d8de80c0143fcfd6f86238d1ce917/gui/tests/subagents-ultra-mode.test.tsx#L126): distinctive server text in exact PUT; missing/bad fields block install; existing custom text remains editable/clearable; Restore sends no PUT; Save sends one; A -> pending B hides A and blocks writes; B missing/malformed/valid selects correct behavior; late A response cannot overwrite B. Preserve recommendation-only refresh draft test in `multi-agent-guidance.test.tsx:154-182`. Extend malformed matrix with null, empty revision, omitted text/revision, and non-object values; no local preset fallback. + +Remote-only focused activation: `bun test tests/codex-integration/codex-v2-gate.test.ts`; from gui, `bun test tests/subagents-ultra-mode.test.tsx tests/multi-agent-guidance.test.tsx`. **NOT RUN here.** The existing test-layout entries are already present at `scripts/test-layout/layout.json:488,825` and `tests/fixtures/test-layout-expected.json:323,660`; additions to these existing files need no new registration. GUI test discovery already covers `gui/tests`. Main's full hosted gates remain authoritative. + +## UI proof: hosted bundle, synthetic API, existing browser (main-owned) + +The author's missing screenshot is **not a blocker**. Use the current workflow's existing artifact: [ci.yml at baseline](https://github.com/lidge-jun/opencodex/blob/9e1468d4b7a41b498ed2aca98507ada2c741afea/.github/workflows/ci.yml#L451). The `gates` job builds GUI when GUI changes, writes `build-commit.txt` / `build-gui-tree.txt`, and uploads `dashboard-preview-${github.sha}` (`:451-470`). No workflow edits are required for this source lane. + +Main's execution recipe: + +1. Select the hosted artifact covering the cumulative carry candidate. Verify run/event/head, archive artifact ID, build-commit, and build-gui-tree against the actual CI checkout. A pull_request merge SHA may differ from branch head; record that and prove the GUI tree matches the carried candidate. Do not relabel an old artifact as current. +2. Unpack into isolated scratch; serve prebuilt JS/CSS/assets unchanged using a small static/synthetic HTTP server. No Bun/Vite/TypeScript build or product server locally. Fixture state lives in memory and receives only synthetic local requests. +3. Serve the actual SPA at `/#subagents` (`gui/src/App.tsx:431`) and open Advanced (`SubagentDelegationSection.tsx:235-236`). Supply synthetic bootstrap metadata in served HTML: token `ocx_session_fixture`, CSRF `fixture-csrf`, browser/server origins equal the scratch origin. `gui/src/api.ts:90-105,139-149` requires these fields. This modifies only served bootstrap HTML, not bundled implementation. Implement the fixture bootstrap path if requested; never connect it to the user's daemon or credentials. +4. Minimal page fixtures: GET `/api/subagent-models` -> `{available:[],chosen:[]}`; GET `/api/subagent-model-fallback` -> `{available:[],models:[],pollMs:60000}`; GET `/api/injection-model` -> `{multiAgentGuidanceEnabled:true,syncCodexSubagentDefaults:false,model:null,effort:null,efforts:[],available:[]}`. Give other app-shell reads safe synthetic responses with appropriate content types; record requested routes rather than silently forwarding unknown routes. Nonfixture writes must fail closed. +5. GET `/api/v2` baseline -> `{enabled:true,multiAgentMode:"v2",keepNativeChatGptOnV1:false,multiAgentModeHintText:null,multiAgentModeHintRecommendation:{text:,revision:"proactive-trigger-v1"}}`. PUT validates/captures the JSON patch, changes only fixture hint/mode, and returns fresh full state plus `ok:true`. Subsequent GET echoes that state. Use the exact candidate text for screenshots, and a second distinctive text/revision for source-of-preset behavioral proof. +6. Exercise: enable -> expected text PUT and editor; edit custom -> no PUT until Save; Restore -> draft changes without PUT; Save -> exact text PUT; Clear -> null; missing and malformed recommendation with/without existing hint; disabled v2; initial GET 503 then retry; PUT 502 -> error without false saved state. Keep request log assertions next to screenshots. +7. Server switching: the actual App keys Subagents by sharedBase (`App.tsx:431`), while unit tests also cover in-place prop updates. Use two synthetic fixture sources through the existing connection UI if supported by the host; otherwise retain hosted component-test proof for the delayed A/B update and explicitly label that branch browser-NOT-RUN. Do not rebuild a special component harness locally or fake a source switch by altering product code. +8. Capture the changed component at 1440, 1024, 768, 390 and dense 320 px widths; EN and KO long labels, light/dark and visible keyboard focus. Check textarea readability, label/button clipping and horizontal overflow. Save representative off/on/custom/old-server/error screenshots and viewport/state/request-log manifest. No need for decorative assets. + +Suggested main-owned scratch outputs: `ui-v2/source-manifest.json`, `ui-v2/requests.jsonl`, `ui-v2/en-desktop-on.png`, `ui-v2/ko-mobile-custom.png`, `ui-v2/old-server.png`, `ui-v2/error-retry.png`. This lane has created none of them. Screenshots prove the carried GUI rendering and fixture interaction; they do not prove real native delegation or TOML persistence. Backend hosted tests supply persistence evidence. Main can attach its observed images to the carrying PR; it need not wait for the author's images. + + +Main decision: preserve original 23-file diff and all regressions. Suggested extra CLI/API test cases remain a targeted audit decision rather than mandatory scope expansion. Sync structure/03_catalog-and-subagents.md and structure/05_gui-and-management-api.md with the response-only recommendation and explicit-write behavior. Render QA uses the existing built artifact. + +## wp4 P refresh and artifact publication + +Previous wp3 D: PR3992 at3ceef0121 passed CI34181398746, target-check rerun34181398713, independent source/security audit and425page remote docs build. Proceed server-owned preset. Candidate5b60a4fa7+e5a6f35b8 was independently audited25files; all25preimage files on actual predecessor3ceef0121 equal candidatebase8000e2482. Preserve original contribution and both layers of agent guides. + +UI proof uses the immutable matching hosted dashboard artifact and reviewed auxiliary stdlib fixture at /tmp/ocx-bug6-prep-v2-01a07e9d/.tmp/ui-v2/server.py. No product server/build or actual account operations. Capture and inspect representative desktop/mobileEN/KO, valid/custom/restore/save/clear/missing/malformed/error cases; hosted tests retain in-place delayed-server-switch coverage. Publish only sanitized screenshot assets on an owned evidence branch via noverify push and link immutable commit URLs in this PR, so adding review evidence does not rewrite the tested product head. This evidence-only branch is not another product PR or native stack. Actual product delivery remains the one six-layer chain. Preserve asset provenance/buildGUI-tree checks and teardown proof. + +## C render foldback: narrow editor layout + +Real prebuilt GUI capture at320px shows an unbroken configuration-key hint clipped and the textarea compressed beside both actions;390px has no page overflow but editing space is unnecessarily narrow. Evidence ui-qa/ko-320-custom.png and ko-mobile-custom.png under ignored scratch. This is a bounded improvement of the changed preset surface, not a claim that the original PR introduced the old layout. + +MODIFY gui/src/styles-subagents-workspace.css only: add overflow-wrap:anywhere to existing delegation setting hints; give the preset editor a minmax(0,1fr)/auto/auto grid with min-width0 textarea; reuse existing640px media breakpoint to span textarea across a full first row and place two actions on the second row. NoJS, labels, fields or authority semantics change. Rebuild only remotely; compare head-stamped320/390/1440captures and DOMwidth/textareawidth, plus existing frontendgates. Retain prior functional UI request evidence becauseJS unchanged; verify a representative Save on finalrender. Main re-audits this CSS scope before B and captures finalartifact before publishing screenshotproof. + +## C verification foldback: bounded guard probes + +Run34183701289 timed out on macos1/2 after test-home-guard passed its unregistered-home case, then Bun reported a dangling process. Runtime root cause remains unproven (H1retainedchildhandles/H2syncwait/H3isolate state); source establishes an unbounded synchronous probe owner. This is a verification-harness correction, not a claim to fix Bun internals. No production guard behavior changes. + +MODIFY tests/ci-workflows/test-home-guard.test.ts only: convert runProbe and all its callers to awaited async Bun.spawn; reuse exported captureTestOutput from scripts/test.ts (its executable entry is import.meta.main gated, already imported by test-runner tests); preserve exact argv/cwd/environment filtering/fake homes and all existing assertions. Use existing watchdogMs(5000) below CI60s test ceiling, bounded execution/TERM/KILL/reap/output-drain stages with cleared timers and cleanup of probe scratch. Require natural exit0, no signal, complete output; timeout/nonzero/incomplete/unreaped is a thrown diagnostic, never a success marker. Record safe probe-boundary ID/PID/exit diagnostics without inherited environment. Add synthetic nonzero-exit and nonterminating-probe controls proving failures are reported and owned child gone; do not skip guards or extend CI deadlines. All product verification stays remote. If new diagnostics still stall/fail, investigate that boundary; passing the converted harness is not an upstream-root-cause claim. diff --git a/devlog/_fin/260908_bug6_manual_stack/050_credit_alias.md b/devlog/_fin/260908_bug6_manual_stack/050_credit_alias.md new file mode 100644 index 00000000000..30c38ee20b3 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/050_credit_alias.md @@ -0,0 +1,29 @@ +# wp5: canonical reset-credit operation identity + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp4 for the owner-requested delivery chain. C4; no live credit consumption. Source PR #3965 at `6c1477d19c7d1a77a1866cabfd2b4411f1a210d7` carries #3919 by luvs01. Revalidate both source heads and current dev before implementation; do not rewrite their branches. + +## Published patch to carry + +- MODIFY `src/codex/auth-api.ts` at the reset consume handler: `const identity` becomes `let identity`; after execute admission assign `identity = { ...identity, operationId: opened.operationId };`. Upstream dispatch and both durable settlement paths then share the canonical operation ID. Authentication, admission failures, account binding and terminal replay stay before this assignment. +- MODIFY `tests/codex-integration/codex-auth-api.test.ts`: import the existing ledger opener, assert a settled alias replay consumes no additional credit, and construct truly pending canonical operations for thrown fetch, non-2xx and unknown-code alias failures. Assert the durable row becomes ambiguous while account key and canonical ID remain unchanged and terminal code remains null. +- MODIFY `docs-site/src/content/docs/reference/management-api.md`: carry the source paragraph distinguishing unfinished alias joins, known terminal replay and new explicit intent after settlement. + +Retain `Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>` and original source commit references. Do not carry auto-redeem worker changes: #3970 is already on baseline. + +## Verification + +The final immutable three-file source range is `abb46a1599ec0d0bbfbe03905114178df92e67f5..62412d38606851f7cace76360f3c5737db9cae20`; the landed equivalent is `abb46a1599ec0d0bbfbe03905114178df92e67f5..402be7c1f88283eb8465c3aec8437ccecd2542ec`. These final pins supersede the initial intake head above. A live source-head mismatch requires renewed comparison before carry; the mutable PR files page is navigation, not patch authority. Each negative fixture begins pending, so it observes the changed failure-settlement path instead of rechecking an already ambiguous row. Existing no-operationId and ordinary terminal paths remain regression controls. Hosted CI runs the auth and ledger suites; local tests/typecheck/build/install are NOT RUN by owner instruction. A source/security reviewer verifies the exact carried head before merge. Existing source-PR CI failure is historical and must not be described as passing. + +All additional unpublished security analysis lives in ignored `.tmp/bug6-01a07e9d/credit-plan.md` and later audit artifacts. It must not be copied into this public unit. + +## wp5 P refresh + +Previous wp4 D certified PR3993 head727683f44 with CI34185870948, source/security/GUI audits, QA and remote docs. Proceed canonical alias carry. Live refresh supersedes the prepared pin: #3965 merged at03:17:07Z with head62412d386 and merge402be7c1f; prepared bdb9f4bfe+9eb44cfb4 passed two source/security audits. All three target files on actual predecessor727683f44 equal preparedbase d1f61e933; intervening V2/GUI/test-harness deltas do not modify this owner. Keep exact3filecarry and original attribution. No real credentials/resetcredits and no localproductcommands. Actual adoption equality and hostedCI remain required. + +## Verified landed disposition + +Current origin/dev402be7c1f contains the #3965 merge402be7c1f. Its three target files exactly equal prepared candidate9eb44cfb4 (git diff exit0); PR CI34181771859 passed at exacthead62412d386, including Linux4/macOS2/gates. Thus the source item is already landed, not a new product fix. The initial A narrative retained the old OPEN assumption; this fresh source/API evidence corrects it before B. + +NOOP for a new PR. Adopt the identical two contribution commits locally only as the prerequisite for wp6; preserve provenance and contributor credit. The final new recovery PR targets existing layer4 and explains the already-landed alias dependency in its base-relative diff. No duplicate fifth PR is created and no original branch is rewritten. c5 closes on live merged-state/CI/ancestry/file equality evidence; wp6 and final cumulative integration still run their full gates. The single product stack has five new PRs plus this independently landed sixth source item. diff --git a/devlog/_fin/260908_bug6_manual_stack/060_credit_recovery.md b/devlog/_fin/260908_bug6_manual_stack/060_credit_recovery.md new file mode 100644 index 00000000000..1fe1b8137e1 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/060_credit_recovery.md @@ -0,0 +1,43 @@ +# wp6: manual reset recovery + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp5 canonical operation identity. C4. Implements the user-visible contract in public issue https://github.com/lidge-jun/opencodex/issues/3973 . No real account actions or credit consumption are authorized by this development task. + +## File map and private implementation appendix + +- MODIFY `src/codex/auth-api.ts`: connect the authenticated manual operation with the existing quota-observation and routing-recovery ownership contracts. +- MODIFY `src/codex/routing.ts`: reuse narrowly targeted recovery ownership rather than broad account-health clearing. +- MODIFY `tests/codex-integration/codex-auth-api.test.ts` and `tests/codex-integration/codex-cooldown-recovery.test.ts`: mocked endpoint and ownership-race regressions using existing fixture conventions. +- MODIFY `docs-site/src/content/docs/reference/management-api.md` and `structure/08_openai-provider-tiers.md`: document the resulting supported contract when the patch is public, without account examples or internal proof material. +- NO CHANGE to persisted ledger schemas, auto-redemption policy, selected-account policy, GUI, or real credentials. + +The complete before/after design, exact current source anchors, threat model, reachable activation cases and observable negative assertions are recorded in ignored `.tmp/bug6-01a07e9d/credit-plan.md`, section "Layer 2", against baseline `9e1468d4b7a41b498ed2aca98507ada2c741afea`. This is a mandatory implementation appendix, not deferred planning. Repository AGENTS.md requires unpublished security working notes to stay in scratch, overriding public devlog placement. Both the A reviewer and B worker must read the appendix; loss of the appendix requires reconstructing and auditing it before B. + +## Acceptance and verification + +Only the matching account's eligible pre-existing cooldown may be recovered after confirmed reset and fresh supporting evidence. Ordinary successful requests, uncertain results and replay do not gain broader recovery authority. Existing unrelated scopes and caller selections remain intact. The private appendix enumerates the full mocked positive/negative matrix and claim cleanup requirements. + +Run no local product commands. Hosted CI must execute the affected auth, cooldown, quota and provenance suites; independent security review remains required. PR #3848 overlaps the flight interface: refresh before B and integrate any landed change without absorbing its unrelated registration behavior. New code belongs to this owned stack; do not modify other open PRs. Record privacy-safe outcome evidence here only after publication. + +## wp6 P refresh + +Previous wp5 D verified #3965 already landed in dev402be7c1f, exacthead62412d386CIpassed, and locally adopted identical prerequisite (926b3719f); no duplicatePR5. This recovery PR targets existing layer4 #3993 and identifies the already-landed alias prerequisite in its relative diff. Source3973 remains open. Fresh inventory found overlapping contributorPR3995 (e172453052bf7bbc4a0ae5aa24592982c0c64b15) and independent fallbackPR3997; the latter resolves3996 and is outside this goal. The earlier no-overlap narrative was incorrect and is superseded before B. + +Prepared recovery e6e081c09 plus repair a87a3f624 passed independent security and behavior audits. The private repair synthesis and updated handoff under ignored scratch resolve main-publication ordering and positive refresh provenance; never copy security working analysis into this public unit. All six target preimages on actual predecessor926b3719f equal auditedbase9eb44cfb4. Revalidate the unchanged candidate across intervening V2/GUI/testharness context, then adopt. All mocked regressions, current-head hostedCI, privacy, finalfullcohort proof and source-item closeout remain required. No localproductcommands or realcreditactions. + +## Concurrent source reconciliation in P/A + +Review new3995 against the prepared candidate before adoption. Preserve originalcontributor credit and include its useful language/CLI docs or regression cases when source comparison warrants. Existing prepared recovery provides bounded claims/publication/provenance invariants; no competing implementation is accepted solely from prior green claims. Comparative security/behavior source reviews are in progress, all notes remain scratch. No productdelta forwp6 has been adopted yet. + +## Consolidated source decision + +Retain audited recovery e6e081c09+a87a3f624 and consolidate contributorPR3995 rather than creating competing deliveries. Comparative security review retains its PASS; detailed algorithm findings remain private in credit3995Comparison.md. Keep pause/reauth eligibility and existing background lease ownership conservative and document that recovery can remain pending under those conditions. #3997/#3996 stays outside scope. + +Additional MODIFY paths: docs-site/src/content/docs/ko/reference/management-api.md and docs-site/src/content/docs/reference/cli/providers-accounts.md, carrying the matching contributor guidance with parity to the final conditional recovery contract. This expands six unique files to eight. Do not duplicate the fuller English API paragraph. Adapt PR3995 tests into the existing auth-api test: two cold-main reset/already_redeemed cases without prior listing/reconciliation, bogus consume99 versus freshWHAM1; strengthen the existing saturation test with pre-existing shared cooldown, one consume, zero usage and retainedcooldown; adapt the two-old-flight/current-generation convergence scenario to assert fresh fourthdispatch completes before oldresponses, then oldresponses cannotoverwritefreshquota or recoveredcooldown. Preserve and await every deferred fixture cleanup. No new testfile, account-store schema or CLI runtime change. + +Carry sourcee172453052 with Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> in the adaptation commit and final PR body; describe exactly which tests/docs are adopted. B includes local candidate adoption and these bounded test/doc additions; independent interdiff review and exacthead hostedCI remain mandatory. No local tests/install/typecheck/build or realcredits. + +## C fixture foldback + +CI34188041321 caught a shared401-recovery budget leaking between fake-home cases: prior manual-a selfrefresh spends generation2, and the next case creates a different generation2 in a newhome but doesnotreset the module budget. The early spent-budget refusal prevents the intended external-replacement replay. MODIFY only the existing auth-api test: import/call resetQuotaRecoveryForTests in beforeEach/afterEach, assert empty budget at the negative-case start, observe real force-refresh provenance, and KEEP expectedfreshremaining2, replay URLs and cooldown-preservation assertions. No production relaxation. Also use existing watchdogMs(10000) and60souter ceiling for the new convergence fixture; its current run passed, so this is convention/contended-runner safety, not increasing a failing behavioral timeout. Source/interdiff review and newexactheadCI are required. diff --git a/devlog/_fin/260908_bug6_manual_stack/070_integration.md b/devlog/_fin/260908_bug6_manual_stack/070_integration.md new file mode 100644 index 00000000000..8a2dac44822 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/070_integration.md @@ -0,0 +1,61 @@ +# wp7: hosted verification and integration + +Historical phase record. Delivery is complete; see [071](071_delivery.md) and [072](072_final_proof.md) for terminal evidence. + +Depends on wp1–wp6. The owner explicitly requested a single manual branch chain. This cycle changes only its delivery records and evidence; a discovered product defect is assigned an audited repair cycle before integration continues. + +## File changes + +- MODIFY this unit's `000_plan.md`: replace in-progress outcomes with exact source commit, PR, run IDs, tested heads and terminal dispositions; record failed/skipped checks separately. +- NEW `071_delivery.md`: six-row original-to-carried PR mapping, attribution, pinned GitHub evidence, active branch/base topology and merge result per layer. Store no account identifiers or private payloads. +- NEW `072_final_proof.md`: fetched dev SHA; per-layer ancestry command results; final candidate tree and landed tree comparison; unchanged pre-existing-file fingerprint verification. If a merge commit contains concurrent changes, isolate and explain each difference rather than claiming whole-tree equality. +- MOVE this completed unit to `devlog/_fin/260908_bug6_manual_stack/` only when all outcomes are terminal. Evidence generated before moving records both paths. Do not move other units. +- GUI screenshot files, if needed, use the existing `.github/pr-assets/` convention after verifying the generated image contains synthetic settings only. + +## Exact delivery actions + +1. For each nonempty candidate use a new owned `codex/bug6-01a07e9d-*` branch. Bottom base is dev; each upper base is the prior owned branch. Preserve author trailers and satisfy every section of `.github/PULL_REQUEST_TEMPLATE.md`. +2. Commit with `git -c core.hooksPath=/dev/null commit`; push with `git -c core.hooksPath=/dev/null push --no-verify`. No install, test, typecheck or build hook runs locally. +3. Read each PR's current head/base and native `stack` field. A native membership conflict is inspected without mutating membership. Our newly created ordinary PRs must remain manual. +4. Inspect `gh pr checks` and matching workflow runs. Before landing obtain final candidate `ci.yml` `workflow_dispatch` with `lane=all` as well as required PR checks. Bind conclusions to `head_sha`, event and run attempt. Retry failed jobs only after investigating the actual failure and ensuring it does not hide a product regression. +5. For the preset UI, download the hosted `dashboard-preview-*` artifact from the verified head. Verify `build-commit.txt` and `build-gui-tree.txt`; serve the prebuilt bundle with synthetic API fixtures on a disposable loopback port; observe preset activation/restoration and server-switch behavior in a browser; capture/read the screenshot. No local product compilation. Existing browser driver only, no installation. +6. Refresh MAINTAINERS.md, live actor permission, reviewer objections and security evidence. Record maintainer integration in the owned PR body. The repository deletes merged head branches: inspect direct children and retarget our next child to dev immediately before merging its parent, so automatic deletion cannot close it. Land only the bottom PR with `--match-head-commit`; verify the resulting integration head and CI evidence before advancing. Never merge an upper PR into its parent branch as if that landed it in dev. Do not change repository settings or unrelated children. +7. Fetch dev after each merge and prove the merged commit is an ancestor. At final integration compare actual trees against the final certified candidate, including any explicitly reviewed concurrent dev changes. +8. Refresh each original item and mark closed only if its entire user-visible bug is resolved by the landed tree. Preserve unresolved residuals as open; report the exact residual rather than treating overlap as duplication. + +## Activation and observation + +- Failed/queued/cancelled hosted job: inspect actual run/head; no merge until required evidence is successful. +- Base advances: recompute integration tree and obtain fresh evidence; old SHA checks are historical. +- A maintainer objection remains: resolve its concrete finding or obtain withdrawal before merge. +- A source PR lands concurrently: verify its actual delta and remaining contract; use an evidence-backed NOOP rather than reapplying it. +- UI stale-server or malformed-recommendation fixture: preset install disabled; custom edit/clear retained; no cross-server write. +- Final condition: all six source contracts mapped to landed results; no destructive changes to user files, service state or credentials. + +## Validation limits + +Local product tests, installs, typechecks and builds: NOT RUN by owner instruction. Hosted tests and independent source audits provide product evidence; docs-only filesystem/link/whitespace checks provide document evidence. Neither substitutes for the other. + +## wp7 P refresh + +Previous wp6 D:6904ecd9c passed CI34188893148 and source/security/interdiff audits; coldmain, busy, same-tick replacement and converged-flight regressions passed; docs425pages plus renderedlink/KOparity passed. Latestdev402be7c1f is pinned for integration. Read-only merge-tree predicts conflicts only in reference/management-api.md and codex-auth-api.test.ts because dev already contains the canonicalalias prefix. Both dev versions exactly equal our adopted alias predecessor9eb44cfb4; resolve those two to our current versions, which include that prefix plus the audited recovery. No pre-existing userfile overlaps the incomingdevdelta. + +Merge402be7c1f into the topbranch with hooksdisabled, preserving all other incomingfiles. Record exactresolvedtree, recheckcurrentdev, publishnoverify, and dispatchci.yml lane=all on that exacthead. NewPRchain is3986→3991→3992→3993→4002;3965alreadymerged. All original candidateheads retain passingPRCI; any rewrittenhead gets freshproof. Refresh each target/head/membership/review/CI before its separately authorized ordinary merge. Use merge commits to preserve ancestry/attribution, retarget each nextchild todev, and prove resolved integration content is covered by the certifiedtop. Current-headrequiredchecks and source/security duties remain separate. + +After productlanding, close only satisfied sourceitems, including superseded3995 aftercore3973lands; preserve3997. Archive this unit with an evidence-only closing PR if needed, so completedrecords do not change the tested product tree. Verify that closingdelta is documentation-only and receives its properCI; retain exact product-tree equivalence to the full-matrix candidate rather than attributing skipped productjobs to passingexecution. No release/main/preview/deployment changes. + +## Final CI repair amendment + +Full run34190287787 at f1b436324 failed Windows3/6: the first restart-help correctness test returned an unobserved exit status after its fixed10s synchronous subprocess bound. Other observed shards passed; wait for the complete run before deciding whether any additional repair is needed. The source investigation does not establish a Bun defect or a startup latency cause. + +Modify only `tests/cli/cli-restart-health.test.ts` for this repair. Replace synchronous spawning with awaited Bun.spawn, existing captureTestOutput and watchdogMs(10000). Preserve all eight command tests, arguments, private homes, output assertions and legitimate health exit1. Independently bound execution, TERM grace5s, KILL reap2s and output drain1s; clear timers and keep timeout, signal, rejected observation, incomplete output and unreaped child as failures even after eventual exit0/1. Use an outer cleanup envelope below the existing60s CI ceiling. Keep child ownership and avoid deleting an unreaped child's private home. Emit safe stage/PID/exit diagnostics without inherited environment or credentials. Add small controlled wrapper regressions for sticky timeout, incomplete output at0/1, unreaped child and spawn/observation errors; reuse capture-owner coverage for its internals. No production CLI or workflow timeout changes, assertion removal, skip, retry loop or local product execution. + +An independent plan audit precedes implementation; an independent patch audit precedes publication. Publish the repaired top head with hooks disabled and --no-verify, obtain fresh PR checks and a new full lane=all dispatch on that exact SHA, and verify the original Windows lane. Passing results establish that head's observed outcomes, not the historical root cause. The final docs build runs remotely on the integrated docs tree. Preserve failed-run evidence and all prior user files. + +## Last-layer ancestry repair + +Four lower PRs landed with exact predicted trees; current dev is `74f62f9c2914ead2fba474aa97734e322251bd46`. Candidate `f80f39d20e8395901d3b62758d118ea3a559a9f4` passed PR CI34193213502 attempt2 and full CI34193218874 attempt2 (26 named jobs and execution steps). Each investigated macOS retry was limited to its failed/cancelled job; prior failures remain recorded. + +GitHub refuses the last PR as conflicting even after its base metadata was refreshed to actual dev; ordinary GraphQL and REST merges both refused. Local merge-tree remains clean and equals candidate tree `1b3bd117702b86da5810b1ad21988a2c60df6d17`. The histories have two merge bases, `727683f44e9f1daa9b6b1e2dbf93167e4ce30cc1` and `402be7c1f88283eb8465c3aec8437ccecd2542ec`; this explains the need to simplify ancestry without claiming a proven server implementation cause. + +Merge that exact current dev into the owned top branch with hooks disabled. Before adding this record, require exact candidate-tree equality; no product files may change. Include only this integration record in the merge commit. Independently audit both parents and the exact record-only tree delta, preserve all 30 user files, push no-verify, and obtain fresh PR and full lane=all CI on the new head before merging #4002. Preserve the earlier successful candidate evidence as historical; do not label it new-head execution. All source closures and final archive duties remain pending until landing. diff --git a/devlog/_fin/260908_bug6_manual_stack/071_delivery.md b/devlog/_fin/260908_bug6_manual_stack/071_delivery.md new file mode 100644 index 00000000000..0598a4b4011 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/071_delivery.md @@ -0,0 +1,35 @@ +# Delivery and verification ledger + +Certified final head `5d5d35756b9b672aecf10a64be0db1f7afc144ae` has tree `5fba579b0d10183e921657dbcf4edbd166c20ec7`. All five owned PRs merged bottom-up, and actual product dev `9ad218a9bdd34ee33004c35706d78396bf02eef2` has exactly the same tree. + +| Owned PR | Certified head | Actual dev merge | PR CI run / attempt | +| --- | --- | --- | --- | +| #3986 | `d1f61e933b0cde3df3862baed65546a5cf81066f` | `7b2223776450804a6b8a4509a115dd42ee1b9c40` | 34178540141 / 1 | +| #3991 | `00eb47886690e7b24b0eed69b6d870c33ceade62` | `7730f666ee1acabe2cd7729ec56f4c53149d926c` | 34180674115 / 1 | +| #3992 | `3ceef0121712b290c3d4443e9fc3f0a04cecead6` | `74292a21e6d504960ef753b403341498fd5bfe30` | 34181398746 / 1 | +| #3993 | `727683f44e9f1daa9b6b1e2dbf93167e4ce30cc1` | `74f62f9c2914ead2fba474aa97734e322251bd46` | 34185870948 / 1 | +| #4002 | `5d5d35756b9b672aecf10a64be0db1f7afc144ae` | `9ad218a9bdd34ee33004c35706d78396bf02eef2` | 34198172044 / 1 | + +Final full `ci.yml` workflow_dispatch lane=all: [34198186409](https://github.com/lidge-jun/opencodex/actions/runs/34198186409), attempt2. All 26 named jobs and mandatory execution steps were verified successful. PR #4002 CI [34198172044](https://github.com/lidge-jun/opencodex/actions/runs/34198172044) passed at the exact final head. A successful attempt2 summary includes successful jobs retained from attempt1; it does not mean those jobs executed again. + +## Failures and bounded repairs + +- Go's initial synthetic userinfo fixture failed privacy scanning; fixture construction was corrected before candidate CI34178540141 passed. +- The preset's home-guard subprocess stalled on macOS. Its bounded execution/reap/capture repair retained all10 original fixtures and38 assertions; CI34185870948 passed. The native cause remains unproven. +- Recovery CI34188041321 exposed shared test-budget state between synthetic homes. Isolation was corrected without dropping assertions; CI34188893148 passed. +- Full34190287787 at f1b436324 failed Windows restart-help with an unobserved synchronous child exit at10s. The bounded asynchronous CLI harness retained8 original tests/18 assertions and added10 lifecycle controls. Independent source review and later Windows execution passed. +- At f80f39d20, PR34193213502 attempt1 hit a macOS job cancellation at an unchanged injection-lock test boundary. Same-head full macOS1 passed the same tests; one investigated job-only rerun passed. Full34193218874 attempt1 separately timed out in an unchanged Copilot cancellation test; the same-head macOS shard passed that case. One control-only rerun passed, with21,805 main-suite passes and0 failures. Scheduler, ordering and native causes were not established. +- After four parents landed, GitHub refused the last merge while local merge calculation was clean. Two common ancestors were observed. The final ancestry merge incorporated actual dev74f62f9c; independent review proved that only the070 record changed from the already certified f80 product. Fresh exact-head CI was obtained; no old run was relabeled as execution on the new head. +- Full34198186409 attempt1 failed Windows3 cleanup: EPERM removing a fixed test directory in afterEach caused subsequent setup/cleanup failures. Identical product files had passed the preceding Windows3 run. Independent inspection supported one failed-job-only diagnostic rerun. Job101977029312 passed3,304 tests with0 failures; the affected TTL case passed172.72ms. The handle/permission owner remains unknown. No test threshold or product code changed for this retry. + +Passing jobs were retained during these job retries, not rerun. Failed/cancelled attempts remain historical evidence. No root-cause or flake-eradication claim follows from a successful retry. + +## Attribution, UI and documentation + +The carried Go intent retains `Co-authored-by: jpierrevd <265811239+jpierrevd@users.noreply.github.com>`. V2, alias and adapted #3995 coverage/docs retain `Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>`. Merge commits preserve their history. The lossy mixed-ciphertext filtering proposal from #3838 was declined; fail-closed behavior remains. + +Dashboard tree `b0bc09ba867906375e52cf0180caa4ea4ea95bea` equals the inspected artifact tree. Hosted artifact10039810403 from34183701289 was observed against a synthetic API: enable, exact custom Save, draft-only Restore, Clear, malformed/missing recommendation, error/retry, server switching,320/390px and desktop layouts, and keyboard focus. Two independent reviewers accepted it. Immutable screenshots are in [#3993](https://github.com/lidge-jun/opencodex/pull/3993), evidence commit924327cdd71a14a0aea1936e4c5e1f6b6b660438. Owned fixture/browser ports were closed. + +Docs tree `7041e912691a5150893fbf4f782734c94e49d056` equals the remotely built integrated tree. Bun1.4.0 / Node24.20.0 frozen install and build on isolated macmini-cf scratch produced425 pages; rendered CLI/API anchor and English/Korean recovery text were checked. Archive SHA-256 a51cdbd83f409472defcb7758873734edba167f116a17869ec345366e0e9063d. An early incomplete-transfer attempt was excluded from passing evidence. No docs deployment occurred. + +Local product tests/install/typecheck/build: **NOT RUN**. This archive changes only this unit's Markdown records; its own metadata/CI/privacy verification is separate from product execution. diff --git a/devlog/_fin/260908_bug6_manual_stack/072_final_proof.md b/devlog/_fin/260908_bug6_manual_stack/072_final_proof.md new file mode 100644 index 00000000000..77631244877 --- /dev/null +++ b/devlog/_fin/260908_bug6_manual_stack/072_final_proof.md @@ -0,0 +1,23 @@ +# Actual product landing proof + +Verified 2026-09-08. Final candidate `5d5d35756b9b672aecf10a64be0db1f7afc144ae` and fetched product dev `9ad218a9bdd34ee33004c35706d78396bf02eef2` have identical tree `5fba579b0d10183e921657dbcf4edbd166c20ec7`. `git diff --exit-code` returned0. Each owned head and actual merge commit is ancestral to fetched dev; #3965's existing402be7c1f merge is also ancestral. + +| PR | Actual merge commit | +| --- | --- | +| #3986 | `7b2223776450804a6b8a4509a115dd42ee1b9c40` | +| #3991 | `7730f666ee1acabe2cd7729ec56f4c53149d926c` | +| #3992 | `74292a21e6d504960ef753b403341498fd5bfe30` | +| #3993 | `74f62f9c2914ead2fba474aa97734e322251bd46` | +| #4002 | `9ad218a9bdd34ee33004c35706d78396bf02eef2` | + +Before each merge, current head/base, actor admin permission, maintainer roster/reviews, CI, native membership and direct-child inventory were refreshed. The dev-only maintainer-integration decision and exact verification were recorded in each owned PR body. No maintainer change request remained. Independent technical/security review duties were retained; this was not self-approval. Native stack membership was empty. + +The first four actual merge trees matched their serial predictions. GitHub's final merge refusal was repaired with an independently audited ancestry merge; the final actual dev tree then matched the newly certified head exactly. Full CI34198186409 attempt2 verified all26 named jobs and mandatory execution steps; PR CI34198172044 attempt1 passed. Earlier failed attempts are recorded in071. + +Sources3838/3944/3951 are closed, issue3907 is completed, and3965 was already merged. After actual4002 landing, issue3973 was completed and3995 was closed as consolidated. The scope excludes3997/3996. Thirty original user files matched their pinned SHA-256 values with0 missing and0 mismatched; they were excluded from all commits. Scratch/evidence directories remain untracked. + +## Archive-only completion record + +This closing change moves exactly this unit from `devlog/_plan/260908_bug6_manual_stack/` to `devlog/_fin/260908_bug6_manual_stack/`, updates its terminal records and adds this proof. Product content is unchanged. The closing PR and session receipt verify the exact old/new paths, regular-file modes and blob IDs against the reviewed delta, plus closing CI/metadata and a remote privacy scan. Documentation-only skipped product jobs are NOT RUN, not passing product executions. + +The closing PR's own merge SHA cannot be embedded in the commit that creates it. Its observed post-merge ancestry and exact record-only delta are verified after landing in the final session receipt and delivery report, rather than predicted here. diff --git a/devlog/_fin/260908_c248_individual_fixes/000_plan.md b/devlog/_fin/260908_c248_individual_fixes/000_plan.md new file mode 100644 index 00000000000..3dca83c8cbe --- /dev/null +++ b/devlog/_fin/260908_c248_individual_fixes/000_plan.md @@ -0,0 +1,33 @@ +# Lane C: independently reviewable 2.48 preparation fixes + +Scope: satisfy-spec HOTL requested by the owner on 2026-09-08. Goal: independently land #3953, #3899 and the timezone-only part of #3950 into dev, retaining original authors. This returned/stored roadmap is the memory artifact. Baseline dev: `514350e6f79ed4539378388bc39d3fc79ff2c70c`. No resource budget was specified; native host limits apply. Tool scope: local Git/source/artifact checks, GitHub repository/Actions, and explicitly authorized A/B coordination; astra high read-only auditors. No local product tests, typechecks, builds or dependency installation, including incidental Git-hook execution. Use per-command `git -c core.hooksPath=/dev/null` for mutating Git operations, and `push --no-verify`; do not modify shared Git configuration. + +## Work phases and ownership + +`roadmap` (this docs-only full PABCD) precedes three independent delivery cycles: `privacy`, `release_notes`, `timezone`. `reconcile` depends on those deliveries and lane B's JWT evidence. The processing order is scheduling, not a code dependency: each delivery remains a separate dev-targeted PR. Reuse original #3953 if unchanged and reviewable; carry #3899 onto current dev if needed; timezone gets a new PR sourced from only commit 1d8f6ff7e8d48f33c3ce7a1b7118068754bbbe83. Never create a combined code-delivery PR or squash different bugs together. Local roadmap/outcome commits stay on this coordination branch until a separate documentation-only closeout is appropriate. A separately audited evidence-only workflow branch may add supplemental hosted platform proof without entering any delivery PR or changing its required CI. + +## Boundaries + +No JWT changes, provider/routing work, main/preview promotions, version changes, deployments, release execution, live-account/service probes, history rewriting or public reproduction of removed material. Confidential investigation stays in ignored `.tmp/c248/`. The public docs describe only approved correction scope, not sensitive values. No new runtime type/enum/field is added, so creation/serialization/deserialization/consumer field-chain work is N/A. + +## Verification contract + +The roadmap uses actual file and source-object inspection plus `git diff --check` (run in this checkout before the roadmap close). Delivery uses the repository's existing hosted CI on each PR's current head; source-sensitive suites and the actual workflow scope must be checked. Local product commands are explicitly NOT RUN. No blind retries, cancelled/skipped/pending-as-pass, broad test weakening or artificial screenshots. A docs-only scope check is not a product-suite pass. Head rewrites require fresh current-head evidence. If dev moves, classify the actual delta and do not claim an unexecuted integration tree was tested. Before merge, validate required gates and exact head; preserve unrelated destination changes and prove the landed source diff. + +## Integration coordination + +The active A and B workstreams agreed on `/ocx-248-dev-merge.lock`: atomic mkdir, owner.json with sessionId/pid/hostname/PR/SHA/acquiredAt, owned only from final refresh through landed verification. Never hold it while waiting for CI or delete another owner's lock. This is a cooperative serialization convention, not a security boundary; an uncooperative actor can bypass it. The main thread resolves collisions, missing permissions or contradictory evidence without expanding worker scope; a new worker slice requires a plan amendment, and two distinct failed workers return the slice to main. + +Use the repository PR template and MAINTAINERS.md. Explicit maintainer integration is allowed only after checking live identity/role, outstanding objections, required CI, and required security review. Existing PR head authors remain attributed; carried commits use cherry-pick provenance and a Co-authored-by trailer surviving squash. After landing, verify merge SHA ancestry, actual file delta, destination preservation, and authors. Close original carry PRs only then. #3950 stays open until both timezone and B JWT fixes are proven on dev; C owns final closure. A/B status contributes to a readiness report, not release authority. + +## Stop and outcomes + +DONE requires all three delivered/proven already present and #3950 reconciled; final report lists source PR, delivery PR, landed SHA, actual CI results, authors and residuals. A blocked item does not stop independent work. Missing authority or unsafe evidence is unresolved, not a successful criterion. Read goalplan/ledger after each D and continue remaining cycles. Scope does not include a fixed cost/time budget or new paid service purchases. + +## Roadmap audit and completion + +Independent astra high roadmap audit: PASS, no blocking findings. The timeout prose was aligned with the dedicated child marker used in the exact patch. The roadmap-only check is Git diff whitespace plus independent source/semantic audit; no product suite was run. Next cycle: adopt and validate the unchanged #3953 correction. + +## Final reconciliation + +Privacy and release-note cycles completed before the timezone cycle. All delivery evidence and residuals are in050_outcome.md. Original3950 closed after both BJWT and Ctimezone landing proof. This unit archives to_fin through a separate docs-only PR; no product commit is combined with this record. diff --git a/devlog/_fin/260908_c248_individual_fixes/010_privacy.md b/devlog/_fin/260908_c248_individual_fixes/010_privacy.md new file mode 100644 index 00000000000..6e22b7a5f20 --- /dev/null +++ b/devlog/_fin/260908_c248_individual_fixes/010_privacy.md @@ -0,0 +1,19 @@ +# Phase privacy: adopt the exact #3953 correction + +Source SHA: 05fd82807b4a0014f84b9d74d05b70a3591cb574. Source URL: https://github.com/lidge-jun/opencodex/pull/3953 + +MODIFY the two existing records under devlog/_plan/260904_provider_quota_refresh/: 030_wp3_live_verification_and_pr.md and 031_live_verification_record.md. DELETE assets/030_accounts_refresh_button.png and assets/040_accounts_refresh_result.png. The exact after-content is the existing source SHA's Git blobs, retrieved by `git show :`; do not copy removed values into this plan. The two deletions and two post-image blobs define the complete executable patch; no other path changes. Reuse the unchanged existing PR if its head still matches; otherwise refresh and re-audit instead of force-pushing the contributor branch. + +Acceptance: both asset paths are absent in the candidate tree; no retained Markdown literal reference points to them; the isolated-instance and real forced-read evidence remains; the cleanup statement still says moved to Trash, never permanent destruction. Do not open/display either removed PNG. Independent privacy/semantic review checks this exact source. Current-head hosted PR scope check and aggregate must complete, with all skipped jobs described as skipped. Inspect full candidate delta and workflow equality before approving a fork run. No public operating values are recorded in new artifacts. Public documentation is the SoT target; history cleanup is out of scope. + +Rollback: retain source/landed SHAs, but do not automatically reintroduce removed captures; any rollback needs explicit privacy assessment. Completion uses actual merged PR state/merge SHA, touched-path equality, unchanged destination paths and author attribution. + +Execution decision: use a maintainer-owned carry PR with the identical source commit. The contributor checklist asks for local-CI attestation that this run cannot truthfully supply under the no-local-product-check instruction; no source rewrite or new behavior is needed. Original #3953 remains open until the carry lands, and its author is preserved in the squash trailer. + +C review repair: CodeRabbit requested American-English afterward at the existing isolation sentence. Accepted one-word correction in 0ed232d5c, with surrounding historical facts unchanged. Previous CI 34166442230 passed 3 scope/aggregate jobs and skipped 10 product jobs; it does not certify the new head. The new head must be checked before landing. + +Source refresh correction: original #3953 advanced to ca21efd29730086ede902c4701124893ce58b404 before closure. It remains OPEN; any earlier closure claim in the operational task log was premature and has been corrected. The initial carry is already landed and must not be rewritten. Audit and carry the incremental 05fd828..ca21efd2 delta as a separate privacy follow-up: MODIFY 000_plan.md, 030_wp3_live_verification_and_pr.md, 031_live_verification_record.md under the source unit; DELETE assets/010_meta_usage_quota.png and assets/020_usage_refresh_result.png. Exact post-images are sourceca21efd2 blobs, retaining the landed afterward spelling. The complete delta is retrieved with git diff05fd828..ca21efd2 scoped to those five paths. Acceptance: one retention rule covers both Accounts/Usage, textual behavior and Trash historical outcomes remain, no PNG inspected, all four capture assets and all scoped old references absent, current-head hosted scope checks and fresh source/author/landing proof. + +Review synthesis: #3959 exposed two issues. Accepted the source plan/actual isolation mismatch and corrected both old restart sites so completed scratch evidence supersedes the working-service restart plan (fc6b07eaf). Declined history purge as explicitly outside owner scope; the historical reachability residual is preserved, not claimed fixed. Both review threads have documented dispositions. No runtime operation was performed. Latest head needs fresh hosted scope CI. + +DONE: initial carry#3955 landed9c54000c9 and follow-up#3959 landed01c23aedc. Current-head hosted scope CI34167651789 success3/skipped10, independent final privacy audit PASS, all known review findings dispositioned; automatic rereview was pending at merge and not counted as successful. Both landed trees, parents, dev ancestry and actual author trailers verified. Original#3953 closed at refreshedca21efd2. History purge remains explicitly outside scope. diff --git a/devlog/_fin/260908_c248_individual_fixes/020_release_notes.md b/devlog/_fin/260908_c248_individual_fixes/020_release_notes.md new file mode 100644 index 00000000000..de8b38e7012 --- /dev/null +++ b/devlog/_fin/260908_c248_individual_fixes/020_release_notes.md @@ -0,0 +1,144 @@ +# Phase release_notes: exact leading enforcement marker normalization + +Source PR #3899, source SHA 4d6896cd0bd62434b4703a1956fe57a99cd4959a. MODIFY the three files below. Preserve/reuse the source PR's related numbered implementation record if carrying its whole commit; it is documentation for this same bug, not another feature. Security review covers title text handling only: no workflow, command dispatch, credentials, publishing or release execution change. SoT: structure/06_docs-and-release.md. + +Activation/acceptance: prefixed generated and carried notes lose only the exact leading marker in summaries and full changelog; conventional scope grouping and attribution remain; unrelated bracketed/nonleading/near-match markers remain. Hosted CI must execute tests/ci-workflows/release-notes.test.ts (via the existing shard manifest) plus required gates. Explicit security review is recorded before maintainer sponsorship/integration. No local tests or typecheck are run. Rebase/carry applies only to our branch, uses original author and -x/Co-authored-by, and exact current-head checks. Issue #3895 closes only after verified dev landing. One independent revert restores only this bug's diff. + +Exact source patch follows; refresh against latest dev at its P phase: + +```diff +diff --git a/scripts/release-notes.ts b/scripts/release-notes.ts +index 16627f5f9..d0a58a043 100644 +--- a/scripts/release-notes.ts ++++ b/scripts/release-notes.ts +@@ -546,8 +546,14 @@ export function parseGeneratedNotes(body: string): ReleaseNoteCategory[] { + const CONVENTIONAL_COMMIT_PREFIX = + /^(?:feat|fix|docs|chore|refactor|perf|test|build|ci|style|revert|merge|release)(?:\(([^)]+)\))?:\s*(.+)$/i; + ++function stripPrEnforcementPrefix(title: string): string { ++ const text = title.trim(); ++ const prefix = "[WRONG BRANCH] "; ++ return text.startsWith(prefix) ? text.slice(prefix.length).trim() : text; ++} ++ + export function cleanPrTitle(title: string, prNumber: number | null = null): { scope: string | null; text: string } { +- let text = title.trim(); ++ let text = stripPrEnforcementPrefix(title); + let scope: string | null = null; + const prefix = CONVENTIONAL_COMMIT_PREFIX.exec(text); + if (prefix) { +@@ -689,7 +695,7 @@ export function renderReleaseNotes(input: { + changelog.push(`Full Changelog: https://github.com/${repo}/compare/${from}...${to}`, ""); + } + for (const pr of allPrs) { +- changelog.push(`- #${pr.number} ${pr.title.trim()} @${pr.author}`); ++ changelog.push(`- #${pr.number} ${stripPrEnforcementPrefix(pr.title)} @${pr.author}`); + } + parts.push(changelog.join("\n")); + } +diff --git a/structure/06_docs-and-release.md b/structure/06_docs-and-release.md +index 8c6149802..886c8fc04 100644 +--- a/structure/06_docs-and-release.md ++++ b/structure/06_docs-and-release.md +@@ -227,6 +227,11 @@ so stable notes are the aggregate of their preview train. The raw commit dump is + intentionally gone — non-PR commits stay reachable via the Full Changelog compare link when + that link is available. + ++Both summary bullets and full-changelog titles strip the exact leading `[WRONG BRANCH] ` ++enforcement marker. Other bracketed text is preserved. Summary bullets still remove conventional ++commit prefixes and group by scope; full-changelog entries keep those conventional prefixes, ++PR numbers, and author attribution. This normalization does not change PR-target enforcement. ++ + The deterministic renderer produces the structure but not curated prose. Maintainers who want + the OpenAI-style grouped summaries can run the optional local polish step against the rendered + body (needs an OpenAI-compatible API key): +diff --git a/tests/ci-workflows/release-notes.test.ts b/tests/ci-workflows/release-notes.test.ts +index 11196108d..d27036008 100644 +--- a/tests/ci-workflows/release-notes.test.ts ++++ b/tests/ci-workflows/release-notes.test.ts +@@ -455,6 +455,20 @@ describe("rewriteTakeoverCredits", () => { + }); + + describe("cleanPrTitle", () => { ++ test("removes the enforcement marker before extracting scope and sentence casing", () => { ++ expect(cleanPrTitle(" [WRONG BRANCH] chore(release): promote validated 2.45.0 to main (#3813) ", 3813)).toEqual({ ++ scope: "release", ++ text: "Promote validated 2.45.0 to main", ++ }); ++ }); ++ ++ test.each([ ++ ["[Preview] chore(release): keep this marker", "[Preview] chore(release): keep this marker"], ++ ["fix: document [WRONG BRANCH] markers", "Document [WRONG BRANCH] markers"], ++ ["[WRONG BRANCH]ish: keep this title", "[WRONG BRANCH]ish: keep this title"], ++ ])("preserves meaningful title text: %s", (title, text) => { ++ expect(cleanPrTitle(title).text).toBe(text); ++ }); + test("strips conventional prefix, keeps scope, and sentence-cases the title", () => { + expect(cleanPrTitle("feat(providers): add Baseten Model APIs preset", 653)).toEqual({ + scope: "providers", +@@ -488,6 +502,55 @@ describe("cleanPrTitle", () => { + }); + + describe("renderReleaseNotes", () => { ++ test.each(["delta", "carried"])("removes the bot marker from summaries and full changelogs (%s)", source => { ++ const body = [ ++ "## What's Changed", ++ "### Chores", ++ "* [WRONG BRANCH] chore(release): promote validated 2.45.0 to main by @lidge-jun in https://github.com/lidge-jun/opencodex/pull/3813", ++ ].join("\n"); ++ const notes = renderReleaseNotes({ ++ npmMetadata: "", ++ ...(source === "delta" ? { deltaPrNotes: body } : { carriedPreviewNotes: [ ++ "## Chores", "", ++ "- [WRONG BRANCH] chore(release): promote validated 2.45.0 to main (#3813)", "", ++ "## Changelog", "", ++ "- #3813 [WRONG BRANCH] chore(release): promote validated 2.45.0 to main @lidge-jun", ++ ].join("\n") }), ++ }); ++ expect(notes).toBe([ ++ "## Chores", "", ++ "- Promote validated 2.45.0 to main (#3813)", "", ++ "## Changelog", "", ++ "- #3813 chore(release): promote validated 2.45.0 to main @lidge-jun", "", ++ ].join("\n")); ++ }); ++ ++ test("groups a bot-prefixed title with ordinary titles of the same scope", () => { ++ const notes = renderReleaseNotes({ ++ npmMetadata: "", ++ deltaPrNotes: [ ++ "## What's Changed", "### Chores", ++ "* [WRONG BRANCH] chore(release): promote verified version by @maintainer in https://github.com/lidge-jun/opencodex/pull/10", ++ "* chore(release): update notes by @contributor in https://github.com/lidge-jun/opencodex/pull/11", ++ ].join("\n"), ++ }); ++ expect(notes).toContain("- Release: Promote verified version; Update notes (#10, #11)"); ++ expect(notes).toContain("- #10 chore(release): promote verified version @maintainer"); ++ expect(notes).toContain("- #11 chore(release): update notes @contributor"); ++ expect(notes).not.toContain("[WRONG BRANCH]"); ++ }); ++ ++ test.each([ ++ "[Preview] chore(release): retain the preview marker", ++ "fix: document [WRONG BRANCH] markers (#99)", ++ "[WRONG BRANCH]ish: retain this title", ++ ])("preserves meaningful full-changelog title text: %s", title => { ++ const notes = renderReleaseNotes({ ++ npmMetadata: "", ++ deltaPrNotes: `## What's Changed\n### Chores\n* ${title} by @contributor in https://github.com/lidge-jun/opencodex/pull/12`, ++ }); ++ expect(notes).toContain(`- #12 ${title} @contributor`); ++ }); + const carried = [ + "", + "", +``` + +## C-stage correction: active release builder + +Accepted Codex review: actual release.yml invokes scripts/build-release-changelog.ts, whose changelog still used pr.title.trim(). The original tests certified a renderer but not this active entry. Extend the same bug fix: export stripPrEnforcementPrefix from scripts/release-notes.ts, import/use it for PR changelog titles in scripts/build-release-changelog.ts; add public buildReleaseNotes regressions in existing tests/ci-workflows/build-release-changelog.test.ts for generated-note enrichment and associated-PR fallback, asserting cleaned summary, preserved conventional changelog title/author/ID, and unrelated/embedded/near-match preservation. Keep category policy, direct-commit policy, network/dispatch and release coverage rules unchanged. The two new paths are part of this one bug, not a new delivery. Hosted current-head CI must execute both renderer test files. No local product test. Re-audit active caller and pure-string security boundary before accepting the repair. + +Repair source audit PASS at ef15842fc: actual builder emission and generated/associated regression paths verified. Source-of-truth paragraph corrected in be1f60f28 to distinguish active builder from standalone renderer; category selection/direct-commit policy unchanged. Final proof compares landed blobs to final reviewed candidate, not the original incomplete source. Prior run34167832861 passed16/skipped3 and showed original renderer cases onLinux/macOS; final newhead must be certified separately. + +DONE: PR3960 landed9c8f66b9d, finalheadbe1f60f28; CI34168481093 success16/skipped3. Both renderer files and new5 active-builder cases were observed in Linux logs; macOS lanespassed. Independent final source/security auditPASS. Exact destination60bcb9050 plus reviewed patch tree verified; coauthor present; source3899 and issue3895 closed. The combined destination tree was verified structurally, not claimed executed as the PR test tree. Local productcommandsNOTRUN. diff --git a/devlog/_fin/260908_c248_individual_fixes/030_timezone.md b/devlog/_fin/260908_c248_individual_fixes/030_timezone.md new file mode 100644 index 00000000000..479027db3f1 --- /dev/null +++ b/devlog/_fin/260908_c248_individual_fixes/030_timezone.md @@ -0,0 +1,157 @@ +# Phase timezone: extract only the Santiago fixture + +Source PR #3950. Carry ONLY commit 1d8f6ff7e8d48f33c3ce7a1b7118068754bbbe83 onto current dev, retaining luvs01's author and adding a surviving Co-authored-by. MODIFY only gui/tests/usage-custom-range.test.tsx. No JWT, product UI, dependency or workflow change. No UI screenshot is fabricated: describe the test-only scope truthfully in the PR. No new SoT contract beyond fixture isolation; production date interpretation is unchanged. + +Activation/acceptance: parent TZ absent and set cases retain exact presence/value and local Date epoch; a child Bun process is created with TZ=America/Santiago and an exact anchored test-name filter, preventing recursion by that timezone value. Child asserts skipped midnight, final-day activity and tooltip as before. Process deadline 12s, child test timeout 10s, parent test timeout 15s; timeout, signal and nonzero exit surface captured diagnostics. Reviewer must check config/preload behavior under direct child invocation and Windows Bun 1.4.0 compatibility. Hosted dashboard test gate explicitly executes this test file; inspect result and logs, not only a generic check badge. Additional fault-path testing is required only if audit reveals a reachable unprotected failure; amend this doc before any code change. Local product tests/build/typecheck/install NOT RUN. + +#3950 original stays open until B's separate JWT fix is independently confirmed on dev. No assumption that the original mixed PR's CI certifies this split head. One independent revert covers the timezone test only. + +Exact source patch follows: + +```diff +diff --git a/gui/tests/usage-custom-range.test.tsx b/gui/tests/usage-custom-range.test.tsx +index 887c31134..02df29f3d 100644 +--- a/gui/tests/usage-custom-range.test.tsx ++++ b/gui/tests/usage-custom-range.test.tsx +@@ -154,31 +154,45 @@ for (const connected of [false, true]) { + } + + test("America/Santiago midnight DST retains final-day activity and tooltip", async () => { +- const previous = process.env.TZ; +- process.env.TZ = "America/Santiago"; +- try { +- expect(new Date(2026, 8, 6, 0).getHours()).toBe(1); +- await mount(); +- await respond(0, "preset-marker"); +- await enter("2026-09-05T00:00", "2026-09-07T23:59"); +- await apply(); +- const gate = requests.at(-1)!; +- const data = report(gate, "santiago-marker", "2026-09-07"); +- data.days = ["2026-09-05", "2026-09-06", "2026-09-07"].map(date => ({ +- date, requests: date === "2026-09-07" ? 7 : 0, measuredRequests: 0, reportedRequests: 0, +- totalTokens: date === "2026-09-07" ? 700 : 0, models: [], +- })); +- await act(async () => gate.resolve(Response.json(data))); +- const active = container.querySelector('.heatmap-grid .heatmap-cell:not(.heatmap-cell-0)'); +- expect(active).not.toBeNull(); +- await act(async () => active!.dispatchEvent(new testWindow.MouseEvent("mouseover", { bubbles: true }))); +- expect(container.querySelector(".heatmap-tip-date")?.textContent).toBe("2026-09-07"); +- expect(container.querySelector(".heatmap-tip")?.textContent).toContain("700"); +- } finally { +- if (previous === undefined) delete process.env.TZ; +- else process.env.TZ = previous; ++ if (process.env.TZ !== "America/Santiago") { ++ // Restoring an absent TZ can change Bun's effective timezone on Windows. ++ // Start the DST case in its timezone without mutating this suite's clock. ++ const timezone = { present: Object.hasOwn(process.env, "TZ"), value: process.env.TZ }; ++ const localTime = new Date(2020, 8, 15, 10, 20).getTime(); ++ const child = Bun.spawnSync([ ++ process.execPath, "test", import.meta.path, ++ "-t", "^America/Santiago midnight DST retains final-day activity and tooltip$", ++ "--timeout", "10000", ++ ], { ++ env: { ...process.env, TZ: "America/Santiago" }, ++ stdout: "pipe", stderr: "pipe", timeout: 12000, killSignal: "SIGKILL", ++ }); ++ const diagnostics = `${child.stdout.toString()}\n${child.stderr.toString()}`; ++ expect(child.exitedDueToTimeout, diagnostics).not.toBe(true); ++ expect(child.signalCode, diagnostics).toBeUndefined(); ++ expect(child.exitCode, diagnostics).toBe(0); ++ expect({ present: Object.hasOwn(process.env, "TZ"), value: process.env.TZ }).toEqual(timezone); ++ expect(new Date(2020, 8, 15, 10, 20).getTime()).toBe(localTime); ++ return; + } +-}); ++ expect(new Date(2026, 8, 6, 0).getHours()).toBe(1); ++ await mount(); ++ await respond(0, "preset-marker"); ++ await enter("2026-09-05T00:00", "2026-09-07T23:59"); ++ await apply(); ++ const gate = requests.at(-1)!; ++ const data = report(gate, "santiago-marker", "2026-09-07"); ++ data.days = ["2026-09-05", "2026-09-06", "2026-09-07"].map(date => ({ ++ date, requests: date === "2026-09-07" ? 7 : 0, measuredRequests: 0, reportedRequests: 0, ++ totalTokens: date === "2026-09-07" ? 700 : 0, models: [], ++ })); ++ await act(async () => gate.resolve(Response.json(data))); ++ const active = container.querySelector('.heatmap-grid .heatmap-cell:not(.heatmap-cell-0)'); ++ expect(active).not.toBeNull(); ++ await act(async () => active!.dispatchEvent(new testWindow.MouseEvent("mouseover", { bubbles: true }))); ++ expect(container.querySelector(".heatmap-tip-date")?.textContent).toBe("2026-09-07"); ++ expect(container.querySelector(".heatmap-tip")?.textContent).toContain("700"); ++}, 15000); + + test("Apply submits inclusive bounds once; Clear restores the held preset without custom cache entries", async () => { + await mount(); +``` + +## Audit-driven amendment before implementation + +The source patch's explicit 15-second per-test timeout overrides its child CLI 10-second timeout. Change the final test timeout to `process.env.OCX_USAGE_SANTIAGO_CHILD === "1" ? 10000 : 15000`. Add a unique completion marker printed only after the child's last UI assertion; require the marker in the parent as well as exit/signal/timeout checks. Set the child's cwd explicitly to the dashboard root resolved from import.meta.dir. These are same-bug test integrity changes; no production code changes. Preserve the original assertions and parameterized test cases. + +Existing hosted Windows/macOS jobs do not run gui/tests. A supplemental verification-only branch will use the already-registered ci.yml workflow_dispatch path, with a separately reviewed minimal workflow that checks out an immutable candidate SHA and executes only focused timezone proof on GitHub-hosted ubuntu/windows/macos. This branch/workflow is excluded from delivery and never merged. Candidate PR CI remains unchanged and required; the supplemental run is independently labeled, not passed off as normal candidate workflow CI. Actions use existing pinned SHAs, contents:read only, no secrets, checkout persist-credentials:false, Bun1.4.0, frozen root and dashboard installs on the hosted machines, and bounded jobs/processes. Never run any of these commands locally. Negative controls must restore candidate bytes before the final positive run and record source identity. + +The proposed hosted verification starts in gui/: `bun test --isolate ./tests/usage-custom-range.test.tsx`, with TZ absent, Etc/UTC, Asia/Seoul and America/Santiago in distinct subprocess environments. Verify parent environment and next tests, child success marker, nonzero-exit/absent-marker propagation and process deadline; no fixture/process may survive teardown. Exact workflow YAML, pinned commit and control script are reviewed before dispatch. The repository's Windows product runtime suite is distinct from this Windows dashboard proof. + +### Exact test-integrity follow-up diff atop the original source commit + +```diff +--- a/gui/tests/usage-custom-range.test.tsx ++++ b/gui/tests/usage-custom-range.test.tsx +@@ -1,5 +1,6 @@ + import { afterEach, beforeEach, expect, test } from "bun:test"; + import { Window } from "happy-dom"; ++import { resolve } from "node:path"; + import { act } from "react"; + import type { Root } from "react-dom/client"; + import { LanguageProvider } from "../src/i18n/provider"; +@@ -154,7 +155,7 @@ + } + + test("America/Santiago midnight DST retains final-day activity and tooltip", async () => { +- if (process.env.TZ !== "America/Santiago") { ++ if (process.env.OCX_USAGE_SANTIAGO_CHILD !== "1" && process.env.TZ !== "America/Santiago") { + // Restoring an absent TZ can change Bun's effective timezone on Windows. + // Start the DST case in its timezone without mutating this suite's clock. + const timezone = { present: Object.hasOwn(process.env, "TZ"), value: process.env.TZ }; +@@ -164,17 +165,20 @@ + "-t", "^America/Santiago midnight DST retains final-day activity and tooltip$", + "--timeout", "10000", + ], { +- env: { ...process.env, TZ: "America/Santiago" }, ++ cwd: resolve(import.meta.dir, ".."), ++ env: { ...process.env, TZ: "America/Santiago", OCX_USAGE_SANTIAGO_CHILD: "1" }, + stdout: "pipe", stderr: "pipe", timeout: 12000, killSignal: "SIGKILL", + }); + const diagnostics = `${child.stdout.toString()}\n${child.stderr.toString()}`; + expect(child.exitedDueToTimeout, diagnostics).not.toBe(true); + expect(child.signalCode, diagnostics).toBeUndefined(); + expect(child.exitCode, diagnostics).toBe(0); ++ expect(child.stdout.toString().split(/\r?\n/), diagnostics).toContain("OCX_SANTIAGO_CASE_COMPLETED"); + expect({ present: Object.hasOwn(process.env, "TZ"), value: process.env.TZ }).toEqual(timezone); + expect(new Date(2020, 8, 15, 10, 20).getTime()).toBe(localTime); + return; + } ++ expect(process.env.TZ).toBe("America/Santiago"); + expect(new Date(2026, 8, 6, 0).getHours()).toBe(1); + await mount(); + await respond(0, "preset-marker"); +@@ -192,7 +196,8 @@ + await act(async () => active!.dispatchEvent(new testWindow.MouseEvent("mouseover", { bubbles: true }))); + expect(container.querySelector(".heatmap-tip-date")?.textContent).toBe("2026-09-07"); + expect(container.querySelector(".heatmap-tip")?.textContent).toContain("700"); +-}, 15000); ++ if (process.env.OCX_USAGE_SANTIAGO_CHILD === "1") console.log("OCX_SANTIAGO_CASE_COMPLETED"); ++}, process.env.OCX_USAGE_SANTIAGO_CHILD === "1" ? 10000 : 15000); + + test("Apply submits inclusive bounds once; Clear restores the held preset without custom cache entries", async () => { + await mount(); +``` + +C review amendment: use the dedicated child marker as the sole recursion guard, even when the parent already starts in Santiago. This preserves all original DST assertions and makes completion/state checks run for every parent TZ. Accepted CodeRabbit finding; final source/evidence checkout SHA will be repinned and hosted proof rerun. Prior Linux/Windows proof8223788bd remains historical, not finalhead evidence. + +Final candidate ce71d9171 passed independent marker-guard source re-audit. Evidence workflow7d5f1097e/run34170111719 checks out exactcandidatece71d9171; Linux/Windows/macOS each completed10scenarios, fivepositive/fiveexpectednegative, with exactfailure attribution, timeoutPIDabsence and candidatebytesrestored. Actual evidence JSON logs checked. Normal PR3967CI34170093095 pending; no completion/landing claim yet. Existing maintainer gui-screenshot-waived exception applied for test-only change after workflow/label policy inspection. No UI screenshot fabricated, no product gate waived. + +NormalCI attempt1 of34170093095 was cancelled at macos1 job20-minute deadline. Last emitted test was the unchanged client-connect CLI rejection case, followed by dangling-process cleanup and no completion. This root macOS lane does not include gui/tests; exact cause remains under investigation. Preserve cancellation as an unsuccessful/incomplete attempt. One same-head failed-job recheck was requested for diagnosis; a green recheck alone does not establish the unrelated runner stall is fixed. Supplemental3OS timezoneproof remains separately valid. + +DONE: PR3967 landedc46c22f3e with luvs01 trailer and exactcandidate file. Final candidatece71d9171 supplemental3OS run34170111719 passed all30expected scenarios. StandardCI34170093095 attempt2 passed19jobs/skipped2; attempt1 macos1 stalled/cancelled20min at unchangedclientconnect boundary remains unresolved reliability residual, not a fixedflake claim. Exact destinationbbea77a48+candidatepatch tree and devancestry verified. BJWT3962/eb4188a9 confirmed ondev; source3950 closure follows reconciliation. diff --git a/devlog/_fin/260908_c248_individual_fixes/040_reconcile.md b/devlog/_fin/260908_c248_individual_fixes/040_reconcile.md new file mode 100644 index 00000000000..753a2fa2ee2 --- /dev/null +++ b/devlog/_fin/260908_c248_individual_fixes/040_reconcile.md @@ -0,0 +1,3 @@ +# Phase reconcile: independent delivery and release readiness + +No product delta. MODIFY this unit's outcome record (050_outcome.md) with each original PR, actual delivery PR, reviewed head, CI run/check counts, landed SHA, author trailer and issue state. Query B for the JWT-only landing and independently verify it in dev together with C's timezone commit before closing #3950. Inspect A/B status and record readiness without doing their work or publishing a release. Move this unit from devlog/_plan to devlog/_fin only after all scoped tasks are complete; publish a separate docs-only closeout PR if needed, keeping it out of all three bug commits. Verify that closeout's scope check and diff preserve product files. No version change or promotion. Outcomes must distinguish true merged source PRs from closed carry sources. diff --git a/devlog/_fin/260908_c248_individual_fixes/050_outcome.md b/devlog/_fin/260908_c248_individual_fixes/050_outcome.md new file mode 100644 index 00000000000..aa085d58409 --- /dev/null +++ b/devlog/_fin/260908_c248_individual_fixes/050_outcome.md @@ -0,0 +1,35 @@ +# Lane C outcome + +All three scoped corrections landed into dev through independent bug PRs. The capture correction needed a separate follow-up after its author advanced the source PR during CI. No already-landed commit was rewritten. This record is documentation only and is not another product fix. + +| Source | Delivery PR | Landed SHA | Current-head CI | Scope | +|---|---|---|---|---| +| #3953 initial | [3955](https://github.com/lidge-jun/opencodex/pull/3955) | `9c54000c937276ba8d93ce63a922b3fe6797cbde` | [34166758020](https://github.com/lidge-jun/opencodex/actions/runs/34166758020) (3 success / 10 skipped) | Current-tree Accounts capture cleanup | +| #3953 follow-up | [3959](https://github.com/lidge-jun/opencodex/pull/3959) | `01c23aedcdfcb913151a2ac8f7acebda58d91eee` | [34167651789](https://github.com/lidge-jun/opencodex/actions/runs/34167651789) (3 success / 10 skipped) | Consistent capture retention and isolation guidance | +| #3899 / #3895 | [3960](https://github.com/lidge-jun/opencodex/pull/3960) | `9c8f66b9df4cdf133a16c95a95ee07ff5171a46d` | [34168481093](https://github.com/lidge-jun/opencodex/actions/runs/34168481093) (16 success / 3 skipped) | Release-note marker in both actual and standalone builders | +| #3950 timezone only | [3967](https://github.com/lidge-jun/opencodex/pull/3967) | `c46c22f3e4d00ff31a0e6bb10f74505577806776` | [34170093095](https://github.com/lidge-jun/opencodex/actions/runs/34170093095) (19 success / 2 skipped) | Santiago subprocess isolation and oracle integrity | + +## Proof and attribution + +Each landing was serialized through the shared merge lock and checked against the then-current destination: actual merge parent, computed combined tree, dev ancestry and surviving Co-authored-by trailer. luvs01 is credited in both capture carries and the timezone carry; Joonsuh Park is credited in the release-note correction. The original source PRs were closed as carried, not described as directly merged. + +#3953 was closed only after its refreshed ca21efd2 follow-up was included. #3899 and issue #3895 closed after the active release builder was corrected and verified. #3950 was closed only after B's independent JWT delivery #3962 (eb4188a9f2e127f5ee2980b62d6e5bb213c43c70) and C's timezone delivery #3967 were both confirmed on dev. Product commits remain independently revertible. + +The release-note original patch missed scripts/build-release-changelog.ts, the actual release workflow entry. Review led to a shared normalizer and five public-builder cases covering generated and associated PR sources and negative marker preservation. Those cases and the original renderer cases were observed passing in the final Linux CI logs; the final macOS lanes also passed. The structure guide now accurately distinguishes the active and standalone renderers. + +Timezone final candidate ce71d917143ddcbd5675b6ba92d8b1053971cd25 was separately exercised by evidence workflow7d5f1097ec587a0ced441f475eb02d750e06b9ac in [run34170111719](https://github.com/lidge-jun/opencodex/actions/runs/34170111719). The workflow checked out that immutable candidate separately. Linux, Windows and macOS each completed ten scenarios: five positive/restored runs and five deliberately failing controls. Controls require the intended test failure and specific diagnostics, not any nonzero exit. All platforms verified the final candidate file hash recorded below. Child timeout termination and restored candidate bytes/HEAD were verified. The evidence branch is not in any delivery PR and is never merged. + +## Limits and remaining work + +- All local product tests, test:changed, typechecks, builds and dependency installs were NOT RUN. Mutating Git operations disabled hooks per command, and pushes used --no-verify. Git/diff/source and operational evidence checks are distinct from product tests. +- Skipped jobs are not counted as passing tests. Normal PR workflows skip the full Windows runtime suite and macOS whole-pool control; the supplementary timezone run explicitly supplies Windows/macOS focused dashboard evidence, not a full runtime-suite result. +- Timezone normal CI34170093095 attempt1 timed out after20minutes in the unchanged root macOS client-connect test. The next helper contains an unbounded synchronous child wait, but the actual stopping mechanism is unproven. Attempt2 succeeded on the same candidate without a source change. The cancelled attempt remains unsuccessful evidence and the unrelated CI reliability defect is not claimed fixed. +- Privacy cleanup affects the current tree only. Historical blobs/links were not purged, and no claim of historical erasure is made. The working proxy was not restarted or reconfigured by this task. +- Concurrent dev changes were preserved through actual-tree comparison. That structural proof does not imply every merged integration tree was separately executed by the candidate CI. +- A and B were still active at reconciliation. B's JWT slice is verified; no assertion is made that their remaining changes or the overall2.48 release are complete. main/preview promotion, version changes and npm publication were outside C's authority and were not performed. + +## Final supplemental evidence + +- win32: Bun1.4.0, candidate file SHA-256 `6cbb58c96643f500cf2541ef3b7707aed072c1f981b16b49f97949536fe30f50`, ten scenarios, restored=True. +- linux: Bun1.4.0, candidate file SHA-256 `6cbb58c96643f500cf2541ef3b7707aed072c1f981b16b49f97949536fe30f50`, ten scenarios, restored=True. +- darwin: Bun1.4.0, candidate file SHA-256 `6cbb58c96643f500cf2541ef3b7707aed072c1f981b16b49f97949536fe30f50`, ten scenarios, restored=True. diff --git a/devlog/_fin/260908_c_track_config_init_stack/000_plan.md b/devlog/_fin/260908_c_track_config_init_stack/000_plan.md new file mode 100644 index 00000000000..046e2c627dc --- /dev/null +++ b/devlog/_fin/260908_c_track_config_init_stack/000_plan.md @@ -0,0 +1,79 @@ +# 000_plan.md — C track: config file + init as a manual PR stack + +## Objective + +Land the C triage track (config-file and init surfaces) on `dev` as one manual, +dependency-ordered branch chain whose tip carries every layer. The track has two +existing contributor pull requests plus one gap discovered while planning: + +| Layer | Source | Surface | +|---|---|---| +| wp1 | PR #3900 by @x3M3x | `src/config/atomic-write.ts` Bun/Windows ENOENT | +| wp2 | new (this unit) | `src/config/initialize.ts` sibling numeric flag | +| wp3 | PR #3896 by @parkjs101 | `ocx init` publication recovery guidance (closes #3893) | + +wp2 exists on its own merit, not as glue. `publishInitialConfigNoReplace` still +opens its temp file with the numeric spelling that Bun miscompiles on Windows, +so shipping wp1 alone leaves first-run config publication exposed to the same +`ENOENT`. #3900 never touches `initialize.ts`; the file overlap is between wp2 +and wp3 only. + +## Constraints (owner-stated, this session) + +- **No local product suite.** No `bun run test`, `bun run typecheck`, + `bun run build`, or install. Every such check is recorded **NOT RUN**. +- **Push with `--no-verify`** on every layer. +- **CI on the tip only.** Verified mechanism in `040`: the lower layers are + pushed as branches but **no pull request is opened for them** until the tip + has landed. `.github/workflows/ci.yml` triggers on `pull_request: {}` with no + draft filter, so opening a lower PR would start CI; draft status suppresses + nothing. +- **Green tip merges; the rest resolve.** When the tip's exact head SHA is green + against a current `dev` base, merge the tip, then resolve the source PRs and + close issue #3893. +- **Original authors are preserved** with full `Co-authored-by: Name ` + trailers that survive the squash (AGENTS.md "Landing another author's work"). + +## Build order + +``` +codex/c-track-init-guidance → the ONLY pull request (base dev) ← wp3 tip +codex/c-track-initialize-flag → branch only, no PR ← wp2 +codex/c-track-atomic-write → branch only, no PR ← wp1 +──────────────────────────────── dev +``` + +Each branch is based on the one below, so the tip's tree is the cumulative +result. wp2 sits between the carried PRs because wp3 inserts a line directly +after the `openSync` call that wp2 rewrites; constructing wp2 first means that +adjacent-hunk overlap is resolved once while carrying wp3. This is a chosen +construction order for a single conflict resolution, not a semantic +prerequisite — either change could be written first. + +## Scope boundary + +IN: the three layers above, their regression tests, the docs/structure text that +#3896 already carries, and this devlog unit. + +OUT: `#3838`/`#3917` adapter work, any other triage track, release promotion, +`main`/`preview`, and any behavioral change to hard-link publication, ACL +hardening, or credential storage beyond the flag spelling. + +## Verifiers + +Local product gates are forbidden this session, so acceptance rests on +repository CI against the tip plus read-only inspection. + +| Claim | Evidence | Status | +|---|---|---| +| Layers carry original authorship | `git log --format='%(trailers:key=Co-authored-by)'` on the tip, then on the landed commit | to run (read-only) | +| wp2 removes the numeric spelling | `rg 'constants\.O_' src/config/initialize.ts` on the pushed tip tree | to run (read-only) | +| Carried content really landed | tip tree vs. each source PR's pinned patch, then landed-merge tree comparison (see `040`) | to run (read-only) | +| Layers build and pass | repository CI on the tip head SHA, base `dev` | tip only | +| Local suite / typecheck / build | — | **NOT RUN** (owner instruction) | + +## Terminal outcome + +DONE requires: tip CI success on its exact head SHA against a current `dev` +base, tip merged into `dev` proven by fetched ancestry and tree comparison, +source PRs resolved with credit intact, and #3893 closed. diff --git a/devlog/_fin/260908_c_track_config_init_stack/010_layer1_atomic_write.md b/devlog/_fin/260908_c_track_config_init_stack/010_layer1_atomic_write.md new file mode 100644 index 00000000000..d9e76ba2bb4 --- /dev/null +++ b/devlog/_fin/260908_c_track_config_init_stack/010_layer1_atomic_write.md @@ -0,0 +1,72 @@ +# 010_layer1_atomic_write.md — wp1: carry PR #3900 + +Source: [PR #3900](https://github.com/lidge-jun/opencodex/pull/3900) by @x3M3x, +head `744eb644028492784446fe9f0f73813d5d1fe59f`, two commits +(`52c749561`, `744eb6440`). + +Branch: `codex/c-track-atomic-write`, base `dev`. + +## Problem + +`src/config/atomic-write.ts` builds its exclusive-create flags numerically. +Bun on Windows misreads that combination and drops the creation bit, so every +private temp write fails with `ENOENT`: `ocx start`, management-API config +saves, and OAuth credential refreshes all route through these two writers. + +## Change (MODIFY, carried unmodified from #3900) + +`src/config/atomic-write.ts` + +```diff +- const descriptor = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600); ++ const descriptor = openSync(path, "wx", 0o600); +``` + +Applied in both `writePrivateTempFile` and `writePrivateTempFileAsync`; the now +unused `constants` import is dropped. + +`tests/windows/windows-secret-acl.test.ts` gains the source-oracle guard +"atomic secret temp writer portability", asserting exactly two portable calls. + +## Semantics note (audit correction) + +The PR description calls `"wx"` exactly `O_WRONLY | O_CREAT | O_EXCL`. Node and +Bun actually map it to `O_WRONLY | O_CREAT | O_EXCL | O_TRUNC`. It is +**behaviorally** equivalent here rather than bit-identical: exclusive creation +rejects an existing path, so `O_TRUNC` can never truncate one. `0o600` remains +a separate mode argument and still applies. Recorded so a later reader does not +inherit the imprecise claim. + +## Security review (independent, read-only) + +No blocking finding. Exclusivity is preserved for every caller of the default +wrappers, which include OAuth `auth.json`, Codex account credentials, service +API tokens, `config.json`, and `ocx.pid`. Ownership is marked only after a +successful create, so no new pre-existing-temp or symlink-following path opens. +Windows ACL ordering (create → own → harden → identity check → write → close) +is untouched. + +## Authorship + +Both commits are cherry-picked with `-x`, so each retains +`x3M3x ` as its git author and records the source SHA: + +| Carried commit | Source commit | +|---|---| +| `6a0abcf90` fix: use portable exclusive config temp creation | `52c7495618f18f2847b7f9468421442c1c573da1` | +| `24a078d80` test: guard atomic temp writes against Bun/Windows ENOENT | `744eb644028492784446fe9f0f73813d5d1fe59f` | + +A squash landing keeps only the squash message and drops per-commit authors, so +`b1a7f111c` adds the `Co-authored-by: x3M3x ` trailer to +the branch. That trailer must be carried into the tip PR squash message and +re-read on the landed commit. + +## Verification + +An independent read-only audit of the built branch confirmed the carried +source-and-test diff is byte-identical to #3900 pinned patch (2,176 bytes), +that both `-x` annotations and the original author survive, that the trailer +parses through `git interpret-trailers`, and that no other `src/` file changed. + +Repository CI on the stack tip only. Local suite, typecheck, and build: +**NOT RUN** (owner instruction). diff --git a/devlog/_fin/260908_c_track_config_init_stack/020_layer2_initialize_flag.md b/devlog/_fin/260908_c_track_config_init_stack/020_layer2_initialize_flag.md new file mode 100644 index 00000000000..b25a419481c --- /dev/null +++ b/devlog/_fin/260908_c_track_config_init_stack/020_layer2_initialize_flag.md @@ -0,0 +1,69 @@ +# 020_layer2_initialize_flag.md — wp2: sibling flag in initialize.ts + +New work in this unit. Branch `codex/c-track-initialize-flag`, base +`codex/c-track-atomic-write`. + +## Why this layer exists + +wp1 fixes the two writers in `atomic-write.ts`, but +`publishInitialConfigNoReplace` in `src/config/initialize.ts` still opens its +temp file with the same numeric spelling. Independent inspection confirms the +identical Bun/Windows exposure: first-run `ocx init` fails before writing or +publishing `config.json`, leaving `publication = "not-published"` and +`hardLinkUnavailable = false`, so the CLI prints "Initial config publication +did not finish." and exits 1. + +It also sits between the two carried PRs deliberately. #3896 inserts a line +immediately after this `openSync` call, so building wp2 first means the +adjacent-hunk overlap is resolved once, while carrying #3896 in wp3. This is a +chosen construction order rather than a semantic prerequisite: #3900 does not +touch this file at all, and either change could be written first. + +## Change (MODIFY) + +`src/config/initialize.ts` + +```diff + import { +- closeSync, constants, fchmodSync, fstatSync, linkSync, lstatSync, ++ closeSync, fchmodSync, fstatSync, linkSync, lstatSync, + openSync, unlinkSync, writeFileSync, + } from "node:fs"; +@@ +- fd = openSync(temp, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600); ++ fd = openSync(temp, "wx", 0o600); +``` + +`constants` is referenced only by the import and that one expression, so the +import entry is removed with it. + +## Change (MODIFY, regression) + +`tests/windows/windows-secret-acl.test.ts` gains a sibling source-oracle test +next to the wp1 guard, asserting exactly one portable call in +`src/config/initialize.ts`. + +## Contract preserved + +The no-replace publication contract does not depend on the numeric spelling: +hardening, `verifyPrivateTemp`, the single `linkSync` publication with its +`EEXIST`/`collided` and `hardLinkUnavailable` handling, and the +descriptor-owned `removeOwnedTemp` cleanup are all unchanged. + +## Out of scope: the same pattern under `src/lab/` + +An independent scan found three more exclusive opens sharing this combination: +`src/lab/ledger/store.ts:153` and `:185` (recovery mutex, ledger lock) and +`src/lab/public/private-file.ts:209` (private publication temp). They deserve the +same portability follow-up, but Lab is an opt-in subsystem off the core request +path, so they stay out of this track rather than widening a config-surface fix. + +Two further matches are not exclusive opens and must not be swept in: +`src/codex/native-main-lock-file.ts:89` and `src/lab/fabric/scratch.ts:416`. The +read/write sites in `src/lab/artifacts/secure-fs.ts` need individual treatment because +`"wx"` would drop read access. + +## Verification + +Repository CI on the stack tip only. Local suite, typecheck, and build: +**NOT RUN** (owner instruction). diff --git a/devlog/_fin/260908_c_track_config_init_stack/030_layer3_init_guidance.md b/devlog/_fin/260908_c_track_config_init_stack/030_layer3_init_guidance.md new file mode 100644 index 00000000000..5f755c686d6 --- /dev/null +++ b/devlog/_fin/260908_c_track_config_init_stack/030_layer3_init_guidance.md @@ -0,0 +1,65 @@ +# 030_layer3_init_guidance.md — wp3: carry PR #3896 (stack tip) + +Source: [PR #3896](https://github.com/lidge-jun/opencodex/pull/3896) by +@parkjs101 (Joonsuh Park), head `fc78bc37d419576061b995281baf39c46655eaa9`, +closes [#3893](https://github.com/lidge-jun/opencodex/issues/3893). + +Branch: `codex/c-track-init-guidance`, based on `codex/c-track-initialize-flag`. +This is the stack tip and the only pull request opened for this unit. + +## Problem + +`ocx init` already separates denied hard-link publication from a generic +failure, but a required permission-hardening failure falls into the generic +message, and neither message tells the user what to do next. The user cannot +tell why publication stopped or where to move `OPENCODEX_HOME`. + +## Change (carried from #3896, rebased onto wp2) + +- `src/config/initialize.ts`: a `hardeningFailed` flag set immediately before + the hardening call and cleared immediately after it returns — the assignments + surround `hardenInitialConfig`, which runs after `openSync`. The flag selects + a distinct message; `InitialConfigPublicationError` takes the matching option, + and both messages gain `OPENCODEX_HOME` recovery direction. +- `docs-site/src/content/docs/getting-started/quickstart.md`: inspection before + retry, preserving existing configuration, choosing a supported location. +- `structure/02_config-and-codex-home.md`: records the diagnostic distinction. +- `tests/config/config-mutation-lock.test.ts`, `tests/service/init-eof.test.ts`: + permission, link, and cleanup faults, privacy-safe messages, backup + preservation. Both files already exist in the test-layout registries, so no + registry entry is added. +- `devlog/_plan/260907_init_publication_guidance/010_implementation.md`: carried + as-is; on terminal closure that unit moves to `_fin/`. + +The rebase keeps wp2's `openSync(temp, "wx", 0o600)` and both `hardeningFailed` +assignments around the hardening call. + +## Review (independent subagent audit, read-only, this session) + +Reviewed at `fc78bc37d`, all six files. No blocking finding: + +- The flag cannot be left incorrectly true. Write, verify, link, and close + failures all occur after it is cleared (`src/config/initialize.ts:95-115`, + `:129-134`). A throwing injected `io.harden` test seam would select the same + message, which is a seam edge rather than a production defect. +- File I/O ordering, the no-replace guarantee, and private permissions are + unchanged (`:38-43`, `:98-130`). +- The new messages are fixed text naming the `OPENCODEX_HOME` variable; they + interpolate no real paths, bytes, or filesystem error text, and raw errors + stay in the `cause` the CLI does not print (`src/cli/init.ts:262-267`). + +This is a static agent review, not the maintainer security review or the +approval required by `MAINTAINERS.md`; those are recorded separately in `040`. + +## Authorship + +Carried with `Co-authored-by: Joonsuh Park `, the identity +on the source commit. The trailer must appear in the **squash message** of the +landed commit, and is verified on the landed commit rather than only on the +branch. + +## Verification + +This tip is the only layer that triggers repository CI, and its exact head SHA +must be green against a current `dev` base. Local suite, typecheck, and build: +**NOT RUN** (owner instruction). diff --git a/devlog/_fin/260908_c_track_config_init_stack/040_layer4_landing.md b/devlog/_fin/260908_c_track_config_init_stack/040_layer4_landing.md new file mode 100644 index 00000000000..4413166db97 --- /dev/null +++ b/devlog/_fin/260908_c_track_config_init_stack/040_layer4_landing.md @@ -0,0 +1,62 @@ +# 040_layer4_landing.md — wp4: tip CI, merge, and closure + +## CI suppression: mechanism, not draft status + +`.github/workflows/ci.yml` triggers on `pull_request: {}` with **no draft +filter** (line 7), and the `changes` job gates expensive work on the PR's own +file list, which includes `src/**` and `tests/**`. Opening a lower-layer pull +request — draft or not — therefore starts repository CI. + +The mechanism that actually satisfies "CI on the tip only" is to **open no pull +request for wp1 and wp2**. Their branches are pushed so the tip has a real +parent chain, but only `codex/c-track-init-guidance` gets a PR, based directly +on `dev` so its diff is the cumulative stack. One workflow run, one subject. + +## Landing sequence + +1. Push all three branches with `--no-verify`. +2. Open the tip PR only, base `dev`, with the full repository template + (Summary, Verification, Checklist) and `Closes #3893`. Record the local + suite as NOT RUN with the owner instruction as the reason; the Verification + section must not imply a local green run. +3. Confirm the tip is based on the current `dev` head before CI. If `dev` has + advanced, rebase and cascade first — CI against a stale base does not certify + the integration tree that will actually merge. +4. Wait for CI on the tip's exact head SHA. Skipped or cancelled checks are not + passing evidence. +5. Record the merge decision. Both current maintainers hold `admin`, and + `MAINTAINERS.md` permits explicit maintainer integration into `dev` without a + second approval, provided the decision and exact-head CI evidence are + recorded and security review is kept separate. The credential-adjacent + `atomic-write.ts` carry is the security-review subject; its independent audit + is summarized in `010` and must be named in the merge record. +6. Merge the tip, pinning the reviewed head SHA. + +## Proving the carried work landed + +Ancestry alone is insufficient: `dev` can contain the merge while a conflict +resolution silently dropped a contributor hunk. Before closing anything: + +- Compare each source PR's pinned patch against the tip tree, documenting the + one intentional adaptation (wp2 rewrites the `openSync` line that #3896's + hunk sits next to). +- After the merge, compare the landed tree on fetched `dev` against the + reviewed tip tree. +- Re-read the landed commit's trailers to confirm both `Co-authored-by` entries + survived the squash. + +A squash landing does not make the original contributor SHAs ancestors, so +trailer and content comparison are the credit and delivery evidence. + +## Closure + +1. Close #3900 and #3896 as landed through the tip, naming the merge commit and + crediting @x3M3x and @parkjs101 with the evidence above. +2. Close issue #3893: PRs here target `dev`, and GitHub only auto-closes linked + issues on the default branch. + +## Failure handling + +If the tip's CI fails, fix the responsible layer and cascade the rebase upward +(`DEV-STACK-02`) before re-running CI on the new tip head. Do not open or merge +a lower layer independently to bypass a red tip. diff --git a/devlog/_fin/260908_c_track_config_init_stack/050_outcome.md b/devlog/_fin/260908_c_track_config_init_stack/050_outcome.md new file mode 100644 index 00000000000..05e19c97a18 --- /dev/null +++ b/devlog/_fin/260908_c_track_config_init_stack/050_outcome.md @@ -0,0 +1,82 @@ +# 050_outcome.md — terminal record + +## Result + +Landed on `dev` as `6188458ae3f4fd84ef57344b60cf3ceeed80aa6f` through +[#3941](https://github.com/lidge-jun/opencodex/pull/3941) on 2026-09-07. + +| Layer | Source | Disposition | +|---|---|---| +| wp1 | [#3900](https://github.com/lidge-jun/opencodex/pull/3900) by @x3M3x | carried, PR closed as superseded | +| wp2 | new here | landed | +| wp3 | [#3896](https://github.com/lidge-jun/opencodex/pull/3896) by @parkjs101 | carried, PR closed as superseded | +| — | [#3893](https://github.com/lidge-jun/opencodex/issues/3893) | closed | + +Both `Co-authored-by` trailers are on the landed squash commit. The 13 files in +the reviewed tip hash identical to their landed counterparts, `atomic-write.ts` +on `dev` hashes identical to #3900's pinned version, and `initialize.ts` equals +#3896's pinned file apart from wp2's two intended substitutions. + +## What the plan got right + +The tip-only CI mechanism worked exactly as designed. `ci.yml` triggers on +`pull_request` with no draft filter, so the first plan's assumption that draft +status suppresses CI was wrong; opening no pull request for the lower layers is +what actually produced one workflow subject. No Cross-platform CI run exists for +either lower branch. + +Ordering wp2 between the two carried PRs also paid off as predicted. The cherry-pick +of #3896 produced exactly one conflict — the adjacent hunk where `hardeningFailed = true` +sits directly after the rewritten `openSync` line — and it was resolved once. + +## What the plan got wrong, and what caught it + +The first roadmap draft failed its independent audit with seven findings. Three +mattered: the false draft-CI claim above, merging on stale-base CI evidence, and +proving delivery by ancestry alone when a squash can silently drop a contributor +hunk. It also misstated the file overlap as wp1/wp3 when #3900 never touches +`initialize.ts`. The revised plan passed re-audit, and the stale-base rule +earned itself back: `dev` moved twice during this delivery, so the tip was +rebased and re-certified rather than merged on its first green run. + +## The CI failure that was not ours + +The pre-rebase head failed one job, `test 4/4`, in +`prompt probe process lifecycle > the last cancellation drains the exact child`. +Investigation attributed it to that test's final parent-side PID poll expiring at +its 15-second internal deadline: every preceding assertion passed, the replacement +command had already observed the old child gone, and the same test passed on macOS +in the same run. `src/codex/prompt-text-probe.ts` imports `node:fs` only for +`existsSync`/`statSync` and never calls the changed writers. A same-head rerun +passed; the rebased head passed 25/25 on the first attempt. + +Worth recording honestly: the investigation could not name the exact mechanism. +The replacement considered the PID absent while the parent still considered it +alive, which PID reuse, runtime liveness behavior, or a real observation defect +could all explain. It is a flake by evidence of non-reproducibility, not by proof. + +## Follow-up left open + +Three exclusive opens under `src/lab/` share the numeric spelling this track +replaced: `ledger/store.ts` (two) and `public/private-file.ts`. Lab is opt-in and +off the core request path, so they stayed out rather than widening a config-surface +fix. The read/write sites in `artifacts/secure-fs.ts` need individual treatment +because `"wx"` would drop read access; they are not a mechanical substitution. + +## Verification boundary + +The local product suite, typecheck, and build were **NOT RUN** by owner +instruction. Acceptance rested on repository CI against the tip +([run 34153124187](https://github.com/lidge-jun/opencodex/actions/runs/34153124187): +19 jobs succeeded, 2 skipped, zero failures on the first attempt) plus independent +read-only audits at each layer. The two skips are the dispatch-only `macos control` +and Windows shard lanes, so Windows packaging and keyring smoke passed but the +Windows suite itself did not run. + +One limit worth stating plainly: the green PR run tested the tip against the base it +was rebased onto, and #3940 landed on `dev` between that run and the merge. The +C-track content is byte-identical either way, and the four files #3940 touched do not +overlap this change, but the combined tree is certified by the post-merge `dev` run +rather than by the PR run. That run has since completed: +[run 34153892496](https://github.com/lidge-jun/opencodex/actions/runs/34153892496) on +`6188458ae` succeeded, 19 jobs and 2 skips, so the landed combined tree is certified. diff --git a/devlog/_fin/260908_provider_runtime_stack/000_plan.md b/devlog/_fin/260908_provider_runtime_stack/000_plan.md new file mode 100644 index 00000000000..c8da992329c --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/000_plan.md @@ -0,0 +1,65 @@ +# 000 — Plan and live manifest + +Unit: `devlog/_plan/260908_provider_runtime_stack`. Session `01a080e2-1dfc-7082-bff8-5043215bdd35`. +Snapshot: 2026-09-08T12:00Z (fetch), `origin/dev` = `29bb221c3` +(`Merge pull request #4021 from lidge-jun/codex/release-248-record`). +Carry worktree: `/private/tmp/ocx-prs-stack-01a080e2` (linked worktree of the main checkout; +`core.worktree` unset, toplevel verified). + +## Objective + +Land the open provider-runtime contributor PRs on `dev` as one ordinary manual dependent PR +stack, integrated with the repository's provider discipline (test layout, provider marks, +docs-site sections, contributor attribution), and merge the stack bottom-up into `dev` +after a single green final-head CI run. Constraints given by the maintainer: + +- Never run the local product suite, typecheck, build, or install. Every one of those is + labelled NOT RUN in the delivery record. Hosted CI on the final head is the only proof. +- Every mutating Git command runs as `git -c core.hooksPath=/dev/null` (the repository + `postmerge` hook can otherwise install dependencies and typecheck). Push with + `--no-verify`. +- CI runs once, on the top of the stack. Merge only if that head is green. +- Ordinary dependent PR bases, no GitHub native stack registration (DEV-STACK-OPT-IN-01). +- Cherry-pick, reimplement, squash, or rebase are all permitted. Original authors stay + as commit authors (`cherry-pick -x`) or in a `Co-authored-by` trailer. +- Subagents: `anthropic/claude-opus-5` unlimited; Aside browser delegation unlimited. +- Out of scope: release/publish, `main`/`preview` promotion, unrelated subsystems. + +## Work-phase map (one PABCD cycle each) + +| WP | Scope | Doc | +|----|-------|-----| +| wp1 | Docs-only roadmap: this manifest, layer plan (010), conflict map (011), mark sourcing (012), secondary dispositions (013) | 000-013 | +| wp2 | Carry L1-L3 (CodeBuddy #3340, Qoder Global #3349, Qoder CN #3350) onto `dev` with layout registration | 020 | +| wp3 | L4 marks + display names + docs-site sections + attribution; accepted secondary layers | 030 | +| wp4 | Publish, final-head CI, bottom-up admin merge, ancestry proof, closeouts, delivery record | 040, 060 | + +## Manifest (exact head at snapshot) + +| PR | Author | Head | Base | Mergeable vs dev | +/- | Files | Commits | Draft | +|----|--------|------|------|------------------|-----|-------|---------|-------| +| #3340 | Flowershangfromthebranches | `4b705e92d` | dev | clean (merge-tree) | 2108/6 | 17 | 4 | yes | +| #3349 | Flowershangfromthebranches | `4ac98bd4d` | dev | CONFLICTING (`tests/providers/provider-connection-test.test.ts`, import-path only) | 2683/14 | 30 | 4 (3 shared with #3340) | yes | +| #3350 | Flowershangfromthebranches | `a4e805084` | dev | conflicts inherited from #3349 | 2834/16 | 30 | 5 (4 shared) | yes | +| #3010 | Liang-Psych | `2e3582328` | dev | CONFLICTING; OAuth/private-protocol design the maintainer review rejected | 1474/2 | 11 | 18 | yes | + +The three Flowershangfromthebranches PRs are already a contributor-declared chain +(#3340 → #3349 → #3350); #3349 and #3350 GitHub diffs include the lower layers because +each targets `dev`. The carry keeps that chain shape but rebases each layer onto its +parent so every PR diff is layer-only (DEV-STACK-03). + +## Maintainer review state carried into this unit + +The prior maintainer reviews (grok-bot, 2026-09-03) on all three PRs left these open items, +now dispositioned here: + +| Item | Disposition | +|------|-------------| +| AUP / terms acceptance for headless CLI proxy routing (CodeBuddy, Qoder) | Maintainer decided in this session by authorizing the landing. Recorded in 040. | +| Provider marks missing in `gui/src/provider-icons.ts` | wp3, per the Meta precedent `81a1fc1cc` (#3338): first-party SVG with source notes, or documented initials tile when terms forbid. See 012. | +| docs-site guide lacks a Qoder Global/CN section | wp3. CodeBuddy section already exists at `guides/providers.md:620`. | +| Shared `coding-agent/protocol.ts` error classification broadened in the Qoder commit | Kept in L2 where the contributor put it; audit (wp2 A-phase) checks CodeBuddy fixture coverage. | +| `qoder` promoted from free-directory reference id to runtime seed with `preserveCustomDestination` | Kept; parity test in the carried commits asserts the flag. | +| #3010 relationship | Superseded by #3350 once landed; close with credit to Liang-Psych. | +| Tests at `tests/` root | Blocker on current `dev`: layout guard. Fixed per layer in wp2. | +| Draft readiness checklist (contributor-side) | Not applicable; maintainer carries the PRs under admin authority. Originals close as superseded. | diff --git a/devlog/_fin/260908_provider_runtime_stack/010_layer_plan.md b/devlog/_fin/260908_provider_runtime_stack/010_layer_plan.md new file mode 100644 index 00000000000..7735d51f345 --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/010_layer_plan.md @@ -0,0 +1,34 @@ +# 010 — Layer plan + +Stack shape (merge bottom-up, ordinary dependent bases): + +| # | Branch | Base | Thesis | Source commits | +|---|--------|------|--------|----------------| +| 1 | `codex/prs-l1-codebuddy` | `dev` | CodeBuddy Global/CN headless CLI providers + shared `coding-agent` runtime | #3340: `7e56b6399`, `f651611f1`, `18530f8e8`, `4b705e92d` (cherry-pick -x) + layout fix commit | +| 2 | `codex/prs-l2-qoder-global` | L1 | Qoder Global PAT provider, account-scoped live model discovery | #3349: `4ac98bd4d` (cherry-pick -x, import-path conflict resolved) + layout fix commit | +| 3 | `codex/prs-l3-qoder-cn` | L2 | Qoder CN PAT profile | #3350: `a4e805084` (cherry-pick -x) | +| 4 | `codex/prs-l4-marks-docs` | L3 | Provider marks, display names, docs-site Qoder section, CREDITS | new maintainer commits | +| 5+ | `codex/prs-l5-*` | L4 | Secondary PRs accepted by 013 triage, one layer each | cherry-pick -x | + +Layer rules: + +- Each layer builds at its own tip. The layout-guard fix for a layer's tests lives in + that layer, not deferred upward. +- Original author preserved by `cherry-pick -x` (author field + `(cherry picked from + commit …)` line). Maintainer-authored repair commits carry no trailer because they + are not the contributor's work; the PR body names the source PR. +- PR bodies use the repository template and carry the stack map (DEV-STACK-03). +- Only the top layer's head gets CI. Lower PRs are opened for review navigation and + merge order; their own PR CI may run (`pull_request` trigger) but is not the gate. + +Verification plan (hosted only): + +1. Push all layers with `--no-verify`. +2. If the top PR's `pull_request` CI skips platform lanes, dispatch + `gh workflow run ci.yml -R lidge-jun/opencodex --ref -f lane=all`. +3. Record run id, every job conclusion; skipped/cancelled are not passing. +4. Merge bottom-up with `--admin`, retarget the next child to `dev` after each parent + lands, keep parent branches until no open child targets them. +5. After the top merge: `git fetch origin dev`; every merge SHA must satisfy + `git merge-base --is-ancestor origin/dev`; `git rev-parse origin/dev^{tree}` + must equal the certified head's tree (or a diff limited to merge-commit metadata). diff --git a/devlog/_fin/260908_provider_runtime_stack/011_conflict_map.md b/devlog/_fin/260908_provider_runtime_stack/011_conflict_map.md new file mode 100644 index 00000000000..9c691953606 --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/011_conflict_map.md @@ -0,0 +1,24 @@ +# 011 — Conflict map (measured) + +Method: `git merge-tree --write-tree origin/dev refs/pr/` and the actual cherry-picks in +the carry worktree. + +| Layer | Conflicting file | Nature | Resolution | +|-------|------------------|--------|------------| +| L1 | none | `tests/providers/provider-registry-parity.test.ts` auto-merged | — | +| L1 | `tests/codebuddy-adapter.test.ts`, `tests/codebuddy-protocol.test.ts` | Not a git conflict; layout guard (`tests/test-layout.test.ts`) rejects root test files since `260905_test_modularization_and_windows` | Move to `tests/providers/`, rewrite `../src` → `../../src`, `./helpers` → `../helpers`; register in `scripts/test-layout/layout.json` `explicit` and `tests/fixtures/test-layout-expected.json`. Commit `769e4208f`. | +| L2 | `tests/providers/provider-connection-test.test.ts` | Import block: dev moved the file into `tests/providers/`; the PR adds one `setFetchQoderModelsForTests` import against the old path | Keep dev's `../../src` paths, add the Qoder import at the same depth. | +| L2 | `tests/qoder-adapter.test.ts`, `tests/qoder-live-models.test.ts` | Layout guard, as L1 | Same move + registration. Commit `094cb93d0`. | +| L3 | `tests/providers/qoder-adapter.test.ts`, `tests/providers/qoder-live-models.test.ts` | The CN commit edits the same import lines the L2 layout commit moved | Take the CN import set (adds `QODER_CN_PROFILE`, `resolveQoderProfile`) at the new depth. | + +Auto-merged without conflict (git content merge, needs the wp2 audit to confirm semantics): +`README.md`, `docs-site/.../guides/providers.md`, `docs-site/.../reference/configuration/providers.md`, +`src/codex/catalog/provider-fetch.ts`, `src/providers/registry.ts`, +`src/server/management/provider-routes.ts`, `tests/adapters/adapter-*-conformance.test.ts`, +`tests/adapters/adapter-registry-authority.test.ts`, `tests/providers/provider-registry-parity.test.ts`. + +Known dev-side drift since the PR base (`81a1fc1cc`, 2026-09-03) that touches carried files: +provider namespace ownership (`bbea77a48`), Nous catalog limits (`5cd71ec91`), OrcaRouter +PKCE (`c41232aa5`), keychain restore ownership (`924b65799`), BigModel repairs. The wp2 audit +reads each of these against the carried edits in `provider-fetch.ts`, `model-cache.ts`, and +`registry.ts`. diff --git a/devlog/_fin/260908_provider_runtime_stack/012_mark_sourcing.md b/devlog/_fin/260908_provider_runtime_stack/012_mark_sourcing.md new file mode 100644 index 00000000000..519fca90726 --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/012_mark_sourcing.md @@ -0,0 +1,23 @@ +# 012 — Mark sourcing decision + +Research agent (claude-opus-5) verified on the public web, 2026-09-08. Assets held outside the +repo at `/tmp/ocx-marks/` until wp3 commits them. + +| id | Decision | File | Source | Terms basis | +|----|----------|------|--------|-------------| +| `qoder` | ship | `qoder.svg` | `https://qoder.com/favIcon.svg` (declared site icon; 73,379 B; viewBox `0 0 206 206`; byte-identical on `qoder.cn`, `qoder.com.cn`, and the schema.org Organization logo URL) | Qoder ToS (BRIGHT ZENITH, 2026-04-29) reserves rights generally, no mark-use prohibition; same posture as `meta.svg` | +| `qoder-cn` | ship, shared asset | `qoder.svg` | same file | CN agreement (通义云启(杭州)信息技术有限公司 + Alibaba Cloud, 2026-05-20) §五(a) reserves 商标 rights without restricting third-party use | +| `codebuddy` | initials tile, documented | none | mark exists (`…/web/ide/logo.svg`) | CodeBuddy service agreement §9.3 "Tencent Logo": no use of Tencent brand features "under any circumstances" without written consent | +| `codebuddy-cn` | initials tile, documented | none | same | same clause on `codebuddy.cn/document/term` | + +Wiring consequences: + +- `gui/tests/provider-icons.test.ts` derives the asset stem from `providerId.split("-")[0]`, + so committing `qoder.svg` fails the unwired-asset check for both `qoder` and `qoder-cn` + until each has its own alias row (the Meta commit pinned both ids for the same reason). +- Do not mask `qoder.svg`: light plate + dark glyph, both neutral inks, 94.5% opaque; a + mask collapses it into a filled box (README "plate problem"). +- Display names: `qoder` → "Qoder", `qoder-cn` → "Qoder CN", `codebuddy` → "CodeBuddy", + `codebuddy-cn` → "CodeBuddy CN". +- The CodeBuddy refusal goes into `gui/public/provider-icons/README.md` because no test + can detect an absent mark; without the note a later pass would re-fetch the logo. diff --git a/devlog/_fin/260908_provider_runtime_stack/013_secondary_dispositions.md b/devlog/_fin/260908_provider_runtime_stack/013_secondary_dispositions.md new file mode 100644 index 00000000000..07f7937551a --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/013_secondary_dispositions.md @@ -0,0 +1,23 @@ +# 013 — Secondary PR dispositions (bounded triage, read-only) + +Method: `gh pr view`, `git merge-tree --write-tree` against `origin/dev` and against the L3 +head `85ad0a29a`, blob reads. No bun command run. Triage agent: claude-opus-5. + +| PR | Author | Size | Conflicts vs dev / vs stack | C4 surface | Maintainer state | Layout | Verdict | +|---|---|---|---|---|---|---|---| +| #3990 Hermes source-preserving YAML | rrmlima | 5 files +106/−44 | none / none | no | approved ("머지하세요") | already mapped | INCLUDE → L5 | +| #3988 Gemini model-tail continue nudge | rrmlima | 2 files +51/−14 | none / none | no | approved after CI | already mapped | INCLUDE → L6 | +| #3833 Command Code native integration | rrmlima | 9 files +256/−4 | none / none | no | stale review mostly fixed | layout trap: `command-code-client.test.ts` seeds to `providers` (`layout.json:14`), explicit `clients` entry would trip the seed-mismatch check (`test-layout-tooling.test.ts:282`); needs rename or `pinnedOverrides` — design call | DEFER | +| #3952 openai-chat freeform + Moonshot Responses | yxr1995-maker | 9 files +467/−11 | none / none | no | "지금 형태로는 merge하지 마세요"; bundles three changes; `apply-patch-envelope.ts:51-59` fence stripping can truncate legit bodies; flips `moonshot` adapter default | DEFER (split required) | +| #3639 EntraID for Azure Foundry | chrisoro | 39 files +590/−62 | none / none | yes (new `@azure/identity` dep, new credential path) | hygiene-blocked, security review required | — | REJECT for this stack | +| #3283 Antigravity pool + Gemini 3.8 | vanch007 | 14 files +960/−53 | 2 / 2 (`responses/parser.ts`, `server/responses/core.ts`) | yes | "merge 비추천"; competes with #2562 | — | REJECT | +| #3282 Copilot context tier | Simon-Opopeee | 39 files +521/−14 | 8 / 8 | yes | provider guard missing, screenshot missing, hygiene-blocked | root test file | REJECT | +| #2230 Gemini OAuth accounts | ppvia | 33 files +1637/−61 | 16 / 16 | yes (embedded OAuth client secret) | maintainer-sponsored security review mandatory | unregistered tests | REJECT | + +#3990 and #3988 are pairwise clean with each other and with every other candidate +(`merge-tree` exit 0 for all combinations). Both are runtime-scope, no auth/credential/workflow +surface, and the maintainer already approved their content. They become L5 and L6 above the +marks layer, each cherry-picked with `-x` to keep rrmlima as author. + +DEFER/REJECT items are not closed by this unit; their disposition is recorded here for the +next triage pass. diff --git a/devlog/_fin/260908_provider_runtime_stack/020_wp2_carry.md b/devlog/_fin/260908_provider_runtime_stack/020_wp2_carry.md new file mode 100644 index 00000000000..32677407eca --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/020_wp2_carry.md @@ -0,0 +1,23 @@ +# 020 — wp2: carry L1–L3 with layout registration + +Status at write time: carried in the worktree, unpublished. Heads: L1 `769e4208f`, +L2 `094cb93d0`, L3 `85ad0a29a` (pre-audit-fix). + +## Audit round 1 (claude-opus-5, adversarial, read-only) — NEAR-PASS + +| # | Finding | Disposition | +|---|---------|-------------| +| 1 | Qoder catalog branch in `src/codex/catalog/provider-fetch.ts` (4 hint calls, ~1598–1628) omits `captured.effectiveAlias`, which `45045623b` (#3601) threaded through every sibling branch. Git auto-merged because lines do not overlap. | FOLD — maintainer fix commit on L2 appends the argument to all four calls. | +| 2 | `tests/adapters/adapter-tool-conformance.test.ts` exempts `codebuddy`/`qoder` with a bare `continue`; a future tool bridge would keep passing silently. | RESIDUAL — v1 contract is `--tools ""`, documented in registry notes and docs-site. A guard test cannot be validated locally under the no-local-suite rule; deferred to a follow-up that can run it. | +| 3 | `src/adapters/coding-agent/protocol.ts:198` matches bare `authentication`, so vendor text like "authentication service degraded" becomes a 401 `invalid_api_key`, which drives reauth messaging and key-pool rotation. | FOLD — anchor to credential verdicts (`authentication (?:failed|error|required)`, `unauthorized`). Existing fixture "Not logged in; invalid token" still classifies 401. | +| 4 | `qoder`/`qoder-cn` seed `noVisionModels` with the full roster, advertising image input the adapter rejects. | REBUT — this is the repository convention (`registry.ts:912`, parity test :388, CodeBuddy CN roster §二十九): membership routes images through the vision sidecar and the fail-closed strip applies to every such provider. The adapter's 400 is the defense when an image reaches it without the sidecar path. | + +Non-blocking notes carried: CodeBuddy Global roster has no `noVisionModels` (static, vendor +manifest); `docs/qoder-cli-provider.md` lives outside docs-site (kept, wp3 adds the published +section); `--effort` vs `--reasoning-effort` rests on vendor manifests. + +Clean under audit: registry contract shape, seed parity fields, `qoder` free-directory +promotion + `preserveCustomDestination`, `authorityIdentity` backward compatibility, +connection-test path ordering, layout-guard JSON (delta is exactly the four new keys), +privacy (PAT redaction, allowlisted child env, SHA-256 fingerprint), CI path (no docs-site +build or provider enumeration on `pull_request`). diff --git a/devlog/_fin/260908_provider_runtime_stack/030_wp3_marks_docs.md b/devlog/_fin/260908_provider_runtime_stack/030_wp3_marks_docs.md new file mode 100644 index 00000000000..0093ab15f1f --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/030_wp3_marks_docs.md @@ -0,0 +1,15 @@ +# 030 — wp3: L4 marks/docs/credits, L5–L6 secondary layers + +L4 `codex/prs-l4-marks-docs` (maintainer-authored): + +- `gui/public/provider-icons/qoder.svg` from `/tmp/ocx-marks/qoder.svg` (verbatim). +- `gui/src/provider-icons.ts`: aliases `qoder`/`qoder-cn` → `qoder.svg`; display names + Qoder, Qoder CN, CodeBuddy, CodeBuddy CN. No CodeBuddy asset (012). +- `gui/public/provider-icons/README.md`: Qoder provenance + CodeBuddy refusal note (012 text). +- `docs-site/src/content/docs/guides/providers.md`: "Official Qoder CLI (Global & CN)" + section after the CodeBuddy section; reference/configuration adapter list adds `qoder`. +- `CREDITS.md`: not needed — original commits keep the contributor as author. + +L5 `codex/prs-l5-hermes-yaml`: cherry-pick -x `a1fe9caeb` (#3990, rrmlima). +L6 `codex/prs-l6-gemini-tail`: cherry-pick -x `1837b8f99` (#3988; commit author is +`root`, so add `Co-authored-by: rrmlima` via the PR body/merge commit). diff --git a/devlog/_fin/260908_provider_runtime_stack/040_wp4_publish_merge.md b/devlog/_fin/260908_provider_runtime_stack/040_wp4_publish_merge.md new file mode 100644 index 00000000000..cf056aafcf3 --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/040_wp4_publish_merge.md @@ -0,0 +1,16 @@ +# 040 — wp4: publish, CI, merge, prove, close + +1. Push six branches `--no-verify` with `-c core.hooksPath=/dev/null`. +2. Open PRs bottom-up with explicit `--base` (L1→dev, L2→L1, …), template body + stack map. +3. Dispatch `ci.yml` `lane=all` on the L6 head; record run id and every job. +4. On green: merge L1 with `--admin --match-head-commit`, retarget L2 to `dev`, repeat. + Keep parent branches until no child targets them. +5. Fetch `dev`; assert each merge SHA is an ancestor; compare `dev^{tree}` to the certified + L6 tree. +6. Close #3340/#3349/#3350 superseded (credit Flowershangfromthebranches), #3990/#3988 + superseded (credit rrmlima), #3010 superseded by the landed Qoder CN PAT provider + (credit Liang-Psych). +7. Write 060 ledger; move unit to `_fin`. + +AUP decision: the maintainer authorized landing these headless-CLI PAT providers in this +session (2026-09-08); recorded here as the maintainer decision the prior reviews asked for. diff --git a/devlog/_fin/260908_provider_runtime_stack/050_delivery_record.md b/devlog/_fin/260908_provider_runtime_stack/050_delivery_record.md new file mode 100644 index 00000000000..8ada5b0bc6e --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/050_delivery_record.md @@ -0,0 +1,58 @@ +# 050 — Delivery record + +Snapshot: 2026-09-08T14:10Z. `origin/dev` = `e2bf1672c` (was `29bb221c3` at unit start). + +## What landed + +| Layer | PR | Merge SHA | Head SHA | Source | Author credit | +|-------|----|-----------|----------|--------|---------------| +| L1 CodeBuddy Global/CN | #4026 | `b77b05aa5` | `769e4208f` | #3340 (4 commits, cherry-pick -x) + layout move | Flowershangfromthebranches (author field + trailer) | +| L2 Qoder Global | #4027 | `753ecb813` | `5adf130da` | #3349 (cherry-pick -x) + layout move + audit fix | Flowershangfromthebranches | +| L3 Qoder CN | #4028 | `07ac34b2d` | `615c5c62c` | #3350 (cherry-pick -x) | Flowershangfromthebranches; Liang-Psych trailer for #3010 direction | +| L4 marks/docs | #4029 | `9f0721299` | `6ba1e6750` | maintainer | — | +| L5 Hermes YAML | #4030 | `5bb8faf7b` | `295bcf82b` | #3990 (cherry-pick -x) + fr/zh-TW sync | rrmlima | +| L6 Gemini tail | #4031 | `e2bf1672c` | `16d49ceab` | #3988 (cherry-pick -x) + single-owner fix | rrmlima (trailer; carried commit author is `root`) | + +## Proof + +- CI: `ci.yml` `lane=all` run **34231255231** on `16d49ceab`: 26/26 jobs success. `windows 4/6` + failed once on `tests/codex-integration/token-guardian.test.ts` afterEach `EPERM rm` of its + temp dir (a file the stack does not touch); same-SHA rerun of that job passed. Earlier run + 34228268757 on `ba3912ce8` was cancelled when the head moved and is diagnostic only. +- Ancestry: all six merge SHAs and all six head SHAs are ancestors of fetched `origin/dev`. +- Tree: `origin/dev^{tree}` = `2201b9e54…` = `16d49ceab^{tree}`. Landed tree equals certified head. +- Hygiene/enforce-target: green on every PR before merge after two repairs (trailers moved to + the body end where `pr-carry-attribution.cjs` reads them; L4 got pinned icon tests for + `missing_regression_test` and a before/after screenshot for the GUI gate). + +## NOT RUN (by maintainer instruction) + +`bun install`, `bun run typecheck`, `bun run test`, `bun run test:changed`, `bun run build:gui`, +`bun run privacy:scan`, `bun run lint:gui` — none executed locally. Every Git mutation ran with +`-c core.hooksPath=/dev/null`; pushes used `--no-verify`. Hosted CI is the only execution proof. + +## Audit dispositions + +Round 1 (L1–L3): blocker 1 `captured.effectiveAlias` folded (`5adf130da`); blocker 3 auth regex +folded (same commit); blocker 2 tool-less conformance exemption → residual, follow-up; blocker 4 +`noVisionModels` → rebutted (repository convention). Round 2 (L4–L6): double `(continue)` nudge +folded (`16d49ceab`); fr/zh-TW Hermes contradiction folded (`295bcf82b`); seven locale copies of +the adapter list still stop at `azure-openai` (predates this unit; residual). + +## Closeouts + +#3340 (auto-closed by merge; credit comment added), #3349, #3350, #3990, #3988 closed as +superseded with credit; #3010 closed as superseded by the PAT design with credit to Liang-Psych. + +## Secondary PR dispositions (not closed) + +DEFER #3833 (layout seed trap, design call), #3952 (split required). REJECT for this stack +#3639, #3283, #3282, #2230 (C4 surfaces, conflicts, or maintainer-required security review). +See 013. + +## Residuals for a follow-up + +1. Guard test proving `codebuddy`/`qoder` still expose no tool catalog (audit round 1, blocker 2). +2. Locale adapter tables (ko/ja/zh-cn/zh-tw/fr/ru/tr reference/configuration/providers.md). +3. `docs/qoder-cli-provider.md` lives outside docs-site; consider folding into the guide. +4. Windows shard flake: `token-guardian.test.ts` temp-dir `EPERM` on cleanup. diff --git a/devlog/_fin/260908_provider_runtime_stack/060_ledger.md b/devlog/_fin/260908_provider_runtime_stack/060_ledger.md new file mode 100644 index 00000000000..cc5dbd49778 --- /dev/null +++ b/devlog/_fin/260908_provider_runtime_stack/060_ledger.md @@ -0,0 +1,17 @@ +# 060 — Ledger + +| When (UTC) | Event | Evidence | +|-----------|-------|----------| +| 2026-09-08T12:04 | Goal created; goalplan wp1–wp4 registered | `.codexclaw/goalplans/land-the-open-opencodex-provider-runtime-contrib` | +| 2026-09-08T12:06 | Worktree `/private/tmp/ocx-prs-stack-01a080e2` on `origin/dev` `29bb221c3`; L1–L3 carried by `cherry-pick -x` | heads L1 `769e4208f`, L2 `094cb93d0`, L3 `85ad0a29a` | +| 2026-09-08T12:30 | wp1 roadmap docs 000–040 written; audit NEAR-PASS (020) | this unit | +| 2026-09-08T12:35 | wp2 audit fixes on L2 (`5adf130da`): effectiveAlias ×4, auth regex anchor; L3 cascaded | 020 | +| 2026-09-08T12:40 | wp3: L4 `76c8a0b0b` (qoder.svg, aliases, names, README, docs-site), L5 `a49d1ad92`+`48666541b` (#3990 + fr/zh-TW sync), L6 `7bd84795b`+`ba3912ce8` (#3988 + single-owner nudge) | 030, audit round 2 | +| 2026-09-08T12:48 | Pushed six branches `--no-verify`; PRs #4026 (L1→dev), #4027, #4028, #4029, #4030, #4031 (L6) with explicit dependent bases | GitHub | +| 2026-09-08T12:49 | `ci.yml` `lane=all` dispatched on `ba3912ce8`: run 34228268757 (+ PR run 34228261835) | Actions | +| 2026-09-08T13:02 | Hygiene gate: `missing_coauthor_credit` on every PR (trailers were inside the Summary, gate reads end of body) → trailers appended at body end; `missing_regression_test` on L4 → pinned Qoder/CodeBuddy icon tests added, L4 amended `6ba1e6750`, L5/L6 cascaded, force-with-lease pushed | GitHub | +| 2026-09-08T13:24 | New top head `16d49ceab`; `lane=all` dispatched: run 34231255231 (first run 34228268757 on `ba3912ce8` kept only as diagnostic) | Actions | +| 2026-09-08T13:55 | Run 34231255231 (`16d49ceab`, lane=all): 25/26 jobs success; `windows 4/6` failed on `tests/codex-integration/token-guardian.test.ts` afterEach `EPERM rm` of its temp dir (remove-tree retry exhausted). The stack touches no oauth/guardian/remove-tree file. Rerunning that job at the same SHA. | Actions | +| 2026-09-08T14:00 | Run 34231255231 green 26/26 after same-SHA rerun of windows 4/6 | Actions | +| 2026-09-08T14:07 | Bottom-up admin merges: #4026 `b77b05aa5`, #4027 `753ecb813`, #4028 `07ac34b2d`, #4029 `9f0721299`, #4030 `5bb8faf7b`, #4031 `e2bf1672c`; `origin/dev`=`e2bf1672c`; tree == `16d49ceab^{tree}` | 050 | +| 2026-09-08T14:09 | Originals closed with credit: #3349 #3350 #3010 #3990 #3988 (#3340 auto-closed, credit comment) | GitHub | diff --git a/devlog/_fin/260908_provider_runtime_stack/assets/031_l4_provider_marks.png b/devlog/_fin/260908_provider_runtime_stack/assets/031_l4_provider_marks.png new file mode 100644 index 0000000000000000000000000000000000000000..18f4797503fd4c4885df4e8d34c05487e8de1324 GIT binary patch literal 30266 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 S8)%&*lCGA4<{gdwC;tcBR+_v3 literal 0 HcmV?d00001 diff --git a/devlog/_fin/260908_release_248/000_plan.md b/devlog/_fin/260908_release_248/000_plan.md new file mode 100644 index 00000000000..221302a72db --- /dev/null +++ b/devlog/_fin/260908_release_248/000_plan.md @@ -0,0 +1,31 @@ +# Release 2.48.0 plan + +Owner-authorized HOTL release train for OpenCodex 2.48.0. The owner asked for a regression check of `dev` against `main`, two promotion pull requests, merges into `main` and `preview`, and npm publication. The owner also forbade running the local test suite and required `--no-verify` for any push, so every verification claim in this unit rests on hosted CI at an exact SHA. Local typecheck, local `bun run test`, and local privacy scan are NOT RUN by instruction and are labeled that way wherever they would otherwise appear as evidence. + +## Candidate + +Release candidate: `7797586a8899c673eab48886a490e85b480c6d72` (`origin/dev` tip, 2.48.0 in package.json). + +Published baseline: `@bitkyc08/opencodex` `latest=2.47.0`, `preview=2.47.0-preview.20260908`. `origin/main` is `f7f890ff7` at 2.47.0; `origin/preview` is `3bef20677` at 2.47.0-preview.20260908. `dev` is 70 commits ahead of each. + +The candidate tip itself has no Cross-platform CI run because its only delta against `9ad218a9bdd34ee33004c35706d78396bf02eef2` is under `devlog/`, which the workflow's push path filter excludes. `git diff --name-only 9ad218a9b 7797586a8 -- . ':(exclude)devlog'` returns zero files, so `9ad218a9b` is the runtime-identical CI witness for the candidate: 19 successful check-runs, two deliberately skipped (`macos control`, the Windows shard placeholder). That equivalence is stated explicitly rather than assumed, because the promotion merge SHAs will carry their own push-event CI regardless. + +## Scope + +In scope: version metadata on the two promotion branches, promotion PRs into `preview` and `main`, merges, `release.yml` dispatch for preview and stable, and registry/tag verification. Also in scope: a PABCD repair cycle merged into `dev` if regression evidence shows a defect, followed by a repeat of the release verification. + +Out of scope: unrelated open PRs and issues, dev-version bumping beyond what the release requires, installed-service upgrades, account settings, and any change to branch protection or CI gates. + +## Work phases + +- wp1 — this roadmap. Pin the candidate, record the CI-equivalence argument and the promotion procedure. No product change. +- wp2 — regression verification of the candidate against `main` using hosted evidence only. +- wp3 — promotion branches and PRs, merged with exact-head CI. +- wp4 — npm preview and stable publication with registry verification. + +## Verification and outcomes + +Each promotion SHA needs its own successful push-event Cross-platform CI and Service lifecycle before any publish dispatch. Publication proof is npm dist-tags, the published `gitHead`, tarball integrity, provenance, and the GitHub tag and release. `enforce-target` is expected to reject both promotion PRs because its allowed bases contain only `dev`; that is the established authorized promotion exception and is reported as failing, never as passing. + +DONE requires both channels published and verified with `dev` still ahead. BLOCKED is a concrete external prerequisite or a failed gate with no safe remedy. A failing gate is repaired or remains a blocker; it is never weakened, and no check is disabled to hide it. + diff --git a/devlog/_fin/260908_release_248/010_release.md b/devlog/_fin/260908_release_248/010_release.md new file mode 100644 index 00000000000..9e1875d65f5 --- /dev/null +++ b/devlog/_fin/260908_release_248/010_release.md @@ -0,0 +1,16 @@ +# Release operation + +1. Pin candidate `7797586a8899c673eab48886a490e85b480c6d72` and record its CI witness `9ad218a9bdd34ee33004c35706d78396bf02eef2` (runtime-identical; devlog-only delta). Confirm published baseline tags and that `v2.48.0` and `v2.48.0-preview.*` are unused. + +2. Regression review of `origin/main..origin/dev`: 70 commits, 162 changed files, 25 under `src/`. Read the delta for release-blocking risk in routing, auth, credentials, release automation, and workflows. Hosted CI on the witness SHA is the mechanical evidence; the local suite is NOT RUN by owner instruction. + +3. Create two independent promotion branches from `origin/preview` and `origin/main`, merge the frozen candidate into each, resolve only the channel version conflict, and set `package.json` to `2.48.0-preview.20260908` on the preview branch and `2.48.0` on the main branch. The runtime tree on each branch must equal the candidate exactly apart from that one version line; prove it with `git diff` restricted to non-version paths. + +4. Push both branches with `--no-verify` (owner instruction), open template-complete PRs, and wait for each merge SHA's own push-event Cross-platform CI and Service lifecycle. `enforce-target` will fail on both by design; record it as the authorized promotion exception. + +5. Dispatch `release.yml` with `expected-sha` equal to the branch tip: dry-run first, then preview, then stable, serialized. Verify `npm view @bitkyc08/opencodex dist-tags`, published `gitHead`, tarball SHA-512, provenance, and the GitHub tag and release. Run a published-package smoke in an isolated home. + +6. Record the outcome in `090_delivery.md`, confirm `dev` remains ahead of both channels, and leave unrelated dirty files in the primary checkout untouched. + +Activation scenarios: a moved branch means refuse the dispatch and repin; a failed CI job means inspect and repair rather than rerun blindly; a post-publish smoke failure means inspect registry metadata before any retry, and never republish blindly. Rollback artifact `v2.47.0` stays published; no destructive rollback is planned. + diff --git a/devlog/_fin/260908_release_248/020_progress.md b/devlog/_fin/260908_release_248/020_progress.md new file mode 100644 index 00000000000..64ac908fa9d --- /dev/null +++ b/devlog/_fin/260908_release_248/020_progress.md @@ -0,0 +1,14 @@ +# Progress + +## wp1 — roadmap (this cycle) + +Candidate pinned at `7797586a8899c673eab48886a490e85b480c6d72`. CI witness `9ad218a9bdd34ee33004c35706d78396bf02eef2`: 19 successful check-runs, 2 deliberate skips. The delta between them is devlog-only, so the witness covers the candidate's runtime tree exactly. + +Roadmap committed as `38edcbf7c` on `codex/release-248-plan` in the dedicated worktree `/private/tmp/ocx-release-248`. The primary checkout keeps its pre-existing unrelated dirty files untouched. + +Local suite, typecheck, and privacy scan: NOT RUN by owner instruction. + +## wp2 — regression verification (next) + +Delta to review: 70 commits, 162 files, 25 under `src/`, ~2096 changed source lines against `origin/main`. + diff --git a/devlog/_fin/260908_release_248/030_wp2_regression_review.md b/devlog/_fin/260908_release_248/030_wp2_regression_review.md new file mode 100644 index 00000000000..3e2e50712f4 --- /dev/null +++ b/devlog/_fin/260908_release_248/030_wp2_regression_review.md @@ -0,0 +1,39 @@ +# wp2 — regression review of the candidate against main + +Reviewed `origin/main..origin/dev`: 70 commits, 162 files, 25 under `src/`, about 2096 changed source lines. The question this phase answers is narrow — does anything in that delta regress behavior that `main` currently ships? The local suite is NOT RUN by owner instruction, so the mechanical evidence is hosted CI and the argument below is a source read. + +## What changed, by risk + +Credential and quota handling carries the most weight. `src/codex/routing.ts` factors the background recovery settle path into `settleCooldownRecoveryLease` and adds a manual-reset claim/settle pair. The refactor moves `cooldownSource === "reset-derived"` and the scope restriction into the shared settle helper, which reads at first glance like a new restriction on the pre-existing background path. It is not: `claimDueCodexQuotaRecoveryProbes` already filters candidates to `(scope === undefined || scope === "shared")` with `cooldownSource === "reset-derived"`, so no claim that could previously settle successfully can reach the helper and fail those conditions. `tests/codex-integration/codex-cooldown-recovery.test.ts` and `codex-reset-credit-auto-redeem.test.ts` cover both paths. + +`src/codex/auth-api.ts` adds a `dispatchSequence` fence around WHAM usage publication so a slow in-flight response cannot overwrite a newer published quota. The added early returns hand back the cached account info rather than publishing, which is a strict narrowing of when stale data wins. + +`src/server/responses/core.ts` adds combo session recall for compaction triggers and a completion callback gate. The recall path is guarded on a bare model name, an actual `compaction_trigger` input item, no configured selector, and no resolvable combo id, so a request that previously routed by explicit selector still does. The previous-response error code changed from `invalid_request_error` to `previous_response_not_found`; that is a deliberate behavior change so Codex reconnects with full input instead of terminating the task, and it is the fix's whole point. + +`src/router.ts` and `src/providers/default-aliases.ts` extend alias-ownership so a provider's own configured name also claims an alias, not just an explicit `alias` field. This makes an ambiguous alias resolve to nothing rather than to the wrong provider — a correctness fix with a narrow blast radius. + +`src/config/atomic-write.ts` replaces `constants.O_WRONLY | O_CREAT | O_EXCL` with the `"wx"` flag string, which is the same semantics expressed portably; that was the point of the change on Windows. + +## Coverage + +Forty test files changed alongside the 25 source files, and every source area above has a focused test in the same domain directory. No source change in the delta arrived without paired coverage. + +## Hosted evidence + +Push-event run on `9ad218a9bdd34ee33004c35706d78396bf02eef2` (runtime-identical to the candidate): 19 successful check-runs, 2 skipped by design. + +Dispatched full-lane run [34206043085](https://github.com/lidge-jun/opencodex/actions/runs/34206043085) on the exact candidate `7797586a8899c673eab48886a490e85b480c6d72` with `lane=all`, which adds the six Windows shards and the unsharded macOS control that the push event does not run. + +## Verdict + +No regression identified against `main`. The delta is corrective, each risky path narrows rather than widens behavior, and the one intentional behavior change (the previous-response error code) is the documented fix. + + +## Full-lane CI outcome + +Run [34206043085](https://github.com/lidge-jun/opencodex/actions/runs/34206043085) on the exact candidate `7797586a8899c673eab48886a490e85b480c6d72` completed **success** after one rerun of a single job. + +The first attempt failed on `windows 3/6`: `provider outbound GET transport > proxy mode reaches one real proxy across outbound, connection-test, and model-discovery paths` timed out at its own 15s bound, and the spawned fixture child was killed (exit 143). That test file is not in the release delta — `git log origin/main..origin/dev -- tests/providers/provider-outbound.test.ts` is empty — and the same content passed `windows 3/6` in dispatch run 34198186409 ninety minutes earlier. Rerunning the failed job passed. The evidence points at cold-runner timing on a 15s child-spawn budget, not at anything the candidate changed. + +That timeout is a real fragility worth tightening later, but it is not a 2.48.0 regression and does not block this promotion. + diff --git a/devlog/_fin/260908_release_248/040_wp3_promotion.md b/devlog/_fin/260908_release_248/040_wp3_promotion.md new file mode 100644 index 00000000000..5ba9997eaf5 --- /dev/null +++ b/devlog/_fin/260908_release_248/040_wp3_promotion.md @@ -0,0 +1,35 @@ +# wp3 — promotion pull requests and merges + +Both promotions are on their channels. + +| Channel | PR | Merge SHA | Version | +|---|---|---|---| +| `preview` | [#4010](https://github.com/lidge-jun/opencodex/pull/4010) | `c71474e83c92be1f39e9d8c1fe0743307ce93387` | 2.48.0-preview.20260908 | +| `main` | [#4011](https://github.com/lidge-jun/opencodex/pull/4011) | `9a27e86992d7a014e0aa92c046199b9fac148201` | 2.48.0 | + +Candidate `7797586a8899c673eab48886a490e85b480c6d72` is an ancestor of both branches, verified with `git merge-base --is-ancestor` against freshly fetched refs. `git diff 7797586a8 origin/main` is empty: the main tree is byte-identical to the candidate, since the candidate already carried 2.48.0. The preview tree differs only in the channel version line. + +## Gate outcomes + +`enforce-target` failed on both, as expected and as documented in the PR bodies. Its allowed bases contain only `dev` and its one coded exception is a stacked child, so a release promotion cannot pass it. Both PRs were opened as drafts by that gate and were marked ready before the authorized admin merge. The failure is recorded as a failure; no check, protection, or target was altered. + +Every other check passed on both heads. + +## Flakes encountered, and why they are flakes + +`macos 1/2` on #4011 hung twice inside `tests/clients/client-connect.test.ts` after "connect transaction and offline disconnect > an unavailable config coordinator refuses before issuing any hub key", producing "killed 1 dangling process" and then a 20-minute job timeout. The same tree passed `macos 1/2` in candidate run 34206043085 and on #4010, and passed on the third attempt. Combined with the earlier `windows 3/6` timeout, both failures were child-process lifecycle timing on cold runners, in files outside the release delta. + +## Post-merge gates + +Preview `c71474e83`: Cross-platform CI success, Service lifecycle success. + +Main `9a27e8699`: Service lifecycle success, React Doctor success, Docs deploy success; Cross-platform CI observed in progress at the time of writing and must be green before the stable publish. + + +## Merge verification commands + +``` +git merge-base --is-ancestor 7797586a8 origin/preview # YES +git merge-base --is-ancestor 7797586a8 origin/main # YES +git diff --stat 7797586a8 origin/main # empty +``` diff --git a/devlog/_fin/260908_release_248/050_wp4_publication.md b/devlog/_fin/260908_release_248/050_wp4_publication.md new file mode 100644 index 00000000000..672c8e0b451 --- /dev/null +++ b/devlog/_fin/260908_release_248/050_wp4_publication.md @@ -0,0 +1,35 @@ +# wp4 — publication + +Both channels are published and verified. + +| Channel | Version | Source SHA | npm gitHead | +|---|---|---|---| +| `preview` | 2.48.0-preview.20260908 | `c71474e83c92be1f39e9d8c1fe0743307ce93387` | matches | +| `latest` | 2.48.0 | `9a27e86992d7a014e0aa92c046199b9fac148201` | matches | + +`npm view @bitkyc08/opencodex dist-tags` reports `{"latest":"2.48.0","preview":"2.48.0-preview.20260908"}`. GitHub releases `v2.48.0` and `v2.48.0-preview.20260908` exist at exactly those commits. Both publishes carry a signed provenance statement from GitHub Actions. + +Tarball integrity was checked independently: downloading `bitkyc08-opencodex-2.48.0.tgz` from the registry and hashing it locally yields `sha512-f2GmrBpUJYZ+bOT62VL1MWhNwIBkFz5JUVGrNPG+SAaWJheshmMsnHDoMyRIpyd5v50sK9uI0Ll4XZwI4PVjhA==`, identical to the `dist.integrity` npm reports and to the `integrity:` line in the publish log. The unpacked package declares version 2.48.0 and its `bin/ocx.mjs` launcher runs and correctly reports the Bun runtime requirement in an isolated `OPENCODEX_HOME`. + +## The dev-version gate + +The first stable dispatch failed at "Require dev to be ready for this release": `origin/dev` still carried 2.48.0, which does not outrank the version being released. That gate exists so `tests/ci-workflows/release-version-line.test.ts` does not go red on `dev` and on every pull request against it the moment a release ships. + +The repair was [#4019](https://github.com/lidge-jun/opencodex/pull/4019), a one-line `package.json` change moving `dev` to 2.49.0, with the version decided by `scripts/bump-dev-version.ts` rather than chosen by hand. It merged as `0372c43e663b25387a0a00b03b6a9ca9d4bf9048` with full CI green, after which the stable dispatch succeeded on the unchanged `main` SHA. + +## Registry propagation + +Both publishes reported "Your package is being processed" and the workflow's bounded six-attempt registry smoke ended `verification=pending` in each case. Neither was republished. Preview appeared in the registry roughly twelve minutes after acceptance, stable roughly seven; both were then verified by direct registry reads and by the independent tarball hash above. + +## Final branch state + +`dev` 2.49.0, `main` 2.48.0, `preview` 2.48.0-preview.20260908. `dev` remains ahead of both release channels. + + +## Verification commands + +``` +npm view @bitkyc08/opencodex dist-tags --json +npm view @bitkyc08/opencodex@2.48.0 dist.integrity dist.tarball --json +gh release view v2.48.0 --json tagName,targetCommitish +``` diff --git a/devlog/_plan/260904_dashboard_minimal/000_inventory.md b/devlog/_plan/260904_dashboard_minimal/000_inventory.md index 2487c1afae9..a1a1d0b0945 100644 --- a/devlog/_plan/260904_dashboard_minimal/000_inventory.md +++ b/devlog/_plan/260904_dashboard_minimal/000_inventory.md @@ -1,31 +1,34 @@ # 000 — Dashboard inventory (as shipped, v2.42.0, dev @ 664d80c76) -Evidence: `assets/_1440.png` (full page, ko, 1440 px headless Chrome against the live -proxy), `assets/_text.txt` (visible text), `assets/_interactive.txt` (interactive -controls with refs, `agbrowse snapshot --interactive`). Storage was captured mid-scan (its skeleton -is the honest first paint on a 1.6 GB CODEX_HOME) and is inventoried from source. +This inventory used full-page Korean captures at 1440 px against the live proxy, +plus visible-text and interactive-control snapshots. Storage was captured mid-scan: +its skeleton records the first paint, and its full inventory came from source. + +The capture pack was removed from the current tree after review. The route, +control-count, and source inventory below retain the historical conclusions. +Git history is unchanged. Counts are from the captures: interactive = controls in the snapshot, words = visible text words. -| Route | Source | Interactive | Words | Screenshot | -|---|---|---|---|---| -| Sidebar + top bar | gui/src/App.tsx, components/sidebar-github-row.tsx, styles.css | 22 | — | every capture, left rail | -| #dashboard (overview) | pages/Dashboard.tsx, dashboard-overview-sections.tsx (669 L), dashboard-dialogs.tsx | 34 | 199 | dashboard_1440.png | -| #dashboard/providers | same | 18 | — | dashboard_providers_1440.png | -| #dashboard/models | same | 28 | — | dashboard_models_1440.png | -| #startup | pages/Startup.tsx (403 L), startup-sections.tsx | 22 | 167 | startup_1440.png | -| #providers | pages/Providers.tsx, components/provider-workspace/* | 27 | 310 | providers_1440.png | -| #models | pages/Models.tsx (2329 L) | 135 | 460 | models_1440.png | -| #models/combos | pages/Combos.tsx, components/combo-workspace-* | 59 | — | models_combos_1440.png | -| #models/routing | pages/RoutingProfiles.tsx (1139 L) | 28 | — | models_routing_1440.png | -| #models/compatibility | pages/CompatibilityMatrix.tsx | 27 | — | models_compatibility_1440.png | -| #subagents | pages/Subagents.tsx, components/subagents-workspace/* | 60 | 232 | subagents_1440.png | -| #logs | pages/Logs.tsx (1147 L) | 50 | 346 | logs_1440.png | -| #logs/debug | pages/Debug.tsx, debug-log-viewer.tsx | 24 | — | logs_debug_1440.png | -| #usage | pages/Usage.tsx (889 L) | 27 | 654 | usage_1440.png | -| #storage | pages/Storage.tsx (1469 L), components/storage-workspace/* | 16 (skeleton) | — | storage_1440.png | -| #codex-set | pages/codex-set-multiauth.tsx, codex-set-prompt.tsx, components/codex-set/*, CodexAccountPool.tsx | 51 | 361 | codex-set_1440.png | -| #integrations | pages/Integrations.tsx, ApiKeys.tsx, Claude*.tsx, Grok.tsx | 86 | 233 | integrations_1440.png | +| Route | Source | Interactive | Words | +|---|---|---|---| +| Sidebar + top bar | gui/src/App.tsx, components/sidebar-github-row.tsx, styles.css | 22 | — | +| #dashboard (overview) | pages/Dashboard.tsx, dashboard-overview-sections.tsx (669 L), dashboard-dialogs.tsx | 34 | 199 | +| #dashboard/providers | same | 18 | — | +| #dashboard/models | same | 28 | — | +| #startup | pages/Startup.tsx (403 L), startup-sections.tsx | 22 | 167 | +| #providers | pages/Providers.tsx, components/provider-workspace/* | 27 | 310 | +| #models | pages/Models.tsx (2329 L) | 135 | 460 | +| #models/combos | pages/Combos.tsx, components/combo-workspace-* | 59 | — | +| #models/routing | pages/RoutingProfiles.tsx (1139 L) | 28 | — | +| #models/compatibility | pages/CompatibilityMatrix.tsx | 27 | — | +| #subagents | pages/Subagents.tsx, components/subagents-workspace/* | 60 | 232 | +| #logs | pages/Logs.tsx (1147 L) | 50 | 346 | +| #logs/debug | pages/Debug.tsx, debug-log-viewer.tsx | 24 | — | +| #usage | pages/Usage.tsx (889 L) | 27 | 654 | +| #storage | pages/Storage.tsx (1469 L), components/storage-workspace/* | 16 (skeleton) | — | +| #codex-set | pages/codex-set-multiauth.tsx, codex-set-prompt.tsx, components/codex-set/*, CodexAccountPool.tsx | 51 | 361 | +| #integrations | pages/Integrations.tsx, ApiKeys.tsx, Claude*.tsx, Grok.tsx | 86 | 233 | ## Element-level notes from the captures (main agent's own pass) diff --git a/devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md b/devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md index d4ccdedcd9b..a4d9723fa8d 100644 --- a/devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md +++ b/devlog/_plan/260904_dashboard_minimal/001_subagent_opinions.md @@ -1,8 +1,10 @@ # 001 — Subagent opinions (independent, read-only, dev @ 664d80c76) -Three reviewers were dispatched in parallel with the same packet (evidence pack in `assets/`, -full source access, no edits, no suites, no proxy mutation). Model requested → model that -answered (as self-reported in the REVIEWER line): +Three reviewers were dispatched in parallel with the same temporary evidence packet and full +source access (no edits, no suites, no proxy mutation). The packet was subsequently removed from +the current tree. Filenames remain below only to preserve the reviewers' original reasoning. +Model requested → model +that answered (as self-reported in the REVIEWER line): | # | Requested | Answered as | Agent | Status | |---|---|---|---|---| diff --git a/devlog/_plan/260904_dashboard_minimal/assets/011_sidebar_footer_after.png b/devlog/_plan/260904_dashboard_minimal/assets/011_sidebar_footer_after.png deleted file mode 100644 index 2d6250ab69c4bbfd99e1558d9c62e0d5d2d485ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 160651 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 PTS%^{Uq=_KVuJq%KP)|a diff --git a/devlog/_plan/260904_dashboard_minimal/assets/021_dashboard_after.png b/devlog/_plan/260904_dashboard_minimal/assets/021_dashboard_after.png deleted file mode 100644 index 1a4d8f5b3bcda00a655a11566d462f0fd1715da6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129844 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

CD3kwQH&*||Bz1He&Lr89zJ-SKMjBf<2#Py$F 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

7X%{m&i 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

Y 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
    `@n~&$0SWx7Ym6so1 zXaRwbAafBeEC;Y>+M0a)LikLB9F1=~g7U^x=CXKj;A zNhEL%iwft7vV%g*N7U99s^5p@jDXzKWBU6DLo~sf*(QW3IrYI5^A3_Sw&s1YsmJd{ z3*S=$zNmixjma-BfT15NV;ZFqurvDN4b<8rmJb%w@=Q5fpV-klpQZRWKS6hLK#LBvO!+B=IDm>6ll~&lDN=86L#4wSNpyU^Ok^UEo zYdS~fVEyZ8nVwS7BS)q}%R%?r(j<#QNB+hG63NZ%G`z^E`Ec2CK+xyA6~6YT3pq)Gy5keVycQZbEe4xxwTqaECDz%6s7RZ35o z1c342k|J;bJ%`4Gv_cw>9>pakB}F?rMM=xccY%4|2?PUxj2V#b+Jsgb8UIs9dtRxcK?Y0fmhb z-FAU0rcEc!Spa2pwC3fl{WKTK7^;N(b~B>uY%?oqC|_P|X=OOC^j;?Kg@zxf5^it` z9XA@bD9g$Mlg0BH*h4QU(oE*x8G5RsTY{OYM_?Y0hW>j~on%|`5z+zr5 zrZ6@FgbFoBEdFHxT6;h$`79ufSUt$DwW4N>Fm6eXe8f7%Z(#IEL{xc-n~#oMB`wB3 z{{*rDesKa2?`&;T9~ups&10gJ-BhthmN~kqOCWY+VVE^rsvPgUZrug(=9$;2U(J;=$ z-{$gNy=#j%i)n7Erbe=H08ex-C+{4F56G1+Az3V_ZgB(;*GH5ep`4SmB;}X0MDP(^ zZ7RrM_{LC{TBp&8=DiQ@V%(BZQiHyL`kQq)`@THNna8m3&JKKc?ojm2F4by z9Yh>I%Vv?%i}*L__4_dCHdFgFjU}�Wj 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 TMqTZIpInlYQj#ndH}d&kN52%t diff --git a/devlog/_plan/260904_dashboard_minimal/assets/031_models_after.png b/devlog/_plan/260904_dashboard_minimal/assets/031_models_after.png deleted file mode 100644 index d721fb7ef2c45ba09ee806a9e529896197f98785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183105 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

    uptWW;47Ki4yFfH7bc0czW;s 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�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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/031_models_disclosures_open.png b/devlog/_plan/260904_dashboard_minimal/assets/031_models_disclosures_open.png deleted file mode 100644 index 82bf0e2d7f408213e4a7905e19752807d22d9e7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81327 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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/041_integrations_after.png b/devlog/_plan/260904_dashboard_minimal/assets/041_integrations_after.png deleted file mode 100644 index 26ac0ee107068b9c456f42aeb8bb37f324bf4849..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178656 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�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 T;}!<~2T4^?OQBxQI{g0uE(4s# diff --git a/devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_after.png b/devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_after.png deleted file mode 100644 index b165b722850f7452ea045ca9ce44a7b8fc61ff92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 166439 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]}Y-Ce$TSY7`GIIVBqL4K~u)f8IC>@@^v=Z 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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_more_open.png b/devlog/_plan/260904_dashboard_minimal/assets/051_codex_set_more_open.png deleted file mode 100644 index 51f76c8367c6b68551132d875c6260c492a405c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27807 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�d+kD^U$tc0WrncTffo7jw!Xr?9xpQ_bPLa(uw_ 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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/071_startup_after.png b/devlog/_plan/260904_dashboard_minimal/assets/071_startup_after.png deleted file mode 100644 index e041ce91f0677f419dac440996aff3a6ca06c25f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191321 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 CyIs)$ diff --git a/devlog/_plan/260904_dashboard_minimal/assets/081_subagents_after.png b/devlog/_plan/260904_dashboard_minimal/assets/081_subagents_after.png deleted file mode 100644 index 1b4be7e3c403599d5ff56057a19108367eac2d9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98618 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�l*=73lY&7G6%KLocQhAox-}7@2*=#06{{Il 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 Gzx+SKz14&O diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_interactive.txt deleted file mode 100644 index f3cfb8af75c..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_interactive.txt +++ /dev/null @@ -1,28 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e51 tab "개요" -e52 tab "활성 프로바이더" -e53 tab "사용 가능한 모델" -e56 searchbox "모델 검색…" -e57 button "Anthropic Claude 13" -e58 button "Cursor 40" -e59 button "Google Antigravity 7" -e60 button "Kimi 9" -e61 button "Lidge 1" -e62 button "Muse Code 2" -e63 button "OpenAI (Codex login) 7" -e64 button "OpenCode Free 9" -e65 button "xAI Grok 8" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_text.txt deleted file mode 100644 index 9ce296daabc..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_models_text.txt +++ /dev/null @@ -1,42 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -대시보드 - -로컬 opencodex 프록시와 프로바이더, 그리고 Codex로 라우팅되는 모델의 실시간 상태입니다. - -개요 -활성 프로바이더 -사용 가능한 모델 -사용 가능한 모델 -96 -Anthropic Claude -13 -Cursor -40 -Google Antigravity -7 -Kimi -9 -Lidge -1 -Muse Code -2 -OpenAI (Codex login) -7 -OpenCode Free -9 -xAI Grok -8 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_1440.png deleted file mode 100644 index 2f558b4bd070a1b5b8c9ca50742090728665e7ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175869 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

    {sFE-g;ZrF@7)CkCuq_AXf;C$ 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 PD|nh}k5#Lc?ZW>L{R+~u diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_interactive.txt deleted file mode 100644 index dce46c0e445..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_interactive.txt +++ /dev/null @@ -1,18 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e51 tab "개요" -e52 tab "활성 프로바이더" -e53 tab "사용 가능한 모델" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_text.txt deleted file mode 100644 index dfdcd5942b8..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_providers_text.txt +++ /dev/null @@ -1,34 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -대시보드 - -로컬 opencodex 프록시와 프로바이더, 그리고 Codex로 라우팅되는 모델의 실시간 상태입니다. - -개요 -활성 프로바이더 -사용 가능한 모델 -활성 프로바이더 -9 -이름 어댑터 Base URL 모델 -OpenAI (Codex login) openai-responses https://chatgpt.com/backend-api/codex — -Anthropic Claude anthropic https://api.anthropic.com claude-sonnet-5 -xAI Grok openai-chat https://api.x.ai/v1 grok-4.6 -Cursor cursor https://api2.cursor.sh auto -Google Antigravity google https://daily-cloudcode-pa.googleapis.com gemini-3.7-flash -OpenCode Free openai-chat https://opencode.ai/zen/v1 — -Lidge openai-chat http://100.100.125.116:8081/v1 qwen3.8-27b-nvfp4 -Muse Code openai-responses https://api.meta.ai/v1 muse-spark-1.3 -Kimi openai-chat https://api.kimi.com/coding/v1 kimi-k2.7-code diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_text.txt deleted file mode 100644 index 98d59d40044..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_text.txt +++ /dev/null @@ -1,76 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -대시보드 - -로컬 opencodex 프록시와 프로바이더, 그리고 Codex로 라우팅되는 모델의 실시간 상태입니다. - -개요 -활성 프로바이더 -사용 가능한 모델 -서브에이전트 -v1 -base -v2 -상태 -온라인 -버전 -2.42.0 -가동 시간 -1시간 42분 -프로바이더 -9 -토큰 (30일) -515.1억 -커버리지 99% -재부팅 후에도 opencodex가 자동으로 준비됩니다 -서브에이전트 위임 -없음 -설정 열기 -모델 동기화 -연결해둔 프로바이더를 기준으로 Codex 모델 카탈로그를 다시 씁니다. -지금 동기화 -Codex 실행 시 opencodex 시작 -설치된 launcher shim이 ocx ensure를 실행하도록 허용합니다. 이 설정은 재부팅 보호를 설치하지 않으므로 시작 안전성에서 실제 상태를 확인하세요. -웹 검색 사이드카 -라우팅 모델의 웹 검색에 쓸 백엔드와 모델을 고릅니다. -gpt-5.6-luna -응답 실시간 스트리밍 -비전 사이드카 -텍스트 전용 라우팅 모델이 이미지를 읽을 때 쓸 백엔드와 모델을 고릅니다. -gpt-5.6-luna -low -고급 설정 -쉐도우 호출 가로채기 -⚠ 5.6-luna -— -메모리 관찰 -진행 중 요청 -3 -작업 완료 후 재시작 -경고 임계값 대비 -rss -1.1 GiB / 4.0 GiB -임계값의 28% -상주 메모리 (RSS) -1.1 GiB -JS 힙 사용량 -213.8 MiB -아레나 74.8 MiB -JSC 힙 -213.8 MiB -시간당 관측 변화 -+98.5 MiB/시간 -상세 정보 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/integrations_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/integrations_1440.png deleted file mode 100644 index 3e04aece4267dfe5c822043d5ee4017296bb1863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237623 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�w=hCCux6oQR_cvsF~;5FE1PB^R#B6 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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/integrations_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/integrations_interactive.txt deleted file mode 100644 index cd24707d997..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/integrations_interactive.txt +++ /dev/null @@ -1,86 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e51 tab "개요" -e52 tab "API 키" -e53 tab "Codex" -e54 tab "Claude" -e55 tab "Grok Build" -e56 tab "Cursor" -e57 tab "OpenCode" -e58 tab "Pi" -e59 tab "OMP" -e60 tab "Hermes" -e61 tab "OpenClaw" -e62 tab "Kimi Code" -e63 tab "Gajae Code" -e64 tab "DSH" -e65 tab "MiniMax Code" -e66 tab "ZCode" -e67 tab "Prime Agent" -e68 tab "Aside" -e78 button "모두 해제…" -e82 button "키 관리" -e87 button "Codex" -e90 button "해제" -e91 button "설정" -e94 button "Claude" -e97 button "해제" -e98 button "설정" -e101 button "Claude Desktop" -e104 button "해제" -e105 button "설정" -e108 button "Grok Build" -e111 button "해제" -e112 button "설정" -e115 button "Cursor" -e118 button "설정" -e121 button "OpenCode" -e124 button "적용" -e125 button "설정" -e128 button "Pi" -e131 button "적용" -e132 button "설정" -e135 button "OMP" -e138 button "적용" -e139 button "설정" -e142 button "Hermes" -e145 button "적용" -e146 button "설정" -e149 button "OpenClaw" -e152 button "적용" -e153 button "설정" -e156 button "Kimi Code" -e159 button "적용" -e160 button "설정" -e163 button "Gajae Code" -e166 button "적용" -e167 button "설정" -e170 button "DSH" -e173 button "적용" -e174 button "설정" -e177 button "MiniMax Code" -e180 button "적용" -e181 button "설정" -e184 button "ZCode" -e187 button "해제" -e188 button "설정" -e191 button "Prime Agent" -e194 button "적용" -e195 button "설정" -e198 button "Aside" -e201 button "해제" -e202 button "설정" -e207 button "되돌리기" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/integrations_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/integrations_text.txt deleted file mode 100644 index b46f9dde218..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/integrations_text.txt +++ /dev/null @@ -1,163 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -연동 - -클라이언트를 opencodex에 연결하고 자격 증명과 설정 복원을 관리합니다. - -개요 -API 키 -Codex -Claude -Grok Build -Cursor -OpenCode -Pi -OMP -Hermes -OpenClaw -Kimi Code -Gajae Code -DSH -MiniMax Code -ZCode -Prime Agent -Aside -감지된 클라이언트 -10 -설정된 클라이언트 -6 -업데이트 필요 -2 -마지막 변경 -9/3/2026, 7:09:00 PM -모두 해제… -클라이언트 -API 키 - -발급된 키 없음 - -키 관리 - -적용하면 먼저 백업을 보관한 뒤 opencodex 제공자 블록 하나만 씁니다. 해제는 그 블록만 제거하며 보관된 스냅샷으로 복원할 수 있습니다. - -Codex -적용됨 - -Codex 요청이 이 프록시를 지납니다 - -설정 -Claude -적용됨 - -자동 (Claude 인증 감지) - -설정 -Claude Desktop -적용됨 - -Desktop이 이 프로필로 실행됩니다 - -설정 -Grok Build -적용됨 - -모델 17개 연결됨 - -설정 -Cursor -미적용 - -Private Inference 설치됨, 아직 요청 없음 - -설정 -OpenCode -미적용 - -/Users/jun/.config/opencode/opencode.json - -설정 -Pi -미적용 - -/Users/jun/.pi/agent/models.json - -설정 -OMP -미설치 - -/Users/jun/.omp/agent/models.yml - -설정 -Hermes -미설치 - -/Users/jun/.hermes/config.yaml - -설정 -OpenClaw -미설치 - -/Users/jun/.openclaw/openclaw.json - -설정 -Kimi Code -미설치 - -/Users/jun/.kimi-code/config.toml - -설정 -Gajae Code -미적용 - -/Users/jun/.gjc/agent/models.yml - -설정 -DSH -미설치 - -/Users/jun/.dsh/settings.yaml - -설정 -MiniMax Code -미설치 - -/Users/jun/.minimax/config.yaml - -설정 -ZCode -업데이트 필요 - -/Users/jun/.zcode/v2/config.json - -설정 -Prime Agent -미설치 - -/Users/jun/.prime/agent/models.json - -설정 -Aside -업데이트 필요 - -/Users/jun/.aside/u/0/models.json - -설정 -복원 센터 -적용 -aside -9/3/2026, 7:09:00 PM -되돌리기 -이전 작업 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/logs_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/logs_1440.png deleted file mode 100644 index 1aa40043324606f1e2921c4d0107d229c41c1e9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211341 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

    <{6CrxNc4S!WSB{B!F?h9SbJIf@Kb=0^l1LL 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
    fV=nMNn$3$QE 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ⅅ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

    %)I!Ve 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 z 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를 사용할 수 있습니다. - - 네이티브 OpenAI 별칭 - -이 콤보가 지원되는 비수식 OpenAI 네이티브 모델 ID를 사용합니다. 계정/프로바이더 수식 OpenAI 경로는 별도로 유지됩니다. - -표시 이름 - -모델 선택기에 표시할 이름입니다. 네이티브 OpenAI 별칭을 사용할 때 필수입니다. - -전략 -장애 조치 -라운드로빈 - -대상을 순서대로 시도합니다. 재시도 가능한 오류(한도, 장애, 구독 게이트)면 다음으로 넘어갑니다. - -기본 추론 수준 -없음 (대상 기본값) -low -medium -high -xhigh -max -ultra - -클라이언트가 추론 수준을 생략한 경우에만 사용합니다. 옵션은 선택한 대상이 광고하는 수준의 교집합입니다. - -대상 -프로바이더 선택… -Anthropic Claude -Cursor -Google Antigravity -Kimi -Muse Code -OpenAI (Codex login) -OpenCode Free -xAI Grok -먼저 프로바이더를 선택하세요… -할당량 알 수 없음 -대상 추가 - -순서가 중요합니다 — 첫 번째가 기본입니다. - -기능 -이미지 / 멀티모달 - -선택한 모든 대상이 이미지 입력을 지원해야 사용할 수 있습니다. - -적응형 추론 단계 - -끔: 추론 단계를 조절할 수 없는 대상이 하나라도 있으면 콤보 전체의 선택기가 사라집니다. 켬: 그런 대상도 그대로 쓰면서, 선택기에는 나머지 대상이 공통으로 지원하는 단계가 남습니다. diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_1440.png deleted file mode 100644 index a8368fd72307badac664be0f55c924e36fea381e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157526 zcmXt9WmFqow}uvn;8F-~#T|kccXx;4F2%JJcP%c(-QA%ScZy4cJHg#=-n-U!{$x%5 zBr|jN-jAI~6(wl^3K0qn3=BY4MnVk+20jl4<|8xG2k1BZf}({mFqkm15~3Pj*${uk zABK`EcN3P4D;l%n*dGEzX5BF;(E0bS|XfR3%>P@|N)=a3zupZr0_=MUWCy zibL_mi0F$PJwO8Qjh<&ho>NVnocI5-I!6VE_Ws$NL$A&`&nIjQ8oFW=Dd{5Vg04Eg zhS-2njf#b%v{?vc-py0I7n&^OHPc*hTz`jr71e3_YBcR0R%z1#f)(Q^@jO?E8D%NJ zEx{>DttAEQ=$wwFR3F_TYN^SsZDHv z(17{oGH}%j)ohRa7;-dZ+KI*I2ITS|h%0LyD1d5r5`0QV4I1^NWhIux@Q>zwpCaj_ zYi@psl=C_5saUe6O}LlT#%K(-Xc-v}%Hu>ot1cK4#3D1Q8MD^2+J@tTWe)2*lKD$5 z&3UxN%J<9uGNy1T#vf$D=+OrWH$R|kQM1ZL(0`?;KN#)$o4T%tT%jam<0-1C-bG!P zFs6wo|5KX*1EE$ARCA`OSvkeK&Tj?!39h3qu>dul8UZ{CtD+ZE!7~HQ(vuO}gO1h> zrCl85MUj0=za814^GpTR0KAjJ1!*Sj_;eAL$dr#rE|QZ{smDzvQcBfulJlIl(~cV2 zQC6*%?k_~?bZAMw7HZe$nKfnhbMhG_y0PsSiu88)^t|q=a?7!5#L}~U@nDs?(NOS=O>+ib zO4PgzrJRbp7Q*T@>f!OqD7KU9oUfx~0OoR6cX4kx9FiC`=`%eqVg zF#I_`)CJ*Kc?P;b)IYmRU7sr6ZBKZRoaG zR2^KlqU!sLJa<=1)|@DDLl*8=4oKp5Td>d93JV3-X&Vkg!uHbwQOgiIRpVHS%W(#h z^HS=7YPZ-9VA~T4l7U^xBHC+Q33|mw5=jRz;7`hQ zDH6*7jw7Mkfp?+DaYn-zT~>4Z>_e~AuY*QOS%k|ytF0xch?)t5%lX*lJT!wt}ygU!B3@@I1(`sgl6g_usVYk2nE(a1`)%fU*oe0BrMbnP{`x8Z70yTCE<{e9OZb$ zAVIZGh@{9Augj|qR|kAj9oMJStb&7X#Sxpu1n}1Z%)b&nm{dV40L_GaY%ap2Nzeo& ztc9{-(lMmZ{z=*eKN(MCE=LBFvKgzMwg7rlqz%wtC04CGKIzy84mkW=+*Pex{v7wn zhU~(zF;b{>b-J7CALLj4)4Cde-nPWhaieUdfeKjNep;I4dQAE!Y-$84}<73toCno1O5JgEIbu^D!i~CJf0QVks?*GU zsW8K*8YRwKl;leet7vTmu6kx1OZzdZCy=Fgb2O_GUk@3;x6^FKj5tbEebZ52iG``- zzDy}Yy#_2i)n`7EzwHA%esAUURaRP|RJdNp{HJ|iQA}DT({f0D4e>QZ+XcZ-8{hWL6uYTO=#3yl)u&`NY{f<(w6Ecc%+I9 z(WC#KNHv<*-0GB)_hI}{$pQC;vN=E8=D1{F!ja7on=(6v$C8^y1{v7`lzv=>qk#bl z8ymNtilI9)_bI30KyJ7HG}h83t5|_}9SgI}ku%3+x9T=A7TV}GsI?gF zcPSPHX5&Ocz^9U5(dr_GQ}qpsJL588m?$z1J4F}`2g~S0q5#=thpEeOM@Agk$W+x3 zPHUCAf~jJYEalyeLaik*u0x7#aDuhdek6j)e?h`BRp1x4zKEJP0C{reTvUT}ReB%@ z-*A$jichjr&+M;eQIhCMQ@*CG0E+pUPVlrSrOmBgpDpck3^urGLdb4t#EmaK*3 z*g=BYiC9>-fi+W(=8)&d!|#NFr`(!|c4-~l8zWVGme-TaWQ6(d8AvVO_t z&{m3ll9v{Jics%{L^9^?K(A2)LAWJ+Tv`|4)o`v>J0ESBC(1d`lyksj?o5>8=}gQB z5kN!fl9a5?2G_M(t~BNEL!@-wM!`AB^bj~aQ9>MT z7-^^9xEoK#U;?@_{6RFRLDsDQBsI_8!QYukRpFUr(Ome;af8k0CrVzn9b07|9#5u6 zPKkw-%jrexSmR+aiz>CJG=KS(QGX1f^YW|5j|P6%2}w;JJpb{$RQ`qjNwlE2LFWnu zf7S+M4j-%oEqVW%hzxP8NE|G>ZwZwBsv6Ezbif?OcK;3=`6-bs-k|6lI}vI~z>yH^8nAuO6$e*NDh=mUxdMQ0)_ zyE(49g@gxHP@(0uQ%;r>Tp5jB*rSw6XS%Oq*`w6DyX-YK?!U1fJiFeY0n465)8=fE z$;|v~8*_K~vQs%twA!8QSYuD3*v&)NUogb-|t4hQ z__Ys=tB@qcv%4AdW@|lM>q#Zgzt-K0>NeB*s6~SE??yqd(ujb1WWW&p~Vlv?d@Ps=R(pu?4V(bZl;7zmIBeVK)6(yILI^q)~Dw28h&FCLGfo4jZvr}Z1 z0SYk@hdxL;jf;FAQqeT=jw5`^PZ!ku8?qB_^O%JYYl%?~QYH3+tk;cT*<4^v*jPQ8 zhHb?jI9e@Ia9N7HL|4CxL{?=-q&F~)f;jVA;jQGaC`2bLT{wVVt45j z42%uHB>AiU-|!K*2IE;AN@dV0Yzb>e6@eNU*T55@Y$lvh(BNRkUe*nB$iv9Ao@q zQ=C@xOSwFq8Rc*5b#WO}qxxi99dZ0G_C1C++uII3_wyj_UpW-#h0Ycu^7hc_Ld-(p zGVWphx9eHW$Tu+7Xc0%R8$^{#w;n!EC-tpOPh!p~pDLqsLtK#^x_kw@|3iI59 zIx0QhW-;9;(J&L8tnChg<7nzitjmbl(yYNr!u&^dFfy_ws4MS+BS=7&`)ASak_;wA zO$mAkAr7+u!E&s|Zx+sHTIpdzX7bRaue>R{4UZW>mkQ2Dg@I#+4~3;+2u1A#8_=TjT&+dyS=msY~kW zaKO%MQJ9;PyE(h=qp0k@Q8%brvQ zY>OYqYXE8zP{Ygf6;s-Z2{190&7NLafMWI*r2Ytk$O)loHjvk#xdy}%nJL9Ie&Q-!Ps=zp_>cC`8oQW-WW=1U?+yHEj%G)qC|O3q zakO8`YbL68Kkl6BYc?LjC7^U%SF~O0$dp!BQ9NK#$r~e&TQ5 zkB~(L*|_?ThZ-wUol)_=Qfh?qG}X!~Ru|`}e6@%MU)(YgIiPJmN;5JtmEc7fh^tfL zw*tsxw*ZNDnat`tsFq_jqk+j{Zg*q?K@1X>5ywY{zp(jPdAO-p5@fmEA2xw`cHyGTw6C0 zBDCS5T?Sa+l|O?ZTy_Kp>!iT?a%d1Vi5UeW_t`g3F_;o{l>wp~dNWPbni%qVWbi{x z7I_$J$!*#GeI?qCp5ee#WvWN*G${xCGD=wn#1>|T3qn84_(gS9MzyCM4-vS2hG)mS zV3~V}J6I25OUo!kcR7HFTM3RAJ%T^+|6qK9zBJWDa6|+-`j~54<9Qw);t2fu24?ly zmPaX?+oHnEKMB99+>GKF$<{`6<1sbsL_Yz!>iy)ID_(eK2`N{BXcJw~?%EMGhHpjz zxhcK`Q%3xZ3#Zbk8>GNZp%c}t2$~qz$*tu2)6k1bR9}RM;$V{#=g8k5V$woC9C_B&*w3x z9N`jJMIlm9^iE0X5?+`oc?`p6>?LbQGr~ll=HtH7QsO;9##PF88)Ew1!8nU{0kaG* zIhu~)Rhxi%T5Ig}4p5jmVV^OArP-!DkmXm7-6^Ujt-*!t#pn4)xL%Bjli<(4kBC23 zvzK&i#Vc)So$0YFD`)ZDy+=cX10+KQQr)!qirk7q_14k}yC^$NFlj>-52#MX<>RWd z;muGMzJlz_AH5bPJc2_MJz&3yS#@Au(NIzr{NO%62F%{h|DgYS4B!2oku+L!z<20lZiL|?k|FGEhmlXU;n0h+s2Cp2A`xfqP$9l;w@R}G~{$m(uGVrm|%=?!Qed{LvxK&<+ff@n2h(>6>cp##`Q#7bBrJuFc`m>%#B%+X>c92ACR%F_OdpUhouc$w)W&VS;E6F z3PuBUpf!s=eBNv3XHsk}{o`1d^dWoF(b-m<=A~J6QNcr;0yToQlcJcV1F2p^PSTGd zo>@Xxf#C0uWBNV@B5IDp8F!Z7=*I;!5U%V1@W1*ggK2)zkR~bMp$gP<; zjjwB|RZ4*9jbDCv5I2O$}%5c#l6Dpi0X=LSYC~@dT|NR!AlGpGnc{ydC7W~n6KH;ezLwoL;7(>!9;H|Vn0(NJj3!R92GIYFyaG?CR zkU^oeAGM$f7lA^G)z&i3_O~M(3MDKgERN1JDXpQQ$adW=w+u_)&Akp-;RLVVi_;Vt zQe8&XiG`*5u5*nP4R^_G3>eX^Z~dH>OYO@d))iB>0&HD{x43Zom7-V zRw0JJYtimT~}Z8Gm~S? z0;`-Vi7x|8%|HqlR}HtsBp=Y&{Un|Le{DzmCJI;m<@+UW5QM*%ht?7cEgSHIk|sTjNMU=TSA3zgte}FbL&Pvu+PA$xu^qf8=-$ixjyG zUGl9WB&(p1!Y06~U!*$Za&c%XB;I@|7`_xiokQ?_C=~(V)P6I|V3WQE9Mg`veW9t8 z7uf5AyT`%7ql65ijbsduQUzQC<{pz{)Mb9TB?*0;3W_nJmBBMzz?6*onb}3WW!oeA zQ#dLu80n3S;5t@LZh#|s$BkxgK0r{}6r0t#xmLoNF40h}u_{D>pC6ye;9?tfy0&$_ zjNNQ#+o{zNyt=x&?sGCpVC-k|r>67vWT{rCx_rBo$8|hY^)Mn?(cc2z65Z&Qho-f; z#@@-vaACd0c7dUR|3}N&;&OMrue!QAhMFPUsj}$Koh67#T2Nu)!)P#A=Chn!`(!S- zOa`+)TY*9fR?j2&XeBo35n+x-BTm+B7E1lou_rxG{-!G> zP6}lLfk0y)o7Eq%AEjdT$cXBa^~A-4rQ)vw%>?%`f4Os4#%fls>Zh_=R2BN(pOqbi z-NaUNf9!zMBlg2D1_=4y!>)Ls&``nWmnbXP0c`K;``S&ugD6=8^ClQ>U|;1P_uV^Sc7s-7v_DH@?rvAa;!mvAoh&CF<5B7*Eg zcr&?6HP6B)>+4xf_ppeC_}@a^KYnGNL>b5$cv)JqvM0BJ8FHV@Q;U-eb^5@*&xyun ztnJA->pTw&&OlpZSVIGHcD)x?A>B(vw0) zE3-jKwlpPY{>N){Bnp_CTkc&Ad2XiV3+1{>B6ni)5`*t-1n?q6f|Dt=X`k&rt~<{O z=D=Sl)LQGZJI~~aenbR+f3Effdp`%kqi!x&YS&)ww4N+f-p}NVd;YVrvfh+WV zh56CVr1r~e#n&;4M&MEF4qffbIVUXE^=9*u> zs%QheYh}Zjt9%ZPCh?e}%AO&^()wa3f52XnLGR$n>QTBb=C?pQK-N!JCah{rMm}xl z;$2k0@h=ugSdxg$f+nwH1~YH=9J8LY%Ix~$_qo`m`(yC)2vvMo|MPk8eK+cqeuo=9 zmJbFg5fBJk{(7@C^)~c$;so<#wosutOzbJx%AE&~sq7Y6e1*Q|bp1DmkX6aoVjv=s z8bb#6p+fUio`4lDI^?){K+LSUx%u{ROB%#GB&P0hvZ&|+EoI{#Kkp59gmegRS$l0p z7d~_PQt4b!A(}~m_`+s1c)I7b@YKr^k5|T*3!-N&izsW$f@0D}PLsYak6sk7)iEvC zFR~(QPk<05TMzJOBzTU1QE5%oY)CetWvwJPp2zohs2?zDB|>3vG*d~=%QX(yU>^?NwUa14q3M1MH4-I|z2 z({f^m^!Qcr$IgPbaraJ~fJhMeE|xSgyWfMe`UpHK{>zzXufW^GPV2HM>afoJ zy6?HZQ+H@Mj##H9hx!PWXY_Z`P4_9}E)Glo5iiV^90?BKUKIs-3 zYU-b0XTSV%`f0I#o9-lQ1y#pLrJaVuf;g_I!n`0mhL}&%^>uWerP5=>(8(*(1CjbP zQLy`UolQGZF~KZsR@Ih$%Xzn{z$Fm}s&mxeRpT#tlo4s9xK(5#qaYXxsZ&(v67rVv z=v@zC_F}tN+5ds_X!@TPpuaHNVQZl;{ag{kZfy-&td_oaoKyq|bpQuL?AzeobKRcIG>wXv)}p<&xLO`KfWTO@xEM8 zg`<;XN*EYK@wzS71!KJZdpfDb7;b545q>|yIJr3w*pB>6wK!kS8b`=^*S4d4xZb_2 zM>iOZ@lV)cRRh-{4Y~8Ie)yMcP$Yrd1BvIVcPrR~p!@e#*V7o|nnUYr&-1A01Cor5B@lMC93p6q((#_2=^i7iK;GfXVZ=$`92HH9d-LD zbd;u(l75C%i)vN$hP`oK3E6cBsbvl}^3St)I=?*|2xAoiih#&T)Z`V->PkIrrjxFh zdgJq<^@idA8EL@DKRKp@HL}Ll%IfaZZqL$M0ei4yG=9&;OY&guca-7ORQ#7v^x90z zA6nLS4w4PxVQ7*AilDVBYySkzI&EX`$0l`U1mQmcV%P7N@2@vEbJM@CxwYR<_tK0r zg#*5L!Ja*bZ@l02f;L)?O0u>do3)LF_L6b160;5rpRRM?j-~_nc3s1vuljBKKp6Zr z`0vkL@BO05V#Cxhf7v`B%TPSE`MB}^c25yb%;92w z={9lrx3E+x$5!sN`+ogot<~uY9zRXTsrQv`-IuHYMET|Y$_nP}mH~n4&ZA+6jzw&^9^$?*febIP1W?PA`VVzl5;;}O$L2(^ z%v+Jc7+SI(UWcFdl;bBAfJg8?u2h&>FUtz5B}lC8s!p~{OFiIJ4i`!mmLga^(h$w| z^_3W9)LA1I#Z(;XGCRJz59&?jC#Yy#_;0hIlww!gI@rCt!5@8{R1}(LM7k((W6Ude zmKHsk#XB9>;sPAb&2-l@^|$W3n1WzVw0Y7m;w@kF+rGkb-JP~&ELv>e?Bc zugj(6M!@rFYZBW%*mv3=L-6I#ymlP#RhhTzfzeGcs%)R>cD9qd)XU%a_wxWJrQW-a zlYEzegMY60%z6W6{uh1EjCxxCTsMMy-%ii}>TS{*d2M;OyH>v`~4MLsw92Cahllk1zFuF{cf{A-l6-J2fA~}$csJC*GEXxb90TZe)73mzVAf| zW9WN=uX~?`)E(R$9|+#6ZJpFHN@Iw)kD=Rss6UBDUgYWK-1rN{)fi)~eb3|mD%W4G z_%Ba~&>>OnqiZTUkS7{!SsMKWG-N+;RL9&0(a z!Hj~*YziVp;g$4D2$)3hpOK8w*|)YD4c=6h5FPmKc&I55;1SF!s>9#o>=R+_RR)!S z_VwgS9d2&L;&2LS-fOHHUlpX~na@h0+_}Uk99qu|*|K zih~)xavAyW?ct552@5=CblsH|u75uBCExxNikchn zT@L$lSh&ah`P7s5aaY}gl~~N%^U3X{yIw@+ho^|aOXmw~!0RZDFp#b8dWZGB{RrVj z=)98vjgZ5<9{_r}((YY6@-i#k`FOt(-dpBia+Fj9H_6I2B^X@l}E zTl8TNPtUR)iLE7jeTM?4>5`{(w_)V0=FF%glL3l_iV)dX*bn!|3#eFq-@H6~zpeqq zB@U<<7<7(d^>0pMiMYM58b2Zeg0$YRvq<-09<>Y(d$WkWW9LeFp&;GqkbTvIrfjtcD#;#=YOy>>HWyx497M z|MB;A^K5jDkU$#7L#V^gyPsL!l$PB=XU&&GJ7H)f{7z^8rXpOS5?TWs#+pNCib0bY zRiMa8v3}D?nQGyeht1$6Bj3{marCXYT)(SPu;+&Vs!b^k zKH2H%DKj(kD15PcsgfjT_xsy3S-{IBl-~TN31k?H30?KQ8vPtEbf?qA^zU!4EWQFi z14YS4`X~a%_s{MoZO-_ViVoD}D(Wa1d|2I03#`AeW`K&xjmt-Gn;-8L{a)(*@74m+ z3_ZZ^2dA67rzs#hhlCJz%5n9wANI8h9)$*EPf5V#ST{{hiejcUfa$d7>zd>8Ru)@v z;HtM^hFWB{jDv(kRdodGyB_Qua+)m?r6F8p=SeNkqo!RUw-wuwwViQ$9u#BFPf9wg z$L(FG-4J&uxoFV<`ygS2q;QDbuPj10r*ocX+0e!|P1-t2`w;;huJN~Wx$}m_cFy*PF@n4}l{RqW-6*8$~+ZMtM<_XdrN1m`_#}O@W9NC8KKVsJj_UzP-gI~TpE9O5b z#KYPKR-O9+#$H>Y-*$$&FNc8S67$*QzN5Ycbk7z#Q?e@6c2Czek_&nzJP~D1jmhE+ z@X{V1&sxDg*G)F8w%yohpLh?m4zl$z$#G^DM#r{#$aC>;mzH@6@V%=cOx(=OT?V6Tpki8a!=jC-MHJy1CgT1!+SV38ObvI z7!SR0p@a&6_4|}P>vkLpY1Ro{s+^*Hrnl~|3smiy4o&+2Dnc4t!zN-MADGU*z=)X} zeF7Fc(tS7HLLvx)EK;1oL@bDy)AFRcHG_Sp|NHA=U=(T&K19kzt2pks|4yZKLFHZ)Uq15f(Ip5E63XIwTMWPdPAsNLB-_doEgOJ}Z`Y}koHA=Vo)s>a( z9UMacO<@GFg)u>&+WXzAFWL9E?b{{e=iQ&mPxoYBu>eG-6Y2GHrM=fP!5IGyQs>9f zc-EfV#Vpo`^?POBt)f^SqK~za%7WiV4$x_2m0FG_MrpGg`Q4AB;{~r~^215ua+Q_* zf*KKE%2J_7&F}s7KH*)d5My;TSRvqm__I5-y(;0?Y%?x7N}2<|1T&%=xunVH@DmBl7miNb1CA*5G)Durf5L<3X7 zb-n0Fj~C(?|6HyW7gcgRL^hu8+6z#v+ekc?=^y!QUjbv-|BaWxm$ z=uf35KkWU#(xhLmV_4CFEiAoMJB-FcK<`iO>pr>fFXd23C49H;+G-Xjgr3oLN2VRz z<#n+&+~g@v4U-l)KlQk{MCNk{YyI51;bB*6)cufV+P>5}{Wv7gs`#JYferU~m2*9H zAolJ$7YkZQAPxvWt)&}T8_=7vwb@6P>cM_v69I(wkOuQ8E`^QO5r^o2_AcoKt zZ`W^Y@-gMN^U}`&Z^>(p-Fr0x=U%&s;rC$Aca2v%#kJ*bo4qIthQ7bc%U+j*1fPZP z8AVVU6=5a%B0v8+Bt_-+gVYb#=+pPfL{VoASI(Jpbo9(UBoZLkFtph!e|f~Eb9xDpk%pB`H#w>C{W~Z;l=_Bv-YaZ6 zfK&%Wz*AsF9SeX8<+X3mn!Q~&2jsYSV5fIu!#jP|9_B@k|7iiOy^y8e&h0BVqy z%;Q93Pg1sQ`>s{*Ve1tCd)xl`e&Hi7*Ee_q9uVlWl~oh(O^ z3q(8Z&Gcw?TarSW*c(>|ugLp$AwZlK%FKs3r(QVJ5V&2Z!JZEFgQ=f$Uc9UN0`8)X zN!>QTL+k!+2j??IZmOiWx_bO#Djrl2W*AnLFVp_%LT;AKL;iCheAW4=e@`7FBon=! z4iZ)+_IV0E8q;Iqa*ynQ*MhOg={|%N-@E89l!RLuN*MqG9SL1-!W@Q3qTYGy0&xZ@voNtQ{murDA zwvK1e>O8rmlLgJ6y;tgr4d?K=?nAX!$&|O>ulL@Mdue9@7l}|b-Rrz1W-ikGiic%2 z`Q)`+=kAX|FqtDjpo#z>D!R-B5xAv!AxPg4@tc>?E86eeLslw1&z0uF=DlG9EbKLX zpOXereQ%G8zq5MWeo$Dv+8cka;mp%-bs2)pOVQ%9q%T>CxNt|_os~5OhV?lI%Rs_h zzxTW?a5}X=mR$GvZnYm6lFQTV)=QJ|A3YTQr+V%l81J8f-dnHH<1W`60ycu zz7Is{?3+dQY6ONoR<1(Ael4kX-OxXWC<9QBG`euzwV@UT=O)&ugQP0o_-2R8rPEVH zgxv2B>8*M0UhV|vux8mifwJ^Td?uDLYQHkdhve@}21i3>SoS2!wqSY#)|ocFancyo zv;zsK_{@Xpf0k=>OxXxwfa7U$gK)BC^whq{(P}y(D}rF5ScGGH9R9!k05;cs9`B*v|RgTe$va@IL6<8JYwXXLy%Si|F z6hIHV^HLdwis&?yqWz!eoEXQ9I&_AxoBcboTRf~m<9&|K_`yKOh_mcl8MJqtufAE_ z+-}CDY1DFu%$8*|7X|}7`)%v;N$?J^ab`!eGy>-wCJz@|bX!d}>Q>)xR9#)KEwh}~ zyM5<6&y~)>ofttY(qH7)XGm~dBv6l(RM@v8u&5%1MM^$(hlO~-1|won__-*Sf4693 z9q#1jxjUY7dYm0B+g-35rud+^F*`fksoWa^F8gOI9`UmyOk74bbM^MD$lxH;jK1XC zcq)mwZ+RS}c8h((Q3?5G%bH_&YHA8OZ$w}`xg|=!n=CxL$|pfzjWj1S&YzK8v@F@6e$eN=ULVU}AY4!*mJIswc=$N#VSTep|-(XQM&}3Zm z;j-0`Q2~Bs7cr563>Bvtjge7%qT4Ul7_8|1wID@)sbrf5e^=#S4j+W?x*8jYqEwQW zvyO+Q#Z{EFz>kR4oo5$s9}%oqG8DwDVvipfS~DL$joGMnXJ-1ioq)a$UKKkyjCVk# zfaT>f?(lM0et!PdwY9a?RXPV5d(c%8PZU?ZRJ?YXXSV=-`I^RV7LKPtdxLu)hZ^Oaqp554O5y1n*7e@*e9Qm)xhwd$<% zyr$t(S}r=R zTegJAZ!kr>xv2>{e^Td#%c_vm{Hr=D4NndimzPVSRk)aP>QK$7RaLiFa;r?6E&SaoRXvG z^h(E*`aj)}d@&uk*rI~M#viTu>HSyo`BqMFQc@p(>XH6-{A4Y`*s02st)XCoT)*a+ z?&ywZCu#{oE9*X$y1*rZq9#n*&zVk8=ELpmx3-g4r}f+GhTJKsz%qy_&ry9>Z|(LZ zKlYeJp%?rBRcCGKV+K^a&66+S1NJn5tHwZ1ZvG{-!#K7+tPU1~pBQ}|sMy{BX*Ymv zaDVKo46b-Bybsj>{9b4kH$&pX=0gMfq3chcz)vx#l~2!DKhLOLK+vn;dG?R*K^kQv z0_r;+?80NfZ0zsvQ&T;kdH(+XOqLKq-{TgFt1S4K45gE(%f7Wwj$svz=h*)tTSTGME-+NKqG+;XdZrOHws1ON-I^Fy`5`#9@uA7hq8$$42~X z#w*gKLe7E7fUVZ)C`q;dRg2Wv*L^g-9J}o~_x+*s{dp7v;|W6X{%`=05d4`4$A|_Y z7nO=9l4@Yv+3_A-DS*kW&6aKKI8)Xx4`Wkko79+g#4PB|VT>gE?KrbA=D2*7Dr}X8 zziV8Or-Z|?31|O31Yid%0Gs$PqKti;rZALkA4@mNTq%7ISJHFTngJ#@Ee64a+lb>> z$6dl&cUb>ZaZ04wLa3&V$hf7^58F0NO=lJ3Nx_m)6#iffKX#zO18RjL@W`)0ULq)L zdPZLAmT$*sT=>^Ur?!)O@nkRRcz&kKk4^I8^T85qbNiJmi*6}2>Zui+kD<(_IP*&c zppn&9(q`q3N&?tST*I=3q>fOL|Gv6%r5)E?uK!cNX&xXfh4B#3 zZ%pO(>+f5Z+N^{&colEnWiHhDJ~P<%vDKCuGHy7GSEHzlw333gn`_jN(c_@?VaPED z(+PVf?)y$x2hAZ+>v*B*#)dXUV}3>qGIRH@=tojLaH$09>U%_5q$NFYbTf%@v3@sH z1x`RxN~uws`zGrB$^c?9^9Uw9wbUO?6C_ayCSDGy=wGt=8ZSMeOro~uii2@*tKj+W zq_q#B@TbI(Q#1WHDVWZ!ktOI;Bl;t)pu1gizBDx8;^uIlhci;rE{w-2LgZKZw%TLy@$ zwRCR(tC(U2EvoRfsFF6x#NFze&cz{hptLWp>>+g|9e7|nhoAu@kl()K?XU+cNb@5ewhexM2zkVU% zV`qLoPeienz>KFSuiBw94^-a|t00flC7UMZa}g>CE~n+FQjJhg)U0(2(i=ymmDsYES%-wdCW6_D zH-#|58i25zj{ike6p(aGJo6{bhc&z3w*#7^D)3Npsm*-u>vFv3S^`BcM_xZ9icKk= z;ft6%r%mT=8e^HLjP8hx)fs77!Hl7tWTQs7euP^pUEbR! zR-?PD4f!~ae!!mzqXAnk^R1oZ5U?|O3p8_A_>z0v032ZU=QEm_*QMy&qL?c^h9)&7 zek>+G35GmZ76aW~gS{Qh7VSbp1yXK^ETawtPoq`G#xW}{)p8!K2xcuz|LBF`zq9ol zBz3T@K{T(}TcRuQZF_@%yK&dx2l}S;7$xE-`?-ds8k&oawVJhc5|I3MrQwlgP|Tb% z-&TZ(!P2;DH`aS-0(Co>LgGA)FiK4Ks6q=|$ zHzV7iRqVtfB{!Ruw1$Zp!{oo3?;fQ|a_|ceEfa?G-TC!UnVA~bK}6d3dd3~?Z781> zPi!<@;E>2mVvvKe(!~9^jI3PrhJjLlr!1B_c-^}RZ5hvpZ_E=a2|la>`I9WNgo43z zZ~_Nw8>18NP(CKhG7mjI7404-+}X!vw2E4+LywZnHeYm{3?_FhG~Zu7o&^|cV7$^v z*uRb?M=TxYN*ppk!VrTR2(VN!bb?uTzBcRc%&TbR^sC_*HmA9dQZ7_UH|WJu#7Pko z)pkhMND=e!xeE(&LybC)`?;_%ggJ*ok1D<9isItprMkC$atilN&4ru~i*TsuR%%qm zu2}IpdP=+kIwetR%3TQc4DJ-(Tqk8Mw5}I=yuH?aeN{wydV@SZve174P2w|E&Mp2= z3t*t+rroY#Sd-SIc}&LL);b=DKI-OJ29!jXtTV{j{&7smZaP%(2;RL}>~OAHL7>lv zNTms6{CN?dkJF5dpvx0OjWebEvTLoGOgPM^hn8Z|C;Bf;%hXT+bKA6!;@NtVtjPcC zS@IO3A|n2u<1V=`Pll$ZGsr&$*O+;|GRJ;M4LW$U%X2y8Cb0w=VFK9VRG4@rM5*oQ z3y8kW%uh9{j9Q?^T?K$QxIyw6rm6GX%I(Kh_{0)xXEYu8S5xPveSPXG5bNYGvOkBg zgNu_iI}@l?Ikwp{ROwi4P&8tcB9oyzht>uaUF_zLs)0OOo4#f+qMz-Ga4Fn25(x{9 zWq!|i@k1ElF*GwUD2Lp#xd{t(#M)i9W`9iz{U23l0aR7nwr#q*ySuwnx};&#utDi= z>29REyF);_K|)$uk&y20_?PeVz45PcHaNrVT6bJ=oagN)h}J+1G$XGGX385aKiBZj zdniwIe^uEZ$0NZ*Wk*b+BSm4#p-Us+5KgNy1>v57fn>ceYmf_K0k=i{78pb&3N?81 zaI;H5wL!A9hrTp<%6q(e+w7XkS@M&cRfoz~7Oh%#3vY}=(afi=eM=s^5a=?aa?}&1OH}Odnhi==b{^6!rtwINj z_vo1|*hPW=s+ikMmZVw7wdGq<*aud>8d(xNc1HbFA?Vso`{K1vxBHT#(XdKB*ZZ6P zI;B841sGZ0Y9m4^`!^ z9H{5Xcl6QhAVeQOYUiSHS#1^L24uMSK-g%pt1{ zO~i02+V7>|zmHl}SGgG+cF)abtbG3!p^}XFd8glD-(IK+5VlOve*2OMjbW5x_lX-F zkUU^jr*8fO&L5(_H~+}9HL5E?#qjwP?$CDGFswOh7aRS$Vy!B5yrM>vgQyPMw;j^4 z9Z{DtR`egWl|HSMN6oDE)_PxZ=EA=@du&77APQR$q~FvV^z37@QydcZ8GuanKd9Yb>Ie5^nP`|sHTH?)*m zp#*eEuDMhM!2a65@#A!bvdWH!K)$wY(X$orO@OMWMte)o!8<5E6INiC8N4&PvE*-t zHmCcWwIot=E$thlkUHfkDyTw5%HBJlD zM3JhxMOv<+kGbO1q$a|6t}Y(bXm{wvc-3sp&pq{)sIdZEO4}~rZzmNlsa7lCMM;AV zlacYS+N`xefx)A>o=FFTHaAD^^Qp?@B&sNpl5^Km`6fw3OY1y&zZq+38{t$9W)opt z1A{|jl2HAM#yX~!fjez|4lV8IJdR$PE?!HbeT(Fm1t01bNjsevaQ=h^KTAy}@INi2 zkj#JG%9xC&UhmMj<8Tt%FaHA5LD`AvpS}voJlG;@Z;D+4%rjN1+2n+oZ<8)KbBggvZqN$?^B$%UTz1;|s?qyoXk_`V9=#g>s%wgfyw>njgHD zxKRHHRK)$+hXUje(M6k{-}

    ql?)#$(U!gbl*h45-OFbA8)bxQH&=@WKeeA0Z38h zzMMU1eO7Cl=MLjz!aI^^EA=jIjlNM6jHBF|39|1)lSgYY_|iUy{D96p(9f}NZ9 z9$HflZE2%|B?R9hg^-)PI1sAVw2S8-%_4q9 zYjJx}*F?FVJ(t;41T!5bv&=+FA)okBWd<{$*6dP>Q^z-8!Je}&-c=AGRBtUzJI|B$ zo2_i=1l+G0s#%@}Jq%R^7!QU%m&sEKdSZp?b+cr0kKGmVMao_z157B5{DY9TP=5{z zf26z_ho#3LxXo-P=?)Fmlo$Kw)6(xL0Rl+VpyDf86V|Z}iO!@;Y&<)$FFqR9fkk8RBy@_ zU}DE~=k08y-=P?_7h!13e}rjjQ#U3hd#*IE+XlhK7YEho;JC|gl2c~|Y<-?uWqSEh zM34Z#Td6--PL+lx+%}{LGh3%%Z>25VxtI$nd#yuEr;u__=#bIf%&KjtQlPV^p%S)~u6(qY`MX1qA&ZhJXq6HZju~aFIR8w<)9*t;1C!m63 zOa}vc!PH>&kixDuUO^@Mj{jHM5efRC1|O^8yqC$u*3TiW?WtGo<{;C(+_JUi?q`@6 zu#PSSBQY7!a|=bbLh(Skew-a2gwyF6pW7elTfbTIk*=DLwraq~B2C-h84AB^2%Dz@ zT4Tqy>c(A~R+|2zgx(@*NLVMM;8UQ&0?k4hUlpAKSJ_NQ`9OJq&@Qv`I@&qXSl*@q z2T^^>XGx4ELWh!~(bR-V2d$Q`CsF%@B>~~?8tDmwDGXNWOm+gm)?1;v{65xmQb`Du zpc__{5&rXznE7ZpD_rkRR0n$CntTK&L#co*G|S!JC->7*$wFkvHgg5tq}`^NRgb+H zTjFT6{0idFI#)@xDqfpZ4nhqd-u)1m65x%g7LKN&or>( zn8M1BIgy1*911HR;n3Q^<+T+b z!P0gw<6^Cj-AolJH_Xr+8W#?)b$xn&GO;VMwv_(rWW?}A(FC-_IYz~>r#rDsczD7_ z%*l^R^ukzetWhJ)$Y&nUZcrL48!B8;KxVrFN8Hl?+})fc57%O*Fp(4{je*TJ+pI=B zrd07gtB^?X!JK8=An$Qr*|_wYG}XQeOCdNtuAD=8FwNUQi6#}BXD7kRm3~h$n}}La zs|~hCDbz`FT-HpDse}(u$bjSvRc?iZxJJ#E%(YHdU(2Onpn)o63y|a8*+sZb%y!fN6EwPpB~BO{x!^r?`jCd zB&}j`s4CPLwZV>^5F_fNro~F)4LRp`k)zkn8KOGU7}7U$+aF@_BFs}cz`=Rcw% zNkvK6%lGivgdD)@s?PwFHtYBFudS^>d@chZIRCj84KwBgRweYzp{*Tg)|83&TkaWn z#dm*Hq~=4pe%YC|&2Z3?x8S*aM^P`Sc#Fkb$OqCvNuNkpQCFT1moO%(K>cxKxg95? z2XMs>M(ssF8q@vh*3JqvX+jyzUqq+nDp=}5(N8c`3jZh+c z^mJnt2RT`A6Y1M88pTbu`G-h*_3xm?oR?rXP_To`skp!x zO^A`-VoLJ_I?cFfigrUQ0XS<+yZ8X%dpg_U?{49!|2!@5i`vY5xAg}l;e+l^DP>8p z5nNSPgj*zej%8QMs6&|M*64ox{=HglsrvtY=t796 z{@U*b)eco=62(8$14${EiW7%Nq0@Xsh9PiE*#=(FV#g~`J4rY*N&~}sY$&M^W__WA zQg!8+2@YIYNvm~+9n1cq`u=&ef^?5^*9u!VWifzv0AgqiOog~;%0`F@N&*GBF^5oP zx~`sLbh)7ZLI&_=eaLX zBv)p1A=wqZmmQ&oi}&&$cfH!3{L{*Pd+^f}kSMtyE!qPD2<&_>-w#U2=-j3oeYu{Q z5{o(lUw~IES?z+WOj$M6F6P_zLTsUI{~lGXECbgf>1Lw-|J|2SX?MYR7;D5hK_X3M z|J%$6@=pbxXIuC@gysO+0ko^B$^7mMbxr(e)g{we4UiViBS<}|@_?yA9VV>wS2Bgl zN3d2bhpyS+S>DU-@y9vg-67m*S9rJN7xb_;d6#Fmc*e?_{gwhg&_TF5wXpiD`-`qL}=)Ad1#eqPS~5YTVuv)G@Z$z5Dr z1fZL*BY8fq(c8)1R{&BgkMqG}J2J8R(;Xe|;2obT>lg1hUs}Bi)PP0mgM_@8f7b%e zE#h!fKBnjt@?|73H*LbrY7#pS{nLy3J0V7qzo)YU^#iIyxQz@QT!>Uc82Ia*aqD;@ zSCW>tkdUai#M1yCa{vwuc>9?;Htjmy*@yF&o%Vaaki!m^nw!b@{x}D~uo^HUHs12j%3)P6IY9nJ5M9*8fn{ISGlU6w?T=Z+!o>ox;oCFt7Q5 z%`}m~d16EwtM8rFbw%=@C8d!MyfdDvR;VCN3fQF(RFsv`{TPc{Kw}+AWbQXpbF)4a zuiG~zt(b{ndqrH*VqF+VN*G4;+I(Q7kW9*dHo~d~1L&yGYiP3kd#5*qD8#x&)OPtI zu}$tPQzx|1EN&Q^;yzn7@YntsP2z9g1(G-}s%HPYNQ^@c11U7?7h)q=tIGKJcwo8H z50cfQrA90IBXCJ0kmbWu-20bDzMr1LW)73063xoK$Z4Zi&hPOv`eElVg>rRJBoib4 zGLKaN5Va^|A~X*x8f~XMo^iZ#slP*(5ClTENb=xF$45Cm^%9PNN-|+Z+|((%ES^H6 zRoj2Q226E#34B{eM|w;ncq{g1{pmc>Zg69>yRWt&+Oq-+8Sqwamu(#zoVhLihXR7v zmVM6rE&_W$i@)wC4ac-UEywZaH5@t6Ah4@sKfd~$DbTk7#H8P7EeDOP7y_CwJM`F>sVZX<%L?)D7a2;?caP;b?-ZAV~X0tMj}3 z>wGw$8Fz~$l8%%tyM2w@2Twg4XswMDMoo{E5BMYJ$#g2K_N{i8v$QLJA>g4%%$KJ- z`f6PE?(4bbMsuG%X9EsK-@*d`3jgi@bfN-@$8IcQ{wvFJGczitC^)xWQ0f5%` zdVjXWW`jQsXfNk($BiY^7Z(u`+d5BTpZ{{5K56?CpR}_*SE^)SU;vLsvY#{{NA4F| z1qyh%QGvWXQL4s&HnfzI8f>=y0YHw}-@{}5lqFDmpH4dgMN-SYfbC+9`;t+5YuI;C z(EHaZ;WPQD3JDF6IRLxT1MA{1uRn1LWL~?OmUPMq;`-#BDu37ho4|fw0LrE*vW2=b z?EjauNw==U6y9rZgLw=aqH0(zT#ujfVp9+w;6 z0y?&1z3flp%?*^_G4ID#gNmW0r``rQmM78x)tb@nh20wnxh!tR>$?6|A zey1WHse4Y#K6+Tlr^R3*uYgv)Z=Cl9kH#nXp_tBw`gmpqm`uigHw*5IdX`O-d{-K` z5*R?U`&%yUFcoo4)qXJ9@3}db!^(1iS2VEk>cUZzylA+Z5~hDVaULPP1Kw5i866Xb z3}7MHgpn*0_(N6P2<1FE|Jh=`LS6i6WqL~BPb{#oW$&G=+SY4dLBMTu=RcqX7=N|P zTm`B1eY!au&Ij;fg~;DF)wM$qfL@IKx(IkJbmu~=C}St-6TiF8^_QFafbN|%gQ~g2 z>L_gbA{+u)zF$s*es^p9>Q`;6`JvJ;1uT|%-gLo!e~8z;9uLYDB!dC~z%7Xb(5meL z>Lfs{B98MMFMOI{K{*Zx5#~kCx2SXB$$b+#CAgm#TYGN)kiU8TYI9}~>*#-bS$~UC z|2sC{?%rPWv*z_IbKUm~BQEz|?$%8%Wp0YF>N*aYUa|EFFA=}MX-CfmDXf@=piYV2 z{W|&j^L=!rz6>s@n_6^xxK8X;c-~+@@S-<>R~EV!`6qFh+z;TZ$-F$?3<~Y0_de6k zLUu>W={1;2Dp?0(Z~}B9uq2N;-yW}cuDRp$e3L>GgmJ|4lwOjVlvkeQT{7f$Kb)_w z@6mUY{$6xnCHv_+Ybyo%9-s!0Fu@8MDp$>q*EKDU7AGPb(&|?sd|# zB#obfR?m?&NOl3-x4$>EzHKY|%y&;X;NiPTL6EDb6TIoZbR8ujHU=3lJ6*7GP}y5Q zy1x?u6~>(U0AD9_eb>M`oi)M$F@5+ivk21j;9lT{?az%SWdZs%OYoc=`@mJ6&*=kz zNA3*+I&0uddp(a3Pnbd;Fp(hFF(>ss?;i|D#Wp&Z4XKoDm5dNPZWv60$^+VdRxH-M zU-UcvPO>3=DC@>mnTvz+{2qWr234#Bw*o{JZESk7&?&<~e@QFq%b8e-2xjkh>4x3K zpWp@Yy*;hJi9H=RDUkIg-Bgz64Q!>o4Y43%0^%BzkJ8PiUj(M5%fZ9ZKrp zXIAlq8;$xzm0sRY+i4NegIv$w#sM#=_tQWCBJ#RiOrLk{-9Y?3jg3@o72W%$MYjQE z&1e0X2&V37Pki;~Y5_3{8J9(0Amj&h#og(*?ffO94gt?8W;m*ekW+9xLl_S(iB7l#MG=jV;|fRx{V$`{IVa15^>0~Gy^c_LaJ zt-7x@OI`ub3$>_L4!Whk&17$dwMb!kGy(((x0$5G_Any;3OS6R!&f6#{GM$rU99roo(Y2|~n^5fc1VU~MTKh`C`umO8k;k3`+<*=5VE3(v zg+_%^l6zA~9A2@itT;({^c)!9`4}VwW{u8FQQ=BSTu@TxDNN_##10Zuh4KZ`6q?ea z&pzu zHRywCC+5&y@0*{p(Olm7ng5;eezO(S@x{BDJ@Iwx-8Anbj0z+zv3aIh%#t~Px=+ft z2`Bg32>OeBK0LJ4`=M5mvQxub2~>Ph!!J!6c!ru7VCfT>1F;(waf4yx* zfb)>Wii43PyRbYrtau=Q*_V5^)SxshO`&?{2TR@bbXs{q!nR*mp5ua~busOK+a&(H ziC)@88+aP$G4$&K;JqEbjL}62GhtxT8cT#ankaI3o*JH;Fd)pE*7zh`0W*NB(DYb> zw}`zEHxfNw=#XKGGCK3^ajBOLwiD>Ho@ZUf%*_4-3>Yp`>wRUiDTE-x8M}0=1_ptbeft#cOe_3Yp zqI86KU~NaY)jgh}VWT+03_p8smX?_21Ud!dKK8?tR|pG%(!u?32N*9GBjkTqjd1Cn z)sgoEX$l%%%IP@`eOssofi`*@G4p*56iW9#z`k@LBV49`Obu=w3)|R;+qbFgvm=oU zYHc`CKpso!McBkDr2+!poHRBgs6;t(SCTjH?~`wvcMdgn){vcvZEvTo=`A&OW6HjL zfkE^+UR+h^SyH|3i~ZAbWd04ulk&a(M|Pc)_o8>dBXln+)Q%Ekt$-BuW)obd0fDPYOrmDe_&Hj|E|zpZ4G^Xf@_^dzji>)09QVJA+L=}(Xb70f zZ($d|o&Z!}S4L_mZEEb=rIFC>DsbTaW>Ejtl8Q3k;4fgfalfMY{rMd5OdZg(Ulb#u z2rdgEgNoBqB-FkDq`mawGB?@KRVgK*1ze>UI6hTi9c<(~xhgmmh7 z0jMTexSV1n3Rt||nx-i(+F&7(^FHV(;-33q_TU42BMv3n>3y0%BcDg0%laO!_KIQK z(X4}q$_v7W^Fi=d#{=q*7%7kptJ0TI^CP}hbiIi+DLKW~ua`&O~mLB{+EDtAVUbT~6Egs$BXnDjy`v!>A_FA?+Lb z;VPt3Hz4jHNpbas_R&Knk&80p1$PNVu=%}iN?}Y<3+h5j`iNk?``&G5uRoV9dN8s- z10yd&ItotZz8EF~C$N;bLzJAB?9)D_W>(n_)ZS}@=|Jq*IvPYXQFs`Ap4Z>( zn4|_KU|+NCgCUF%@uI~u;gR??-nEdM7gp#6tbBac3l2mQni79ctQ6Vnb-8#Y%*f#( z-{0up7X4TK@B5$Yui=x~MxJZ9#NxegFK3=W;5t#xMsMTT^YBqw0TO1U%lpdMdk1$E zixge_*~tRB1VV=wq;EbM3qMhAiov2_CK|{qaj9vzeSNrK3q(%X(DX;NxB)LmCWXRI z+_H%BCK{&wXY|ByfKaGUQ8hZ){j70>EM~r;O-7;rkNMW12Pvb<#i@kwCz4@|SY93y zc*fUD3n2~Xd4~5e5$UW_#(nzzF0gQnHQ9G7^>$Hl%9msf`#*|gL~Tq;xB~$uGm_2p z9v}$|cuDs*j+#U=VV=Cvl}t5L4wr2!phBRvh^=ixK=IWnBHtHDwRj!nWAn7chTsX@ z>VQqZ^QnjE)9au)p{2K~KKY`|k&y?UEiN~^8Nkcc{dzepRUwvf^P^=1< z{X-R_M8~eC#mPG(3*azFqyCU)3OG~oD692uO^HVa+J9~A7XB;w`qDFU`UnVq?WqI; zahY{km>>uj^;1k^pMW@`FMpUwhAtUXQf}OW* zgJh^#bcQqV=YG9fx={TW8zJc6D|iwlefZ)2aN@KQQ+SS3y+wNneI)x(QK5zN z2x!uu;Ps1XC>l8&O;kar4GE4<>&b_XO^IA z*?#bWu%51?R^Wcj3V9ZS$rPz(AFwBB*GRn=z0tCMnuI<5C_sB5^8*=mMAG8JT-*VJ zjSFpOd?+WQkN_shf;neb!^Jno9mOpq3)FOX<048Uhbp$CdGvaQvF*Z+pN?l*A(anK zhzFmQ569Ue5*Maz??Lt{CO9uxy%@6BiiG9&IJke%;A$rM*F~KBGoV<*aOS^azZcj9 zGRn^9%kPDiU~_WwYakDaLb2RnX#)pZ!i4Vz7GjuRxAwl+&&;V&1KcjE zJ-qa#489S}qLkJL&V31m_ch1*`uYW`;PZjDw9tNv48Z3?r`N677$)Ob_^b>25rPYm z3-&Q1<=C_5id2o8foMGJ7kJ~FKZ|(sXG7W!21O>+q0GJvHoZ>M#Z6ZOC3-!ElQFG4OX*-B-gxap@d>mkv}4D~MArn-Wj%C7HD!@$3Y-5AnNmW>S80D5yd! z8A>~-7bGR$!MUqcxyniHuYb?Qzic)?cD^~-E{x-%{5&Qm=;?b}J4~Mx7g$$;4qLnnE%?1i04BHX%;|Di%xA!8EJsHT2>+ybGzws1C#3~`W zh?pq1VC_w|`ZS^(d1%>25nFvFnREOf4=7SGHtIT02Rh#-xTh&#F_gVL)lT+(3dFrw z_OA%A8yGdW8i(n6+lCg{G|_L z4yzb#92A~BC*9r$pZWd@Fk*P0D}?)UOT2y$=LrcP6rUbjy=*TGsAOAo=j8tai|VBe z0yYpOWNAr7XEw+GY&N(<$WttBK#nvLPnun$QBZBpI=*DO(b9-F>>IrRdv8^<)6n;= zBHo!Srs!|ZlmYpmkLJqob^X3YZCSTZ)yr%pumvMcL+$va>JTaTK^;m>M-0FP8^S8IK^I6wt^S~c3+gK7#=Pril z-Q?F+4t%LCj=lZ}Gu2Mz5`hDW^PXZ|vhR{Jpfb2Nar3+~Gz8MVhpmE)0CV)YJ>wgG zXM~{4VSa_W4VeWT=xd#ZfkQe1u&Tj>L&`}f-{W$`pXw0n!HyQ zGAPlz0)CV@B^oH|pqn#$xD~3KLWGS6orAVw4np{Y1~NeoQUQU+l$@}m#C)L-^3m{` zItrT%@au+QL~y~-S}`dsijb(}D}&I@!uvAvs3DBIWMe|_eU>VBk}$2*qIM@P_KQEe zbPEN!Rp;ZWK^0;u5aGzWo+IcQd((atvr=0&jSzYP5}Vu~Flt2VKa(oO4@tVP_M|yf z3yw4V`gcuN`?yCjCoIb9zZJYI*fuxb)P&M~#jZuXhSbN_j&@VCmd7xDwn%P2Qohm{f;Y)01j?ZcPOmZ?a3deL|;3yNP6fgNO%?l7h$+~$1 zVc6F-4+D(`XDK7vM~+7Sq z{Sh=#UNA4|WQrRX6+7(*5;G$ka`Tvxgr~%dgkS;R0W~YvDM9#T#xkP`*h4)T<()A> zMaIDlb_pa?(GUd;7^Gb^mI{Vc`+iKgA41|3&<^14n?)tG@1{4w?GR0f>y}V*0YGW( z!cqg2sg&7o5s^yy3V0qgmNf7)z7HtrD>20n1qJ2C4gwQ+2wQdNl~Ci)l3o#1*+`ys$}Z4Un!~;y z1)Yrr>w~&wWwgm+8bH7j~3A?EtqU>#y zD*}KBNIQgR9t%f)4AbuhsB(}6gkwbx6;e5TUHSN{0Fxa}pS+5t*~9|nkW-%ASjZSp zjY$KO#?*h|cb70wB+zQRJvC^?*~dB;$XSyZ35kxO+fYKSaqnw0n+?&H!Get;X83KG zi9byP9vDD^Mkcye*n$AIKZ&DavS#D`R_TmntTALfnga zmQuYM6zgL9+iWmA>IH8bVU-jbIT~)xKHu+l^OV3|0!snW|HRhh&)h{-(bwcNyhJFY z&W?Z8?4(1Zff}-$k1>`oTZYyBC9WBraz-F6Nrs!UXpZO}wFr7tB_y)$u~A}h>e1h7 zECxviGDm~?Nl>NE9CE|gpj}m@d1x%n_gUDE4Wxe2NneTQVPMr<@v@MgK=8qz z{39DnD~Dik@tz$r<1rDKjarCeFk{0jk&`ima8t>dg;k9nG+6Mh}EQw5TF_xcpN&{fqF%JP+KL)xfz(Gd+!!Y$ZPfd^y{f*m0l&%x>4bX?- zwdcW!t7_tfNs{(zwCzY0sPS=ps|e<(^Bdd5@SsyE>^@VN1^q5VY-l!ewR8L`_ExsR zGTJvAIucH@%4i_5i*W#QPp3M9CjsZc1-@oKlw1M@Zp0q$DFNtE{(+Ekh#zJhzCqAJ z59|RCN*J44tf^R9hxpqaR(^rLmk~|VV#M6ZRsI!y%G6ao+4vGjU9T-m#^1~NF)KKa zz03#tpm_+j?g5>-6+WaW>J`;vV3oOQo(Q4A3UdDv8>rxS_jM*z!yt-^!7mGpNoHTj z4n-Hq*9U%EtU$5AqEgX}ki2j7?#*GhND32=&tFs_TIl`KQrGiJu}Jpo6tvBMklB2_ zW+j**&v2eKFZ410qFQF-AAzT3SVNiAXC)BYyv{KI`9*g7fTloo3wI-34=e?ptJ!=j z-QCjK8gq*bstLqVs=-x@Sib8!gp5PRLS2)1+}D>d*^+o!2FE zBsaFFL5q$HDB>0LfbqNs@afXebz!Z61$Ke~AF#~GUh+VbIoSNw9A)p~e9A+6X98`|?Zl)JMP(4V$_%l)*qR`so>{|z+ zAp~P#rUZ#Yk{ZHKR&#g?h z)ADk}r{@#L0Al46Aeu)ijX#qJ?uE$yer71Logl^WE$C=RpVt2!ujp=ud4t%u$Lu|l zpS8;c;X)Di+CxyYfe-|j1yo?K0S_VZ%)ebb@#phFd6Mj_v?F3HQ;WUb3j+L}tK2gX z0w%}0nstM&-CGI-kAX5rkre~9?|46x$^0BA@#Y>-_fBb(z~1F!(Wjt^q_lD#ld~uk zl(78-bYzk_GO#!}B`!i7!m~zDLLXQJu_-m+bmA6ltF}hk^KQI@k zfu9Z7YNh2ESR6sjvcDlv4` z$t~#}BKNl$D5>!`e$HrW(1IqP9D`M^1f>jMx^nu1+2GWJKcM%jkh_WRc7~t{Az=3F z(fjZf$TaBeO)ql|SuoXcH);)P5Hc@YbjC~hpyKU195@Io$AALOI775)(?-U4H%Tfm zSn7aUVd_vB7W&4Ppk+{)=toqRo8g;fz?&zEmM}o}Ai+#}Pn;6!hnhMK*ccZ<11t_WR2Y#hQ-vWLn)oEVf?aS<;gji`TavuFE2l80er(n1f0x6 zTS3Q;3vTXgs!UPmHd2B&5P8UJgrwo1%R{mrmos)=)lIB7U9H;CE9DuKMq;e~n=jf-IK!zWu`hB)f z6^~7lfmSF3EBc)OYI;Y4i`u{I=tYJqC33$aph^> zi*5jhB}8yNeA24o8g&gOEVKnih{Nj%CPo&5o0I&3sp;mndT%)g&Bs^*mSPPssf2+Lx+qf?qG-t(C*Jx zyRw2}Ic{cOwK@2|5_KO}C(wnvZLAV`d%ogKGB1Sv_6(#VJ0H9Lrk!{b8TSnWLr@t% zmxI^t$8~$S{GYw-?k}!Vt=|i^Vdtm zCILfO5KqWlV*AR0#gTb8BdO!%5#o(JR>E-XjFS66ADuc0n!^Ne!L+7t=a~qf9fv%M z8su0qT?lv+SK!y>kC6si<91lbA`=Dow3l&KvPn_(Nq zAcmzfr#>y-Sp=R$6L?!-BLDJTiJ4%0omb9IoF905Biw{JTdR;&d!sAL* zp(tRsKv!e$=YT{_!$L(90D1tUCGK=Yym0~%?Kw1w-CqapCr=d?8))NmO&T1SM6A2X<++ob%(68?^<`d$Sg%+`!h)E5(q+lGj zg{C6{v#~l^Q{$n~ZF9x+php&gb@WQ+HAJo4PmN$XNU|$1YNB35`(5cLh)3?;oCTad zF*;Mb;lm%VvfEGN^9K0(!v8Qk9BJ$(r{Ez>_130g$38#{tijdYTmAC4zT0X;jiH>k>!@sxjp9>Xot*x?h?4m$Xx*O6S--`WL z<=i2!`-@DWPDxKu(T}^T4|{sB!y?4)g+WB|B5ob<+w4nJwcbRZ9*-JU_?_jaDv>>@ z|C%fP-=(es@KnXc#Zn#8B1Nx&F;s=|(+9cexzR7u2xdY_3 z3JEigO>*ZVz5$m#vKXBf86EggWFOF;4+Y5HY9(&!r%afEHz9KqF=KrV=-;ma{Oq@K zaHyL`Zl_X~@S)Amc86!J(D<+rD`>5GYpZvo9vu+VczI;d(~)04FqslDah=K5AsP)F zE`xe}u7dqB-d-X0K~C?Fnh1z0hi&Z3s(eJcp9-dXdcb~2RKw>b4~WHAb>S7iv*J|#7vqfdh0JYlY{cY|d#+PlD>7(xuqrd` z`H@~EC}6M7n^lYiBNs?2E%Auu+m5(p2fK;O9J4x_a-d{WBNHo2^l>n5?r88`1?qs} zaro``AzOQQxqshV>20LfNp%boz)JD{=j?3%R?ztZYK1x~DykLHjB2U|F;Ze-p&&}8 z{M%)*;3b6s6k5o#rmJ)xWgLX;AgxZ?K#n!V)|9PRc%iIgOXZ5+kg}Q znjilA(t=z=qQJCeO5tYA*=@kYOT93R^I!jTbEBA$?oVJkjgi)Esu5B;I78wU7kH$o zs9RgpDBnaJ%Rr9kQpA^WTwVVLNN)b;f|2l~qusby5OmnnwT#0gz7l_@fmJPO{Dlj5 zisKU%`|Z$MHsb_ktnea{UzcxEsNz>u+L;<1*HXTs_Wv2%(xJo^7G;H<#yqjRrbRpc z2bRIlryB^uC|gM>)KL3~SZ;-~`v-|OS46h>p=SeWYcP(JEyV|iUp0wCQ`rCfcj5uR zod<{ip`h{13c*q*uh~wTZK&qIT-bmHo@7WZ6p`y*&X^h>REb(B3)rfS9U};xg**JU zmjKXX`TzM~($Yj~=~hzEy?l~V###}(40Ll3nadl0$g0C;DGsu^nY$!HbtuyWwYGU# z&P9=n8i>bAyJQDr?Q8~LwReMc?@m?h?d?;2k%j&}N`aqX71(*&IglwclDIvOTyPSR zj^N}hh0xL4LvY#K4%*?MEyrYS{@1R?0?<1{-juIY)mr>UXkhntH-7sym+CmGokA`C z(&2z18d_@sspRveuwu(Iv0O*H|9#`3!HZvY=86+jdSJ8nP3FI3PC%y@rKAdzpWk~M zavg%JHwYSCDx`xQQwl&@W-P&VY6~tA-u*RC@M6$9-IQAii<|yQg5YMNhUlaW@GLt+{ z4N}Zzv9cZvOU+AUZJNY-o?S@u;qQ!=#Rv@^&Guk2ab)F-bo2cIzy4T~|4s+s^FTEa zpOBKG`hD70Ee@=ukdZ>uT@7v=T3*N01B_9AdTNy|X2*Zlf;pIvvSh*c%kWY(wZ(qf zd}rTg60Ol(4ba9~*u%A?QPTDVC{mAg+@>pY!%FFFC&m(8uE4Qb|GvN{(sFWg05NK7 zz-(^=(q8B1R&NqWkO$^k@G2g*wJyeV(<#;HL;;V6vxiaWYg)xYH>>~Ru}qrM zZC<62w2Wf${4h$ceX+?a-|;=8fNo)?wo!Hcb*L4+Vd5OmhvMUCb`DkVOvI<#sfmqB z_F0Z@pKy}tRyr0%tjQw}s$FgKQUTtOHyI^L1V)T%_1{!f!TnvG9w$QX`wUw~R9kJq z%5hiLN}4}Kk9HY@KAaHXz^I4l3el#a$*34tf)u=((zo)aRBfI@)ir;IK36O*rQO5| z68o!zoVS?eG;EYj)F(c%EpL@hl5tBP+I={HabB_MZey+<%bRhnTv2jqwJ$qZ^p$CE z&LI_~pMT0mql*Nb4Z446{$Mj2P_pncLt?Mo9LCYl0Z#Lv%{1o3y2av5vrtLr*Gw6h zME}Tc&r+MSWnhh~6>E7rCry*ZTUQ&C#rnhkF?CNr>jFVBpU1c((Xd$^afwxQde#wsS-?f0N8$3EJImtBBMI4&!_wbUtGLY^D49+uLie%gEi>W(DYeFC;A zf8FDeNu*qC^cPti%$~;iBnO}Ts*y&gHtj5k85#@fjVlbX zim+2%%AJj>XtAI~hh1Y*O;~5B_RvB~t|{FdX^2rA(ly_8Qr)$y@6-a!97%h%i#YEC z*ZLj&`Y~29$`CkDFJn{#)Wr62vV~Ie5HF-m0kW*VV<0g)dY=-#CGCE&S6X@}PkL>c z(sANX80SJLGxY`ogNj?4HJV~YZ8k@MAiZopcsI9xr#e*7YL`dUF2-8(Gv*ql>g|KlN)HAu&Ud|#p|uvB zZKr{=fnpsz>Y)^P^J(=jx$<*5HCa6|$f`>qbmeqmo%uL{k~F%6qd1( zfUyTvtF4NfRAygNdNSuUY`#mbl$qPE9weEMZySU_OC?JiQ;l9@SOjG&$r2pNL)Ji( z3)VoBiuHPf{XVCoxUxZ{MCqtFRXd=Oo^2t!`8)2EJ&NutqT&M0@wZHqS0vZ?R-1(? zpz`QAr>UCs&inE1EC7&H#gPi932dV|zg>^4=X=fVwXS|TQkEQ2D*()|*)zlg#*%2` z;^Kfl44$FBP7OoZ%*;%;kEe);)0?00al@a2{*X>yuLSm%AZBaR0-`4K#v&YXn~+bt z8h2%ac}enD5bqI+`Is=IQ5#XrJE+ED)|?1hXq>+lGD~SC3A0xf@xWsQgfF8!@JZNop3ohWkU=-}NF4vlViJzhEpDonTRsL=Yy2u^8}>7G(dmBvOrlg(|?`C8ol4ywA)aWZjNTA zuY8ljL9E|+KU(fMjhzd7(fY1(D(jb3HOttv0*zch+kR?y%>cK$2Bs#YFXaOVE*+O- z@;EbFjLHZ0w*@9gw1J%wBaPAeiDH&zeYH||G7JQ2VJ_)OPLlU++PNK+f3oo2-m1md z%gFn4))H!3?Cb26O78Ay(q>bI(xKu!P8+4ALHn7=BuC!LroU>_oWA8s#E}~R88{uK zqtP(-dpJElI)KLFv z82%zaR=k!^Zv+EwPKsf#_S!+<5KzFu3$(tp)+G&J%rqXR-^79KH_h;Gz&Ud!BgdN z)*v_7v^(Yp4j~8lmAbRa-f4a`V=u;E%toT%mRibYFE#9jAbS^+T2iqJ$M2+NP#%4N zmAdq`x0uqmY@%Gxk@G5>ZeeCf#|tM|j=VUPdHhJ~37fpM1Fs=MwQ*E^TE%#+kH1X7 zM?3WTYnHY<`6?J$ln%f3K!fU``9L93N>kzb{mbJTp~G|1oK|kH8)0G+~%)xJe z<8kP2d9>v!u#u^ryr4?sNmzxpxxKB*V%qN1rEE*CwixiSvIs9s1eaWi?(^BID_^H+ z=)Tls-D5~MaqLv-->8Lu^ zHPc{`5Jef%H@$JI+N;_4RvtN-oU`?;Y9-Ik*uzMi&qyf4#)Osw>&uf0X6273|*jV*04_hVT@?hj&%mfhXOiqhvZUN=Va&L;c z>eABP(u^`PuN&-#S1{o9K$EyZrM3VwyTZQ;Ci)uNWY6bx|0YDqrhi)WdVmNYNeN@f zU-jG_2OBo|oPuOc>#EmsSlf-q6txQlc&insoo#J@SY@D+CJ@h*tCo9A6683266|rc zSaur1H1!r>-v<*|UJs}Y5U9WjD3|Um`F>9%qfqT!+Ct(s zK5mHtrY4WM3JXhY@m%C0bex8RDZ!OM-z2mZlWM?Ttc;bU2~dq77MYM-GcI^#L8~2Q zLhdHg{b*kCA71s{8kI<1^Crtw+>#$G$z8Ybq{dt zhGY|4h16F}-H>{97M)mX(0X=#vJ|n22#-4&*nWXN=r7Cwb zAs<3!29=1;v>A2Zbgj@z9C`KW=}cAwk)q`9ekj0(N2UfOS;1R3e?D!q0nOPch@YO> zuzMl=S`UVMVl!yAUG-c@>m*>+d)H3HYajT8iwSmPFm#2e-8=EoL#VDNNF(|A`OgV} z5I%@wcVSn<2frW}H%@flKOSWC`~qsUaMTV3>Q8IdIbf1B|MBAQZ2YBQD<;mm!*L+w z?y&a(_a#7WExG>8CAF1waQI!8ROwqR{3>N)R0%;>cT=XzI#?O>YWL2In z;>Z_uA9&uBdinW#DD*yfST5~=keD(y};SyDgWE%wUppR`D3WGWm?*4TROo|;TGIPTEi^VBtLE`&oaQ;}Yx z<2gO%%P6Z#&O}xA{k3+!jFX(OlISIPSusH}Z~4zB#b<|~|H21%oyF>Zw8o%#^})v+ z40IHb=jETR{Dg?ccZ}!qU!RFRo+eI^wcqaL{?yqU&k}Xpk$ZaAL&i-1uXyh%x2U8_uSdR={ea)Amo7w-4SWH3w&dEPQ=T&ClgU|oXeN__5BV^ zsXqZ)nNWq=q(&-L^;UuDqn4$7^61-4gZXM@);nc9XuWu6pl{CD@E|Rom)Idr~ z8QXDG;vjtwWz2|94kE6dU?j6WBc_89Q&}WP@*DZ2tx7hvpEZ1Z! z0Euv}DhbKFrL6rW{dl}B=L)rxjk!{r3z}Jw96#t9R^S+^GX1Tc^O3pPV@7H*NQ$Y3 zfT<oxnuPMfBrDKfN1vWRl49bU%;^2Gjp@S?$H=D@i@9=2@S;a5 z(Hjx%Dt#&$_eU-Dd7{p)(y|~$amjT;RL-S1b|Sny$TY9zQ}I00$x2a_5-agF?W*k0d) ze3;xOx~WLu(MsF(n)@~2L(Es}vU4JUcbxF=2{N!EN+Av4@baaz{P{{+FB|l~?<+&= zdzQMJa~e#sl4Pc8LcX=$qQ|>|Cc7SOy_|n|j|x&KOGo6>KjieV&+AF}Y(? z=Et)isR;CuQ+NA8ncJD_ma|OfaXPaW0dJaW8w>I<_(Pj?Xy!oY*pn(xZz|3en^X&3 zfj0e@YT0b&-#>)|%1)!tuk1PQ(9qGdwq2(Ga7)?Yb2BNAQDHNY3G4PD^0LX&K*-)m z%!Zate8L)JjbK*DSJ_wc|BZ}T#_vnX*B6?J61U_6m10a<(j@wa%-M~@^L5PeUp$oxO<-rk(~ak%*3mZfs2Bpt+Yo5P4zKbX;lUh z8;KtvJKTnD8}ambUu~lVZ3GPgeqLTt;Js9RC5X+6Kol#9Df}THO%O;e|K8{41o`ey zoW5uZBUJ|G!tV3E?_Gcl5}F1lcy`n=<0}E?>+^wQ@9%HZzeYfK*xnyS;db&f5kLsm z!E0?u`3=I&k~ecx~_khLZ&ApWPQ3 zlJZi9;_0W$lC^{^v%y)U^B7%igyzmwD~J(Pln%Tjx>8cclzDnds?baXE$WEWs%)Vh zTDqb9?E=`9!^ZwndlS=L)o;?cW(M-yEdX)QDwxf7D!e;`AMXMv2X)<3EoH zg7<<}NuF*X1zShXh!gaEDJx?rXUO!kk+AcTpJKjsgBsMI`QqY=ZVtPqTH;~)wYoyh zzcN-PZp(cx-qYk=Sq<67x*^HK6h`F-$ zzD_vb?_i|%(~@8A)8jua>U-<)e`Y%HfrADyIJC9{l0&T_|41NUkT7z{VKH$SNqs~I z;7|Ys*?1LAs^%?rdpcNk4_pfqBEQETe4id}uh+egL53p&=+s(5_I_CBIQ=V|?R6Xw zGQ4JOJ9&h8W@O%^S<&I0i)HcKMhE;F0S~x7J)Kk)0c;lO@@;aT$R8}GlqE|0YHVjU zD;e`LGvbiY)>23L#ppw%7~ua4C!HQMU&tuv%NUH(!{*;zF<0NlR8~p0lfI^S9j&fi zR;ktW9G`Hg{brVaxV^9(pSG0EKWqC|dK!)S=VT{^Vtloi`4BpHlSWqr#NLWQZZcd4vD8Kqo%nD*I2#QsWQ8p{|1A>y%vx$<)*G$OMj zL`Iw4n_({DhY5dwQ!eo*nU|g1DM-t+4__EL2a1u}USBszRvG%^jiEcB*C009u#h#L z7<|S z%!W%jA2dx~xaG|m8W!yfoLpfvv)#RKxy#kw406^_D2>iGBggFw6%)K!pAZxbbeZ4R z52(ho*pIyZhtmN4BftRheqVtGiYe@h9};0mNe>$<@m4!eI6WZZ4+>vWV2eGt1Ym+! zrvtb{Lmzx)5p^)>l%TIT)%EG)n(7|FIsyW3v~V zdG#VHgt`HL_OLX8-nX(dUbt5xR1h+z5N}WVdcyTYBxm;Kbv5x~EJuBjQdb8F9e{AN z;8x*O?~4%3f9-Q533x_8Ug|S@m?npBEGdF4om-Z)b}B{VC^;@5&b+py&Y{qny+*O`mx z4@Si#ZbEP1Y&gxnz%`$Nk(ZI>y3*3;Cg$0OPA&MuNnomw$Rz)M<)>ERHJC#TK_*8r zE!k5k{_*?z_Gi8+=msx<{d}sCOa;ex2v4M-(E0J1~3 z^Llr&OhVrTa7g;Bb^6LTsER#aG|#92u|!YD@4CSW<6K}B1|_+a2M)ISbB>%K2dR^| z?H+N}`pR4jA8cqz4FIn~<;5vN!=kez5@E)P8E9lx6n?lgRg`mwML4jqTVmJ500D^P z8s2w_qOTVimQ-BvLypf!zlLqgIe04Rmsa|Ibb;=9)+Y>e?EAND3d}Mq=X@q29WGh- zC~^PLr~tD#MADz`>#NZ(0Hv3)T;#e zkr-lBDhm-_1?%r5@=}E1_Z6EiUgB3Jd+LJ1u_RwF|D1%y%|#M!ZsAA|eLCn`1FI?W zQ4c1X)97i}_58Y7*aURem+sH+`mXj%zU7+FYm6e-`^y=vyO`PF!yZ2WE60)#Mi^lW zPoUY5FX}LlR4nUm9d1(vlyiY%QP~<@U`D` zNjb$(R|4N4S9IsUFFhD9C&trC#8bW382YGFC0Jc1!OiBef1kl$q_2YF4z zt#^Zp=^~dqDfyx|W}0vpMIFcOzgbKl?FC6``Jq4@CQq0RHh&EMl@pMzImrk4haEt} zM~^fI75okA>z{>DyUL*Ji zX~Cg}HLDH!2%*3Rh1P~I9c!)ATRwKuMfpg)i6k*N#oC?PSlmHy()rmMLRA5yQo-`& zE~{agNqu+|tf5*m)~DeGZ0!?CtbqF#k8%EhL$$z`#$ojZqm(0t-HcLc(pk}C9oNvF7Hz{ z?ZS1*{ipsRO`d##xj@EpM$;TmokIh(Yt2!q5aq;UoH=~DLR)R}l+0=&s>Hc|hEl{B z`iXE7I|vO+a)n2`9<6X}pSXOX)n4C##J+jrv`<={&GV!UJ%l%ZbVwRB77Ej`gpd^! zuaQWHzb}R9A0uMGwgByjsQc&ysLv9Ao&6|&50pa5;S@rSL^qH_mA}8+9Zt`2-;5a~ zOQGKyHkuDQ2R&AQ<6DMe1OF|F8a_yHVm>&xpGMLtroUtJy_k{(uFLZ;VXwyMfTN=L zRoDHy)l2~(y`u2<02*^PcvN`=U2*nix&kN z1GIm^E!4jr*eSz@===%gycNL1`S$q-HF5OmIuMu=lDNHgv31YCldjy@6FF7)0~Yk} zz=qLPn?SJ>0#PC*vHq4#x7Ne`H$|0R^fHwQlP6_2(kvIckQfv3yuH`-uU{$OiysLV z??vB&VXB9pI)+ZXZ&z9=9yacQ8Q1dj+gyG`UOv9Mo~JvyDUV#w`9?W_yg`=c8+cyv zPaUfKL15~&3s54XDPas}&@u>aRfDHhQ4yVKTxM8a6Mn@3@C|5lO;@|mFoSRU0oNrI z#uM~#lcFND|1tmZ5WrQ~O3#5red8FgTK)TjgMd0JIKAGFW!fvLZ1T?$`mMnN^3MbUrju|~g$+4EhhMW>1pIn;v zYXh^Cg`fZR0tk^Vp!cIdqdlL)=fq5en8y;| z2jZ7oAYCokA%Rw|MIQX%`t+h{8>Bz^=^}KVKmZj-6R&v|?CnBMOFU{S|Hk#{BXr(6 zIQ;ALf(pqh)er2MqJRQo6ZCLuTG#qagY9V(6H{y}8t|x&K+YX-4{-s$VC@||0!;8q z?>iTz&<_?Bm!119a*s)gV*nQb3HA$cr4hFAZfrP-253pc(b+p2089187f@V!2^ZJE zCjAc>m7@BJcraX8Xb!{}+*6;ieg#~*fAl44>H~WaVW0>&fq(XHAC6lNeDETE*72&E z`tdae#VT#MKxNHQvHyWEc3qX0KCI)+Q3tZRp%5<@nrb<^hcKA0v-4(PvnnfED$>Eu zeZ$l!$r@4a;CCLuXjzRzn@%n^A3duh{98tK&{Aq_#?G++tKqzPPvRFlkSMBcTITy+ zr!zM8#S3q&l}q*TV`|(8g~^QJul8B$_L)0}pANKr*G8{MYC6|h{fW5cpe4yfKK z%6z-b9)L6vg-LNbCCmLa;rFZ$2=mukz+Msfv1<)@M%9neKuCoy1_|?qwjJubg}}nH zU=sM8nJ#sC8>ZR(J6T(?u_U5Vf%$U9*PXPWZpJP3yBUUgZl+LTek)^+q!~xi^$=52gmr zA9qr4O@nSrC&&X%03|8_+zYRG{>&A-n;JwwhJ?Qo1NDT~4VYQZDnamj#w;3a0#4e% zLVlkb%LI>zERbsnMOJS*?!M0hfpGBSXdQ(7(Aiqys6ni455(5<0kywn(q)<6x3~)u=^we2tFTwxBm{h>8GG>DU^%?(fc`v66){T z$n!|}&xMezkcUqHp#c;tK7*9!{mCjg6n-h_y#|v8LEyCU`G-0B_iu#?>pt5Uvzwq8 z3i?WH^KLd%#P{qUaiM|lCa(2Bwh1hk@3zpf%f7Tqavpicr?dV>cg@w})k)tci9oDi zAU-c9N>2S&t~rX$q7!#%{%rZrdq4ev9<5WXKu^xf?9{76BvqwOzEH-jnV${KwN-wL z-=Al8h0j)awUrnoYx?49*CjSt4~$X|SX$D+H12V>O`5yEmns`8#$>jBPt-3y%R|%7 zDc+c)Jp9a(r5J;?;z*})Ps^gMQ-xga+)?wcGdhM1YV4$Nf5TIXfK3#o!i?Qm* z!+-r}nXo&@vEAa-5V$Qm)R#pjLXOFlU3~(%_YK(Oj|IR71Q)kTEFR!!B8l!j<5rM{$@W1A zUgBTX*?H23?hojDfR9;ldycMif=i2HAIWX{!0vXrdK{F2C$s~?-!1@D7xuKj`0*zw zZ+>RMWV1H)Jl*%k7XkVXyiqoISTFG0Lf2sFTirCWun&ArOF-s`wzSnW#)hzpzy&$_ zr2=&AFUbMoP+)cq6ub?9+iMIGK0P2bnOv<3l=n#9zgN&CSX%G zab(+M2&y1+86GM`_ZPC^-mkqRu(V4w(PA41V?=ALC)!6&A95WeTBFIon4*!mmw0v5lbHLSl2k@tm?91)utRQf%jE;O#=B4Np7L86bVt&;Cx}oA zGE9SrrSSPv#qqSrG?0D{et4PCRdodT7LTA?AOfZzz-j7TmH0j&y=MHwL7DtB^ZH;k zSbR7Jr2z|D+YZjfXHYnB#DKm{Mi|j+O=^E2bOUG$(aEk}ufWqd)1A-$Qc|->XH8A^ z!#swQ)T!GjmIPJ3u8CS-5g#Z0-qWClrf*}_lO`hkijJoqk`Q^W--|y8m&_vk24kqO zEv|W(Fg1?F9g149-`q2b@+&j6$k}eKF>}iSvX50Z;;xX0nUv%ZgTn0&-KG36EH|1A zt1lNLdZU$*n!8=le$RO8+&`5^36pFk>{nImhDOoBC25^1WfyzM^!?yQ4{{5hM={?g zsw!|pC$@tyGgQAx%`_q){YEvfyTzD-%amIBI}!nhzte)j`%d<0IVj4UIt=OGP)SN6SOmy zV7EG8Ezo{i^LL#vl$cn=_M~FED_PC8@RZHCU5ZxV(+@YrY2T0Af&PbW4AkAX^Em~M zd`q@8c?n?H?s?4+f#F+ty4&2~uE0mYE^&e0Hj$Q?z5BOZiCnK(?wdUu^#s95OyX(z zH}5(Y{eEwK_H=IB-2;eT>Nlx8O=o8O97W4WuO}RQMZUn|}oo#Qy*TUP^A! zb^c%AkuMnGR-Jc-lPF6fUl2blqlx*>Zs-dV1?Abh(3p2@({N}IA}$rY=Xx#&yDC0))HpCpbX#NCEpA(Tj60CvHS z(3S#Y)DWE(B{cuSLt|zQ8wgOS>d3lpNUf-86sTNtE!YpgUbAnWC!6LG~Y>f>9 zg-lvjxyA#L02Rhnai<_Co$~Y>?)-)I427N-xm$G6*CG=uLs7W|^5hJ`bJiY4^BQ1D zx11`9h!OTMvn>a=TsvZg-xEmYMpy#?s8n0`QTk5iFm`t=C!5|jWzgh${mE+%)LCpn z9G+mh;r=-It)KVZMZ(v3U*MN75Ul677j5l%oHqm;nHZ+~gsAs>17|#QiHIPOvxbN^ zpF;=0{dx!BOY*G;!~wOilHY;+ubs)4DVBwB3|@#oPKMx`!FXaiKFf&`n(*IAk;2^M zzQtHg00jeE-4>xncv3>GB&+qwFnx%qkD!TpEZ^TJXFlZq2iX{*+p z0JJT83_e_o5*VyPJV0(q(74{8LB2p_K7lPet3Kl)JhT>sl?C7)8NOew1g?C${}RmivxFhua7W}uq)-3UPj8+QW` z+yW+X=oyh%PyjH>PdR<*p^U1)LL}udgFA={PT`gRX8Du4@AE+-t53oXgFT$_E&wwq z8YTW^58PKIG;)F0!*mgkxd-2^*R(tXotU~Jzzq`+B~)sbp9vw(G=gdxuy6(e;)FLQ zy5i-*Vk%8b!xbF*HbIr+5Y@ow9T5ZSGfx3xiL{A01vCAas8iXwkgAU8Y7?5IH#7Nk zGUD5Vnk>3CF~gJ+#uh5%P!mdcxj3~DM?yllxKe=k1F_tF=0zp3R= z6kf#O-&UK8x9!HP`0XCq*l@CP%=rV@G{(yrDkQ}Sb>o@`l&Q2Zk~7JHC6lrD6>^W$ zu11&hNtqX>6NoKS&x#NSs_t;uD2NEi*F++^s8$ve7eCr`UGC)!>V-QB2X%n*p5>Hm zG8pc!xwPz1RT;Tx_hqd!?pEsAObUJ1`PDMF*xfHcCf#Ne>%19KyHyeX69+bOPoL`3 zhY0pOhBJWM&aC1se1^pM6^NBi-WoU_UmTIU}GX^-N?H zI(fbhj0rn7o9r)lkF9`;Bod1Zmw~HTUx=)@9Tpg^E z8hv38I*mhsh+th{9c&iGu^r6Ul4{7|%ZwVi!scdVf2!Sw>*4Xdh={bQIQ%e23w9HUpfw}BO?quN_3*m3;Kpm z;ZWdkF!j|)7Q`sMM(+iudd8d!bXSoMN0$&5CKuaOPlimR0#1%dBWQwLJS~eu!wMtYl}3Ni(3gD-6G5`59Fzjbkzhu}IBr;i43*E5o2( zNDJAQGqO##Hi*R0ONsR0QhcG1#)_YBsPieQ1hm#^zEfkUxAK%6M5M&VYL0^ z&aV%udl=+GA5e~^!=9X`#m||o()izDxMCyXAAuRXMI$aAIS%_S^&uwH7vGwpn}jlM z89&RFvTjeu`_VHZ>9N}eCG6VNJi_g}+;&Iv6v(4hlTsQMjISq9JCukzPQMPo?`6FX z1LFsv=}b?UAf*6D=rXTwO3vq)sfgBX;P)l;3MTyac)jP}mCDOD)odO+(2WGdkyMiB z&4Zv_a}Q2LVQIF`&aw#qaQEOCkk3r!~mCV1e*x< z=@XxTm&314d%QHHP{|i3W2Pp4px0h!DpXG!qT|ccx|6K?|x4^wV{ARQ@v-OFI2ZwT}dq$qoFjvBRvjp)W`9atNGbrMwYDPx5;cA%i(Boxyt?QyZ1MylIh8R zt*4+dwyIsKB##xMdd!RQzAQNz>gFUxYL|8x3<5kK@kV5#{!#+f@a;J#O2Wm zLK=^*P+HB^H-ioYGcj6UP}Dv`>`t3pp!P8@I^&%j+Nfb+INQc>JotLM0@It7u02b+ z+m!OyodPg(jk!Gmx%uU68c<2Eub&C*zjjAK<{7t)eZ?M1X{=Paxx;4h%g&9`COb@E z)_{b0Lh)s<29wQ%Nsy&1v)Em@gNM{$qpXg+LRrBBX3S0B?q!P4f|q9``*VT}9olX%`B7R!b%m?cdCvOzGLGc0cb;- zIBdps4iN6)e9PiyxV?*yZZF~!_=0sREK5UufYu^dN3CDtKX^8(U;Dj^V;x)ch8{AM zLOJb8YX4Mm+0hVj^67P>!K&JCR>qOqs%oxRu9Z;P154TV=B&@U9Ow891ni12v(+pW z5BNla%LMFOrqt%QH!!UF04nsPF}YZUY$N!CU3MilXZ3fq&6M=p#%lW{)SdKhbVNE> z#0F`blEVWJuiPY-4hYW8{Dx@TRqmf~5WXe(s1GjqnA6SG&`X%ZT2-m#3}2+Tue~l< z^U;;Fg(%l4xCs?6V%A10X;{~0#p>L>+);<<5DfFIo4lFVgIPv>KdW|>(0qvwx!*WQ zJsp+$@!X1iT|ZI8RBPCw)rN^xr;A#!h&t3D#?(9FWqgSlKFXN}eYIjswC2ZPG1O|y zg#mdKdy5WrZXu9&y)-WRXFFY(zdLByc1g=@aRS)tpt|XjvLl%c!eyjdt}ho|A1IY0 zCeUi?InaC6$EAfd?p9i52JySjo^h*gjJKMWd)o-nK$4q{+vgNa#8eyFBmYi|+K#`H-5~qb_7i2?^bX&i!=LyMeYjiZ zGlem`NaS?<=#YAdt|&IW1XcR&(U}N#(V}11V%h*2ZgYE~FqeZ1KTW)=SqqMq(?Q9= zlh@ZXr-z0u{}R>LSc?h&;>oi}EsOc=#MnO4RffV4iHtWY#R09@vaXmP+IUiID|@5g zDy~}(NXQxgaLr6}Gd4pQ0<(XB5-e!`HW()F?O`ML0^fv_%Qdf3e^Xk`sAEyCuQBiFk7T!;wc!6LPb)dsVJ7;9 zrs}a1ZFQq#p&k{#E8~LrvIPCsMP*Vkd^$ItYK){ywPR^|Twy3@p&%%bjTZR&?!q7D z1qMzSnB?r(s`yB^NM9*QHSKF^+lM9IS@HL&EgZ^V{gaGhM+*HE2tZ!9cZWuV`uJ-< z^Y)BGD_bD(T=>u}A*v*=doTZv+*TryGQ~qh$TlDjqt?PB_FMVyBEV;{bmYx=&P0Ls zX5iuxFO1Us$dif=hl@HGPsgx`daU>bzE^FBt-mQH9nqXSbcrkL2V7x2$#$zdRKBNZ z@9i-pTbovc8jnj>f|G-)&eE!{HOb?BiyA7O#9*O5L-a31&nHej_u<`?ABdHh`e*c3 z>IAQ$2b}0Q?o_%TB=NQw<$S)2KntQ zD5S0k`#|*@wv)Quz9ok{@9CkD=Kf%5} zlxQ*HDN;WyObOZ{oEY}vhY|9Ae}!*`^7?6CV$CzPEaPOD_HU{(I3cI|w_~utYIT2 zeu8x0rL?cz$Py|NQLn3caIkD#R&&K1klPM-a(AD5xRay_+=`HF#l4gA@{8z~@`-UE@m^8(qP9a6?!0#v<^KoNBo(pLVZn zTwjmetg}^>h%fEinG2(C)13WXoI&Hn$~jgiY#9V%P3~pylFDM9p(KZT2xC%3w*pDf z7k~R|M7EH><*o8Lqcv&UltR2?KrimfB?u`h7VHy%3~{_2w^oZmEJmeoARy2-nrzQn zA$E*cm<~wAvZs*Q5#h*+7%31`XrtOvSd&HYcK+7zMDfMj_G2nSZ*NX$nQ$Uarw@jL zW>Y{DQEFQ>Wpvt~F+JZg4I$pzavew+X(urFjD&*|O^+yE2Ym~BS-eCtgmD01lT}AxU8x{r>YxPsBv@QjHDb0mljQt zfzc{G#~B+S8BRs;k)DZL5^D zW~aih)FRE^;Ot}CEf!4 zv?yW})(XDAs-lb~sSf&)u(cHF>v`^CABLqWA<-D?D!G{O2e zGBcpjL7#$;rNZlSO}vg%5tHE+v$y&Emk%8*n=e@&QWZd_VR@91q_@APT#|(sd!XFDxLO zJfYDaDVZPQPC`oeo-waAYRcgR-l;1~C^j>k((XNjl!Q-7dXBv}qcvX+R?=Gfy{#?zWqk(Q2Syc*xnC7N~r;*1=;=(thh$H5mn%i)*i8<@Rq!rh5{PyZ> zQHha^W7L;va;B)c!STcvZtIFo8H}}~5--wrnS>WVGGMTln)LR6q*bb-tUSsN%0>Gt z<&>k>8=fP(vaC4T(?}5;s&^Z!t%r|y0flQ4u@ zr{kASjoF_d_K!8XV+Qs0n<)1G%>}S!_bQIkYOkR%5zx)IqZ>2gjZOlp%dI$EGJs+wj(n8mNwMAi6XN8-;X8Vg?iIoL8 zChh5$MMdAUqDaQn90f~Xk2~xJs8*tc@{FQrYEQWFr0eK1?+O?>a=L8^j2bk|$JHc3 zk-59O#uY5p+E%BtSkcN1yqWyz+1G+?g__g1CzCQ~9tHtmA3B`Y4^Jj-y zR(~Vtt0Vd%YWcnWEqEZxWWwOi2%UqI_#bNl;nOBr+ z1SW-L+}30sN`sragQ~+Kfejf}bmn#YDKr$m!LjH*CvM|TWzN%hNNiE3?zS0Yq_#PN zcl_%~Kb}D|wD@^Og=tSv$#1jMtwCDqK8p6zV6U1wDHp6ECZpnZE9qG*=m1ZyzT$L* zAgmduZb2JQwDY$+R4apDJ&{Uf6^z+m8`zE@>c52peLChPl3$(C>DzL1AE!?(e{y}3 zxQszB7@X&KgBI53`InbMLb+yCpD%RQY8Y84VPvHG)qDCD%a|H}(|qlyBtu|We zhD=GUgv^PfMAaCM@~QI_3)YZAmO#rcV8e*D*GpHFj#BZ&p)eYQHKjIDQk5xeLjX*m zzl1V*S-L;|$7pJixt0hV$X_Cr-yKtKil*XCCn@DL?cNBvKhEcKsuCUlv<&+@ZUbqG zn%ZF|)C_q|4dyBzKo1GX4xAthZS*pOwH-(8WpDtmk_&`(r0+>(+evIEzpMU|36j&` zdo~|y|B+NK=tsk*0lQ)Oxs9viP+E*W7HW)@QmwU;`6QpAND2-KLllm5PIPn&JaJjW z?9NIltALc6GiJuVf%o_PRvTvATLb%6)M>{P7Pj40ANwB-X`$tR1mgGbVJ5ymTuZ#} zlp~o-(VuHiHd8WTwxd|r4>+29Z!jN{D8(gi&-J?RdZB@)2Or|ok@?ayB(hJAPvTXFTX?m-05a1nmrvl&&@CEuUM zhrL+VCmX$BY8_#s;9oGzw9!1`VC~0`;mRmr9c5rp(Lw;hQE#C1`Pv`F{pt|RJ)Ugl zD(nO6OamJQxG?(*Tx1|t7}n~6CmQg7o9}oD`y5qB`J3Se{TQ~M7xH_d{<#m z!KTVeyFFQoe;E4PUTHB}WB4ufKdY=23hsm zK>A#~*En)0q8CMYOw-j`(j|y^Yjt%7J`vy|S2SEBUojHEg3DI&num4nVkG9w_#gFxYCA@-6Wv*`QNw_nZHkugGnG{6VNiJ z6Go1ivXww+S9m3Z)nhYBv$4y#qERCei5$yAwL``7scOKdBli%=q7jG5KrZ2rOsJ>m z&h+rG-ju{Ec=nl%sc)O|rYwqyXfdemAR$ioS}&`b$^&>X)HW5~9PJB(mE= z&ujMt3N)d}K6<3`mU=wMy{_+c#1Qs`o;QUtrg(UMAbQbBP$&qAXxu1m8SiyXg?G^v zg=w}N&wfRK^M=7UP@+D#|ibj9D zwQ=Ft8g6ynHX-JJyZ(3;cC=X#nt5~e`RR8<|9icEB1TrdllAqddCq(xFCa86f@>nb z5BMb+IcxF$Rct3x_#4o-1(SyW(Msyry4jjx3TX1|Yi`xGND!zko+Luz_B-(CqNF$mKdHcXPh0eR>R)7Cd=6!rH% zntt#p+YKrqqpo;t1u-uOhu|+MQGW`EONFK5R{5!gCY4uw4P%K5*}^{1B)=+5YCAW2 z&o?twAt$j)t5Ta;orp3XeOelvxy{VRpHPBeqE4ysxM3;OI%@7?3u(xNEONA4`WiSV z(@E1AWm1RB!^q*QG+!*kiJV(~&|oVo9&~U)aa4m_dJn?1kB8+yNstNIj06I1T-xsU z44q%O{C#ZY4C?dgh(z7)fWY*F18)i6JGL)ce`(37_Lv3^(lV8-P*P)gMp1-3$d0@Q zS(v>^tLP=!!nM)V%V<*_a&~Ql?TGnbpGGMQcmT%#E>y zLE`lfr8z@WXS5KPn=gbkF%=7`oAzwtj6+ic3OqtoRPXy;M|tYeUR_M;eoWW_;QsAR zfnR66P}x8%dkd%0FWhcQu;Ql76tCam(pW>ApA=@l5|@(=lzz@48~7iZ&N?c}?tA-m zw=@I70MZCZhjdD}AdQHGFmy^wNDD|e(kUe&-6h>Qlz?xJG}?mdt~8zvlhBp8?7Sx<4;#n#So{(mx;ZwBH#-7DBHx09u-(^!%0=@ ziQw|cwa?0VF;9&4yh*1aD!EBhS2N*2`1jCuET8|Vi?;4B#>CFSH8;f+%g|?1X_gVZ zFQ{uhUozH)sZR~^34-~39yoW;yx;lFn%IGWP;`g~K`q9MccY?PQJaZy7cRk zF_+)NImIN*;-STJ0{sb->fJd0*gP0;%7Hl&aJOpEJZ@ZqsEr}11ZflBtweO1-P~9G zJ(9v`)3wJYt~1*HeV_Al{tj9bVZJV47t+Lae_zbpXt^B0ph^3tM1&?<%6%>>c$>jG zT*^v-hlfYAUGGhFo)7-Pb%^=ldopzxgx!t;Pt9Z1Aa*>DEU}HbjSmK)LEe~4{{Si? zi`Lq>7k(}4%6p)&LB<|y2 zj@TK-?Y$5QfF^7+lO(d|Kzuppltbma^U;XEbvcKqr%)r9oj+l|N2>3;+veLJmoa$d zXy*fVWSZMfeZOiIfq9p+5rI$yAVK?lq>|ZUIS~IY^W)7(_!F>=Mxtk3kNL@!HSK{E zUXIVLf49>VoXKmb?5ZTeFb!tWdeIAUY!7IJjR9W+*p*>!AP+Z7__7gL9@{SWNWTRC_2lT#;R zEp6!I@f4~!NCyt&5=^ZGvg!5S%E`$!{PzeF^u0VGWw?qE^=*0-){VEk=|H&s$H9_O z|BJRAP3ZlmdPZ&#J$~OfGr~9M0*GfK?tmfi;YbvU4_3WMhSP>ZM}EQ@ma)tvH`JoLS18EJtm9>F#f8CyEE zl`|7G&vxPox|1}+RR)zgA$!^eXBZgUH0yNkot_ z@y8_K5tl~z~D01KGhSI`P7fQ2p3;9J%@DhzO4Uhs=q81mx=|A*^xsZQAu zg5LocP3LUEZ}H+GzkiNIA;7!ms=lCVRnfvG%GRfi6W+p z-jMq&epLLRt5S(kUa=HWlvp{j(kyh`g;oCTm!FoORGk|s7{?)|IlSoFiQyj|&I5bi z$V8xohNC%mn9F+n(#$ih3)Ag3RB~*&*((KZDdGE4lQXj0zhfV7CSE-cA%HCUtRXLY zV4v^L9(6wv=cxaeJZfM6+p77`&t{EnAn;0l@ea?WJoUtFbwi7t6$oi+fTr;A?--c_ z*qAM{{Ae16aPX*SO&+g)`rZQgvSV)~h5n-Z*aOWu7s|t3y?Pb0{>vgX>Xi zktgayOjIDa$j+Lg9A1*bgoL7VJ_b8N@FWR}@l8KneTeQtJz`0OBNWhKcFpx6PJiTD zoFZQdVuWKJ=|~YEd7>O^=&i|4x#pa**Ee(wT=*xaO2fo{c4WJv&kBh0qNArc=4W0g z7h;*R8qnoVk_NP)V+wFa=!Ada2{ur4Q~<&|`+axsjByZNe&0Iq#poS64tZ5?s_jo9 zSgt6~yUT-rMiNCVPZXg9P>?B>VMhFm99KLw&%*b${wM3_GV5e|3Covk&Rzsa9^WNc z-__nUHfA(Hhu}~PyKLo1=S(X!mLqrLXKfLSr7tKD?{&1M9X*aN{I3@v_=3^6#6nqC zb+y00pNoJ`&u<<9+i*YkRskv`rMK}*{PKOvrJdQ=AJ#~1xsFuYOpKS2xAWs$jHFe{ zXx-}g!*^bsw#4R#jbo+#_sDx5(qQM6)RId0$=r2&`j}mDF^A;n?XPHW^k|z16*H0E zHr0-}TW?JW*sfMO!5E3imetd;Q0!WqU_FM3$(rq$9y=MAJq%@A@$YLjognD&%j*=A zqdjOxC((8eP|g!pGV2eT>qzz3$hL@~$e*E`BY(VJ@!iQFGw~XCC4K)1#8obtlwGm- zw{(G%X_|gNiUm<+&a?~nB+EY4aSxDm5bY7Pv}JG;5O&H56cnMR8nY2ljB(m8PZo2E zL=>vI!k2f+gR1T{F#dXt_3M9X7jYYLW7mR~smy3OagbaijCks&k43d+7uDTjXj?wR z-sPe!a)z9k(YS-#-L{~FTpGuwpa--sXPyAsl@rcmhQ}Q%$ujv3-_gXf^sV<)qM%5_ zv7L1ro2Jc_(bRLiv+kmmJl_@l zJlJ{tgXTB-$zv+nxKTb8%HXmTop&~ry@gl)Jx=9$_atN;%2z;?CtKhxP4c@2(-K`m z9ft|Bq7-NWjs$#QdI!5-mxZb;(jUI7B7*@{at7rWPQ4k1{s(K zVbKvqJHom~%9t@?15>?D^KIcjs1$b}63N5Tf5yedNkW-m`FWApc@C9yXq5Ny>3xJ3 zGXif2W6anF75b<|heD1!%-)jsA@VHPiT5F@w{?CCS?GlMTfvrnDqxU3?7P_GpJk0V z_!Q`*@Qh};%Fvb<=C@4%=Tyc)9$-!OdR?ptj=1}4+)jgHUC(?;>^Ohx8B7{R0ZqQD z6JU?vJcs$++2M;8RoGs+c9fG22pL_RW_hGU49+Uok_2gq)QD{d@GM+O4OuZR7Hde#srRa(L9Y8AXd=4M6zL3nx*`AXmb`%$9mv9NPW`m?oTKh z8>w9&{ceWZlWr_(y0uT*Wy+1(-m&wz0so!c!L)x8^$aV`#jI?Z`a04@*0{psF}4MX z_u3z==F|-`%xnT?93ku~aq%5bJ7A6Q0L`2%xFcH1s|@&Bv_qfUXE=f|Ew2}Pk-(ly z=!980__vek_a=hn*UB%#f5!v4L1HFxYS)t$d6;wi6yh!E#)8WGFF8emE%ep-<=m;cl9Rr8`3Pjj3{V$bKT6c!2!ifRRq2iw&;J5;;(E>6tw zwR!X*23B??j7KC{`o4AFb3JML8VM}@@6cDD>tq5%tSVwyJ76e%Icbu?@=5nm41vCb z8-k6tj*g*kn1t{UtQm6bI6qM^mMhdbReB}wKL0ipf8WDPXm$4$s?s9KcWsTQYE>V$ zu(a-rGLjP`6u6yTK|HgxXPSyknH=qrD!nf)f~i0?x3WZIpX3CtTfvM;Vri^xUqbPD}I1R1_bbPGVAA$V3lRgBwzAou^C zT|V7ZBbWAr)6 z?Wrh>x*6qu1_wCq4{T_T& zhCef+ZhlA;MjGi&Dp4Y1e=|2{*9;dWYaAztVWjI}(Ee^zM4cH|-5JE)3w405x1BDd zs@-bqciP8&&Sfna$OhY-kDLf2NI8AIk8>g=KoXB?E&I-hCBty7Z zn8b%{JbmAgth>?)Ni~YTA#rLocw%k-fz90m$GZ{tvk=1T^8K3!Zg>TD%}0#jUy`>N;8G7@=TMa${n&g0E2kai{ki~IKD z{b~qE<;7;%(&GheAt1UP&3w^!E%5Ge35b-X2yvb>|9qey2bQB(oPWYULg?=x&_SLfYQSb?zNnPI}iqGq64;KWB-JPKW zFcr9fds;pO{{8-L>~OZN&F(A)*xW8aAua4uL?>d=8wnVH8(T1V)#k69(y$smZDdG5)6UjfBs$8vfX3_KpL)7wp}jRf|B?Gn2QJ^#!rD{ab)Hn`@!xA;2dJ? zDfny>jJg1{A^zx$JOo-oZNmAaW zRI)O!4lYI&TX3iW5ag2f=wK>!@!5K7FV3rg#R;4P$2b9lp(cTkw^6?7upipboib@NH$*aqZ;B$%Y zacS%f!Hr3u4*=zGc@7)C*mkm7>;0wSrL8kvNFT_+bT;AxCgt}4lhPHXXX3eK^7!x- z<~Fd=Lq7R1_Cvhqk32vCj*2`+9qoXH`g5-|K8}1B@YDMywiw^&?g;$H-Eu8=MYrT68 z?~RfsMM%4=md5WXX%8SX@i~bXfAj>O-fR6-Al6Oj?wCH32i_Oc1{xt#^kDJzZKpY? zULKXb{{HcP-{kZ5aE6FpECxt%I|3i>kkE2aGsIQ3`u3|)ERqBiOf?jD%@|N$o~4YH zffkpIq6>SI-XYXG#H_7_ud;SRNdbXQ_7vFOF_2@00S))7qjxCvON9wW54VH49s5}d zjwWE&i?#OOE5s<3HBylFKZIB^J0ibl-=s$Q<20oqzusPT0d%e>Kv3IP676WFx2^moy>=zryq_lZduJ#LnArdaA*}Y$7}DHThGvsA+GWtxQoPM1oKnD}RS#oJ%u~&X%==L6POdSN4Xt z0VB7g5Bst7O9bJmCS^HsW5#bQ`HYyE*7!v68?DR*S}x zxtEiqo^7z12zmAnr|dk8sr|gVe;O9F1JDU3H>Y}BcwZfQ1Qvaq@7^(|@;Pr`{dBJ{ zvMWR?Is_KS`)z?Sr03ft{u?W>f83dl9=n=>XKn-dzPr-u`Jr!oPO`Ynvw(*s)B7;I zx`N$bj>c_n-RTN26vXW`riX7T9={H8QgfSk_BS4>{dwkOeA$$PH}&`2k#+Pet6yBpqqr!GLdmz=-!~1ZhIlZn*;WnObI~N^cPG zBXlI#a$R5i0g1D^wnr{hmP8U3#p&=sVhk>S{hIY-L= z_s5v;DD!tk#NEAU@$B9p{FmfQ`XG7kpVu1ROKNCGcY}93TTfs_7b#DR9$brom8-_n z5f`^EiPVQkpoYm1)aMt~@&XcSg84V|d*uDXD2#!H=Ysql==AB)Tt^A2eD8Sc#?XhT z zGSmOBxDph^Gh=K&>;Cyo@I^OlyyzFTGIn@|y?awZg^Gb7TJIbk83jsN)$uCq{{e z*ji&iazu-}m5%Ee6s$oa>O3lsw0)Cx0>}3XG8$CtB(u{7JgaxxDc7Sd?nf2BsQ_^% zM9|~@!q24EI)_+0M3+*~aXnYo*q1M^N=0~*0m`5=dI^NJS^lI zz@KkVj%-l`!pVG`p=f_zC9!w-UtYu2+Udcx=Zo@;dO+QJ^9@)HC_#I`(ryb(I@3Tw zKMAl4G}7kWS12sxLYSy*-KS2epYG_^eK6&&<*9vnYp6Ud0qCRqm@1|b11~ab*1(oy zJr7W^=t2W=xiO+Y-rp#;7VR#(uNv9c>E!(W$s&lcXTRw- zcl#ZjEMPKy(O;DQ?4K{lKI><7vwT@%H1Oy3-EzkuIm|F(r&V$i+kYj2qHk=N7qQ^MB=N_Y4YxM{E@uXc?aq1ScZg(>>_2K3MM)7Az2T@5yT97 z1>?5`T_o|Ay2R8W@{Cg-qw`pk+F^|(#gI_mSH$0i@buhYJ#98OIC04{5q+z(F(3LK zf=)mvf__h&7dXws)FZ4j_eLEv@-?(+QqVnKhDC)6ae$MCOAg z=s&M}o?9#x(FmPPX34Frm#|fat*Iyc(d&(B25vQAM7GTv{$~Pd;QrtT5C*X?8^Ku_ z{qp9E$ELjaO^y+V69E9{05X5MJHU+tS2`!zo8vZhc7&6kSFK~r;SRqaulvN;P5_NU znf=glGfqC|U{X!obzGM0BWS8d1QA*EMgQ}I=Oi~E^>`&AKudGUyx`M%CL~Mf3qod{ z!PGCWB^?ohcG4W0ejkIWC)ihxz_a~(wnH`l1TA((l1RqrAPD93nZk_e-Qz#_N8A17 zlM1cxTmS+8GjT=~YWT$+-+CljJ<8iZm_!lNl~}3D3ZZ{`fCt7C)j`7%g^r&N?p&kV*tLWj=x#?B_WD zAbSA$5xZLQdLVYYB9wO-A?c)%;YSHYw~54E1gjIN!<(lsF8^7*Q95cG#q(M;Te(sq*k&fRE2}dY~ zb8zMl(#W;w9}hQe($zD+y^mDDdh?~FsW$?%f}4K%bZ1<3vUtL4)(0&xsPcQ*VIsGC z>N+*<#vR%4cwQ(DH4CWRhHgyaz-Ya_T$QOwgWO7bBsgHz_)8P zpL%Ikg$}C85rNg(+e2?rz@>rrx{mZqOvv!Ve|6zC?+vnd~&<{we61a!&C4}SMaG%XL0^b z4?Tz%mIQX^mujLX-C%Vyy$OEjzVN;f8DErO9~iq0>FDXZKKJ^k$i!?5>Zk1h0Ejnp zpT>e5%f|WQR74B{bhA{3JcSZ|oDvCad0iBpP82efl|O&LZz-481rMr*#L3#bV1lT- zXd3kLq~@k>5VFdyaDrE!-fF=a41F3|8?Iq&LU`FwoubnlS!YNc_v|m$+i0b&s&hv* znI-a-MHe;o&+W3#*6e5!8I@+tHu*wRN(bNTpJY?oZxV!9RiNLwlb6a)R~Tm3SFpaF zRFr6Ls-5~7?umnZKVMk~FpJuLgAp*fhKr_|0SHgCZ z_;AvfMN1J3h%j++o8amY6R;1CozSB{F@hU#<_q8e21o6OI={k`i-)6+?j4Be5M~}p zz+!kb^7_qKTE>GzKMl@RiUB0%2k=}2$pA+rGd&sxt}dpH4*~c-*`|n>ee`WN)1Ea9 zHgCWN**q5v-0Pydw3Y(t0`e;);zw*)n59RC(GN;U3ivrJpBJ z4iO1YEhXv~Z1xj%Dc5X<96(4dV1uBG?1SYm=Y+Tzt#X^4i3ir#6)n9pVBUniR(+T0 zxeemJp9{s>(WW^A7rgjsKYdGbu9PbELZSc3Ym@QkPr=DC{aOfg7a1l%Ds&V>bdao4 zfinb=Jv0lBp+hYBEsP*!Q_vm~?@Y+$;_k!h074 zp${E;G%&N#Vhwd~ig?jPDpvY8O4X;xzJA-df5CrKFnjnd7rHLJ!xr9=Vq8siZtJk- zrVXL?3zo8>A-kAfZ1qiQYss>YO9sZ;rC$zbCc>DXsb=sK)sU(!L;YiqyNsW|h}5vj z_7<%VdBqqOt2qK4tX~%SP#mjSKwQ;czYG29j0J)_Dn~^ej(jgqENy5%9^W55b-z2=FZ+(Cuu9T+*whw2 z*4zS?Sbu+53iX_DzEkY8*xtwcqglE(N3csMwvq=}nEHVXr4l*;em~GFy6m$i6j+{` zKJLPsq>PRLJ4-YKQIni`>xVBrhZFb(H%u(qeu?W76(@mMYlUNKzrRB!v4)a=oOech z=;u@vr090)W(;frqe0r_ZsY60f@AD(#^Tlvs0WPL_uhLLT6ZkOUTFw@wypSqR!%|z zIpwAn_y=6bi2eYu496e<<#SXIR@C!+j4&U_IjfsMM0V-8fn6uC$J1r}1vs#eAQGy6 z9`K`LrWh^2G5bcrRB(buRN5HtnOn8UJRCpwJ#fApg2SDi32{-wJXvAHIpK)Cfw4BB~ZZwEp35t zJ;ItSp-zaT7*++tGbj1cm90Ii!;6xqRwonJhsjxiK7nqdW51d4r4NN+nW6}@Uef0C z1hFK8;ISiVS4?Jn$GB%j&KadQf&So=S3AUv7b=F|`HA_AX3T=`HULJv!Y^WDS@G!S zOS3?Z>PrJ#$tSvOwDq88Rt=bjKA$=2e@&5&-2UUFfLD>chJ4Wh41yILO|>Hr(1;in z;(Q*?O#CZ&zpQ+0CEo|cHj@=_vmovcbKjdP?iXC^;HhZlnDDTXZIeucF{j-_E`T)PT zegnt{DM8Z608`cyxj~+DY@tNOx`W>>RSn%93(m!K+9_yvI&UTFK^cQrNVCFar4WU% z8SwhO1vJr29!|fW(D(up2VLbqz8tHl|M*0H~At~??hz2eI;fYNKZ4=aa z-k?~mh66ewLmmS^Y0SSO6tpM5Ps8uA`!A&=i|*I){n{7gVrZhk7a<2gOkFqom55`o6=%gnvLAH5D`*>|LT4j1{_hiK*rq1{S0 z?6*_r*tClkUT$~E@LtC+>^YQI<~yQ&L-;4KiN66iw@&V-ghWGXM08D>q?HvZHtZptt znvOr1PkKw=&b)C}sjk>WM2)2U0M-r2-5N3+1@i&!bpF8u2l-pf|MdbIRv+>~X?BJe zdDaHV2c_tsP)hwrbjfocF9O#C!wfp}Ys82iKEhV)wO&@#SlI4l;h3x6t>J5huYbFq zKHwwU;SA+mOBCCaJ8_~@pRa@TD9XS9F>^n6EAUyG?$4VKYN*}ja`v(7NMcK+PR*nE zX1MyX^Esvz#ddXEdQd{zDPQ`aG~o%1ie34EyT?&!IJs?kT@tq$xO31*8mxocvAUmb ztj!N_FN_u7wj*Vs>y@;GM*h1op8>kjw+hujn(G0zkEek2VyB>z*aW)J_#y{fu76_8 zRVR-|g?1o+&DQ>b-K>9b)1iiDS>y3PiUS!6DC)+8P5MB04yBAZ{W4^6dOm>IGv>~IZx;IuZDidX1t(N` z%gQkA4w(;fI%lfV0A^vXoKTPT<}RT@t(tct@JMY)$r;hCfiG~$SPiLTd}1qX5W z%cXQfe!nc}LutG-re)Vt7hBQYag~S@^XepC@9+KEd!5_JHnYc2hX|`My*LYorJLzL z+#h9>({wZY0_AZw7oPq>tn^DX74_N9NTh)l)8p`feQ+Cpk#}5DTEV(qUNi^Tx+ew? zfO`ZwqWoyX{Vt}pEuh68NAdJ`e|6b3gu`m4e%M zqb7EtUHwn9wCvc0yL!8F)ty_V^-Z~hvn$LOP;a>N4@aAsGq~eJdQ9j)XR`%f^Ld;>2#B9ctV@8|1NL;3IoSv zkfm}B4iQ5z7m5+uCjZK$Cj2{}3gFE^ebLofgk&$l`e(@Gp+=J9{c2jR-wozX&A>4=q5K__s6OW*_$(S?W}Cc5T+FbAa?i zI7S--LZF1*m+5c>MxyOQId1g6bttx=y=RX>Q3USU`2uS|1&wRyRr@e8nz4?YOq#hz zqq*K_5U~!rl4d)#y%TH8*A&$Az0CB@gF!UUjdxKFJi=t6UwjodzHRETo_31$mC?Ak zzIvZ3eGzlOqINfo8Ig1F`aQK|hoe>Dv9>@)YBb`^@Eb>qR2-C8Y93wpb7EO%g+&D3 z`uzTu?O8|gW(2D#Tc}>(W$ML4|m+BIRq=AHn3f`Z=w07=Q zm0KNC>Eln4J}Rae`ZOc7;*lFeS#}v66clVo@gIr45QnVBlUI{)5_iG4F2w1uJt^f& z)rcfwQ?W+yH<}ptVpP)Omb~k4QjTRsZm6f(6_*|Cvw~$rl5mFwcL;dca3b6i)>2*< z`k(u~W>O&~kS+C9L%`>3&}-|oN*ooO)HCcV^`0SUBtn{EneSm3S#SE8YG>hMA#0C! zDM?)86+5rP{8oWfT1Vz9>^i4psY$r@`(?_Yip0W3N-=Sl3$r;^+S=v!k6}Ngy$+M2 zvN?zmNg0uvR`PdNmFfpVOFTFL!3^IoNWyDU*#Y7Xfhm1ahD#akWmddKL92&mn@2G>TVI8DS*_RXi zj$K&=wJqGmpE}-hr6`;tqShkXqj?&F?p|iRzAlI*lpR7OgjY1>ng!>gviu{Xg>M{< z3}vZ8iAJt{%fgP>$Fltsnm(&{p$QGyX6A6md1fp44MrQ z=lxcQW3zxOSqC$i)|B)UEYC&fpowSznNGk4PD<1jQxsv~kJhl8A1WVQ#1OG&t#gPL z6iE}b$N!y}gl`A7OaClnjrPMs6wipUS#^w_8Q8eKQ)S5hr|d==hYRA(RIM@-55ow| zika|Ss9j|bK8|O0!Sv};j0&^h2!?DuFs`xJO;&7Br=FTovi{5g`Ipgo`;V&8L5Cl# z&+6_95c?&*Pf#?O%NH zPf9H*u4Gktbt%RkwDCOsU&mL-#4j*Rgy1#^T0BEVSpm@-tQDm?kMQ&4taCbi-j(V< zl+eF~#YKFM%aA=}93(2kGY6tV%2bU3#vlbBeUu)tY;yT z`&6yKl&Whwag}Kgz!FJ`ekiP!ocv`7$83p(Pql1J7fvxnY)i8Tc=h za0Qf%(rlx<8VXcDsI{jW988=gQLc(2=mkBLVt;d|Fp6q=657&)s;X0|lP481F?~3{ zCVgvZ>4GE1m>49Rg|JiU)y0M|tD#o=yJWBn<{|SHEaimtS7Arv{1cG!O~GNF@*P21 z2BDtu-}xz=(Z~m6N5ce+Md*RVTp>6jE?Gq%sUE3$`<4hJW|`3iLhN)+ICEa9fzC>iKa_;6@s0(jhuo_i39}?v zP%$;F7&j%bN~39&m&2|j1~+6scVfR2jN^CnDuX^IW9a5{985I9wp+)A*IRn(7YbO0 zU)iFEqrX3p`^N9(^Y85x#(}*GYyGMov#Amx_06DGN@ofkgO4v#c16dNa(Wa>ZQLS+ z5nJ_i)Luo20?2)Wt`X1$+Dgr*dpXQ=iez;1KZ@wyvcGzpUo`Mgp|p%A2ZMyf!WXMM zoo>EBZSoGniDWsHQ&2iMnq*Ur(lnS$#u5zcii93)3mu)8if^Wzy-cjLKCLelh6LDX zeEs@{J|^fPF?Jy^Vw_HO{;7T(wXva5i7u5)4EGr7Zj*d?@AuRFR#Qz`F9DqouvPU& zy|_hp{tN{n>1-6E>QBM%-;%Jev$G&(r0Y&)x_4mU>s|D0sg_>$j5yUIW{;dkR=!->Po2 zq;q$%xr&wo#M~>4Bs+=mA=Xp;M=H*cX)Y?|1wz?4LYFqs+(SZ1$zKQ)*gx$>;n>M;FL6;VLC_mB4t`9zc6Q=Skn9-VYZ_Uj zz0j&xARpz8MvkOmdHOx2UmIE}L1dgsT`k@u&MTbFY@=PkVm@xsz)=<`oJ<47i#^MkWO@!XU9S&MwfzAVw#M#z1fEX2W1T|I(!I*`_XGxWJzjd+P`GaN9gv>Ur=9!sBx2N>QXbUkp&DMMcd)^ zh>BtM7ts($DLX*i`yGvxNHEoA}S7_D@ckFL06Q@|=X3viZ|jjfFQja@lVD=OA+hKw&F z4OwPa09#FSGRY~wbEapq`)hS&*0d|99Y+5& zM!`ziY-Kkw=b^a;!+aCndkPLGIB2hbhx_TR)&4&lpPG)*b^jRqK2z$8+ryI zZ<&vX>PWvAFTI^4eXFydXpvs3(y*BvsPv5}cLB|9c8b2mhMHg@A=Ec!pZ!cZ&WgfH zHekdiLeoaHb4i_HxCB=gPf}HZ)tbH|V5(O`p4#(VLmu$^n|3m;Ug;AO^kbml#1<4Y zSDosz?9r(o;OFrBH|h{RruJ+Q7BPRPN?8WF|J{^+V8986JEE3yOlphWC3v-Saw4Vw zuNPp3&<&z6=}k+V9U+6FKD4h93}Xu8jH9ImS*UT6cDJ>^Vp*`C>|1a-m8hFX)1=zDKm7{s zd~4BR8E&2QZFfD-kB^FhHF}SwP-?Nt<75N)E!?Md^n7=7LO~@UU6d`1hdum;P3gYt`*t)GQPc5-cQqA0x4c zxtG$ui)00<{T%QxGxwdOvj|zpQ~kw5TK;KeD!^G@}A;<-l4m zL{pvU$-K#;6vsOmxTRJRM*6_@8=p+aF;?qS>~g<&yqV;RZs1PzBJ>k-hOxkQ?$AV^8@s3m@(@$R(kP`iqX zNWpon%`p`Y;QXF|n|=TXBEos+7%>>U?O`7T19`oIEO}@7Uf%!u2^iBEmqAW^HAE4RywIQ!$Ub#lf07dS9MWEM9{fUu?zST1Qjha+g ziT;Eaq-@mNS_{N}Yi-+m-vh>|5*tE`&5IZcPRKNcX{`n?4e zQF_?g3sHRP<^0e_oXJl-pBjF!n-Mk4rkW~eB4r!MOh78)Xwj8=I<1qaR;;jYXD+^` zbVp5M#;+h5mtP>dS#Z!9Dj0O5IeTg3TA>3DgbxAZ4bih{KLH;6+rX3YV_ByYJzem zHl<%gpRZB-2b*8XGv}kA(WR6`$i}=Cn5gopdqz)hF^{l6rPADw@6cRg8BITf8~zc# zQfcb)1PwJO>j1Bh4(l}pJvO!u21F3aIxk`hOWhpdTRc}ETfXJX49=s1nw!6{6`Bvs<7>k{y(rFq zo%rn!uT20)OmAv_K%;`(#RV0rq`3h~Gly{txfk)qO@mZlnE#fVMqs>$8$DxH%#{SC zZ|r$HI_56$JN7YW{ySd_kXCY@4iM|Ge|(Ee_q81soHV70>~Z_CJzX@w?2{>q)bKG3 zGWv-*z+JCwu&EE`{}t|UgNj)3ZT;9E|6EtqdOI1V4>2-ZXeokK(XnNHNA-*u8t_91 zFV?JtW(h6$YB-waK7z{(Wv)!IKMyLi>rZ*b`&~-A>tGVo`)kvUy?82z>T8qlF;`F7lqw`a;-j z?xA@ie`+UfE2G50UmrCj%3ehDJ%41|z_OT7D&?~5k3AcE9EtgOXR%9XN|=|87K1;U zBqGbMqQOA^N~2RhbS{e5MM*8j3M`!^K4#z&??Tz1D(6&D=^GBZ{(HvWXeli=Gh}?* zh{@MkJcqK8@QM&$*Rq$#j1EiB2Cr%)(z1jYSr4%%-QdeM`crYDW$1F-H~%4QxrR@I zZ(K?7b!7l?u#k6gih{AkbC_I}wXrEOXv>i%Um@w7c|xywb8jMJ_;1mN+SJ#jc4%qu zGEVmh`ME1;ROo{P4)Y?u*jOo+^s}7u_t+evuA)g+Q%H4`S1%MP*sJH}&b)KP0CKtF zYtSD07!E;?r!LH|;E3>T0m6}s{&>b$Q_K56%;tUg(;GPIflK!0cC|9J;PYlyTkssO zie3vesYcMtyf&kV&G^;MU2O0uHwLw>X5s(;CM@0uBCF-ncpO+@Rj%5})9sQi`$Uzs z{CyYjL?_~^I*O61T!T$x^#m=oBTBD1$`eutHOo+ob5;5yqc?PpnEUK?FyoLy!AONV z>*md(gJa*=lFwf}ojiTMKb=VvHLq#gv6cN+jnz)ndEOZ07I}TDqhc)Z%=RQ<+u~8% ze?2Z;V7Bx_J0xjBv!6Re4#9D(#k47*Y%FC&17DSst+)iPy83%N#O2EhxB0VZ?LN=BYC4s$Vq={ntYl{*>Hd56w?A$mQhAk4buEts&d~EWG#qZ>e}TqVdCLt_Eu8 z17B6me%Pvmsvj+i0WC))BKN5Bg!FVP3;qk)qoSq69^;5lHoNRdk&WnuYSR$RU&`6h zOD-s*uH#}FiX?=melH=EV>vR+tS#4V932!yx-#3M;M={*OPF_K$S^v+Oq?C2hc@wU zsmk0VDpUi1n#4c`Z5E5|lQ6N4?4BK-<1q&52%_@9HbNlTuc=v)3mZDTEGid#W^F0* z5e=$5b`c^c_y#VAQ!+ZEGu;vKbhYVE>1a!-;NKC0+KJDK_p}uiCEYcTTPh|$__iaa z5+{Bg3q16FHuK4p+Yt_i?b0^z-Mr|gyGlRb>zvSTNlO8M8=s=?dR8*b=1=v7N$usq zFKNHKFIfkmo!PhuuGE&i!2*Y^M=RgkZjB5$@DpgEm9IHOa(>wPo*WqVgAi*7*Y9 zrgf%eZzNpI#J`DbN6yuiLM5NeB6@kgYI?@wc(wTMt77`C6C3b$>DXQO&Aw#pnSKnH_mXD6JUO>*9mig28PzzqlM(>AtRuUg&JGyXB8otY@ zL$Oq}qAA!jTS&UyGsR=!n5i3f{)2Avsl-RckU#*Jwj+J}Z+rez{m76ypAl2uGwK>^ z{jJDL-@M#}r`W!BDD^#sMHeWc?a#+1l?X((|j9#*v5c_o&U|n3isNhCKh3`~CVfvHTj0X57(A zgfUIa5fgE8x>AU*Z??bJywpRLqWOlrUBVS3x0k@J7s4O(#92o>YETvT?cek<^z@_Rqq*NQOHE9qXJHrMPu^B%Nbp0&B`N%jbowgf-^2 zf17M;Xq%`cjw5JRpG}t3aiYxxrGHQ?P|8Zq-O1z%veLL$*X!vp6)sX_i@1=8l3vXx zQE82LFjFDaRC+OwWwSs$Ck9Q0k`Wds5o)wZ#<*F~C|O&fYk9~g&Y9JPq}oVT54Lex zolq0w7g8b&OU99NoW6?VvqnT#e4EVr5*ST(F|7~f1qAc6MJSDEQ$|Qxlxz!Ribygn1%zdvo;z+A zSSTDzkA3*JUCDW`ryw3mQuZMpwl9`5N5TCMogprWQii|0AW08{SCpOX2F>!3gHYE{5AMZ(;%O-0};i_g-${)QgMdgT23q2-s48GjSnD4Y||#=Js-(gXrD?dE!VZiD`Cnu zRwk>xUK*c6P#w(nm6#wcOR4AbM8u#M(f-!O+@m}l+)-DihK2D_MF%Ax+ARC9Xn%GT z;w`H`$yq1)tE|XKOPhhl<2a!9Jxjp#RmS797lPm}E_UVKvEj% zZa8#zOLsRaNXMZ&M7q0Mr5hxrI|W2QR0QMO-1}YraU91Pc+ckDPptJ@GoAf9GP)ju zrPZw)=-38C(bMiq|7FRP1{?KA-33WNU`gGR!e4%PLq|;& zHI-M)NK8J3{BtFQ+qUn1j%0J`u;w(gSm{`5HXXB2g^vqvVud4 z)WE?^y$BB*EwZVmV~p6cLNC2!eW#5?GD)s^IE@F}D4VTyjJzws#zbP)q%Yl|D_Ehv z!gkUO6+!m+ZJdvP(4W3N4x8j2y?1{d8dO{8;KgS+ZEG$4+YTYDU)wj|f>;jtxR{O} zwHvc=*6X$ghu$XNLf<@BN4GkcQ%pu-qvofoCC zX&yRnseBwon}47bGK}$J#rdr@U2*(t3CL_1f3XA%L}1wNF9yo<*|f$B3g?U$8ROQ+J7^I3&bSZ>Z! zysB<(3D}NxvCHLwb*|h-S0km$&8P2+s0ita;#$6ndg6{UqzgO_N>r&a`3z$5l+ajJ zavO9eVI|t?2WBKa3EFWhye~f~51Ns*;~+>3EJW!4Zx$dkrnK z#@66}L99t0|IAh%zV62b^P4)%dJQ4_8GqNgu_@_FHc=T^?)6Z<(&(LJrUl_ zTDdj?rM`3Qso9_62Pk?Kzast^BG!zIH?+u8l<``(JwwE_ES1XKbko2gw`Lv+d7AwB z7K?LJDVLQWo!Ky)zj5Y;h#sCmwGMd!*>8nIk9p{3kw}*w9zdVKjwu)EoFEACI|TV? ze45L_s3bGmLMfD*<@8*i2}g2Xpes=klgF2Nd-75v?3#oQjrfwI`w;{gP*(HHd_rHM zmicJDFSs-CiXS&LqMLgh!u>~DX&!mnHMM5QkII+2KAI1O%^C0UN$k$iwY8HVsb;S` zF3cL$$(NKUEW4fgxM(ml(za4L{r_{&lmjLY+(x*B$qTG8M1SEW@(dlgnbMvxbU@t7 zA3O)%kPLW2M@RGlg212y9TYwEt3c!AXMS&J8xaCdUIe>Fl_?_14Bc;SPwrhqx5D$5 zm3TZd#=MId++@V?+klWa;m&f10DsE(W2c{;@lR7_S6|k?WA0ukXl|u^@2W6ys@R=j12#W z1?F6yrrz)sHAUmRQ?Z6%Wz>9MLfxhHCYw8j3S^e!!H>RGV@GXdTW=#JNPT3?w=Fwl z3NMJJ1B`6Zubs#@5NHCjNxxHeeBL_6Z{b%C!w4_EKHe6gED3gWA@8*PagrUsW}tCY4v<^RO2hEMnl6-jy*C&YPxdVO2o;EJFG1M~cyH*Wp&HgAU7i0S z+k8BQj1fdRCNa$Mv+wV3g>;;P1Ms8Ncakv<7LSfwL6W=McSJ6 zFO>3z_WNyfdkCw(A(5jjK-+7(Cz>7MUCinc=Ziv)dB_>I=wJOR*s!cb`{~83e zp4`;Z3;2^Fz=B$LEXFSt#eU-@v{f$N)p8{Gv5{q;oee-BhC*?9^?ZMJK0|Q&@RwQ! z`@7|#IH(a0ifTWnGpkdUzlN2Y;?Z$h3z2e~@Vl+I zvjb~FlwXv6m>g`6eYd`WF{&x0A>MFl`K|8bt0h^M^7Te)Wpc(z@*QBuR13^^MAbGU zqbU@4v)9PSolcSQb#Y*ZBxt>zxTwidjc=PF^hzUw=V*_*)y8MXsvm{2(c8Jh4j-OZ zc204xc;)NuaqY)tnGYvAklzuvpB`KBP!Hq#y_>3AfKX;G=~M8rPPZCJ_&tqf7)3Rd z*tYPb#(V9Uy`r~dGL@(nQ;kGCi;*|K`kNaz&;e7)ZPC6;qqbl33`ZV%1A=nokVLP< zI8yw}nTz;1O?aws!yXMqWJNUBZSONt6yw8BfVo*Cm)EWwY22m%24X9EOiC{K>JIdT zNacjj<^r4l15e;!KW#=qXM|~SY_}DB^x|G&?WAvdKC$p!!0;6Bm~(m7aqizp;-sKz zJ77aG`SnY}9IIt}cQJN8dIk3BpcZl@9fW?GgM#JXurOkc3uD^B700tPf7UrQq=32* zER`A~EkW|As(M!@Tmk8{8;wU?Z<+pE zM)nu)45tdR2|I67P95bDxP0xkmWKuGT0`mMe5`>y)@?YsCC*}g>TJzxYJ{)Ez4Pg& zORO8~W$21};4i#w;afStxd>D*VJI^o{Lz5l9~rJM(zLhw%2(F{w= zl2Q@;Os$?rRZ>2PYW9n40xnJxedr)>)Ifl@={1>V4Nu^E4U3`l;(J%dE@`(;iBI#s z^g&6xtira6(_1Q^?=8vo6}99>hEkzOIv08EqJ3LIyOe9Ov_`L`){0gkePZpW{vrkB z>MCauB1&-$#L^ZvYjM=&=iusY8qF+5i2Q)E03V_i-2@N>8Tu95F?ibV`XR*Y`15Om`vTYkZhqd=Ac?Is6t2rvL@ou?&D& z{4r&i`S7-ada>-6FS5=})s9s9tCh=ZyUOr{y9(P}!xcwa2OE`Fl$=Y z1@w@@Vo>%ropmvmQt^?~Qf}C5@<~fo=)?$#VVfc8caR21pQrkfB`CKa1$b#7PLac; zO=))FGgS1hcAIXvGq%}o16TM8uzeyfqMI+#B1Pmhw2gcCbhm*53+LkPs~s$~K038R z$>93-PxL1>WnFzFTNz+&(X2+xdR{CSTUb6wyWQ8e=|q>CF+s4zqFDp;F;VQFe*LF4 z8_|!=o}buWl(qC>e5+C|d*Sb5UuaaxtWn1tT6yeR z2OFZjgKT(;>iw>ebf2C8AuS|M=wYr9v%`|&o?E3tFe})(lpqXc?5tGLg%{J+8Rw$* zGjNZ4DBn-q04v1_{Y*1Z^-+xxDY`B!gP$$6nS=g|hd{gofQY-JU`lHFdpmRR;yIMKCMXjcQ&LJZJNny3lRaW>?{UkcVPAQ$mltd1LGK4 zrX^~aay3ra&t{#>zdM$Qg(at~Y^vyex)%z1``Q61b0vcvkghPlIb1YZlQBZu1uWIX ztY;M(Z`XnAY1*A!I;O~UPULLhznD1wl89fitV$+)&oITmUq0a+TkNCZF&ufz)|kET z_iOiSxhKYW!-`9MUTw*A0m6tl*T+1S?ja@8nyQ9U6_w775xaU@f1Ill(R<^y4&&Kq zPy1OP*{I(Z(WT~_k|XRV*&V-h=+$7mxi59pi|EP^J$WnbbNrTKP=f8uB1%GCa<0AM z1kA5a-!Ybd!@VP(&_r2F^j6R}Q#&~^Guw0N z$sEeeWX_ASjVB`Jfx(4*Yf)Me5|5pNk!8Mkv7Zq+I%3bgy((3V;>sK|dSkjYQ($~N zD8WntaWmMB+L{7%y*ysKNswAjH#FEEhCD9GM!qzJG6-o`de$vp9^n)I& zU0bYEN7$NClo~M3dFpCCRB)`Y8Nzdk6NGJZ4Go9PO3k_1NVJPsy%S#dHY*@pbk%ho zPV2dl_)XV0u-RNaPnfey=XXvDTdwaQ_8RuVtr7?{_}E-l=Eh-EV?a_0vS{TY=rsX( zm+!c?;d5v`2e~_ft+84eU1*9dc_zKC{bvE63jEv8ChU!GdqO&$`WZ!FQRq``v0Kt= z1>!*i;iwVlc+ogmKm&WW(zpWzn^;a39_E@rgk#I$qtu1!fANsDV&wafyuMAzo&f`|8wxSl^sQpw#Y}t^+DHrTOtswEj zQI!;-=OnOSe=UdPs4(67xqT9y+me0jbFRE0)Z^1lG=7Wa1boaclCn+dv`djsh$lHX z`0kOS1#g@(oJ(S`Ja-;JQb!84u+n#IEXK6Qni_|7MYRMX%2KJ_l*~1KUn!w!y z)DR14nv9La9B^{>N8*{)a;^^3HDy(=fwOA|m~*_zg7Seof#{zs&YZ|;$uJ%Dv&AG; zUa;e^aiZG``BbAAtAKJWNTqbo$^GpxB8As5%J3s?qMy(L#av3<){^GZI&Ol%pFsh% zm>;Y@4Ok3(AKRUCQzxGJpoZ4k`HBppU4Ai^B?z?N&uGk2el`(A)RUXX)ns=_jJL%Y z6EB_OoDbjf8=(;PZ+th;Oc77&VYGRVKc>xGYQcdV`j6V_=Qm+z88&@6 zQqMx$OBId`yUpUfVx@^ygz~U;?Vn9c3ryt2Q=|wj47NcEm>D*)>6NlGi<(_MEmm>H zTjIHOd-fmt_mE2o--Q<5*pw9igNsb6P1IE(oWacxGqua>1!53>CyXX$S4>R z0X!jq;U-Lebt1Mi(3*ncJHIL7Ba4}&=Jwcx8L{m2kH)fmeE0%eN5{~ec7aDaHQAmB z7+jbp4{>0+ugl}kh@X3n4=$-7a`8Rx-P?;kX`1lsFv)w;YTVQ)*;Q69lGmpDLbn%* zG1WJ3bNrViIAAm~L91Ae7-L!Ay^CarMOP4fzp3CVWV;-vy3bE9YTlU)&kUohGcV25 zQJ%g>5b^5d`EARdrk3TKdaTTrkeKIf$I6Qi_wG0Ij+&Ahx#GoTkK%Zfm>>5-^@ruK zy5=O61=AEcydP>_vn<$akEhg2s7j(;A*z+l{T0s+b141C?)T>pOWFu7dsH40iBg!s zvSQB0GF0OcF$iWPX?SLNp8iq zV8O&TDj&9uRgY2Sn&dq}*jz@hyvTB_bRTbWio)Mpd#$#utOi@|Dbxy5{#N!g?Py!T zm;**yT(V?q&t3geKiG27hs%8Q^F6+Tlp9D3@=`kt88(UBqE|)liK;X6 z%bI3vj+#q>*F3M!LcD?KbTk|Cg4pCQ(WoWs&<6e2!`=>?>W2z~&kc@g0LW^!IUSEQ z?%rizbfJe(qs-3rXsBrHyMdoyXuiJJJ$#xF0rK}~0>j)WxGh6p9D;xRvRu0YG$A)Y zU{Bc-w*Bs<&Cy?85mfNbWne&2Xd}khu6}Z!(&mHAN~~u1l5l+q=su?{7bd)7weo{F zPW*U|a?%fqa9Qk3`n?cjeC9GjS>*gwsRLh*qOA}U@W)gcHD}d6qbcVY@Cs~E(#wlD zBjS|wC=u~Z`dFp?&Qtx{*<{$M0b68pkx2iTuc!8$A}}H2e4B$Jn7ofBcqw#zQw7g? zxIwHh@B3|`s$5N;Xj>7hz?UiTNyX1elP%Ij!}*4rjElQhGVdW>g1c=B%*zl}`p-9eIA z%F?ReBd6E}e@8UTI%xjUm<#Hop3fC;AQHE8fEIRE*E$=nR}?>|U4Zo8ZBMMMY}t0Y z2tJ_-8Kbl*oTf<;J$b0}Q@!3h zcUs6z#PgHrQlr}a%{wC=Cq1(XRYFYR@d?Jv3H~(g%MuCKm%IBC zy-fdIz&;--#!YAPqc3?SQZ9tHsvON(KFcma(ke73WuF}qg6)>+b_Z7x>#u&zi5~yW zwKHXo-eCK~##w|)@~_6quw3jPS&r|f9zoDF0XwQa=%!xZ4LzYH z2_dul4<(-g5%cG)pak=(rLra#YnhVDn-VvdKup$ieNq{G>ld77E(f%b@w;tAxysaP^H?6KP9?iQ2N3Xc&d!tpDf(FY%1y(KUEpj;$0nBI89F{n%=@gsH#qS?q zCI89hRaFUxZUEG)=7!R$pyPSBT35IpBRWZKQ9%oAn%9rX+%DHL770yyf~f0RLQ6&v z>eY>p;C=s(<+&ooEIrZe2trb?g^%TKW)dImPzIEnYfL3Z#mY)bnJH#i3@K04g~W!$ zAK2Lv=~WmgsT*)mOhd)~8b8>+Rr$ivpO1#|S#qm-5cNjq%p!5_pud-_5_PJg+kFIw zPORS@fnSZ1aqpM73d3Vg^jC1(NIk551XjBaJ`lzpj?L8{0q*?IWy0PW@EeB)G_Vk3jpq_o?1h6jv&vRp~GgG;SZ*dev)gu*P`yGr}TV<0;QbZ z{==_EYd5y!BH<&mTX~P9x|Z$$8p@t9e>*LW8H5KBd(BL1u|8OaVl;jXEUTM_6o$^* zf1#SIYyNAZ`fb^X{tr7_m{PLHOO8PGmUd%JtaT4VJeb33B6ul21Cv5fl@3!vtsg)X zPG@C#ER&Mk0GKM$0L}v-jBEi8$p=sr(fCaBeE5Cz?2Gjnaev~Y<|2|v<1uxY76BL_ zTYvv$cQ*rQl}Azl8ZIRx_O65-a7xEK3F&&ljl%W+C%W{_I8<>=IB9iI|3cmiN^4ON z?G5EUJhl@J;TuC_%O;ri!svzL%gzCLjXH_9R&&qL#GvgZtxf{kXMV+BCWcHh7)f$_ z1g<*$HdNR~n1l7>x8Z|!_{Z1YGlb}<2U?74TFK!{F*a=p1GI#OZeXuPp-uKCz669@f{!O>A0;qrHeSuya19TsExpG zfl}@fJaGNAW!<^<5ljUA5Y)7dV}QoDP7=IBPdKrMD0;}6~pv+hm|rHwL%pi z<_VG*NKK3`mF$!Dg;AL4&uqiyrGdTS@F~hsPKF49{KX+%cUMIf1zai~*Pi)>md>)F z9tObDIz4sfpw{rYa;6Q3`OHCMWKAfRLSurp*0`FSAZT2iv?T+cFnzo57%W@Sd_5%o zMQGTz!DQ?bTWg*U9g}R{iFddpv7p~@Z>&htEG#vl^>(1j;A0PlDlxU;qgdq&U za&_wSF&_ayd%96Bi?G^OYW~eA2Lcx4x%KIcE6T-KA|iSK%+P z#!2;S%d04JUz!`0+L{XxY^_91p2DI=A>VJs+>F9?IHW}zeS zvgE;5u_;!;G_s{IPcMgFLXklU7rp*o7)ezR-zz=~hAU9dEFAfC!tN2&{&3m(qz!V{ za{r}sCu=7;7IoD1?migY)jr451laf~fdKb0xAoZj2v@Q2BR@}g_Ps3w%2&bg8Pfqs zq7nRW(^Mg9TV$X^0$Cilfw$kC7Vdu#lsSi?? zyl2$(YM~M}E*e=olUaFgpxTbKL7(s=dic?^ME`bx^j_Eb4<4iIu} z>7J+Yq0OaCTHQ5333hMIOXy1y>%6|Ja07`3Rn@f-8UxXaJ0TuLhFE{eTT^w^k6Xz3t$GK4|51fJ6cL?kMkhkP` zoE8|@bdgx4R<3#X2Zs^6C)sM{XLJbCwNT>e-e=J})B)%lnBe!1P5XWx^rBo&^gLd4d$<#~b?0l3IM{ z+wOXdBAd=jOT)IO5kp#0iNt*qz}+;w17^t5%^@CdEZLhat1*;q+c;g*nk4FAn1hY$;0)vXqQ4+0qDla}JNmt!Pviv?E9h;#^6J9F2Y2>x^taL%Cy zVGmhxhy1<+n-f<5>Uk1Gu)|ddw`pJIf67zo@i;SRgF4L%eqD-?4-Xpb(C~!P(^?#h zK$rq?9F>e!P`G(CAjKk8&=^tZQ(2X?gR1wM+Fa}^Y%Ltw{4td>f~i2TaG=UWqm&o% zOG?pNTXjD$(?JH$Fg&AJvm)@{6VPb8N<%%A_WkcMX7zNY84R%8V9DCflYq&ld_Xy%8hp7WjpC6ypey# z=0yzy-qxMOVYdt}wxT_XKGIv=`PI+<#TC?-pN&Y66O^AXuQ(jZFmN!BmT{p%U|cNm zFHzE|4=3voKXdBW29`r;wMrEx@Ta4SmFk6+R6ZLk(TmA@nWG-zX9pn#mt49hK6b1; zH9PNO&zRp|kD9pDGbMe{cGG+-`n^2c0*hIg+agaq=mxMG=7PcU6mSSqCFE>DN2Z7- ze<}IvFr7E<5gTDGGD^UpKr3;*1NhiR%jl9{=3Qk zZ~=<5N3(z7-`h&fSNlXp5k?Vmoc`cVPl+vu65=v+84e{xqqn;qom!<69laWFr<*8; z^x^noEW{5*<7O-V|1&pWl;7ynO{Q>Clg1hwNPk*W<_RtLbHbzDib_AgcZk#a1ho9= zFbr;aK3L-PX{>hh3`V^Q5Ap#{Ign1VP z;+cV>kZ&IN_;mb=MfBQXFs794lp`G{h*oY=3nNJt`#eW>)Km>7Bz)e07}XXGD7YF_ zY(xhqAc^5ui$ZX<8DEq%>bwI4r5EJ`mJ+Q)BW5hK%>A1`E%^47mi9O<<*yv9o!f5M z*-Ew>q687Rx^~0C)%pdT*~h8(p3|*Hvq6ziWmQL3*L*J z)HD>P(wshEm`E9)FzJ>cl{y$2K5k@}sXr@xkbwQHPb-reP?tal7dX-Zco`;t!C>q? z2&P&A2%X>`YYt#HKJJ?jDr7)C6>`%}rQjid>{=RIXGM3TPJktX;Xa#lPiT|6gn=x& zjoRO9kl7|%mDVq|>|>rw15@(O|8A$j_RTg^yn2FA~N9CFJUr7+=b9XvOM#@k`C4Q0}}4dfF-`KDLP- zN(NnIlTxMnP(E3LRk*MVrK&|9@^t8y3`-ROAF@5lP7emYAWOa0)TH@J4zDrq?Y_7&PGy21RI=hFSSBF>0O6*bOsCeog(9nXM& zWDU0}YX~r2SBmdSuxMh))d21JQ7k`c_?{Q&KiC_(tU;Y2WPnKx>Wdhu-&S(Y0Ct_F z`mzK=q4@E=5{XIl$SD$!y`E8Jqy_a|BxGoY43l2O)kYoADSzc;~NVDyrg2`3+ImA|6al0F=K~etc-*>kdh0R6}T)vbhiDG?@ z1I9*5__C0px!*D{7Cdv-9&NT6gU8X8Vn3?p0e!CVu_3OtOL4q<=G_dqFlN5tT zq>v!0uMlKRc}@f!+Z~87JnUuzY%?&NBW`TlfyO#2FGarypCkNB&#xw(i@0Ofn&ljOqGuxO|+*%jz6FN|3RXx+2|hI83Cu>3EQ+eDd{MFXEQF1ragTOBr=Oap}7Rt9rawnkgR)#p~3%Xq9 ziv;=uY(93iGkHmg5(>B(OE0Z$zk_jlkaOU_EK}?Lxcm`?$Q$J=?vUf`GIY2}r2 zM^uP(6%y~71dh@RL#mvTXp>5-rWAcbU%F{09ye`Y5fRuBXs+~H!u9NCYNZ`s`aaK$ zps*zvGa=kEK>2=C;*W+hUyTyArzO9caXW8#F)>ZUW*pt?6t=#kf_34>_6C_T4$Csl zaqiI6bB^@TA!!2f*ds0e0??XqU%o>(&q9{*$c$2h^%&vr6f193o_^NTzS`_9IzkzH z|8OY={7R48#|9)*xAtZ9fK39EFi;PFyJAQRRRW#l6Y_VXfNy%El0p2w>JjWd^7=mA z>vxV#(!lPI)6(SV1QIIpLp%yzTaz$J)cYS_;?)#EE+F~&HpwPmXg~>*Y8Gu{nA%PW z((3l3`m0c3_VH+*(s|bN?#ckjY7uL6XY++O)J!nz#X&uZ?nj|tW6c*#UCSu*&^}1? z_v}M8CLUXPbx&w}Wa|0efiObb8r|P6_LO4;(YA*Dkn?-mTQ*SPZ3^7oj>ycU=-53e znp~;MjqFLPA^hn_RbM4uUB6Sk2s{oYu|?b*FqNc;?Wr5b=8qT~{NFZtUKtbU!fel_ z4U}h}%$FC%4$WY3!Wh@~V&B7@@u^pjew;M*98G4b>E~`IXD1-+Wkfbd= zu>u(jqhvuZiI0hMq+Y)#w{Pl00Mf_Eho4`inh+j)3)|bkvieV-5c7tTx(1m_;W2jn zM9#E?eO6L5(>q3r{Y1xwp65nIu>_M|0+LVRj;I$kUFmCH1Qdx-MRPe_?$7S3Om;r% zWoK|QN9e1=qyAIg4qv{R)RJ+@QbyXlRa9+E0gD`)LR}fZQiz`h{KL`Z0I8rQF)S>A zqX(9#1D7ZkvN~S#*&v$3`MEqyTlL&_O`|kE%6JYdoI%T2K|ytH2s7yu{SO&P8V%W_ zB#t-BkkJ!b$DrvJ7X(ci^qZykI4o9XGfwbHHA(ZT^#uW5UW|y$~AX)od>KsUj zzI$&Yos2F(qbY%^$%=`MjzcL z&@({Wf?D~s|3&4SC5+b3NH3gi){hOAQ+bJ7i~@Bf3twUf9Wcl`FGMuzAELV3*@2@ zZ;-Gd=~Wn%y4HH63$Ckr@_&~DhAX1JFCZoD@e3`nVAgBc8nz40z8_b_6NVBeh{dx~ zr*a;ANdw0uYq=*zB&IUHiHy8#c?{tP7*G1o&XT9$ho5nxYhc#5Ix}=6nI^Ip|ITY8 z!>^5t77!fUORRGVFrF53H?R zxaLGJ#mtGL;6kj|Hv8ovZBzH+cKh0tsR7k7I4`;o>)O$UY+(Kj&EB@oNXbUX`~E-Q zbaY}QBjj`ss_06HUdIhZXQ4Amh~IaF5V)rC$GjnCL1wlPj1@jg(MiLR6-nwUHZA{9 z)w|wN3FGa_T=WEY`-^6Jsq!_Y%qebJkCmQ+Egd~Qd-?4%R#`18u0h$~qH1J+E-OX! zs3vu+R(NXl$w}_+l{iTQ9q40o5XhYb&Y$F5&!PW zyvlM*ktd)=dc_HTCJA@cGwvgHX3+1iea$(wJKm=Ng8fjY3@slIK{T0!NE`!h-_h4A zbIS%lfkirIi2T~K75&(h{mDEEo;+(3uQ^!$FJ7}R?cT@u8CEIG$;iYuOTKZQV*0EO zK@!15Wg^4zE`Ktt3QXv-L3Vo^>HJdzBRKpY>vpX}I*P^a=mOp)1(ziwt!E+}>t~R0 zPWQT9kbc8)e_2)&_w(bt&{FebmKv4JGQ5bn0;G|?qBm@fi;hTt4E}uZ7Lt^xAdszB#KuU18rj*l;fn-64wV^7Pry`JIeFw=upWwyNK#YWX@+Hd zFr9FcBTd*!qo!OrTdud5f-WC*QB1`RliLIapdiwoaNObW2SvIsLNy39A~!?whG=4# zGW#jwW2x-+F}|%TT(PP+D-h4@*@-%)#TyQEiUt(Ve_IY>Vji_1*8N#i_GAfPs>qL| zlD>WcWW|hp36+pe6;(uGti*SG)9o5#NGlp#;g2}nhT(hpbV>aChs;;8uItoN!{}S| z!o2O^(3q4pQ~m!>z<^R+oA|>lDZ()5%I!p0{%{NIwypPlw5F3&bZjTL$kqP_ZX65q z6U2-GioSfxXDT$5WJ?hGu}j2yM7*ch=Qal|$}IjIO3OB&b66=Nyh?!{2VX+L4~OjT zUIsH&MzlufWI5?fo-UU`54EZH<1q>0*BSya0_&!!3&a2inKCLD(m_?z(~!*fi@$f% z+9L-&}L7q*9Hh$}iq!BumA@D16l6uX!jamKBPel6qte z`d|=PgbM!Ao9#p&79U3=OE&cSD%PU+tTJV zahu>XmQN`Wh~7GT2jLxG3)u zo$0n>)FjmJ=c*EeNC>=Zf-;`mu0GE!dZu{%?m5pp@2|LQ<9_ZGgMGBegRY)(@r1Os zQz(iGqYH|Z5xM_;Qzr12c|mtyySfuhGW*5KJ-#hJR8a2;(~59I2yH%r`*OGG$!kY$%}Np4O+igIbUzps zKRSq6?@MZDKd4@PBe3quO^t9l4JlWN_{?3NFX$rcM@8aYmX&dvSPT~u9FDGxI#A>q;*2tTb$ zfn5PCCv!pZwMs4Vg8y$Y*iFg$8$N&M^7Bh)gny~?Y;Taz*XXa4s)0bScSiCy;M?U* zrHq8Ud#x zTi{PM#W(TH4f^ob7SHZ@eG-Ql$dgZ<9y=6&2bUYPyIeY-H=B|uyjwTs5O*`-tR;S0 zv*2&|d9htAnC_j6f&Qr<>5qK#pgXP2w<3OM-7atDdp({Q?q$Xg^3@K?Mf<&dE08F8 z{w$$)wZFR+pwy$t4JdLqz0( zt^q1cY*;D0ywv^F+uUxd5+kp^E1J@r=u_k%x^UPKTNbbny*rIQ8Op7Q<=CaRoK61F zGjp)C6oF=w7VR=;)IK?E)PS)j@Wx?U*9mUM``)rZ#&^>~S^ltE-vNwRtfGQ+r{?M6U=+orFG#FGujE<)E(y&2m0^QF6i z3vPGaXVZWA$cO23_i6VRY9{ZNHUGGM$0y}5n5>dSv5!o>ai#zSt}tLn1>(H1?a8740^-_9F0LWwicErorpt0Ws`V4R7Fn&rI?~wm+>4vcAw7S0We;DqO5;2|23g1XreJYXunJa$P1uca?x`# z-d6IDY!irVvP{%L%)3xZK<%1{t;-XEusr|x@K%noYD|bO{Mho$URpBgFPB8*F@krA zJjPgY74~NW$1`FR8)T1)3_TY}>~Nw8>laH=j+P3J)zxH7HT1yl;@AhQ(z9DqH}=In zvMX(mkeBQI0T_E~p0*q>9YqER9uATBV;KMIcA}VKNcbujO$$JCK2UkaRKiF(3_=WS zQce8O@0SviCHAxOI8*PhXlfQ1DTYxh(&J%?kiA%IVuEJ^w5AEsc3mwCldVdo%5S;&%*}3 z#5V0~7?5H7$W`Qc_y1*Y!V!tnlhiN$jb_~iut7XF8?O&PmA??En0eDRDkMyBgt@i9 zcUtEdEq=j8pktNC4;$%Jm7{;hdmcvM+_xivTR~8!Pd}LK#TyVi7afPJcAO%OT=OiM zG)rU^-K9(*@1#YYTVoFlgY@;j+teHIEV4C!tu_8fUnluC7F{KZn|eLQq}REjnxD6@ z%r|M|f@I9Ni~b?Kxh-S9>8ti+L7gr)8 zUCBB4xva}KP6u%bJ3M-g*$FG0VsEzdmMI&hBFMtM>X>7Yxqb<|nm2Sj_U%YK3L!UX z@!V$h`p;lvKQ*BUBYt^9VwkziRtbi^`X@rjgfYJCri;bum+20vGg206N#Ay>aud@i z20Re3)NS_|WJeGNlF@#CPH)V6+&(89J;5>h9Ulq_Yi8WA28-y-RwrQn_7f(y3Zfo_ z%}ZbBr^*h1*a+HiP8#ysY*guS*aoRZR~{+x07FJBZ~VE(dUp`K4fo7gH7{sZ55kHa z7wl|G#*$XTlrtFbmbCvQR{;O8$Nhmb+z_5eZGGezSu;P8gfVPXnQLh4c^j=I|G7Cj ze>?ddErU&zyzD)iF9Gz=i|_DW=l^dtYm?R_QO~~G) z>#%8OJ7CmCGW~q1L@|2t{n>>s-FNZUr8$qiG$MeYW!oME`) zaYt3npP||{qfJqgqNjpn6&Y9o!iIlQ*{na|W2LH`t&#WkM4$d%^TFz!e7#pPZ-J2V zBC?b3KTj^^X>9QSW&ywmD*c~!c@zt2J83t>DZJ7P>c(Bl2UTPxs)fVG$dJU}YqMqI z6FDn5V`iN_MMYLggUJQi(8aRh^K1N?PWMSg5@0))d6NriP>PbXH69)tlBv1&LaAd$f!zBAXipJ27`X+m9C=jUin|_?{cl$Mjr=JvHf6gX~l*!Q_{ci8OSqA zHO&-CN!7g4*m=BZ$BpLu7m=<5n=;7z@LltLEsNCERg9Gx%jdr@<$JoZjS+A#QJ-U` zE1lGqNn5V)Ya>3@OB#A+w_4Ou<)wlFI*0kO%;qj6yqsno)z59PuBc`$AN4%_;dmCE z%yW}UxHqKnFL!qde2g!XQnrR;H>DnRsoZpbe$}O&zUp7(kM;m7Y}ABJo)Q0>U5B_f6+id*(zipK(doj24DH_XVg%#n6r0+m!yAn+z%^V0|WE{#c*#NeA70i$=qAm6cRn zI+LDc*4MGd?D@H;@009*^+O(Os1N}-aV=xp?iSsYzP538yK?_H_f5tU2?6KX=${0! zfU}5KyKHjdQX?d8@$IB>6)cZ8m0-#1z22C;A;tfF(5Ty~npwX1aZtsV(?(c9(7nj0 z8fK%(R?ABBQ3ct`$VI4`lMKd;6}inK6#qu&oi_YUlD;EEz`&s+3dEZuoMBPpAM2;J z?y4UlgHJs!B_B0Fl_%CxRE4f&kBwQTJIYBQqb=&Kr#8exr%dH*RmR=E=i;FWGoq=s z@LKVLkpHJRy6v==5;aEPT~r8!fCJNdOq2)>*@D0GS9a&PLA)10kq2Tux=%npMr1-k zSY&0IyX3^}`O32<+y5Pokd&qlBwq}t51qVd@GK|RntuM`vkZT#T6~oD@j0TWN5&K3 z90y2-e+Afaeg2QDvw*6y>)JIX-QC?GT}pRKNJ@8ih;%obM(LJLDV6S&mX>aiQaaA! z{l51<=RbQm9FD;Nw)=UWwdT6#yssO%xk%`dL7R^9Bc+33Yn~2=WK@j@Q+c93+Rqo_ zeP11_@>l-oP<4|!P<3@@4OMkEs10Kyy-Vq`_WY!=58pi$9U?ckkV;su6jU3QOf6PH zBd)Q=6DA<0z5Q27II9$2Tq=ymQaRgj5x@BsKK|S9Ay>8^YhuC1A!vMluw{$ZMp=GZ!|&< zD6YlWgxptEzLij6;86#o4a-LKZ~t*W6OB-9;Gq5C&vKBuM)AcHqKYp>Q{GTyiI*&o z=x^{+R0+g&t1(|^mb6V<6z~{k-+-Cxv*R}1nMt5X(Nsx{j=8!xQ1t#R?^0kgwcw!; zT)A4YVoVXcz%nFA_VS{;m@zTo2-V>S5=t6O!iC=vcc`bWJIfLBd`{#1s~^f(3JTIR z@oPs~iiwZX^9g#P2IYiQ!;VmP*zWAMs|O_I1n=aX5!EFzNkOykd&F9xF{Gy-3^9k; zhfxY7gtz>eQjCLZicY1u)PQ5C!II?Bcx2#9kBZC>ESSyVr` z-i$Z0DNfz`4Fcsn0jd!(*bF2%fe@MyN&yYZ8&}XhCqhVk6aWErAc;nM(3&9)`8zap zOswU9=E}{!z8F7rVKlAkQQr}u46LR63mQ`=xbe;jSz&l0d@+O@@B>t1D7qH~)dS+o zrB=#)cs(Y)!xW~3>ygr4D9zo~E)9(i~ zrfTY%`puHla58AIrSK9?^syNU1=^DOIG!<35-n`Me_26Tewb?t#l(6dY_0SV9#qi^ z@G(+0ft&=|Jw6!-=}kU{-=M%Xi1Hgco-CBjb?GOP2?BQtUKB=MoH;^0N$%b9ZtWIe zefE4b^8e6-#*bT~1u_&JiN8t$e+|e5S~6@q@69C-)lwsg8=U#iu5gZV6608+de&_9 z*)^q!4p?B~kEx2=i@`9=+d>_stamK7gMP+|3vg;$cLO0~Z&QCZMeaahOm`i6%|N_a zsQSrV=)c%`a+6i_ausXLKq;)T-m5!eiCX0km96uqu(>u3DT`vsljtYc#;&y{HkIPY z4Vq4%*B27Yi5*(3DHS2EiyUFgc$mIFWtN1d^va%e?ApsGZyVeLEn{bpT||tqJC@lD ztQX!zpiw{b{k>CNT$KSR+kvYv@m#0Y7&?gYuj2#kK16^S7jx==#5OZ&+4vH{!S`$Akpk>gev4(1b8gTZSY+7FoJ@pKKnAeFG6-0kx4exX3 zd6Tsc$#{@kV|8Z=&Oa@IKQ-2DeZ`nL8mZ0)EoCm2!qDQHlFnPIZutbGN#~YR_fe`i z?+emz4<)pCPR*ZPTzxwXC7p0xAcS{DPFht=rU2gYFNCqBI zVX%q(?$VezfdOwBWHUbA&UO6AetiY5u!x`>@^wV}F^{@7!Y$G{VezI0_% zH}x-*IhO!kYn(8-AKjwgh;7gtbsSW1KFYG5?iULxB@XY&WWch1?!lzeLCxMr%)*hH z!e=!MU9HP2XhM(WogEyw-EuAcRJh75p2xQs@mWio? znF2Zw=ZXya-WnTQg+_P0>qPl8BPThbNQ5E=L} zd``BqnBl$nh$7bXI(M8gXgIgYlsjV%+)DJR^olnNa35a9?m%TXo%T(mV|f(HD-^St zOJJkmm+|!x)wj;t8kL8ahePYuIx>yvf0|vQ>EdSS>kCyy0nI7YN$QB0&RVupdUb8q z<~vV;V*^X(Mh`TI7=BNP$4}ke>DDIQgV{95!f*b^5*@)d=yyT=blXj zU<~3OgvH+7UyLhSnuE4IfuR@GIWY>s%id$KT0C3@JT<=?2YYjGLrT8~Kdp1+^LSfD zWj*pg9a8XDrGQ-Q`VwT`T9-N-z-IImNF!{*HT_z02)hd)mkMtJ#hr}?=Z@4KxddV` z&tx(r*$w*op|f7>;Yv!o5oY*N2k{{6DMhTb@g!1de@6T)7-;$mMi^D|#<(n_i6ia6 z7@B%JU^ZFC#MLyh#6M0r?|m$^$s~U3B%$)pH!Vr6!C=vM_HeZtur-+2(gtim zCKyzL&ly~6d^yD2mZJ=!H$x(zEf3tiPv~qD7250ziO*3yB_e;Bbn{ob^lcjV-VQCd+E4y180&v|BIJhpc&wJMDq7K=P-<_$?} zE#SJJ*64@ya7)vfqoLE%jk&&`uQdVQC=yrF9Aal*QkPyVZGD$M zklxL*YzXcX5I0=&oKQ6ANO>l{qdWNKU2$N^dAr}8cf-}mDg{@X?3T35Kiy}pcah{j zTpD!LFt!B5q6B*W4&K0WB5@&ctA3Mr3q_%yAjRZ^4NE~LeW9ii9I>y8QbfnYn?bN` z6`3#CY5s~@^M!JcNgC;jbZxfKJ)|73cW-_vAu6#6cB5_gZHZ_JxOZpir>Xa z#oc|c+C%Al5GRr;L#jUBl(5M$s)!kNM9FMWAWk2=uUd}3j7Rt}z>GaYl>@wYllMe+ z5(=MoTkc_-3U&Yp=D;~4JY9n3Jr;PbLSvBu0e}>^O?O|{Jad~IFRdWv4J3f=OAJ(S zRr;)A2!O zE;m^GlhGKoEKn9i+4nVsBHOWHgI^`E%v924u{fDq>i^gr(b7}lmm?0ZiA3+Kj-lX2y_uQZ z)`8=tWDu5CCVKlPtSKsjp%-l7aW`BJMHl69K&Ug9qWt&5OhWyV>?lo&4UJ+JZ@UfXFK1{RhCw;J9$1Llu2MhT>8M491Gq2n?il$0+VTfaHOrIu#p-KYH;Ci zb+npvbVNI1mD@oS=j!Slte>SB`%rRJrj)2QN)ex+;XN24n@aB)#55DM646BAO;rV7p8nIQj z@sq`3l1G*xU-;T>7_b~GRIM2e~Jf{HvBo_qC~M^urxETN2?*b{uHHM z6%}@hn_6{_`0OSxwy6M$dMmh6ld5yGc8;{aG<)!fup2cls0(d+?Znaz!Jdm1%k=j1 ze-EzFp(zoMv~P;cDkXvUEv1$<>Rp{V3ZwJ~#RlJ2TiVi(Z2-fm_}!#Vmcs zs`k#vQz@}s$hww9b2tL$TbcKPt0n{gA#>$sxm@Q|X0%|zhraqs>5=mk2;@?G4tf=8${c2bG zVC*8#sdRG`w!-m^oQ<7^LtJuXC*cD9;03V&T|s8y7Xc5>C)vnW>hPkK{Ge#;oqVw= z4P3(^rh4(WYDGUL@XLl3)DS}wQL#C2W0HZ?T0x{c9Jexx_D8=7Xp;ZFPN`f96odw_ z2oB%F+Tduu8+S=TGqe;ypAbNKFHpwM$RWbNOd{b%2vIbnm}y10YcZk~Pwm6G>5O@* zQ|B0rQ{WupFTLF#S@`4+13Urs_DqrKjOAz^oCetu`+;KU)JnZLups1;b(+fDV~%$w zpO>>#TAk9jMGvoZmCTbVDJJ$?bp__f@ap0M&8+7(7~#L`rk0XatE5&UD5zwuA*FaY zbc@|CP`%Xyb?yMrHxNQ@t%HV4B+=wU@_ootpC43ImVY%OI6HG73zne6hy znYd7hy|+pW35dd4Q0R{>GoRlU;{UuY^P(cx!7$Q-&{y3qV%V}`@IjW1b&w4Z&%&w+ zfz5JpZB%p-kK;j*r@ATho^q)w5X|Gm3dFVv_13+`n78X?ohwyWj7XrXB%45eLbtnt*m66T$>E;6PpMoGj{Ff9 zp+P&*X-2$maPL&D;$5oyMtjabZ&C?x+y18>tt+4wPK5ONY_M5S=&R>&F8E~>Ru7X5+3`edO)jhXX!e_Y z2d3j3tZM)Lci4Qm;1Yc$O3Z+_l2r)+2DAYTHPXyaFkcT~{ z-Zv`ED~Dym!!x@gyF@gG9(=k}Gqd}TLfiV^(h**&y-fp)3>w*E!t+y2Z%=1-O6YmC z5Vnnxy*wprc^@UUly8l(LDq}ie&m$s(COXQtSwA&H?MQnMR7N=L);JZ9sOTv-Jw^c z>=tk-tV{%&sEmf*88+BrA&A^Q^=Eg&O#9gSvBPce z=3Noe=-p1+^J4O-LO4{^PutB!saL;w4lq@tAx1YKk?KRR;sAHwYN*@CF# zBuV&U%5uY)L_||9sxD4e31^<^iR+Py%bcxx{mO2@m2JZ|Ht8z8QY1*Ks4>GAHbJ^( z{3@fwLMk!@G1RSnT$GE{47+9j||??V+xCxu(nO+&w& zd%>8_X_3)B$VhWIbF|NQMz!@H$@<@0Nv0w}5CTt<#ylYY6E)8lnW~a|=9ADV&3E`Q ztj`f87D{6Gc?w!vd2w01nkPT1(xH9_QCUOspee1Rr^dyz!iL?QnN;w3@KPg$Jq2NG z*e^DAWDD@Zx)P2-KaKWlb#XMMdeqzgODp2-#Q(J zDtia<PxTp=aaoME6+zX_M=t%A~YKid#6GfH!46~v-%SIpu`$loint(v?O8k!FpzMP(L@;Fp4T#S(miYSp-{W(q#j7pKU{O=-Dr;fF7eZHo7 zu~9U6QGa>b~h(>4%vMrQdS zsN6#wYMu<5-Z+c3u|<*SZoQ(PMrSZg*(4>5ObOv$Cmwmk&XV zMT<%mtg*h%5TMJpcDqm(sOiMB80I z>e9>h!{!r~uv)f9#wIwHgtDY*gDn+?JG*u-Sd^^a@V(X)Db~7oS<8NCrws7qI=#W^-QXn9(|3(pb@ypQY23>IO>%D<8gv zyu%Is|EgYkFwryea!LT5Y5^KTBd<9cZ}?K zG+Xz9dtovT$}l}`#!%WeH*A{!FK>tSdN&w#kwDey+;x(8mooRimt8+OFVYi22JA+A zamu9jr{PfZhVnsr=VMV2Zt8qUk^du7Nw>1654%X&+rI32n`HQ@mQk8hIwaQZYb1)C z1C=7-o?-}mwRh*{91gEOW{aam<04{wk~-ERwL#*ifUZA{lu#K5s^w~ZRT3+$?>&?f zwGtH***MIG8-81R-Ut;*gU&2igTbH>k%+Irf6pon2uL4DJ^H;e6JN!3M}!JN7GwE# zT~Z*&mgEs72lb^wmfxtm)+>j1oDZprN4v*VwHBaO2KzaPC1TPnqPN+|a9H$Ts;hG! zXg?k>Epm9Mz8EvC3#EkGp(9DkR?AXNcBi(iVdOGlo5CymDrebxTp2;K@eV`X(3TQ4 zt)2R<)feh9ZB}V4H4II$)iE%eB?EU(UHA`ViRf4cW&j!q2SL5-+?&+IdQCv%MKRQI z^zUiXH1dxrTC9ja74V@r6_G*{$?8Xhco2>$!gf>@?X2XJaZTZ1yr2~r6ZR*Ws_1`6 zB(ATk^HIMm`Z;vCz#=33yS&t8*Rz$eZyEjyO4@K6@AmSru*BJfVoW8_bYU{wC+TSW4ZMjmXD2Ng<`vj`!~~CI9|f$c%5-WJet$ zIwEXwl=_9YoY>s9?Vdm*>T$fbJkToZ`o1u;WH?Z9xFJZJW?+soBH?McX#8e3UxzF8 zLtae~R^YcUrnspux7{@%i(V6K3ROAN26JY(H?`-r`Np4mD)gdw8_Qltqn=(`I8%Oi z0Za-fRj7B-ARF0bjCYQd$2!5q_gCwOXD%~IZQ4*Q5jW88+kiv~jytsf^Qn?a4wHDC zw>kS@cDqRJD5#z+!J@8b$qq;E<6)xYBn)HaCcL#|nUFv6fR5n0!%Q4gV|E>KXU_~N ze{=EvniZ;tKCvv{pZMq0<{KsFPXl6R&y=CIZ5C|1oAaXox**@4&vkREk z@a`#;8=+BqJj@=#_EF?6MfiN*Q5CHbW_d@_p*meV$cT`kcoUI;p|kQaxe zC}75I4#a=dbO2UqJ;$$fi{bYpa~+Q!&sXq&wx1rk&w{TyU3jQ1L=*+jXn(W03k@W0 z6ng)ZPoY#S@bPsIs^DW*G|H%Lut6`246EK08ypGu0^y+?WaJsJq)M`?@g&N|{!|DK z>o~5QWN6WdqC9a1j>89*gpInU%i_~K&Ti|aEkO!cb|0xV^N}J77KgY$E0KuU^2(_f zG?v)TnI-fyMmSg=?hOZ7x z^+;v^>`#{%g&DRT^lzN;{?su8U6}Cy=TOI$hL1guOs*2s0L$byQZd({_D+3~Rfv1&wsBO+iyn$o${XdQ52btH zF>2DOMQ7m9s!`y^43XNPctqitxRSWN-j3OBn>V_PoxFC~b76MX53W+5L3Kz}yUG2W zg&q$iHBD=}E~;c+XGv$|9Il|s0T3;d*yIKJoUhJ}beUW4YZL+e>Tz(THk z*v;l&vga;htN#A`nhCRE5L(pGY1FjBG;v@^qyF-ywmDIl89#lN*#<-!e zvBv+NhPl#Sp6jP#vSnvhVCx7De&X26Y;i#irY_mDiw|TpdKp5z&gE7ui>SjhMuq!= z*vbuGOJ7MroKAC*aIQc#qo;`NK1G5~eE}YegD@9U8acTWh6RE0C-i#IyNtiA9@6xC z(lVMb%#$7p%IFQTYhpVa092Lm9juoWk1K!WrAdieGArUL;pVLM-0+7PR=>4)ieg^%33BWu%*_$jB zw&;(ii0|;bMnSCV1lD=*k;kbO$}CXuUYLQtJ@BywoNmLl$6?BzQb8NN8_d1_X=)37 zUaY7MM@X8Lx3ISb9vE0a^e@#Q$><;QPOI zJUyIj|Hjv|4-$uYBsT!WEV1;wWpF4w+ZuoUrs>V3vkg!pKfcOumQ+pD^c`* z9pf4u%E|6JH0XU3uruERX4f;)PyXVwN-kt^AeM+`BkQA~w+)CTy#?eyFOXRn1EVwa zj7|j|M0_L^dqgfKLR`P+Z2|0XYH(EU^MG1-0Y$3O3**6~<5D=q_MrC09(`VJ&#p+R@%^rdas zrGmTTm*!4|(Zj)fo!Mk@H4Gt(DQPu15vM6!c-j2lXW$qb|8gxDkO(BX-g5;V;s8J& zO_Z&D3zmXcg@l)zT6zwDpJ9*9PG7h2Kad{Eq8NFtzYq^K@r|JiIEyjz-Qmtnv^YHi z7&xzGmjS9XDo6`yq<)SsOg~k$5?uehDZzI!4&G-7>SRyH&6tx!62&BUJv?Lh6>wrF zCN6*$^o$ApySP7NfXda)ob2!QL(uDQ8>dUbd>d#yo=$a&7ypc}>8c&_k_H|NfpZF< zBhGVNL#<$GiR6T@J>3QJk~`LX)q4jSn+LU6a!Y;l{h{) zxk1v1Q6cv&X7O!LK?qx1H&%WZnO^(KUJoA2j{~BQXS35P0jK#9?f1p(>(W=vht!|Mr4 z{QeYDNN1jDlLUMKrhaqx$(!BWc&z$c+x1Eq)n2m+IG#tq#O}^L0qsQ$Nv8VI_<(ye zcS@Ng!UaGq{%V!w5{|kh2WriLt`0(c{|%hn&H>mDq?_inSf@z6$&oGq{}6EbC08>( z3s5l(&a7}IB-|6d;c`{reCUGOVv9nkBF9Cy+)yB|ikkBxs}o)3-KUjZNJ30#1hEUx9DG}|PAb!0U%~I{PdI#8tU5FH8cNcUYOA($<3Sw$E z4JS*4Xx<2&Nttg4!WfExdIZgp63h6H0IoX}mzI}2xyOuJiw~gU6z;lg<=N_5f}L$J zFTX1n>~nosq&>j{YV7h`&;~JM`6{RI>fZ{yNNRE(=BXmq2tNt9P)|vIKWQQ%UjTLM z*;KOK@n-SEU=PM78w#=|evQ!!@mO=@^;qm{afAK3=Wyi|* z7*!)k-wIHj6ZWLww-9#k*T9&WIS*(KG@o&@KYr|xXJG=vhnas%kEp^(qg3~wT-mA^ zozcVCwCjbBEnay|bYqp{TMmYosZ}5*O%TL{sk$c|G2#>9{f-$C!p_Jev7WOsrQ2e~ z^Cj&)b{6;D>dr+Lk6h~+NR%ayiZ|+qgKiDk9D&}d?f3&8-H`&o8(8<@_H_v3ck$(> z8D0kU&Gp4;V~wA(dB7Shp3(4)TA_q=}vU4TNRU4!)Hi2ROUC2K>GYJ!Y-z z>C>Wf{1C^6UcEBia_+^Fz3+Isdg8EMvHvnA#mW050n<|s3U?j*r}3wIjPSG7hu`lx zb9w{ubGc^%RbM(Y%gD-$+ zLPI1DgVq^I9Q~oIB?wxS4^GnJ5BFuw9^xNvPc&S&6ldS(n^57*jCh*dI&cE9NoQg+=sAKtJ)Ym%yigL50kR z72Th-`ubAZIbc3tCLQOE0Q3pGs*vJS8x-ywZZB+94vvZd)=hm)_8D(tb1?7I&i$(I zjiOP1Py{>8_n%IYIetB64E(g!1;nX0sz|sj>b>%*C$naYDGJN(Wl?4n%*gZ#1UJe* z;ib=b5Ew5=sJY>XRTBH1`BS}8s2xW;tz!xlbhD^EOqCbmN>zn9%_Hgut?m6)j$fy_ z+cadaVd|2Yen79|kfl7@Z@G@OCcv3SM?fVEBtKbdW_Mg;|CYEN*)eg=8r-p`V`&2Y z*F#xGM&Lhs0O9N7Z->={ZzAPSxDGns@0%wPq%DK!6fo-(vvh4srVEATWGt6w>3M$^ zAJ8kXnxGldVE7_|vU61+)>19|6}0#ZuDk1sh&o~BZn?jpW+4a{J2+ngyi(CA7M&hY z9dpMPoDG~k7oIz7K9+(t(@@xSs&MwzOKadj7&B2ZiRKdFj+dez;+MO?I z6DR#Z2jLh<_GAK8%W7{?EEuMNrrCO~Vc_2eDvS&6W&u_w;bt8mFi_J3P6|ws_A@gO zemB*)c|5Rqy!&+};*Qn+)F}(Y+ugfIW|3&v{rwJ7)BLqXFrB1^9d&0{uwAdleBiXCyAlfuF z3O;+n{&7NW8jC=GNl}^z*GXxDDDmsn7pJqr5Egd(-VqwP6nSxagBm zdqU6mvBG!}Z@}Pt*pn6I5{lA3Y<@iKIDIAY1NZLX=)_NjcE`T{tUtJ`_t+}e2ZA@6 ztrF$2@a{eGf3#A=E0?b8_)c-*F%D$Lb4e_?YF-dR;72BeW%A>bYYQITm<9p z6ApCg*w#5XzGQOFi4iMP|bzJ4Aykk-u6B?SQOuM}q4m^RE{0 z3BskMvi@QN*XGs~_bfV`X~03F2MSxpUKhG}@SS3*&+G*OI8L%J~f6$vG1z69bzMH?SQh(dI@ACst+%~*91 z`wB=@Tl4VOo1bz1LH9oZBPvpj#~aq*3>5Z+tGi}mk?Sw9kr{G*xx$AFPQk=f{PG02 zr}eg8oHlY}3qMaLM|LGRbHd2Q7J`B&J`XXxYkr<4UI-h*5Qq%V19b@HC208te7A+9P5WRPH=kk1otu)B!clCW$nt1O^ z?gML*5fBXe&H}SCI`FC)-W+{q_uE(8V!9K?F;oTPU*YrpZ`5dRfQ*15i+;|v$9N>} zqKb*>6-q0BF1Uqh7Cl^6lI05Ou8;5o!u_!7LLJwA>@tj>(+E#~#WFDul9bQI zaQFcJr>l~}8kE+ByYqc+z~hZTQljVAqxz9rl|;;5ss~V6>8489!qz}Yp3X2xrE_2H zeBuTl-lmEGbo|p9;Md!5TEacLOe-@4Y_piYpeUkDWWb(7Hw*_{K}7T%WxfSCu5j6ZHm@6nGYDc6;jTuEG3awTRcc*%)A%B1$tOxRPFu^50{vbU=Ay25`9k zmXUe?pV1o3P65mitD+yA_^I4l-;iR%VxeSSz^^|Sc+Crzna>z+LR}MmlL+~1EuxWS zkd6Yz)Ly_d6H=NK#no&lW~HJ)Hb^{ZMLN-FrCzrEQU8k={)*6Y6Jrk$S)*D*g#3Sf z*fml0+l=Fnme1SBz9i_lmPXAz<$oS<>ub>%9qf!mMAHGKIY$tk3h=^ z{Jr=?my z^L;)Ey3sdzgVodni&Ty+%0i$Qjv94w@*V0LS}?2+CRt=JQGf2B$Qm~)Zr2wz5^SYw z#L##h0t5F+0ApJR;?7-ZA>PY=d05^nJ&*6%svfLRo+4x9YM47f3xY4~3L;V&e=&=IQL=H%5%wq zzg2nNBSMpEfPs;l)^TE1jtlt!Ap!>%s57z3H~J!To#tN zI2;l)jQsNHH_++EF6h_axJ9ZyJ9yaYXQj{BYUlsXIj3T1WE6Sk|7Rm)ov10L@)q{d@ZFVM)1Q zjOH865mNnft_bt}X(Y9Wf|${Kfq@F_r^&NMUP%{?X$iRC8Cp$u=dh+ekK@|O%=xC4N?NpV8MVwCFw%}Yzkiao*^UBb#5_92@O%)^^L~9zDK}0KGJc)3itbp2Z9*}!l%GiUO=nJP#OrT`k-?}IW9>LndHmH9 zuB~)x$8AN&yYHS=WVj0hgPuxy?KZ_;ZG8ZYU9pbgIbrDkIDyEULGF4`RlODx`tJf01fve$jg@o4rY_TjUQ5=W9Lrr9uedPaWNP7&sPq@=IW zQ9ESj)T_y<`#r;-E&?9oolbyy;Y6{vl<0dlOOCs%=Mz(M)nrl?ZXwNcm(uQK6i)V$ zPaR)W{^>gYNr#bAi?J^JnJY*#WM5OeGJBZ?3Xq6#pw3hgnx{ezs0j||YMPNM70&BF zwkgHQoL}aQF%z`&hrD|n3Akaugj#spdB84u_eIpsjnN7gZ!uK3eY?K!&Ep39V*%Ex ziK1g_nWw_iS#)#h{6&TShZ+Cc_dV^}J&Ra(iGPupE{nc|*_Sj_+2Sm5_g&^nKhVKQcX?Vm#G8g!UY~oo&vYf7{dCzm+5GGwdOjrD23^&t0dGKFezVo;mXj z>`xVKQu86|jAWi8F+d0m_S}@r&rwg=eN-mnlH^JsmguANFEh4*GAi z7%_PYKc2-m=f)KJg7dfk&4^JG*^sS#$HP*G10CuT8nNyI3Md-x(g#Sd2wA4^6xSEI zmPR}L$L2`t*ffdJHb{F$r8Z0P;}hhiThd3N^YSvQi3-KKjtGgS)%S;u76X%ScNT5A zepZBOvSox&(h+Ks+#Zy1Hp;v$Nj=#o)2xqrUEWfL6ge%W7SAbbc$ZKZo>=Xu*J#OG zjQ3{-T)wc4w@MIK(7BfdVr2OL~egOtShzQ`2_W2N0|ncE>1f79H;#TrjS%MoL@>pr9V zK2vw|0b|cC-PW4kVT6DS{(y^q{`N_cyQ=C8n}M5WAJd70>2o1b!Fg%>ryJ|Fy+6?U zZpyXWh9N=6IK~ya8Xr+>%`#n`@4z8+;arb*01{?DlA_3fzZj(H_PC|;SadvNOU)i| zGg6^!;gnXC4i zcs@(!6xT~#DK74iJ5MT762$Mu`* zAZ((l?U#AxTzn+`7iDwV6HindJBM5h-LJ#Lq;Jmpe*OWwQzP2r%89?Wa)xxACDA>Q zX}xd620clZ8tp}ys0~rU}*xbMoq;csird#+mP#1IJ39pKFYD2#b((2Zm-ey_bY)&W|^{dL7RqF3^LOd?530 z_E5{N*CIr=e2FKmdrUiR>1q!`W0<#1owd|iS2wP}`D*#+NR#|oqmcabM!jSg%$+L% z+XxeSEZuiN;!yd)?3*qpT~n3x;!CT$9L-^f(79aZ&XfO%&(p5YFEc$*2?LZjx)0=j z1*k&f54*xoH+{NBd)`g53%|}!f3>aN{%jsDR#)JiC>PcGTqnCQ{CWJt4>!Y`VeK~_ z-)=E`a_0EbH9!A4`|*CB#)59K`RUhEg;Rg_yw`wjJLf1WFS>N9VC?1xkILHqzs9~> zgS=b-wz;!5j+f!B+0Y3mZw()i8ppM*VP2qs)W|$(%Oih0NLgHH3?HQN+k=(x0IE^O zkw^1nB4XhVuG?mV~;3Tqb@e z>*eEHOmy(!v7m5VqDuEuwfDgBX*R(_e!bxb&Xd2qR?5g!SAc@mag*8c;b!~eQeAOX zy1%|)J9XgVLY{06F)RX zeQze3c-xm+Z{XQ)H#?7i*ZV7Nff;do3gc&trkKb@`nb?6iM9#I3_jC0Xb3&ny2bqUn9*u~1XR{Nvl@!A0&0UkbOb=TB~l>iC1n3#KKC%5ohv z)2U<<3l0BBae?0RUJ3}6xS3nz}C9)e~&4(IcC zgDeZtNWM4ZN|$V(2rs*Xpv_ruMU*2Ts77nOY~W-g)7xi^E#M_CcC!@Id?g2wAeu-) z-?sg*8n0GGxRL@XE!?Lr-2OwDF}1E#D){jQA}JI{Cv_oIATx%jeL&Y$n$c1XL8ByO zZy3Gi!W#d~lLye>AnEpBc*c5oOQ^!#-2{nw0~6SL9B zx0T%L%%;!rQO8iT1g5IS1I3r(-ezWI7P`C{dpKs zYD4eoHL4JKZ_H@a0`r`6mEnsz+Nv)~fD7Q6y zA$Qc8rjf!QTV`9e0}kL)zAjNh%1h`}gEed+_~ z`P~l${28#Vf4L8CAPrih&4$Y zt2Xh9Uq$N-z=kbP>nuuz#-l69E+x7pPA1YQm#PW#_rby-K%s)s8K}HyvTMz`c+ds- zrQM3&)XPi>{&m%zJ`X))@zFqQ#T0>rAHvu??_x>iEHH;*-&8>& z$gjcBkHAt~u&k&PQb>%EhCw`uFA&`*?Fp$(7ZT`pEE8#K4zc|{Sq{71n-zSisArx9 z%y3$&*FaSA20f!(00jqsp6h})uTPsSuD^hiuzRGC{BLRhLDY6Vy2bILAOU|spV8~^ z%J$QOY^6AjOdnZ+WQT?NVn6pvFZYcohNcj|0u(*Iw6|>5t9^?huJYS`)J;*u(;zaF zf)M=Nm=(QPZYAa@T(vlA<40YI1U<>nil3caZPc($?zwzWlEA zH}8YU1aGu@Lc9Pqy8F^Qch>No&O&kpqW^+$LE>W=&2UXzR|uXH6h-iNOPRD0r=+>^z-!q3Y9oG4lK<^A`u1fO2qwAtGAh^ zf1T58=A>5+>a3@$rPaqviM86z(}UCRc_T}lSvpih_?=A4^Kn}0HWXy9_l_TlKSFuN zu2g%af)n#!Sc>aTP+J z*LvU+*?KjWeC*`)aJV}04zJkn>A~pfFhG;jklS07<;Bt<1z6BXNF0Wq+sRhYkE>X5 zf3)bB3g!Iongf;;Y&tGL&5q&XaiWc8D{RRUCR}|oA%S)|LnE|Sy9iaS-qt8P`Zui2MFV;dZnj}S$kBWIYdM?4> zSc6IjY|Xqz;roTO+^R@pH{t2J!zM7ylw7efIkF;v-;LlkA$#YzHh(C z23jU(E7VUgyI?zVp3nXh>NcGjy|qV{;SaXw-L=Q^NLC3gTia2%32d1C&Rc9r{AfpzPkIJ{7+4c>s+tt zLS8B+L@P>&Uwi6E+kW#tp>LZePw ze?BAaM2g#x`hC&RokYdxlWjJTMYYUxaXz1%M2l1MorI50V2oYEs}dd}RVY?_<((v` zp}3z%NQXsPFQ_hGhF3;WT-b@8@fkz#+)!1U5ekZ^lmz_HPG2fjmT&QUmVN3LbQUVc zg$6Tdx5PpGD3;4NQqd*)BSJGzHkx0~m4nM4xMiYfo4i8%1P;$c>AGW8L%a9T%X9IE zg^D1$?Br#914o#J)%~gzPH`J zZ@)_{%gDzU8W?6bGC6h=?YdTeD8Q2^M8p(MU>Rfht6X~MHdDNQ3@f4Ihf_^ri&eL za?RqDZ!>Bz&m#R>1cCpy5KLT%7&~!92Ch6FY-W%RX*rWy0*Oie5pCNnGvqc^u;4@q zNvE-i*(fo^D>Y7jdiH!~y}psHRq}B@Mk98lNDJK&0q?a!o^0-(O;26VTOEWlXY(iF)?JfX(H}|TYfypE_(UKE2`UZm z;`>@@iqc=Q%KrS%2R&kB+lhiR8oy0w^tFkJNOvpJEGgaHjdaH%ostp? z(kUIn64EV=2nf;wq9B5RfWCJH{lDkYFPFV>X3o@aX3jA$Dbk;h;FdhXn~_Z&EA=wR z!3B|-r)U6AGjHR4!|txI=gX8tcz=zT-t5Dv$g?2K&({0O$%J4=>;w)C{crNkwjG+N zMSjYvyyVLsYc1i9oXEWfFAGnURJgqRn>M(d=zX+*vM1_DsE|lkR8x%c>U4z*7+5z& z4HHlT-;NmOZTS~YI+bmvF4{JRF51krJITLO0MRKceD zOD<#DVp}$!ANx;BuJg#D{Uw+_SsgV7&JVy9?1}L=c*>AdE|ylZX`CUSSMB)BO#GpW zeVNC6SrNm?C{c#CeDsQnxFSR+W- zBqc7a8wrGsKyg7J4r&v0o`O$rl=%2Y@)Nvb$v$y%8i;KL@J4Yb4KF>yAF#5%mgB?j z*<&dlB|nrd3d!y>s>x^A{;WU^{nD85!}eW(tv72?XT^FH3LLo@ohsqksD9IJU8)=d}yJadUi_;}U5 zS7hShkY=twe)V=wje1*y{BIn+M!H9(yInB*MKf0u zxvGreEECwY#r-J8HgUzJCRW#-ZV+0=ksKkVw4b3iNc91vDK-=;<6U zbo-uZbOlFNUv34Xmq5voBwi|?z5$vq1buUfb^Yk{b8cISrWkUhGPm0YAh)Y$>R)ob zyy`t6`ssmd#6Ga|zyr4-Dqlp&ZWk&L5M+K4rxbS81{I^nC;U;N(Yig)eW&gH*4!b5 zqzwuJNgO!P<_dH^#s!i6r1TBk_w17!doEK01SX^`cD_fpG>KYH&lu!N2^^1|bq;ZQhJi^u7Y=4|Gt<6h?w0VLYts^|AFlK)Uw?Wldd*AMR2tb*XluyO> z%MlnUB3?zn)>F)gBY|cV+fs&uxtOWdg zyhN*E4x>aF9qXj7r;enjVe{xzr$o}fyji8DS?o0I2Q>53wfEG;p`Ko|>efmarzd-@ zZu0(u@4H-7c5{{TNF^govWil>jvX`zv>4RFaeGb zFz`kMlfu-r4JIg}D~BP$?0S}`Jv>9Ng2y10T#`Jax)X)8ubchoz^($&L1JNrDrbSI z`4N`jLJYTRB@Q>lVYCmu`!vVZ>K#~+hw6u@jfTk)C9*C*KZzguC!$vAR*TVawA=s1 z0xl04zeFQ`006pd4@nWFSZ2T}&W|LnPfkBCkQ%*0wv5ckWx%RN1tHzo2+#$2>mZ$U zp}T^q>C79z3~w%XVZ4?;?O~~@d?vG_u7eh~9s9t9VWF_%vs} zuq5Vg^08n&kouGpNX(FMr7jr$094E3Jvf40*Li<_r}|t70TIr30z06!cnr$miF*MF z&u5gtRvnLt6OZc_Ykyx&{tg1_SjE3Ms9gdb8f1NG1?v5P`zjb-f8a*^}lv`YZTGFs6NQ=CxskePgad`n0L=OVBx#rCY z9<|;lc)((u4F2jV?EL-+*u-lWjoYuMG4GV4eFc8r_VQ9xa6joake9WSxHPz2M?l#~ z7?2~NnD`vv%4EFhNnzR}F^BEZ3@i}tEt&a|q#$VIAFJrCh-_!x)K0@v7Km)&ruSA9 zh(-$-ryff?x6=yjZ};)6>ns=8cFgW&@DHFb z3D|Dzk@)FcWxH(TvhF2Ip3kQ}+y7&jge0G|?Bj;^0#oKIo9Q8WnMy?{Z6#@PnC*rZZTr zHS!RU{v*3Q12Roc0wu)Eh*bC}A7r`3rBQ77v+0?b({cUN-~-Ob{$o-YRN7y~ce1Pw zo>M74iAd18vc4IiKOq4MsBa(J?klj~8( zrun5z1Fa@PIkuB|;&I)G>Lx_85-4VAk{%pPq(mHqbp{}12ynT|;T62zW{iYA(|M_B z1ou9$ir)YSDBpXqeuvwCL^%#MOpzt)B{J%b0|^?(SJ7rA|7o1DpIV-1$;{Q=q?Cx% zSR3rqS5%yQOTG%3 zwW5UB5XTd)_ds_S;shwG`YaY3>bNu@X(N6O)QSTowJs91`t^t&jnroW{@JcxjVJG^nEGwBp|vy8L6|+sLJ9ql~<9HG5Sy%?fYV* zE9sAsRanB;QF>W93*OKKQt~g86}5Xa*pPvC^C}wa7XpRw?Xu9HWy>S)YD_KxbMyhI z>;e*{AK!%jM${Mp0s2y+W7CHG={%bgRQojqDE|lS{;fX)OOKK6!>Dm*+40;YAWW3m zo)yt9Yhz14&>0G+sMWNBJaP>GS)LJN9TGdN(X?$mtA?3ZjL}iaGJ^giqKlTz*r_0~ zYaq!ZW!kw>Z}daj9Z2LeDSxd4pu$nJ^l+l~YP2>8pk?r3;Kz2S1+L3e;By{+X_}3z zOA&N>ceP*ps}h-(>Q5m3BR*LUm!RYx;4Z9FKuS1h9!` zz+0&Ub_>3I`5{7lSEt*u(Pr!!0P0p6+{&V)tOpHu;Qeq4t{MOHE3pxI)x{;F8S?a) zb)npmc~Y-(u)JmFPspYzq{+`tvj~((;nMZl^~^~7=e=zr;%^?59J)2ei@L%@BsgdW z2;d$VwDchWYG(2Hj8yC-;yfc+z8urq0i(yr{C+v{cqz|;?eLi^5z{w;?1cX2qjb8d z;v(Oo6a2U9Y-rrD-hSTz>@p^KX9_J1-P&w}_kllw81iOVqIz;^cE0uyQDDyFU=?TH z&VM@u`-ogMYRj^gUOl@+{-7lMutFufFb%^L$B0@ldM3q?$Ufa}A4>RngVT5y|5UxG zkn8hP5lh|Lgh;@(MY(ZpVc_9+8Ty8rNEFaViA7#wD>a(@)wsba!xgHpb)<<+o+JxC z>DCf7c)eO9GYx58)Df&N63&*H$1Y`5f|k3j%FM|m{`k7s=-A+6VOxU2t_$i0-MB!s zczhL>x@xL{(leNw!VxD=e~jDM|Nb23F6xV4Pmu9;XXzIycWpiaYTmOAd&A#ZP0uIR z%f1X|5ka463;i;{e+=|wD9!2(IWNPjuQ;kB@nzlqdp2dvrn)E55CLtEHHoITSSO~> z`!oYo&Y^w5?fVZk3BEKH&MVJwwC>{>Dpt62_)mZB^_sKjs|NiS(Sbz61`9}JHd%HB zNMRbe9>-{X^4cwhnWtT170!yY#x~#m@U|_Pso-a}ZU!gr?)EPVHs$2S6Kk~u>bbF1 zG!X7H5OcP2q-xXI{@STTO`b$s%O?JgoHaJDG%BC-I<+^Yo5g5RU&YSF4R4C@>UjIr zbd2}sg{r)7^LPG2sK6t3o}d{e$N;pouH7S%r_ue%7*<# z?EhkY$q=B7?B4UKv_mpQ$8=TdRDp2qoi)CoY?*rU^6`3?&n+*o<8|3l5pxC1gVvu9 z{SJB}vI8@Y9tM2<x|MWNWbL*QpGFt;V%5#5vRK=RzQ*h%~=FHt7$K&`YIlEkmk6gqPp0Bfis8j&>;mhqjE;d zJ56p+-BCd)x~eN!K*pUzw|0;E2Nwqw5Z3=0=D*0E?gIO!(brRtrfs8QQb<+A4yF`P zVUfPtNNmO!h;Y$$gk&#l?mlhcuQQT5HED7%dtN`jyT{!7=+mbdh9vb7S)Em>C;un4 zQgpiP2`4zu;}p>aOAZA&jD8W}nOx#6C!xF+lRr?r^DICR8G10d&4@&q)SWg|9W@$PTP8Rj)ftCChMC!Iw@1I~7N?pWn47R6|7g3dIHI+XMDW3Hq zqG1R{X>OZ$qYMT4MsIpFBYg$CR#-b?UMImg1 zA256KnO9rcsTc<)Vo$9{)E+I0(HTD#aJcYr5DOlLOf*>iU-(D@z7O9}(@Q};IqO1~ z!6IlFpPW1~_rN1=)|X9gsix$Xr#XTX zU&Ou@XE0It10r)n{uBaEemcVpDIC)EEH*v<;mqZ!J&zOmS`C@w;d8c^e%VF=7}d@z z3(j;xpTXS1?>Nb-X?QW3T7ZP!+9WY#Vmz$y_n#XUNoIHA49Z} zQYwEig>7+ur1??jW~#|$w%X&+WV>Jn3iU+bnzw$$cnS6RA=j1Xu<+vl(AOJc;# zx;yAh0zC=@aG63};v!U3GnF^hgBQw$sK36JC*&;Hbjw|LZdHmdBy#=O6%52Tm98Td zUMC`Q+W=zU0l2h>K)F2*r4Yn(oELFoFS7XrP`CUR5nBM!89U+)Fn<|%x^4YC6f3vX zfRWyQg(WF{rk3pS$yRyM!G2Lk?WBmyT8(UpB3SQt1)dArse7rf_na@cjIEobxRHkt z-Nisb!{d)#D@o|ShpQ%6Ca+yrfU4fWoou^G*9V9Vi9ZIPZBn0!pmlT9<&xh(vOAev zlNtsLclp1Som-R5+9bW0obl?V7#Wup)TAfm2qbSdznpfCui)3+gO?+T{`6}MV%M#y z`>o=ZF`Z(<%?Aw#+XQMO5Fv}&{Vz=j4;^S~tk9uH921|}vBd=JfjTR3)hFS+0zU=f z5hUI!;Ed={px6g!rM>?YNO1s-wVjw=i@*k%64$d5o!@g0wTpH$m*r7ZU8D=3e&;G@p`(;{ z$9en$iIx+wXn>%g$zxjy0TzSm#;1B0QpoHf^oe~r+0J+ya#p7m1QkBVOWOQpwmn?b zAD^~LH{0k065nU!yk`Ndo-@~#AH#{1`nnF3^!45D08?KAb)LE_buX)DG=l0v<3+G9 z*S`YIScu>n*a#tLjPrHJCe>jbgW|Gg=<&VK2CJbYAbB$#vfAXJCAbarKluY~%IqKy zM9j$Ew3w7B+CYH#HgnA3h2u3Rh-1AquEShkzF-pJ{&U^CbMnWCqfN>^z&&bbSk03O zU5t2&V;YN{P76KJkV5#BJ!S}dF_DNX&>8+^`SqK9om$PJShgRJy-UFC`tNHIz0tpa zJpTQzG@(Y+aXSGJa3k-&kd~*Th`_WQh?5-D0+&t~%zgu1N3}V}oxJLDK-C*QNKsZw z`!M)0j<|WD=fMWSQ@=5z)k4s2^n8_Gtx5Zj9t@g(%NzU|d`^L(Zy6$xgl?)z7wkg8 zV9~N#(4RVF&2NW=LpL)1h$wawSZB*W9_;2%ud$Q}^l_;ug>C*=e*Ai~6FB=*pR?$L zen=OvYUA;Q5>?5GMS$FHE3j(@qLMjyR4Wfr*@I}JSOVe<;jV8u&qK3q=PPx9Fd)=0 z=ob*G+J6rkhd+4PCDk?afWVj3*iA}c@pac} zHKJNmce)N`7(gV>?x^`aS+O5T0_1H2K$glf9w|-tdjLm#14n{~0o4!euZ{iIBlQ!k z=oTAn#(+R@o~IQkhyYT9ZNMQHf_a&Ae>^D;o>aQG>L068vz=A%(S|>FKlRjBXsW63 zdNtuAw43*Z^96am*&&(1rPJ zQhwAwfbSN@19067%fV4#TLeojO}-$2hR0j?B>aJnqG&1~ee(2rAhEg8hbR&t?c9~K z*#P?D{03q?#*i>hjtPxHl@PH)Opb<7KxsKjAlglRisl~z^Fj(5&8Xrg^V(e`eXH%gW{2Zi*Zrz?m+vce zst$5L>`yx}>qI7n@lYv}_qYQfP}lG4!_d!09|I2RhYY>@;wW_2SWNF4VL||)1zX5v z>Ew0jA$rU2 z0tJx(cYSfF%ecA1-+{Wzi_FlA%uL`R2=E;kQ~bRHBIoA3xXCYrzG2FQI^bVkJy&Fb zZVZS3EARuN6Ki0GOm~yzVftZwGtGhN^Qg3vB>)+HhqVlx?1eaGAowz_b71_XrEQ!` zPX@c*2H%bU-aXYr)t+Unn#uc$-l{GJQ~XJu>8cmAReNI!QPQ#(m7=Iz$r@lw>ZAt| zP4PgDh$+zMKR}dmYev#^gyUk_PCoqFl=!vz@zk1qpcmT4ZeO+gF(m>o%=P8PaY=B`7lib8dNtAh; zF<4+9&7nGL;ew0Xi3veN?4JQNzJ&m*%>|Gb;Dq6V+IA#KMBWcEP*AH9<9Zy6(7uSj4|XVLvw(m$C;;4d6T5!hJAL*C)0 zaT>BMrD`Xzv7l%6xft>>bR!n5Y?=u{nlK1=Jgj`O2YW1GAwbPOG<}jZXlU6ROYjJMaAuG)_ z$-igklQwyEyrp{gNRxZQklGNh#oh|NOF!z>1z*RI*8!}|v;5%X+BLmv>DI>pNTsjv za+UIHxAQk-$p+pdOl$_RS0y!b?K2v-61yVUa@=NJrPv6c>(AhkJ-`VO_ulJqWlG{3y+ibQC;Vk|cWGqu6QImy^5T=Pe=}z!Ut^sbjS;JUn z?H;q_+RaZuVBq-RKD%|nBq1tNMGNpTsV|>0&6;5S&7WaX3;_=1)*a$w11LL?+{ag) zn6-DGy+QM71s4YWjlDqFcTTW)Y_m*|_@Ewt^C6(9M=c_6(M#SBiy|7Z$b0~>6T zom&98cA3M9i&2b!Uty;ph&!$`GSn@YB=@|E4}&`i*i;?&=B?dVVW%Qdc<(mx!%s!5 zA^A5~LFTxugOgF>ZhTgse}TJE_jn0uMU`Y8Hbf3ufE)MFR}2EVA^#o$Df*7PQ*7n! zLr1EpHvL_lvL!vg0aE;dQ~2XGu9o)gBVln=Ri6yDy>{c-I3V$@$C0p$8p6NN0Ih`y zw{b8cE+_a`|99Cu9C0}yVgotRitHbIL3b9PJ%bJMVn}Y1f&MW}5_6}LgE6a$&tjqy z5uo1;K9o+&T}(k-9<6_LghBRXi8%&&z3Rw@V*D%rd)qE5$tFlE-+dhSFP}g>ck}hY zR4Urp-2ZNu)Wh#bDg`(z|L=of21vkLfJ;gLmMQ2?w_{N}mM$d~FNO{xyu29>-Lk|y zXcSPN{~pIDOA&4T0W*=|UT-Yhl*sWv&Vn?7q&SbB&D1VI9I!QK!hf&p*H2_nV~GwM zPa!QBthdK-$k!2*{QHXCFzHR6j)Hvh=RaIfiis$qdB+KUAyXIk=pdkxn{g83x2;ji zM;}^TQ;>Mn^Vtdm^HysDp%4DZ`6Ch)Po#LzKlUJm4wR4bkE&7F0=S@<|2{|xB@qRL z^^XmOM`Q+LwT0$_tk9sgZYmnx?7niT4# zYL!I&%kXie!L6JeUKAvx95jXhUqD7LqbnQ`Vi))JgZ4udN#wtr z|2|It#vpvcGAXRtbiyidmjd?h@jG`FD3#60z#y`}%M9j^GBZd9lxYd@vMrp_QEp-V zgB@yM@Oso@91w)V&Rgc+)jY)2ImA`Z|GVl6gChaU=l`xegu!{y_pw2$`L0C&C_9d= zE)23q_AdIT)59^=ff6xNb>YhYeuSoO1_IIjWiO92eisr*pV_N@srr`supVS@EASjC z2(s2+{si-{n(gkP#f8~O+KG}9+?ae2m^k7w2a-1m3?JJgs$UDNk5yU4W; z8{D_t=V8eQLbmQJDMO@)(6EIUtwIRY5i!6Rh(bD^T3N1F;#HJbx6?D{LCgYnF-SEu z{i!LPEoSY{k3lk^eRRO9L005yFl^f3`}=gyKTqFKZ=d@i!C!*<&u9RIKv~@SOz`*i zMl=LV>g+j8+&nouHU1Ml5Xckn@55veOaaBmPK2x=(D>Ui&Kh63O2I(d^_LU|VMjP1 z(C&mAw|fIEZvEh2$sb2WOeh&pGRlAXegV)D1ab)b_nR$r#57KNJQhT5*8)*#<}(NN%S+?di<;h*bW z!Qj^J>z={jMR&^x?CzryoGFxKA(E^@R+2r;w4rkI)iqyTgEQuTzxkeI4vyd*e1YO% zl?}>98OOQm2G@_TA4=$l-}tK`yz0Ww7=Ztj@e2>*7ovLz3kRN}t}OqcQ6s&zNIYfc zhNBIr`-8`*6c|~Q4fc@H6$D(37#uV_=`R4raMj7;^ zzG(f61po_Xoj;uR?|s;Kc^Q+Um>)qpf9`YrcON9ISuT@CU09OR9%BA*xO0i+hV?Li zq(3wNF83~$?N&qWAZNqF?6y5|dxc?msP3?~u#W~dE6abK^LVVNR8QPF9DH;DU@({c z_lj;_{QxUbWN#GpKeNoemxL(C|1-Cq@pPLzb2yS12#N(Ph}`O3^L$!2s|zFt6igNh z|CFDP-0AI4@&;rY1KG*~W!4b4g7VW0-1S$5&laP8_S$~^vO?<;3NW^S2v~$A8lV= zKHn7#=z%fJS3$hY3-?vg*2o5KmA@qD)wk?SsVd53p^f~{lfsyH$z~752y(l5vHq$j zfRx98)&fLU{~fK0c`WrptO6)01><%x-s!(`52K%~3@RBIvF&L#o2(7h8Sut~paNS6T^Ci;l zM^vswc@gw16^78dz(kTotpR-eV7jLu`_^B`m-S(fyRXdZ-z%K&>IZ8=^5byImZ{W{ z+#JTfeKm49rGFSaB?9-Y$duAXIvcs|1A|O{-!6>xDUlt}EfKKxTC9C}(|p&duyP~{ZAv%Z0BCdCWY0N-VkrN{nSt3Ptv$Od zBfu&XYBy@0#NmY_S>QY$xyNlYNpr%|$+8T9Gz}ep<%Wz*{->LYeWRrCleXuN%ri@x zUGBRXSsK@54thvUFgWyp>VGrL)&k?LWiRYZ#DEyP7*of7WE()ZZ^@`qi zH1sJPO;s75qh;|Zv1nUYg<|&`{oH-fy+L3( z<>lyK+a7i{%!P48qA#rfRAw9&E~1^|qhEknM<842E&_@<9Nu`5-50*zR(njX@g=VI z<&?Z6wXtxY%>tq5R^xbIotM*e(l=hy4o1S0esd3{9^=<2g+k9nWlXHKCZ;~Bvm<-z zz^6oGP;N|J7FvuHet79!{&cL^QNW%PNxp*cuSF#j<48eRZ;2#|)JMmQ>8khrm8~_!u{$0H#bx>K}KQWrD0vR-)zT zD2T@m>u@uOk-VL;&u-B}zHZ_FMH#*-we_L~bmn>ZS*DqKTQX1Y>TaH%Lh_)cNUXdq)I zp?c#$T0xLOT)!TfUTMT!Cbu7L({$Dg8hXuOvL{<_QH87|A4PEouSx^;Hr~gakz3Md z#8)ZsNP6%+@w?6HPo%>XH17s9K5H2=vt*}SOr(a^Xu3BH@*Vn7qnbro1UKwB4})s} zek+d7%I?F7m)zbcaKKJ04Y4>lyh4xkbB(Seh!RVYReXm^9B@o|<3GYMM##u!24m=I zzh&3T^I_(Ztcf?MKG}wqBPlgh_h;jbAZIVGzL731I_M5$A1&-WlcgSAZ@AUYfUiq5 zmw2a9N0{UgxNUzM_5vwp*c9cy^-}K3lSaOTCk5sBXzLZ5ck+{w4)wGKzA71Xzh6;}+0D)1E zq06l&>s|L%9_ihRI=`l{O3l>gMF!5H4h2ecd4*3T90ps-q8@MS$=Zh(87`Bm%B#0U z*JyDC8&7XtuY7)W;Vp2Whmx&I&GS{y1?pdIgc|WUhWwcJ@v!n^j;!>i zxw-XxcVI5hBzLml!&AYH?^wnP^S&R+6W>^tT~M#^mbHUe-y7(7U#}A7-YDQhoXDIW z5j+*Q#ud$WEdKoY>5pBzwZH2-A^E|lXgII*47g8AnAT+&uxUHlM@TLwc*776k2!mR zu1Q+NoNswrPRa1B49;t9!eF*&-G^&(u?%efIWqa6uW$8RD4DABp!*TM8ZBvW%|Tn< z=aUI^RyT^Fdkr*644h{&K0KrFj?&W;WpVRc0k1mjI5igeGb_(YHDBd!hO>iU) z8JoL;d=K)NQYGhDU`@PlFvYBL$XT8cKa>?>r1&lv5pr(Z9M97xo+cP>8^dRUdq#U} z9lJf`L@J}UWHmr!pG%V7a zJeO*0CgbdcfmLpaGcIbGYuQtb<<6oMl>ei4VQpx1WN0#Z zHvCs3+U^RoI{Fd!pAbqfW&j8gMCZ@RSf0&VZZ4H<(yz*u0a8=dl1k57-AoW>4m8D`7a zluyeNC^ReCkK;YcYiBRzZ;wg*`S)sp~y&)rk@b6)0f?=TlFA zCO!%g#Zk-Ho7eKl?%TX)(skNFanGZ-F5Lq75G^0$XE&sf!`L4@8VQOyqFzML)qOja zXYzI)Oq7{7456u7%$}$xzS?SZ%HLEZ7pu#upY4_DPopcep5vaDy~E_g zu*PMY6?t`I&&<2QR~hAtYb|{qy26!m`^`82O7Wl~Z%xPIy~hA1gBVLNdl;eq#rKTC zhHQOKA$7rG>j%_3CrCKiD16bfw=&B?0z|aSaLO)A#>dglRh~XC(+0$`2dV9-Vl+xV z-t|Xk_W}o_uHL;;ntYXwiZLwm5Y2=IcV!a#cBC@Ay$H;cS%6_81_!&HQT4Ij&we#qJ)i;S{MG$_2=$*2KP($<~0N{aujC? zWNv2Bv@G&#KWxQbDh>&>l^&I^`+LWI z-_t|LQ{>Wxq%)4e%wAr79ONhL+E}vJ3WfBz`=4MT#)T#xw&&Kk8TyfTI7(Q*F|Zls zgH0tO#|!+j;yC9u=2JhhJKj3|;yha-L=2QO%JG?;STcYj2!f-hNhwpV_nuy5`J$=2vlq;3EW4L3U6Kl58d&1z}Z){vt zH^mSSBfs%LiqZGw`%G~41R8D52^Xzr8^7tISlXN`RWhEfEHKu9+@opNH=fhCy%0(Wl*}`-a5S zJhAmYSTvqsnHwo?lsy(q`~5jzHq8M3YLVAF{jZ^f5dmR-R6C?bVA&*-`6aeP(POBL zOv3}{)|Us3RC<%D{TOeudg}@o*<}0sdfKtJwQ{gSJDoCZjH9es6GJQ|9YfCF5J^KL z3pRkK%HJ+#*aSErdN%u{R5_^zVnc2NpUeSfch4(~+C33ahnncY`P(3-m+ z(*v-uE5>_V#OlX;e6-2fsI8#60=E#;?qD}GVG&)%e=d=U+raj_op(RRjC{HUcL-gw z5L{(z6e(18L2geUk}VV4iyHNaD_iEBm!Yx%ZV4k_G*7zBw{npiAPsh~l^6b&er(vF zMkI#12xozS#`aTvQIAUJ+mj=BwDZ0i7m519(FHLpl~;Su8zDJ1&+->qdOv-%bzg3? z#E6hKx+m2e99Rp19upb^TqyeXbdA-=iykM73E6(=Bc)**CDxd^kJ>^ zxd$P2$k5lC#)vDwD-~r|2ujSlJ?aU8k^zG*rD~&a%C)$a*cYGaWKOS*1FM(@Fr|M4 znaryGq6=zLP6bQSj5l3Pkqwt;0ulBz2B1$H5nl5FPG$m$Y-4#pO@`#ifw9`WgYI7H z5?W4wf}5zvr{XPz2-9hAI3GWk~yI)R59;)d+54ONWM;fBd@nu;h&5_$&Ko$qEHH%r{ph%U%0}*$l z7X>07Vow7{%bbc$T?A5U3ZfWX#;a-wh8w^0q}BLJ?yad?iyAg~xG6;|?AVVlBv*T+ zju9|fS6t}QzD`UM&@NH9iO;(WUVqwWO&&%6UhY)xRxjw}86hQde6di^0rj0EM?c$M z#<}aCgF8q>Lv``+u5G@Pb(OFUov{BW`Y!o2TLc1_Ai3_ypxIe zhD7eg&ZNK9&7B61PMQ>&-UQG;oPmw`HBW|LX9XH=wFA=-|M zjp68G^n2bMls~)McL^#PuE4D%+xukS(od~FXnmOVs`)O>Zu>qmt8O(#dxu5%2d5{C zVh@x(fkIwjsGnmW?GG5XMz?;+fgyd|rvE+^yq_R;FKyCPltvK|~ao_m5;D%1zc;0}UL^Ow!)80ktlM_1G z2PYSyZ#+q!+=^Ym&mF268l}P@bT%o9Is3ZLLWy1GBm$I4#E>U8J_pK07>ViQNUA9m z>5mTmp+<1UqZOjz#d1(oZPBUb zR7AE}ogs+xjJ zF>E`x`hEZ4#HPWD;8Te~V>W4(;m>WTyk#}G`Bu!fFJ8CGZ?=M$;)~N_WQ)nIPbX($ zTEIM1clNF37`d#1-WD0?+2Cg0Eb4qpl$S5)X^kQiMns5GDgl&zFl0w+34f0wb=|i& zx+_gug}-cxWk|ZHpmKNmcOz>au~S3a8ZmJGG(1RyxbrFhMfjDg9HD_S7fu9LMq@{5 z5~HJJ(1(?n^Kwx&m3FcqgM7&98K-9qMA16Q<7ezNc(%ch^JdQ7s49fVq0K~nNFl79npRv;h%6tK7r7s!#&ta%vqZNn7oBWmrnkh$sJNXSM_-xTtw7>V zufJIOkT_DKd!}qZvyx#L5;;!i6ul?($4QjL!0!TjA1ORk{te2K?G-}M81se{r-Dgh0UU+QONgiK6-H7SO~qd z#h%1lrlT8*?%jv^^`nQE#{J{;37a(K82$r9Y&arvj_)l|LGoeo;Ec(VslR;Q0sBt~(&89E@AWfO_)w)Gld19Wt*1YpbnNj;Yan+pZVpXcnK~ExCf5vu?Q#YLPYoWz; z1~F`X?rIGxd=)v?Kn}(46hmp`QU{o`8lPo8RJzDW%~??D8P0s;%s>tJcATpM^!xtN z9UPC3Iki*bRRk$u@b#)a$vK?Eu&Hn0#Dmhs^p?&KRYJ%;29d=|VriH94joYkf_M81 zntz1E7UPKQlyD~y?o!BPkML<}6jia5c+lUy-z#vur%qS;-eR9y_>P?+_>i5FjLAl{ z(wa)|ZiACk$#{>tSOdw7h{Pa%ryKhW!5>QN57PR`ywy2~I$9J9`?`~x|9WHAU?EvtT=&ihP&rk5@hy6}!d}=a zm8Mjd*wK`tQ&B$NMI9A$evWn+*xzQ59y;E7=V8a*JsYL8B4?FSjQP{Poklh;Czb4? zgimhw|M+(1ZOGm-Z^Pl!&@4%mdN`dCQ@7r*x@%Y*6P0muz_}N2eCO`_F87@dHj%iw z$z#aUH`ct%e%a_B9$8^E(|$ECA7x~%pf%}DCh~scaHC={(0DfZTakUMb4>@@?^Pl* zA3@eNL+3S@nM0c$Qpo(IyB}zGfquys5@tV}sNsXo-sqVzyhTRb4t_a%2DaxF*U_?% zycw#+gcyOXOA;bC?miPrARt=pBxGBEwUspK{Y64RWi8e+#6*Uyg4czm;S-YC-T4G1 zVNku*lY^!8`)1F!U`?4XmO@qAL0}|l)uGE19*M!vhWpdbX(`@t+;@2)nk&?-x~IVw z;_0dp(4CkA6{g#j`RXV_O`h!7C8&lXmb&GsYolzALKL&`Dw0FLJ(+l^gygTy^garF2vkXRV7wg^P zGa#3xm$7`L3$XUi>9Wo>Plw^sE^&TyXgBP* zx5Y=Z1!*ldNfj@<=kL=plj)5H;alSl{o>-g$vuoA0g?Wg(FzZ-g;mtP{0|#hoKM%- zxy3jmRc@anD2H_X26HG@;1Yc~1i?}qLHE&fp>Gx%^v9$J6u^4Fs$36L53&NjA6EYK zQIq3k>gYK4n>3so0mIr`V63>q*!w)sIQPl@!2>%-dA) z!jXX}ETmmfbA>~)ex$j{ZxAkiepVz>>neyOtv5rl%^reW63${gR~&I*3Dw_Ge^?R@ zK#;mQkTTW+>m>P|+lDm`A$8$74-Mg%6asz?;d8uwo21OIYw`C@CeCHwNiZ`c<9@>4 z>wI(S{;S(NQ5}2%*`xznl&fH&Pz;@O3S)&7YrGZE@RMBegzT4$&?FL{2EWp~1c=Vd&EyvLd13~Uz2ejO z=gn5KM4676p6GaY_SxsI&x2dfxjQ4|_4!zPDc(}@$;C$(xx@^0z9d$2qE4SW)QtP8 z3avET6nmk3c0C5dCSf>)=OX}621oC5Fa{mz1I3hg0BTBqRbCf{^=M*hn% z5+yz8d{b8QKHJ+7=H7C&8gk*RLV*on6V-it-mi|R-Zw4gBw)q5zPdw{gtZ!by1B#; zGw4H1#fkXqeD~%AduJuV(@$WtNOqeS;XJI()WUk;`WD z=!@@TU4&-AClB_g2?C?1QeGR89S#krXC9t8J~D=iRPD*?Ou|x@ntz>Y&<2)~u`$$MjcVc|yzN zyHXz_XvJi9%bQNWxU~|n~*!)yCUp_^FP`4-<9W1ze{V&_I9YXJ3I zzWeg`IKyR@HTZu?3w36%#iqOGu;F;Wmo3u>kzU5pSfI7LFKJ>mL6rDpPH;bd6n0lB z`h$kUm|~9R-jV2rc88-B_w&3gawbi&$_VAL_^jOoAOAD+jax~^2Bzb$A#BUyn9xXw z$yq2$x^Aq+)lg>+kBXy7S>LCKOu4fy!D3>?MV$D=OK=n?J&7?%$>`Axbw-jaUv#1H z6Kd{BjjNPuJwns9(iZVP@_9E|79;hWw7L02&wZ`A2j!If3xesj77St$gnpKpbYKaA zfQM@|Nqf~D8+{D~pD7|4R^~%FWys;*J|@%zdd!ulJl-nWA<_C3oBaFCX*wNu{`t(b z!H#-=L!yt4StFyinD#3)J0R%#si(L2;C3qC$2ZViwO{UOjIdHG$U8VQEaJ=2vky0+ zbTwJb=qbKszp}DmHi=nCkqy>?-3b^kbJ|VlIu@Dfbz1Hy9FtH+HFS>R);GW}DN0>Z z`IV-*r$Fb)qQsy*?$rqZ5ME&Q9rc2u<~ceXmQL#VBOds3Y!nDR$KR zd1}r;InJ*H^1h$!*l(!0TNubPXBOusZwTZ4kEgc`i>iD7w-ITiK^mlolp4Bg=Z zO=ew7Y|pK0ZatWj%2q25zwc*Rs>5J8B`Fg_1eNbkKE{P7A0d$+hjvAqD;QO` zLKG+AOTQ^tPp6ExD)M6cFInEhQUtF%B&Cv8G!wsnPYsGFyk6(BRH*+s4{;G{anJqp zb3Pc0KgNrL_P^8H7y&4d8$Un5_~AGAQkuh?hAYPHRS8o^FCFV@^;%vX!%_EJUp$f^ zUAWcaRPm~Jr9-OUi@x8fCaG1^s!Jh@yGr}o`gn}tGt-JkQ)zKR$D4}hIQ~ho{4q`} zhy>ay;t3(|TtqAG{VR2tsP%f|6!9;7hF_}}{(8buOfun(F08NF|E1Q7JLt;8R;mN1 zpfeC~nd8+&+#uz34-{=Zrt}5ibo{ER7C&;>O6Ak2BsA19)nE{ApB0A#m{tvkS>=19 zKmA+SkFT^kH=na^lK=N#y+k>5OWas=NM2Ya{6mUA5^xU=ws7XR{TB{_`0Y2HC9c3v5Cu+g<@{Oe`?w|sWmq*_f_yoifio(4ZT&{b73 z&->+k*)v{JcP!Tb!4LBntPf!I`glz&asncpK&rI?lfIq?OroD9Y?AxUvzlgYZf|Xx zK)5Lqmih9Y&WTAEP3+`rMlbYjD!V6S)-$E4_bw@3QR+CAb%=#B_kVa3YX zAVkh#@*+0vqu6J2W@nGd20Khe_iGE3=;|tdl61ufq2VzY`DN%4Z+J`;Oll>4vou)%IIkd{s(X5VFSc}is{^=8 zE58daKW_d8v6z}38|i!ye&jT)fe2Xw$j`kzZ`=?}LgtWz*PxTZ?GK{4B6{Xysik=R zU29a-vdfTR7PjH!<0n(adNN#s5Z1uW>VG`Tqe1y-7|knxIL1&A0-5Q38d${wQOWxD zUa$X0RnxDidGULuxe^qgGdbwk+3G$0N%y}yK=TO(2Fm7l_riq9Bs-zWfou@TJ&mSz zgGd3E#pOM`lp%)3Mlp3V^zJu+;!pz!UD(b;(1lm(sR(3wk^#EPd7kpgiW-=I-QqUO zvK=AL?cwIsza%+~T+pUTz+F{wiTKt%Q-mQ+W{;r?n@ryBb{^X_7-iif_}KMihR6%( zE)ejsdt?*%T56Hj^Jvxf;Mcj2pKe5v@O1sz1lq{2Zq4*A5x*y;rSpdcl#FY)flRgu zrynRgjRvgr9VcI!v^dQl%vUE&8ZtIwf^l5h8g33B<{UO@eP8*6 zIXrGEA+5y_CT&5gwrA-&b!igbBqCHsF-s)OWE^nKQ>PNPe|tOw(YLl#4xOdL7jQTm zi+nv(NbsO!>7+orDN`@y)%&WghJ1!%eyl1kXERE3SdH7ewY0+NDmXfV4LANpCRat0 zyP!}B0*29am;JdfCzFWgUjG_0rvu9xHOrid{`<2Yh+Z%1SM5nwJbFQ@+Xd^z`Mnk3 zUe}N!ej;-7vOk^-Fm&61XUyg1YKSQ%2w0?ofrvPC1J}yI>|Vp_yil_QvZeKZm+Oy# zb`^NR`!DVZLictAx6X6Jo0oufbHBh)gMWETUwXfzww4Bc+!Ywg!!OPdL+)pZ6uvF}gZEMl4o}(b8h?1=HjW=<*XN#+4OgJ$J?O#J00c zshu@>oJ!_Dr}`=9aJq@5vRn;f-S?)xSKVJ4X5(P z&#FG|cnBy)|AGANci;dP2ilq1Y@IIA(q|wZoD$Fnn9(4u-0G#|o3Qg|E2VqCEU(~R zr!k!v2MmI;_v7d9d+hQ?(o9!>t~TSzuKxTM5<@L3e5c0Cu5rHoxyk1lNufDfIHxdp zuoWsG%9L)fYABMX#)+mg8YI3wmGjx|=%B!+VTU8`CV$ryN2^*e?GuJh*}&#(tIsUJ ziJ;Q-jRCiusJOG;hL4*3W~U9I#5cW33@Ajf?(S1x6r*be9iU+c{ubn4c8zMrs{ zks|Ei`&IH~4h%M5aganzKemr5>t*E`m{E$cPJH_M$)D~@=P8#wuZOdCE<sR!-JCKPHp}HKY)< zz5hVYUlQQxaFgVd$|^`7kovtLV;X6Z?!C8A!svs24Av_SXj6i=nXE36i%@m2QWv~j zlUtk@?*`m&2SBFXUHU&d+?5|$DtP%v30sj_rFg09a?r*^gP=*If7_^TBeeWt6UOFV z>J**tvig9i5yMNJfFVzRI;eWD(Ob##XN`jpJj?8>>hDKelpIB^%3RSN`ISq_A9Bw< z&v`Q;^`uTjDKg!Rk6;-ewhT=lPm=k$q>DLGUsU*1nEtEuV{w0mI5BN)jEuhYSaN_m z4bdn_Yj{R&R-7jcH>D5Jv?S`AhTHZ=<4pz(2uOjaKHaOM#{S2guB7#Pji?~6Eq=t4 z_XOGFFbqI*et;wqB6-x%J963YRQnZvpRld6svYnI7HH1Ydqy--eH=QymJ|^b8W`+>loy-mVp!CX+MoY|vx>c3j zSm(JzelIRj#PiD;*~K9?|0cLImNZU?Yrk>}fhWjX=u ztN*J77>G$go$M;a-qZr*j)XwtulWjYZ|z%=zBJ=mQTj(ywa8(bxW)DRGf$h#k{8&x z?(y~gqk1(1p5PWgT5cJ2GY3aF4VkfnH1NfiOaI*;7yuf@YopL}BQgq5#6UsGrD$%} zdD8JpjXytGeCzA3j->+E752B8_F63Yz>SZQRd1Fbrf5*g7BenJ8`mM;_y-G5NDeA7`lcprILI z{6_Q)=yD8nYqIZg5mw+{HJtd;72L7v1s+-^^We-E5N#j~a?#b-c7QMe{3MT<8_rv> zN0bS9Q@)(&cRi#)Y4|f#yz`ytB*Xd&uT$M;{SRj^=C3CdsGM?(#A?(L_E4HuP4c@3 zG9q4mj>Iy&Ge1>0ng~&5K1N;(FUg0DpKFR&tz;zXB)WaiD(vbk7+yInP}R+kf~H$& zcG#!xlc(NpeQn1ZN>(Vaan?oBTzO%c#mTX+^7JafT}h|cY?G<>AN7}PR79pv9Q-sb zCl|q~X+Av$dGiin%>@TEFCdf#F2muoTy~TwFhBq4R|G$<{{!PkzP+8w3X?+vVVNO{ zqL7nmUoi`L^wOl*RAwp$tO2r#sq_y_{eIi}EQxz`R^Aqu2wClf=_?=NIpGaa32HJX zy)u$OiX8&wo5DESUhpl9;7{3t_6b_ub~AA9EjHmde|+xU%G3dTXF+&u+l&A}73 zb(BJBP?m1^Sdo-VuCuKDat_Z*onv)DexwEE&rhZ$m|+x(%ZNvtS_#H#0?xM;=la~m zzQY9fc^*17G8<#Z&>Z!#smr7sd3q|eN{Yru_8Qy`!_3{k($2%bFg+xyy=C!`G74CJ2sXGS<W9Ie&>J9i4{JN-2bu`IkZ=FNq&05(IU%4FJ0Cg(Px^ck+TeW zf#qMPZ0&4P@DLHPGI(jek8IEsR+vvJPp!&)TQYq2mnLjd1&%I{4ub?=v3!2`lTwbJ zguJrkVF*v1UY|yZau2dp9pR1?cVtysJl?LxbPz1F2jRvGo-{(PKWZTZthv!9Q$%3NW zwH#)Ip%4VCP7+f9!GD+Q(|S0Pp*#|q_7oWvM|4#zLF$DmrQB?%XxdU*3%;k(pw!yekNs zV&sUd%y5RT@lpZmeuCngFE4Bn_C40IUzbFeomSx~=uc1h zQS*?Y1RXq+0o-~bDOQf9u_Bwi4m$EX9Q0N?6ir`>s`|Ig>(D>*MfmLnZeE%rT&BMN zov$Iy>#A>_w>pR(lf5OXANpU9A?$O8fK)_+jHmW($II|1JzjGvtAsJbQ&=mOFitkg zda9)%<827RCY2{PSIaZxFy8HFiphkL4drNaqJkok33?I&)1xWq>rCU1byYZRv`W_I z`WbFe8~@=)5#SD}Z)%rtd1SFDz3h8vH68>-mLX-mvr%kVk@HRN7_aGz5M^R|`b!tLP4PF-<% z^a-)-lr>T6LFA$`p4)y^oDiYtZGNF&AcYl^U-D`2{-6I z7+~f#Dr0CC@MeAsET=teK~~1P|#N%R=wos`bEQKXh|5Ocsek~ zS%aIfpCb-&w`Z{U)9!GuA|A*7AYSBm8E#o{G-sB|3|}C(!|ySDF0XjncwOX3p&pkX zMq`+~ z&vD+wUf)FU-`Lg@Fo+K=SWG+Kau3`(B-Q+}O4~S(_YU@1-r^rmjF)b=8J=XXK-3YW zG>#JzMABl6RO0l`tz$@~MkB{F865KWrRu7a^%<$e5~fl^LHL}@vKhq^2}drbS?z20 zm2EA?ikR1{U^_iig}rIYEn9eIV?SMcB+vRBS>W(>}6act$`l-Yk+ zMH72%6uEaa^md?~vjhU+309_-5M?zdeY>n+zX%olJ~vY5Oh{lzMHabVktW}|waY|0 zIHxK2d$X0|moB2p@}nb>>G4u$fE$c^g-W5{Q0pjZRH1Sm%OuTd&N!2q2irgo3{O=V zn3l>Lwq}nJxyJY{^|IQMAq*rW8~Ne^8}d{(>c2-wE<*?RD3j|DP27+5_PR2y9Fgpg zLlHd+Ks#tC2Lh8bO3WI9;;N!(Sy`e7DUXl?A{EP>vxnnrVG*NY#OB_DdbFeX9RW?z zqqz2!)0C~D%oWzn{S|0z{49Yzgc?++QAH*OF0>O8qWbTDnKqZADH@9HIR-`14v#DV zfr);r$If?w+~gSpvn-@WKb)DRFc!_MJvb%d^`0klM;7Uw6(-DJLV7Ixwm;TVaqP*LsR39*dX@UikP%bC03N1 zFc9DQ6xdUrj#czGd>``#5toSUIgipZ}Rfp@fW4)Q+_TzP) z%a4%l*2OM~3L~4=8Qgq1^4P@8htXT)hxN(>s&k76B*kMz=BoeeDC6SKB_%WK2&0Li zH?p7`I?myxH5b{>C>^$TWfvx8H+Ppr@b{N{tKke6JF9#DOf+VWQF?tXL;6jz@}#1f zHX>E0htsUpnI-As=hsJNp0xIdFfuO@rxK4VS2IPm?}XwG&|m%j6pDrKk8ujSaD`GMi#Y zPf1PKnRnsULs`(;;Vp}F?&l{WowT3HX)IQNEB3})>uOL{{%Mzs=un%sJY;L*(bk`G>YXn|8<`R0>L5vNMl8TXidB_HF% z*4$8byXVCi$AoMUy0tX_7PW2_$9{@0Mzqt_OWGumXgtu_5OY$0k7dlQSQ%iK{E7Iz z&$wJmh^{hO?Oxb`+5b(0dFm_D!2r>N^dAGSXJ_Y$p+W{_6?K^x?tw;z>N4-x!4O6p zDohp17I>!mj%V+8P^>OvdEf_{Lz!gwd`p_G{c$rPDGrn zojpd@>N`obNq)QouLzi?xeg5V`QBIgR465ZA|ZHR^RMr|yLM>O164j1t-$nq)YLW8 zSNVn@t*=e<%5j9bx#stuWx%a(EA!Bv1mhd0%q$8fJNg^~Fx8ar3?NV%=BwZVQzq04xJ&PyeGYjlPG5plFUFIMsd<#*!Re z<3<6U(jmmOHJ|>t73{RD|6{_J+&A+0LtCFkD!X~~qS5Lj~+ z%^%&>5RA@uPG>&po~#M*kLE#ApgeP5a|`{I@lImDB!e#K=jVHrAs}qt1BqpZ3)#va z8LUqA(qNtD^0>`NiAn17ULRGbeJFG#b`R?9?#RrA-0?Pr!nOueoUY$E6_&LRF7vGDFQPpBuoI&LVjlXs{W@N0xZ9^h9iQD8E%(ro4Vqh7kM9 zyr0#rv*hJT(t9haH+D9k^_N#% z`dm-iUK&6i@4HDTj-U}5Klx-n$qU-|@`V_NA6;Gu2ZUNw+`nIfodY#Z&g0)|H=>fR zj})4@si-nkW9+dw#qyX*HY!vo2WqM+^-LpbIvRPKfxEDuUuy?%=*O%cT(HND&)Uty z+OTx=eZiTcqL-IbL*GaI1P!h@AN4%TC0>>OXsuiNKc;@3kSh`tZkIcn7cdh=z~#OB zyY?^m_wM+8X4E0$duie~9iO43k%y}(mZZK2KeOFO$vGD2qr>Q3I?hc4PkW0f1H<4- z+PF2>o`SB8ex}ENjPP8_wNNT2Zl-P>nSy1wqBkauD@`ju&$X2p3Td`c=^Yca=d>0P z(WTL`oAu6Vb>5}!Xg#%j+2jpJN+|hMw_+2}-Wc_W@yxz+>YCqfcABkw_R{2;fz^}^ z9!wU4_H!ekege4u>sfO^&3hWOfm;uXwD{yjT5 zWFBwL0>590jV8XF>H5hKn&n{ijU-QI6Z+H{*@O1UOR6QDnm`ZzS3X+2l|uN!UA8VP zvFUr^ck$DY!YLDrb+n_+RYsusNWrq=X8c*M*CjJ8L~pzKVXB$Zr;LW4bH%Wx_6n!zY|EP4sVPiV0UM2f@1ws*s+omD0kIC(^0;Kl< zq5JE&6TmC~UA_DFauw-&U#u+nm04~M+{3`l-1yF@h9ai)UJ5fAxbXhsWVHiu`+yem zm`(aB?tZ_i0`r2rZobW7elEPMW-Q9uZmy#n8IcEXZ3whaexe4~2T>{g)L-@>){?9g zNw@6x-j>o`e#@29m-li!o{%vuydYl3;LPV(`hB@)A>|I0I+@(w@Vk+4f#$6*9auAj zPp(PCsgjq!A_(yglVk5CJy>SYO#Fj1n|&zPc=73$Vk^HBO=qd8>rsuV!LGJlsr-}V zzRa`@9GXR|(7%ArnZ$QI^=K3<@8@l1e>cx&wc4x*#P$joJ5PMAKqK=T*haen+)?uG z&(?AFy~_c}K7{c_*24f$^=sz+w^#v25r1xv^_?X7FfH*Gj$$VN-Pz)r$6YPOE7et_ zo>)OMtfYNOzwQj`ho>H zZQY$Z&UHQ;FTv@1qHTV-swiTgc#TWo14j6Y)FxavG-DnXx9WFzL6~S zf1<}FE2&jV@Dv?Aikmk^Vb8Lb)A)ES5NYk*xnNWm0i1Q#itVz_(dC1J6xubCw0-7BKci(QuKNc zal8onw`)!`_W)PuIH+1~HoI=$*7`VL2@}i3f_zt zmg2D>E9ZO6Hlmi*pw$}{)aF-(*;P_5Ct9m}7R%ZkbQMh0`B-zQ_{qjIN)Un2M(AS6 zcW2ta`o$NFrj9QRtQaj#RO5zBnEust$~L!aX=v9Pjuey2xoCNiFj!D2X$} zXIRC-V+9p^p~mEQLie8pt$-eq`1<=j+jlz+R%h0B0>HXYTfxJ0Yr)JNZ~JE-n^Yqq z)bDutytS>f7CE$MU}RxG4u;>tcvFRNn!uS*r}+n6DSh$eehiZ-gp%f&DaKW9Wi zx>x+jOQtF_(0jMJxdbkp$W4#4*n#YWML;l(Ub}L_@J#{70&mQ@BtR!&8Q2O9!`gmm zaihhpL4Oea3?r&)F}BKW<6hP1B}PMHu#Nih4(RUA-!f)xcT9Z;q`p-g?8?VnJcZ($2EtbN$E|tDDB6EN+T!pWFq6^Cd}n?p^JFf_kvo?k5O104TYSX#%vG zRY!UWq(4GbhQU8U0Q=1WR*_Uw(!u+*7ktw^$-8Q+&l1_*Go=zVd#O=Zy=zQ=;t|R1 znmB&ju{RSfQ&O1O5Q%8Gu(Q$4PcCzRQHX7M4f}#uB}&-g|NVORM%JO5{3QiBqfo&# zyo9BrO~&k!U(jmvq1GFH(j_&uNL~(0M5`AO9^5;5tlE$nh%3;skY6@3xqJMv>@u3R zi?s1|M$vfKxi}}EcHJ|N55n)=Fxh5qm2MjYp3O_ZrvipMP@g8Fk4ABWJ$~f_Fh5*B zv!26Sn?=dyPS`1Q`x7rl=*y&j=J*268$c9Snv}{m>8GK#FkO;|_<3a$fp|izyzgBd zc{Nz0`<8V2G;C3uPmQsveuVP{=~zEHOu4~H;7?1|+g&Mdv8F@p{^BFWmVer{`ZYJN z*^*C_pItb+eCi_~|BT%9{aArfbKnT(eo*!ZKt zr66>WyYs|JWP^bG70ho_e0+bXj#nX}>Py<09Rcj1k-+>yt!}oj+!Jz#-mqnFs2DPf zdHo;!sNICw7lCr11XJ%X7fyOHR`c-H@1887O!t$>P$P2G{w-B%7hk5wwa35ugjF_T zsatgXq@(4hWsqGyq25Ms?w)cD_>fEsiYPO=9;B5vT}9+&#^(Nemb({?9aStgvCl&$ zn2+X2i|&;nTKw0rm8}HQQ@PmcrTJEyqnVI3_u)x zV0CLP$E*J+YN`BozVb?~588>kUkW0SMBGK*oezfvw!b+{h%rb&z3>mBGU6hzGT#VU zfDxgfra{RvRL;Ahl4jyT=f1D0?pa0u-caFuHSQn5;A$w?L~;P>%%YRB-Jk4l42sVwNTB+QonP z*=!=LwY_x}l_6b;>)IR{siEOBHx>3xj)&omp`i!SANG~mA8tMPEXju(PNuiKH*>hF zH3KcSgb+d%lAkyYS>ykDe?UuCt`FmHjI8#Fr9IuS%&1O7-x)Xq+5dV~)atjRHp0cC zSc^DJ9cZ4q$p3E~IxJH&!x0nX5WnV7M2|OiGe`YJX6oqU51$wKtl%aMo~>hkTVn9C z`8$iZv>LU6bUQ+fxo&FkDDLM$prsO?ce?3sq@r5T<^n;PDz;*Xyb0;5&o*uWK!LGwmapu!=J||MT|5{hZ zGEuz(cN8kW1SFMxnRtC3l^dyIv(ROec}EG*u6u$FAkz8xviN{+I5Q&Y_x7V{^yJKP zbf=DV5#90JijtLlfVH+&5j>v`r8P3;V9{Babn%Ukx%i7Ob+|Y^seDB$nBrAGLELkce~ehL zD#7@BZD=N>tW!%PG*R#Nrn!cS`sR=7qYxt>$NKJ2Aq}z!XdCb(ujZb*jo^!Ka zuS@Xik+K;=Wk`%#bp4&|EO=;|Wk$MzC;l*oYDd(zo|bsVVJbF*^;CRNmKqy zsTc{IpMgm1`~S@aR29!we_^10RgL^oG;$cmO5tN9)|2ZE>b%_JIt*g!d36QMf)7eU zh!BDSp7b_YsxWpYh=ze!SuSI6&?lE~-1wv_jd-ny)+%nVfb$ok2xQ%}FBs^AEm{H1Ep6WTR%r(Bjq2cq@(ki6K zLpB#dJ1`HvFck33f5tNs=lvYTW9IIYj&seBFP?;lm(g6SdB7`~ukDSgGk5rnH52lX zMb7}$-dQcM6TA*^CX49eSxlF;>JY(`=a=z#J zL%ZYQvj@Nb7b+95y9^ywUByyAd{S1EM>I1vk7rsP_=YaFl6t_KzAW-eE92A*s$R$# zLLJwhJS1f%?M!@ zb+U#XH?|dLaqrH*2R(luh|$MKd?PYCv`{cv8j$U$J}B~_yrq*rrV2g1*>RL+gr0+V zo(3nEX}40YdB2#aI@ciTmnzABy`zTwA(9W)iDzzI?{5Auzh?`iu_MMDvGy+*%tIDL zm$?0T_x$~Gj7?7ZU`)T9@hWX~V%FC=yLPP-jXN#RJrj=9UuWzk2NrnpGIv!$2%2??(UNcw$cW~TNuL>KC&Rprucv#Q$rDWJO6i? zsXxdwEsYl|fN`@2C1DkAQPky6eR~C(li7ZowZncPTSxbMAZ?cwNCs!Eto(1`nT8~&E5OfA88lxO!D$f=M=>@Sy&|gD$Ht_@7}&; z^ygA|vnM+hylutI<`ChNe~PLAbDQkCtkR!H6N`4Iqf->GyrVfZjzBWicCvUK5;bGE z=VUf1LhYF}`{r<6I9O_aP_no!HG??Sy7mc9LV8je?#ecWoM24+C{5NEng7~C*_f1b zcw3Z80}^BdRRrk@H`0Uyi5Fp#8AnzkTdZ2Aji}mL+1Y zxD%|k!G`DhPeJ4DBK3sPdcv`f&#tlKsp26n=-!Yn(c1JjvC7Rm>kTKdlvc5e2 zHMSDp6u+Yjt19(b_7TKY@EwAqyxdW>vDvx@Hu!#Afs2O6t{VH1(V})^9p~Y9JVZ`K zk^WKG^;FA0&8-asEA5Vobo}V=?=Dimoc+ttc}e$eg{-Amv^w;-&WErc|NEz}Fwx!b zj~1yJo#JSsix3^JuMMfj*a!u%^UN)) zh+lAML14Dg2~|Uk$MhN`#{GyditV|cbWG)AL=ucq)Q_-eaQpvWu65fE;&Y1Cn77Yx z;DhXAUoCvLwo*)?J&#z_%GFpiK`Mi%o7gx4vXME!P z#$TXb;nr7>i-}6#a}YhNUY;$K`A_+EF@?lh?_cfpA>p0R6l6JbTNiZHHfRy{Gl$Mg z>zq`?oF^|w7WZ+g(?I?6GF~j-R;qhQQ#h@B+UhgktS;wc)&PdzqSGIXw@O6=msv?V5^{##809~I!M#|E)G;4P3cDE0J^NsK zfmB+HxAbjAolg6qOCq30EM}?`Z{z^c%qaXQ_s(!vh=EewF0*xp2uqrhti#Xlup*q+3u>>owQ6DPu{G0$h1Kye>2F_s}- z%BrgI)Zdcx7+FKc8b8aObhbzMG|qm*XKbqS`i=BX0Tpx^W|WD4Qmc5z=>7rf)o_G% zZ<^Zrj7hJL`x$IZRyEg@%I|-}osYU@P{HrlXfpgOg?NY_g%>N3@^XS&TlmjJj{Nul zx0-KC+>Q0BlGDE_F}qz3v!@5q)jiDys4&%orTzZ*`DdPItdN$ z_gc?qXTJsPnX^8}-smHziWnol{^Wy0iC8ddG|y3B+vc68-tg>v{*${5bTV3HZshN8 zLU!X0`}k^>dbupb7AKr&u3|uDalL`656llQe>JKzH|YvJTm2E@Z~FsmTl7Gyb*~Jo za{IUuO|2<)wf*a`T7m+XpD`VSa7MXB*U!2EvKfg1&6Nk(>eMJr>=>z9&mG42 zt?7caqObOVjh?Mhuint840>{X=-)%>+YJI>aemHeOj=L%_cKArGv9a+w z2mlF~cijyVtLu;>2ULcm4g4{yHr>nJgLJQIvLvWbV+2Bh<`C7FN$Yc_jf4rA@w}_U z@G^nH2iBywQoizw7!ssC#7SDKSV{BVv^%>S)j?ir#3NZMg0hESUfaj|DFvp_1P}|R zi(c+~R32PW7!r!S(BGYc-Wq;;SR$AF=qjtTX*OTEwrr`6P4J1+&#Bo)|85(Y!Tx%_ zAxu?v#YrnZu&oAe_zeLCU0$%{xk00+E$&0VJ%RDLl}Mw z0$T=&z*1d^wF2oCKDq$vZ`=Mw2e1!OMt;GAy7)#a`v}_TlI2vpHUC}E(5<9q6_W9) zq8|4QINUXRIg;J_@BzG_YWWS=a%{`rMj+9`>z+w&NQ`1)m) z-M2G&67hUh*q8Y23h1ssgm#)FqryZm$g>vJsm-s{y@cI=KXsspbu+p0tERuG#e7!U zlxMRFD;x`&Dc@p;Kktwv8lq8?CBXCXXU|WXBw+OW0Zd-sC*CGpmd$`O;9l56nwZHd ziad~lqQCifD}8KXxcuRK++Aw#Z1$@sjbT^=Wt~;G6udi2s1A8hrMn8b8tuLv-Hg;) zci1LC$zjnJ&OC}1Rr?(4^XTq-fRpR=*jYRX^I%>mV6*6EFIW`X=14mGA{bmDBPe+Q z!tGBLPqCrA+g|P0h6g4aGrs#mAJUIWIZBM$=?m+Sved=Nh&+4y-c?6MT#Aoo-&mk& zDvEo86dzVu-?bZ+=>9LHADTVYl z3fWH#tUY*}>{Q@1;LYVB0q&yUe>ZFH(%`hUQy7WQ!JG*EVIS|#>z~fv{uz{R4Gjh9 zFG+K|y;ueGib2ihJpZj@fi+q#fvEH5sX+bdY<%jWyt4+@(w8MLo zi-Fw_3EmzKK|JthFM$yvAjv)W&t`18?o}m z(rzwS8s!;=%(C|8jfL!~k5v{h;}LnV=?X(a_70RBRxC3lGxIFx@s7XjEDJ1uUEb6{ zL^@JY;gtT~Z z9PL=D50Q~4`Q@JT$4|345iWdez>*2u)ut;&j4k{@V~sB_6})ez0(&Dk1HGRRbG|?0 zN3MFEw158w<~uH`sTA#k4)oqtm8~_|t2GYUe>VH}D;pU1?z6ez9KB5m@`J!y7;-)P zE@V2vvLqW5^KD4r)ys2RI=$8Nb>Z$xqz)I?!B;b`Ng`#C;>Al9$~^lvNzr9}Mpyh$ zWe!i{rN5-kD%ST5&DBECF)DUb7`V{!Ma0O9x}yCHM>IEU-&Gh{y;7wZQp6N9KF=+P zCv=EWEskY!x<(oZDm{lQ#d!ZRCUeYTV?D(aCuJnt7FYe_Ewh*TMn9bUeE6>e6t@EQRC8U8j7t>NA*M|8$nbSovI6Ne*quhUh4%yE#(0c~aZRZ~x z@)A;D6|Mvx)+%NW-iP?^13&jET29MToE8WvAJOrXgvdz|+fhs@Z4A#E_hGS#KgoWE zUAGCBC8Y0qi)c2$5#tKfF|(79vZ4#ab4d=YadUWXW{(e)g7)YPgo``=BvLbo^pHZx zA9$9%?S9&zSgE}pUBK+o2D4bkQhEG5e`OIr!>8aFp7F)t<3j86rH>tCMSAFx$b^A8 z*^g+|yDJ=!yhluCW~7%%cpQ;0U|)0gLp$g`#53*qgXZl@j}eJeh`FIy!1I3Ew1h>7 z8Q)xraE)FoZxBhT+%(OD*NZRa{YuDKEPFrTr;BIWrnl!Z`#qJd>THMV8TyNUmA$e{ zX278V?KSpdp?n&jDOtb7PGAiN+rF@$E0FZwn`KdBXw}?-y72YWAnV5XzU3C@(7%hJ zAjs!#gxd#d01ZHle377uFZTCrJoMk?L>z}7!u_vKo`J23j@6xFqSEP=f9R!ub;rm# zjQ#2%ir1449q_is(aRfG{@O?wLgoTCup|dr{i8xOx0B9fRNMXS1EmI+%+KOFC^NNV zS$;oUS*zJ*!qLt@_RJ{hnXI=xY}viroEH|kz1B_5e6pi`CbzTs?xU+w^en0mY!ymQ zdrQ^8mkg9?!xuM?Uz>FgoZ(qLHuZHAgChp~YH4j({Z!-O>py3ka5!n>H;1ew-igR% ziRxQuc!7gZ1u;Gh*-7N*l)W^1UU9#8t0kU+8A?5pB@5RkVn0M3DFoaXamNpTd1(O zLdbGsWz&Un-tq>C0rI^r)1TTE*8yqQyrstoT;zlA*V?ZwB{ou&{-T^;CZrwXoA5wn*t<=}{__h1Tyb9r4aZIH2;#5{0ezm4_ zU*KRjn{BT)mOon%?p_+9?0*cdMd*d|tC!QLoHBxNp45Nn9NM zM5bLly)es2&QV_UH<6Dti>{>vmG*X~r-`Tr#I`}^Vj$Id(w}+OoH&*$xWHy9WMoF} z$B%I$ar-Y^2v7JF&Fen=cN5|oe6#|bZsN^CN*Xka>UwJXmO64N8WfVXRjiO@$%p-Y zf1vnKQMgtzCwgV6yKu zJoMgJ3Mw~O5nNn~G%!Akox)kI%T9~_DuPy%WYJv;)w>-v-6KpW&Wbj|SGZ5>x3p+|-ikQ!P#MN+zvP8n$=h7=@3xu56UbDzr(9%lG8^X+%P zd#}CL+R`}BP_aoQhCmhi`59nEeza<>DQM@%x^EN zuk}}cujZAwXRd$u%D&YTmybRAsV9E6hHRJvWr>UCbrzPN(W=hGif_M9O)}>pUbWJ9SnkChP=BdE1O|VL! zetIN3TKL+#dZ;wgg_A1ptYZGWFGl9S8$U*M(k%)&y3hW(z$0t!W5E&Tv#7GK1F#?X zgLJW$EXnzpuAlfAB(cD=FtDeNXcH3pd2$}aP=Z!MIoVwwz)H)(F8&9w8bWFnzasbT zQiQS4a!+~vg`yF#%=VbiugFFC7uZ)vN=nNxJ=mG1QhUF@@@`mwYK?j3h$uT;eaoyR zWjofgVj2HUJ#YjEa|Hieo#M{rrjzvMrq497*Am))-q{Q5Txs2j^ zrUzVdGZqCfW52cN#?`?VR$mHN0{7ki{^hY}4?@gJe5CYmrLM}%qy7qPcIxLSg4Hkj zb4kBIhR=srv{D&*Gk4|Oj8_Q0yDX$S57m?w1!@(AM~k!Gxm zHOFwA(;(KjVZ8bvm3b=Cm1XJ_K^*6Ft3WI)RejPB2h%eY`#-su}-QC;Z4=1!TN zC*8xPNEE8--w>NzlgVlDU~ia;XFyWBPz-?!Vq0m|i(P83CTr9h)Hv!NX*s@k*FK}4E>hv1Q zM-inF@@?@m^!!Nc$B>Z9Rg+!dqh)d8O7JwTzaYV*-6ckgB8;u5l`mrsC0HjCUPtB4 zA1X=+1GyhKoe1Qon;bLT(9uqQ89UNW!p`JQYg4oFkRN^8YlublzE1U9VBpK?9Xu@_ z%7B_mWw{LPYe`ZY-yFOl?tKl>H-ew%yoYxsplG!{b?tU6u%htype?s0T*rOr%I~+}ZBYKTlh=xnnGWQ$*ILx!1Cs z{yD1Jz3$jqx*RO5z~|Q&U~V>LF|6fzz3iJFzhHBRL`rSvOFa1K=r_HpK*$DHRL7gVNYJw0n;8^MSJAJ_tjm_W_<{?BiqN&BGxrM|Ea zDEd4B=)1;#en{q?3z#kv^n5@c{GH+K-*f;p25(If9TSBTu_G|sX<#@_MMQo! z#6veZ6v^R#b+HN*TrW`!|VR2us&F8)Ui9t1@;@43%dNy3=#ek2yE|*)mKXpVf zFo`da2vr4H^yjG98E$BcIGf8Bs~r*wkfMb+n+zkejO#m@p?qiv@rZ zw=myvRhI~ia94!Neu2z^{;nrCZ8J{u%xB8k$9X(F2~^H^!G1AowJ!8JeH9JbH)5p5 z#>p1#Iq<>XW=DdEe9QK_VZZ=}PXreFlauTDpt0)ju=Aq4mx5~aCMBL!4~GF&5SQ)= zHt1Vw+q98D#L%?QGxW;5%ajwA5(f|6=jl-5xJj)R`DlQ*uk(V?i2hrlowIozZNom{ zRj1?{o2$MDJ2lmq4imzlDHrZ)7N{w3qom#_-SK8CRJ`WHhql)qS3w!ovw*EWjrf`Q z6ZtgfA_Rl6`Uo(u4SE4_Fg)6Pg7>{GPq?7BN$koqUESeq6cV&O&+n7wa86%oPVei7 z`(k!=enpnw(rnqB;YeO;tZ3IYCfT$oz5TztfcZEL?k_l1uTAy5Gz;B}T}FUjAv;*6 z61*YB0Jm2)-z*A->PbW#uk`))&mR1$xR~PmuKcd?RtNspnlNyrIM{y%0hu!8b_ zkK9zG_nl)T=I`vDJSYdfi!IQTH#%8;VXOW$%hcvU3r}kE%#UZ%49~9pmyMvk|2*v8 zrWa|cGW&d)Zfg;o?u?9(A`O^B&8fIoyUQWsc;YQzP?}n-KIAN-(0J>krnwl8S7)5c=KBc z!Wv)LRnDxduNiW>)kD15PJlc&aU`%Edv{CQ(5;N|7PZS`?;W3Xsg3g57I zIvURhju)d^#7xmmlO^oGS(WkZffms#X{T9Pgi7OsWW>m?)f<6A0|IK7wk*7!rY@(- zx7@W#maVPR6O!fc!40;P9N37{=Hn{KGp}b8+ebR1}?|5Fb%*-BTEKuCky>x~{hQcYv&?c%Q8%RfJHgv?RTac6o zZnv(&D#-x+kV^jw;dme3qhP_)u(kwBYVlhFJt3~gYwsDij7Dpd4>y1v;%eehTqWX6 zOjtPyP*{XX4L_Z6Pu9X^ea&<3Wl;5g`GetMDnqbl?bInluIU^9NHI;uIg3Z4x+Qzp z-?fc2yL2g#Y2@5LwH$|G&7FUo@xaR2oJ=$kTMXk~G!4upG#uD6$=t0gdKtTQ%-cAh zXE&HQXl7-$M?2k}yj7z4^rIsU3csd5PH=gqDxQtK^mHH6ylj8XE&zVvrr_`f*ApW!L6))dlc*pxcs6C4wrBGg;6_Ah{t-B}fxQ{r^53 z!HVz4ueR13z=2tV?ibX=SprvrX7&=v`T3gUrB8C04K#DsSl6f#(>w)abV74C9PLBq z&u(c59A18f0p5+mW_ zRu>ZUD6Qu>DMU9>j~d8sCc2kuz#0BA%0XC$^~@9DZ8qK~#j(6PD8dAd?8t-^4IfE& zDA5eVuqT9k2I2z8W_s<7|5P-h2#G{)gcaTIHFF!?ct z5%(|zs=%-RG@}8WCFp(ZMJy2zfzepPx{s}uLdE4^-MtOwS^}{*W9oXM$K7jDT$a z>$J?;f1@Wdw(aWbwrEz|abh?bKOb1)rJZ)1e08HY;zxQlu6M^%%DM9qcLS|34)p+9UB z%9ww+7OT++Eh8YS7SKpP5J#xJS29JT><!Cb8`w%*Jx-qMIXGUthoRRv8L~Mn=W$K1xI0EQ4CTN?KnK@weL+lD(jg zF7AN?59#3@(d??8jb75ryrcLx+PwYihM4W)<6aHB{i4D|c)PedC}Y$2%$5vPeSI{S zSa4=l`%OD}y7Htr!`Y=mVgun}+hq|qqiEhl*zy!6&igTtP}fn(&8H_0CAd=j!*rwY zdo|Cj`_nu+AwbpALm`T>G7r&@W}8r&l_MABJklT)JrpC#NJ7K7DxQ4OKGo) zMrO6mFw^y~o( zTQeove~0&H%RE|lXq=p!mUxZ6pibmmWe3n`HMJ^Pt3*$XB~W?4yGp8d60=*k_A)4Z z1;cCqbI~WC1T-GUTgP$`6Bh~SCzcUI>O)-}(5v+XjVuj=gRuSIX33Au9rwJSfk}8H z2{QfD(y}s_r@ElN%ug1+@1-o3t*Y`wWtc}7mmSVRHjLv!rl-Pf)Mo0M`9}`t*Ew|{qkq^ZxQ7l3Y`HC+oNf;+EYP59<`mCZuI&52eucl6 z3Op~S#bcE9@ZRXfoqPd2Yomn&C#uQn94VjO>$5FEOzV)d0Sk{#Y9PUDNIGV7nB+io z!q2&LZ6B29OA|TQUSzh(+KCp*s^(9Uma$fNZ5T9w5vC6Qk<%C!khF^)&r+_-wihyk zQ^?-(b#UUbvgAOCC|-kzk3)qG*ljn+5XS#l?z&iwG)UZ5f!;v-7kOI{ZW`IK7jGKW z)+q8ed}tJY{K<(KslN7BNf+_#)ikry(*0>v@9yr)7F`^l#ZR=SY|;1o#%UJ|CED-v z-u?}&ZK$tD?5K2v(f;hU9^eJyvv1tgv9woGH~W=#$PX+akvZ*gG%PdvIYM`nrz zazllDeHM7j#rED9q+AlmTgN=oo*C=k~yS<+JC2 z64JoG2-=d?SNTZF+rF@q2Lu9%)eWLy6sCEnX_HcklpZ;}q(0RsI!H@Bm?2>y#(YIf z2dyR^UN%nzB1F+k9V%Wm@wJB=&G+^uMPpDkf>pa58ghfA>UQZ_e_&|0q#Mz3V3==7 z<%^-d6Mi(uGJ4)4Am!yyDXT_jZb*0QqM6|7`Q)h+;5+M>u`b+JKajpUE94PN7yX|) zh~V;_V)o6IDE`nT6J^^6g&Y-jlK9h7!S0ARHX!|U3@T3uFBBJ|?hpaY$F7I|>3V*l zmjMa$A7BD>`PP4E?RKFh51_D3t3SF_&A-3uEcJmPSRT-tpe1(%% zLhSbG9^Rl!Vp@TwXD>xXt9Tbapgc>>%kAL2!k<}aZK^N%i&8WGMhas_sjMIAGo0Cb3x<9!Gpd{|K#}Mz*<-%hFWyHz@GgZ zE_DCQh~hah^F)t6nf)HQX)nvCW{WW%Z??65SE)2k1@57GLAEvPXR7IhaL&Ad-unym zU{QOl)=BG+hi|7EALgBe!KOb4T~_!!{kyU__9I{J?29`kjx4^{(MmI5c2=CgCoUlY zh^v8H2b0zFVsHBB$nClDZ|igz>>1a%RLIVDz8H3iU@a<>a0k}(PBW02`VGdwIB}XU zHuDCBu$&_cBikcSQmE@)^Z*4F&bfZ6xFm;u13ZhJQ(vwopZ#!#N&_?L$E3~6s`wk31!YD!fmBj(4eJ7JoxKmb*0g*GAre$U zEHTQv@m=Jq0X%98gYLl)%g{!Ue6+CbjwHt&O?t~Q%iR=mttDjuNb-OGwpEh#{0|Gb z`l0~X0!p~A?vZs}%xDAlzxjr?kNyALUhc)7@-qYXI52V+Mq8lK=>5$PKL<2L|DuItyonHPW>1p(a6`9F(2)>pDKJw#SJm0pl|BzbPK&yBYK`*OAeF{3s?jq z-DY1z2822Llt9wjg4k`}#4U_wQ?3>5EC&qsJ-uh`WZRjGbBFWYfn=q8_o@!8zo0*@ zCmW~k|B`!xI18s+NYk4wbq_=t)88_lLye!Vfr4FG<|}+&9|%7G#%q$2Tqb^-Xtgdz zGl%z_lH#pMErosAQ=yeA;blQNQjHh`$ud6=Hp_JTQ2)6N`Jhs4OzM#30BE~d4gPHS zgRFIX1|w%KnZKT*F|KV7Cou0M)vSa5a31esDEdI!ajSk*A&2R4hcLIfc{*dh^HsE} zmRMwa0sag`!g+uH`5rUl>&nSq&KUxp;@y?jmlXg%`R^S-hXdr_zX1njKRY`B@a{hT zE%p}p68|{~M?Yhe#aDR%LA^*Cqs?o*n`wOin9r2?9%(VL;k7vqo^A2It|+{G{QmLt zug7nv`zRq@z0bbf&i{+c_jGa}=6Xlnsft!fR!EiwExOBu`k(mGl%&>!3uM&&mXh}B z9}J|Z&%3$ znL8O3=+kM`rc=XT#ewrlK^E9U}Zh}_WgV4-ko=VD{(n+Z*l4Okci4pW}Z90=1`e9}WLm zF@OK{sio&Hrlx0r|JL%_pV+i7K%hPkz5C<#=x&XBh=KwFv^?_X-Rt{h`JsU1_Mb`o z-`G20(i4{^+)^ac)_PpSjqXy5`pFy~0T~yLWP(%=Tx6$(CQ;DdMq-Iz>@q`fDO6U_ zAOWS=RbI>gg#WfM2u9AP7FS0{^}4OMDMj{O5T>9WSbJ!1#u#&IcrdlW8nNOj9Fy=O zSBYKUtCY6HKl#@ayiurLkL{TUAy2 zUdi5Ur}jR~Abku_#70s%*G^#)7wV*sx)*>)OTaUcDN7AA0PQ|7~drPzd0E z2dql`U;Il2f1hKt$PNLy^o@UKXTtGMz^y#=?)vQUn|*B{`A%MSU3CIQNq3j>Ef%S+ zMNaD$c0&fO#&S{<&m*}T+(+-^er0lswN3twyf+M(FRvY?c6K!|=RN*0#79ZB`+%roZ0A?ytPalnTxg(z3>(vgyNx$4h-Pb@hY3l2+>fw$X6b&2 zDNuCK5YG5edy>PJnBJN3rAU)Mm-ADuJ*}%es)31*0yRW?p#4=J_z4fwfj9pqUukb9 zB>}GrP%ZTS6mT^+BPeboPi#vgG6OTV+ElW>7KdyfS9qmY$}31pmkTNHP($*#1Fkn> zPTEi8Q_zyHk5>VIT?D&iVJ+1gKxp4a26#@(tXDK;yZ(Fi<?awJ>Xt~i*4l(`ZUD59d(@FOLJe5$*n4v5Y$KC-dkITCJ_4 z(833?u;!tdDx6?Ot z?uFSwC>&XnAg08l~hNO_nj8_kWln)`hU12Y>3i;O#!hOuCigbse)adezJ zm$1gLwuOpI$$K}pU2h?!W_ys66DfQPqk#4gs8D(i{VMYBsX@V_uw@n7(Db|<0qdC8 z+-jls{hzB~mcE~~c>`f6+Gziw$y}Kq++_C~UB8dV8o&?#S&)zchko(P-{#*x|Lsi( z2JAb2{+RriSn(+VQ>Un7R*js^RT2q+qIxjrAI94 zP@fTj?57-hqpqvL;lh%_z~aCX)uWH6@-|4V4-(DU9`!?pt-d^{K zIDYNeVmu)j_Y7WDsRC=s84E4V}nAZ(GPu+O+Wbu)_eBK&j(JM#t=bGd3 zwatBcJ=Wm{Av`H5=`{BKCxGDICdKmBcvzXuhkPUmDmRdAuKQT0?(tVXa2H(7)@dk%om!%MgxEz%jU+7`wuMb_sN(1;GgA*)z#I2 zDHySH$JPB55}N&oL4Js1;8RP>J4Ts|(4B+Zt<8Z1bvT51&Fu_*|3@Kjh2RVSPVd^= zAI|V^$9G0N=$voM%bKtEWC2tCJhixp1z^uzD_KdO)oT>B7exO2uc+ViSqt2M7D3f5 z--&?O6@A(9#hfF}RI>BLSG7)lr2E_Nd!#s1c+G4?mZ8@wan@)SWwTex=x3PAX`0CEL#vh7NEJ%$hS zpmCcEoz|jnlFBhA-O;sIA4EmbK2;*^womd)bgivx_SZd&gIxv>5DEq}Lnh31S zuQ77A5@Bz5J%$hZ+Hk)X#xoOM7D@;c@ILoOtJ!na1nbt&(*F6hmobvzL_f&+0ofd_ zI7%#7@$sM(kaJ4Sl!z(jd^sjDT*&XZbS=6;|0EL6=hRFCm`Y=OU4kJngm z`?^q%BX08VxA)WJo7*F)Kvn)#8gU?AMlfdo6@a97MyYqcsTl^S)*kbQ1Gs0F;4^or zCo0##ME$=Sfyot{Z*rZA#AC(;Zn$c&$_pgr+=w(EdeGG~zK{V8dx_AX_J`V)XQH}a z001v#yS`IwbS5F+_eQ;8_o!Nmqzibq&7*@Tc z(36L>y#4mM15_|kvdCo5+BZHw{tj;R#pvcrH#ax?UF_-e6<^7=12C6ZtpFc}6i`^d zvi_M3T*)4;u4y%tXXwFSzdk*?N>>Cb6Nq3jrMQeZG+Jb?A<#45MOlc$Q3B_)mN13Z zdHKvL-m*f(K`Bf{gHIu?4qV0fciPMka8PUF(gzZvsqbeV3DkY9lZ$_itFBJZvsdYT zg}0JF&Td$f0?(mv)E^*EfnFqUO`%PdvhqJMR6N0)X|hPa5uBRRkPt1D<1f zsJ%Hb14HQ$Zzf961z8?pX6(l`n3K(Ni`0+|3wE4wQu`ELUGP!c2UemA|oSq z3mwPH&Zrk6Jy_7dd`5VnW!2B*{Hzg-?SjpQS@@8u^_{CaV@zQVr$KnHSBVC@aPdTV z50>Lk58ZXXGLp{%@t2_K#cZc?r!Q)4FO*xUOAINvw6k`@reS)5bNtudM7#vc)P}>W z6eRsm@MJF)JCq4b;n)rDb1M}~?bB_@TYizkv9WYbUESQIetbSL-k)~UJ`>KPnWkjP ztN!e{(VGO8m^m@ll-uuG*&WXkp{zzZodBm&LvWE~Qcw!6B1X^j@-Lj3Ef}fjf`=>A zC7rk}_D*Y!#><8y=mGVoK|OJg~RIwNvBb54E<*agdm? z%=H78@EUz4Vv~;``>N++YVM-3nT40`IcxyNnAvpfCb?2FDqQ{qrNt&TA|bY7JZR!i zIXT)kE-=Mqs70y-A$EQk5h^GrCKIu`wN$}LeKJ7RygL!JJ9qFT24De zyi76mnVmC+OMTglJ9+kV_OS~ZBp?=bdZMpSStUuSYOFikIy;XPAS<}5vSSjuK36Gl zaC;akiBtT**2m{3aPf3~>T5scxV?QdvG{u9U5@;l?BG|<)c+>Hwglf~=WNPC;&VnF zd~A#u;}83D6wNtDU);^6o66gLs2%u7oo=WDRW6yGssk5Dw%Q3jZttP-GjFT|cY_(m z-1)$!{qDtYx+0KXXf+6VntkkOG7SdOS!XQ_O~+ygE@(4K@CJX}$RVPt40AsfHL@6( zGT&knVidS_J1WeUk$+rNET#C8JmZTbJQCpDhnEupb80=rZk;zI`JkF?2(!N0VTz&0 z3!}cVaZC4=y2J&(jMnDfbdfqd5%u2p=G;NI=sN$;?Nu6?7N>6xHt1Zs)b1-rjXX;JubGt$|p3TuF;0D?_?SmogKyb#>L;UKLB zHu%NHLQ9=C*Rroy;>(RsHGv8Z&Lc+qyP}GK4{!ODpb#y8Mc%2+AhGb8wu?QyXwP5OA6u)evmWnU z717;<69Yqqg^z3aV=In+r`X@ZmMK~W^&}%ubmC7&+&vdnaiJ#utfk^A^vXEY!U&96 zUMAW>*=9`KNK^5h)FW~py(+8>rGe2`-MkEqxDx@X`o2}y?k^9!IqtQb;YO-~yxV(( zVRzo|{@P`1h4F~Sqy*U0qR8?_Wizc8uahi4r^b);V(f>-KdH%8mBRs(_C%%o__*{%ZbQh z)du9i#N3%``2Ke;z=D+zM&S&GkB}pyvSc`3pdsS_Aw<~b+txVeICME>KFvy7x)5_5 z*)B*&W&Y4<9YrU|AI@b?6bCY7E`d^3!nTV^^8TE{ARe)Gk*?FDoxlOetaLQT@hWOS zPsWv zH%C2|R{Hfgftk0x=gg!N!^&FOEo_N?Sj!}(L4;$6h;Wi6mD{N;^I+__W;`LwBitSsQnwwRn7ZS?aJ`G?I+X#`J z0EB0o%=cuP-ql#y@p>><1Gt-E^lQ4EjMP(nb@0LLvrn6rX~^8nK3IGhoYY`+j?@GShvHa-`b1y5qJp(BvILAk#3&2z&4T3Md!+LqmXb$ z|EkDh56JIiR9(SF^d*cumYQprTmt(S^E5g_araj;jwiX?vR=eEx4%(kZ{bBaG@oEhLeg;tYl z#@v*^|3wf7}jbIh!6=aMoq9)%br+=5vc`-jGTbb)&Cd5Db8(^`M5$uAGYD0CUU9)YS}BkFcOQ{U65B4l)z0kfM7m^J(|PjO=1MaUlyRhJgr$8AGauR7KUG>s`X?wQ2&j}CO|&U3 zo6QrNllMO#@pFIpGime{9PK2Vw;u~%5K$3f91+x>!OUd_{lPEM%dWgDMc3z!Hcx7R7ikHK)g?CVn})~dH`UYRWmp{FiAu;R(qrfFFxtEDTpZ?z zT#Dks1WKM-1QgGh9y;k~S*wkS2K`G=>S+PIw(E_qFfFgf<2_&vv0ne{$f?dV(U{#_ zF;!S1cMGd|?uKM<={_BcFhOzxHu2d4?9X?dC?ZIV-rTcTcFdT8CO5kO+(M}{<5DO`c+i1~$v{1^&;VEMvaxf~?AS0efNAM{h1 zsg&Z`#HVp`6Im4_Z6&Z=u;vq$kGX{1^4ITB&@;YNVaiatT8IA5{6}eCmx6T$nk_HSJ;Ce=vDpkF@$C6v0>x`>V-DY1e=+2T z7Y6-zWT&QVdh88L=o*2YLo`zIyp^&?;&r6r_0#Sr6Dy!pSTu1th<5z>BEPS=e_yvE z{c@6`osGKEcPWYC9>pQ|3*z3QE&tE!Wqf-}HHF?qIqrhJ;VD&w6u2f1L!cMlHa4#o z+i(Tj9->ZNs$BIv^Z zCiO$2u?aiz8C&u3%aBPLw}jW9eC$oTkdx>!s|OAJgk_nxG(rrs^gMNx#Z_7n;)`XoKt z@=3MiA7;*frj zLiPGV(ub!%`PtZGn{H{dJ)4o1{c3QhIhXklHL6GKMgK0$LxL@xpac4&yG(~0SYU}x z{p(#yBWdmhxg~jiK z$qlWY6M&dN+Ixo6^jCEo;HUuRnQXMFkViG8c_m z=?ewGqc!YF1Us$>7atR54X=;0h(wea7wE0TZFh-2TiQ^Lm+F#>V8%yt9c6~ea89$d zJK?AUyv)9pf+HO>o0tC3$F=QiWMiWr?6lpGt9s(J1JeFzuH4zf($ZBOBUwF6NV`%j z|HiceCl5`Fh7`&l;0rm~OIQ-NBVKw1`4`z>j3j~WXHq8Mf|t)nTB-cpIsHkt4Qg)Z z29-9&44lkkO0VLS1NTTo)jxfhf~QYG{>-F^5~O-UhN+_I{&h>-lB7da`{Sfl>dLHA zq(68(A)oICXoOOEK||qH9!Wq0{12F-qjk?Ll{rk9<`?GMna7I$(qv8}nVTpWy{&ir zVRJ;2J=46{nH<5xTV}Gg?u(O^)!U#$ga1_V;T*)=I5Hfy-dWx2?j+nIgobrU>zFs! z&uz-~ug>LrmFKwnZF!rBZFl^!`N_cDa3nSh5wu)DJ{K>1aD0%TxohebVe0XS{s$$U z6lp9&%9f;!797fRq{8C`S>8$(F$(&25TjR7-WmCinQU7tB)=?AkXf$^3u~`v)|@J? zQ&q)Fv?D(#s9@(_?nj49>xKSSB=}=MXn)T{mS&@xbE+!H-%de6=`08Eu!cXfZud8! zVL(xiRWF9YsLMiXPp@zF6lRFXoqFY!9@hcG#N+=tZ``q8nJtn=`W z^)k5^glm-iD<7`l>%JpYY((;99SQu3V{{NZD?C_x`Du6Db8cn!>w2&6e70|xBX6#U zPqy~rhx2H1iN8*b>TV|lRhR4f_YgLxI2o1!gx`P3BsfORZMDCHKPBJ0j)zj}RiU5qTMSiQ(;$(%vKa1!T0-aj#Tx|!)%>7K;tR!KRqP8A0_>i z-3-ny)Sts+5C53RRR6$uc$i0PfMRa&y2;Y4&sBn+eIMVXl-2merTnRnr}ZVQ!ToA0 zUdN}7O3frpYpZ=LxX+6Om*C3(UWRVWD|rm^;!8?>Im-}&TdO=~+Y>OAf)|8`Ax(TB zM~wgZUK{(GYqj{II=hZjm;Dx%EjHRv{7pHCX>z znsUJ5cm!pI-^{)(s$-(F{=zR`fRN{~# z{V21J(vbaDHbYucCg}>7Ns?N1|MwkhtU^rEA;R~m%&QoLtHQkf`e*ikxH=L%TU2}G z!gVt~TCX(sT8M9dtupL*2lZPE$6chnOLuZs`)$8UN_q$Q=V9F6WAP%`fIsm5rBiH- Y^!L5vwOuDGz&jY4s!vsFlx-sZ5A#uvUH||9 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_interactive.txt deleted file mode 100644 index 05efdc798fb..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_interactive.txt +++ /dev/null @@ -1,22 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e49 button "Codex 모델 목록 새로고침" -e53 button "Codex 모델 목록 새로고침" -e55 tab "모델20/96 표시" -e56 tab "콤보" -e57 tab "라우팅 (beta)" -e58 tab "호환성" -e61 button "새로고침" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_text.txt deleted file mode 100644 index eb45a133302..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/models_compatibility_text.txt +++ /dev/null @@ -1,27 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -모델 -Codex가 이 카탈로그보다 오래된 모델 목록을 보여주고 있습니다. Codex를 재시작하면 새로 읽습니다. -Codex 모델 목록 새로고침 -모델20/96 표시 -콤보 -라우팅 (beta) -호환성 - -랩 프로젝션 증거의 읽기 전용 호환성 판정 행렬. - -새로고침 -랩 프로젝션을 사용할 수 없습니다. 먼저 적합성 또는 라이브 프로브를 실행하세요. diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/models_interactive.txt deleted file mode 100644 index fcbee9930f6..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/models_interactive.txt +++ /dev/null @@ -1,144 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e49 button "Codex 모델 목록 새로고침" -e53 button "Codex 모델 목록 새로고침" -e55 tab "모델20/96 표시" -e56 tab "콤보" -e57 tab "라우팅 (beta)" -e58 tab "호환성" -e63 button "모든 프로바이더 20/96 표시" -e64 button "OpenAI (Codex login) 3/7 표시" -e65 button "Anthropic Claude 3/13 표시" -e66 button "Cursor 6/40 표시" -e67 button "Google Antigravity 2/7 표시" -e68 button "Kimi 1/9 표시" -e69 button "Muse Code 2/2 표시" -e70 button "OpenCode Free 1/9 표시" -e71 button "xAI Grok 1/8 표시" -e74 button "새 모델을 비활성화 상태로 추가" -e75 button "기본 별칭을 전체에 사용" -e76 button "별칭" -e78 button "Codex 앱의 백그라운드 호출(gpt-5.6-luna, 제목·커밋 메시지)을 가로채 선택한 모델로 바꿉니다." -e80 button "쉐도우 호출 가로채기" -e81 combobox "쉐도우 호출 가로채기" -e86 radio "v1" -e87 radio "base" -e88 radio "v2" -e89 button "서브에이전트" -e91 combobox "기본 창 / 상한" -e94 button "전체 적용" -e96 button "모두 접기" -e97 button "모두 펼치기" -e98 button "openai OpenAI 네이티브 3/7 표시" -e101 button "공급자 별칭 편집" -e103 button "기본 별칭 사용" -e104 button "커스텀 모델 추가" -e105 button "모두 켜기" -e106 button "모두 끄기" -e107 button "기본 창 / 상한" -e108 combobox "기본 1.05M" -e111 button "사용자 지정 창" -e112 button "anthropic 3/13 표시 신규 4개, 꺼짐" -e115 button "공급자 별칭 편집" -e117 button "기본 별칭 사용" -e118 button "커스텀 모델 추가" -e120 radio "프리셋" -e121 radio "전체" -e122 button "모두 켜기" -e123 button "모두 끄기" -e124 button "기본 창 / 상한" -e125 combobox "기본 1M" -e128 button "사용자 지정 창" -e129 button "cursor 6/40 표시 신규 3개, 꺼짐" -e132 button "공급자 별칭 편집" -e134 button "기본 별칭 사용" -e135 button "커스텀 모델 추가" -e136 button "모두 켜기" -e137 button "모두 끄기" -e138 button "기본 창 / 상한" -e139 combobox "기본 1,048,576" -e142 button "사용자 지정 창" -e143 button "google-antigravity 2/7 표시 신규 1개, 꺼짐" -e146 button "공급자 별칭 편집" -e148 button "기본 별칭 사용" -e149 button "커스텀 모델 추가" -e150 button "모두 켜기" -e151 button "모두 끄기" -e152 button "기본 창 / 상한" -e153 combobox "기본 1,048,576" -e156 button "사용자 지정 창" -e157 button "kimi 1/9 표시" -e160 button "공급자 별칭 편집" -e162 button "기본 별칭 사용" -e163 button "커스텀 모델 추가" -e164 button "모두 켜기" -e165 button "모두 끄기" -e166 button "기본 창 / 상한" -e167 combobox "기본 1,048,576" -e170 button "사용자 지정 창" -e173 radio "끔" -e174 radio "켬" -e175 button "kimi/k3[1m]" -e177 button "모델 별칭 편집" -e179 button "kimi/k3" -e181 button "모델 별칭 편집" -e183 button "kimi/k3-256k" -e185 button "모델 별칭 편집" -e187 button "kimi/kimi-for-coding" -e189 button "모델 별칭 편집" -e191 button "kimi/kimi-for-coding-highspeed" -e193 button "모델 별칭 편집" -e195 button "kimi/kimi-k2.5" -e197 button "모델 별칭 편집" -e199 button "kimi/kimi-k2.6" -e201 button "모델 별칭 편집" -e203 button "kimi/kimi-k2.7-code" -e205 button "모델 별칭 편집" -e207 button "kimi/kimi-k2.7-code-highspeed" -e209 button "모델 별칭 편집" -e211 button "meta-muse 2/2 표시" -e214 button "공급자 별칭 편집" -e216 button "기본 별칭 사용" -e217 button "커스텀 모델 추가" -e218 button "모두 켜기" -e219 button "모두 끄기" -e220 button "기본 창 / 상한" -e221 combobox "기본 1,048,576" -e224 button "사용자 지정 창" -e227 radio "끔" -e228 radio "켬" -e229 button "meta-muse/muse-spark-1.3" -e231 button "모델 별칭 편집" -e233 button "meta-muse/muse-spark-1.3-contributor" -e235 button "모델 별칭 편집" -e237 button "opencode-free 1/9 표시 신규 2개, 꺼짐" -e240 button "공급자 별칭 편집" -e242 button "기본 별칭 사용" -e243 button "커스텀 모델 추가" -e244 button "모두 켜기" -e245 button "모두 끄기" -e246 button "기본 창 / 상한" -e247 combobox "기본 350k" -e250 button "사용자 지정 창" -e251 button "xai 1/8 표시 신규 1개, 꺼짐" -e254 button "공급자 별칭 편집" -e256 button "기본 별칭 사용" -e257 button "커스텀 모델 추가" -e258 button "모두 켜기" -e259 button "모두 끄기" -e260 button "기본 창 / 상한" -e261 combobox "기본 1M" -e264 button "사용자 지정 창" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_routing_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/models_routing_1440.png deleted file mode 100644 index c938d63d0ec3d23a0d85eaeaf6fd37b0978ce898..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156067 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 M(J+KGsyWC0Kd|3~uK)l5 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_routing_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/models_routing_interactive.txt deleted file mode 100644 index a39bea8892a..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/models_routing_interactive.txt +++ /dev/null @@ -1,28 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e49 button "Codex 모델 목록 새로고침" -e53 button "Codex 모델 목록 새로고침" -e55 tab "모델20/96 표시" -e56 tab "콤보0" -e57 tab "라우팅 (beta)0" -e58 tab "호환성" -e61 button "프로필 만들기" -e62 button "재시도" -e65 spinbutton "요청 컨텍스트 창(토큰)" -e66 checkbox "요청에 도구 필요" -e68 checkbox "요청에 이미지 입력 필요" -e70 checkbox "요청에 구조화된 출력 필요" -e72 button "후보 평가" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_routing_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/models_routing_text.txt deleted file mode 100644 index 8edb6e619a6..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/models_routing_text.txt +++ /dev/null @@ -1,37 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -모델 -Codex가 이 카탈로그보다 오래된 모델 목록을 보여주고 있습니다. Codex를 재시작하면 새로 읽습니다. -Codex 모델 목록 새로고침 -모델20/96 표시 -콤보0 -라우팅 (beta)0 -호환성 - -정책 프로필, dry-run 평가, 그리고 근거가 남는 라우팅 분석입니다. - -+ -프로필 만들기 -재시도 -드라이런 평가 -요청 컨텍스트 창(토큰) -요청에 도구 필요 -요청에 이미지 입력 필요 -요청에 구조화된 출력 필요 -후보 평가 -라우팅 분석 - -분석이 아직 없습니다. 먼저 요청을 보내세요. diff --git a/devlog/_plan/260904_dashboard_minimal/assets/models_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/models_text.txt deleted file mode 100644 index 2482b4a6f80..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/models_text.txt +++ /dev/null @@ -1,166 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -모델 -Codex가 이 카탈로그보다 오래된 모델 목록을 보여주고 있습니다. Codex를 재시작하면 새로 읽습니다. -Codex 모델 목록 새로고침 -모델20/96 표시 -콤보 -라우팅 (beta) -호환성 - -Codex가 보는 모델을 켜고 끕니다 — 네이티브 GPT passthrough와 라우팅된 모델을 프로바이더별로 묶어 보여줍니다(헤더를 클릭하면 접힘). 숨긴 모델은 카탈로그와 선택기에서 빠지지만 정확한 id로 직접 호출할 수 있습니다. 변경 사항은 다음 Codex 턴에 적용됩니다 — opencodex가 Codex의 5분 모델 캐시를 무효화하므로 재시작이 필요 없습니다. - -프로바이더 -8 -모든 프로바이더 -20/96 표시 -OpenAI (Codex login) -3/7 표시 -Anthropic Claude -3/13 표시 -Cursor -6/40 표시 -Google Antigravity -2/7 표시 -Kimi -1/9 표시 -Muse Code -2/2 표시 -OpenCode Free -1/9 표시 -xAI Grok -1/8 표시 -새 모델을 비활성화 상태로 추가 -별칭 -쉐도우 호출 가로채기 ⓘ -⚠ 5.6-luna → -— -서브에이전트 -v1 -base -v2 -기본 창 / 상한 -350k -라우팅된 모든 프로바이더에 350k 기본 창을 켭니다. 중계가 context_window / context_length 를 주지 않으면 이 값이 실제 Codex 창이 됩니다. 모델 하나만 손으로 쓰려면 같은 줄의 「사용자 지정 창」을 쓰세요. 네이티브 프로바이더는 영향을 받지 않습니다. -커스텀 2개 -피커 순서: Subagents에서 지정한 순서 → 나머지 라우팅 모델(프로바이더, 모델 ID 순 알파벳 정렬) → 네이티브 모델. 노출 토글은 모델을 필터링할 뿐 이 순서를 바꾸지 않습니다. -모두 접기 -모두 펼치기 -openai -OpenAI 네이티브 -3/7 표시 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1.05M -사용자 지정 창 -anthropic -3/13 표시 -신규 4개, 꺼짐 -기본 별칭 사용 -+ -커스텀 모델 추가 -프리셋 -전체 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1M -사용자 지정 창 -cursor -6/40 표시 -신규 3개, 꺼짐 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1,048,576 -사용자 지정 창 -google-antigravity -2/7 표시 -신규 1개, 꺼짐 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1,048,576 -사용자 지정 창 -kimi -1/9 표시 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1,048,576 -사용자 지정 창 -새 모델 정책 -끔 -켬 -kimi/k3[1m] -kimi/k3 -kimi/k3-256k -kimi/kimi-for-coding -kimi/kimi-for-coding-highspeed -kimi/kimi-k2.5 -kimi/kimi-k2.6 -kimi/kimi-k2.7-code -kimi/kimi-k2.7-code-highspeed -meta-muse -2/2 표시 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1,048,576 -사용자 지정 창 -새 모델 정책 -끔 -켬 -meta-muse/muse-spark-1.3 -meta-muse/muse-spark-1.3-contributor -opencode-free -1/9 표시 -신규 2개, 꺼짐 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -350k -사용자 지정 창 -xai -1/8 표시 -신규 1개, 꺼짐 -기본 별칭 사용 -+ -커스텀 모델 추가 -모두 켜기 -모두 끄기 -기본 창 / 상한 -1M -사용자 지정 창 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/providers_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/providers_1440.png deleted file mode 100644 index f9f618d4dd09ff8d832031a633d724d26e6987b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 272079 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�KPi%)g%QuK#DtzL{;3x_M1^LjI}|CoVCCF?$V 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�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 X9%R2D-S`4rAy9g&CRg$1!{`4GdNrwh diff --git a/devlog/_plan/260904_dashboard_minimal/assets/providers_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/providers_interactive.txt deleted file mode 100644 index 20c00cf244e..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/providers_interactive.txt +++ /dev/null @@ -1,37 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e49 button "프로바이더 추가" -e53 searchbox "프로바이더 검색…" -e54 button "프로바이더 필터" -e57 option "Anthropic Claude 선택 — 준비됨" -e58 option "Cursor 선택 — 준비됨" -e59 option "Google Antigravity 선택 — 준비됨" -e60 option "Kimi 선택 — 준비됨" -e61 option "Muse Code 선택 — 준비됨" -e62 option "OpenAI (Codex login) 선택 — 준비됨" -e63 option "OpenCode Free 선택 — 준비됨 · 무료" -e64 option "xAI Grok 선택 — 준비됨 · 기본" -e66 option "Lidge 선택 — 비활성" -e70 button "JSON 편집" -e74 button "Cursor 방금 전 전 확인 자사 모델 9월 17일, 01:54 초기화 5% 사용 API 사용량 9월 17일, 01:54 초기화 55% 사용 30일 한도 9월 17일, 01:54 초기화 12% 사용" -e75 button "Anthropic Claude 방금 전 전 확인 5시간 한도 5시간 후 초기화 2% 사용 주간 한도 내일 08:00 초기화 55% 사용 Fable 내일 08:00 초기화 50% 사용" -e82 button "Kimi 방금 전 전 확인 5시간 한도 4시간 후 초기화 21% 사용 주간 한도 9월 9일, 23:22 초기화 10% 사용" -e83 button "Google Antigravity 방금 전 전 확인 Gem 5시간 후 초기화 1% 사용 Cla 5시간 후 초기화 0% 사용" -e84 button "xAI Grok 방금 전 전 확인 주간 한도 9월 10일, 19:26 초기화 0% 사용" -e87 button "Anthropic Claude 94.7k건 요청" -e88 button "OpenAI (Codex login) 84.1k건 요청" -e89 button "xAI Grok 16.5k건 요청" -e90 button "Kimi 4.6k건 요청" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/providers_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/providers_text.txt deleted file mode 100644 index 67ae32256f0..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/providers_text.txt +++ /dev/null @@ -1,125 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -프로바이더 -프로바이더 추가 -준비됨 -8 -Anthropic Claude -모델 13개 -Cursor -모델 40개 -Google Antigravity -모델 7개 -Kimi -모델 9개 -Muse Code -모델 2개 -OpenAI (Codex login) -  -OpenCode Free -무료 -모델 9개 -xAI Grok -모델 8개 -비활성 -1 -L -Lidge -모델 1개 -프로바이더 개요 - -모든 모델 프로바이더를 한곳에서 관리합니다. - -JSON 편집 -8 -준비됨 -0 -설정 필요 -1 -비활성 -사용량 제한 -Cursor -방금 전 전 확인 -자사 모델 -9월 17일, 01:54 초기화 -5% 사용 -API 사용량 -9월 17일, 01:54 초기화 -55% 사용 -30일 한도 -9월 17일, 01:54 초기화 -12% 사용 -Anthropic Claude -방금 전 전 확인 -5시간 한도 -5시간 후 초기화 -2% 사용 -주간 한도 -내일 08:00 초기화 -55% 사용 -Fable -내일 08:00 초기화 -50% 사용 -OpenAI (Codex login) -방금 전 전 확인 -설정 가중치 기반 풀 추정치 -5시간 한도 -일부만 -0% 사용 -주간 한도 -일부만 -42% 사용 -30일 한도 -일부만 -0% 사용 -다음 용량 회복 · 주간 · 2026. 9. 7. 오전 11:28 -+8.5% 풀 용량 -현재 유효 계정 · go -30일 한도 -10월 1일, 08:49 초기화 -0% 사용 -보정되지 않은 요금제 1개는 기본 좌석 가중치로 계산되어, 이 추정치가 실제보다 낮을 수 있습니다 -일부 기간의 범위가 불완전합니다: 5개 계정에서 표시된 모든 한도 기간을 확인할 수 없습니다 -Kimi -방금 전 전 확인 -5시간 한도 -4시간 후 초기화 -21% 사용 -주간 한도 -9월 9일, 23:22 초기화 -10% 사용 -Google Antigravity -방금 전 전 확인 -Gem -5시간 후 초기화 -1% 사용 -Cla -5시간 후 초기화 -0% 사용 -xAI Grok -방금 전 전 확인 -주간 한도 -9월 10일, 19:26 초기화 -0% 사용 -최근 사용 -Anthropic Claude -94.7k건 요청 -OpenAI (Codex login) -84.1k건 요청 -xAI Grok -16.5k건 요청 -Kimi -4.6k건 요청 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/startup_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/startup_1440.png deleted file mode 100644 index b81fb5d36c156ec6e2b78107bcd9840b567d7ca5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 215104 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

    ;!9s=yU6z5PE;u z+E~he1<4}rgpDpL=r1GU=f1tWCEqb;V!ri?WZ%Z{wVdxXaZlTyH%n-X3Rtx#Lfb*W z3sDUl$QhXn8VHQ>N`<|WQVY~ERd#O*3ArMWGF-NdntcN>j@Niqy88Mys=8;+%t2D^ zixsMh;ApK>KeDAK@ z_10sf8@RDq!h8Jd+n}xl6p^ZSjBPkFtbX#)fwO&RkWwBDC(A_JBP5Z9NB<`I6+r3+ z&^sZ9ZWpf;z;h7+h~^)?1uZYH#jacx^aczS8?0~h%=8##tw&!f1$-B#?RrYj$Pd*? z%xh09eC`)GI~Ab(gJ+svvsr5GsH(-0DKdILZp`V4)jAzzGv9Ut@aZh3a6Li@(y_wK zG?iTt&?j;p@Eo}oPlK{3b?pb_fPD9wJ^sZ4&?(}9jSwNZWFw|hi&~Pa8M4!#kf;)m zkJ-9;?-kMu$>ciUUtcgT_vK>P5QzMltm7Ea2JdJ7qzE}WQ>;^sgwPHPrqXc`GbBox zj(dJX**V?^cVVl;qlpriN{$>KYapUxGCgLsf6Mp{@IMWk@qZ;}ND*`|p~@u62EQTZ zsm3R3D;E~y)Bmr;jQYOE6X&MO_BfM-hs*B5l&Ef8cld$zYao9ks6jP3V~S0ef6o!! zYs7*jApMkMjst>=I%JZl-mt~y&prR&d6^@!WUE-Lz)(vYc4GRs0$^y2ghsRZ z8kPUcFR&gb^6KnCv`SGz(ei*d&1 z;3vLU{2XA9ANzB9L `?zj{>v-pCE=(>N9+PK!_F086+8 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%0Ac?v&n4)Eb8DxKT}X7%PY%>^ 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

    uI!935xQDbk;mtS54OC3BXFc&bTE87 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 bK~BbZ`sv$Q>7Nte3E2w;wdX~0#vlG47R~lG diff --git a/devlog/_plan/260904_dashboard_minimal/assets/subagents_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/subagents_interactive.txt deleted file mode 100644 index 4804ad74d19..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/subagents_interactive.txt +++ /dev/null @@ -1,60 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e50 tab "추천5/5" -e51 tab "모델21" -e52 tab "설정" -e61 button "xai/grok-4.6 위로 이동" -e63 button "xai/grok-4.6 아래로 이동" -e65 button "xai/grok-4.6 삭제" -e68 button "gpt-5.6-sol 위로 이동" -e70 button "gpt-5.6-sol 아래로 이동" -e72 button "gpt-5.6-sol 삭제" -e75 button "gpt-5.6-terra 위로 이동" -e77 button "gpt-5.6-terra 아래로 이동" -e79 button "gpt-5.6-terra 삭제" -e82 button "gpt-5.6-luna 위로 이동" -e84 button "gpt-5.6-luna 아래로 이동" -e86 button "gpt-5.6-luna 삭제" -e89 button "gpt-5.5 위로 이동" -e91 button "gpt-5.5 아래로 이동" -e93 button "gpt-5.5 삭제" -e95 button "저장" -e99 textbox "모델 검색(네이티브 gpt + 라우팅)…" -e101 button "gpt-5.6-sol을(를) 추천에서 제거" -e104 button "gpt-5.6-terra을(를) 추천에서 제거" -e107 button "gpt-5.6-luna을(를) 추천에서 제거" -e110 button "anthropic/claude-fable-5-1을(를) 추천에 추가" -e113 button "anthropic/claude-opus-4-6을(를) 추천에 추가" -e116 button "anthropic/claude-opus-5을(를) 추천에 추가" -e119 button "cursor/claude-fable-5-1을(를) 추천에 추가" -e122 button "cursor/gemini-3.6-flash을(를) 추천에 추가" -e125 button "cursor/gemini-3.7-flash을(를) 추천에 추가" -e128 button "cursor/gemini-3.8-flash을(를) 추천에 추가" -e131 button "cursor/grok-4.6을(를) 추천에 추가" -e134 button "cursor/kimi-k3을(를) 추천에 추가" -e137 button "google-antigravity/claude-opus-4-6-thinking을(를) 추천에 추가" -e140 button "google-antigravity/gemini-3.8-flash을(를) 추천에 추가" -e143 button "kimi/k3[1m]을(를) 추천에 추가" -e146 button "meta-muse/muse-spark-1.3을(를) 추천에 추가" -e149 button "meta-muse/muse-spark-1.3-contributor을(를) 추천에 추가" -e152 button "opencode-free/muse-spark-1.2-contributor-free을(를) 추천에 추가" -e155 button "xai/grok-4.6을(를) 추천에서 제거" -e158 button "lidge/qwen3.8-27b-nvfp4을(를) 추천에 추가" -e161 button "gpt-5.5을(를) 추천에서 제거" -e166 combobox "서브에이전트 위임" -e170 button "Codex 설정에도 기본값으로 저장" -e172 button "일 나누는 방법 알려주기" -e174 button "울트라 모드" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/subagents_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/subagents_text.txt deleted file mode 100644 index 8932e64cc91..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/subagents_text.txt +++ /dev/null @@ -1,74 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -서브에이전트 -추천5/5 -모델21 -설정 -추천 -5/5 - -여기서 선택해 표시된 순서가 Codex 모델 피커 최상단 1~5위와 spawn_agent의 기본 모델 후보를 결정합니다. - -1 -xai/grok-4.6 -2 -gpt-5.6-sol -3 -gpt-5.6-terra -4 -gpt-5.6-luna -5 -gpt-5.5 -저장 -모델 -21 -2 -gpt-5.6-sol -3 -gpt-5.6-terra -4 -gpt-5.6-luna -anthropic/claude-fable-5-1 -anthropic/claude-opus-4-6 -anthropic/claude-opus-5 -cursor/claude-fable-5-1 -cursor/gemini-3.6-flash -cursor/gemini-3.7-flash -cursor/gemini-3.8-flash -cursor/grok-4.6 -cursor/kimi-k3 -google-antigravity/claude-opus-4-6-thinking -google-antigravity/gemini-3.8-flash -kimi/k3[1m] -meta-muse/muse-spark-1.3 -meta-muse/muse-spark-1.3-contributor -opencode-free/muse-spark-1.2-contributor-free -1 -xai/grok-4.6 -lidge/qwen3.8-27b-nvfp4 -5 -gpt-5.5 -설정 -먼저 부를 모델 -Codex가 일을 나눠 맡길 때 가장 먼저 부를 모델입니다. 위 추천 목록이 부를 수 있는 후보라면, 여기서 고른 모델이 그중 1순위가 됩니다. -없음 -Codex 설정에도 기본값으로 저장 -켜면 위에서 고른 모델이 Codex 설정 파일에 저장돼, 새로 시작하는 작업도 처음부터 그 모델을 씁니다. 끄면 여기서만 기억합니다. 반영은 다음 동기화나 재시작 때이고, 직접 적어둔 [agents] 설정은 그대로 둡니다. -일 나누는 방법 알려주기 -Codex에게 "일을 이렇게 나눠 맡기면 된다"는 짧은 쪽지를 붙여 보냅니다. v2에서는 쓸 수 있는 모델 목록과 우선 모델을 알려주고, v1에서는 추론 강도가 max나 ultra일 때만 동작합니다. 끄면 아무 쪽지도 붙지 않습니다. -울트라 모드 -모든 모델과 reasoning effort에서 Proactive 멀티에이전트 위임 정책을 켭니다 (reasoning effort 자체는 변경하지 않음). config.toml에 features.multi_agent_v2.multi_agent_mode_hint_text를 기록합니다. -v2 멀티에이전트 서피스가 필요합니다 — 먼저 multi_agent_v2를 켜고 서브에이전트 모드에서 v2를 선택하세요. diff --git a/devlog/_plan/260904_dashboard_minimal/assets/usage_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/usage_1440.png deleted file mode 100644 index 498569b4f5e239a230d032e83e335d68c81e6116..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192569 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 KLhIH{-M<0cFskza diff --git a/devlog/_plan/260904_dashboard_minimal/assets/usage_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/usage_interactive.txt deleted file mode 100644 index de4e976be79..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/usage_interactive.txt +++ /dev/null @@ -1,27 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e50 button "전체" -e51 button "Codex" -e52 button "Claude" -e53 button "Grok" -e55 button "사용 가능한 기록" -e56 button "30일" -e57 button "7일" -e60 tab "개요231928" -e61 tab "모델66" -e62 tab "프로바이더19" -e63 tab "커버리지 상세99%" -e72 textbox "모델 검색…" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/usage_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/usage_text.txt deleted file mode 100644 index bc9a16d6083..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/usage_text.txt +++ /dev/null @@ -1,256 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -사용량 -전체 -Codex -Claude -Grok -사용 가능한 기록 -30일 -7일 - -프록시의 로컬 토큰 집계입니다. 누락된 사용량은 0으로 표시하지 않습니다. - -개요231928 -모델66 -프로바이더19 -커버리지 상세99% -요청 -231928 -측정됨 -229025 -총 토큰 -515.1억 -캐시 히트 토큰 -497.9억 -캐시 생성: 6.1억 -커버리지 -99% -활동일 -30 -API 정가 환산치 (이 기간) -~US$38,986.1775 -결제 영수증이 아닙니다. 구독 사용량 또는 프로바이더 크레딧이 대신 적용될 수 있습니다. -비용 산정 불가 7432건 제외 -일별 활동 -Aug -Sep -Oct -Nov -Dec -Jan -Feb -Mar -Apr -May -Jun -Jul -Aug -월 -수 -금 -적음 -많음 -모델 -모델 프로바이더 요청 측정됨 토큰 비율 -claude-opus-5 Anthropic Claude 72724 72593 284억 - - -gpt-5.6-sol OpenAI (Codex login) 70222 69384 113.9억 - -claude-fable-5 Anthropic Claude 12246 12183 35.7억 - -claude-fable-5-1 Anthropic Claude 5182 5156 17.6억 - -grok-4.6 xAI Grok 15461 15361 17.3억 - -claude-opus-4-6 Anthropic Claude 4461 4448 9.3억 - -k3[1m] Kimi 3824 3758 7.5억 - - -gpt-5.6-terra OpenAI (Codex login) 6693 6604 7.5억 - -gemini-3.7-flash Google Antigravity 3185 3145 4.8억 - -x-preview-f-free OpenCode Free 1946 1865 4.4억 - -stealth/ox-alpha OpenRouter 2126 2102 3.5억 - - -gpt-5.6-luna OpenAI (Codex login) 6030 5079 2.9억 - -grok-4.5 xAI Grok 1011 1001 1.7억 - -gemini-3.8-flash Google Antigravity 1105 1105 1.2억 - -gpt-5.5 OpenAI (Codex login) 864 862 1억 - -qwen3.8-max-preview Alibaba Token Plan (Intl) 337 336 8588.3만 - -anthropic/claude-opus-5 Kimi 758 754 8274.7만 - -claude-opus-5 Kiro 21651 21444 4101.1만 - -gemini-3.6-flash Google Antigravity 88 88 2830.5만 - -grok-4.6 Cursor 304 291 2137.1만 - -qwen3.8-27b-nvfp4 Lidge 168 102 562.5만 - -gpt-5.3-codex-spark OpenAI (Codex login) 274 265 514.5만 - -kimi-k3 OpenCode Go 83 79 480.4만 - -claude-opus-4-6-thinking Google Antigravity 61 61 322.1만 - -kimi-k3-1m Cursor 48 34 215.6만 - -deepseek-v4-pro Alibaba Token Plan (Intl) 33 33 196.3만 - -anthropic/claude-fable-5 Kimi 9 8 191.4만 - -cursor/grok-4.5 Kimi 24 24 177만 - -gemini-3.7-flash-high Google Antigravity 11 10 160.5만 - -qwen3.8-max Alibaba Token Plan (Intl) 13 13 84.4만 - -gpt-5.4-mini OpenAI (Codex login) 26 25 83.5만 - -grok-4.5 Cursor 13 13 80.1만 - -kimi-k3 Cursor 26 26 61.2만 - -claude-opus-4.6 Kiro 665 662 50.6만 - -deepseek-v4-flash DeepSeek 16 16 32.7만 - -anthropic/claude-opus-4-6 Kimi 6 5 27.8만 - -gemini-3.7-flash Cursor 5 5 14.8만 - -muse-spark-1.3-contributor Muse Code 7 7 12.4만 - -k3 Kimi 3 3 6.8만 - -glm-5.3 Cursor 4 4 5.6만 - -gemini-3.5-flash Cursor 3 3 4.4만 - -claude-sonnet-4-5 Anthropic Claude 7 7 3.4만 - -claude-3-haiku-20240307 Anthropic Claude 49 42 1.5만 - -unpriced-model Unpriced Provider 7 7 770 - -no-such-model No Such Provider 7 7 770 - -muse-spark-1.3 Muse Code 1 1 227 - -gemini-3.6-flash Kimi 4 4 141 - -qwen3.8-27b-nvfp4 Kimi 1 1 59 - -gemini-3.5-flash-high Kimi 1 1 41 - -gemini-3.7-flash-tiered Kimi 2 2 38 - -policy/does-not-exist Kimi 1 1 38 - -gemini-3.6-flash-tiered Kimi 1 1 19 - -google/gemini-3.7-flash Zenmux 1 1 1 - -unknown Unknown 119 0 0 - -gpt-image-2 OpenAI (Codex login) 3 0 0 - -gpt-live OpenAI (Codex login) 3 0 0 - -gpt-6-astra OpenAI (Codex login) 2 0 0 - -gpt-5.6-cyber OpenAI (Codex login) 2 0 0 - -claude-opus-5 Anthropic Native 1 0 0 - - -gpt-daybreak-blue-latest OpenAI (Codex login) 1 0 0 - - -gpt-5.6-sol Kiro 1 0 0 - -gpt-5.7-astra OpenAI (Codex login) 1 0 0 - -gpt-6 OpenAI (Codex login) 1 0 0 - -mewfour xAI Grok 1 0 0 - -astra OpenAI (Codex login) 1 0 0 - -mewfour OpenAI (Codex login) 1 0 0 -프로바이더 -프로바이더 요청 측정됨 토큰 비율 -Anthropic Claude 94669 94429 346.5억 - -OpenAI (Codex login) 84124 82219 125.4억 - -xAI Grok 16473 16362 18.9억 - -Kimi 4634 4562 8.4억 - -Google Antigravity 4450 4409 6.3억 - -OpenCode Free 1946 1865 4.4억 - -OpenRouter 2126 2102 3.5억 - -Alibaba Token Plan (Intl) 383 382 8869만 - -Kiro 22317 22106 4151.6만 - -Cursor 403 376 2518.8만 - -Lidge 168 102 562.5만 - -OpenCode Go 83 79 480.4만 - -DeepSeek 16 16 32.7만 - -Muse Code 8 8 12.4만 - -Unpriced Provider 7 7 770 - -No Such Provider 7 7 770 - -Zenmux 1 1 1 - -Unknown 119 0 0 - -Anthropic Native 1 0 0 -커버리지 상세 -측정됨 -229025 -제공자 보고 -206539 -추정 -22486 -미보고 -2903 -미지원 -0 - -측정됨 항목은 제공자 보고와 추정 토큰 수치를 함께 포함합니다. 미보고/미지원 요청은 추적만 하고 0으로 환산하지 않습니다. diff --git a/devlog/_plan/260904_provider_quota_refresh/000_plan.md b/devlog/_plan/260904_provider_quota_refresh/000_plan.md index e37cdca4c2b..9a378ce9651 100644 --- a/devlog/_plan/260904_provider_quota_refresh/000_plan.md +++ b/devlog/_plan/260904_provider_quota_refresh/000_plan.md @@ -1,7 +1,6 @@ # Provider quota refresh affordance + Meta usage visibility -Unit opened 2026-09-04. Two defects reported against the live Providers dashboard -on `http://localhost:10100/#providers`: +Unit opened 2026-09-04. Two defects reported against the live Providers dashboard: 1. Only the Codex account pool has a "Refresh quotas" button. Every other provider — anthropic, xai, cursor, google-antigravity, meta-muse — offers the operator no @@ -9,7 +8,7 @@ on `http://localhost:10100/#providers`: 2. Meta Muse shows no quota on the provider Usage tab even though the proxy has an observation for it. -## Evidence gathered at P (live proxy, port 10100, v2.42.0, pid 73184) +## Evidence gathered at P (live proxy, v2.42.0) `GET /api/provider-quotas` returns six reports, and `meta-muse` is one of them: @@ -77,6 +76,7 @@ config save, provider add/remove. There is no operator-initiated path. The `bun x tsc --noEmit`, `bun run lint:gui` only. - Push with `--no-verify`; branch `codex/260904-provider-quota-refresh`; target `dev`. - A GUI-mentioning PR requires a screenshot in the description (`enforce-target`). -- The live proxy on port 10100 is the user's working service. Read it, restart it - only when a rebuild must be picked up, never repoint or reconfigure it. +- Verification must use an isolated scratch instance. Do not restart, repoint or + reconfigure the user's working proxy. The completed isolation record supersedes + the original working-service restart plan. - `refresh=1` must never cause a passive provider to spend an inference turn. diff --git a/devlog/_plan/260904_provider_quota_refresh/030_wp3_live_verification_and_pr.md b/devlog/_plan/260904_provider_quota_refresh/030_wp3_live_verification_and_pr.md index a8c4168b63d..29fdc19756b 100644 --- a/devlog/_plan/260904_provider_quota_refresh/030_wp3_live_verification_and_pr.md +++ b/devlog/_plan/260904_provider_quota_refresh/030_wp3_live_verification_and_pr.md @@ -8,32 +8,34 @@ phase is the evidence phase. 1. `bun run build:gui` — the service serves `gui/dist`, so an unbuilt change is invisible no matter how green the tests are. -2. `ocx service restart` — picks up the server-side `observed` flag. Confirm a new - pid and fresh uptime on `/healthz`, and that the port is still 10100. The service - is the user's own; restart it, never repoint or reconfigure it. -3. `curl /api/provider-quotas` with the admin token — the meta-muse row must now +2. Load the rebuilt code in the isolated scratch instance and confirm its identity + and fresh uptime on `/healthz`. The completed isolation record supersedes the + original `ocx service restart` plan; do not restart, repoint or reconfigure the + user's working proxy. +3. Query the scratch instance's `/api/provider-quotas` with its admin token — the meta-muse row must now carry `"observed": true`. This is the wire-level proof, checked before the UI so a blank screen can be attributed correctly. -## Browser verification (`aside-jun`, CLI repl on the signed-in profile) +## Browser verification (aside CLI repl on the signed-in profile) The dashboard is loopback and needs no login, so `aside repl` is the right surface: one invocation is one session, it throws on a bad path instead of skipping, and the screenshots land as real files. A whole inspect-act-verify flow must fit in a single invocation because bindings do not persist between calls. -Shots to capture into `devlog/_plan/260904_provider_quota_refresh/assets/`: +The planned capture set covered the Usage quota display, the Usage and Accounts +refresh controls, and the post-click success state. The completed record in +`031_live_verification_record.md` preserves the observed outcomes. -| File | Content | -|------|---------| -| `010_meta_usage_quota.png` | meta-muse → Usage tab with both windows and the observation age | -| `020_usage_refresh_button.png` | the Usage rate-limits header with its refresh control | -| `030_accounts_refresh_button.png` | the Accounts tab refresh control for an OAuth provider | -| `040_refresh_result.png` | the post-click success status | +Those live captures were subsequently removed from the current tree under one +retention rule for both surfaces: account and usage screenshots from a real +operator profile are unnecessary once the behavioral evidence is recorded in +text. The planned filename list is also retired; it differed from the delivered +filenames and must not be treated as an asset inventory. -Aside writes under `~/.aside/u/0/`; Codex copies the files into the repository. Every -`aside` invocation runs under `perl -e 'alarm shift; exec @ARGV' 300` because macOS -has no `timeout` and the bare spelling exits 127 without ever starting the run. +The plan required each `aside` invocation to run under +`perl -e 'alarm shift; exec @ARGV' 300` because macOS has no `timeout` and the bare +spelling exits 127 without starting the run. ## Push and PR diff --git a/devlog/_plan/260904_provider_quota_refresh/031_live_verification_record.md b/devlog/_plan/260904_provider_quota_refresh/031_live_verification_record.md index cda6fdbe9e8..3dfbafb3185 100644 --- a/devlog/_plan/260904_provider_quota_refresh/031_live_verification_record.md +++ b/devlog/_plan/260904_provider_quota_refresh/031_live_verification_record.md @@ -1,20 +1,14 @@ # Live verification record — 2026-09-04 Both defects were reproduced and then confirmed fixed against a running proxy serving the -built GUI. Screenshots in `assets/`. +built GUI. The observations below preserve that historical verification. ## Isolation -The user's own proxy runs on port 10100 from -`/Users/jun/Developer/new/700_projects/opencodex` under launchd — a different checkout -from this worktree, so restarting it would NOT have loaded this change, and repointing it -is out of bounds. Verification therefore ran on a scratch instance: - -- `OPENCODEX_HOME` = a `mktemp -d` directory holding only `config.json` (three providers), - `auth.json`, and `provider-account-quota-cache.json` copied from the real home. -- port 10399, started with `bun run src/cli/index.ts start --port 10399` from this worktree. -- Port 10100 was confirmed untouched afterwards: same pid 73184, uptime still climbing. -- The scratch home was moved to Trash when finished. +Verification ran against an isolated scratch instance. The existing proxy used a +separate checkout and was left untouched; its process identity and increasing +uptime were confirmed afterward. The scratch home was moved to Trash when +verification finished. ## Wire evidence @@ -46,17 +40,16 @@ The refresh control was exercised, not merely rendered: - Usage tab: clicking `Refresh quotas` produced `status: "Quotas refreshed"` and the age line re-derived from `5h ago` to `6h ago` — the read really happened. -- Accounts tab (anthropic, three pooled accounts): the control appears beside +- Accounts tab (pooled OAuth provider): the control appears beside `Add account` and reported `Quotas refreshed` after a real forced read. -## Assets +## Capture retention -| File | Content | -|---|---| -| `010_meta_usage_quota.png` | Muse Code → Usage with both windows and the refresh control | -| `020_usage_refresh_result.png` | the same tab after a click, showing the success status | -| `030_accounts_refresh_button.png` | Accounts tab control for a pooled OAuth provider | -| `040_accounts_refresh_result.png` | Accounts tab after a click | +The Accounts and Usage captures were subsequently removed from the current tree. +Both came from a real operator profile; retaining either surface is unnecessary +for the behavioral evidence above. This applies the same retention rule to both +surfaces without claiming that the Usage captures were independently cleared of +personal information. Git history is unchanged. ## CI (PR #3448, head 232afdd97) diff --git a/devlog/_plan/260904_provider_quota_refresh/assets/010_meta_usage_quota.png b/devlog/_plan/260904_provider_quota_refresh/assets/010_meta_usage_quota.png deleted file mode 100644 index f36ca63dd7e258145283776b5ba0c2f5ddd6fc84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207974 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

    k>66WiJwT=fcR1( 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

    +WHP0VkEpG;rWSLghxx>Y~>(ppXz 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 z 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 diff --git a/devlog/_plan/260904_provider_quota_refresh/assets/030_accounts_refresh_button.png b/devlog/_plan/260904_provider_quota_refresh/assets/030_accounts_refresh_button.png deleted file mode 100644 index 986fa60ad624cd4c310ecd914619c9eb0d4907b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236698 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

    V+6vEnAnjuc9S3s*GXCO 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 Vo=^Ej4fqL?io#R*ce0k@{|ET+0~7!N diff --git a/devlog/_plan/260904_provider_quota_refresh/assets/040_accounts_refresh_result.png b/devlog/_plan/260904_provider_quota_refresh/assets/040_accounts_refresh_result.png deleted file mode 100644 index ef6c83693facbb811dd433967a1517fc1780f6b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 234429 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�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 K!s?Z+!u}uFBWxQ0 diff --git a/devlog/_plan/260907_release_note_prefix/010_implementation.md b/devlog/_plan/260907_release_note_prefix/010_implementation.md new file mode 100644 index 00000000000..ebc3fbf2296 --- /dev/null +++ b/devlog/_plan/260907_release_note_prefix/010_implementation.md @@ -0,0 +1,25 @@ +# Issue #3895: implementation plan + +Satisfy-spec work, triggered by issue #3895 and the request to implement separate draft PRs. Goal: remove the exact leading enforcement marker from release summaries and full changelogs. Non-goals: changing workflow enforcement, publishing a release, modifying historical releases, or generic bracket stripping. Stop after verified draft PR; report unresolved gates. Escalate if renderer changes require workflow/security-policy changes. This file records plan and evidence. + +Class C2: pure formatting behavior, without modifying release authorization or execution. Independent branch from 522ce5f8c. + +File map: +- MODIFY scripts/release-notes.ts: introduce a private exact-prefix normalization helper next to cleanPrTitle. Trim whitespace, remove one leading "[WRONG BRANCH] " marker, retain the rest. Call it before conventional-prefix parsing and for full-changelog titles. Preserve conventional prefixes and author/PR attribution in changelog entries. +- MODIFY tests/ci-workflows/release-notes.test.ts: helper expected scope/casing; complete renderer on generated and carried notes; same-scope grouping; preservation of unrelated bracket tags, nonleading marker, author and PR references. Assert both category and Changelog output. +- MODIFY structure/06_docs-and-release.md: record known-marker handling and preservation of original conventional titles in full changelogs. + +Verification: release-notes tests directly import changed helpers; typecheck covers src only and is not represented as script type checking; full prepush is required by scripts/AGENTS.md; privacy scan. Baseline on unchanged code: 71 passed. Regression expectations come from the published issue, not from cleanPrTitle itself. + +Audit: cleaning only cleanPrTitle was rejected because changelog emits the raw title. General bracket normalization would remove meaningful content. Private helper is shared by exactly two consumers and adds no runtime dependency. Explicit maintainer review for release-related changes remains pending at draft handoff. + +## Verification before draft publication + +- `bun install --frozen-lockfile`: passed; lockfile unchanged. +- Before the production change, four new assertions failed for marker leakage: helper cleanup, delta renderer, carried renderer, and same-scope grouping. Existing baseline: 71 passed. +- `bun test tests/ci-workflows/release-notes.test.ts`: 81 passed, 0 failed after expanding preservation cases. +- `bun run typecheck`: passed during prepush. +- `bun x tsc --ignoreConfig --noEmit --strict --target ESNext --module ESNext --moduleResolution bundler --skipLibCheck --types bun scripts/release-notes.ts`: passed; this explicitly covers the script outside the root tsconfig. +- `bun run privacy:scan`: passed. +- `bun run prepush`: not green. The parallel test lane exceeded its repository-defined 900-second deadline and exited 124; later lanes/stages did not run. Eleven failures were emitted before termination: six timeout cases across combo management, Claude messages, loopback injection, integration restore and Responses overflow; one Claude compatibility assertion failure; four Aside file-symlink EPERM cases. The full suite is incomplete, and no successful full-suite count is claimed. These files are outside the renderer change; causes other than the explicit symlink errors remain unverified. Raw local evidence is in ignored `.tmp/prepush.log`. +- Focused independent review found no concrete production blocker; it was limited and did not replace maintainer security review or complete-suite verification. Linux and macOS were not run locally. diff --git a/devlog/_plan/260907_router_selection_capture/010_implementation.md b/devlog/_plan/260907_router_selection_capture/010_implementation.md new file mode 100644 index 00000000000..9ec8b3422f4 --- /dev/null +++ b/devlog/_plan/260907_router_selection_capture/010_implementation.md @@ -0,0 +1,32 @@ +# Issue #3894: implementation plan + +Satisfy-spec work, triggered by issue #3894 and the request to implement separate draft PRs. Goal: remove the direct router/selection mutation dependency. Non-goals: changing key resolution/failover or eliminating all transitive router cycles. Stop after verified draft PR; report unresolved gates. Escalate if extraction requires behavioral changes. This file records plan and evidence. + +Class C2: one pure helper extracted in the existing provider module convention. Independent branch from 522ce5f8c. + +Current map: router imports api-key-selection for capture; api-key-selection imports router for route resolution. Existing direct helper callers: router and matchesSelection. No package exports change. +Chosen map: both modules import api-key-selection-capture; the old api-key-selection export forwards the same function. New leaf uses only existing OcxProviderConfig and ProviderApiKeySelection type imports. +Rejected alternative: extracting routedProviderConfig would move broad routing dependencies. Other existing transitive cycles stay outside scope. + +File map: +- NEW src/providers/api-key-selection-capture.ts: the existing function body unchanged, plus the two type-only imports. +- MODIFY src/providers/api-key-selection.ts: replace local implementation with named import and compatibility re-export. +- MODIFY src/router.ts: change capture import to the leaf. +- NEW tests/providers/api-key-selection-capture.test.ts: selected/unmatched/missing/duplicate pool cases, immutable snapshot, old-export identity, and Bun-parsed runtime import boundary for leaf and router. Parse actual source, exclude erased type imports; no whole-router acyclicity assertion. +- MODIFY scripts/test-layout/layout.json and tests/fixtures/test-layout-expected.json: register the new test using existing providers domain entries. +- MODIFY structure/01_runtime.md: document the helper ownership and preserved stateful selection direction. + +Verification: helper tests; key-failover, provider-key-store and core-lab-boundary tests; test-layout guards; typecheck; privacy scan. Baseline focused run on unchanged code: 49 passed. Conditional test cases have concrete provider objects; boundary regression returns offending imports rather than scanning prose. + +Audit: extraction is a functional dependency with no mutable globals and no changed auth behavior. Old export is preserved. A boundary test targets this exact scope; broad graph cycles are not called fixed. + +## Verification before draft publication + +- `bun install --frozen-lockfile`: passed; lockfile unchanged. +- Baseline key-failover/provider-key-store/Lab-boundary run: 49 passed. +- Restoring the old router import made the new boundary regression fail; restoring the extraction returned it to green. +- `bun test tests/providers/api-key-selection-capture.test.ts tests/adapters/key-failover.test.ts tests/providers/provider-key-store.test.ts tests/lab/core-lab-boundary.test.ts tests/test-layout.test.ts tests/test-layout-tooling.test.ts`: 73 passed, 0 failed. +- `bun run typecheck`: passed. +- `bun run privacy:scan`: passed. +- Review scope covers the 10-line pure helper, two consumers, compatibility re-export, 7 new tests, two layout entries, and the runtime ownership row. No other router cycle is claimed resolved. +- Whole-suite/maintainer approval is not attested; this is a draft handoff. diff --git a/devlog/_plan/260908_a_stack_responses_compat/000_plan.md b/devlog/_plan/260908_a_stack_responses_compat/000_plan.md new file mode 100644 index 00000000000..3a22b2d98f1 --- /dev/null +++ b/devlog/_plan/260908_a_stack_responses_compat/000_plan.md @@ -0,0 +1,103 @@ +# 000 — a_stack_responses_compat: Plan + +## Objective + +Land four Responses-compatibility changes on `dev` as one manual dependent branch +chain whose tip carries all of them, so a single CI run certifies the whole set. +Three layers carry existing contributor pull requests; one is new work for an +issue that has no pull request. + +| Layer | Source | Author to preserve | Subject | +|---|---|---|---| +| 1 | PR #3906, commit `11c498b6c` | MohamadSabree8 | Muse Spark Contributor Free tiers keep unsupported `web_search` fields | +| 2 | PR #3886, commit `83c1d9b12` | cb8010d6 | Spark streams end `adapter_eof` when the Responses Lite header is present | +| 3 | Issue #3922, new work | — | Claude optional tool parameters become strict on Responses routes | +| 4 | PR #3917, commit `2430724e5` | mashfromband | Routed destinations reject Codex `agent_message` with 422 | + +Evidence base: four read-only `gpt-6-astra` explorer lanes read the current tree at +`2abf071e0` and returned quoted `path:line` anchors, reproduced in each phase doc. + +## Loop-spec + +- Loop archetype: satisfy-spec. Each layer has a stated correct behavior; there is + no metric to optimize. +- Trigger: maintainer request to execute workstream A as a stack. +- Goal: the tip merged into `dev`, children settled with authors preserved, linked + issues closed. +- Non-goals: registry `modelWireDefaults` for the `-free` ids; setting the Lite + header to `"false"` instead of removing it; PR #3838's tool-promotion, + `customToolWireName` export and `statelessResponses` work; any other open PR; + `main`/`preview` promotion. +- Verifier: the single Cross-platform CI run on the tip pull request's head SHA. + It runs the repository's own workflow over the cumulative tree, so it observes + every file changed by all four layers. +- Write scope: `src/adapters/openai-responses.ts`, `src/adapters/opencode-go.ts` -> + `src/adapters/routed-agent-messages.ts`, `src/claude/inbound-content-options.ts`, + their regressions, the two test-layout registries, + `docs-site/src/content/docs/reference/adapters.md`, + `docs-site/src/content/docs/reference/configuration/providers.md`, and this unit. +- Budget: no local suite runs at all (instructed). Wall-clock bound is the CI run + plus merge; a red tip after one bounded repair attempt is BLOCKED, not DONE. +- Stop condition: the stack landed on `dev`, proven for the merge method actually + used (see 050): original-tip ancestry for a merge commit, or landed-commit + ancestry plus per-path content equality for squash and rebase. +- Memory artifact: this unit, plus the goalplan at + `.codexclaw/goalplans/deliver-opencodex-workstream-a-responses-compati/`. +- Escalation: a finding that changes a carried author's intended behavior, or a + provider that rejects an explicit `strict: false`, returns to the maintainer. + +## Constraints (from the requesting maintainer) + +- No local product suite, typecheck, build or install runs in this session. Every + such check is recorded `NOT RUN`. +- Every push uses `--no-verify`. +- CI triggers on the stack tip only. When that one run is green, the tip merges + into `dev`; the remaining pull requests are then settled and the issues closed. +- Carried work keeps its original author through a `Co-authored-by` trailer. + +## Why tip-only CI is achievable + +`.github/workflows/ci.yml` declares `pull_request: {}` with no base filter, and +`push: branches: [main, preview, dev]`. Pushing `codex/a-stack-l1..l3` starts no +workflow: those refs are not integration branches and no pull request points at +them. Opening exactly one pull request, for layer 4 against `dev`, produces +exactly one Cross-platform CI run whose head contains all four layers. + +## Base and chain + +Base: `origin/dev` = `942c028735d39b2ad410b1baa95670984e16576d`. + +``` +codex/a-stack-l4-routed-agentmsg (tip, the only pull request) -> base dev +codex/a-stack-l3-claude-strict +codex/a-stack-l2-spark-lite +codex/a-stack-l1-muse-free +origin/dev 942c02873 +``` + +An ordinary dependent branch chain. GitHub native stacks are not used and were +not requested. + +## Work-phase map (one phase = one full PABCD cycle) + +| WP | Doc | Slice | Depends on | +|----|-----|-------|------------| +| wp0 | 000 | This roadmap (docs only) | — | +| wp1 | 010 | Layer 1, carry #3906 | wp0 | +| wp2 | 020 | Layer 2, carry #3886 | wp1 | +| wp3 | 030 | Layer 3, implement #3922 | wp2 | +| wp4 | 040 | Layer 4, carry #3917 | wp3 | +| wp5 | 050 | Publish, one CI run, merge, settle | wp4 | + +Ordering follows textual adjacency in `src/adapters/openai-responses.ts`, which +layers 1, 2 and 4 all touch at distinct hunks (≈2125, ≈2503, ≈2366 and its import). +Layer 3 touches `src/claude/inbound-content-options.ts` only. + +## Terminal outcomes + +- DONE — the stack landed on `dev` with the merge-method-specific proof recorded, + children settled with authors preserved, issues #3885/#3922/#3911 closed. +- BLOCKED — CI red on the tip after a bounded repair attempt, or an unmet merge + requirement. +- NEEDS_HUMAN — an audit finding that would change a carried author's intended + behavior beyond what the issue asks. diff --git a/devlog/_plan/260908_a_stack_responses_compat/010_phase1.md b/devlog/_plan/260908_a_stack_responses_compat/010_phase1.md new file mode 100644 index 00000000000..85f9e11d3dc --- /dev/null +++ b/devlog/_plan/260908_a_stack_responses_compat/010_phase1.md @@ -0,0 +1,62 @@ +# 010 — Phase 1: carry PR #3906 (Muse Spark Contributor Free web_search strip) + +Branch `codex/a-stack-l1-muse-free`, based on `origin/dev` `942c02873`. +Carried commit `11c498b6c62ae9f7c5b0d25ca24fc6612f607a5c` by MohamadSabree8. + +## Problem + +`stripMuseSparkUnsupportedWebSearchFields` removes `search_content_types` and +`indexed_web_access` from a Codex `web_search` tool before it reaches the Zen +Responses wire, because that gateway 400s on them. The model guard only lists the +two paid contributor ids, so the two Contributor Free ids ride the same wire and +same gateway contract but keep the rejected fields. + +## MODIFY map + +`src/adapters/openai-responses.ts` — the constant at 2125-2128. + +Before: + +```ts +const MUSE_SPARK_WEB_SEARCH_STRICT_MODELS = new Set([ + "muse-spark-1.3-contributor", + "muse-spark-1.2-contributor", +]); +``` + +After: + +```ts +const MUSE_SPARK_WEB_SEARCH_STRICT_MODELS = new Set([ + "muse-spark-1.3-contributor", + "muse-spark-1.3-contributor-free", + "muse-spark-1.2-contributor", + "muse-spark-1.2-contributor-free", +]); +``` + +Nothing else changes. The consumer at 2148, its model guard at 2155 +(`if (!MUSE_SPARK_WEB_SEARCH_STRICT_MODELS.has(modelId.trim().toLowerCase())) return body;`), +the destination guard at 2159-2164 and the call site at 2451 are untouched. + +## TESTS + +`tests/providers/muse-spark-web-search-compat.test.ts` — add free-tier cases that +mirror the paid-tier assertions already in the file: + +- top-level `tools`: type stays `web_search`, `search_context_size` preserved, + `search_content_types` and `indexed_web_access` absent (mirrors 81-87, 131-137); +- nested `input[].additional_tools.tools`: same removal (mirrors 106-114, 150-158); +- `web_search_preview` untouched for the free ids (mirrors 90-97, 140-147). + +## Known limit (recorded, not fixed here) + +`src/providers/registry.ts:1685-1690` maps only the paid ids in +`modelWireDefaults`, so the `-free` ids do not select the Responses wire +automatically; this fix applies when that wire is chosen explicitly. Changing the +registry is out of scope, matching the carried pull request. + +## Verification (C) + +No local command. The layer is verified by the single tip CI run described in 050. +Local suites: NOT RUN by instruction. diff --git a/devlog/_plan/260908_a_stack_responses_compat/020_phase2.md b/devlog/_plan/260908_a_stack_responses_compat/020_phase2.md new file mode 100644 index 00000000000..13b4cc949cf --- /dev/null +++ b/devlog/_plan/260908_a_stack_responses_compat/020_phase2.md @@ -0,0 +1,73 @@ +# 020 — Phase 2: carry PR #3886 (disable Responses Lite transport for Spark) + +Branch `codex/a-stack-l2-spark-lite`, based on layer 1. +Carried commit `83c1d9b129b80d4f65a797fd61a2026deb8c8123` by cb8010d6. + +## Problem + +Issue #3885: with `x-openai-internal-codex-responses-lite: true`, the canonical +backend opens a `gpt-5.3-codex-spark` SSE response and closes it before a terminal +event, which the adapter reports as `response.incomplete` / `adapter_eof`. The same +request without that header completes. + +## MODIFY map + +`src/adapters/openai-responses.ts` — inside the canonical-forward block, before +the existing routing-hint work. Line numbers here are against the pinned base +`942c02873` (block at 2503-2513); layer 1 adds two lines above it, so on this +branch the block sits at 2505-2515. + +After: + +```ts + if (isCanonicalOpenAiForwardProvider(provider)) { + // Spark closes Responses Lite streams before a terminal completion. Select compatibility + // from the final wire model so aliases cannot leave the caller or a static header enabled. + if (isPlainObject(finalBody) && finalBody.model === "gpt-5.3-codex-spark") { + for (const name of Object.keys(headers)) { + if (name.toLowerCase() === CODEX_RESPONSES_LITE_HEADER) delete headers[name]; + } + } + const routingHeaders = new Headers(headers); + applyCodexRoutingHint(routingHeaders, finalBody); +``` + +`finalBody` is computed at 2494-2502 and serialized at 2523 on the pinned base +(2496-2504 and 2525 on this branch), so it is the actual wire model. +`parsed.modelId` can differ; the existing test at 187-188 pins that distinction +deliberately. Keying on `finalBody.model` therefore also covers aliases. The loop +removes every case spelling, which matters because static provider headers merge +in at 2315 and 2353 on the pinned base (2317 and 2355 here) with arbitrary casing. + +## Scope of the fix, and what it does not cover (audit finding 1) + +The independent audit established a real boundary, verified against source: + +- **Covered.** Removing the header fixes the reported defect on the HTTP header + replay path, including the HTTP fallback: `prepareCodexHttpInit()` recomputes + only the routing hint (`src/server/responses/codex-ws-request.ts:46-52`) and + `httpInit` carries the header-deleted request forward (`:68`). +- **Not covered.** On the WebSocket path, `codex-ws-request.ts:30-33` writes + `client_metadata[CODEX_RESPONSES_LITE_METADATA_KEY]` only when the header is + present and reads `"true"`/`"false"`. Deleting the header leaves any + pre-existing `client_metadata` Lite value in the body untouched, and that value + reaches the frame at `:71` and the pool reuse key at + `codex-ws-pool.ts:53-55`. + +Setting the header to `"false"` instead of deleting it would also cover the WS +case, but that expands the carried author's diff beyond issue #3885 and changes +socket reuse identity. This phase carries the author's delete-only form and +records the WS metadata case as unresolved rather than silently expanding scope. +The tip pull request states this limit explicitly so the residual is visible. + +## TESTS + +`tests/codex-integration/codex-metadata-integrity.test.ts`, beside the mixed-case +test at 171: Spark wire model with a caller-provided Lite header, with a +mixed-case static header, and with `parsed.modelId` set to an alias while the +serialized model is Spark; `gpt-5.6-sol` keeps the header. Existing guards at 185, +211, 225 and 267 stay intact. + +## Verification (C) + +No local command. Verified by the single tip CI run in 050. Local suites: NOT RUN. diff --git a/devlog/_plan/260908_a_stack_responses_compat/030_phase3.md b/devlog/_plan/260908_a_stack_responses_compat/030_phase3.md new file mode 100644 index 00000000000..c0e6a00b3f7 --- /dev/null +++ b/devlog/_plan/260908_a_stack_responses_compat/030_phase3.md @@ -0,0 +1,141 @@ +# 030 — Phase 3: fix issue #3922 (Claude tool strict default on Responses routes) + +Branch `codex/a-stack-l3-claude-strict`, based on layer 2. New work; no existing +pull request. This is the only layer authored here. + +## Problem + +When Claude Code sends a custom tool without an explicit `strict`, the +Messages -> Responses translation emits a function tool that also omits `strict`. +The Responses API treats an omitted `strict` as an attempt to normalize the schema +into strict mode, so parameters that the Anthropic `input_schema` marks optional +are treated as required upstream, and a tool call that omits them fails. Anthropic +requires an explicit `strict: true` to opt in, so the two defaults disagree. + +## MODIFY map + +`src/claude/inbound-content-options.ts` — `toolsToResponses`, the function-tool +branch at 26-33. + +Before: + +```ts + if (typeof raw.name === "string" && raw.name.length > 0 && isRec(raw.input_schema)) { + out.push({ + type: "function", + name: raw.name, + ...(typeof raw.description === "string" ? { description: raw.description } : {}), + parameters: raw.input_schema as Record, + }); + continue; + } +``` + +After: + +```ts + if (typeof raw.name === "string" && raw.name.length > 0 && isRec(raw.input_schema)) { + out.push({ + type: "function", + name: raw.name, + ...(typeof raw.description === "string" ? { description: raw.description } : {}), + parameters: raw.input_schema as Record, + // Anthropic opts into strict tool use explicitly, while Responses normalizes + // an omitted strict into strict mode. Carry the source intent rather than the + // destination default, so an optional input_schema parameter stays optional. + strict: typeof raw.strict === "boolean" ? raw.strict : false, + }); + continue; + } +``` + +The value is derived from the source tool rather than hardcoded, so an explicit +`strict: true` or `strict: false` from the client survives translation, which is +what issue #3922 asks for. + +## How the existing strict-tool admission policy relates (audit finding 2) + +An earlier draft of this document described `src/claude/compatibility.ts:102` +backwards. What that line actually does: + +```ts +if (tool.strict === true) codes.add("strict_tools"); +``` + +`strict_tools` is listed as an incompatible feature at `compatibility.ts:16`, and +`analyzeClaudeCompatibility` (`compatibility.ts:179`) returns `"reject"` for an +incompatible request under enforce mode (decision expression at `:189`), which +`src/server/claude-messages.ts:733-740` applies **before** +translation. So an explicit `strict: true` is already refused in enforce mode and +only reaches translation on the default and shadow paths. + +This phase does not change that policy. Detection reads the **source** Anthropic +tool before translation, so emitting a default `strict: false` downstream adds no +new rejection; `tests/claude-integration/claude-compatibility.test.ts:73-78` +already covers the explicit-false allow case, and `:24` lists strict tools among +rejected features. + +## Propagation (independently traced twice, no further change needed) + +- `src/claude/inbound-content-options.ts:26-32` builds the tool. +- `src/claude/inbound.ts:350-351` assigns it to `body.tools`. +- `src/server/claude-messages.ts:875,897` serializes that body into the internal + Responses request; `src/server/responses/core.ts:3160` parses it. +- `src/responses/schema.ts:114` accepts `strict`; `parser-tools.ts:63` preserves an + explicit value including `false`. +- `src/responses/parser.ts:570` keeps `_rawBody`, and + `src/adapters/openai-responses.ts:2362-2364` starts from it. Canonical-field + stripping only removes `external_web_access`/`defer_loading` (`:189-200`) and + schema normalization spreads the tool (`{ ...tool, parameters }`, `:648-658`), + so `strict` reaches `JSON.stringify(finalBody)` at `:2523`. + +## Boundaries + +- Hosted `web_search` leaves the function at 22-24, before this branch, so it gains + no `strict` field. +- Native Anthropic passthrough never reaches translation: + `src/server/claude-messages.ts:721-722` returns from `anthropicNativePassthrough` + before the translation call at 757. +- Other Anthropic server tools still drop at 35. + +## Schema promise, stated precisely (audit finding 4) + +At translation, `parameters` is the caller's `input_schema` reference +(`inbound-content-options.ts:31`), so `properties`, `required` and nested schemas +are unchanged there. That is not a promise of a byte-identical schema on every +outbound route: `openai-responses.ts:651` runs `normalizeXaiToolParameters`, `:657` +supplies a root `type: "object"` when absent, `responses-code-mode.ts:23-27` can +rewrite an `exec` parameter description, and Azure Chat sanitizes at +`openai-chat.ts:1359-1361`. The regression asserts an unchanged schema through the +ordinary OpenAI Responses route. + +Adding the field also shifts fallback cache-cohort hashes, because translated tool +definitions participate in the hash at `src/claude/inbound.ts:386-392`. That is a +cohort change, not a correctness change. + +## Known risk + +The same translated tools feed translated Chat Completions routes, where +`openai-chat.ts:1343` forwards an explicit `strict`; Azure deletes it at `:1364`, +and `tests/providers/azure-model-router-tool-schema.test.ts:42` already pins that +absence. No repository-declared rejection of an explicit `strict: false` was found, +but universal upstream acceptance is not proven. A provider rejecting it is an +escalation. + +## TESTS + +`tests/claude-integration/claude-inbound.test.ts`: + +- **Update the existing assertion at 80-83.** It is an exact `toEqual` on the + translated `Read` tool and will fail once `strict` is present; the expected + object gains `strict: false`. +- Keep `expect(tools[1]).toEqual({ type: "web_search" })` at 84 unchanged. +- New cases: omitted `strict` -> `false`; explicit `false` -> preserved; explicit + `true` -> preserved; an `input_schema` with one required and one optional + property keeps its `required` array through `parseRequest`. +- Assert the three values on the **serialized adapter output**, not only the + translator return, so the wire body is what is pinned. + +## Verification (C) + +No local command. Verified by the single tip CI run in 050. Local suites: NOT RUN. diff --git a/devlog/_plan/260908_a_stack_responses_compat/040_phase4.md b/devlog/_plan/260908_a_stack_responses_compat/040_phase4.md new file mode 100644 index 00000000000..b5a0f94be3c --- /dev/null +++ b/devlog/_plan/260908_a_stack_responses_compat/040_phase4.md @@ -0,0 +1,121 @@ +# 040 — Phase 4: carry PR #3917 (routed agent_message conversion), stack tip + +Branch `codex/a-stack-l4-routed-agentmsg`, based on layer 3. This branch is the +stack tip and the only one with a pull request. +Carried commit `2430724e57e0950bde4b006c0175a2d5c70a0baf` by mashfromband. + +## Problem + +Codex writes every sub-agent reply into the rollout as an `agent_message` input +item, which is private to the ChatGPT Codex schema, so it is replayed in the input +of every later turn of that thread. The routed Responses destinations reported in +#3911 and #3907 reject the whole body with +`422 unknown item type "agent_message"`. 422 is a client error, so nothing fails +over and the thread stays broken. The plaintext conversion already existed but was +scoped to the OpenCode Go destination, and nothing in those reports is specific to +that destination. + +## MODIFY / RENAME map + +1. `src/adapters/opencode-go.ts` -> `src/adapters/routed-agent-messages.ts`. + `isOpenCodeGo` is deleted; its only production consumer is the call site below. + `normalizeOpenCodeGoAgentMessages` becomes `normalizeRoutedAgentMessages` with + the algorithm unchanged, including the fail-closed check that every content part + is `input_text`/`input_image`/`input_file`. + +2. `src/adapters/openai-responses.ts:1` and `:2366`. + + Before: + + ```ts + import { isOpenCodeGo, normalizeOpenCodeGoAgentMessages } from "./opencode-go"; + ... + if (!forward && isOpenCodeGo(provider.baseUrl)) outBody = normalizeOpenCodeGoAgentMessages(outBody); + ``` + + After: + + ```ts + import { normalizeRoutedAgentMessages } from "./routed-agent-messages"; + ... + if (!forward) outBody = normalizeRoutedAgentMessages(outBody); + ``` + + `forward` is `provider.authMode === "forward"` (2356). All forward destinations + retain the existing behavior and keep the item unchanged. + +3. `tests/providers/opencode-go-agent-messages.test.ts` -> + `tests/adapters/routed-agent-messages.test.ts`, with the two Go-specific + expectations (54, 120-122) changed from `agent_message` to the converted + `message`/`user` shape for arbitrary routed URLs. + +4. `tests/responses/responses-opaque-blob-recovery.test.ts` — the four assertions + at 553, 583, 611 and 754. That fixture is `authMode: "key"` (163-164), so its + retried item is now converted. Opaque-blob recovery repairs an undecryptable part + into `[encrypted content omitted]`, which leaves the item fully plaintext; on a + routed retry it is converted too, which is what lets the retry be accepted. + Expected object becomes: + + ```ts + { + type: "message", + role: "user", + content: [ + { type: "input_text", text: 'Agent message {"author":"/root/child_task","recipient":"/root"}' }, + { type: "input_text", text: "Message Type: MESSAGE\nTask name: /root\nSender: /root/child_task\nPayload:" }, + { type: "input_text", text: "[encrypted content omitted]" }, + ], + } + ``` + + The `authMode: "forward"` case in the same file is untouched. + +5. Both test-layout registries, because the test basename and directory change: + `scripts/test-layout/layout.json:917` and + `tests/fixtures/test-layout-expected.json:752` drop + `"opencode-go-agent-messages.test.ts": "providers"` and gain + `"routed-agent-messages.test.ts": "adapters"`. + `tests/test-layout-tooling.test.ts:250` compares the two tables exactly, so + missing either one fails. + +6. `docs-site/src/content/docs/reference/adapters.md` and + `docs-site/src/content/docs/reference/configuration/providers.md`, whose wording + describes the conversion as Go-specific, as in the carried pull request. The + carried text's universal "any routed destination" phrasing is narrowed to the + observed non-forward destinations rather than copied unchanged. + +## Preserved behavior + +Forward destinations, ciphertext and unknown part types (the `every` guard), +replay immutability and no-op reference identity, the identity prefix text, and +the session-header assertion at 55 of the moved test. + +## PR #3838 boundary + +#3838 stays open and independent. Its `normalizeOpenCodeGoAdditionalTools` +promotion, `customToolWireName` export and `statelessResponses` registry flag are +unrelated to this conversion. Its mixed-content policy drops ciphertext and unknown +parts whenever plaintext survives, which contradicts the fail-closed retention kept +here; it is not carried. + +## Verification (C) + +No local command. Verified by the single tip CI run in 050. Local suites: NOT RUN. + + +## Which destinations actually change (audit finding 5) + +`src/types/provider.ts:449` declares `authMode?: "key" | "forward" | "oauth" | "local"`. +Because the new gate is `!forward` and `forward` is `provider.authMode === "forward"` +(`openai-responses.ts:2356`), the conversion now applies to **key, oauth, local and +undefined** whenever this adapter is selected. Every forward destination is +unchanged, including noncanonical forward gateways; the built-in ChatGPT +destination is forward (`src/providers/registry.ts:1200-1204`), so its native items +stay intact. + +No repository-declared non-forward destination requires plaintext `agent_message` +preservation. Authentication mode alone cannot prove what an arbitrary custom +upstream accepts, so the carried claim that *every* routed destination rejects the +item is stated here as the observed pattern rather than a proven universal. +Regression coverage adds a non-forward mode beyond the carried key/forward +fixtures. diff --git a/devlog/_plan/260908_a_stack_responses_compat/050_phase5.md b/devlog/_plan/260908_a_stack_responses_compat/050_phase5.md new file mode 100644 index 00000000000..97b928d92ca --- /dev/null +++ b/devlog/_plan/260908_a_stack_responses_compat/050_phase5.md @@ -0,0 +1,95 @@ +# 050 — Phase 5: publish, single CI run, merge, settle + +## Publication + +Push all four branches with `--no-verify`, in chain order: + +``` +git push --no-verify origin codex/a-stack-l1-muse-free +git push --no-verify origin codex/a-stack-l2-spark-lite +git push --no-verify origin codex/a-stack-l3-claude-strict +git push --no-verify origin codex/a-stack-l4-routed-agentmsg +``` + +Pushing l1-l3 starts no workflow: `.github/workflows/ci.yml` limits its `push` +trigger to `[main, preview, dev]`, and no pull request points at those refs. + +## The single pull request + +Open exactly one pull request: `codex/a-stack-l4-routed-agentmsg` -> `dev`. Its +head contains all four layers, so the one Cross-platform CI run it starts is +cumulative evidence for the whole stack. The description follows +`.github/PULL_REQUEST_TEMPLATE.md` (Summary, Verification, Checklist), states that +local suites were NOT RUN by maintainer instruction with CI as the verification +gate, and names every carried pull request and issue. + +Author preservation: each carried commit keeps its original author through a +`Co-authored-by` trailer that survives a squash, satisfying +`missing_coauthor_credit` in `.github/scripts/pr-carry-attribution.cjs`: + +- `Co-authored-by: MohamadSabree8 ` +- `Co-authored-by: R <53855466+cb8010d6@users.noreply.github.com>` +- `Co-authored-by: mashfromband ` + +## Merge gate + +Merge only when the tip's Cross-platform CI is green on the exact head SHA of the +pull request. Skipped, cancelled or queued jobs are not passing evidence, and a +green run on an earlier head does not certify a newer one. After merging, fetch +`origin/dev` and prove landing in the way the chosen merge method allows. + +The method decides the proof, and only one of the three preserves the tip SHA: + +- **Create a merge commit.** The tip SHA itself becomes reachable from `dev`, so + `git merge-base --is-ancestor origin/dev` exits 0 and is sufficient. +- **Squash and merge.** GitHub writes one new commit, so the tip SHA never becomes + an ancestor and that check would fail on a successful merge. +- **Rebase and merge.** GitHub replays the commits onto `dev` with new SHAs, so the + original tip SHA is likewise not an ancestor. + +For the two rewriting methods, identify the landed commit or commits on `dev` +first, then prove landing by content and attribution rather than by the original +SHA: + +- `git diff origin/dev -- ` is empty; +- `git merge-base --is-ancestor origin/dev` exits 0 for the landed + commit; +- the landed record carries all three `Co-authored-by` trailers. + +Record the method used together with its matching proof, rather than asserting +ancestry of the original tip generically. + +## Settlement + +Once the change is confirmed on `dev`: + +- PRs #3906, #3886 and #3917 — comment that the work landed on `dev` through the + stack tip, name the merge commit, and close them. Their authors are already + preserved in the trailers. +- Issues #3885 (Spark `adapter_eof`), #3922 (Claude tool strict) and #3911 + (routed `agent_message` 422) — close, since PRs target `dev` and GitHub only + auto-closes on merges into the default branch. +- PR #3838 stays open; its residual work is unrelated to this stack. + +## Verification (C) + +The tip CI run identified by its run id and head SHA, with every required job +reporting success, plus the merge-method-specific landing proof above against a +freshly fetched `origin/dev`. Local suites: NOT RUN by maintainer instruction. + + +## Merge readiness is broader than one workflow (audit finding 7) + +The single tip CI run is the verification evidence this session produces, but it is +not by itself the whole merge gate. `MAINTAINERS.md:57-69` also requires the +applicable required checks, resolution of outstanding maintainer objections, and +applicable security review. The `dev`-only maintainer-integration path still +records the decision and the exact-head evidence. Anything in that set that this +session cannot satisfy is reported rather than assumed. + +## Attribution is added, not inherited + +The three carried commits do **not** already contain `Co-authored-by` trailers in +their original messages. The trailers listed above are added when the commits are +carried onto the stack, and their presence is verified on the final squash-surviving +record before the children are closed. diff --git a/devlog/_plan/260908_d_group_test_infra_stack/000_plan.md b/devlog/_plan/260908_d_group_test_infra_stack/000_plan.md new file mode 100644 index 00000000000..35b2a65c67e --- /dev/null +++ b/devlog/_plan/260908_d_group_test_infra_stack/000_plan.md @@ -0,0 +1,113 @@ +# D-group test-infrastructure delivery as a single-CI manual stack + +## Objective + +Land the two D-group test-infrastructure items on `dev` as one dependency-ordered +branch chain whose **tip is the only pull request**, so the cumulative tree is +verified by exactly one Cross-platform CI run. Merge the tip once that run is +green, then settle the original pull requests and any linked issues. + +| Layer | Source | Content | +|---|---|---| +| 1 (bottom) | PR #3924 by @luvs01 | `scripts/test.ts` keeps captured lane output after a timeout; runner regressions; contributing note | +| 2 (tip) | PR #3930 by @luvs01 | `tests/providers/cursor/cursor-stream-health.test.ts` load-scaled watchdog budgets | + +Both source pull requests carry exactly one commit each, authored by `luvs01` +(`27862058+luvs01@users.noreply.github.com`), so `git cherry-pick -x` preserves +authorship without needing a reconstructed `Co-authored-by` trailer. The trailer is +added to the tip pull-request description anyway, because the repository squashes +and `.github/scripts/pr-carry-attribution.cjs` reads the trailer, not prose. + +## Why a stack, and why only one pull request + +`.github/workflows/ci.yml` triggers on a bare `pull_request:` with no base-branch +filter. That is deliberate — the comment in the file records that a +`branches: [main, dev]` filter once silently excluded stacked child pull requests. +The consequence for this unit is mechanical: **every open pull request starts a +Cross-platform CI run**, whatever its base. A two-pull-request stack therefore costs +two runs, and a child pull request based on the parent's head costs one more. + +The only way to get a single run covering both changes is to give the stack exactly +one pull request, at the tip, based on `dev`. The lower layer is pushed as a branch +for provenance and review navigation, and never gets a pull request of its own. +Pushing a branch does not start CI either: `ci.yml`'s `push:` trigger is pinned to +`branches: [main, preview, dev]`, and this stack pushes neither. + +The tip run covers the PR-enabled producers, not every job in the file. `changes` +sets `ci: true` for `tests/**` and `scripts/**` (`ci.yml:193-194`), which this stack +touches, so the four Linux shards, `gates`, `storage policy`, `api usage`, +`platform-macos`, `keyring` and `docker smoke` all execute. Three job families do +**not** run on a pull request and must never be reported as passing evidence: + +| Job | Guard | Status on this PR | +|---|---|---| +| `windows /6` | `github.event_name == 'workflow_dispatch' && (inputs.lane == '' \|\| inputs.lane == 'all')` (`ci.yml:742-743`) | SKIPPED BY WORKFLOW | +| `macos control` | `github.event_name == 'workflow_dispatch'` (`ci.yml:633`) | SKIPPED BY WORKFLOW | +| `npm-global ` | `needs.changes.outputs.packaging == 'true'` (`ci.yml:943`); the packaging allowlist (`ci.yml:215-229`) excludes all four files | SKIPPED BY WORKFLOW | + +That exclusion is acceptable for this unit: nothing here ships in the package tree, +and `scripts/test.ts` is the test runner rather than runtime source. The Windows +lane is dispatch-only for every ordinary pull request in this repository, so +requiring it here would be a new policy, not this unit's job. + +## Dependency order + +Layer 1 is the runner change; layer 2 is a fixture that the runner executes. Ordering +them the other way would put a test-timing change under an unverified runner. The +order is a build-order statement, not an effort estimate. + +## Work phases + +| Phase | Outcome | +|---|---| +| wp0 | This roadmap: stack shape, single-trigger proof, merge/close order, attribution | +| wp1 | Build both layers locally on fresh `origin/dev` with `cherry-pick -x` | +| wp2 | Push both branches with `--no-verify`; open exactly one pull request (tip → `dev`) | +| wp3 | Record tip CI, merge the tip, settle #3924/#3930 and linked issues | + +Diff-level detail for each phase: `010_phase1_stack_build.md`, +`020_phase2_publish.md`, `030_phase3_merge_and_settle.md`. + +## Constraints in force + +The owner set these for this unit, and they override the repository's default +verification habits: + +- **No local suite.** No `bun run test`, `bun test`, `bun run test:changed`, + `bun run typecheck`, or build used as a gate. Every such row is recorded + `NOT RUN (owner instruction)`, never as a pass. +- **Push with `--no-verify`.** Local hooks are skipped by instruction. +- **CI on the tip only.** Never open a pull request for a lower layer. +- **One green run, then merge.** The tip's exact head SHA is the product gate. +- **Preserve original authorship** for carried work. +- **Close linked issues** at the moment the change is on `dev`. + +## Verification model + +The product evidence is the hosted Cross-platform CI run on the tip's exact head +SHA — run id, head SHA, per-job conclusions — read as a job matrix, not as the +aggregate `ci` summary alone. The three dispatch-only or packaging-gated job +families above are recorded SKIPPED BY WORKFLOW. + +Merge additionally requires the current gate checks to be green on that same head: +`enforce-target` and `hygiene` (`enforce-pr-target.yml:679-692` folds deterministic +hygiene failures into its verdict; `pr-hygiene.yml:236-238` fails and labels on a +violation), plus resolution of any actionable automated review finding. + +Landing evidence is the squash SHA GitHub returns, proven to be an ancestor of +fetched `origin/dev`, with its tree compared against the reviewed tip. Local checks +are `NOT RUN` by instruction and are never reported as passing. + +A verifier honesty note, since this unit's plan names commands it will not run: +`bun run test` would observe `scripts/test.ts` and both test files, and +`bun run typecheck` would observe `scripts/test.ts`. Both are in scope for the +change and both are withheld by owner instruction, so their acceptance rows are +delegated to hosted CI rather than claimed locally. + +## Terminal outcomes + +- **DONE** — tip CI green on its exact head, tip merged into `dev`, #3924 and #3930 + settled with authorship preserved, linked issues closed, evidence recorded. +- **BLOCKED** — a required merge right is missing, or CI fails for a cause outside + these four files. +- **NEEDS_HUMAN** — a policy decision beyond restoring existing behavior. diff --git a/devlog/_plan/260908_d_group_test_infra_stack/001_audit_record.md b/devlog/_plan/260908_d_group_test_infra_stack/001_audit_record.md new file mode 100644 index 00000000000..b6689813579 --- /dev/null +++ b/devlog/_plan/260908_d_group_test_infra_stack/001_audit_record.md @@ -0,0 +1,53 @@ +# Audit record — roadmap gate + +An independent reviewer (a separate context, `gpt-6-astra` at high effort) audited +the roadmap before any branch was built. Three rounds ran; the first two failed. +The findings are recorded here because they changed the plan, and because two of +them would have produced a false completion claim. + +## Round 1 — FAIL, four blocking defects + +1. **Overstated CI coverage.** The plan promised platform and packaging coverage + from the tip pull-request run. In fact `windows /6` and `macos control` are + `workflow_dispatch`-only (`ci.yml:633`, `742-743`), and `npm-global` needs + `packaging == 'true'`, which the packaging allowlist (`ci.yml:215-229`) does not + set for any of the four files. Fixed by adding an explicit RUN vs + SKIPPED BY WORKFLOW matrix and forbidding the skipped families from being + reported as passes. +2. **CI success treated as sufficient for merge.** `enforce-target` folds + deterministic hygiene failures into its verdict (`enforce-pr-target.yml:679-692`) + and `pr-hygiene` fails and labels on a violation (`pr-hygiene.yml:236-238`). + `MAINTAINERS.md:61` also requires the integration decision and exact-head + verification to be recorded. Fixed by adding those gates and the record step. +3. **Wrong ancestry object.** The plan checked whether the tip commit was an + ancestor of `dev`. A squash merge never makes the tip an ancestor, so that check + would have failed on a perfectly good landing — or worse, been waved through. + Fixed by recording the squash SHA GitHub returns and testing that. +4. **Attribution assumed rather than controlled.** The repository sets + `squash_merge_commit_message: COMMIT_MESSAGES`, so the pull-request description + is not the landed message. A description trailer satisfies the hygiene checker + and still leaves the contributor uncredited in the commit. Fixed by supplying the + squash body explicitly and verifying the landed trailer before closing anything. + +## Round 2 — FAIL, two blocking defects + +1. **Missing administrator bypass.** `Protect dev` requires an approving review and + code-owner review, so the merge call is refused without `--admin`. The plan named + the policy exception without naming the mechanism that exercises it. +2. **Bot findings mistaken for all findings.** The gate covered automated review + findings but not human ones. `MAINTAINERS.md:62-64` requires outstanding + maintainer change requests to be resolved or explicitly withdrawn. + +## Round 3 — PASS + +The reviewer set the phase-1 acceptance bar: freshly fetched base SHA, both +constructed commit SHAs, evidence that layer 1 follows the base and layer 2 follows +layer 1, both authors reading `luvs01`, both `-x` provenance lines, per-layer and +cumulative name/numstat comparisons, blob comparisons against the source pull +requests, and the roadmap commit accounted for separately so it stays out of the +four-file implementation delta. + +## Standing note + +Local suite, typecheck and build are **NOT RUN** for this unit by owner +instruction. That is a recorded absence of evidence, not a pass. diff --git a/devlog/_plan/260908_d_group_test_infra_stack/010_phase1_stack_build.md b/devlog/_plan/260908_d_group_test_infra_stack/010_phase1_stack_build.md new file mode 100644 index 00000000000..003cd0ad82c --- /dev/null +++ b/devlog/_plan/260908_d_group_test_infra_stack/010_phase1_stack_build.md @@ -0,0 +1,54 @@ +# Phase 1 — Build the stack locally + +Base: fetched `origin/dev`. Both source commits live in the `luvs01` remote +(`https://github.com/luvs01/opencodex.git`), already configured in this checkout. + +## Commands + +```sh +git fetch origin dev +git fetch luvs01 e24163231edeaa09a30a99ca1746e3b573af78ae 141077f7270e2f2a0564fb036d091f0cf793b784 + +# Layer 1 — PR #3924 +git switch -c codex/260908-d-group-l1-test-runner-output origin/dev +git cherry-pick -x e24163231edeaa09a30a99ca1746e3b573af78ae + +# Layer 2 — PR #3930, tip +git switch -c codex/260908-d-group-l2-cursor-watchdog +git cherry-pick -x 141077f7270e2f2a0564fb036d091f0cf793b784 +``` + +`cherry-pick -x` keeps the original author identity +(`luvs01 <27862058+luvs01@users.noreply.github.com`>) and appends the +`(cherry picked from commit ...)` provenance line. No `Co-authored-by` trailer is +needed on the commits themselves because authorship is not being reassigned. The +trailer goes in the tip pull-request description for hygiene acceptance; phase 3 +separately supplies and verifies the trailer on the landed squash commit, which is +the only thing GitHub reads for contributor credit. + +## Expected change map + +| Layer | File | Change | +|---|---|---| +| 1 | `scripts/test.ts` | +81 −8 — incremental capture, retained output on timeout, bounded drain, incomplete-capture exit policy | +| 1 | `tests/ci-workflows/test-runner.test.ts` | +147 −1 — regressions for timeout/failure/success output, split UTF-8, open pipes, read failure | +| 1 | `docs-site/src/content/docs/contributing.md` | +6 — documents the timeout and incomplete-capture behavior | +| 2 | `tests/providers/cursor/cursor-stream-health.test.ts` | +59 −26 — one scaled silence budget S, 2S heartbeat-only, ≥3S observed progress after first received text | + +Cumulative tip versus `origin/dev`: exactly those four files. + +## Conflict expectation + +None. The two file sets are disjoint, and the Cursor test file plus its +`tests/helpers/ci-watchdog.ts` import carry identical blob SHAs at `dev` and at +#3924's head (`dc7b572bf1` and `f8adcfe3d9`), so layer 2's preimage is unchanged by +layer 1. + +## Acceptance + +- `git log --format='%an <%ae>'` on both new commits reports `luvs01`. +- `git diff --name-only origin/dev..tip` lists exactly the four files above. +- `git diff --stat` matches the per-file counts in the table. +- Each cherry-picked tree is byte-identical to the source PR head's version of its files. + +Local suite: NOT RUN (owner instruction). diff --git a/devlog/_plan/260908_d_group_test_infra_stack/020_phase2_publish.md b/devlog/_plan/260908_d_group_test_infra_stack/020_phase2_publish.md new file mode 100644 index 00000000000..2af6acab129 --- /dev/null +++ b/devlog/_plan/260908_d_group_test_infra_stack/020_phase2_publish.md @@ -0,0 +1,92 @@ +# Phase 2 — Publish the stack, one pull request only + +## Push + +```sh +git push --no-verify origin codex/260908-d-group-l1-test-runner-output +git push --no-verify origin codex/260908-d-group-l2-cursor-watchdog +``` + +`--no-verify` is the owner's instruction for this unit. Neither push starts +Cross-platform CI: `ci.yml`'s `push:` trigger is limited to +`branches: [main, preview, dev]` (`ci.yml:26-27`). + +## Open exactly one pull request + +Tip only, targeting `dev`: + +```sh +gh pr create --repo lidge-jun/opencodex --base dev \ + --head codex/260908-d-group-l2-cursor-watchdog \ + --title "fix(test): preserve lane output after timeouts and stabilize the Cursor stream-health watchdog" \ + --body-file +``` + +The lower layer gets **no** pull request. `ci.yml` triggers on a bare +`pull_request:` with no base filter (`ci.yml:7`), so a second pull request would +start a second Cross-platform CI run; draft status does not suppress it either — +no job in `ci.yml` reads a draft condition. + +A stacked child pull request based on the layer-1 branch is also unavailable here: +`enforce-target` grants the wrong-base exemption only when the parent branch has +its own **open** pull request (`enforce-pr-target.yml:536-537`), which is exactly +what this design avoids. The tip therefore targets `dev` directly. + +## Description requirements + +`.github/PULL_REQUEST_TEMPLATE.md` requires Summary, Verification, and Checklist; +`enforce-target` rejects thin or malformed descriptions. The description must also: + +- name both source pull requests (#3924, #3930) and describe the stack layering; +- carry `Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>`. The + hygiene checker reads that trailer from the description or a commit message + (`pr-carry-attribution.cjs:190`), and the carry verbs in the description are what + make it demand one at all. The description trailer satisfies the gate; it does + **not** by itself put the trailer in the landed commit — see phase 3, where the + squash body carries it explicitly; +- state honestly that local suite, typecheck and build were **NOT RUN** by owner + instruction, and that hosted CI on this exact head is the verification gate, + naming which job families are skipped by the workflow; +- be substantive: `pr-quality.cjs` strips template boilerplate and requires real + content (two substantial sections, or 120+ characters across two blocks), so + placeholder bullets fail the gate. + +As a maintainer-authored pull request this needs no readiness checklist and no +`review-ready` label (`enforce-pr-target.yml:766-768`, `1096-1103`). Do not tick a +local-CI attestation box that was not earned — the owner forbade the local suite. + +No GUI files change, so the screenshot rule does not apply. + +## Other workflows that will fire + +Expected and unavoidable for any pull request: `enforce-target`, `pr-hygiene`, +`pr-labeler`, `react-doctor`, plus CodeRabbit. `service-lifecycle` does **not** +fire — none of the four paths is in its allowlist. These are gate/lint signals, not +the product suite; only Cross-platform CI is the product gate. + +## Outcome + +Executed 2026-09-08 against base `942c02873`. + +| Ref | SHA | Pull request | +|---|---|---| +| `codex/260908-d-group-l1-test-runner-output` | `ab06523e6` | none, by design | +| `codex/260908-d-group-l2-cursor-watchdog` (tip) | `8b81676ac` | [#3940](https://github.com/lidge-jun/opencodex/pull/3940), base `dev` | + +Both pushes used `--no-verify`. Neither started Cross-platform CI, as predicted by +the `push` branch filter. Opening #3940 started exactly one run on `8b81676ac`; the +first check-runs to appear were `changes`, `select windows runner`, `hygiene`, +`label`, `resolve-pr` and `react-doctor`, which matches the expected set. + +The layer-1 branch has zero pull requests in any state, which is the property that +keeps the stack to a single CI run. + +## Acceptance + +- Both branches exist on `origin` at the expected SHAs. +- `gh pr list --head codex/260908-d-group-l1-test-runner-output` returns empty. +- Exactly one open pull request has head `codex/260908-d-group-l2-cursor-watchdog` + and base `dev`. +- Exactly one Cross-platform CI run exists for the tip head SHA. "Exactly one" is + scoped to the pre-merge candidate: landing on `dev` starts a separate push run, + and a base refresh replaces the candidate with a new head and a new run. diff --git a/devlog/_plan/260908_d_group_test_infra_stack/030_phase3_merge_and_settle.md b/devlog/_plan/260908_d_group_test_infra_stack/030_phase3_merge_and_settle.md new file mode 100644 index 00000000000..5e6d3ece966 --- /dev/null +++ b/devlog/_plan/260908_d_group_test_infra_stack/030_phase3_merge_and_settle.md @@ -0,0 +1,106 @@ +# Phase 3 — Merge the tip, settle the stack + +## Gate + +The product gate is the Cross-platform CI run on the tip's **exact** head SHA. +Record run id, head SHA, and each producer's conclusion. A cancelled or superseded +run is not evidence, and a run on an earlier head is not evidence for the merged +head. Read the producers, not only the aggregate `ci` check. + +Expected to RUN (`ci: true` via `tests/**` and `scripts/**`): four Linux `test` +shards, `gates`, `storage policy`, `api usage`, `macos /2`, `keyring` (three OS), +`docker smoke`. + +Expected to be SKIPPED BY WORKFLOW, and recorded as such rather than as passes: +`windows /6` and `macos control` (both `workflow_dispatch`-only), and +`npm-global ` (needs `packaging == 'true'`, which these four files do not set). + +Merge also requires, on the same head: + +- `enforce-target` success and `hygiene` success; +- every actionable automated review finding resolved; +- **outstanding maintainer change requests resolved or explicitly withdrawn** + (`MAINTAINERS.md:62-64`) — read the human reviews immediately before merging, not + only the bot findings; +- a refreshed read of head, base, merge state, and the integrating actor's + repository permission immediately before merging. + +## Maintainer integration record + +`MAINTAINERS.md:59-63` permits a maintainer with `maintain` or `admin` to integrate +into `dev` without a second approval, and requires the decision and the exact-head +verification to be recorded in the pull request. Post that record as a comment +before merging: the integrating maintainer, the exact head SHA, the CI run link, +the job matrix including the skipped families, and the statement that local suite, +typecheck and build were NOT RUN by owner instruction. + +The `Protect dev` ruleset still requires an approving review and code-owner review, +so the merge call itself will be refused without an explicit administrator bypass. +That bypass is the mechanism this policy exception is exercised through, and it is +conditional: verified maintainer identity with `admin`, base `dev`, every planned +check green on the exact head, and the integration record posted. It is never a way +past failing CI or an unresolved objection. + +## Merge order + +1. Refresh the tip against `dev` if `dev` moved; a moved base means the green run + no longer describes the merge result, so re-run the gate on the new head. +2. Merge the tip pull request into `dev` with an explicit squash body. The repository + sets `squash_merge_commit_message: COMMIT_MESSAGES`, so the landed message is not + the pull-request description: supply it directly and make it carry the trailer. + + ```sh + gh pr merge --repo lidge-jun/opencodex --squash --admin \ + --match-head-commit --body-file + ``` + + `--body-file` supplies the **merge commit body**, which under `--squash` is the + squash commit body, replacing the repository's `COMMIT_MESSAGES` default + (verified against the installed `gh` 2.91.0 help). `--subject` is optional and + only controls the title. `--match-head-commit` refuses the merge if the head + moved after the gate was read. + + The squash body must contain, on its own line: + + ```text + Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com> + ``` + +3. Read the landed squash SHA from GitHub, fetch `origin/dev`, and prove: + `git merge-base --is-ancestor origin/dev` exits 0, the landed commit + message contains the trailer, and the four files on `dev` match the reviewed tip. + +Merging is an external state change and stays user-authorized. + +## Settling the source pull requests + +Both #3924 and #3930 were carried by `cherry-pick -x`, so GitHub will not mark them +merged automatically. After the tip lands: + +- Verify the landed commit's trailer **before** closing either source pull request. + A closing comment is prose; only the trailer is contributor-graph data + (`CREDITS.md` exists because that distinction was missed 27 times). +- Then close #3924 and #3930 with a comment naming the landed squash SHA, the tip + pull request, and the preserved authorship. +- Do not delete the contributor branches on the fork; they are not ours. + +## Linked issues + +Neither #3924 nor #3930 declares a closing issue reference +(`closingIssuesReferences` is empty for both). If none is discovered during the +cycle, the "close linked issues" obligation is satisfied vacuously and recorded as +such. Any issue found to be resolved by this landing is closed at the moment the +change is on `dev`, with a comment naming the commit. + +## Acceptance + +- Tip CI: run id + head SHA + per-job conclusions on the merged head, with the three + skipped job families named as skipped. +- `enforce-target` and `hygiene` green on that head; maintainer-integration record + posted on the pull request. +- `git merge-base --is-ancestor origin/dev` exits 0 after fetch, the + landed commit carries the `luvs01` trailer, and the four files on `dev` match the + reviewed tip. +- #3924 and #3930 closed after that verification; no lower-layer pull request was + ever opened. +- Linked-issue status stated explicitly (closed, or none exists). diff --git a/devlog/_plan/260908_sponsor_overview/010_overview.md b/devlog/_plan/260908_sponsor_overview/010_overview.md new file mode 100644 index 00000000000..92493bf2a9e --- /dev/null +++ b/devlog/_plan/260908_sponsor_overview/010_overview.md @@ -0,0 +1,38 @@ +# Sponsor overview presentation + +Satisfy-spec, C2, one shared UI slice delivered to existing independent PRs #3914 and #3915. Trigger: the maintainer requested concise marketing copy, hyperlinks, tidy design and PR screenshot mockups. Stop after both remote branches and PR descriptions are updated with truthful verification. No merge, release, deployment, credential changes, outreach or new dependencies. No user-defined resource budget; use existing local tools and remote macmini-cf for heavy validation. This document and the local goalplan hold evidence. Escalate only a conflicting remote edit, inaccessible publication or unrelated baseline failure requiring broader scope; report incomplete evidence honestly. + +## Design read + +Developer dashboard, existing neutral theme and system font. Keep compact connection facts and quota data; introduce one quiet sponsor strip with product identity, a two-line value proposition, explicit Sponsor disclosure and named outbound actions. No hero, animation, invented discount or performance claim. Variance 3/10, motion 1/10, density D5. Reuse existing ProviderIcon, button/link tokens and locale dictionaries. Desktop strip places copy and actions side by side; narrow containers wrap actions below copy. Screenshot mockups use actual components and synthetic account/usage values, labelled as fixtures in PR prose. Utility dashboard exemption: no generated concept images. + +## Existing owners and necessity + +- `gui/src/pages/Providers.tsx:289`: existing cached `/api/provider-presets` request; consume its result instead of adding a request/store. +- `gui/src/components/provider-catalog/provider-presets.ts:17`: CatalogPreset already owns sponsor/sponsorUrl/dashboardUrl/note. No backend field or persistence change. +- `gui/src/components/provider-workspace/ProviderDetails.tsx:265`: pass the matched preset to Overview. +- `gui/src/components/provider-workspace/ProviderOverview.tsx:186`: note is duplicated in connection facts and NotesSection. Remove the duplicate and move the existing editable NotesSection into the wider main column. Preserve full note and its editing behavior for every provider. +- `gui/src/styles/provider-workspace-shell.css:606`: existing responsive grid/tokens. +- Searched preset matching, sponsor fields, Overview callers and note-save tests; no equivalent overview sponsor presentation exists. Configuration alone cannot add links to the current text-only view. + +## Diff map + +1. MODIFY Providers cached request typing to CatalogPreset[] and pass matching preset; match canonical id + adapter + normalized endpoint (trailing slash tolerated); mismatched endpoints or absent presets produce no sponsor strip. Do not infer endorsement from name alone. Reuse cache; no new fetch. +2. MODIFY ProviderDetails and ProviderOverview optional preset prop. NEW small ProviderSponsor component in provider-workspace: render only known sponsor identities with active sponsor metadata; localize concise OrcaRouter adaptive-routing and PackyCode multi-tool API-relay descriptions. Preserve exact existing affiliate URL, expose dashboard link only when distinct, HTTP(S) only, new-tab noopener/noreferrer. No HTML parsing of notes. +3. MODIFY Overview: render sponsor strip above columns; remove connection note row, put existing NotesSection after auth summary, leaving right column stats/quota only. Full user note remains visible/editable once. +4. MODIFY existing workspace stylesheet for strip layout, subtle border, readable copy/actions and note wrapping. MODIFY all locale dictionaries for every added key. +5. NEW focused GUI render tests for sponsor links/disclosure, missing/non-sponsor/custom-endpoint cases; extend existing note test to assert exactly one note and continued editing. No root test-map change for GUI tests. +6. MODIFY providers guide and GUI SoT for sponsor overview behavior. ADD desktop and narrow actual-render PNGs per sponsor under existing assets/sponsors; update both PR descriptions, preserving prior scope and verification distinctions. + +## Acceptance and validation + +- Active OrcaRouter API and OAuth presets show the strip only for their configured endpoint; PackyCode only on its sponsor branch. Missing catalog, non-sponsor and changed endpoint remain ordinary provider views. Focused tests activate each branch. +- Exact sponsorURL survives, duplicate dashboard URL is suppressed, unsafe URLs do not become anchors. Provider limitations and arbitrary user note remain complete and occur once; note-save failure keeps draft/error. +- Run focused GUI tests (new sponsor tests plus existing notes, catalog sponsor-pinning and locale parity), lint:i18n, lint and GUI build. Existing scripts confirmed in gui/package.json; target files/locale imports prove coverage. Fresh execution recorded in C, not claimed from script existence. +- For review-ready delivery run root typecheck and full tests plus full GUI tests on isolated macmini-cf checkout; build locally for rendered proof. Existing PR gates already fail before this patch: diagnose separately and do not claim green by inheritance. +- Browser smoke at 1440px and 390px, light/dark, English/Korean: inspect screenshot, actual hyperlinks and keyboard focus, note editing and overflow. No live account data or upstream inference. +- Preserve both original histories: build on sponsor remote heads in this bound worktree with separate local branches, carry shared commit to second branch, push fast-forward to each existing remote after refreshing identity. No native stack changes. + +## Audit and evidence + +Independent audit: GO-WITH-FIXES, one blocking coverage gap. Folded: the browser integration smoke must load the real Providers → Details → Overview chain with delayed catalog resolution, assert sponsor content appears, count the shared preset request, then change the fixture endpoint and verify the strip disappears. Component-only screenshots do not close this row. Branch matrix: Orca API/OAuth positive and Packy absent on Orca head; Packy positive and Orca strip absent on Packy head. Baseline focused tests: 13 pass / 0 fail. Existing CI failure is French modal.badge.sponsor untranslated; correct the sponsor-specific locale value while updating copy. diff --git a/devlog/_plan/260908_voice_relay/000_plan.md b/devlog/_plan/260908_voice_relay/000_plan.md new file mode 100644 index 00000000000..2675c20c846 --- /dev/null +++ b/devlog/_plan/260908_voice_relay/000_plan.md @@ -0,0 +1,39 @@ +# Codex voice relay follow-up + +Satisfy-spec HOTL loop, triggered by the maintainer's September voice source comparison request. +Goal: carry only verified OpenCodex-owned improvements and document the client/proxy boundary. +No local product tests, typecheck, build or installs; no release, deployment or user settings changes. +Verification: read pinned upstream source and Aside findings; independent review; final cumulative +remote Cross-platform CI dispatch (all lanes), followed by exact-head merge and fetched dev tree proof. +Local product verification is NOT RUN by explicit user instruction. Git diff/document inspection is +allowed but does not certify runtime behavior. No latency or live audio improvement is claimed. +Stop: audited no-change conclusion, or required corrections landed with fresh remote evidence. +Outcomes: DONE, evidence-backed NOOP, or explicit unmet external gate. No invented time/cost budget; +existing tools/credentials only, bounded individual probes, no new services or installs. +Escalation: unresolved maintainer objection, missing external authority, or unavailable required CI. + +## Ordered work phases + +1. wp1: source research and audited roadmap (documents only). +2. wp2: scoped relay correction and adjacent regression coverage; depends on wp1. +3. wp3: publish the documented contract, final cumulative CI, and merge; depends on wp2. + +Existing owners: `src/server/live.ts`, `src/server/index.ts`, `tests/server/server-live.test.ts`, +`docs-site/src/content/docs/guides/codex-integration.md`, `structure/04_transports-and-sidecars.md`. +No new production abstraction, endpoint or dependency. Preserve preexisting worktree documents. +Manual two-PR chain: relay implementation/tests, then integration documentation. User explicitly +requests final-tip-only product CI, overriding per-layer local/full-suite defaults. Automatic +redundant product CI on these task PRs may be cancelled; it is never counted as passing evidence. +Use merge commits to preserve stack ancestry, retarget the child only after the parent lands, +and recheck the current dev tree before final merge. Required checks remain truthful. + +Security working material is kept only in ignored scratch per AGENTS.md. The detailed audited +roadmap resides in `.tmp/voice-0908/010_runtime.md` and `.tmp/voice-0908/020_delivery.md` until +publication of the fix; it is intentionally not copied into this public planning directory. + +## Roadmap audit and lock + +Independent plan and security audit: PASS, no blockers. The implementation will preserve view +bounds and original frame delivery. Diagnostic replacement-character flags are not evidence of +which peer introduced malformed text. Existing logs are outside this prospective logging change. +The roadmap is locked for wp2; final runtime evidence remains due in wp3, on the cumulative tree. diff --git a/devlog/_plan/260908_voice_relay/001_sources.md b/devlog/_plan/260908_voice_relay/001_sources.md new file mode 100644 index 00000000000..b5a6c2658f7 --- /dev/null +++ b/devlog/_plan/260908_voice_relay/001_sources.md @@ -0,0 +1,24 @@ +# Source comparison + +Pinned upstream: openai/codex b01c3986fd2e79b8a477a08d81430f52f22bc0dc (2026-09-07 UTC). +The local corpus is `/Users/jun/Developer/codex`; its 120 and 121 upstream checkouts had older +working heads, so the named commit was fetched without modifying their worktrees. + +- https://github.com/openai/codex/commit/1b53f6a44eff890b5169bde8d3bd5b12b8766946: + local voice helper offer/answer, ordered oai-events data channel and UDP/TCP transport. +- https://github.com/openai/codex/commit/b01c3986fd2e79b8a477a08d81430f52f22bc0dc: + feature-gated TUI voice commands, captions, handoff answer delivery and lifecycle cleanup. +- `codex-rs/codex-api/src/endpoint/realtime_call.rs` at the pinned head: + backend JSON and API multipart call creation, Frameless `/live`, AVAS `/realtime/calls`. +- OpenCodex `src/server/live.ts` already implements these call-create and sideband shapes; + `src/server/index.ts` transparently relays frames and bounds pending queues and teardown. +- `tests/server/server-live.test.ts` already covers call creation, protocol headers, pool identity, + sideband joins and frame delivery. Existing implementation is reused, not duplicated. + +Fast-tier display text and local audio negotiation do not demonstrate a proxy latency gain. +The TUI merge date does not establish when a desktop binary shipped. Live microphone/audio +verification is outside the automated evidence gathered here. + +The Fast-tier metadata commit is 0e0f55fc4ec9308840e54ceba1f1f1dc9547380f, +2026-09-04T00:12:18Z; it changes only `codex-rs/models-manager/models.json`. +It describes the supported service tier, not OpenCodex voice transport performance. diff --git a/devlog/_plan/260909_config_mutation_lock_windows/000_plan.md b/devlog/_plan/260909_config_mutation_lock_windows/000_plan.md new file mode 100644 index 00000000000..e5226fa05a0 --- /dev/null +++ b/devlog/_plan/260909_config_mutation_lock_windows/000_plan.md @@ -0,0 +1,176 @@ +# config-mutation-lock Windows fixture: readiness budget + failure unmasking + +## Reader summary + +Windows shard 2/6 of run +[34321628628](https://github.com/lidge-jun/opencodex/actions/runs/34321628628) +(attempt 1, job 102369384143, head `ddcf8b5f9b13`, branch +`codex/pr3997-caller-main-cooldown`, a `workflow_dispatch` lane run) failed +`tests/config/config-mutation-lock.test.ts` at line 111 with `Expected: 0 / +Received: 143` after 5915.82 ms. The 143 is not a lock defect and not the +30 s teardown kill: it is the readiness-timeout path's own `child.kill()`, +and the `finally` block's exit-0 expectation then masks the real error. The +fix gives spawned-child readiness a measured 30 s budget, stops the masking, +and corrects a stale comment. No product code, no workflow changes. + +## Loop spec + +- **Loop archetype:** satisfy-spec repair of a CI test fixture. +- **Trigger:** delegated follow-up from the managing task after the xAI OAuth + unit completed; user-authorized as a small isolated maintainer PR. +- **Goal:** the Windows flake either passes (child ready within a measured + budget) or fails with the real readiness error instead of a bare 143. +- **Non-goals:** product code, CI workflow files, other tests, skipped tests, + accepting 143 as a valid outcome, bare timeout bumps without observability. + No local suite/typecheck/build (user restriction). +- **Verifier:** remote `ci.yml` — PR lane (Linux `test`, macOS + `platform-macos`, `gates`) on the PR, then a `workflow_dispatch` + `lane=all` run on the exact PR head whose Windows shards execute this file; + the previously failing test must pass there. +- **Stop condition:** PR published, PR lane green, Windows dispatch run green + for this file at the exact head, managing task handed the report. +- **Memory artifact:** this unit directory; goalplan + `.codexclaw/goalplans/` entry for this session's second goal. +- **Expected terminal outcomes:** DONE = both CI evidences green at the exact + head. BLOCKED = the Windows run shows the failure is NOT the readiness budget + (e.g. child never acquires the lock even in 30 s → real lock defect, which + would be out of this task's scope and handed back with evidence). +- **Escalation condition:** any need to touch `src/` or `.github/`, or a + Windows re-failure after the fix. + +## Verified cause (log + source, no patch before this was established) + +Timeline of the failing attempt (test duration 5915.82 ms): + +1. Parent spawns the Bun child and enters `waitForPath(readyPath)` — + **500 attempts × 10 ms = 5 s** budget (tests/config/config-mutation-lock.test.ts:27-34). +2. The child must boot Bun, transpile the `src/config.ts` import chain, and + acquire the mutation lock before writing `holder-ready`. On this loaded + runner that exceeds 5 s: the sibling child in `an abruptly exited holder + releases the OS-backed transaction…` needed **8290.11 ms** end-to-end in the + same shard (and passed, because `waitForOwnedChild` allows 30 s). The lock + itself is healthy — every other test in the file passed, and attempt 2 of the + run was green. +3. `waitForPath` throws at ~5 s; the catch kills the child — SIGTERM, exit + **143** — and rethrows an enriched error with the child's stderr + (tests/config/config-mutation-lock.test.ts:85-92). +4. The `finally` block (line 109-112) runs `writeFileSync(releasePath)` and + `expect(await waitForOwnedChild(child)).toBe(0)`. The child is already dead + with 143, so this expectation throws and **replaces** the enriched readiness + error — the log shows only the 143 mismatch at line 111, and the "child + stderr" text never appears. +5. The stale comment in `waitForOwnedChild` (lines 36-41) attributes a 5858 ms + / 143 failure to "this helper's own `kill()`" from the 5 s era — that helper + now waits 30 s, so the explanation is wrong; the 143 comes from the + readiness-timeout catch. + +## File change map + +| Path | Action | What | +|------|--------|------| +| `tests/config/config-mutation-lock.test.ts` | MODIFY | readiness wait reuses the predeclared platform policy `watchdogMs(5_000)` (5 s local / 30 s CI / 45 s Windows CI) with an elapsed deadline, a final recheck, and fail-fast on an already-exited child; unmask the primary readiness failure in both holder tests' `finally`; correct the stale `waitForOwnedChild` comment | + +OUT: `src/**`, `.github/**`, `tests/helpers/ci-watchdog.ts` (imported, not +modified), every other test file. + +Forensics correction (independent verifier Descartes, forwarded by the managing +task after the first plan draft): the readiness budget must reuse the EXISTING +`watchdogMs(5_000)` platform policy from `tests/helpers/ci-watchdog.ts` +(Windows CI floor 45 s) rather than a new hardcoded 30 s constant — that helper +is the repository's declared answer to "spawned children are slow on loaded +Windows CI", so this fix expresses policy, not a local bump. It also directed +the fail-fast on `child.exited` (no 45 s poll on an already-dead child) and +extending the unmasking to the management-API holder test. + +## Diff-level design + +### 1. `waitForPath` → `waitForOwnedChildReady` — platform-policy budget, fail-fast + +Before (lines 27-34): a fixed 500 × 10 ms (5 s) poll with no knowledge of the +child. + +After: the wait takes the spawned child, budgets `watchdogMs(5_000)` (5 s +locally, 30 s on CI, 45 s on Windows CI — the predeclared policy in +`tests/helpers/ci-watchdog.ts`), polls on an elapsed-time deadline with a final +`existsSync` recheck, and races each 10 ms tick against `child.exited` so a +child that died before writing the marker fails immediately with its exit code +and stderr instead of burning the whole budget. + +### 2. Unmask the primary failure in both holder tests + +Before (lines 84-112): + +```ts + try { + try { + await waitForPath(readyPath); + } catch (error) { + child.kill(); + await child.exited; + const stderr = await new Response(child.stderr).text().catch(() => ""); + throw new Error(`${(error as Error).message}\nchild stderr: ${stderr}`); + } + ... + } finally { + writeFileSync(releasePath, "release"); + expect(await waitForOwnedChild(child)).toBe(0); + } +``` + +After: + +```ts + let childKilled = false; + try { + try { + await waitForOwnedChildReady(child, readyPath); + } catch (error) { + childKilled = true; + child.kill(); + await child.exited; + const stderr = await new Response(child.stderr).text().catch(() => ""); + throw new Error(`${(error as Error).message}\nchild stderr: ${stderr}`); + } + ... + } finally { + writeFileSync(releasePath, "release"); + // The readiness-timeout path already killed the child; expecting exit 0 here + // would mask that primary error with a bare 143. + if (!childKilled) { + expect(await waitForOwnedChild(child)).toBe(0); + } + } +``` + +The happy path is unchanged: release marker is always written (bounded cleanup), +the exit-0 core assertion still runs whenever the child was not sacrificed, and +every lock assertion (not stolen, immediate writer failure, no stale writes) is +untouched. + +### 3. `waitForOwnedChild` comment correction + +Replace the stale 5 s-era explanation with the verified provenance: + +```ts + // The child polls for the release marker on a 10 ms sleep, so its exit is bounded by + // the filesystem noticing that write plus one Bun teardown; a loaded Windows runner + // needs real room for both. A surfaced exit 143 is never this helper's own kill() + // (which fires only after the full budget) — it is the readiness-timeout path's + // child.kill(), so read the readiness error, not this wait. +``` + +## Regression evidence plan + +- The failure mode is exercised by construction: if readiness ever exceeds the + budget again, the thrown error is the enriched `waitForOwnedChildReady` + message (with child stderr), asserted by reading the code path. A child that + *dies* before writing the marker is caught immediately by the `child.exited` + race rather than at the deadline; only a child that stays alive and never + becomes ready costs the full platform budget, and a dedicated test for that + would be a deliberate 45 s negative test on Windows CI — a cost not justified + for a CI fixture, where the unmasking is straight-line control flow reviewed + in the diff. +- Positive path: `ci.yml` PR lane plus a `workflow_dispatch` `lane=all` run + on the exact PR head; the Windows shard executing + `tests\config\config-mutation-lock.test.ts` must pass, and the run must + show this file's tests green. diff --git a/devlog/_plan/260909_usage_custom_range_disclosure/000_plan.md b/devlog/_plan/260909_usage_custom_range_disclosure/000_plan.md new file mode 100644 index 00000000000..f600a684c3d --- /dev/null +++ b/devlog/_plan/260909_usage_custom_range_disclosure/000_plan.md @@ -0,0 +1,55 @@ +# Usage custom date range — manual-query disclosure + +Triggered by a maintainer browser comment on `/#usage`: the custom date range block should be a +dropdown (manual lookup) by default, with the fields below it, and the current layout is visually +wrong — control heights do not line up. Scope is the usage page filter area only. + +## Design read (cxc-dev-uiux-design) + +Reading this as: a dense local analytics page for a single operator who reads the presets almost +every time and reaches for an explicit interval rarely, in the quiet utilitarian language the rest +of the dashboard already speaks. Tokens come from `gui/src/styles.css`; nothing new is invented. + +```text +DESIGN_VARIANCE: 3 +MOTION_INTENSITY: 1 +Product density profile: D5 +Reasoning: dashboard/admin surface for repeated operator work — the expressive default kit is +domain-gated off, so the work is restraint, alignment and disclosure rather than decoration. +``` + +Do's: one obvious path (presets), expert control demoted behind a labelled disclosure, every +control on one height, left-aligned so the block reads with the page it belongs to. +Don'ts: no second full-width flex-end row, no decorative motion, no hidden applied state. + +## Problem + +`Usage.tsx` renders the custom-range `

    ` unconditionally under the page subtitle and reuses +`.usage-filters`, which is `justify-content: flex-end`. Three consequences: + +1. Two empty `datetime-local` fields are the second thing on the page even though the answer the + page exists to give is already rendered from a preset (UX-LAZY-01: an expert fork at top level). +2. The row is pushed to the right edge with a wide empty gutter, and the help caption underneath + starts at the left edge, so the two halves do not read as one control. +3. `align-items: center` centers a label+input stack (≈57px) against `btn-sm` buttons (≈26px), so + Apply/Clear float in the middle of the fields instead of sitting on their baseline. + +## Work phases + +1. wp1: collapse the block behind a closed-by-default disclosure trigger, render the fields in a + bottom-aligned grid panel on one control height, keep the applied interval visible while + collapsed, and update `gui/tests/usage-custom-range.test.tsx`. +2. wp2: publish as a PR against `dev` with a GUI screenshot and merge on exact-head CI; depends + on wp1. + +## Contract + +- Trigger reuses the existing `usage.range.custom` label, so no locale catalog gains a key. +- Collapsed state renders no date inputs; `aria-expanded`/`aria-controls` carry the state. +- An applied window keeps its `role="status"` interval line outside the panel, so collapsing never + hides which interval the numbers cover (progressive disclosure names what stays hidden). +- Draft text, validation, request identity and cache behavior are untouched: this is presentation. + +Verification: see `010_audit.md`. The maintainer forbade local suite runs mid-unit, so the +repository-wide `bun run test` is NOT RUN locally and remote exact-head CI is the only +full-suite evidence for this change. diff --git a/devlog/_plan/260909_usage_custom_range_disclosure/010_audit.md b/devlog/_plan/260909_usage_custom_range_disclosure/010_audit.md new file mode 100644 index 00000000000..73acc8b1baf --- /dev/null +++ b/devlog/_plan/260909_usage_custom_range_disclosure/010_audit.md @@ -0,0 +1,44 @@ +# Audit and verification record + +## Independent review (explorer reviewer, A gate) + +Verdict NEAR-PASS. The reviewer read the four touched files, ran the focused suite and +typecheck, and measured the rendered panel in headless Chrome rather than trusting the CSS +comments. It cleared the behavioral half: `rangeOpen` feeds only `aria-expanded`, the +`is-active` class and the conditional render, and `loadUsage`, `resourceKey`, `presetKey`, +the held-cache gating and the `UsageWindowMismatchError` receipt check are untouched, so +request identity and caching cannot have moved. Every `var()` in the new block resolves, no +other `.usage-range*` selector exists in `gui/src`, and `usage.range.custom` is already in all +ten catalogs, so promoting it from `aria-label` to visible text adds no key. + +Findings folded in: + +1. **BLOCKING — measured spacing defect.** `repeat(2, minmax(0, 200px))` capped each date + track at 200px, but `.input` carries `min-width: auto` and a `datetime-local` control's + intrinsic minimum is ~206px in Chrome at this font size. Measured `input w=206.0` in a + 200px track, leaving a 2px visible gap where the grid declares 8px — and worse for locales + whose date format is longer than `mm/dd/yyyy`. That is the exact rhythm defect this change + exists to repair. Fixed by sizing every track to its content: `repeat(4, auto)` with + `justify-content: start`. +2. **MINOR — dangling IDREF.** `aria-controls` named a panel that is unmounted while closed. + Now emitted only while open. +3. **MINOR — hidden validation state.** `rangeError` survived a collapse, so a submitted + invalid range left an alert behind an unmarked trigger. Closing now retires the error while + keeping the draft; covered by a new regression test. +4. **MINOR — vacuous-assertion risk.** The `interval()` helper was class-coupled; it is now + scoped to `.usage-range-bar [role="status"]`. +5. **MINOR, accepted.** Disclosure state across a preset click stays open and is left unpinned. + +## Verification status + +| Check | Result | +|---|---| +| `bun run typecheck` | pass (before the no-local-suite instruction) | +| `cd gui && bun test tests` | 1937 pass / 0 fail (before the instruction; 26 in the usage suite after the review fixes) | +| `cd gui && bun run lint` | pass | +| `cd gui && bun run build` | pass | +| `bun run test` (repository-wide) | **NOT RUN** — killed on the maintainer's explicit instruction | +| Rendered browser check | Collapsed, open, applied-then-collapsed, validation error, dark theme and 430px width, against a live proxy | + +Screenshots in `assets/`: `010_before.png` is the shipped 2.49.0 layout, `020_after_collapsed.png` +and `030_after_open.png` are this change. Remote exact-head CI is the full-suite authority. diff --git a/devlog/_plan/260909_usage_custom_range_disclosure/assets/010_before.png b/devlog/_plan/260909_usage_custom_range_disclosure/assets/010_before.png new file mode 100644 index 0000000000000000000000000000000000000000..56ae4fb615e4cb18f55a5ca87a6ed4ba605a19a3 GIT binary patch literal 219024 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
      ;Qd!+oyE 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 YJ*6wB)BDuj;a^a?=M1%THEn|b1D_Ubz5oCK literal 0 HcmV?d00001 diff --git a/devlog/_plan/260909_usage_custom_range_disclosure/assets/020_after_collapsed.png b/devlog/_plan/260909_usage_custom_range_disclosure/assets/020_after_collapsed.png new file mode 100644 index 0000000000000000000000000000000000000000..d1d692f08ac44a732087cb2c9d1546f2d8439b21 GIT binary patch literal 156527 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 b3m{%GB;QMXSBPFxjgWjQ_fOtq{Wt#)A>3Gg literal 0 HcmV?d00001 diff --git a/devlog/_plan/260909_usage_custom_range_disclosure/assets/030_after_open.png b/devlog/_plan/260909_usage_custom_range_disclosure/assets/030_after_open.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac6661ffc80b2286c89f19a68f8a9210116c241 GIT binary patch literal 209764 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

      $%N%<;|EFsr6DSn>6 z^%KgGY4vE=LLO%KJaVSP$=&5ilC}?GlJM`^=gwU;-P#v=Ku=Y%#E1tKrZ_N!1fh#d zrCK^A5;r%mIMZ8XGl!W_14fRkjId^KUIKZnj@}d7ck% z&lL2zu!+esb&HF^Qh7jzY@YqXYLWfithVRL%Me<~4$OYBZm&!b%JXNiKmrIsEl*xe z-bPS!ME&+B7Vk(osHpQb!uZ`$F)8Q@BR!aDthTB)FJfnJaa!(}0-teLC~@_Vmv<+l z8AP%~>G&)qU*5i5Yj(0;y1R=!-Kp-LX|)iXE0T+%t&Vy4Aop#mz$;4bYkW3? z=dCG-Nvr*Qljq5L6ur<7l}z!cPT7cdKMhJI$P_2aEIBIqCoxLXpi8EcjGF1a!Ts^& zhjuY^ajsc#Od6b>56Z>`E z_q-=GRz=D7W6$rDygp2%xJNrm z2EYM>c|Lf36DWYz)kp^TT@;Eyvqm3)1cH5Cva+V>H-2%j%F`z!+VJ zp6*~yGQ$d#liw`%EED083Zb*ZFs9;~Z&$lxf)14upDxt7a)uK<*Q>L2?U1F8p>a+| zcTCuvtiK%;J3(}Y5Neg`kO)$im%L4_V-Rs|+DF3NcBgu{S(n;WMA4h1FW}HtuY2(i zA1=V!+r1CGv!uhKf4-#?wD&+aT2OI686@K-rcI~f(mNB|ZxA_XDzKmTLVn2|6tzQN zL$}UYF@7$6c}ZI_-1>F4Q|ymNc<@057uqRkBw<_ScwO-Q`+e&o11bDMz1p-k-z%4c z1qO(tfyznfi+byE#Xdo5+7*SkNBovUMptKhq0&$oihpQvHAcb@jGYfZ z1}%83Mp=#K*Mi?_xpI9%UqGA1Muo_)&e&9dG9~c+68ypUbX>bXh2K;GPmxraT=7Ru zDIY&upY$vTl2f3=)?^rZ&a0=B#K!<~KtwSfTMjPw>;7GC@(f$Z=&*hM*qB>*jhF;# z6qRQgz9t_1Rz=J{ycqf~=D>S0u(Ur57Sez zu`IQPGCi-~_E(xFVKrd%*tSm6I_{bKvgk7J;R@JKRel)GncE(xUEy&Iih>W^F^5V>Zvv!vFQG+Ljg?=gzRZCW!gd{&0@O1ipG;$iuB8iX1$5xSAFW0 z&a1zp*6Fb}4Lv#<>lfX6BMinE)D`(DdM&WS_YR^})?U2cmf{P5Mw9@xC^hQFUL6_4SE=+mCZ zOvE%}Oi%b9SbI?{H~IIzk}F7a=>+)OrV&kX%RjfG?fCd_0;eV9Wl!?r;C;Vs1-Rz1 zo`~<+^y9}wG#4FL2OXC~NF%0GJJyW&= zt`4}|1)?^oID-fCMq&w0@Qzg4Rq=@KLl8;%bL=ed4E;GjeQCQ~r+aO&)E*FuQjJwg z;tq)nC8BwCu2G^@W-*vid31FEr(l%w@OZ5vdL)wtKdd(IPm!m0x}_~#Lj?FA1&_6G zw3hNP1@O=k3_}H8=Yp?yK(X-B$?48yRO7$StrvcU>dl{H#ZUiHV0>4e zH9v7I#`yiq2K-*z;R*(E)uH3KzQwwP-LD4eHuT;bueF}|p+w3Uy6p?86dmEYi_-o zPtO>hbp0W~mNiblt;Z=Q!tw7FEWPVX@mPt85ME{9AO1-0^umd8W`9k&-;a<{lThD{ zGQmx^-o&y6y7R9`Y4qfgXX4@>hfC!KBJKw>3F&d_a6{CL>$Xe=k0H{A>9^JT1_2mY zE^5dMtR*r%j<+(zVv64Ue59-)_fwfAQh{iVK*q@#b4v85n30A2dyY-YXpohA@S&os z&?eoP`cIWEdA9qggcLH+=zkRu5D+Zck;wTUX2hnZ5D)x+T!+H9m5Puz2+2mFPLCIrU_qrpKK}Q2O0bidk?@b`I{B@q;6+IjTqH zheTusA*Qd5x9Dbntc>K~Tv`dyuy1uFWR%{M?B%+8_=sS&K=P0mr?2D&>u&Sch|!|P zy+f=CC)M-wxKK)T*j*}IT585Oht|7+Jg9?Ws=+C)bl0{C!hfU>^*JlbKrejUnPM{U z*R411wSf9e!z2@4tVxs3lM;`4Dkx;449S*jHeZG%=5^HA9H@Y0)8a$ zek(tUj>{m*iXDK5I2REyG2h)icW#{;%D*3uM((-Kqj>CA) zK423*eWno`#@GN=x;%QEfmjGklI37rE%4l%t;gHx0U+d5WcjOZo6jY{TG{E9x-fZr zb#V6Y6fDI)R!*A&h!@nAZ!w93eRnEr(}!k&C6M*@^Lo*@G*2t|VPYqJab02Q zV`WNVkD|6~t%tv#SIvi|d#!wtLJ7NBjuuL#*V(0UzYP5#n4mnY--}}eZ=e%jCR_LMq zGVD`%=dLnZ971R>7CG7u)SG?z0sR%14xN!qUnmNfIKH$sWc{_s4>grTJ_Iq$D6 z`mEOC64OSC@9fSjJUZql%&>dVJTv$>!v`6w#GN;bx+2{iFFC)RFwo)ek?Cu1K> z9zHW$7DIM__JjWJE-Cv8S#kL5AWz1OyLOm7{~fBUBx1S2my{=Ccuyeb{mmU<_=>s!X zl+G6V3azQ5^SU1Du?4e8d-mC0`q=^kRzFszeK3*gz(RK5{9qK*bS~~iNw5JuUw|q7 zQ#CYPfMt5@78PVNV3r&1aVCyJs104522G=xGh_qUSRwY)KiDXTW7(ACqUnod12PZq zK)7ooZVMz`o@`i{o4f7Ly^~MW{68)r*>O9J$!`iY!(Y@;ThDkFiy-~8V$HSM5amTu zQXb>GqEGK;#F`F`6{#<8F+MZ-N$1ewwA7CE5+=-0Q_Ycq8X3YiD$w;QWtEY7M1?m& zurZ$1W0J>OS}crLIq(TDMziiL5igr9U|=OKrke-a*7uC~-i*!#PR;d^JX0ry%Q1VG zebd&u+g`LlCNG!hoy##;=7YY#{ng>_jHQ%oU84ugH`3jmD%pKxzZja#9pn11mMY+_ zP>S-eMKTe>x-(g9!5#{ z`M;W1>_2UC&`W<*Se#0vikHkyN=Y|dP7Z?pK6w&(O0>W8tov+xrtAtd+aeowQF1UG zPqgh0F_Kzh`){k^5@DB5k)GzUzCt16>u#u-k&u1p#YV&dB9Sd1-kpC z`%gPcFuLtT@Gwf}R3HYL_lN!bkUjElTaeJcPZ`=DK-tu)Fif{Un5|bi@j+Q$hv^B4 z9uBdF>gej~*3Sti+T#qrZ*mDYaPtaNe*KSW(y##azS%9Ru555W&3SNilSgwfqZ`ue zFjB*Q&7jsSz{YoVc93e=xc+P|xA~xPa%chT>v$ys&^EPk*J~S|v_I{}8jkoU4J%?a z%k=ntjkj+{!nWgkT;jvcaZIZ-CWg!oX$W!d@W^Q>8>=&Pkc3AD#<6=o>Y zF&2^?&h(CfEJ^BaDFD9yN|U8UO=N`B+~2SEOx~uwB+DUU5}zZ#6tV1%W`Otu;A~Vs z@a(}XATh9*C$y+TIjStxWJCB$({~@xlHcXOCQLfp$b@xHciyGq;PMt;-w;#&APozD ziY&pEg)w;@w&9*y55tWMh}g8^PDFZ+hIQ)w=8uA|Bre)p2N08`ICvzI-Xb3yF_VT@ znadw)I%gYAyQ!f*ztMP6kx;~>Q=$#caT2=t-BtyZ>0QHL6#camCgHcuCFl2V-+^~U zVKagADI!fSo80iQljIQ{KVuV$>aklmH{5q0;kq7os=8WyS+fMrm4TS)(d7j9O7ZcwwbGOW_ub`NI@n3cRQ z=CANUST`%R9UlOj&A}G~^u)Zi4GlV}|I%fA;IIGf;P=~n8MuDaW$D-ceS}1bbQp}f z`*{HYL9f20?WR2tZystfm$JxoE}y3N>3h~K;II(b^p8>0!*RCG4#=x~!CO;R>Q`sK zi`<=^omIqKFCHiK-OsXJZ0p`~4t`}boU=wUuh_2PuUxwaVC~t?k#EwLk)9Ry8h@&7t3PSrq=e18a`^I-BwBF*2 zSdZzhhbQ3?(Q8!rq0;k}4D&>K_QkyR=d6e%|4x?L)myE~k+V~v{2I(+#L$cCDneh& zpYeK)ZPA8t$!P61k7Jks_o~6w`pu?(9H*JV0xtaDI7WqrO6~=Q8 zHy{2aqCC`Z=(}*}v(So2koPd?xT19W?&026Y{XIFCgW<5zw2eX+p5*9G%P$?Fq7q&CG*7RnE@b`~nDxp~ zkaRNdNdq33_s(xWJQ8|;cenc+UEXoau5@xHL?s`825eptzBhdZugn6>!QUsAXFFp> z)$Rui$Cn10{G5U!vVUna*AVB9QdUmk|Eq1}=Ks~U=ZcF{fePIG`f4MU^Q)?_v3QHp zIMVHdPU}1)sEl%9007opW=61L6BIV~sqfpMy|A&{t7RU4nt0DuBKznKiC&2-ADLu@ z**7XK{dbTzER~}~{xQ}IbI)`9Ff)o4s!@Ni-G%Bbv{ycQmGp_&OaK|aq*35kUU#0` z#@5}ukhjU3y^10Vts6&b@(gA)Rl1|*=8)2YF)*nA5OA%_b30fdCjOkU>$bCi>Wtv_ z!?e1G50KV+pEFj*T|7iu1zN{669Gr;}e;U`w=JANOwgA@6-!KiGfD4c&J9bH}ho)0_qvxM$k2fz6M=J4oZM^Fq5IlYl8z|ZAWCJi&?Zl(7M6I}G!TZ|F?F4jvb?yE_1oyD3u4ol5GRmq3=#?_TK^Sz?&aB^nHo4Dj; z`~xjy1{p~QdgPFMhK0pT_V8nHs0V1Aii}dJ&}KKgN|wMfqAXiC`z2?oq`_?*Jg|88x@vgDm!54-!rE^Tm^b2663dhR zT0tI(!7mz43PO(sTAb@_-1+9EQxp8#MrJCrKNHhWX9bvjW8GmYveW+&EbO|iCs(Qs zZ>wuH>oq55F9$}DyV0ZigZD>x!vyC2ckArti}xy^72-!S}Xfj)#gxnNV?nt^Tf7SnJh%oL`}&R&$4$EM1qp1i}nw6HZ=P@z{_EFDGy zdeAMZ*(y_cXWj=5K(w%)D4hV+ z8~vs>wXEwM1AhJ*O?0vIed%`zo(frTbDHPr!k)2p#B=AXD)7qt9La~+!HwI+HqS?1 z*f;N)H{r>VI*>_9VL{=Y{{NW9Qm z$3FG>aMJi!d98LMUt>Mx)i*i4GD)vAi_UgE-;_+0h38tQX!ZDR{n{Y*HuSvA8$ zs&H_I=p17Mj-nYGf{U2Vk_rM9-F17cM|Ar5c&%6BYWGFM^)u7o_qBp1Y_2bkN?7bC zfG?osV&zHwI^eO17)5p978?WUH{>245VuH&CcjXMen*gN0h$nOjRgkM>W$mjs-QY; zKYE*j*qcq-2eR1<7fgSupauP;Ryl^j4`RD|q2$2;3)!roJ%y4WZ8FKK9yS*{DVtTD zQz+f7x6>b=e2jxjVv-F{38jYxq91F#=uHDFKHwnB9iO0H*MgYTZ=X$(E(m4KPf?w%KMNO6WJ^#acC3nd0 zlFksEGHsVV8Vc3cjHi+{B+kbfAw? zZU27AZF@7L86WOvxEUp2W}^ECNguN_iOGP?7f5Uie@MaXQ~((2Z!g`NqiNX@D6t4k z3BBC#z>92P;aSP)jEyBf(_$PFSsJ;=sRd@6Fd6zlVyuZ$U7VVGfd)X)8rZK^)!Y=+ zT5qe-fg^J&Wvmc>+?^=hrBQC{g*YZ^T0eELTgu2}Eq=0b&}EA&ab6oP=9KY??DudP}n zbL0N)?ve(fX(PEbDiB52{#QlIQO*=|@o>_dqk&$n1*H2ZIjS^ORV6Kii!@6T(G1L< zZ@dxDhyB8C&IIe`LDuAKtqnErOnl84f(X;>zmj9}I_+DNHYLYG2tu3Ue@{N|_Af-3A*2$B_LfHH%`;f0SH5Yt^4^SQLQg3ZY^vVDq0F+t&hotAO;O66X7gd9Fu9P^ z3bp%!YfJ~!?M$T_5Yu0G0-q1NU0-f6&HVcD-o?slYtPhS+^-FZOs&6OjKU*j4Bo?B zUo9`Q%1u-Z@*UMyzZ?Cl??%8geS3&n@A;Lgg z5we})T`2)}GxSzLrW??nKn)Oa+l9O$lI61;$^v-yV;&AWpY@pK+TR5Ka!@_sKq{9& zU#$LNjoF=Rd|^sZLp0hstN!C9nq0(>Of~`NNG3w_#rQmUvM|?t6kx=xW<}8G)R$)8 zY2&K!|(=iIKOf+kZ?Tp1)%Kvcz zL(TP7>A{?Vzc2IYD(e402`O}OzP)7Mre}n$CDwL(-frer#o4|GkoZw4Xi5onMj(H2Kp6)?E}eLbkWyXNhyRyYYMPfQg- z{EW+ro2@h!GcuCYHJZbNyfFx@j&lQEov%X!YQ@I#FR8;+` zJeJY!Y<-NqG?hVi~IOE=H+(b`pht!5)}sUV_Uvhev8GLmvg+p@5lpwE)HJo2UCP@;{b{5JOR`CW}3NuOy7a7>Wqpy_(T%+y&So z{PoYlQ=nG)UcxHK2LpE$m6Ukc+1HOvZao$DJpSr17t-#muT>=Xy)9E)2=w2*o;FZnCe>uCO=<07353Kxhq}HpkbXpFf7Vd+VQO7gB ze;NP5n*I%z-NuE|+?GQPskJ{sJ1ST$EiE#f6{VTmdW|)zH+lG)GT%)n>4F$@4Of8r zHu_vXM>-#^$Ue^CEd;~kjpsK;t}Latc=8Fg=pEiiFFlsp6S?&L(4O2iqK+hbEJKCZ zN&P)N&!EHE(qZd^n1oMCX8L5)kDiY}qdg)KNhtE%S3icK5fn>(VYdX$`I|6*yB$DM zGvQ`|BwNeUJ$&4Mhl+Vj&<<}c@|3fsSYr);o5ue-;vJ;8<@Jda-pNO64OTQhIiGvQ z6O9&5q5tutB{je6{y7@!**`jxxiVkpI0@ua>+rlM{^)FZr#+(+YV27@Tge z>+k}(NKxWD(;#Akxw^>B^g})qyXE6@mIh7H;4T(+>ZG2$URCrJew_JnJ4$eVuFA9k zj0+HF-<|%+T4_^2-A~NgPx@u>BZ=D6T)YpztYSH+K52GeTu_lfZ?<_KWQRd$1~9%- zK&>$L?jB$;5N3RPK3S&i&@++{S^{AdL|jO@G|R_isKb-X8JadbPuc+KIbW_`Fc7CA zMi|df_^-wa3cp?;-^IO3t;GW@{P{BX0#tl z^Mngnjoiv1Vw_^yCM7 z4-Fg?z(eEQZ%pD&u&=CKyPcfeG2p}f|060k+D|R_B33Je0!@1K-+1a!m;{YIdDSNa z(AKiMBs)rbi*Vy=`_s;! zQy#phAOw7_fP+4R2@$s(^S%^RJJSV}u1I6S2F#p!mvZ}XbiC9DR}iLlb= z0Ibv2(}62sQin(+d=fm&#dzMzDms}d{7DKS+VHtv!U7)mkpkUj<#Zq(ZU@mkC})I# z%oT&9si9$p8M1xW4`mmSLHo+^OYTB1@i%+>+Brb%NG&^IdD!xwl`?nsDdccnNgT|Lh8wVlIO#5Z-9Cw|AzY*j^Lf z%acb@sStyFiBrgZ7gR0g;<{R;HdB=?MbM$jb%*M&d+o{f`Ya8XUQL!nMbq(dMO&JV zQ)hj2>*_%B<{3a9qF1Faw%mZq5BtWSIxIV`i+6s&#l?m7Z%fI#=TTw6?c2ADtgLSA zhMkXzA>Pi{Y|l3rHt%s_`@%ATn^7azNIo|&sII+ zlsoC(pKo4fs05@eGD-b@&ZtmYtoos0->CxFr~~dKF)%V0bzG7Jj;dO{@o*-{#bH}e z9$Q}M|44(&|40Ludv>7KpIoL-%U`e7hJLQS9wV( z+(dn1OMcyF!eqKr-1mWL;8z?(_sm}bsnJ-rh!~M_iSX$6<1TcLuDV5j7QZ%LHic#w z4)r|F9LbWBCWcG`v$otR?bTTq=4?1j?D69Q^M1X?#zv&PA7ZoGdZM^UrQ0J}acug% z_x!2cqM5JJd}#mpT~udRR*yOyyto`41c|^1zxZS6?&$j_q@z*iidNFe>_hRM%S7G1 z*iWyY+1=G{D#g5dRra}jCjYG|nMhHwrkP{XJJ0jCr17o-!(9HFBoj`a4PvtJx|pK3 z!c?`9Z`CrhUI(;cZJ2&#{jB}kN3HPtJ3~W8gI#INM*{EIxf;Br!P>v1|2v37r0W|S zNfowws_|ccZ7dnreU@gCg#E94b^fn<-JnaZrwaY0S!r`)6G#fo-E8OqK@w}D^s?LL z6d;Dpfsf?Y>;}|vSPawTaPjHuyf?yjyvcReZBN*J3;VaPn9Eo!_7~g^xePa9QQmm; zK=KPZqYq&u4B=15E1(z@>2HZkMD>>ZJu>GAuPo3jTki!Gjn zzH`GC>8SZgre>EdYZBOQRjYYl+G&hU`Dn!-C4P`|ijlay4u71fbzPm?z8iusa` zCQ|tDBe0hTe!KyNh4u2uVC@nM9`#n_1B<4%#HXIVzTKJHS$zli`K~k1x>kk#zz$HD zEPODl>;)txJyQrwC z4I8*?2z^*|#{`8A-e&aKB(ocI9u&7TwAPli+S;0)UVDsN%hy4hB6-_PcFVy{xwfXJ zVUt=@3)x%eXz_DV!!-~7^H_#x>!mp*bMxm{-`+Dz0rfX|dFnA!j9_rpD6n2dm%7Vb zLQ$XL0Ns4mdH?lU5pbenCKu7~YrW>r7`z2+XX@;(_M=kkc=UdltR%&8z4(z2r^;w> z(`N9E(I8<`#X;4+8M^)WAsuS%lZleHtO?l_&y$}`N?J&|ZyM;kovVSx z-OrXdM;U3YHmQ4ZzS#=1VM5ODgb>7RK7ETkf9fID?K=PZ-}s2@zzaZpy<&^CbkKRP z`dT#NQQ!^N)yd3~doz~I2o%e*{ghy1j1Mmu{~mDNpZ>yop`{UpB;5q+->`f=aKk{_r^a)`KRB&hDzur5!lkW2ZE_>|a@&JHb{>G@L~euF%%sVD5YLRF6`Adi*&Fv> z(NL)~LWr7OJkn2|7Gld|`z0H4>3KOV zG)+LuKYy#9{4W9HS!85iX(>H9-p6e@O7BT|YNSnaoOtA{F7F6*C8v0bjg2j#py#mY&<4A^xIgowT)lKC>l{g{h&(|qvW_%fQ}ulGbm2n2|C+w?KBK(E zi&$TSCw|$hJOl~Bfz*2-jtGQdly)_eEg<&2DrItV@?F@(8&;jXJEve! z?Q3ad3lv5X4$+x<8C&|49M5@MLZh~l;N^-Y~e zl2TdWCoq&*M<#545zZqbf(Lo%zW}gh;1`$U4G^X2!ZjMZFD@iWh2{6@i1ejr1O1iN z>$2NF>n#RNKRpHi2(ageaT4e>1z0q**f~FK_;uJ#IYoJ1`04dUe0m&V{^-g|PD_hu z`}RxfnxM_T!9xeHNg_7M|KkF@hXV7tJ+MZeWVrPAYn# z3T!mBbG;VXm6?~iu$07&Ka@W>K7&hLIDR%9qWIGZI9~|-e7Bc#v3=Eh$jq!BUCblZ zryKDwN1t0%=NH5(_abByP}h2D=Zk4+#e>g4nzo%v`nwGPoS>-(Mgh-{m(P5v1Pt8~ zglBBp?vKT|u^5!&Pnq@@b!_18CjmWVowr}iYI(A$veXfOYlk$OT+`np0G;U2mo{|t zqnRko$fAFJuixl?$j5O~iECaEXbAj4jR*%~+mpXMh>;*k7xMYm-!ew{0nvcqr28ow`Dm*kJF}dM^ru;JT`DLI<>Qn{F zm-`II`5vNKCLL;)(e8V5m%vuxb};Px=gaDF$#b&! zhV#2Kh+XS(g@x>uoL8HF0^36hX15?2=)-UszQ0mByYsj2#ndX6F1ljSd**CW06o4V+o zx5TIkVHNqCGOE*z*FkVuheJJ9( zJqMEvfrsQgVcg`YBC?7wknx4t#Z2vOj21c!3Kb6iUj{Chs z5APC*1yQ_fcNhG6Oikb3jyF*;RBf0Acagw0qOACW{&5E>V?@p-`^!4H`1>a!V`dha z$HVhBZ*H|NiyX9!)>w_s+Bf$LJtV>h=fBx`V?dfLV3{OR;>K)dcn>)Tgp0Tbr`IQg z4vTH5?UIW9sbQ1pZZMYie|v^gS_n6u0dovSVLXg&pwwjRoo0<_T1ctvJnq8wL&6pEHof7up!~ zI_)Z*Izp%gZKpupRB<}r#K9>~)X(*y-MsEHdJ_=Jc%Qc%S&mO|3-@dMhS`QjL|k&F z-P+QHlI@h@!_Oj_Cjsc)S#H=9OjW^|!0gcKyUWGX zhEN={`c{6!9Ic99Pklko)DCS|Jc^#7BXb%BJ-A;)%rE$kihY+{REmI=UU>c9hVz*W zOvs$hEgwG6_l;04G#K5~ZIZz8+k|0@hb+36Ey1eJ&D1!=?MtbmsGyJfU5cB9FS1)a zIvV^3w=^|Pb6}9h!omIdlYeKaBM6+uGPT^$7|6@MKr+fn zk9;6xkV7h=(lSc-sHh11-|;?gPMNzgf>UDp1sBIgZ3=&HWO(m0xX)oZe!j)tWBOW7 zO06%2e+O7`7Jz<$8p{F~A%ggX_*%UBN9R1{ks|)Oc7OHfEpD9nLg6kgXSF~8QehA` z*#Y0gdVAeETdNKxxHQj5n{+qeO|{WngEYBR+!qwvOrmEX`~VUcbT1w6Du2s(xngy+ zGO711IXx~VBLjA!YGtM1=O@nh0kIky|0(wGR|eX}ADzMZ@-h2uIsJ)W6lEp+}j{ z`V3xcwC$FSIa-Roo8@YJ^$KcW#ppd5>AKW|fAAdt(AU&#h zMZh!x2Z--szT%ADt-13KJf^Wto^c#fQ3wV^E>XyINm%OzI?yU&g4mJ;xC)ciFJJir zBl={iZrrUR5chbSE_}~$+o5rdibZK?KY+dBd!Y^yMEx8pG_eZ`BXOzS`GU6tK&*G* zAOnbJOT=j5;e$&;f2UvEwjFibI)Qo^oD~o>s&d&H0S*oy@JxVD>sjxIFv{?!)DfT09!|F?aEhnzM&%k7f1mMGxnHzr0adAF(!hLZ7W14NX zp`Q1=n$q_|h~~fDsncVrE7}>LD#fK05a_)}(j@$MqC{Jzw;b@*fC#oHv5Yo@Css07 z{(TKA8yFO>1R?ahoQ%G(J-6ofpRH-w?jU!*e;b8LOknm=U{>TU1cE3wE ze`9Tjy};pkbHPY?_%oq>`}kAr>G3BAtcxx3!xdekgOxB)6hl9?=z*54^J*(_NCS@r zTOR|w6>^dHhYM7g$iJQK&EmZdN9I0m1ekldz3E;GYefkK@9;2`g9ibK!Loz4t9|g7 zYQkLAqPYf*c+xzd^kS(K$E14Vfg=s3|e*2_zI|F_5N^%@Z7a*trjH z_szE7Ev~`;^5;0uh7}uqOE=AHyQpK@ftjbFF;;@JK+IGj{J{}NluQ0cNF^;9*}Y1> zEX!_s=f1{`3>!%181>yl9k?ILpS1PpHyy|wV=KCV?^DAgLJzBv?+PSXkQcqT+7Dmq z=$T1`zlK`?9gtN%`e9n&aWb!Qpfseg9S4`_fvt)AhC!Q;&{sCtJPZpZe)%sB8PI+9 z$$T&abQcFW5MCIBU3j~1f|=i*nP%0GoIU+?Cua_v+DSw2GG@`;Yy|btF{lqDr}XU< z53zMIfZ669z*@M8ZsH*eafL(YTD=ALKBdcM(}~eM;q(v%Q=s#L=LQxk?`l~Nq7>R0 zmhZPaRdwh=uA385k?7dxnV~^2sUIh4fn&$SyI`GAzBak&$U0xBUT^*ODS?#lJtn6BcU5F*1S50Gc~U>X^)^hJw1~Q zKQ4P8#5jOq*>3xHwI%>9H;6zdxUzx8M$6jw9*51JO-r``&cKd~)qG3|vZ2BAgbMM= zIxcGuKe+2WNk?0WEPNC?U_J;Irnjisz99b&XTiOrkKU_3sBkvsd<~1!zgg%R|EMxJ z5$s@m`&ZKC6BDhtPs754+mBY`RK#fn+DCq_6@T2yOR~9_)3Y_#=nOIo z0H4(ZmmXLmcJq)SxW8kVNF7{(E1RXzALN4_dDzkEhWQmmw%pgO` zZ@McgDXNcN5b55P_uy*)KxyCc z5J)QLzey%XM!=GNh zqzc6LyjTu%6^VcJmKF#KQRY=%r`Cm{LzTeYC(X12KD|I==BbCZI@8m-l*~a+huL9_ zdT_s1KP1il-`5wbF%RF-Wp7(oQdoanZ1W8xrmM4^e*Rz+nEhz^KHbWf?Ecct;GP!L z#ZAf1AZruxl?Mc60Jm|7Fz{SU(ACvk(7n3^KAQ!gUW+b)rxPnQ*)%a#oM)zJP2ZQy zql@1>_o`(!B89<~@|rB(P(cC4kA>C$rhnk!^h34yG&uusrcVO?KIs@;{QKnTeFamC znR^}HXj2ff0dX#CV}F12d67j;X0BW&YPulP=X|~%u~Dqa8N)QfRCoyDwoZRuSINKx z{%GaG!G*aC)fR#+!Tz_4&&UqpGXl9E$dH6iewUXU!2RFF*&PkXEL2gT>w}c>d;yU| z%lGn!ahF_BSp1-|>w)jNHXGd|@n)ZE^_I#|t|8W5`RvpQO?Nc&>VD2YQ6uH0tOztTM2N-qvcE3mT zTF%OR4%8>T*Uq)1Po6xU{M?A6%cLFIn5D3`4X4CW-*2|PLaGIOQ*GWRq*6uB=Ez0> zAJwL>I5=R=+eHO!XylH+r#Si|7x*Av`anJ(%L2q(c6o(OwC^!(AnAj()2TwfcZ-Nw z;isui1Yrl*ZGgL=vc=PaXYjFy4fM1LlGDxMRgghPBSuvM?qZI6d5q+kgk7FU{nGG4 zmf*E&fO{v2DP)|jCd&-~3n|3s56n8)2yEgIw@nZb5jy%wabwx=e{!-hSfO4(Qgi=d zz%7*NElAQGh!L3fL$zFJ|Bd{3mt|RQ@FJZ;`<%6o-fI{Z;yqCUV`xQCNAGwT2vl( z>W0upnl#wmppZ!e`(7?h3mZ>`zEL3Lu+@H=qU ze?Ra8dd@x&JMtjI^X#_Ay@wMPJHdXOU0?E) zlHMdgr`bFPqZe3&BVE8U78Za2hSt$$_e@}*A)yrwCQ;YmWHOnJc=Q1TqM$zLOX^Hm zo!zX~%9Hz^X&xgzx$>E=AmSbmV=HLNg?1{y>;~ek-kJ333@pFpSCrxeRZs4(i!ISJG1pXUs;}{`A53Pqu<4QFN=`shYnLA$LRyN z80}7>;LUjJZ(`vOSDIY9hy_6!eb1hk1is(2li_pRBj$b9_w8Ai74CzCgH(ZqLldNcpH_?tW}S95N&cDON|zAAo={2HSt+nb&;>mZBAsBDC}&_n4`jSdYb@T6vg}WRi(en&+>cHZw!MI%PcFz3 z90q{y>NB?hfge4y7BUOKJv@MnpnFV1{l)k?u|b1(cE* z1O(|6MNmMH4wVv^;XZhN-+R}({&Cj%!?Vu3Gtax9y+5^^x{PJ(E&h=2e`N@lO!=$H zK~lx0^S@&3YU=#z8z&tlByMF9=oH(EIU>$V@ex31S`YP|Z2++a9$#TBWsoy)>t(CV zyQ{|Hux87P{qpj?+?y;>aCt|`jyYnqL10D86l0%Bjm!6?P4^zMv`@tl(O8Kzd$*@E3m;%S?e`J zf;)K#Tcm@s5`<2`Hs*>yjOI#}a;v3*nX9eWikxa|H4XH)yVI2@R% ztG&bXgRGQxzK^|D*_l@x*)u9xP?sa`McFm`uBcPjvbdfb;Ke<0R|V%&A^0f;8jsl=d{A1(8_Ae`T1ZpGjF`0SQn_>=~M_^oh07d{{x$&B-!y78*W(r=zqG+=3 zpl1J^l9Do2t^=@^;$RxQGN4}IFNn$jeTX$9PM>`5Xk95Af|ir5onAmpo%IcpqfzrTm{buZkMzMzHlmB0Lc1^)UJ znR_y+7y6CQ60>b7h4L9fv&XG-r?Cqt8OXnaidBK-I+}x}M3zwiM<34zXpqnsL|wd} zRx__MJI~*sQ;%(;ID-FDq@Cqs@qs)9+z0wHwA^B;o!UHXr@u z!V79L_ZX9Zh=Z+sa(&%kbJ<{XQms7TP8X^kD80Kl0LiiE2N@HZ>yAwIKD6`?^TE5u1AlPCD(P`MjWLpo9ixfjo1;-mVwb@ zXDR4=Y{EiOAQe_I{^uKSKD&_~FGo{MlPUgb(a_b0bLBAL8|M4euz;D?mk@vNFPK%A zmAAuLSHAVK;g%5cOMsXl4cc$`{UW+fKu@nKi4w!2h@fOor!y=|>H1Y|x(0!TPkaXU zjQ8U0NKjLb0r3?1@41ce?fm_ySQ$(^z=21)2T3F) zNwl|Y&0;4OG~Iyn5q0BB=*OLj2Dr}{F!D~leBoDXDUdz(D?7LvNh&AYn2-tN{!CAZw3g{pi{W|4 zHz2mm5rEUFF1mH}^}zMoy7Q>}h+rRSYzzkqmdAfY-yQ>-pI=Bz4GkVke-s`(;$*8D zh?0oeZtntTYeCDneY1P*60V@tk#!*9&sYrep^CWD3w`*P{&>IeL-cwjaz8^W`J)n= zY+@U!3-1HyD6p&(uIZcqRq zJoIhrjt*IiH z>nltLw6%z(FN~;+@LDB5*ukUKn5jCqUvro*Y%t%c%kTE6uyEbwBY86 zD^@`t&45>iS=t>oPP;EYOVB+1b8QXL#$Y5VEKE`c+Fd*$6!20LRyiecqbNzUpb|Sc zLoqayi-`ccA>+a#FN9Qw$y!tX3@) z1o3G(CqdW1Pn*{)*=qGX|$I3dW+l8#b=5=E-2rSr_w7P^53KdJT~( z^Y*8g^&vBUGMuia-=X?&@brGVF}R$za>K)Cw-I-~TjK#$+Dy@u(PWwDPN;fmZ-zUe zsuRmC^XneEG=WpUEdep#1E!V9>CkFq#k4S$PiHS%2H*u94nI#n;Pki6v2F7#1Wj>& z{&f>^QVIUK#m~S+1s??Xz-}UcQH~0{2Mdxh#9SZH_xjl*I!YM(viQdyYTZnfR9|!|fWkKuD*d zv2lEw#uHue5d*sh^21+*QNYei+T5qq?aS9%)cjlFU-=rIR`Mym%@2>j4kz%K*Y)jl6TA8fAHVM_b7}N)id-&G+ zJbUQ!w~Zorti{8ZuRXP^Rdu(CY?urqLkvVo{tp5MQIwoKeQMp`?*9j;jIUOom)`+>)k3B`*7 z256|(>AvT!@MeRP%_$m89Qo~E1uepkM1bzU7+@%N2>Zo&FHp3~J7lZrj@kIVeeLo( zGWZ0G06H~kzz}YEBJhc60PGv}R6l}*!`ayN@U|YB5nqF}e(81ipLtCqZv!-M3IuiW zJX?>r22;TWLu;4s^gk@X7=ZethHeFq@Fy9pk7`uxwud2Q=Fg*K$PBG{O0`OxA}B8H z--N&WN!H*5I~U)b3U024$=}Hy1pE{G3T;0cKxD9T>n2Bp_10-QOdZesh7DLhiB1J( zDoFlRfdMc*P;6Vux{flA`7<=E!0zJ;uK~a2=-n_-z*XTZb2yZRt_65IvWE_x%L2>A zpodA@2i?0rNZc+_hM0B!NK;x4TPEGwO@sZV%b}OKHQj}6w+*0TgZbN@CGYLa(v3@) zbMPpX-c9xCkgBZ2&}*|J0$esvA3z@K&Xjnj@erOK$H zK@NBr=r5&QN994Ys(Y!MukxiA&5$6TXqamBNIa$j!iWic%q%j@&ZXxKfwsql z@@dpaRL{||Ag>FEgF|C39{y0dMC@aZv!My)vObF?aO(~bJ*PPNy>8LM4@7GKO+okl zkM}y=zD&FHTLOq+?yyd$V{xfwGRRtO21@>7C;H%Fh)}_i9A$pH_>mmX{{MIL+;xTQ z{MIazg0d)+uaCA=%@~;?DmZ?EI7s8(ckD()2;#&YUMa3qn|0tz?3SuHRQ^pR znq(_!0ftMM7})*$!fBu%gw+HbOtI}Vq(`KFpVY$xzO3p;NJ_mY`%7{CwE#rz{uCN5!v0^{~LaGJLs}QB#U^ZlqBkjoQalm@y zCEIl9QsIR*3+&wWfuXWqSR*q&R7$DOyGKYnQ65f#E{eJs;tR0OqVSWu_hc6F3`ro2 zhfkZ02_K4<%|xijDu5P|)EyV{8Nkc@#zmLFS2V}~sq*t(i?y1PP?Bz%Z{n+A0i6N& zw{2~0?GNBP^ZESoD}oU>g_7N0AC7ZuQBG%B@+!VQ z+s5HaG(7WL@TRAy-+o73`-FEl(#|=-K&6-eS=L=7hmTlOwv+_FK*4yS(pLoM|x5_ZljXdDb z%PzgEggK)LJx#-EA@xaG3i=ijFQ%&&xch4GTjVV{MvO9MGx?RB~luJXa;W%MaeCe8I zMC+K9SBe%~`_%%Te3JD8`N8W7hS} zOjm6gf?|T79=|6Eaka|gLMTXCZonJZW~-g4s>2l9MbME;&*rT)7)NGeruz18ceOcW zL8r6}Ujq7h+>kEMF=x=;%<}u{{Hb-@8E-6RI_0t&={Q5n_URns7=0vn`41YqR}&5V zY#=u*4~smdL%jPCJLO!rfAG4izb3D;#i8VJuFXHLr_uq5x;sR=$H2#qV~YR55RN@E zrF66ZnWD5iIm9NPFz?-CIf6ssZ7H9Y+>mqt0EdffdbjB9)s=v`?t2<4!I5PQvtYl;4xX zUV`iHEIc)q9s2dn&dXMoI*Nu`H_iS#K>AirW>E6SgFt9`k)yw$DEGh0o~#o1O5 z^WcO_v@G^OqX}d=hKZjy78vuMtG#xOXw*c4UDIqO7x-s_8feyRp zT&Ik~*AHd^dH0)RZ(}~g-)yn)yt?WtrTt#>%p8(tT7bs9-c)%Hrda~c4 zLji+q-6>W^M}y1+@Ebh^vBIFCn~+gk4g=Yx{LlWXlaO4?z6i5+z<5kBN&c)7v8YMv z)3p#Y5l{-XHjQX79$Plv9v#t_`c(=zXI@(Exq5ws&R2F0|1v zReoZUHQEl5p!M5ZXj@@7Re>Qj-(7Nzfj5p`6PM*E-R8y(lVo>Myo58r%;xu*!*w79 zzRw@Y>B$d7;A2T*9SQFqc+tOP0Z_%81{PoAE!N+mxrI8S^C9b=sz>oXXR9Qzf@ZJ^ zqXfvxo+Eg7hrIS3qbC8g(E$Q41g@>-^EIY8n|#Zbn|4j@tHfDhAUWM9G3m>|+@n!| z^Z_WU`KI5R?jPd*#~|a8&cb_D?YsV0jZXxIYH$j@`LW}twRTMD50r6=i-T5VKF z%)+MhxV2!uQ)_s?a@>& zaZlcNc^MFPz|7TW4K=z>T*@*z-M?+5ylycvQhGBH&HHr*x-X~asN-l$qb~o)-%*m02ef%$%gF0ND|BR%<$!i1A$ zwM-z=@g1lcU$8F$`iN&W5SQv<_pc8`G<^LR{96cbpb-FK#X~n&l&U|{M#8}EQ??j- zCnfj`8WGumf-y=kn$VvN{)zP78IZ7fJ4M^6^e-106pZ(O~BB_ zs39!EaZv~X$XD~z8yvhQ$pWOGnW$bd%$CVxqfkL$33lIk53>pltj|Pl7jjr*T7J|X z1nz8-V!Q#iICOnC&}=Vv3LK74(yK^-;X3=H0|RIX~Z%%7l# zrkRussU-C3kd#%b4UL!ydv2nGswSaguAE{Fwa@vEF8!V)FiIyqzAVRF?DKgS$XzMqJBF#V&n^ z(5-b}Y!ISLa%Tgy;^6$yUrv=DM%lj8CIg8yYN8}zL%;aDk59VJe;*mbJKQ3yw4e$a zN`G30jp2!4_s?xwV<{DDA)aQk>j_YuHxBWBnn_tEj+iA&LmUf;$a{c7Yuw3GOLOrE z49y6Id`-g`S{TT#2>R9?a*YDY%-jDNm6{mJ%@mWLHvB6Fb5Q&vg@+1=b1Om4(lMTh zf9?4;*TsO{KF;=%=mWoMkgU!cE43${jNE*!IRVHgyv;^P*38irm~Ei1U-N{waLYRX zz#4hK$+7u+b38uIpB<0tLhW6b4=M_g^&u&flevOnAC@Kq9`S_=lKXAz&LKoC?pz{@~` zY~ltIy9hyQG4hTkIJoX3lW!i_amMyLX7$`F&BRC4BAX&qh*VAFAUn37$ogh<>~Pwb z8a;l?a)zo60Fm#X6934r*E8)mzY)=_4BZRf1+Jo_;! z7wVVJfukC02Coc9f?ePO{9t%|sQ7q>_KTH-Ww94_uG~?1oR39)`6i=hWR@b?9RjAb zzClxifDp%XPDp}YO$PA?_k#NNM}Sy>41wN2Dsy)xZB5ODt916pQ;>ZXZ3hv=vF=$- z5^mpr4+_S{)Wr1k#y5t)@|ppZwDZU-^h08hCbr;9j417mq$!ETIsC@@3j}RUdxvI0 z7^j`?j)#F*3()xx{Ic`wv5H~QBp3y1WS3tp$n))bqG+IECSiwUfZ+K5_6W#D;R@Qe zy`bHXzqzsmC&GqV_^Kxh3yJZ1X_LJdJo)om6aIIoObH#Rfz(XFn9YH_e{p1<->E}T znEZbDpL5m_sxOs*pPsjd!dpO)_~Q`f2#_>>cZToILyjjqz>P~9zZq~ps}@y1eofjf zYfyY`jB|lM-E~`CuR?0xi)JPM4u$$tmm&LuKK?=^Q67J-lg zo8q$LnG|eUrzhm;J=k)8z%!TuHEC;(ZyiwSARb>QeLyN7>ps=IbQKs!f(j*Ify3DB z)Q8{Y!3bcVJKyirI9Iy*#iFy=pXB*h^C^yr+nj)4r(Pe~*gq9Cx3FE$0N>P0N-S$a zAN`Q9viJ|vr1;@d$7!}w!o2slZ_8wckHm3nrY_w(NhQDzue=gwh&k?KlGvZkxIcm2 z8FTUdDhiEW1g0r~WsCG(f@b27oxpJa1It6{X4O9i#gE2~?D!oMMj;MQuw4aE0NyCEPnX1x_m zxp@O(ty+-{jp)$mYh<_;4Wf+hf;lRk-2g%q+y+_#pl^y3Qp>?B*#|vCsT}k810e8W zzxf%UIc{TlZ7=&R@(Do!=eC#!R49M#LVz^%1k5BeJ9~5W4APn1 zUiC8+%**sBsR25wb`Rgp?BT)J=b(}IX!#EMU;%+X)Ak_WAouK7ZGIlI0w2NDaqYv< zMgokBG|=OHOr3bK$i`xo`A|DCdm|^Lx!@)b=|;)<)E5(*_dD}nAE&S94P)w7zhX;^ z+Yn(%B;7qDwxpZghBwK?w;>c(t(V=(2Kt3}xp zemVp|gKCIvTqLvlZF1mHtIC~?L}4MZ$ZrBUt^dc#ko;bRU9}P0=b_Qj2FrT-#qg47 zSFam~>Ymec$<)dclp50b)kkL)Xnvq; zahs40+QLh)?G$yx|Eouxe85AQ8| z63Mp|$FN@mK*g6+OI@Pbc_~!FKv1X2q1|%8+$y!O{W5QPt`@}g!-nIDaoTh#iXs>D zp(!C=R1kgyu8A<`r@L;2F7ll~g0ZZ6m_|e@v#(6WNkzT8J5_&*jwQo7g;ICun8=mn zF15H(ykr5Cehe3>Z!Z`HiDZFj5Jx_q_wF@u3`<9(ukb|xy#mN;n=|L;0Gtf1D_^PF zDy{kHcJ}f!CK*o<`v3%11xp!(fjDOZ1w=oBC{)EFG3ayCU z>U!4>@IV>d;~~QFhHOkmR8>_J`3(!Em|nxST?$mZ$#1gsg|28Prx}~6rSMZAjO)lr z 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 z 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 literal 0 HcmV?d00001 diff --git a/devlog/_plan/260909_xai_oauth_retry_hardening/000_plan.md b/devlog/_plan/260909_xai_oauth_retry_hardening/000_plan.md new file mode 100644 index 00000000000..785622752e2 --- /dev/null +++ b/devlog/_plan/260909_xai_oauth_retry_hardening/000_plan.md @@ -0,0 +1,101 @@ +# xAI OAuth retry hardening — unit plan + +## Reader summary + +Four filed defects in `src/oauth/xai.ts` (#4045, #4046, #4047, #4048) all sit in +the token-request path that runs on every Grok login and every token refresh: +`postXaiToken` clamps the server-provided `Retry-After` to 2 s, ignores its +HTTP-date and fractional forms, and keeps retrying after the caller has aborted +whenever the abort carries a custom reason; `validateXaiEndpoint` accepts any +`*.x.ai` subdomain and URLs with embedded userinfo on the endpoint that receives +the `refresh_token`. This unit ships two pull requests: phase 1 fixes the three +retry/abort bugs as one cohesive change, phase 2 hardens endpoint validation as a +separate security change layered on phase 1. Grok-account users get retries that +honor the server and stop when cancelled; the credential-destination check stops +trusting unbounded subdomains. + +## Loop spec + +- **Loop archetype:** satisfy-spec — the expected contracts are stated in the four + public issues; no candidate exploration. +- **Trigger:** delegated release-preparation task from the managing thread + (`01a08498-4ebf-7ad3-89c2-fb56c8ea53bf`), user-authorized: implement, publish + PRs, verify via remote CI, await serial merge assignment. +- **Goal:** PR1 (base `dev`) fixes #4045/#4046/#4047 with regression tests; PR2 + (base = PR1 head) fixes #4048 with regression tests; both carry exact-head + remote CI evidence. +- **Non-goals:** release, promotion, `main` push, deploy, merges (merge awaits + the managing task's serial assignment); no local product test + suite/typecheck/build/install (user restriction — labeled NOT RUN); no changes + to other providers' auth lanes; no GitHub native stacks (ordinary dependent PR + chain only). +- **Verifier:** GitHub Actions `ci.yml` ("Cross-platform CI") on each pull + request — it triggers on every `pull_request` event with no base filter and + its `changes` gate includes `src/**` and `tests/**`, so both PRs (including + the stacked child) receive the real PR jobs: Linux `test`, macOS + `platform-macos`, and `gates` (`tsc --noEmit`). The Windows + `platform-windows` and `macos-control` jobs are NOT ON PR — they run only + via `workflow_dispatch` `lane=all`; the cumulative final-head `lane=all` + dispatch before any merge is owned by the managing task. Exact-head check runs + are recorded per PR. Local verifiers (`bun test`, `bun run typecheck`) are + NOT RUN by user restriction; the plan instead maps each new test to the file CI + executes (`tests/providers/xai/xai-oauth-retry.test.ts`). +- **Stop condition:** both PRs published with template-complete bodies, + exact-head CI recorded, and the managing task handed the PR/head/CI report. +- **Memory artifact:** this unit directory; goalplan + `.codexclaw/goalplans/fix-opencodex-4045-4046-4047-xai-oauth-retry-aft/`; + scratch-only security detail in `.tmp/260909_xai_endpoint_security/` + (gitignored) per the repository security-notes policy. +- **Expected terminal outcomes:** DONE = both PRs published with green exact-head + CI and handoff reported. BLOCKED = CI failure that requires out-of-scope files, + or a policy question only the managing task can answer. +- **Escalation condition:** any need to touch files outside the owned set + (`src/oauth/xai.ts`, `tests/providers/xai/`, this unit, scratch), any merge or + `main`/`preview` action, or a verifier verdict that contradicts the issue + contract. A delegated slice that two agents fail returns to the main lane rather + than being re-dispatched. + +### HOTL resource bounds + +- Tool/credential scope: `gh` as the repository owner for reads and PR creation + on `lidge-jun/opencodex`; no merge, release, or settings writes. +- Write scope: `src/oauth/xai.ts`, `tests/providers/xai/xai-oauth-retry.test.ts`, + `devlog/_plan/260909_xai_oauth_retry_hardening/`, `.tmp/` scratch. Git + mutations use `-c core.hooksPath=/dev/null`; pushes use `--no-verify`. +- Token/cost and wall-clock budgets: none set by the user; unbounded within the + session, reported at handoff. + +## Constraints + +- `src/AGENTS.md`: OAuth/token changes are security-boundary changes; regression + coverage sits near the existing subsystem tests; public exports are preserved. +- `tests/providers/xai/xai-oauth-retry.test.ts` already exists in + `scripts/test-layout/layout.json` `explicit` (line 1301) and + `tests/fixtures/test-layout-expected.json`; extending it avoids layout churn. +- Root `AGENTS.md`: pre-disclosure security working notes live in scratch + (`.tmp/`), never in `devlog/`. Issue #4048 is public and its sketch fix is + public, but the assessment and patch plan for phase 2 are held in scratch until + the PR diff itself is public. +- `MAINTAINERS.md` (2026-09-06): maintainer integration into `dev` without a + second approval exists but is exercised only by the managing task; this unit + performs no merges. + +## Work-phase map (dependency-ordered) + +| Phase | Doc | Output | Depends on | +|-------|-----|--------|------------| +| wp1 (this cycle) | `000_plan.md`, `010_*`, `020_*` | Locked roadmap | — | +| wp2 | `010_phase1_retry_after_abort.md` | PR1: retry/abort fixes + tests, base `dev` | wp1 | +| wp3 | `020_phase2_endpoint_validation.md` | PR2: endpoint validation hardening + tests, base = PR1 head | wp2 (same file; layered to avoid self-conflict) | + +Phase order follows the build order: the retry-path repair rewrites the same +function cluster the endpoint guard sits next to, so the security layer stacks on +the repaired file rather than racing it as a parallel root. + +## Independent verification + +Four read-only verifier subagents (xai/grok-4.6, one per issue) re-check each +claimed defect and proposed fix against the live code before phase 1 builds; their +verdicts fold into the phase-1 audit. Live discovery evidence (2026-09-09): +`https://auth.x.ai/.well-known/openid-configuration` returns only +`auth.x.ai` hosts for `authorization_endpoint` and `token_endpoint`. diff --git a/devlog/_plan/260909_xai_oauth_retry_hardening/010_phase1_retry_after_abort.md b/devlog/_plan/260909_xai_oauth_retry_hardening/010_phase1_retry_after_abort.md new file mode 100644 index 00000000000..7524598fe46 --- /dev/null +++ b/devlog/_plan/260909_xai_oauth_retry_hardening/010_phase1_retry_after_abort.md @@ -0,0 +1,351 @@ +# Phase 1 (wp2): honor Retry-After, stop retrying aborted token requests + +Closes #4045, #4046, #4047. One cohesive PR: all three defects live in the same +retry loop of `postXaiToken` and the same helper cluster; splitting them would +produce three PRs editing adjacent lines of one function. + +Revision 3, folding two audit rounds. Round 1: four issue verifiers (#4045 +CONFIRMED, #4046 PARTIALLY, #4047 PARTIALLY, #4048 CONFIRMED) — strict parser +copied from `src/combos/failover.ts`, two-name terminal guard, pre-sleep abort +check. Round 2: plan auditor GO-WITH-FIXES (blockers=1) plus a bounded +retry-algorithm reviewer FAIL (one real High) — folded below: donor-fidelity +date regex, non-vacuous HTTP-date test, hostile-vector tests, corrected CI map, +**abort-aware in-wait sleep**, and the **retry-budget terminal rule** replacing +the issue sketch's silent 60 s clamp. + +## File change map + +| Path | Action | What | +|------|--------|------| +| `src/oauth/xai.ts` | MODIFY | import `abortError`/`sleepWithAbort` from `../lib/upstream-retry`; `retryDelay` rewrite (returns `number \| undefined`), new `jitterDelay`/`parseRetryAfterMs`/`parseHttpDateMs`/`sleepAbortable`, remove `isAbortError`, terminal abort/timeout handling + abort-aware backoff in `postXaiToken` | +| `tests/providers/xai/xai-oauth-retry.test.ts` | MODIFY | new regression tests (below); existing five must keep passing unmodified | +| `docs-site/` | none | retry timing is internal; no user-facing configuration or documented behavior changes | + +`src/lib/upstream-retry.ts` is a documented leaf module (its header: "MUST stay +a leaf module") importing only `./abort`, so the new import adds no transitive +weight to the OAuth path and reuses the repo-standard `abortError` shape +(`signal.reason ?? DOMException("The operation was aborted", "AbortError")`). + +Scope boundary — IN: the two rows above plus this unit directory. OUT: every other +provider's OAuth lane, `callback-server.ts`, `pkce.ts`, `validateXaiEndpoint` +(phase 2), `src/combos/failover.ts` (parser donor — copied, not imported), +CLI surfaces, GUI. + +## Diff-level design + +### 1. Constants (NEW, next to `TOKEN_REQUEST_TIMEOUT_MS` at src/oauth/xai.ts:13) + +```ts +const RETRY_AFTER_MAX_DELAY_MS = 60_000; +const JITTER_DELAY_CAP_MS = 2_000; +``` + +### 2. Parser and delay helpers (NEW/REWRITE) + +Before (src/oauth/xai.ts:98, current `dev`): + +```ts +function retryDelay(attempt:number,retryAfter:string|null,random:()=>number):number{const base=attempt===1?100:250,j=Math.round(base*(.75+random()*.5)),seconds=retryAfter!==null&&/^\d+$/.test(retryAfter)?Number(retryAfter):0;return Math.min(2000,Math.max(j,seconds*1000));} +``` + +After: + +```ts +const IMF_FIXDATE_RE = /^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2}):(\d{2}) GMT$/i; +const HTTP_MONTH_INDEX: Record = { + jan: 0, feb: 1, mar: 2, apr: 3, may: 4, jun: 5, + jul: 6, aug: 7, sep: 8, oct: 9, nov: 10, dec: 11, +}; + +function parseHttpDateMs(value: string): number | undefined { + const match = IMF_FIXDATE_RE.exec(value); + if (!match) return undefined; + const month = HTTP_MONTH_INDEX[match[2]!.toLowerCase()]; + if (month === undefined) return undefined; + const year = Number(match[3]); + const day = Number(match[1]); + const hour = Number(match[4]); + const minute = Number(match[5]); + const second = Number(match[6]); + const timestamp = Date.UTC(year, month, day, hour, minute, second); + const parsed = new Date(timestamp); + return parsed.getUTCFullYear() === year + && parsed.getUTCMonth() === month + && parsed.getUTCDate() === day + && parsed.getUTCHours() === hour + && parsed.getUTCMinutes() === minute + && parsed.getUTCSeconds() === second + ? timestamp + : undefined; +} + +function parseRetryAfterMs(retryAfter: string | null): number | undefined { + const text = retryAfter?.trim(); + if (!text) return undefined; + if (/^\d+(?:\.\d+)?$/.test(text)) { + const ms = Math.ceil(Number(text) * 1000); + return ms > 0 ? ms : undefined; + } + const timestamp = parseHttpDateMs(text); + if (timestamp === undefined) return undefined; + const delay = timestamp - Date.now(); + return delay > 0 ? delay : undefined; +} + +function jitterDelay(attempt: number, random: () => number): number { + const base = attempt === 1 ? 100 : 250; + return Math.min(JITTER_DELAY_CAP_MS, Math.round(base * (0.75 + random() * 0.5))); +} + +/** + * Delay before the next attempt, or undefined when the server asked for a wait + * beyond the retry budget — retrying earlier than Retry-After is the original + * #4045 defect shape, so the caller must fail instead of clamping. + */ +function retryDelay(attempt: number, retryAfter: string | null, random: () => number): number | undefined { + const serverMs = parseRetryAfterMs(retryAfter); + if (serverMs === undefined) return jitterDelay(attempt, random); + return serverMs <= RETRY_AFTER_MAX_DELAY_MS ? serverMs : undefined; +} + +async function sleepAbortable( + ms: number, + sleep: (ms: number) => Promise, + signal: AbortSignal | undefined, +): Promise { + if (!signal) return sleep(ms); + if (signal.aborted) throw abortError(signal); + let onAbort!: () => void; + try { + await Promise.race([ + sleep(ms), + new Promise((_, reject) => { + onAbort = () => reject(abortError(signal)); + signal.addEventListener("abort", onAbort, { once: true }); + }), + ]); + } finally { + signal.removeEventListener("abort", onAbort); + } +} +``` + +Default sleep primitive (post-review amendment, verified by direct read of +`src/lib/upstream-retry.ts:53`): the production default changes from +`Bun.sleep` to the already-exported `sleepWithAbort`, which clears its own +timer on abort — so a cancelled CLI leaves no live 60 s timer behind: + +```ts +const sleep = deps.sleep ?? ((ms: number) => sleepWithAbort(ms, signal)); +``` + +`sleepAbortable` remains as the wrapper so a test-injected `deps.sleep` is +still raced against the caller signal; in production the composition is +sleepWithAbort's own abort handling plus the wrapper's reason-preserving +rejection. `upstream-retry.ts` is a documented leaf importing only +`./abort`; no shared-module export or API change is needed. + +Parser provenance (round-1 fold): compact copy of the strict parser the +repository already maintains in `src/combos/failover.ts:117`, at donor fidelity +(round-2 fold): case-insensitive enumerated weekday/month names and a full +six-field UTC round-trip check, so `10:60:00` overflow and lowercase dates +behave exactly as the donor. NOT the issue's `Number()`/`Date.parse` sketch: +bare `Number()` over-accepts (`"1e3"`, `"0x10"`, `"+2"`) and +`Date.parse` is implementation-defined off IMF-fixdate. The donor is not +imported because that would couple `src/oauth/` to `src/combos/`; a +`src/lib/` unification is a possible follow-up, out of scope here. HTTP-date +support covers ALL THREE RFC 9110 formats at full donor fidelity (round-3 fold +of a CodeRabbit Major): IMF-fixdate, RFC 850 (including the two-digit-year +50-year rule), and asctime — RFC 9110 §5.6.7 requires a recipient parsing an +HTTP-date to accept all three formats; only senders are confined to +IMF-fixdate. An earlier draft of this plan claimed recipients need only parse +IMF-fixdate and was wrong. Fractional seconds are a repo-local interop +extension already honored at `failover.ts:124`. Zero, negative, past-dated, +and unparseable values fall back to jitter. + +Contract changes, all intentional: + +- Server-provided delays up to `RETRY_AFTER_MAX_DELAY_MS` (60 s) are honored + exactly instead of being clamped to 2 s (#4045). The 2 s cap now applies to + the jittered fallback only. +- **Retry-budget terminal rule (round-2 fold, supersedes the issue sketch's + `Math.min(seconds*1000, 60_000)`):** a server delay ABOVE the 60 s budget + (`Retry-After: 61`, `3600`, a far-future date) makes the attempt terminal — + the 429/5xx error is thrown immediately with zero further fetches. Clamping + to 60 s would retry earlier than the server asked, recreating the original + defect; the local retry budget cannot honor that floor, so it stops instead. +- In-wait cancellation (round-2 fold): the backoff sleep is raced against the + caller signal with listener cleanup, so an abort DURING a honored 60 s wait + rejects promptly with the abort reason instead of up to ~120 s late + (`Bun.sleep` is not signal-aware). The test-injected `deps.sleep` primitive + is preserved — the wrapper races whatever sleep is injected. +- The old `Math.max(jitter, serverMs)` floor is dropped: a present server + value wins outright; jitter exists only for the no-header case. +- Ceiling interplay: two honored 60 s waits can stretch wall-clock to ~120 s + while `TOKEN_REQUEST_TIMEOUT_MS` stays 30 s per attempt; per-attempt fetch + timeout is unchanged. An abort during any wait now cancels promptly. + +### 3. Abort/timeout terminal handling in `postXaiToken` (MODIFY) + +Catch branch — before (src/oauth/xai.ts:114 area): + +```ts +}catch(error){if(isAbortError(error)&&signal?.aborted)throw error;last=error; +``` + +After (only the abort predicate and the sleep change; the attempt-3 wrap and +continue are kept verbatim): + +```ts +} catch (error) { + if (signal?.aborted) throw error; + const name = (error as { name?: string } | undefined)?.name; + if (name === "AbortError" || name === "TimeoutError") throw error; + last = error; + if (attempt === 3) { + throw new XaiTokenRequestError(undefined, undefined, "xAI token request failed: network error", { cause: error }); + } + await sleepAbortable(jitterDelay(attempt, random), sleep, signal); + continue; +``` + +Response branch — after: + +```ts + const error = await readTokenError(response); + last = error; + if (!(response.status === 429 || response.status >= 500) || attempt === 3) throw error; + if (signal?.aborted) throw error; + const delay = retryDelay(attempt, response.headers.get("retry-after"), random); + if (delay === undefined) throw error; + await sleepAbortable(delay, sleep, signal); +``` + +`isAbortError` is deleted (definition and only use are both in this file). +Rationale: + +- The class check fails when `controller.abort(reason)` carries a custom reason: + fetch rejects with the reason object as-is, so `instanceof DOMException` is + false and the loop slept and retried an already-aborted request (#4047). + Checking `signal?.aborted` covers every abort reason. +- The internal 30 s `AbortSignal.timeout` in `requestSignal` fires without + aborting the caller's signal; the name guard covers BOTH `AbortError` and + `TimeoutError` because Bun linked-signal timeouts often reject as + `AbortError` (`src/server/images.ts:349`), matching the two-name + non-retryable policy at `src/lib/upstream-retry.ts:178`. The check is safe + here because the fetch signal is always `requestSignal(signal)` — a + composition of exactly the caller signal and the internal timeout — so an + abort-named rejection with a live caller signal can only mean the internal + timeout fired. +- The pre-sleep `signal?.aborted` check in the response branch plus the + abort-raced sleep mean a caller abort is honored before AND during the wait. + +## Regression tests (all in `tests/providers/xai/xai-oauth-retry.test.ts`) + +Existing helpers reused: `queue(...)`, `ok()`, `body`, injected +`{ sleep, random }` deps. All Retry-After cases drive the exported +`postXaiToken` with a 429 response carrying the header — never the unexported +helpers directly. + +1. `429 honors Retry-After seconds beyond the jitter cap` — queue + `[429(retry-after: 60), ok()]`, `random: () => 0.5`; expect sleeps + `[60000]` and 2 fetch calls. Proves #4045. +2. `Retry-After above the 60s budget is terminal, never retried early` — + `retry-after: 3600`; expect rejection with the 429 `XaiTokenRequestError`, + exactly 1 fetch call, zero sleeps. Proves the retry-budget rule (the + anti-#4045 invariant: never retry earlier than the server asked). +3. `Retry-After one second above the budget is terminal` — `retry-after: 61`; + same expectations as test 2. Pins the boundary. +4. `Retry-After below the old 2s cap is still honored exactly` — + `retry-after: 1`; expect `[1000]`. Pins the no-clamp edge. +5. `fractional Retry-After is honored` — `retry-after: 1.5`; expect + `[1500]`. Proves #4046 (fractional). +6. `HTTP-date Retry-After is honored` — header + `new Date(Date.now() + 30_000).toUTCString()`, `random: () => 0.5` pinned; + expect one sleep `> 2000` and `<= 30000` — above the jitter cap, so a + missing or broken `parseHttpDateMs` (which would sleep ~100 ms of jitter) + fails this test. Proves #4046 (HTTP-date). +6b. `RFC 850 HTTP-date Retry-After is honored` — future date formatted + `Wednesday, 09-Sep-26 ... GMT` (two-digit year, 50-year rule); same + `> 2000 && <= 30000` assertion with pinned random. Proves the RFC 850 + recipient form (round-3 fold). +6c. `asctime HTTP-date Retry-After is honored` — future date formatted + `Wed Sep 9 ... 2026` (space-padded day); same assertion. Proves the + asctime recipient form (round-3 fold). +7. `unparseable Retry-After falls back to jitter` — `retry-after: soon`, + `random: () => 0.5`; expect `[100]`. +8. `past HTTP-date falls back to jitter` — `Sun, 06 Nov 1994 08:49:37 GMT`, + `random: () => 0.5`; expect `[100]`. +9. `whitespace-padded seconds are honored` — `retry-after: " 2 "`; expect + `[2000]`. Proves the trim. +10. `hostile Retry-After vectors fall back to jitter` — one test looping over + `["0", "-5", "1e3", "0x10", ""]` with a fresh 429-then-ok queue and + `random: () => 0.5` per value; each expects exactly `[100]`. Pins the + strict parser against a `Number()`-swap regression. +11. `abort with a custom reason is not retried` — + `controller.abort(new Error("user cancel"))` before the call; fetch stub + rejects with `controller.signal.reason`; expect rejection with that exact + error (NOT wrapped in `XaiTokenRequestError`), 1 fetch call, zero sleeps. + Proves #4047 (reason-carrying abort). +12. `token request timeout is terminal` — fetch stub rejects with + `new DOMException("timed out", "TimeoutError")`, no caller abort; expect + rejection with `name: "TimeoutError"` (not wrapped), 1 fetch, zero sleeps. +13. `Bun-shaped timeout abort is terminal` — fetch stub rejects with + `new DOMException("The operation was aborted", "AbortError")` while the + caller signal is NOT aborted; expect rejection, 1 fetch, zero sleeps. +14. `caller aborted before a 429 backoff does not sleep` — abort inside the + fetch stub before returning the 429; expect rejection with the 429 + `XaiTokenRequestError` and zero sleeps. Proves the pre-sleep guard. +15. `caller abort during a Retry-After wait rejects promptly` — 429 with + `retry-after: 60`; injected `sleep` records its argument then returns a + never-resolving promise; the test body waits until the `60000` argument is + recorded, THEN calls `controller.abort(new Error("cancel during wait"))` + (never synchronously inside the injected sleep — `Promise.race` evaluates + `sleep(ms)` before the abort listener is attached); expect rejection with + that exact error, 1 fetch call, and the recorded sleep argument `60000`. + Proves the in-wait abort race (round-2 High fold). + +Existing-test compatibility (traced line by line by the round-2 auditor): +`network retry succeeds` still sleeps `[100]`; `429 and 5xx retry at most +three attempts` still sleeps `[100, 250]`; `third transient failure is +final` and `permanent 4xx` untouched; `caller abort is not retried` still +rejects with the `AbortError` DOMException via the `signal?.aborted` guard. + +## Verifier + +Remote: on the pull request, `ci.yml` runs the Linux `test` job, the macOS +`platform-macos` job, and the `gates` job (`tsc --noEmit`); the +`changes` filter covers `src/**` and `tests/**`, so +`tests/providers/xai/xai-oauth-retry.test.ts` executes in the Linux batches and +macOS shards. The Windows job (`platform-windows`) and `macos-control` are +NOT ON PR — they run only on `workflow_dispatch` with `lane=all`; the +cumulative final-head `lane=all` dispatch before merge is owned by the managing +task. The PR records the exact-head run URLs. Local: NOT RUN (`bun test`, +`bun run typecheck`) — user restriction; compile risk is covered by the +`gates` typecheck job, and the diff stays inside one already-typed function +cluster. + +## Audit record + +- Round 1 (four read-only xai/grok-4.6 issue verifiers): #4045 CONFIRMED; + #4046 PARTIALLY (sketch parser wrong — folded: strict donor parser); + #4047 PARTIALLY (Bun timeout surfaces as `AbortError`, per-attempt fresh + timer — folded: two-name guard, Bun-shaped test); #4048 CONFIRMED (phase 2). +- Round 2 (independent plan auditor): GO-WITH-FIXES (blockers=1) — HTTP-date + test was vacuous (folded: pinned random, assertion above the jitter cap); + CI map overstated Windows (folded); hostile parser vectors untested (folded); + donor-fidelity regex and truncated catch hunk (both folded). +- Round 2 (bounded retry-algorithm reviewer, via managing task): FAIL, one real + High — in-wait abort: `Bun.sleep` is not signal-aware, so an abort during a + honored 60 s wait could cancel up to ~120 s late. Folded: `sleepAbortable` + race with listener cleanup around the (possibly injected) sleep primitive, + pre-sleep and in-wait coverage, test 15. Managing-task invariant folded: a + server delay beyond the local budget must be terminal, never a silent early + retry — the retry-budget rule replaces the issue sketch's clamp. +- Round 3 (PR #4087 review bots on the published diff): Codex P1 — the 020 + phase-2 doc restated an unreleased endpoint-validation weakness and its + remediation in tracked devlog; folded by stripping 020 to a minimal stub with + all assessment/plan detail in gitignored scratch only. CodeRabbit Major — + RFC 9110 §5.6.7 requires recipients to accept all three HTTP-date formats; + folded by copying the donor parser at full fidelity (IMF-fixdate + RFC 850 + 50-year rule + asctime) and adding tests 6b/6c. diff --git a/devlog/_plan/260909_xai_oauth_retry_hardening/020_phase2_endpoint_validation.md b/devlog/_plan/260909_xai_oauth_retry_hardening/020_phase2_endpoint_validation.md new file mode 100644 index 00000000000..15e222db811 --- /dev/null +++ b/devlog/_plan/260909_xai_oauth_retry_hardening/020_phase2_endpoint_validation.md @@ -0,0 +1,19 @@ +# Phase 2 (wp3): xAI OAuth endpoint validation hardening + +Closes #4048 (security hardening). Separate PR layered on the phase-1 head +because it edits the same file. + +Per the repository security-notes policy (root `AGENTS.md`), everything about +this phase beyond the fact that it exists — the assessment, the patch plan, and +the test plan — is held in scratch space (`.tmp/260909_xai_endpoint_security/`, +gitignored) until the fix's own diff is public. A public issue describing a +weakness is not by itself license to restate the weakness, its blast radius, and +the remediation in a tracked document before the fix ships; the published +outcome (the merged diff and its release note) is what enters the record. + +## Phase entry condition + +Phase 2 starts only after phase 1's PR is published, and rebases onto the +published phase-1 head (manual chain: PR2 base = PR1 head branch). Its +pre-written scratch plan is re-verified against the rebased code before +implementation (LOOP-CONTINUITY-01). diff --git a/docs-site/public/pr-screenshots/3984-model-feedback.png b/docs-site/public/pr-screenshots/3984-model-feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..91d05e806038140d4d07d0995dae359a9756a3c3 GIT binary patch literal 21781 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 Gmj3|<0^u(J literal 0 HcmV?d00001 diff --git a/docs-site/src/content/docs/contributing.md b/docs-site/src/content/docs/contributing.md index 874b98b4bd9..7b4c8b2fe81 100644 --- a/docs-site/src/content/docs/contributing.md +++ b/docs-site/src/content/docs/contributing.md @@ -43,6 +43,12 @@ bun run prepare:package # refresh package launchers/assets `origin/dev`, then local `dev`. It reports that ref and the exact `git merge-base HEAD ` commit, then passes the merge-base SHA to Bun. +If a test lane times out, the runner prints the stdout and stderr it has already +captured and exits with code 124. After a process exits, captured pipes have a +one-second drain limit so a descendant holding a pipe open cannot stall the runner. +Incomplete capture is reported explicitly and does not count as a successful run, +even if the direct child exited with code 0. + Tests are Bun tests in domain directories that mirror `src/`: `tests/server/`, `tests/providers/`, `tests/adapters/openai/`, `tests/cli/` and so on. `scripts/test-layout/layout.json` is the map and `tests/test-layout.test.ts` enforces it, so a new test goes into its domain directory and gets diff --git a/docs-site/src/content/docs/fr/guides/codex-integration.md b/docs-site/src/content/docs/fr/guides/codex-integration.md index a351adeae57..eeaf4f8af8f 100644 --- a/docs-site/src/content/docs/fr/guides/codex-integration.md +++ b/docs-site/src/content/docs/fr/guides/codex-integration.md @@ -385,10 +385,9 @@ d'actualisation `chatgpt` vaut `proactive` et si `tokenGuardian.codexWarmupEnabl ## Restauration de Codex natif -opencodex ne vous enferme jamais dans sa configuration. **`ocx stop` est l'unique commande qui restaure -entièrement Codex natif** : elle arrête le proxy et le service d'arrière-plan s'il est installé, puis supprime -toutes les lignes injectées et toutes les entrées routées du catalogue. La commande `codex` fonctionne alors -exactement comme si opencodex n'avait jamais été installé : +`ocx stop` arrête le proxy et le service d'arrière-plan installé, puis tente de restaurer Codex natif. OpenCodex retire les éléments de routage dont il peut vérifier la propriété et signale une restauration incomplète si les fichiers de configuration ne peuvent pas être récupérés en toute sécurité. + +Si la configuration ou le profil actuel diffère de l'original sauvegardé et que le journal ne contient pas le hash de l'état injecté de ce fichier, la récupération automatique conserve les deux fichiers et le journal sans les modifier. Un fichier déjà identique à son original n'est pas réécrit. La réinjection d'une configuration routée refuse aussi cet état incertain ; une configuration native peut créer un nouvel instantané. Voir les [règles de récupération](/guides/codex-integration/#recovery-without-injection-hashes). ```bash ocx stop # stop the proxy + service, restore native Codex diff --git a/docs-site/src/content/docs/fr/guides/integrations.md b/docs-site/src/content/docs/fr/guides/integrations.md index 97babedd183..9dd4e5bc2ed 100644 --- a/docs-site/src/content/docs/fr/guides/integrations.md +++ b/docs-site/src/content/docs/fr/guides/integrations.md @@ -125,9 +125,9 @@ l'actualisation fusionne les changements autour de vos entrées et les conserve, comme `1e999`, un nombre qu'une réécriture arrondirait (un très grand entier ou une valeur si petite qu'elle deviendrait zéro), `-0`, une même clé écrite deux fois dans un objet ou une imbrication de plus de 1000 niveaux. Dans ces cas, le commutateur est verrouillé afin que rien ne soit modifié ou supprimé silencieusement. -**OMP** n'est pas affecté non plus par les modifications voisines, mais pour une autre raison : son outil -d'écriture ne modifie, octet par octet, que sa propre plage `providers.opencodex` ; le reste du fichier -n'est jamais réécrit. Pour les autres formats susceptibles de contenir des commentaires (Hermes, OpenClaw, +**OMP, DSH et Hermes** ne sont pas affectés non plus par les modifications voisines, mais pour une autre raison : leurs outils +d'écriture ne modifient, octet par octet, que leur propre plage `providers.opencodex` ; le reste du fichier +n'est jamais réécrit. Pour les autres formats susceptibles de contenir des commentaires (OpenClaw, Kimi Code, Gajae Code, MiniMax Code et Raycast — documents YAML, JSON5 et TOML réécrits en entier), ou lorsque les propres entrées d'opencodex ont été modifiées, le commutateur se verrouille et la désactivation est refusée plutôt que de deviner quelles modifications vous appartiennent. diff --git a/docs-site/src/content/docs/fr/guides/sub-agent-surface.md b/docs-site/src/content/docs/fr/guides/sub-agent-surface.md index ce0dcf747fe..050d1dfe8f4 100644 --- a/docs-site/src/content/docs/fr/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/fr/guides/sub-agent-surface.md @@ -86,8 +86,9 @@ lorsqu'un modèle préféré, une liste éligible ou une chaîne de secours est est suffisant pour afficher une invite personnalisée ; si une valeur non qualifiée ne peut pas être résolue de manière unique, `{{model}}` se développe en une chaîne vide. -Sur la v1, opencodex injecte uniquement les conseils de délégation proactive de style amont à `max` ou `ultra` -effort. Il n’ajoute aucun modèle préféré, aucune liste, aucune chaîne de repli ni aucune invite personnalisée en v1. +Sur la v1, opencodex injecte le même texte de délégation proactive que le préréglage recommandé de la v2, uniquement aux niveaux d’effort `max` ou `ultra`. +Seule la condition de déclenchement change : aucune demande de délégation distincte n’est nécessaire ; les instructions de l’utilisateur, les autorisations, le périmètre de la tâche et les règles des outils de collaboration restent applicables. +Il n’ajoute aucun modèle préféré, aucune liste, aucune chaîne de repli ni aucune invite personnalisée en v1. L'option `syncCodexSubagentDefaults` désactivée par défaut est distincte du guidage. Quand opencodex possède le routage Codex actif, la synchronisation ou le redémarrage peut écrire les valeurs sélectionnées en tant que propriété du marqueur diff --git a/docs-site/src/content/docs/fr/reference/cli/lifecycle.md b/docs-site/src/content/docs/fr/reference/cli/lifecycle.md index f772e8397ba..db97b0e0a9d 100644 --- a/docs-site/src/content/docs/fr/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/fr/reference/cli/lifecycle.md @@ -53,6 +53,10 @@ Récupération explicite destinée aux anciennes versions de développement qui Il s'agit d'un réétiquetage large et destructif : chaque fil contenant un message utilisateur et actuellement marqué `opencodex` passe à `openai`, `exec` est normalisé en `cli` et l'indicateur d'événement est activé. L'historique légitime d'un fournisseur dédié est également concerné. Sauvegardez l'état et n'exécutez la commande que si vous souhaitez cette portée complète. +### `ocx recover-history --ocx-compaction --yes` + +Réparez l'historique d'une tâche compactée par un fournisseur routé avant de la reprendre avec Codex natif. La commande sélectionne exactement une tâche par UUID, enregistre d'abord une sauvegarde privée octet par octet, puis convertit uniquement l'état de compaction `ocx1:` propre à OpenCodeX en résumé ordinaire relisible par Codex natif. Le contenu chiffré natif et les autres tâches restent inchangés. Fermez la tâche sélectionnée avant d'exécuter la commande ; toute modification simultanée du rollout interrompt la récupération sans remplacer le fichier. + ### `ocx uninstall` · `ocx remove` Arrête le service et le proxy, supprime le service et le shim Codex, rétablit le fonctionnement natif de Codex, puis supprime la configuration locale d’opencodex uniquement si toutes les étapes de restauration ont réussi. `remove` est un alias de `uninstall`. Le nettoyage de la configuration exige les métadonnées de propriété créées par une installation récente ; les répertoires anciens ou partagés sont conservés. diff --git a/docs-site/src/content/docs/fr/reference/proxy-formats.md b/docs-site/src/content/docs/fr/reference/proxy-formats.md index b3192746021..fef98b70fb8 100644 --- a/docs-site/src/content/docs/fr/reference/proxy-formats.md +++ b/docs-site/src/content/docs/fr/reference/proxy-formats.md @@ -20,6 +20,10 @@ la sécurité des réponses se produit toujours à la limite du proxy. Configure [Configuration](/fr/reference/configuration/); utilisez [Combos](/fr/guides/combos/) lorsqu'un identifiant de modèle public doit choisir parmi plusieurs cibles. +## Redirections en amont + +Les requêtes de modèle, d’image, de vidéo et de recherche contenant des identifiants ne suivent pas automatiquement les redirections HTTP, même vers la même origine. Configurez l’URL finale de l’API plutôt qu’un alias qui redirige. Le serveur ne renvoie ni les identifiants ni le corps de la requête à la destination d’une redirection. Chaque chemin conserve sa gestion des erreurs ou son relais existant ; les routes Responses natives et compact peuvent renvoyer le 3xx et le `Location` d’origine au client. Le comportement de redirection du client est distinct de cette politique de transport du serveur. + ## Présentation du point de terminaison | Espace client | Point de terminaison | Résultat non-stream réussi | Résultat de flux ou de socket réussi | @@ -321,16 +325,18 @@ utilisez la matrice ci-dessous. « Dédié » signifie `X-OpenCodex-API-Key` ; l | Surfaces | Dédié | Porteur | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP et WebSocket | Obligatoire | Rejeté pour l’admission au proxy | Rejeté | -| `/v1/responses/compact` | Obligatoire | Rejeté pour l’admission au proxy | Rejeté | -| `/v1/chat/completions` | Obligatoire | Rejeté pour l’admission au proxy | Rejeté | +| `/v1/responses` HTTP et WebSocket | Accepté | Accepté | Rejeté | +| `/v1/responses/compact` | Accepté | Accepté | Rejeté | +| `/v1/chat/completions` | Accepté | Accepté | Rejeté | | `/v1/messages` et `/v1/messages/count_tokens` | Accepté | Accepté | Accepté | | `/v1/models` | Accepté | Accepté | Accepté | | `/v1/live`, `/v1/realtime/calls` et jointures de bande latérale | Accepté | Accepté | Accepté | -Réponses-famille et demandes de chat réservées `Authorization` au fournisseur ou Codex Direct -passthrough, donc une clé proxy distante doit utiliser l'en-tête dédié. Messages et surfaces en temps réel -ont besoin d’une compatibilité client plus large et acceptent donc les trois formes. +Les requêtes Responses et Chat acceptent une clé du proxy dans l’en-tête dédié ou dans Bearer. Sur une route native, l’identifiant Codex stocké sélectionné remplace le bearer d’admission ; sur les autres routes, ce bearer est supprimé. Il ne sert jamais d’identifiant upstream. Utilisez l’en-tête dédié si vous fournissez aussi un bearer distinct pour le fournisseur. + +Une route Cursor sans clé et sans OAuth peut utiliser ce bearer distinct de l’appelant, mais jamais un secret du proxy ni l’authentification ChatGPT main ajoutée automatiquement. La sélection Combo/policy et les réécritures effectives shadow/thread-spawn ne transmettent pas les identifiants bruts de l’appelant aux nouvelles cibles. Le routage OpenAI canonique peut restaurer l’unique bearer de l’appelant qui n’est pas une clé du proxy après un changement de route interne uniquement si son JWT contient un claim de compte ChatGPT et si tout en-tête de compte explicite correspond à ce claim. La transmission de l’authentification de l’appelant aux sidecars OpenAI facultatifs exige un unique JWT et un `chatgpt-account-id` explicite et correspondant. Les bearers opaques ne sont pas restaurés lors des changements de route, même avec un en-tête de compte explicite. Dans les autres cas, la cible finale doit disposer de son propre identifiant configuré, OAuth ou stocké ; sinon, la requête échoue localement. Un simple marqueur thread-spawn sans changement de route ne supprime pas les identifiants. + +Le replay Claude ne conserve l’authentification main que dans un snapshot en mémoire dont le turn a acquis la propriété, et ne la reconstruit que pour une route ChatGPT canonique finale. :::caution Les clés du plan de données ne sont pas des informations d’identification de gestion. La gestion API utilise un secret d'administration distinct ; diff --git a/docs-site/src/content/docs/getting-started/quickstart.md b/docs-site/src/content/docs/getting-started/quickstart.md index 1d4b6b1b260..fe074e4a3d3 100644 --- a/docs-site/src/content/docs/getting-started/quickstart.md +++ b/docs-site/src/content/docs/getting-started/quickstart.md @@ -36,6 +36,34 @@ stop setup without falling back to an overwrite. If publication or temporary-fil finish, inspect the config directory before retrying: a complete config or private temporary file may remain. +If setup reports that initial config permissions could not be secured, the filesystem or account +could not apply the required private permissions (NTFS ACLs on Windows). This happens before +config contents are written. A hard-link publication error is a separate failure: private +permissions were applied, but publishing the completed file failed or its outcome is uncertain. + +Inspect the selected config directory before retrying. Preserve any existing `config.json`; +do not delete it to force setup to proceed. For a fresh installation, choose a writable location +that supports both hard links and private permissions. A local NTFS directory is a suitable +Windows choice when your account can apply its ACLs. For example, select a new location in the +same terminal before running setup: + +```powershell +# Windows PowerShell: choose a fresh directory on a local NTFS volume. +$env:OPENCODEX_HOME = Join-Path $env:LOCALAPPDATA "opencodex-local" +ocx init +``` + +```sh +# macOS/Linux: choose a fresh directory on a filesystem with hard links and Unix permissions. +export OPENCODEX_HOME="$HOME/.opencodex-local" +ocx init +``` + +Use the same `OPENCODEX_HOME` for subsequent commands and the service that runs the proxy. +Changing this variable selects a separate configuration location; it does not migrate an existing +installation. Setup intentionally has no direct-write or replacing-rename fallback: creating an +exclusive file and then writing to it could expose partial config contents. + :::note[GPT-5.6 rollout entries] The current stable release seeds GPT-5.6 Sol/Terra/Luna for ChatGPT passthrough, OpenAI API-key, OpenRouter, and diff --git a/docs-site/src/content/docs/guides/claude-code.md b/docs-site/src/content/docs/guides/claude-code.md index ae067bad4fe..04090553be4 100644 --- a/docs-site/src/content/docs/guides/claude-code.md +++ b/docs-site/src/content/docs/guides/claude-code.md @@ -622,6 +622,39 @@ Replay preserves non-hidden signed blocks (including empty thinking) and opaque role; `tool_result` without `tool_use_id`; `tool_use` without id/name; named `tool_choice` without name. +### Unicode-property patterns in tool schemas + +A JSON Schema `pattern` written for JavaScript may use Unicode property escapes such as +`\p{Cc}` or `\P{L}`. OpenAI-family backends validate `pattern` by compiling it with Python's +`re`, which does not support those escapes, and a schema they cannot compile is refused whole — +so a single such pattern on one built-in tool fails every request in the session, not just calls +to that tool. + +To keep ordinary Artifact parameters working, the `openai-chat` and `openai-responses` adapter +paths omit scalar `pattern` constraints containing Unicode property escapes in ordinary positive +schema positions. Sibling constraints, `required`, literal data and supported regexes remain. +A tool implementation must validate its own inputs because an omitted constraint is not enforced +by this proxy. + +`patternProperties` matchers and their value schemas remain unchanged. Removing a matcher can +change which keys are evaluated by an ancestor's `unevaluatedProperties`, so local openness is +not enough to prove a safe transformation. Patterns under `not`, `oneOf`, `if`, `contains`, +`$defs` and `definitions` also remain unchanged: relaxing those subtrees can change negation, +branch selection, match counts or the meaning of a reference. + +The destination validates these preserved schemas. An ECMA-compatible destination can use the +original regex; a destination that cannot compile it may reject the schema. OpenCodex does not +silently replace that contract with one that forbids previously valid arguments. + +This is normalization on the selected adapter path, not a provider-wide guarantee. Provider +configuration and authentication are untouched, and a provider on a different adapter is +unaffected. + +It is a compatibility measure, not a claim that every custom OpenAI-compatible backend rejects +these patterns. What it costs is worth knowing: an omitted regex is not preserved anywhere and is +not enforced upstream, so a tool implementation should validate its own inputs rather than relying +on the schema to reject a malformed argument. + ## Outbound translation (Responses → Messages SSE) | Responses event | Messages SSE | diff --git a/docs-site/src/content/docs/guides/codex-app-models.md b/docs-site/src/content/docs/guides/codex-app-models.md index a83719c7fde..513218fe127 100644 --- a/docs-site/src/content/docs/guides/codex-app-models.md +++ b/docs-site/src/content/docs/guides/codex-app-models.md @@ -320,3 +320,5 @@ ocx sync opencodex rewrites `models_cache.json` with a deliberately stale cache wrapper whenever catalog visibility, priority, or metadata changes, so the next Codex model refresh reads the new catalog. + +After a catalog or model-cache write, OpenCodex invalidates its cached app-server observation so the next request checks process freshness again. A configuration sync also invalidates the observation when catalog contents are unchanged. This refresh does not restart Codex processes. diff --git a/docs-site/src/content/docs/guides/codex-integration.md b/docs-site/src/content/docs/guides/codex-integration.md index f5592c0a728..4e23da2e323 100644 --- a/docs-site/src/content/docs/guides/codex-integration.md +++ b/docs-site/src/content/docs/guides/codex-integration.md @@ -20,6 +20,13 @@ plus `openai-apikey/` for the configured API key. Pool includes main plus Direct uses only the caller/main bearer. The routes do not fall back to one another. Shipped v1 configs migrate to marker 2 and preserve `config.json.pre-openai-tiers-v2.bak` for manual restore. +Within Pool mode, a request carrying a validated native Codex login can use that login when the +selected stored account is cooling down and no eligible stored alternative or recovery probe is +available. This also covers a new request blocked before sending, following the same caller +validation used after an upstream rejection. Existing model-permission and main-account policy +checks still apply. The fallback preserves the stored account's cooldown and does not persist the +caller credential as the Pool selection. An exact account binding remains bound to that account. + ## Config injection `ocx init`, `ocx start`, and `ocx sync` call the injector. On the default loopback bind, it keeps @@ -49,10 +56,69 @@ current bearer, so the key only keeps the join on the proxy path. It is written `openai_base_url` form, is removed together with it, and a user-owned `experimental_realtime_ws_base_url` is never overwritten. +### Voice transport and task handoffs + +Codex owns the microphone and speaker, WebRTC media negotiation, captions, mute controls, and +voice cleanup when switching threads. OpenCodex relays call creation and the sideband connection; +work delegated by voice uses the normal Responses routing path. Choosing a text provider does +not replace the realtime speech model or enable voice in a client that does not support it. + +The upstream [WebRTC helper change](https://github.com/openai/codex/commit/1b53f6a44eff890b5169bde8d3bd5b12b8766946) +and [TUI voice integration](https://github.com/openai/codex/commit/b01c3986fd2e79b8a477a08d81430f52f22bc0dc) +describe these client responsibilities, including speaking final answers from voice handoffs. +Their merge dates do not establish when the same behavior reached the desktop app. + +Optional `OCX_LIVE_FRAME_LOG` diagnostics write only frame timestamp, direction, kind, byte count, +and a replacement-character flag (`ts`, `dir`, `kind`, `bytes`, `fffd`). They do not store voice +text or frame excerpts. For binary frames, UTF-8 decoding can itself produce replacement +characters, so the flag alone does not identify where corruption occurred. Existing log files +are not rewritten. + +### Fast mode + The injected `fast_mode` follows the tri-state `fastMode` setting: `true` writes `fast_mode = true`, `false` writes `fast_mode = false`, and unset leaves an existing `fast_mode` untouched without adding a `[features]` table. +Fast mode is separate from voice transport. A supported model's service-tier speed description +does not guarantee lower microphone, WebRTC, or end-to-end voice latency through OpenCodex. + +### ChatGPT-family channel and latency + +Requests routed through opencodex via the canonical ChatGPT-login `openai` provider — adapter +`openai-responses`, `authMode: "forward"`, and the `https://chatgpt.com/backend-api/codex` +endpoint, covering both Pool and Direct modes — use the public ChatGPT endpoint. Provider routing +or account selection does not bypass the upstream ChatGPT channel. The upstream may spend time +queueing a request before the first output even when the local proxy and network path are healthy. + +Only some turns take the ChatGPT websocket transport — the same `responses_websockets` lane Codex +CLI defaults to. A turn is eligible when the Bun runtime supports the bounded relay, the request +is a `POST` to the canonical Responses URL or a configured WebSocket route, and its JSON body sets +`stream` to `true` at the root. Everything else stays on SSE over HTTP, and an eligible turn still +falls back to it when the request cannot be prepared, the `response.create` frame exceeds its size +limit, or the proxy route cannot carry the socket. + +Local provider pacing can also hold a request before it is dispatched at all. So a slow first +output has several possible contributors, and upstream queueing is only one of them. `ocx doctor` +classifies configuration and measures none of these: compare actual transport, pacing, network, +and provider observations before concluding. + +What decides whether a request takes that public channel is the destination it resolves to, not +the name of the provider entry. A provider that resolves somewhere else — `openai-apikey`, or a +custom entry pointing at its own API — reaches that endpoint directly and sees no ChatGPT queueing. +A custom-named entry that resolves to `https://chatgpt.com/backend-api/codex` with forward auth +takes the same public channel as the built-in row, because the classification reads the adapter, +auth mode and destination rather than the entry's name. + +The `ocx doctor` hint is narrower than the endpoint behavior it describes: it inspects only the +built-in `openai` row, so its absence tells you nothing about where any other provider resolves. + +`service_tier: priority` is a request preference. On the ChatGPT backend the echoed +`service_tier` cannot confirm or deny the granted tier: turns scheduled as priority can still +echo `default`, so request logs show the response tier as an observation with confirmation +`assumed`. For latency-sensitive work, compare observed first-output times across the providers you +actually use rather than assuming any particular channel is faster. + The proxy listens on port `10100` by default and serves `POST /v1/responses`, `POST /v1/responses/compact`, `POST /v1/images/generations`, `POST /v1/images/edits`, `GET /v1/models`, `GET /healthz`, and the `/api/*` management surface. @@ -213,6 +279,83 @@ provider advertises `supports_websockets = true` only when `"websockets": true`; built-in provider may try WebSocket first, and a disabled proxy returns `426` so Codex falls back to HTTP/SSE. +If a canonical ChatGPT forward continuation references expired or missing local replay state, +opencodex returns `previous_response_not_found` before sending anything upstream. Codex's +WebSocket client recognizes this error and can reconnect with its full retained context, +including completed tool calls and their results, within its normal stream retry budget. An +idle task therefore does not need a new task solely because the proxy's one-hour cache expired. +The cache remains bounded; this does not extend retention or recover history the client no +longer has. HTTP clients must handle the error explicitly and resend their full context without +`previous_response_id`. Retrying only the same ID cannot recover missing state. + +### Client-side compaction (opt-in) + +Authenticated loopback routing normally keeps Codex on its built-in `openai` provider identity. +That preserves native thread identity, but it also makes Codex request native remote compaction. +When a routed provider cannot return a native compaction blob, OpenCodeX stores the summary in its +own `ocx1:` envelope. Native ChatGPT cannot verify that envelope if OpenCodeX is later removed from +the request path. + +On an authenticated loopback route, enable client-side compaction to keep V2 sub-agent routing while preventing new `ocx1:` compaction summaries. Non-loopback and API-key routes retain their existing provider and authentication behavior: + +```bash +ocx system settings --client-compaction on # or "codexClientCompaction": true in config.json +ocx sync # rewrites the active config (default: ~/.codex/config.toml); restart Desktop +``` + +The setting defaults to off. For authenticated loopback routing, OpenCodeX selects its existing +dedicated provider form with `requires_openai_auth = true`. If `codexDesktopAuthless` is also +enabled, that stronger compatibility setting takes precedence and writes +`requires_openai_auth = false`: + +```toml +model_provider = "opencodex" + +[model_providers.opencodex] +name = "OpenCodex Proxy" +base_url = "http://127.0.0.1:10100/v1" +wire_api = "responses" +requires_openai_auth = true +``` + +Codex then owns compaction and stores a portable plaintext summary rather than a new OpenCodeX +envelope. The compacting request still routes through OpenCodeX and can consume quota on the +selected provider. V2 sub-agent requests keep their existing provider selection and quota +accounting. Client-side compaction does not change plaintext delivery, encrypted task passthrough +through `allowEncryptedV2AgentTasks`, or configured recovery and fallback behavior. + +This preference affects future compactions only, and it rewrites no existing `ocx1:` payload in +any configuration, so use the explicit history recovery workflow for a thread that needs one. + +Whether resume-history metadata is re-tagged depends on which form the injection takes. On its +own, on an authenticated loopback bind, client-side compaction re-tags nothing: it keeps the root +override instead, as described below. Enabled together with `codexDesktopAuthless`, or on a +non-loopback bind, the stronger form wins and those forms behave exactly as they do today, +including their existing forward-tagging of resume history with originals backed up for restore. + +Going back from one of those forms to plain Design B migrates the re-tagged threads back. Turning +off `codexDesktopAuthless` while leaving client-side compaction on does not: that lands on the +compaction-only form, which skips the history unit, so threads already tagged `opencodex` keep +that tag. They still reach this proxy, through the provider table rather than the root override. + +On the compaction-only form, existing threads keep working because the injection keeps the root +`openai_base_url` override alongside the provider table. New threads default to `opencodex` and +get client-side compaction, while a thread already tagged `openai` still resolves to Codex's +built-in provider — which the retained override still points at this proxy. Without it that +thread would resume against OpenAI directly, taking configured routing with it. The authless and +non-loopback forms cannot use the root key, which is why they keep re-tagging instead. + +That guarantee covers the override OpenCodeX manages. A root `openai_base_url` you wrote +yourself is never replaced, and in that case the built-in provider keeps the destination you +chose, so an `openai`-tagged thread follows your configuration rather than this proxy. Turning +the setting off and syncing removes the table and returns to the plain Design B override, unless +`codexDesktopAuthless` or non-loopback admission still requires the provider-table form; those +two forms cannot use the root key and are unchanged. + +While the mode is active, the realtime voice sideband override +(`experimental_realtime_ws_base_url`) is not injected — the dedicated provider-table form cannot +carry it — so Codex Desktop voice uses its native endpoint rather than the proxy. + ### Authless Codex Desktop (opt-in) In **Dashboard → Overview**, **Open Codex without signing in** controls this existing @@ -573,9 +716,9 @@ off by default; it runs only when Token Guardian is enabled, the `chatgpt` refre ## Restoring native Codex -opencodex never traps you. **`ocx stop` is the single command that fully reverts to native Codex** — it -stops the proxy, stops the background service if one is installed, and strips every injected line and -routed catalog entry so plain `codex` works exactly as if opencodex was never there: +`ocx stop` stops the proxy and any installed background service, then attempts to restore native Codex. OpenCodex removes verified routing artifacts and reports an incomplete restore when it cannot safely recover configuration files. + +Recovery may require manual review when the journal cannot verify the current files; see [recovery without injection hashes](#recovery-without-injection-hashes). ```bash ocx stop # stop the proxy + service, restore native Codex @@ -587,6 +730,24 @@ When opencodex runs as a managed [background service](/reference/cli/#ocx-servic `OCX_SERVICE=1` so a service-driven restart does **not** thrash the Codex config — only an explicit `ocx stop` / `ocx service stop` restores native Codex. +### Recovery without injection hashes + +The journal saves the original `config.toml` and `opencodex.config.toml` plus hashes of the state +OpenCodex injected. A legacy journal or an interruption before those hashes were recorded cannot +prove that later file contents belong to OpenCodex. If either file differs from its saved original +and lacks its own injected-state hash, automatic journal recovery and native restore report failure +without changing either file or the journal. The saved original remains available for comparison; +review it alongside the current files before choosing a manual recovery action. + +Files already equal to their saved originals are accepted without rewriting them. A missing file +is distinct from an empty file. Verified injected hashes still allow normal snapshot restoration, +and later edits in hash-backed configurations retain the existing owned-field cleanup behavior. + +Sync and `ocx restore back` also reject an existing routed configuration whose hashless journal +does not match the pre-injection baseline. This prevents a new injection hash from being attached +to an older original. A genuinely native configuration can be saved as a fresh baseline before +injection. Explicit external-provider opt-out behavior is unchanged. + ### Sub-agent fallback and V2 compatibility diff --git a/docs-site/src/content/docs/guides/combos.md b/docs-site/src/content/docs/guides/combos.md index 031766373e1..db94da045f2 100644 --- a/docs-site/src/content/docs/guides/combos.md +++ b/docs-site/src/content/docs/guides/combos.md @@ -74,6 +74,19 @@ Aliases change the public name clients request; they do not change the combo's s concrete provider/model selectors behind it. ::: +## Compaction after switching combos + +When a client compacts using a bare model name after switching combos, opencodex can recall the +combo that most recently completed successfully on that conversation lane. The model must match +the completed response, and the combo and its target must still exist in the current configuration. +The request then follows normal combo selection and failover. + +Explicit provider/combo selectors and configured combo aliases take precedence over this recall. +Failed, incomplete, or cancelled responses do not replace the last successful selection. Recall is +process-local and bounded to 256 lanes for 30 minutes; it does not store account credentials. +Without usable conversation identity or valid remembered state, normal compaction routing applies. +A restart clears the remembered state. + ## Codex Desktop native-allowlist compatibility Some Codex Desktop releases apply a remote native-only `available_models` allowlist after the diff --git a/docs-site/src/content/docs/guides/integrations.md b/docs-site/src/content/docs/guides/integrations.md index b475b71e201..166a8486146 100644 --- a/docs-site/src/content/docs/guides/integrations.md +++ b/docs-site/src/content/docs/guides/integrations.md @@ -172,11 +172,11 @@ normalized. The exception is something JSON cannot rewrite exactly — a non-fin number like `1e999`, a number a rewrite would round (a very large integer, or one so small it collapses to zero), `-0`, the same key written twice in one object, or nesting deeper than 1000 levels — which locks the switch instead, so nothing is silently changed or dropped. -**OMP** is unaffected by sibling edits too, for a different reason: its writer -patches only its own `providers.opencodex` range byte-wise, so the rest of the +**OMP, DSH and Hermes** are unaffected by sibling edits too, for a different reason: their writers +patch only their own managed provider ranges byte-wise, so the rest of the file is never rewritten. For the remaining formats that can carry comments -(Hermes, OpenClaw, Kimi Code, Gajae Code, MiniMax Code, Raycast — YAML, JSON5 and TOML -written as whole documents), or +(OpenClaw, Kimi Code, Gajae Code, MiniMax Code, Raycast — JSON5 and TOML +written as whole documents, or generic YAML without source preservation), or whenever our own entries were edited, the switch locks and disable refuses rather than guessing which edits were yours. @@ -192,7 +192,7 @@ parse, or one whose structure we cannot reason about, still refuses. **Formatting is generally not preserved.** Applying parses a config and writes it back out, so JSON, JSON5 and TOML may be reformatted and comments in JSON5 or TOML are lost. -OMP and DSH are the exceptions: their YAML writers patch only `providers.opencodex` and +OMP, DSH and Hermes are the exceptions: their YAML writers patch only `providers.opencodex` and `llm-pi-ai.providers.opencodex`, respectively, preserving unrelated provider comments and formatting byte-for-byte. If that exact source range cannot be identified safely, the operation refuses instead. For other clients, use diff --git a/docs-site/src/content/docs/guides/providers.md b/docs-site/src/content/docs/guides/providers.md index cd6a8c2205a..8cd68f9a631 100644 --- a/docs-site/src/content/docs/guides/providers.md +++ b/docs-site/src/content/docs/guides/providers.md @@ -6,6 +6,13 @@ description: Every way opencodex authenticates and talks to an LLM provider — A **provider** is one upstream LLM endpoint plus how to reach it: an adapter, a base URL, an auth mode, and an optional model list. Providers live under `providers` in `~/.opencodex/config.json`. +The dashboard provider Overview separates connection details, account usage and editable notes. +Notes appear once, below the connection and authentication sections. Supported sponsor presets +also show a short introduction, a Sponsor label and links to the provider's site or console. +These links preserve the preset's referral parameters. Sponsor information is shown only when +the configured provider name, adapter and endpoint match the preset; it never changes routing, +account selection or defaults. + ## OpenAI account modes | Provider id | Use | Credential/account rule | @@ -383,6 +390,21 @@ preserves those requested tiers; any backend-specific normalization remains Clin available in the Cline IDE/CLI, not through the API; `minimax/minimax-m2.5` is the documented API free-experimentation model. +**OrcaRouter** ([sponsor](https://github.com/lidge-jun/opencodex/blob/main/SPONSORS.md)) is an +OpenAI-compatible gateway at `https://api.orcarouter.ai/v1` with vendor-namespaced model ids +(`openai/gpt-5.5`, `anthropic/claude-opus-4.8`, `deepseek/deepseek-v4-pro`, ...) and an adaptive +router, `orcarouter/auto`, that grades each prompt and picks the model. Create a key in the +[OrcaRouter console](https://www.orcarouter.ai/console); the preset pins the row near the top of the +Add provider picker and marks it as a sponsor, and nothing else about routing or defaults changes. + +**PackyCode** ([sponsor](https://github.com/lidge-jun/opencodex/blob/main/SPONSORS.md)) is an API +relay for Claude Code, Codex, Gemini and more. The preset targets their OpenAI-compatible Chat +Completions endpoint, `https://cf.api.fan/v1`, with live model discovery narrowed to what your +token group allows (`gpt-5.5` and `gpt-5.1-codex` are seeded). Register at +[packyapi.com](https://www.packyapi.com/register?aff=k5KT) and create a Codex-group token; the preset +pins the row near the top of the Add provider picker and marks it as a sponsor, and nothing else about +routing or defaults changes. + | Provider | Base URL | | --- | --- | | **OpenAI (API key)** | `https://api.openai.com/v1` | @@ -406,6 +428,7 @@ free-experimentation model. | Baseten Model APIs | `https://inference.baseten.co/v1` | | Command Code | `https://api.commandcode.ai/provider/v1` | | OrcaRouter | `https://api.orcarouter.ai/v1` | +| PackyCode | `https://cf.api.fan/v1` | | Meta Model API | `https://api.meta.ai/v1` | | Meta Muse Code (CLI credential) | `https://api.meta.ai/v1` | | SambaNova Cloud | `https://api.sambanova.ai/v1` | @@ -674,6 +697,72 @@ Create a key in [Novita's key manager](https://novita.ai/settings/key-management > hosts and schemas and are not routed by this preset. > Live discovery for this preset is capped at a 1 MiB response and 256 raw model rows. +### Official CodeBuddy Code CLI (Global & CN) + +OpenCodex provides official adapter support for Tencent Cloud's CodeBuddy Code CLI via the `codebuddy` (Global) and `codebuddy-cn` (China) presets. + +```json +{ + "providers": { + "codebuddy": { + "adapter": "codebuddy", + "baseUrl": "https://www.codebuddy.ai", + "apiKey": "${CODEBUDDY_API_KEY}" + }, + "codebuddy-cn": { + "adapter": "codebuddy", + "baseUrl": "https://www.codebuddy.cn", + "apiKey": "${CODEBUDDY_CN_API_KEY}" + } + } +} +``` + +- **Prerequisites:** Install the official CodeBuddy CLI globally: + ```bash + npm install -g @tencent-ai/codebuddy-code + ``` +- **Authentication:** Obtain your official API key from the vendor console: + - Global: [CodeBuddy Global API Keys](https://www.codebuddy.ai/profile/keys) + - CN: [CodeBuddy CN API Keys](https://copilot.tencent.com/profile/keys) +- **Region Isolation:** `codebuddy` and `codebuddy-cn` use separate canonical endpoints (`https://www.codebuddy.ai` and `https://www.codebuddy.cn`) and isolated child environments (`CODEBUDDY_INTERNET_ENVIRONMENT=public` vs `internal`). Credentials are strictly region-scoped and never exchanged across environments. Overriding the canonical base URL fails closed. +- **Tool Ownership:** In v1, the CLI is spawned with `--tools ""` and `--strict-mcp-config`, ensuring Codex maintains exclusive tool ownership. The provider operates in text and reasoning mode; client tool execution is not delegated to the vendor CLI. +- **Entitlements and Billing:** The provider uses the same vendor-documented CodeBuddy account/CLI authentication surface. Availability and billing of free, promotional, trial, or subscription credits remain determined by the user's CodeBuddy account entitlement. + +### Official Qoder CLI (Global & CN) + +OpenCodex provides official adapter support for Qoder through the `qoder` (Global) and `qoder-cn` (China) presets. Both use a user-supplied Personal Access Token and the vendor's headless CLI; OpenCodex never reads Qoder Desktop sessions, browser cookies, refresh tokens, or private console APIs. + +```json +{ + "providers": { + "qoder": { + "adapter": "qoder", + "baseUrl": "https://qoder.com", + "apiKey": "${QODER_PERSONAL_ACCESS_TOKEN}" + }, + "qoder-cn": { + "adapter": "qoder", + "baseUrl": "https://qoder.cn", + "apiKey": "${QODERCN_PERSONAL_ACCESS_TOKEN}" + } + } +} +``` + +- **Prerequisites:** Install the official CLI for the region you use: + ```bash + npm install -g @qoder-ai/qodercli # Global: qoder / qodercli + npm install -g @qodercn-ai/qoderclicn # CN: qodercn / qoderclicn + ``` +- **Authentication:** Create a PAT in the account integrations page + ([Global](https://qoder.com/account/integrations), [CN](https://qoder.cn/account/integrations)) and paste it as the provider's API key. The stored key reaches the CLI only as `QODER_PERSONAL_ACCESS_TOKEN` (Global) or `QODERCN_PERSONAL_ACCESS_TOKEN` (CN) in a scoped child environment. +- **Region Isolation:** Each preset accepts only its canonical destination (`https://qoder.com` or `https://qoder.cn`) and resolves its own executable. Credentials, model cache, usage, and health are independent; neither region falls back to the other. An older custom provider named `qoder` with a different destination keeps its existing adapter and URL. +- **Model Discovery:** `qoder --list-models` is the authoritative entitlement roster for the current PAT. The cache is bound to an irreversible fingerprint of the token, so switching accounts never reuses another account's roster. If discovery fails, the provider degrades to a stale cache and then the documented static seed. +- **Tool Ownership:** The CLI runs single-turn `stream-json` with `--tools ""`, `--strict-mcp-config`, setting sources disabled, and session persistence disabled, so Codex keeps exclusive tool ownership. v1 is text and reasoning only; image input fails explicitly. +- **Quota:** No public quota API is used, so totals and reset times are unavailable. Insufficient-credit errors (vendor code 118) surface as HTTP 429 `insufficient_quota`. +- **Operators:** Qoder Global is operated by BRIGHT ZENITH PRIVATE LIMITED under the [product service terms](https://qoder.com/product-service); Qoder CN by 通义云启(杭州)信息技术有限公司 with Alibaba Cloud. Verify `ocx provider test qoder` (or `qoder-cn`) after configuring. + ### A6API credit quota A custom `openai-chat` provider using `authMode: "key"` and the canonical diff --git a/docs-site/src/content/docs/guides/sub-agent-surface.md b/docs-site/src/content/docs/guides/sub-agent-surface.md index 53e9fe26174..fcaa576b53e 100644 --- a/docs-site/src/content/docs/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/guides/sub-agent-surface.md @@ -155,8 +155,10 @@ when a preferred model, eligible roster, or fallback chain resolves. A configure is sufficient to render a custom prompt; if a bare value cannot resolve uniquely, `{{model}}` expands to an empty string. -On v1, opencodex injects only the upstream-style proactive delegation guidance at `max` or `ultra` -effort. It does not add a preferred model, roster, fallback list, or custom prompt on v1. +On v1, opencodex injects the same proactive delegation guidance as the v2 recommended preset only +at `max` or `ultra` effort. Only the delegation trigger changes: no separate delegation request is +needed; user instructions, authority, task scope, and collaboration-tool rules still apply. +It does not add a preferred model, roster, fallback list, or custom prompt on v1. The default-off `syncCodexSubagentDefaults` option is separate from guidance. When opencodex owns active Codex routing, sync or restart can write the selected values as marker-owned diff --git a/docs-site/src/content/docs/guides/web-dashboard.md b/docs-site/src/content/docs/guides/web-dashboard.md index 72adcdcd70f..7e86901233f 100644 --- a/docs-site/src/content/docs/guides/web-dashboard.md +++ b/docs-site/src/content/docs/guides/web-dashboard.md @@ -331,7 +331,7 @@ The GUI is a thin client over the proxy's JSON management API. Useful endpoints | `POST /api/codex-auth/login` · `GET /api/codex-auth/login-status` | Add a pool account through browser login. | | `GET /api/logs?tail=50&limit=20&offset=0&provider=...&status=5xx` | Read recent request metadata with optional tail, provider, and exact/class status filters. With `limit`/`offset`, paging walks backward from the newest row (`offset=0` returns the latest page). Response shape: `{ timeZone, generatedAt, total, logs }` where `total` is the filtered row count before pagination. | | `GET` / `PUT /api/subagent-models` | Read or set the five featured `spawn_agent` override models. | -| `POST /api/stop` | Stop the proxy/service, restore native Codex, and exit. Refused with `respawnable_service` on the Windows Task Scheduler backend, and with `service_state_unknown` when that state cannot be read; nothing is changed either way. | +| `POST /api/stop` | Stop the proxy/service, restore native Codex, and exit. Refused with `respawnable_service` on the Windows Task Scheduler backend, with `self_unload_service` when this proxy is itself the installed launchd/systemd job, and with `service_state_unknown` when the Task Scheduler state cannot be read; nothing is changed in any of those cases. | :::tip Adding **Ollama Cloud** or another catalog provider from the dashboard copies its text-versus-vision diff --git a/docs-site/src/content/docs/ja/guides/codex-integration.md b/docs-site/src/content/docs/ja/guides/codex-integration.md index 46c33320f24..df320c660f4 100644 --- a/docs-site/src/content/docs/ja/guides/codex-integration.md +++ b/docs-site/src/content/docs/ja/guides/codex-integration.md @@ -245,7 +245,9 @@ ChatGPT アカウントが Codex アカウント プールに追加されると ## ネイティブ Codexの復元 -opencodex は決してあなたを罠にはめることはありません。 **`ocx stop` は、ネイティブ Codex に完全に戻す単一のコマンドです**。プロキシを停止し、バックグラウンド サービスがインストールされている場合はそれを停止し、挿入されたすべての行とルーティングされたカタログ エントリを削除するため、プレーンな `codex` は、opencodex が存在しなかったかのように正確に動作します。 +`ocx stop` はプロキシとインストール済みのバックグラウンドサービスを停止し、ネイティブ Codex の復元を試みます。OpenCodex は所有を確認できるルーティング設定を削除し、設定ファイルを安全に復元できない場合は未完了として報告します。 + +現在の設定またはプロファイルが保存された元の内容と異なり、そのファイルの注入後の状態のハッシュがジャーナルにない場合、自動復元は両方のファイルとジャーナルを変更せずに残します。元の内容と同じファイルは再書き込みしません。ルーティング済み設定への再注入も、この未確認の状態では拒否されます。ネイティブ設定では新しいスナップショットを作成できます。[復元規則](/guides/codex-integration/#recovery-without-injection-hashes)を参照してください。 ```bash ocx stop # stop the proxy + service, restore native Codex diff --git a/docs-site/src/content/docs/ja/guides/sub-agent-surface.md b/docs-site/src/content/docs/ja/guides/sub-agent-surface.md index d1993dd94e6..09bf368ff9b 100644 --- a/docs-site/src/content/docs/ja/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/ja/guides/sub-agent-surface.md @@ -58,7 +58,9 @@ v2 ロスターの場合、適格性には 3 つの状態があります。`"v2" 組み込みの v2 ガイダンスの予算は 700 文字です。予算を超える場合、opencodex はコア スポーン命令を切り捨てるのではなく、まずロスターを削除します。組み込みガイダンスは、優先モデル、適格なロスター、またはフォールバック チェーンが解決された場合にのみ起動されます。カスタムプロンプトは `injectionModel` が設定されていれば生成され、セレクターなしの値を一意に解決できない場合は `{{model}}` が空文字列になります。 -v1 では、opencodex は、`max` または `ultra` の取り組みでアップストリーム スタイルのプロアクティブな委任ガイダンスのみを挿入します。 v1 では、優先モデル、ロスター、フォールバック リスト、カスタム プロンプトは追加されません。 +v1 では、opencodex は effort が `max` または `ultra` の場合に限り、v2 の推奨プリセットと同じプロアクティブな委任テキストを挿入します。 +変わるのは委任の開始条件だけで、委任を別途依頼する必要はなく、ユーザーの指示、権限、タスクの範囲、コラボレーションツールのルールは引き続き適用されます。 +v1 では、優先モデル、ロスター、フォールバック リスト、カスタム プロンプトは追加されません。 デフォルトでオフになっている `syncCodexSubagentDefaults` オプションは、ガイダンスとは別のものです。 opencodex がアクティブな Codex ルーティングを所有している場合、同期または再起動により、選択された値をマーカー所有の `[agents] default_subagent_model` および `default_subagent_reasoning_effort` エントリとして Codex TOML に書き込むことができます。 opencodex は、そのマーカーを持つフィールドのみを更新または削除します。いずれかのターゲット フィールドがユーザー所有の場合、ペアは部分的に書き込まれるのではなく、変更されないままになります。曖昧な TOML は書き込みなしで拒否されます。外部プロバイダー マネージャーとユーザー所有のルート ルーティングも引き続き権限を持ちます。 diff --git a/docs-site/src/content/docs/ja/reference/cli/lifecycle.md b/docs-site/src/content/docs/ja/reference/cli/lifecycle.md index f73a85a2175..e751f1ee00a 100644 --- a/docs-site/src/content/docs/ja/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/ja/reference/cli/lifecycle.md @@ -53,6 +53,10 @@ ocx eject back これは広範囲で破壊的な再ラベル付けです。ユーザーメッセージを持ち、現在 `opencodex` とタグ付けされているすべてのスレッドを `openai` に変更し、`exec` を `cli` に正規化してイベントマーカーを設定します。正当な専用プロバイダー履歴も対象です。状態をバックアップし、この全範囲を意図する場合にのみ実行してください。 +### `ocx recover-history --ocx-compaction --yes` + +ルーティングされたプロバイダーで圧縮されたタスクをネイティブ Codex で再開する前に、その履歴を修復します。このコマンドは UUID で 1 つのタスクだけを選択し、非公開のバイト単位バックアップを保存してから、OpenCodeX 所有の `ocx1:` 圧縮状態だけをネイティブ Codex が再生できる通常の要約に変換します。ネイティブの暗号化コンテンツと他のタスクは変更しません。実行前に対象タスクを閉じてください。処理中に rollout が変更された場合、ファイルを置き換えずに修復を中止します。 + ### `ocx uninstall`・`ocx remove` すべての復元手順が成功した場合にのみ、サービスとプロキシを停止し、サービスと Codex シムを削除し、ネイティブ Codex を復元してから、opencodex ローカル設定を削除します。 `remove` は `uninstall` の別名です。設定のクリーンアップには、新規インストールによって作成された所有権メタデータが必要です。従来のディレクトリまたは共有ディレクトリはそのまま残ります。 @@ -212,10 +216,28 @@ ocx codex-shim status ocx codex-shim uninstall ``` +:::note[Windows のトークン環境] +新しく生成される Windows CMD と PowerShell のシムは、実行後に呼び出し元の `OPENCODEX_API_AUTH_TOKEN` を元の状態に戻します。Codex とその子プロセスには、引き続きトークンが継承される可能性があります。 + +OpenCodex の更新後、既存の Windows シムにこの動作を適用するには、`ocx codex-shim uninstall`、続いて `ocx codex-shim install` を実行して再作成してください。通常の更新では、正常な Windows シムは書き換えられません。 +::: + :::tip[サービス vs シム] 常時オンのバックグラウンド プロキシには `ocx service` を使用します (推奨)。デーモンを使用しない軽量のオンデマンド起動には、`ocx codex-shim` を使用します。プロキシは、`codex` が起動された場合にのみ起動します。 ::: +#### Codex へのトークン注入 + +非ループバックアドレスにバインドする場合、注入されるプロバイダーには `env_key = "OPENCODEX_API_AUTH_TOKEN"` が含まれます。この行は、読み取る変数を Codex に指定するだけで、変数を作成するものではありません。変数が存在しない場合、Codex はリクエストの開始を拒否し(`Missing environment variable: OPENCODEX_API_AUTH_TOKEN`)、プロキシには到達しません。値は `$OPENCODEX_HOME/service-api-token` に保存されており、起動元のプロセスが Codex の環境にその値を渡す必要があります。 + +`ocx codex-shim install` でインストールされる、保守対象のシムを使用してください。起動コンテキストでこのシムが選択されると、シムは OpenCodex が作成したトークンファイルを読み取り、変数を Codex に渡します。デスクトップ、cron、サービスから起動する場合は、このシムが選択される PATH またはランチャーパスを使用する必要があります。インストールによって、それらの環境が自動的に設定されるわけではありません。Codex 自身の子プロセスにも、トークンが継承される可能性があります。 + +この Bearer トークンをシェルの起動ファイルからエクスポートしたり、`config.toml` にコピーしたりしないでください。`service-api-token` ファイルに含まれるのは `NAME=value` 形式の代入ではなくトークンそのものなので、systemd の `EnvironmentFile=` として直接使用することはできません。 + +`opencodex-proxy.service` の `EnvironmentFile=` または `OCX_API_TOKEN_FILE` は、プロキシプロセスだけを設定するものであり、独立して起動された `codex exec` に渡されることはありません。 + +ランチャーを置き換える Codex のアップグレードによって、シムは削除されます。次に通常の `ocx` コマンドを実行すると復元されますが(上記参照)、その前に実行された `codex exec` は失敗します。`ocx doctor` は、この状態(env_key が設定済み、変数が未設定、シムが存在しないか正常でない、トークンファイルは存在する)を修復コマンドとともに "Codex env_key launch readiness" の項目で報告し、トークンを表示することはありません。トークンファイルの読み取りは、注入された `env_key` の契約には含まれません。起動元のプロセスがその変数を渡す必要があります。 + ### `ocx tray [--json] [--no-start]` Windows ステータス トレイ アイコンをインストールして制御します。 Windows ログイン時に開始され、ワンクリックでプロキシ コントロールを提供します。 `start` および `stop` はアイコンのみを制御します。そのメニューを使用してプロキシを制御します。 `--no-start` は `install` に適用され、トレイをすぐに起動せずにインストールします。 diff --git a/docs-site/src/content/docs/ja/reference/configuration/agents.md b/docs-site/src/content/docs/ja/reference/configuration/agents.md index 522f2468016..44b0c70371a 100644 --- a/docs-site/src/content/docs/ja/reference/configuration/agents.md +++ b/docs-site/src/content/docs/ja/reference/configuration/agents.md @@ -26,15 +26,25 @@ description: マルチエージェント サーフェス、委任ガイダンス 管理 API は、`GET`/`PUT /api/v2`、`/api/injection-model`、`/api/effort-caps`、`/api/subagent-models`、および `/api/subagent-model-fallback` を公開します。インジェクションモデルの更新は部分的です。カスタム プロンプトは、その API の `prompt` フィールドです。 +## 常時プロアクティブ委任 + +Subagents → 詳細設定の **常時プロアクティブ委任**(旧 **Ultra mode**)は、推論のエフォートを変更せず、委任を開始する条件だけを変更します。推奨プリセットでも、ユーザーの指示、権限の境界、タスクの範囲、ツールの規則は維持されます。 + +`GET` と `PUT /api/v2` は、追加で `multiAgentModeHintRecommendation: { text, revision }` を返します。ダッシュボードはプリセットの有効化と復元にサーバー提供のテキストを使い、固定文へのフォールバックは行いません。旧サーバーが推奨値を返さない場合や値の形式が不正な場合、プリセットの適用と復元は利用できませんが、既存のカスタムヒントの編集と削除は引き続き利用できます。プリセットの復元はローカルの下書きだけを変更し、保存操作で確定します。 + +設定の読み取り、無関係な更新、アップグレードでは、保存済みのヒントは移行されません。ヒントを明示的に更新し、その本文が既知の旧 OpenCodex プリセット2種類のいずれかとバイト単位で完全一致する場合に限り、現在の推奨文に置き換わります。それ以外の有効なカスタムテキストは、空白だけが異なるものも含め、バイト単位で保持されます。既存の v2 有効化、機能サポート確認、ヒント削除の規則は変わらず、変更は新しい Codex セッションに適用されます。 + ## ロスターとガイダンス -有効な v2 ロスターは、v2 と互換性があり、挿入されたカタログに存在する、構成され、ピッカーに表示され、優先順位で並べ替えられた最初の 5 つのモデルです。 V2 の適格性は、明示的な `"v2"`、`null`、または欠落しているアップストリーム ピンを適格なものとして扱います。実際の `"v1"` ピンは除外されます。除外されたエントリは設定に残るため、後で適格になる可能性があります。 +有効な v2 ロスターは、設定済みでピッカーに表示され、優先順位で並べ替えられた最初の 5 つのモデルのうち、挿入されたカタログに存在し、明示的に `"disabled"` とされていないモデルです。明示的な `"v2"` ピンは再帰的なワーカーをサポートし、`"v1"`、`null`、ピンの省略はリーフワーカーとして引き続き適格です。除外されたエントリは設定に残るため、後で適格になる可能性があります。 表面検出はツール形状を使用します。 `send_input`、`resume_agent`、または `close_agent` を持つ名前空間付き `spawn_agent` は v1 です。 `send_message`、`followup_task`、`interrupt_agent`、または `list_agents` を備えたフラット `spawn_agent` は v2 です。 V1 ガイダンスは、`max` または `ultra` でのみプロアクティブ テキストです。 V2 は、優先モデル、適格なロスター、またはフォールバック チェーンが存在する場合にのみ、プロキシ作成の開発者メッセージを受信します。組み込みの v2 ガイダンスには 700 文字のバジェットがあり、必要に応じて最初にロスターが削除されます。ガイダンスはリプレイ プレフィックス全体で重複排除され、後続の `compaction_trigger` の前に挿入されます。 -`injectionModel` および `injectionEffort` は、ネイティブデフォルト同期が有効になっていない限り、推奨事項です。組み込みの v2 テキストは、サポートされているモデル/エフォートのオーバーライドを `fork_turns: "none"` を使用して `spawn_agent` に渡すように Codex に要求します。カスタム `injectionPrompt` は、欠落している値を空の文字列に置き換えます。 +組み込みの v2 サブエージェントガイダンスとカスタム `injectionPrompt` 本文は、どちらも `` を使用し、Codex ネイティブの `` メッセージとは区別されます。組み込みテキストは、解決済みの優先モデル、ロスター、フォールバックチェーンを示しますが、委任、モデルのオーバーライド、`fork_turns` は指示しません。カスタム本文のプレースホルダー置換と内容は維持されます。`injectionModel` および `injectionEffort` は、ネイティブデフォルト同期が有効になっていない限り推奨事項であり、カスタムプレースホルダーの欠落値は引き続き空の文字列に置き換えられます。 + +リプレイの重複排除では、タグの種類ごとに最新のテキストとの完全一致を確認します。両方の値が新しいプロキシのタグを使用する場合、カスタムガイダンスから組み込み形式へ戻すと、その時点の内容が追加されます。途中でネイティブモードが変わっても、変更のないプロキシガイダンスは重複追加されません。既存のネイティブメッセージと旧タグ付きの履歴は保持されます。ラッパーの変更によって過去のメッセージの作成者が判明したり、以前の指示が取り消されたりするわけではありません。複数バージョンが混在する履歴は、旧タグだけでは分類できず、そのような履歴での設定変更の検出は保証されません。 ## ネイティブ Codex のデフォルト同期 diff --git a/docs-site/src/content/docs/ja/reference/configuration/providers.md b/docs-site/src/content/docs/ja/reference/configuration/providers.md index ed41ad4a93d..3fd27c8871a 100644 --- a/docs-site/src/content/docs/ja/reference/configuration/providers.md +++ b/docs-site/src/content/docs/ja/reference/configuration/providers.md @@ -72,6 +72,10 @@ account を削除しても mapping は保持され、同じ id を再追加す `openaiProviderTierVersion: 2` は、現在の単一プロバイダーの投影をマークします。出荷された v1 設定を移行する前に、opencodex は別のバックアップを置き換えずに `config.json.pre-openai-tiers-v2.bak` を作成し、既知の名前空間で選択された既知のレガシー ID を裸の ID に書き換えます。 +## プロバイダー名前空間のエイリアス + +プロバイダーには、`google-antigravity` の `agy` のような組み込みの短縮名があります。設定済みのプロバイダー名または明示的なエイリアスが、大文字と小文字を区別せずにその短縮名を使用している場合、別のプロバイダーの組み込み短縮名はカタログ表示とエイリアスルーティングの両方で無効になります。たとえば、`agy` というプロバイダーを設定すると、Google のモデルは `google-antigravity/` と表示され、`agy/` は設定済みのプロバイダーを選択します。正規のプロバイダー名は引き続き大文字と小文字の完全一致が必要で、認識されない接頭辞には既存のモデルルーティングのフォールバックが適用されます。 + ## プロバイダーエントリー (`OcxProviderConfig`) |フィールド |タイプ |意味 | diff --git a/docs-site/src/content/docs/ja/reference/proxy-formats.md b/docs-site/src/content/docs/ja/reference/proxy-formats.md index 25267140481..a5764553119 100644 --- a/docs-site/src/content/docs/ja/reference/proxy-formats.md +++ b/docs-site/src/content/docs/ja/reference/proxy-formats.md @@ -14,6 +14,10 @@ provider events → internal adapter events → client dialect 応答表現はブリッジの中心です。ネイティブ互換ルートは、変換の一部をスキップしてリクエストを通過させる可能性がありますが、認証、ルーティング、アドミッション コントロール、および応答の安全性は依然としてプロキシ境界で発生します。 [構成](/reference/configuration/) でリスナーとアドミッション キーを構成します。 1 つのパブリック モデル ID を複数のターゲットから選択する必要がある場合は、[コンボ](/guides/combos/) を使用します。 +## 上流のリダイレクト + +認証情報を含むモデル・画像・動画・検索リクエストは、同一オリジンを含む HTTP リダイレクトを自動追跡しません。リダイレクトする別名ではなく、最終的な上流 API URL を設定してください。サーバーはリダイレクト先に認証情報やリクエスト本文を再送しません。各応答処理の既存のエラー処理・中継動作は維持され、native Responses と compact は元の 3xx と `Location` をクライアントへ返す場合があります。クライアントのリダイレクト動作は、このサーバー転送ポリシーとは別です。 + ## エンドポイントの概要 |クライアントサーフェス |エンドポイント |非ストリームの結果が成功 |成功したストリームまたはソケットの結果 | @@ -247,14 +251,18 @@ API ではありません。Desktop のキー移行・復旧・切断は既存 |表面 |専用 |ベアラー | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP と WebSocket |必須 |代理入場を拒否されました |拒否されました | -| `/v1/responses/compact` |必須 |代理入場を拒否されました |拒否されました | -| `/v1/chat/completions` |必須 |代理入場を拒否されました |拒否されました | +| `/v1/responses` HTTP と WebSocket | 承認済み | 承認済み |拒否されました | +| `/v1/responses/compact` | 承認済み | 承認済み |拒否されました | +| `/v1/chat/completions` | 承認済み | 承認済み |拒否されました | | `/v1/messages` および `/v1/messages/count_tokens` |承認済み |承認済み |承認済み | | `/v1/models` |承認済み |承認済み |承認済み | | `/v1/live`、`/v1/realtime/calls`、および側波帯結合 |承認済み |承認済み |承認済み | -Responses-family および Chat リクエストは、プロバイダーまたは Codex Direct パススルー用に `Authorization` を予約するため、リモート プロキシ キーは専用ヘッダーを使用する必要があります。メッセージとリアルタイム サーフェスは、より広範なクライアント互換性を必要とするため、3 つの形式すべてを受け入れます。 +Responses 系列と Chat のリクエストは、専用ヘッダーまたは Bearer フィールドのプロキシキーを受け付けます。ネイティブルートでは選択された保存済み Codex 認証情報が admission bearer を置き換え、他のルートではその bearer を削除します。プロキシキーを upstream の認証情報として使うことはありません。別の provider bearer も渡す場合は、プロキシキーを専用ヘッダーに設定してください。 + +キーがなく OAuth を使用しない Cursor ルートは、別途指定された呼び出し元 bearer を使用できますが、プロキシ secret や自動補完された ChatGPT main 認証は使用しません。Combo/policy の選択と実際の shadow/thread-spawn ルート変更では、呼び出し元の生の認証情報を新しい対象へ渡しません。正規の OpenAI ルーティングでは、JWT に ChatGPT アカウントの claim が含まれ、明示的なアカウントヘッダーがある場合はその claim と一致するときに限り、内部ルート変更後にプロキシキーではない呼び出し元の単一 bearer を復元できます。 オプションの OpenAI sidecar に呼び出し元の認証を転送するには、単一の JWT とそれに一致する明示的な `chatgpt-account-id` が必要です。Opaque bearer は、明示的なアカウントヘッダーがあっても、ルート変更をまたいで復元されません。 それ以外の最終対象には自身の設定済み・OAuth・保存済み認証情報が必要で、なければローカルで失敗します。ルート変更のない thread-spawn マーカーだけでは認証情報を削除しません。 + +Claude replay は、その turn が所有権を確保した main 認証だけをメモリ内 snapshot に保持し、最終対象が正規の ChatGPT ルートである場合にのみ復元します。 :::caution データプレーン キーは管理資格情報ではありません。管理 API は別の管理シークレットを使用します。 [管理 API](/reference/management-api/)を参照してください。 1 つのシークレットを両方のプレーンに再利用しないでください。 diff --git a/docs-site/src/content/docs/ko/guides/claude-code.md b/docs-site/src/content/docs/ko/guides/claude-code.md index 33adf2bcbf8..c65476352c3 100644 --- a/docs-site/src/content/docs/ko/guides/claude-code.md +++ b/docs-site/src/content/docs/ko/guides/claude-code.md @@ -452,6 +452,34 @@ Claude Code의 `/effort` 설정은 어댑터에서도 유지돼요. **오류 조건(400):** 잘못된 JSON, 누락되거나 빈 `model`, 누락되거나 빈 `messages`, 지원하지 않는 role, `tool_use_id` 없는 `tool_result`, id/name 없는 `tool_use`, name 없는 이름 지정 `tool_choice`예요. +### 도구 스키마의 유니코드 속성 패턴 + +자바스크립트 기준으로 작성한 JSON Schema `pattern`에는 `\p{Cc}`나 `\P{L}` 같은 유니코드 속성 +이스케이프가 들어갈 수 있어요. OpenAI 계열 백엔드는 `pattern`을 파이썬 `re`로 컴파일해 검사하는데 +`re`는 이 이스케이프를 지원하지 않고, 컴파일하지 못한 스키마는 통째로 거절해요. 그래서 내장 도구 +하나에 그런 패턴이 하나만 있어도 그 도구 호출뿐 아니라 세션의 모든 요청이 실패해요. + +일반적인 Artifact 매개변수가 동작하도록 `openai-chat`·`openai-responses` 어댑터는 일반적인 양의 조건 +위치에 있는 문자열 `pattern` 중 유니코드 속성 이스케이프를 쓰는 제약을 빼요. 형제 제약, `required`, +리터럴 데이터와 지원되는 정규식은 그대로 둬요. 빠진 제약을 프록시가 대신 검사하지 않으므로 도구 구현이 +입력을 직접 검증해야 해요. + +`patternProperties`의 매처와 값 스키마는 그대로 전달해요. 매처를 빼면 상위 `unevaluatedProperties`가 +검사하는 키가 달라질 수 있어, 해당 객체가 열려 있다는 사실만으로 안전성을 판단할 수 없어요. +`not`, `oneOf`, `if`, `contains`, `$defs`, `definitions` 아래의 패턴도 그대로 둬요. 이 하위 조건을 +느슨하게 바꾸면 부정 조건, 분기 선택, 일치 개수나 참조의 의미가 달라질 수 있기 때문이에요. + +보존된 스키마는 목적지 백엔드가 검사해요. ECMA 정규식을 지원하는 백엔드는 원래 패턴을 쓸 수 있고, +컴파일하지 못하는 백엔드는 스키마를 거절할 수 있어요. OpenCodex가 이를 원래 허용되던 입력까지 막는 +스키마로 조용히 바꾸지는 않아요. + +이건 선택된 어댑터 경로에서 일어나는 정규화이지 프로바이더 전체에 대한 보장이 아니에요. 프로바이더 설정과 +인증은 건드리지 않고, 다른 어댑터를 쓰는 프로바이더는 영향을 받지 않아요. + +호환성을 위한 조치일 뿐, 모든 OpenAI 호환 백엔드가 이런 패턴을 거절한다고 확인한 건 아니에요. 대가는 +알아 두는 게 좋아요. 빠진 정규식은 어디에도 보존되지 않고 상위에서 강제되지도 않으니, 도구 구현이 +스키마의 거절에 기대지 말고 입력을 직접 검증해야 해요. + ## 출력 변환(Responses → Messages SSE) | Responses 이벤트 | Messages SSE | diff --git a/docs-site/src/content/docs/ko/guides/codex-integration.md b/docs-site/src/content/docs/ko/guides/codex-integration.md index 1f324adaf29..976da6c96ac 100644 --- a/docs-site/src/content/docs/ko/guides/codex-integration.md +++ b/docs-site/src/content/docs/ko/guides/codex-integration.md @@ -7,6 +7,12 @@ opencodex는 Codex가 읽는 두 가지, 즉 설정(`$CODEX_HOME/config.toml`, 프록시는 bare `openai` Codex 로그인 경로 하나와 Pool(기본) 및 Direct 계정 모드, 그리고 설정된 API 키용 `openai-apikey/`을 제공합니다. Pool은 메인 계정과 추가된 계정을 포함하고, Direct는 호출자/메인 bearer만 사용합니다. 경로들은 서로 fallback하지 않습니다. shipped v1 config는 marker 2로 이관되며, 수동 복원을 위해 `config.json.pre-openai-tiers-v2.bak`를 보존합니다. +Pool 모드에서는 선택된 저장 계정이 쿨다운 중이고 사용 가능한 다른 저장 계정이나 복구 probe가 +없을 때, 요청에 포함된 검증된 native Codex 로그인을 사용할 수 있습니다. 상류 거절 후 재시도와 +같은 호출자 검증을 적용하므로, 전송 전에 막힌 새 요청도 이 경로를 사용할 수 있습니다. 기존 모델 +권한과 main 계정 정책 검사는 유지됩니다. 이 fallback은 저장 계정의 쿨다운을 해제하거나 호출자 +인증을 Pool 선택으로 저장하지 않습니다. 특정 계정에 정확히 고정된 요청은 그 계정에 계속 묶입니다. + ## 설정 주입 `ocx init`, `ocx start`, `ocx sync`는 모두 인젝터를 호출합니다. 기본 loopback 바인드에서는 Codex의 빌트인 `openai` 프로바이더 id를 그대로 유지한 채, 그 프로바이더가 opencodex를 바라보게 합니다. @@ -119,6 +125,15 @@ Windows에서 Orca shell은 `CODEX_HOME`과 `ORCA_CODEX_HOME`을 Orca의 번들 전용 provider 모드의 `requires_openai_auth = true`는 Codex App/TUI의 계정 게이트 화면을 네이티브 Codex와 같은 조건으로 맞춥니다. opencodex는 `/v1/responses`도 WebSocket으로 제공합니다. 전용 provider는 `"websockets": true`일 때만 `supports_websockets = true`를 광고합니다. loopback에서는 Codex의 빌트인 provider가 먼저 WebSocket을 시도할 수 있으며, 비활성화된 proxy는 `426`을 반환해서 Codex가 HTTP/SSE로 fallback합니다. +네이티브 ChatGPT forward 요청의 로컬 재생 상태가 만료되었거나 없으면 opencodex는 +upstream 요청 전에 `previous_response_not_found`를 반환합니다. Codex WebSocket 클라이언트는 +일반 스트림 재시도 한도 안에서 다시 연결하고, 완료된 도구 호출과 결과를 포함한 현재 보유 +컨텍스트 전체를 다시 보낼 수 있습니다. 따라서 프록시의 1시간 캐시가 만료되었다는 이유만으로 +새 작업을 만들 필요는 없습니다. 캐시 한도와 보존 기간은 그대로이며, 클라이언트가 더 이상 +보유하지 않는 기록을 복구하는 기능은 아닙니다. HTTP 클라이언트는 이 오류를 직접 처리하고 +`previous_response_id` 없이 전체 컨텍스트를 다시 보내야 합니다. 같은 ID만 재시도해서는 +누락된 상태를 복구할 수 없습니다. + ## 스레드 식별자와 대화 기록 기본 loopback 형식은 새 thread에 네이티브 `openai` provider 태그를 유지하므로 일반적인 resume history는 다시 매핑할 필요가 없습니다. sync와 restore는 일치하는 백업 manifest만 적용하여 각 thread의 원래 provider, source, event marker를 정확히 복원합니다. manifest가 없는 `opencodex` row는 변경하지 않으며, legacy 재태깅을 명시적으로 강제하려는 경우에만 `ocx recover-history --legacy-openai --yes`를 사용합니다. 이 명령은 의도적으로 범위가 넓습니다. 사용자 메시지가 있고 현재 `opencodex`로 표시된 모든 thread를 `openai`로 바꾸고, `exec`를 `cli`로 정규화하며 event marker를 설정합니다. 정상적인 dedicated-provider history도 포함됩니다. 상태를 백업하고 이 전체 범위를 의도한 경우에만 사용하세요. non-loopback 전용 provider 모드는 활성 상태일 때만 history를 `opencodex` provider 아래로 미러링하고, 종료할 때는 백업된 메타데이터를 복원합니다. history를 건드리지 않으려면 `syncResumeHistory: false`로 설정하세요. @@ -241,7 +256,9 @@ ChatGPT 계정을 Codex account pool에 추가하면, opencodex는 이를 저장 ## 네이티브 Codex 복원 -opencodex는 절대 사용자를 가두지 않습니다. **`ocx stop`은 네이티브 Codex로 완전히 되돌리는 단일 명령입니다**. proxy를 중지하고, 설치된 background service가 있으면 그것도 중지한 뒤, 주입된 모든 라인과 라우팅된 catalog 항목을 제거해서 plain `codex`가 opencodex가 처음부터 없었던 것처럼 정확히 동작하게 합니다: +`ocx stop`은 proxy와 설치된 background service를 중지한 뒤 네이티브 Codex 복원을 시도합니다. OpenCodex 소유로 확인된 라우팅 항목을 제거하며, 설정 파일을 안전하게 복구할 수 없으면 미완료로 보고합니다. + +현재 config 또는 profile이 저장된 원본과 다르고 해당 파일의 주입 상태 해시가 저널에 없으면, 자동 snapshot 복원은 두 파일과 저널을 변경하지 않고 검토용으로 남깁니다. 이미 원본과 같은 파일은 다시 쓰지 않습니다. 기존 라우팅 설정의 재주입도 이 불확실한 원본을 사용하지 않으며, 네이티브 설정에서는 새 snapshot을 만들 수 있습니다. [자세한 복구 규칙](/guides/codex-integration/#recovery-without-injection-hashes)을 참고하세요. ```bash ocx stop # stop the proxy + service, restore native Codex diff --git a/docs-site/src/content/docs/ko/guides/combos.md b/docs-site/src/content/docs/ko/guides/combos.md index aef5ca1cc19..633feb838bd 100644 --- a/docs-site/src/content/docs/ko/guides/combos.md +++ b/docs-site/src/content/docs/ko/guides/combos.md @@ -62,6 +62,12 @@ alias를 설정해도 정식 `combo/` 형식은 계속 해석됩니다. 정 alias는 클라이언트가 요청하는 공개 이름만 바꿉니다. 콤보에 저장된 ID나 그 뒤의 실제 공급자/모델 선택자는 바꾸지 않습니다. ::: +## 콤보를 바꾼 뒤 대화 압축 + +클라이언트가 콤보를 바꾼 뒤 공급자 접두사 없는 모델 이름으로 압축을 요청하면, opencodex는 같은 대화에서 가장 최근에 응답을 성공적으로 마친 콤보를 기억해 사용할 수 있습니다. 모델 이름이 완료된 응답과 일치하고, 현재 설정에 해당 콤보와 대상이 남아 있어야 합니다. 압축 요청도 일반 콤보 선택과 페일오버를 따릅니다. + +명시한 공급자·콤보 선택자와 설정된 콤보 별칭이 기억한 값보다 우선합니다. 실패·미완료·취소된 응답은 마지막 성공 기록을 덮어쓰지 않습니다. 기록은 프로세스 안에서 최대 256개 대화, 30분 동안 유지하며 계정 자격증명을 저장하지 않습니다. 유효한 대화 식별자나 기록이 없으면 일반 압축 라우팅을 사용합니다. 재시작하면 기록은 사라집니다. + ## 전략 선택 ### 페일오버: 순서가 있는 기본값과 예비값 diff --git a/docs-site/src/content/docs/ko/guides/sub-agent-surface.md b/docs-site/src/content/docs/ko/guides/sub-agent-surface.md index 11edd84cdce..2b0409b818b 100644 --- a/docs-site/src/content/docs/ko/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/ko/guides/sub-agent-surface.md @@ -58,7 +58,9 @@ v2 로스터의 경우 적합성은 세 가지 상태로 나뉩니다. `"v2"`로 내장 v2 가이드는 700자 예산을 가집니다. 이 한도를 넘기면 opencodex는 핵심 스폰 지시를 자르는 대신 로스터를 먼저 제거합니다. 내장 가이드는 선호 모델, 적합한 로스터 또는 폴백 체인이 해석될 때만 발화합니다. 사용자 정의 프롬프트는 `injectionModel`만 설정되어 있어도 발화하며, 선택자가 없는 값을 하나로 해석할 수 없으면 `{{model}}`은 빈 문자열로 치환됩니다. -v1에서는 opencodex가 `max` 또는 `ultra` 추론 강도에서만 업스트림 스타일의 능동 위임 가이드만 주입합니다. v1에는 선호 모델, 로스터, 폴백 목록, 사용자 정의 프롬프트를 추가하지 않습니다. +v1에서는 opencodex가 `max` 또는 `ultra` 추론 강도에서만 v2 권장 프리셋과 같은 능동 위임 가이드를 주입합니다. +별도의 위임 요청이 필요하지 않도록 시작 조건만 바꾸며, 사용자 지시와 권한·작업 범위·협업 도구 규칙은 계속 적용됩니다. +v1에는 선호 모델, 로스터, 폴백 목록, 사용자 정의 프롬프트를 추가하지 않습니다. 기본값이 꺼진 `syncCodexSubagentDefaults` 옵션은 가이드와 별개입니다. opencodex가 활성 Codex 라우팅을 소유하는 경우, 동기화나 재시작 시 선택한 값을 Codex TOML의 표식이 붙은 `[agents] default_subagent_model` 및 `default_subagent_reasoning_effort` 항목으로 쓸 수 있습니다. opencodex는 자신이 붙인 표식이 있는 필드만 갱신하거나 제거합니다. 대상 필드 중 하나라도 사용자 소유라면 부분 쓰기는 하지 않고 쌍을 그대로 둡니다. 애매한 TOML은 쓰기 없이 거부합니다. 외부 프로바이더 관리자와 사용자 소유 루트 라우팅도 여전히 최종 권한을 가집니다. diff --git a/docs-site/src/content/docs/ko/reference/cli/agents.md b/docs-site/src/content/docs/ko/reference/cli/agents.md index 048b5f3ca3a..7e4e1807fc0 100644 --- a/docs-site/src/content/docs/ko/reference/cli/agents.md +++ b/docs-site/src/content/docs/ko/reference/cli/agents.md @@ -16,6 +16,27 @@ description: 멀티 에이전트, 콤보, 관측성, 접근, 통합, 시스템, ocx agent subagents set ark/model-a,openai/gpt-5.5 ``` +### `ocx effort [status|set|clear]` + +실행 중인 프록시를 통해 메인·서브에이전트의 reasoning-effort 상한을 조회하거나 변경하며, +프록시가 없으면 로컬 설정을 사용합니다. 상한은 `low`, `medium`, `high`, `xhigh`, `max`, +`ultra`이고, `-`는 해당 상한을 해제합니다. `none`과 `minimal`은 상한 단계가 아니므로 같은 +명령의 다른 옵션이 유효하더라도 프록시 탐색이나 설정 변경 요청 전에 거부됩니다. +두 값은 상한이 아닌 별도의 injection effort를 설정하는 `--injection`에서는 그대로 사용할 수 있습니다. + +```bash +ocx effort status --json +ocx effort set --main high --subagent low +ocx effort set --subagent - +``` + +상태 조회는 저장값 또는 런타임 상한 원문을 보존하고, 지원하지 않는 값은 `warnings`에 표시합니다 +(모두 지원되는 값이면 빈 배열). 일반 출력에도 같은 경고가 나오며, 무시되는 필드와 수정 명령을 +안내합니다. 상태 조회가 기존 값을 자동으로 복구하거나 덮어쓰지는 않습니다. 서브에이전트 필드가 +무시되더라도 유효한 메인 상한이 사라지는 것은 아닙니다. `ocx effort clear`는 별도의 injection-effort +설정을 유지하면서 두 상한을 해제합니다. 상한이 적용되는 요청 surface는 +[Sub-agent surfaces](/ko/guides/sub-agent-surface/)를 참고하세요. + ### `ocx v2 |threads >` Codex `multi_agent_v2` 기능 플래그와 세 상태 멀티 에이전트 surface mode를 관리합니다. diff --git a/docs-site/src/content/docs/ko/reference/cli/lifecycle.md b/docs-site/src/content/docs/ko/reference/cli/lifecycle.md index df150472665..352276f9fc3 100644 --- a/docs-site/src/content/docs/ko/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/ko/reference/cli/lifecycle.md @@ -34,6 +34,12 @@ ocx start --port 8080 백그라운드 서비스가 설치되어 있으면 `ocx stop`이 먼저 그 서비스를 중지하므로 프록시가 다시 올라올 수 없습니다. 웹 대시보드의 **Stop** 버튼도 같은 동작(`POST /api/stop`)을 하지만, Windows 작업 스케줄러는 예외입니다. 작업이 끝나도 래퍼가 프록시를 다시 띄울 수 있어서, 대시보드는 `respawnable_service`로 거절하고 아무것도 바꾸지 않은 채 `ocx stop` 실행을 안내합니다. +프록시가 종료된 것만으로 Codex/Grok 공유 설정 복원까지 성공했다고 판단하지 않습니다. 종료 응답이 +실패를 보고하거나, 읽을 수 없거나, 요청한 복원 처리 방식을 확인해 주지 않으면 기존 소유권·재시작 +검사를 거친 부모 CLI가 복원을 맡습니다. 이미 종료가 확인된 프로세스를 강제 종료하는 경로로는 +넘어가지 않습니다. 영수증에 근거한 지연 복원도 최종 복원과 영수증 정리를 부모가 담당하며, +부모의 공유 설정 복원이 실패하면 종료 실패로 남기고 미완료 영수증을 보존합니다. + ### `ocx restart` 프록시가 실행 중이면 확인된 정확한 PID와 포트에 in-place 재시작을 요청하고, 정상 드레인을 @@ -44,6 +50,11 @@ ocx start --port 8080 stop/start 대체 동작 없이 안전하게 실패합니다. 소유권을 확인한 뒤 `ocx stop`과 `ocx start`를 순서대로 한 번 실행하세요. +중지·업데이트 후 포트 회수 중에는 종료 전에 기록한 PID라도 OCX 프로세스 확인 실패를 무시하지 않습니다. +확인이 거부된 살아 있는 프로세스는 종료하지 않으며 TCP 연결 정보도 정리하지 않습니다. +계속 확인할 수 없으면 포트가 사용 중인 채로 대기 제한 시간에 도달할 수 있습니다. +현재 포트 사용 프로세스를 확인하고 충돌을 해소한 뒤 재시작을 다시 시도하세요. + ### `ocx ensure` 백그라운드 프록시가 실행 중인지 멱등적으로 보장한 다음, 살아 있는 모델 카탈로그를 동기화합니다. @@ -54,6 +65,10 @@ stop/start 대체 동작 없이 안전하게 실패합니다. 소유권을 확 프록시를 중지하지 않고 기본 Codex를 **복원**합니다. 주입된 설정 줄과 라우팅된 카탈로그 항목을 제거하므로 일반 `codex`가 다시 네이티브로 동작합니다. `eject`는 `restore`의 별칭입니다. +저장된 저널에 해당 파일의 주입 상태 해시가 없으면, 변경된 설정 파일을 덮어쓰는 대신 복원 실패를 +보고합니다. 현재 파일과 저널은 검토용으로 보존됩니다. +[해시 없는 저널의 복구 규칙](/guides/codex-integration/#recovery-without-injection-hashes)을 참고하세요. + 둘 중 어느 표기든 `back`을 붙이면 이미 실행 중인 프록시를 가리키도록 일반 `codex`를 다시 연결하되, 프록시 수명 주기는 바꾸지 않습니다. @@ -71,6 +86,10 @@ ocx eject back thread를 `openai`로 바꾸고, `exec`를 `cli`로 정규화하며 event marker를 설정합니다. 정상적인 dedicated-provider history도 포함됩니다. 상태를 백업하고 이 전체 범위를 의도한 경우에만 실행하세요. +### `ocx recover-history --ocx-compaction --yes` + +라우팅된 provider를 통해 압축된 작업을 native Codex에서 다시 열기 전에 해당 기록을 복구합니다. 이 명령은 UUID로 정확히 하나의 작업을 선택하고 비공개 바이트 단위 백업을 저장한 뒤, OpenCodeX가 소유한 `ocx1:` 압축 상태만 native Codex가 재생할 수 있는 일반 요약으로 변환합니다. native 암호화 콘텐츠와 다른 작업은 변경하지 않습니다. 실행 전에 선택한 작업을 닫으십시오. 처리 중 rollout이 변경되면 파일을 교체하지 않고 복구를 중단합니다. + ### `ocx uninstall` · `ocx remove` 서비스와 프록시를 중지하고, 서비스와 Codex shim을 제거한 뒤, 기본 Codex를 복원합니다. 그 다음 @@ -185,6 +204,10 @@ probe이며, `--wait`는 준비 또는 timeout까지 polling하지만 종단 `fa 해당할 때 서비스 마이그레이션을 설명합니다. 이 진단에 표시되는 경로는 OS 사용자 이름을 마스킹합니다. doctor는 복구 힌트를 보여 주지만 직접 적용하지는 않습니다. +프로젝트 설정 진단은 `developer_instructions` 같은 TOML 여러 줄 문자열 안의 공급자 예시를 +무시합니다. 종료 구분자 바로 앞에 이스케이프된 따옴표가 있어도, 문자열이 끝난 뒤의 실제 +공급자 및 프로필 설정은 계속 검사합니다. + **OAuth 안정성** 섹션은 자격 증명 저장소에 쓰기 가능한지, `OPENCODEX_HOME` 아래에 refresh single-flight/lock 파일을 만들 수 있는지, 건강하지 않은 OAuth 또는 Codex pool 계정(마스킹된 ID)과 복구용 `Action:`, 그리고 Codex 전달 경로가 공식 클라이언트 메타데이터를 꾸며 내지 않는다는 @@ -293,11 +316,29 @@ ocx codex-shim status ocx codex-shim uninstall ``` +:::note[Windows 토큰 환경] +새로 생성된 Windows CMD 및 PowerShell shim은 실행 후 호출자의 `OPENCODEX_API_AUTH_TOKEN`을 원래 상태로 복원합니다. Codex와 자식 프로세스는 여전히 토큰을 상속할 수 있습니다. + +OpenCodex를 업데이트한 뒤 기존 Windows shim에 이 동작을 적용하려면 `ocx codex-shim uninstall`을 실행한 다음 `ocx codex-shim install`로 다시 설치하세요. 일반 업데이트는 정상인 Windows shim을 다시 작성하지 않습니다. +::: + :::tip[서비스와 shim] 항상 켜져 있는 백그라운드 프록시에는 `ocx service`를 사용합니다(권장). 데몬 없이 가볍게 필요할 때만 시작하려면 `ocx codex-shim`을 사용합니다. 이 경우 프록시는 `codex`를 실행할 때만 시작됩니다. ::: +#### Codex에 토큰 주입 + +루프백이 아닌 주소에 바인딩하면 주입된 공급자에 `env_key = "OPENCODEX_API_AUTH_TOKEN"`이 포함됩니다. 이 줄은 Codex가 읽을 변수를 지정할 뿐, 변수를 생성하지는 않습니다. 변수가 없으면 Codex는 요청 시작을 거부하며(`Missing environment variable: OPENCODEX_API_AUTH_TOKEN`), 요청은 프록시에 도달하지 않습니다. 값은 `$OPENCODEX_HOME/service-api-token`에 저장되며, 실행을 시작하는 프로세스가 Codex의 환경에 이 값을 제공해야 합니다. + +`ocx codex-shim install`로 설치되는 shim을 사용하세요. 실행 환경에서 이 shim이 선택되면 OpenCodex가 생성한 토큰 파일을 읽고 Codex에 변수를 제공합니다. 데스크톱, cron, 서비스에서 실행할 때는 shim을 선택하는 PATH 또는 실행기 경로를 사용해야 합니다. 설치 과정에서 이러한 환경이 자동으로 구성되지는 않습니다. Codex 자체의 자식 프로세스도 토큰을 상속할 수 있습니다. + +이 Bearer 토큰을 셸 시작 파일에서 내보내거나 `config.toml`에 복사하지 마세요. `service-api-token` 파일에는 `NAME=value` 형식의 대입문이 아닌 토큰 원문이 들어 있으므로 systemd의 `EnvironmentFile=`로 직접 사용할 수 없습니다. + +`opencodex-proxy.service`의 `EnvironmentFile=` 또는 `OCX_API_TOKEN_FILE`은 프록시 프로세스만 구성하며, 별도로 실행된 `codex exec`에 전달되지 않습니다. + +실행기를 교체하는 Codex 업그레이드는 shim을 제거합니다. 다음 일반 `ocx` 명령이 shim을 복원하지만(위 내용 참조), 그보다 먼저 실행되는 `codex exec`는 실패합니다. `ocx doctor`는 이 상태(env_key 구성됨, 변수 미설정, shim 누락 또는 비정상, 토큰 파일 존재)를 "Codex env_key launch readiness" 항목에서 복구 명령과 함께 보고하며, 토큰은 출력하지 않습니다. 토큰 파일 읽기는 주입된 `env_key`의 계약에 포함되지 않습니다. 실행을 시작하는 프로세스가 해당 변수를 제공해야 합니다. + ### `ocx tray [--json] [--no-start]` Windows 상태 트레이 아이콘을 설치하고 제어합니다. Windows 로그인 시 시작되며, 프록시를 원클릭으로 diff --git a/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md index 20d1e962565..e553adf1c31 100644 --- a/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ko/reference/cli/providers-accounts.md @@ -93,6 +93,12 @@ ocx login anthropic 아닙니다. 진행 중 요청, 식별되지 않은 키링 계정, 프록시 밖 요청은 사용량을 더 쓸 수 있습니다. 추가 계정과 다른 공급자는 계속 사용할 수 있습니다. +보호 기능이 켜져 있으면 소유권이 확인된 시작 과정에서 native 프로필 복구와 정리를 마친 뒤 +메인 인증정보의 메모리 내 식별 연결을 복원하므로, 저장된 99% 차단이 재시작 후에도 유지됩니다. +연결을 준비하는 동안 호출자 인증정보를 쓰는 Direct, 메인 계정 지정, 메인 fallback, 메인 pin +요청은 잠시 503을 받을 수 있고, 저장된 Pool 계정은 그동안에도 그대로 쓸 수 있습니다. +이 초기화를 위해 다른 서비스 소유이거나 소유권이 미확인인 홈의 인증정보를 읽지는 않습니다. + 차단 중에는 해당 메인 계정의 Luna Reserve도 쓸 수 없습니다. 일반 사용량이 소진되지 않으면 Reserve가 활성화되지 않을 수 있습니다. 스위치를 끄면 원래 처리 방식으로 돌아가지만 서버가 허용하는 사용량이 늘어나지는 않습니다. 계정의 사용량 새로고침으로 최신 수치를 확인할 수 있으며, diff --git a/docs-site/src/content/docs/ko/reference/configuration/agents.md b/docs-site/src/content/docs/ko/reference/configuration/agents.md index d6656f8c169..cf7e3da8d5b 100644 --- a/docs-site/src/content/docs/ko/reference/configuration/agents.md +++ b/docs-site/src/content/docs/ko/reference/configuration/agents.md @@ -26,15 +26,25 @@ description: 멀티 에이전트 표면, 위임 안내, 선호 모델, 대체 관리 API는 `GET`/`PUT /api/v2`, `/api/injection-model`, `/api/effort-caps`, `/api/subagent-models`, `/api/subagent-model-fallback`를 제공합니다. injection-model 업데이트는 부분 업데이트입니다. 사용자 지정 프롬프트는 이 API의 `prompt` 필드입니다. +## 항상 능동 위임 + +서브에이전트 → 고급의 **항상 능동 위임**(이전 이름: **울트라 모드**)은 추론 노력을 바꾸지 않고 위임을 시작하는 조건만 변경합니다. 권장 프리셋에서도 사용자 지침, 권한 경계, 작업 범위, 도구 규칙은 유지됩니다. + +`GET`과 `PUT /api/v2`는 `multiAgentModeHintRecommendation: { text, revision }`도 반환합니다. 대시보드는 프리셋을 켜거나 복원할 때 서버가 제공한 텍스트를 사용하며, 고정된 대체 문구는 사용하지 않습니다. 이전 서버가 권장값을 제공하지 않거나 잘못된 형식으로 반환하면 프리셋 적용·복원은 사용할 수 없으며, 기존 사용자 지정 힌트의 편집·삭제는 계속 사용할 수 있습니다. **프리셋 복원**은 로컬 초안만 바꾸고, **저장**을 눌러야 저장됩니다. + +설정 조회, 관련 없는 업데이트, 업그레이드는 저장된 힌트를 자동 변경하지 않습니다. 힌트를 명시적으로 업데이트할 때 본문이 알려진 두 가지 이전 OpenCodex 프리셋 중 하나와 바이트 단위로 정확히 일치하는 경우에만 현재 권장 문구로 바뀝니다. 그 밖의 유효한 사용자 지정 텍스트는 공백 차이가 있는 변형까지 바이트 단위로 보존됩니다. 기존 v2 활성화·기능 지원 확인·힌트 해제 규칙은 그대로이며, 변경은 새 Codex 세션에 적용됩니다. + ## 로스터와 안내 -실제 v2 로스터는 설정되어 있고, 선택기에 보이며, 우선순위로 정렬된 상위 다섯 모델 중 v2와 호환되고 주입된 카탈로그에 존재하는 모델입니다. v2 적격성은 명시적인 `"v2"`, `null`, 또는 생략된 상위 고정값을 적격으로 보고, 실제 `"v1"` 고정값은 제외합니다. 제외된 항목은 나중에 적격이 될 수 있도록 설정에 그대로 남습니다. +실제 v2 로스터는 설정되어 있고, 선택기에 보이며, 우선순위로 정렬된 상위 다섯 모델 중 주입된 카탈로그에 존재하고 명시적으로 `"disabled"`로 표시되지 않은 모델입니다. 명시적인 `"v2"` 고정값은 재귀 작업자를 지원하며, `"v1"`, `null`, 생략된 고정값도 하위 작업을 다시 위임하지 않는 작업자로 참여할 수 있습니다. 제외된 항목은 나중에 적격이 될 수 있도록 설정에 그대로 남습니다. 표면 판별은 도구 형태를 기준으로 합니다. 네임스페이스가 붙은 `spawn_agent`에 `send_input`, `resume_agent`, `close_agent`가 있으면 v1입니다. 평평한 `spawn_agent`에 `send_message`, `followup_task`, `interrupt_agent`, `list_agents`가 있으면 v2입니다. V1 안내는 `max` 또는 `ultra`에서만 선제 텍스트로 제공됩니다. V2는 선호 모델, 적격 로스터, 대체 체인 중 하나가 있을 때만 프록시가 작성한 개발자 메시지를 받습니다. 내장 v2 안내에는 700자 예산이 있고, 필요하면 로스터를 먼저 줄입니다. 안내는 replay prefix 전반에서 중복 제거되며, 뒤에 오는 `compaction_trigger` 앞에 삽입됩니다. -`injectionModel`과 `injectionEffort`는 네이티브 기본값 동기화가 활성화되지 않으면 권고 수준입니다. 내장 v2 텍스트는 Codex에게 지원되는 모델/노력 오버라이드를 `fork_turns: "none"`과 함께 `spawn_agent`로 전달하라고 요청합니다. 사용자 지정 `injectionPrompt`는 누락된 값을 빈 문자열로 대체합니다. +내장 v2 서브에이전트 안내와 사용자 지정 `injectionPrompt` 본문은 모두 ``를 사용하며, Codex 네이티브 `` 메시지와 구분됩니다. 내장 텍스트는 결정된 선호 모델, 모델 목록, 대체 체인을 알리지만 위임, 모델 오버라이드, `fork_turns`를 지시하지는 않습니다. 사용자 지정 본문의 자리표시자 치환과 내용은 유지됩니다. `injectionModel`과 `injectionEffort`는 네이티브 기본값 동기화가 활성화되지 않으면 계속 권고 수준이며, 사용자 지정 자리표시자의 누락된 값은 빈 문자열로 대체됩니다. + +replay 중복 제거는 각 태그 계열의 가장 최근 텍스트와 정확히 일치하는지 비교합니다. 두 값 모두 새 프록시 태그 계열을 사용하는 경우, 사용자 지정 안내에서 내장 형식으로 돌아오면 현재 안내가 추가됩니다. 그 사이에 네이티브 모드가 바뀌어도 변경되지 않은 프록시 안내가 중복 추가되지는 않습니다. 기존 네이티브 메시지와 예전 태그가 붙은 이력은 보존됩니다. 래퍼 변경으로 과거 메시지의 작성자가 판별되거나 이전 지침이 철회되는 것은 아닙니다. 여러 버전이 섞인 이력은 예전 태그만으로 분류할 수 없으며, 이러한 이력에서 설정 전환이 감지된다고 보장하지 않습니다. ## Codex 기본값 동기화 diff --git a/docs-site/src/content/docs/ko/reference/configuration/providers.md b/docs-site/src/content/docs/ko/reference/configuration/providers.md index 04b332d1591..fe5c25b1cbe 100644 --- a/docs-site/src/content/docs/ko/reference/configuration/providers.md +++ b/docs-site/src/content/docs/ko/reference/configuration/providers.md @@ -72,6 +72,10 @@ managed map을 활성화하면 privacy-safe selector를 만들고, 이후 계정 `openaiProviderTierVersion: 2`는 현재의 단일 공급자 투영을 표시합니다. 출시된 v1 설정을 마이그레이션하기 전에 opencodex는 `config.json.pre-openai-tiers-v2.bak`를 만들고, 기존에 다른 백업이 있더라도 덮어쓰지 않으며, 알려진 레거시 네임스페이스 지정 선택 id를 bare id로 다시 씁니다. +## 공급자 네임스페이스 별칭 + +공급자는 `google-antigravity`의 `agy`처럼 기본 축약 이름을 제공할 수 있습니다. 설정된 공급자 이름이나 명시적 별칭이 대소문자 구분 없이 그 이름을 사용하면, 다른 공급자의 기본 축약 이름은 카탈로그 표시와 별칭 라우팅 모두에서 비활성화됩니다. 예를 들어 `agy`라는 공급자를 설정하면 Google 모델은 `google-antigravity/`로 표시되고, `agy/`는 설정된 공급자를 선택합니다. 정식 공급자 이름은 계속 대소문자가 정확히 일치해야 하며, 인식되지 않는 접두사는 기존 모델 라우팅의 대체 경로를 따릅니다. + ## 공급자 항목 (`OcxProviderConfig`) | 필드 | 타입 | 의미 | diff --git a/docs-site/src/content/docs/ko/reference/management-api.md b/docs-site/src/content/docs/ko/reference/management-api.md index d7a54f9ff1e..7c89e9a19d6 100644 --- a/docs-site/src/content/docs/ko/reference/management-api.md +++ b/docs-site/src/content/docs/ko/reference/management-api.md @@ -253,6 +253,20 @@ OpenAI도 같은 규칙을 따르며, 스위치를 켠다고 별도의 922k 모 | `POST /api/codex-auth/login/cancel` | Codex 로그인 흐름을 취소합니다 | — | | `GET /api/codex-auth/login-status` | 흐름 또는 account 로그인 상태를 조회합니다. 새 계정 완료 시 복구가 필요할 때만 `catalogRefreshPending: true`를 포함합니다. | 알 수 없는 흐름은 `expired`로 보고되며, 활성 흐름이 없으면 `idle`로 보고됩니다 | +수동 소비가 `reset`으로 확인되면 같은 계정의 새 usage를 조회하여 기존 shared reset-derived +쿨다운을 즉시 복구할 수 있습니다. 복구는 조건부입니다. 계정이 일시 정지되었거나 재인증이 +필요하거나 다른 진행 중인 probe가 쿨다운을 소유하면 쿨다운은 유지됩니다. reset 이전에 시작한 +조회, 불완전하거나 소진된 usage, 신원이 바뀐 계정, 더 최근의 quota 실패로는 복구하지 않습니다. +오래된 main usage 응답은 더 최근에 반영한 관측을 덮어쓰지 않습니다. credential 갱신을 거쳤다면 +해당 인증에서 이어진 갱신인지 확인되어야 하며, 외부에서 교체된 credential은 같은 계정이어도 +복구 근거가 되지 않습니다. 명시적 `Retry-After`, Spark/Reserve 쿨다운, pause·pin·선택 +설정도 보존됩니다. `already_redeemed`와 저장된 결과 재생은 새 reset을 증명하지 않습니다. + +`reset` 또는 `already_redeemed`가 확인된 뒤 usage 조회가 실패하거나 바쁘더라도 소비 응답은 +HTTP 200과 원래 `code`를 유지합니다. 새 잔여 수를 얻지 못하면 `remaining`을 생략합니다. +이는 소비 결과의 확인이며 라우팅 가능 상태를 보장하지 않습니다. usage를 다시 조회하십시오. +usage 조회 실패를 재시도하기 위해 reset credit을 다시 소비하지 마십시오. + 새 account의 config row는 저장되었지만 credential setup을 완료하지 못하면 OAuth `login-status`는 `status: "error"`를 보고하며 `code: "codex_credential_persistence_failed"`, `accountId`, `needsReauth: true`, 필요한 경우 diff --git a/docs-site/src/content/docs/ko/reference/proxy-formats.md b/docs-site/src/content/docs/ko/reference/proxy-formats.md index 564357acec9..af5e31d7a27 100644 --- a/docs-site/src/content/docs/ko/reference/proxy-formats.md +++ b/docs-site/src/content/docs/ko/reference/proxy-formats.md @@ -19,6 +19,10 @@ Responses 표현이 이 연결의 중심입니다. 네이티브 호환 경로는 [Configuration](/reference/configuration/)에서 리스너와 admission 키를 설정하십시오. 하나의 공개 모델 id가 여러 대상 중 하나를 골라야 할 때는 [Combos](/guides/combos/)를 사용하십시오. +## 업스트림 리다이렉트 + +자격 증명을 포함하는 모델·이미지·동영상·검색 요청은 동일 출처를 포함한 HTTP 리다이렉트를 자동으로 따라가지 않습니다. 리다이렉트하는 별칭 대신 최종 업스트림 API URL을 설정하세요. 서버는 리다이렉트 대상으로 자격 증명이나 요청 본문을 다시 보내지 않습니다. 각 응답 처리 경로의 기존 오류·전달 동작은 유지되며, native Responses와 compact 경로는 원래 3xx와 `Location`을 클라이언트에 반환할 수 있습니다. 클라이언트의 리다이렉트 동작은 이 서버 전송 정책과 별개입니다. + ## 엔드포인트 개요 | 클라이언트 표면 | 엔드포인트 | 성공한 비스트리밍 결과 | 성공한 스트리밍 또는 소켓 결과 | @@ -310,16 +314,18 @@ loopback 전용 bind에서는 data-plane admission에 설정된 key가 필요하 | 표면 | Dedicated | Bearer | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP and WebSocket | 필요함 | proxy admission에서는 거부됨 | 거부됨 | -| `/v1/responses/compact` | 필요함 | proxy admission에서는 거부됨 | 거부됨 | -| `/v1/chat/completions` | 필요함 | proxy admission에서는 거부됨 | 거부됨 | +| `/v1/responses` HTTP and WebSocket | 허용됨 | 허용됨 | 거부됨 | +| `/v1/responses/compact` | 허용됨 | 허용됨 | 거부됨 | +| `/v1/chat/completions` | 허용됨 | 허용됨 | 거부됨 | | `/v1/messages`와 `/v1/messages/count_tokens` | 허용됨 | 허용됨 | 허용됨 | | `/v1/models` | 허용됨 | 허용됨 | 허용됨 | | `/v1/live`, `/v1/realtime/calls`, 및 sideband joins | 허용됨 | 허용됨 | 허용됨 | -Responses 계열과 Chat 요청은 `Authorization`을 provider 또는 Codex Direct passthrough용으로 예약하므로, remote -proxy key는 전용 헤더를 사용해야 합니다. Messages와 Realtime 표면은 더 넓은 클라이언트 호환성이 필요하므로 -세 가지 형식을 모두 허용합니다. +Responses 계열과 Chat 요청은 전용 헤더 또는 Bearer 필드의 프록시 키를 허용합니다. 네이티브 경로에서는 선택한 저장 Codex 자격 증명이 admission bearer를 대체하고, 다른 경로에서는 해당 bearer를 제거합니다. 프록시 키를 upstream 자격 증명으로 사용하지 않습니다. 별도의 provider bearer도 전달하려면 프록시 키는 전용 헤더에 넣으십시오. + +키가 없고 OAuth를 쓰지 않는 Cursor 경로는 별도의 호출자 bearer를 사용할 수 있지만, 프록시 secret이나 자동으로 보충한 ChatGPT main 인증은 사용할 수 없습니다. Combo/policy 선택과 실제 shadow/thread-spawn 경로 변경은 호출자의 원본 자격 증명을 새 대상으로 넘기지 않습니다. 정규 OpenAI 라우팅은 JWT에 ChatGPT 계정 claim이 포함되어 있고 명시적 계정 헤더가 있으면 그 claim과 일치하는 경우에만, 내부 경로 변경 후 프록시 키가 아닌 호출자의 단일 bearer를 복원할 수 있습니다. 선택적 OpenAI sidecar에 호출자 인증을 전달하려면 단일 JWT와 이에 일치하는 명시적 `chatgpt-account-id`가 필요합니다. Opaque bearer는 명시적 계정 헤더가 있어도 경로 변경을 거쳐 복원되지 않습니다. 그 외의 최종 대상에는 자체 설정·OAuth·저장 자격 증명이 필요하며, 없으면 로컬에서 실패합니다. thread-spawn 표지만 있고 경로가 바뀌지 않으면 자격 증명을 제거하지 않습니다. + +Claude replay는 해당 turn이 소유권을 확보한 main 인증만 메모리 snapshot으로 유지하며, 최종 대상이 정규 ChatGPT 경로일 때만 복원합니다. :::caution data-plane key는 management credential이 아닙니다. management API는 별도의 admin secret을 사용합니다. diff --git a/docs-site/src/content/docs/reference/adapters.md b/docs-site/src/content/docs/reference/adapters.md index 4853466c560..1d0383af162 100644 --- a/docs-site/src/content/docs/reference/adapters.md +++ b/docs-site/src/content/docs/reference/adapters.md @@ -133,11 +133,18 @@ collision-safe public function tool. Matching request history and JSON/SSE funct translated back to the private `tool_search` lifecycle for the client. Canonical OpenAI forward keeps the native private type unchanged. -For OpenCode Go at `https://opencode.ai/zen/go/v1`, requests with `authMode` other -than `"forward"` convert plaintext Codex `agent_message` items into public user messages, preserving content parts and readable author/recipient -metadata. This conversion leaves encrypted or unknown content unchanged and does not apply -to other destinations. Providers using `authMode: "forward"` retain these items unchanged. -See [Go agent messages](/reference/configuration/providers/#opencode-go-session-and-agent-messages) +Requests with `authMode` other than `"forward"` convert Codex `agent_message` +items containing nonempty arrays of supported plaintext parts into public user messages, preserving those parts and readable author/recipient +metadata. `agent_message` is private to the ChatGPT Codex backend, and the routed +destinations reported so far reject the entire body with +`422 unknown item type "agent_message"` — and because Codex replays sub-agent history on +every turn, that failure repeats for the rest of the thread. This conversion leaves +encrypted or unknown content unchanged. Providers using `authMode: "forward"` retain +these items unchanged. For xAI Responses on HTTPS `api.x.ai` or `cli-chat-proxy.grok.com` +using the standard port, a nonblank string child result is also converted into an `input_text` +part with its exact whitespace and newlines. Other destinations retain string-valued items; +blank strings and mixed encrypted/unknown parts are not partially converted. +See [agent messages](/reference/configuration/providers/#routed-agent-messages) for the separate opt-in encrypted-task recovery behavior. The canonical ChatGPT Codex forward destination also normalizes two public Responses shapes that diff --git a/docs-site/src/content/docs/reference/cli/agents.md b/docs-site/src/content/docs/reference/cli/agents.md index 3af72db1d48..29977e3a4b0 100644 --- a/docs-site/src/content/docs/reference/cli/agents.md +++ b/docs-site/src/content/docs/reference/cli/agents.md @@ -33,6 +33,27 @@ ocx agent sidecar web --list ocx agent sidecar web --model gpt-5.6-luna ``` +### `ocx effort [status|set|clear]` + +Inspect or change main and subagent reasoning-effort caps through the live proxy, or the local +configuration when no proxy is available. Cap values are `low`, `medium`, `high`, `xhigh`, `max`, +and `ultra`; `-` clears the selected cap. `none` and `minimal` are not cap levels and are rejected +before probing the proxy or submitting an update, including when another option in the same command is valid. +They remain valid for `--injection`, which sets the separate injection effort rather than a cap. + +```bash +ocx effort status --json +ocx effort set --main high --subagent low +ocx effort set --subagent - +``` + +Status preserves existing stored/runtime cap values and reports unsupported values in `warnings` +(an empty array when none are unsupported). The same warnings appear in human output and name the +field that is ignored with a correction command. Status never repairs or rewrites those values. +An ignored subagent field does not remove a valid main cap. `ocx effort clear` clears both caps +while retaining the separate injection-effort setting. See [Sub-agent surfaces](/guides/sub-agent-surface/) +for the request surfaces where caps apply. + ### `ocx v2 |keep-native-v1 |threads |mode-hint >` Manage the Codex `multi_agent_v2` feature flag and the three-state multi-agent surface mode. diff --git a/docs-site/src/content/docs/reference/cli/lifecycle.md b/docs-site/src/content/docs/reference/cli/lifecycle.md index 8235b63ead0..3eace3ef139 100644 --- a/docs-site/src/content/docs/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/reference/cli/lifecycle.md @@ -38,6 +38,19 @@ and only a stop running outside the proxy can verify that restart window before your client config — so the dashboard refuses with `respawnable_service`, changes nothing, and asks you to run `ocx stop`. +The dashboard also refuses when the proxy is running *as* the installed launchd or systemd +service. Stopping that manager from inside the proxy would terminate the process before +native Codex is restored, leaving your client config pointed at a proxy that is gone, so the +dashboard returns `self_unload_service`, changes nothing, and asks you to run `ocx stop` — +which stops the service from outside and completes the restore. + +A proxy exit alone does not confirm that shared Codex/Grok restoration succeeded. If the stop +response reports failure, is unreadable, or does not confirm the assigned teardown mode, the CLI +keeps restoration with the stopping parent after the existing ownership and respawn checks. +It does not enter the forced-stop fallback for a process already observed to have exited. A +receipt-backed deferral still leaves final restoration and receipt cleanup with the parent; +failure to restore shared client configuration keeps the stop failed and its receipt outstanding. + ### `ocx restart` When a proxy is running, ask that exact attested PID and port to restart in place, wait for its @@ -49,6 +62,11 @@ closed without an `ensure` or stop/start fallback. After confirming ownership, u `ocx start` for a standalone proxy. For a service-managed proxy, use `ocx stop` followed by `ocx service start` so supervision is restored. +Port recovery after stop or update respects a failed OCX process check even when the PID was +recorded before shutdown. A rejected live holder is left running and prevents TCP-row cleanup. +If it stays unverified, the bounded recovery wait can expire with the port still busy. Check the +current port holder and retry the restart after the conflict is resolved. + ### `ocx ensure` Idempotently ensure a background proxy is running, then sync its live model catalog. If @@ -59,6 +77,10 @@ Idempotently ensure a background proxy is running, then sync its live model cata Restore native Codex **without** stopping the proxy — strips the injected config lines and routed catalog entries so plain `codex` works natively again. `eject` is an alias of `restore`. +Restoration reports failure instead of replacing changed configuration files when a saved journal +lacks the corresponding injection hashes. The current files and journal remain available for +review; see [recovery without injection hashes](/guides/codex-integration/#recovery-without-injection-hashes). + Pass `back` to either spelling to re-point plain `codex` at an already-running proxy without changing the proxy lifecycle: @@ -77,6 +99,15 @@ changed to `openai`, `exec` is normalized to `cli`, and the event marker is set. legitimate dedicated-provider history. Back up the state and run it only when that full scope is intended. +### `ocx recover-history --ocx-compaction --yes` + +Repair one thread that was compacted through a routed provider before resuming it through native +Codex. The command reads the exact thread selected by UUID, saves a private byte-for-byte backup, +then converts only OpenCodeX-owned `ocx1:` compaction state into a plain summary that native Codex +can replay. Native encrypted content and other threads are left unchanged. Close the selected +thread before running the command; a concurrent rollout change makes recovery stop without +replacing the file. + ### `ocx uninstall` · `ocx remove` Stop the service and proxy, remove the service and Codex shim, restore native Codex, then remove @@ -214,6 +245,10 @@ and pending history migration. The Codex app-home targeting section also detects Orca runtime-home mismatch and explains service migration when applicable. Paths shown by this diagnostic redact the OS username. Doctor prints repair hints but does not apply them. +Project-config diagnostics ignore provider examples inside TOML multiline strings, including +`developer_instructions`. Real provider and profile settings after the closing delimiter are still +checked, even when an escaped quote immediately precedes that delimiter. + The **OAuth reliability** section reports whether credential storage is writable, whether refresh single-flight/lock files can be created under `OPENCODEX_HOME`, non-healthy OAuth or Codex pool accounts (redacted ids) with a recovery `Action:`, and a static OK that the Codex forward path does @@ -440,36 +475,43 @@ ocx codex-shim status ocx codex-shim uninstall ``` +:::note[Windows token environment] +Newly generated Windows CMD and PowerShell shims restore the caller's `OPENCODEX_API_AUTH_TOKEN` after execution. Codex and its child processes can still inherit the token. + +After updating OpenCodex, recreate an existing Windows shim with `ocx codex-shim uninstall` followed by `ocx codex-shim install` to obtain this behavior. An ordinary update does not rewrite a healthy Windows shim. +::: + :::tip[Service vs Shim] Use `ocx service` for an always-on background proxy (recommended). Use `ocx codex-shim` for lightweight, on-demand startup without a daemon — the proxy starts only when `codex` is launched. ::: -#### Token injection without the shim +#### Token injection into Codex On a non-loopback bind the injected provider carries `env_key = "OPENCODEX_API_AUTH_TOKEN"`. That line tells Codex which variable to read; it does not create it. Codex refuses to start a request when the variable is missing (`Missing environment variable: OPENCODEX_API_AUTH_TOKEN`), and the -proxy is never reached. The value lives in `$OPENCODEX_HOME/service-api-token`; only a process that -exports it into Codex's environment closes the gap. +proxy is never reached. The value lives in `$OPENCODEX_HOME/service-api-token`; the launching process +must supply it in Codex's environment. -What does carry the token into a Codex process: +Use the maintained shim installed by `ocx codex-shim install`. When the launching context resolves +this shim, it reads the token file created by OpenCodex and supplies the variable to Codex. +Desktop, cron, and service launches must use a PATH or launcher path that selects the shim; +installation does not configure those environments automatically. Codex's own child processes +may still inherit the token. -- the shim installed by `ocx codex-shim install` (reads the token file at launch; the supported path - for Codex started from shells, Desktop, cron, or another service); -- exporting `OPENCODEX_API_AUTH_TOKEN` yourself in the process that starts Codex — a shell profile, - the cron line, or an `Environment=`/`EnvironmentFile=` on the systemd unit that launches - **Codex** (not the proxy). Point it at the existing token file; do not copy the value into - `config.toml`. +Do not export this bearer token from a shell startup file or copy it into `config.toml`. The +`service-api-token` file contains the raw token, not `NAME=value` assignments, so it cannot be used +directly as a systemd `EnvironmentFile=`. -What does not: an `EnvironmentFile=` or `OCX_API_TOKEN_FILE` on `opencodex-proxy.service`. Those -configure the proxy process only and never flow into an independently launched `codex exec`. +An `EnvironmentFile=` or `OCX_API_TOKEN_FILE` on `opencodex-proxy.service` configures the proxy process +only and never flows into an independently launched `codex exec`. A Codex upgrade that replaces the launcher removes the shim; the next ordinary `ocx` command restores it (see above), but a `codex exec` that runs before that fails. `ocx doctor` reports this exact state under "Codex env_key launch readiness" (env_key configured, variable unset, shim missing or unhealthy, token file present) with the repair command, and never prints the token. Reading the token -file directly from Codex is not something Codex supports, so there is no OpenCodex directive for it. +file is not part of the injected `env_key` contract; the launching process must supply that variable. ### `ocx tray [--json] [--no-start]` diff --git a/docs-site/src/content/docs/reference/cli/providers-accounts.md b/docs-site/src/content/docs/reference/cli/providers-accounts.md index 223a825dc8e..384dfe0ed50 100644 --- a/docs-site/src/content/docs/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/reference/cli/providers-accounts.md @@ -154,6 +154,12 @@ by default. This protects new requests using the identified main account, not th already-running requests, unmatched caller-owned keyring credentials, and traffic outside the proxy can still spend quota. Added accounts and other providers remain available. +With protection enabled, an owned startup restores the main credential's in-memory identity +binding after native-profile recovery and cleanup, so a persisted 99% block survives a restart. +Caller-owned Direct, exact-main, main-fallback, and main-pin requests can briefly receive 503 +while that binding is pending; healthy stored Pool accounts stay eligible throughout. No +credential is read from a foreign or unconfirmed service home for this initialization. + While this policy blocks main, Luna Reserve on that account is blocked too. Staying below ordinary quota exhaustion may prevent Reserve activation. Disabling the switch restores normal local handling, not additional upstream entitlement. Use the account quota refresh action to obtain a @@ -440,6 +446,14 @@ security find-generic-password -w openrouter | ocx account add-key openrouter -- Inspect Codex reset credits for an account. Consuming a credit is destructive and requires both `--consume` and `--yes`. +After a confirmed `reset`, fresh usage can recover the same account's eligible existing +shared reset-derived cooldown. Paused accounts, accounts needing reauthentication and +cooldowns owned by an in-flight probe remain excluded from this recovery. A failed or busy +usage refresh after confirmed consumption does not require another credit: check usage +again instead of repeating `--consume`. Consume success does not guarantee routability; +see the [management API recovery contract](/reference/management-api/#codex-authentication-delegation) +for reset/replay, freshness and scope limits. + ### `ocx account main ` Manage named native Codex main-login profiles without changing OpenCodex account-pool routing: diff --git a/docs-site/src/content/docs/reference/configuration/agents.md b/docs-site/src/content/docs/reference/configuration/agents.md index 1296e0ced13..0435a439b53 100644 --- a/docs-site/src/content/docs/reference/configuration/agents.md +++ b/docs-site/src/content/docs/reference/configuration/agents.md @@ -49,20 +49,33 @@ Mode changes apply to new sessions. `maxConcurrentThreadsPerSession` is a `PUT / `config.json` key; `ocx v2 threads ` writes `max_concurrent_threads_per_session` under `[features.multi_agent_v2]` in Codex's `$CODEX_HOME/config.toml` after v2 is enabled. -**Ultra mode** (the Subagents dashboard toggle, `PUT /api/v2` field -`multiAgentModeHintText`, and `ocx v2 mode-hint`) writes +**Always proactive delegation** in Subagents → Advanced (formerly **Ultra mode**) changes the +delegation trigger without changing reasoning effort. Its preset preserves user instructions, +authority boundaries, task scope, and tool rules. The dashboard toggle, `PUT /api/v2` field +`multiAgentModeHintText`, and `ocx v2 mode-hint` write `features.multi_agent_v2.multi_agent_mode_hint_text` in Codex's `$CODEX_HOME/config.toml`. The CLI `ocx v2 mode-hint` command persists this key even -when `multi_agent_v2` is disabled; it does not toggle the feature. The hint overrides -codex-rs's effort-derived multi-agent policy, so any model and any reasoning effort -receives the Proactive delegation prompt; it does **not** change reasoning effort. +when `multi_agent_v2` is disabled; it does not toggle the feature. The hint replaces +codex-rs's effort-derived multi-agent policy when that native surface is active. A `null` value removes the key so the effort-derived policy (ultra = proactive, otherwise explicit) resumes; empty or whitespace-only values are rejected because a present empty override would suppress even the ultra-derived Proactive message. The -Subagents dashboard's Ultra mode **on** toggle requires both the native feature and +Subagents dashboard's **Always proactive delegation** toggle requires both the native feature and an explicit v2 surface (`multiAgentMode: "v2"`, equivalent to `ocx v2 mode v2`); `ocx v2 on` alone does not satisfy that dashboard gate. +`GET` and `PUT /api/v2` also return `multiAgentModeHintRecommendation: { text, revision }`. +The dashboard uses this server-provided text when enabling or restoring the preset, with no +hardcoded fallback. If an older server omits the recommendation or returns a malformed value, +preset installation and restoration are unavailable; editing or clearing an existing custom hint +remains available. **Restore preset** changes only the local draft; **Save** persists it. + +Reading settings, unrelated updates, and upgrades do not migrate a stored hint. Only an explicit +hint update that matches either of the two recognized legacy OpenCodex presets byte-for-byte is +replaced with the current recommendation. Other valid custom text, including whitespace variants, +is preserved byte-for-byte. Mode-hint support is still checked before writing, and changes apply +to new Codex sessions. + The management API exposes `GET`/`PUT /api/v2`, `/api/injection-model`, `/api/effort-caps`, `/api/subagent-models`, `/api/subagent-roles`, and `/api/subagent-model-fallback`. Injection-model updates are partial; the custom prompt is the `prompt` field on that API. Role catalog updates are a full replace, or @@ -148,9 +161,9 @@ loudly when the installed Codex build does not know the flag yet. ## Roster and guidance The effective v2 roster is the configured, picker-visible, priority-sorted first five models that -are compatible with v2 and present in the injected catalog. V2 eligibility treats an explicit `"v2"`, -`null`, or absent upstream pin as eligible; a real `"v1"` pin is excluded. Excluded entries remain in -configuration so they can become eligible later. +are present in the injected catalog and are not explicitly marked `"disabled"`. An explicit `"v2"` +pin supports recursive workers; `"v1"`, `null`, and absent pins remain eligible as leaf workers. +Excluded entries remain in configuration so they can become eligible later. Surface detection uses tool shape. A namespaced `spawn_agent` with `send_input`, `resume_agent`, or `close_agent` is v1. A flat `spawn_agent` with `send_message`, `followup_task`, `interrupt_agent`, or @@ -161,9 +174,19 @@ message only when a preferred model, eligible roster, or fallback chain exists. has a 700-character budget and drops the roster first if necessary. Guidance is deduplicated across replay prefixes and inserted before a trailing `compaction_trigger`. -`injectionModel` and `injectionEffort` are advisory unless native-default sync is enabled. The built-in -v2 text asks Codex to pass supported model/effort overrides to `spawn_agent` with -`fork_turns: "none"`. A custom `injectionPrompt` substitutes missing values with an empty string. +Both built-in v2 subagent guidance and custom `injectionPrompt` bodies use +``, separate from Codex's native `` messages. +Built-in text reports the resolved preferred model, roster, and fallback chain without prescribing +delegation, model overrides, or `fork_turns`. Custom bodies retain their placeholder substitution +and content. `injectionModel` and `injectionEffort` remain advisory unless native-default sync is +enabled; missing custom placeholder values are still replaced with an empty string. + +Replay deduplication compares the latest exact text in each tag family. When both values use the +new proxy family, switching custom guidance back to the built-in form appends the current value; +intervening native mode changes do not duplicate unchanged proxy guidance. Existing native and +legacy-tagged history is preserved. This wrapper change does not identify the author of old +messages or revoke prior instructions. Mixed-version histories cannot be classified from the +legacy tag alone, and transition detection across such histories is not guaranteed. ## Native Codex default sync diff --git a/docs-site/src/content/docs/reference/configuration/providers.md b/docs-site/src/content/docs/reference/configuration/providers.md index 9a7a1f2e8ff..78d938fe17b 100644 --- a/docs-site/src/content/docs/reference/configuration/providers.md +++ b/docs-site/src/content/docs/reference/configuration/providers.md @@ -116,11 +116,15 @@ published long-context bands on `openai` and `openai-apikey`. The two Daybreak B follow the Sol API reference. These are comparison estimates, not invoices or credit-balance predictions. Explicit provider/model price overrides still take precedence. +## Provider namespace aliases + +Providers can expose a built-in shorthand, such as `agy` for `google-antigravity`. A configured provider name or explicit alias claims that shorthand case-insensitively; a different provider's built-in shorthand is then suppressed in both catalog names and alias routing. For example, configuring a provider named `agy` keeps Google's models under `google-antigravity/`, while `agy/` selects the configured provider. Canonical provider names still require an exact case match, and unrecognized prefixes retain the existing model-routing fallback. + ## Provider entries (`OcxProviderConfig`) | Field | Type | Meaning | | --- | --- | --- | -| `adapter` | `string` | One of `openai-chat`, `openai-responses`, `anthropic`, `google`, `kiro`, `cursor`, `ollama-native`, `azure-openai` (or alias `azure`). | +| `adapter` | `string` | One of `openai-chat`, `openai-responses`, `anthropic`, `google`, `kiro`, `cursor`, `ollama-native`, `azure-openai` (or alias `azure`), `codebuddy`, `qoder`. | | `baseUrl` | `string` | Upstream API base URL. Most built-in fixed endpoints ignore a mismatch; collision-safe key presets preserve an older same-named custom destination. | | `requestPacing?` | `{ enabled, requestsPerMinute?, minIntervalMs?, jitterMs?, models? }` | Optional client-side outbound request-start pacing, separate from upstream usage, billing, and rate-limit indicators. RPM is converted to an even interval; `minIntervalMs` may impose a longer interval; `jitterMs` adds only a positive random delay (0–60,000 ms). Provider limits apply across all models, while `models` entries use exact upstream model IDs and can only add delay. Queue waits do not consume the upstream response-header timeout. HTTP, Responses WebSocket, and explicit adapter `fetchResponse`/`runTurn` dispatches are covered. | | `tlsProfile?` | `"antigravity-browser"` | Explicit, experimental Antigravity-only TLS/HTTP2 compatibility profile. It requires Google OAuth Cloud Code Assist and canonical Antigravity hosts. It is unofficial, does not ensure Terms-of-Service compliance or prevent suspension, may make traffic more distinctive, and falls back to Bun if initialization fails. OAuth/token/onboarding traffic remains on standard Bun TLS. Prefer official Gemini API-key, Vertex, or documented Code Assist routes when policy safety matters. | @@ -950,6 +954,32 @@ ids with context `922000` and max input `922000`; OpenRouter seeds `openai/gpt-5 } ``` +## OpenCode Go Responses compatibility + +On non-forward requests whose resolved endpoint is `https://opencode.ai/zen/go/v1/responses`, OpenCodex moves +Codex's `additional_tools` input declarations into top-level `tools` after tool and namespace +normalization. Supported hosted tools are preserved until model-specific filtering; malformed +wrappers remain unchanged. This does not discard ciphertext or unknown agent-message content. +The check uses the final URL, so endpoint-inclusive base URLs and split `baseUrl`/`responsesPath` +configurations receive the same behavior. A custom path resolving elsewhere does not. + +The canonical `opencode-go` preset defaults to `statelessResponses: true`: requests use explicit +history with `store: false`, without `previous_response_id`, `conversation`, `background`, +`metadata`, or stored `prompt` references. This avoids Go's rejection of reasoning ciphertext +combined with `previous_response_id`. The continuation cache records reasoning in the same +representation returned to the client, including the visible content-to-summary rewrite, so +echoing full history with `previous_response_id` does not duplicate that history. Hidden-summary +requests and opaque reasoning blobs retain their existing representation. Cache hits can also +supply earlier history for delta continuations; +after a cache miss, resend the complete conversation without `previous_response_id`. Stateless +repair labels orphan results and missing tool results; it cannot reconstruct lost history or +prove whether a missing tool execution succeeded. + +An explicit `statelessResponses: false` is preserved. Existing canonical preset configurations +receive the default only when the setting is absent; custom renamed entries keep their configured +value and do not acquire this default by destination matching. Chat model routes keep their +existing protocol. The stateless flag does not force Responses streaming into JSON. + ## OpenCode Go reasoning efforts Go catalog rows preserve their configured reasoning efforts exactly, including during @@ -969,14 +999,21 @@ their previous behavior. See the [ordering migration note](/guides/model-ordering/#migration-note-native-ids-in-existing-orders). `modelDisplayNames` on a provider controls readable labels without changing wire ids. -## OpenCode Go session and agent messages +## Routed agent messages -With the [`openai-responses` adapter](/reference/adapters/#openai-responses) and -base URL `https://opencode.ai/zen/go/v1`, plaintext Codex `agent_message` items -become user messages when `authMode` is not `"forward"` (for example, `"key"`). -Providers using `authMode: "forward"` retain these items unchanged. This conversion is scoped to that destination, including -renamed provider entries; other Responses destinations keep their input unchanged. +With the [`openai-responses` adapter](/reference/adapters/#openai-responses), Codex +`agent_message` items containing nonempty arrays of supported plaintext parts become user messages when `authMode` is not `"forward"` +(for example, `"key"`). Providers using `authMode: "forward"` retain these items unchanged. +`agent_message` is private to the ChatGPT Codex backend, and the routed destinations +reported so far answer the whole request with +`422 unknown item type "agent_message"`; Codex replays sub-agent history on every +subsequent turn, so the thread keeps failing until the item is converted. Author and recipient remain explicit text metadata, and the content parts are preserved. +For HTTPS `api.x.ai` and `cli-chat-proxy.grok.com` on the standard port, non-forward +Responses dispatch also accepts a nonblank string child result and turns it into one +`input_text` part. The original string, including leading/trailing whitespace and newlines, +is preserved. Other destinations keep string-valued agent messages unchanged. Empty or +whitespace-only strings remain unchanged, as do incomplete and mixed encrypted/unknown shapes. Encrypted and unknown content is not normalized; native encrypted tasks still require the separate opt-in [task recovery](/reference/configuration/agents/#encrypted-v2-task-recovery). @@ -994,6 +1031,6 @@ current tail message (ignoring trailing `compaction_trigger` or `additional_tool It does not batch-recover unseen historical messages; those remain unchanged. A cache miss or expiry does not extend the history-recovery contract. -Sender and recipient on Go Responses are context for the receiving model, not a new +Sender and recipient on routed Responses are context for the receiving model, not a new machine-readable routing protocol. Tool routing continues to use the existing collaboration contracts. diff --git a/docs-site/src/content/docs/reference/configuration/server.md b/docs-site/src/content/docs/reference/configuration/server.md index 1a123fd6c17..80d8eea6db8 100644 --- a/docs-site/src/content/docs/reference/configuration/server.md +++ b/docs-site/src/content/docs/reference/configuration/server.md @@ -28,7 +28,8 @@ runs helper features around provider requests. | `codexAutoStart?` | `boolean` | `true` | Let the Codex shim run `ocx ensure` before launching Codex. False makes ensure a no-op. | | `codexShimAutoRestore?` | `boolean` | `true` | Restore an installed shim after a completed external Codex update replaces it. Environment opt-out: `OPENCODEX_CODEX_SHIM_AUTO_RESTORE=0`. | | `codexDesktopAuthless?` | `boolean` | `false` | Opt-in authless Codex Desktop routing on a loopback bind: inject the dedicated `opencodex` provider with `requires_openai_auth = false` so Desktop opens without a ChatGPT login. Ignored on non-loopback binds. `ocx system settings --desktop-authless on`. See [Codex integration](/guides/codex-integration/#authless-codex-desktop-opt-in). | -| `resetCreditAutoRedeem?` | `{ enabled?: boolean; leadTimeMinutes?: number }` | off | Opt-in: redeem the main Codex account's soonest-expiring reset credit `leadTimeMinutes` (1–60, default 10) before it expires. Every attempt re-reads the upstream credit list first and skips when the credit is gone (for example, redeemed by hand); the `redeem_request_id` is journaled in `$OPENCODEX_HOME/reset-credit-auto-redeem.json` before the call so a crash replays the same idempotent request instead of spending a second credit. Logs carry a hashed account key only. | +| `codexClientCompaction?` | `boolean` | `false` | Opt into Codex client-side compaction on an authenticated loopback bind. Uses the dedicated `opencodex` provider identity with `requires_openai_auth = true`, preventing new routed compactions from storing OpenCodeX-owned `ocx1:` state. `codexDesktopAuthless` takes precedence when both are enabled and keeps `requires_openai_auth = false`. V2 sub-agent routing is unchanged. `ocx system settings --client-compaction on`. See [Codex integration](/guides/codex-integration/#client-side-compaction-opt-in). | +| `resetCreditAutoRedeem?` | `{ enabled?: boolean; leadTimeMinutes?: number }` | off | Opt-in: redeem the main Codex account's soonest-expiring reset credit `leadTimeMinutes` (1–60, default 10) before it expires. Every attempt re-reads the upstream credit list first and skips when the credit is gone (for example, redeemed by hand); the `redeem_request_id` is journaled in `$OPENCODEX_HOME/reset-credit-auto-redeem.json` before the call so a crash replays the same idempotent request instead of spending a second credit. Servers sharing this configuration directory coordinate reservations and settlements so one process does not replace another's request record. Logs carry a hashed account key only. | | `syncResumeHistory?` | `boolean` | `true` | Reversible Codex App history compatibility. Original metadata is backed up and restored by `ocx stop` / `ocx restore`. | | `shadowCallIntercept?` | `{ enabled?: boolean; model?: string; sourceModels?: string[] }` | off | Redirect recognized Codex helper/shadow calls to a chosen model while preserving the request's configured reasoning effort. The default source prefix is `gpt-5.6-luna`; older clients through 0.144.x used `gpt-5.4-mini`, which `sourceModels` can restore. | | `webSearchSidecar?` | `OcxWebSearchSidecarConfig` | on when usable | Web-search sidecar options. | diff --git a/docs-site/src/content/docs/reference/management-api.md b/docs-site/src/content/docs/reference/management-api.md index 60b945871e8..6c301ec8bf5 100644 --- a/docs-site/src/content/docs/reference/management-api.md +++ b/docs-site/src/content/docs/reference/management-api.md @@ -461,7 +461,7 @@ whether to star the repository. | --- | --- | --- | | `GET /api/system/memory` | Return scalar process, heap, stream, response-state, watchdog, and active-turn metrics. Response-state diagnostics include spill-write status, consecutive failures, fixed privacy-safe failure class, and last failure/success timestamps. `spillLastWriteFailureOrigin` is `retry_returned_timeout`, `timeout_memo_refusal`, or null; cumulative `spillAclRetryReturnedTimeouts` and `spillAclTimeoutMemoRefusals` count terminal failed publications. See [Windows spill diagnostics](/troubleshooting/windows-memory/) for process-local semantics. Raw errors and paths are never returned. | — | | `POST /api/system/restart` | Begin a drain-aware process restart without removing client injection | Returns 202; repeated calls report the existing drain | -| `POST /api/stop` | Stop the service, restore native Codex, remove managed Grok injection, and drain the proxy | 409 service ownership conflict; 409 `respawnable_service` when a Windows Task Scheduler wrapper could respawn the proxy and the caller is not `ocx stop` (nothing is changed); 409 when the installed manager refuses to stop; 409 `service_state_unknown` when the Task Scheduler state cannot be read (nothing is changed; repair the query and retry) | +| `POST /api/stop` | Stop the service, restore native Codex, remove managed Grok injection, and drain the proxy | 409 service ownership conflict; 409 `respawnable_service` when a Windows Task Scheduler wrapper could respawn the proxy and the caller is not `ocx stop` (nothing is changed); 409 `self_unload_service` when this proxy is running as the installed launchd/systemd service, because stopping the manager from inside it would end the process before native Codex is restored — run `ocx stop` instead (nothing is changed); 409 when the installed manager refuses to stop; 409 `service_state_unknown` when the Task Scheduler state cannot be read (nothing is changed; repair the query and retry) | | `GET /api/system/codex-app-server` | Report whether running Codex app-servers predate the current model catalog | — | | `POST /api/system/codex-restart` | Refresh the catalog, then ask stale Codex app-servers to exit so the model picker reloads | Returns 200 with `code: partially_stopped` when a target survives | @@ -499,6 +499,31 @@ manager. Its routes are: | `POST /api/codex-auth/login/cancel` | Cancel a Codex login flow | — | | `GET /api/codex-auth/login-status` | Poll a flow or account login state. A completed new-account flow includes `catalogRefreshPending: true` only when recovery is needed. | Unknown flows report `expired`; no active flow reports `idle` | +For reset-credit consumption, a different `operationId` supplied while the same physical +account has an unfinished operation joins that operation as an alias. Its retry uses the +original upstream request ID and records the outcome under that same identity, so later +requests with the original ID or a known alias replay the stored result without another +consume request. A previously unseen ID supplied after settlement starts a new explicit +redemption; clients retrying an existing action should keep its ID. + +After a confirmed manual `reset`, OpenCodex checks fresh usage for that same account +and can reconcile its eligible pre-existing shared reset-derived cooldown immediately. +Paused accounts, accounts requiring reauthentication and cooldowns already owned by an +in-flight probe remain excluded from this recovery; their cooldowns are retained. Usage +started before the reset, incomplete or exhausted usage, a changed account, and a newer +quota failure do not qualify. Older main-account usage responses cannot replace a newer +published observation. If usage needs credential refresh, recovery requires that refresh's +confirmed lineage; an externally replaced credential does not qualify merely because it +belongs to the same account. Explicit `Retry-After`, Spark/Reserve cooldowns, pause +settings, pins and the selected account are preserved. `already_redeemed` and durable +replay do not prove a new reset and do not gain this recovery behavior. + +A failed or busy usage refresh after a confirmed `reset` or `already_redeemed` does not +turn the completed consumption into an error: the response remains HTTP 200 with its +consume `code`, omitting `remaining` when no fresh count was obtained. This response +confirms the consume outcome, not that the account is now routable. Refresh usage to +check availability; do not consume another credit to retry a failed usage refresh. + If a new account config row is saved but credential setup cannot finish, OAuth `login-status` reports `status: "error"` with `code: "codex_credential_persistence_failed"`, `accountId`, `needsReauth: true`, and optional diff --git a/docs-site/src/content/docs/reference/proxy-formats.md b/docs-site/src/content/docs/reference/proxy-formats.md index b1c4f9e70f0..6ca52f905a4 100644 --- a/docs-site/src/content/docs/reference/proxy-formats.md +++ b/docs-site/src/content/docs/reference/proxy-formats.md @@ -20,6 +20,10 @@ response safety still happen at the proxy boundary. Configure the listener and a [Configuration](/reference/configuration/); use [Combos](/guides/combos/) when one public model id should select among several targets. +## Upstream redirects + +Credential-bearing model, image, video, and search requests do not automatically follow HTTP redirects, including same-origin redirects. Configure the final upstream API URL instead of a redirecting alias. A redirect does not cause the server to resend credentials or the request body to its destination. The response owner retains its existing error or relay behavior; native Responses and compact routes can return the original 3xx and `Location` to the client. Client redirect behavior is separate from this server transport policy. + ## Endpoint overview | Client surface | Endpoint | Successful non-stream result | Successful stream or socket result | @@ -520,16 +524,18 @@ use the matrix below. “Dedicated” means `X-OpenCodex-API-Key`; the other col | Surface | Dedicated | Bearer | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP and WebSocket | Required | Rejected for proxy admission | Rejected | -| `/v1/responses/compact` | Required | Rejected for proxy admission | Rejected | -| `/v1/chat/completions` | Required | Rejected for proxy admission | Rejected | +| `/v1/responses` HTTP and WebSocket | Accepted | Accepted | Rejected | +| `/v1/responses/compact` | Accepted | Accepted | Rejected | +| `/v1/chat/completions` | Accepted | Accepted | Rejected | | `/v1/messages` and `/v1/messages/count_tokens` | Accepted | Accepted | Accepted | | `/v1/models` | Accepted | Accepted | Accepted | | `/v1/live`, `/v1/realtime/calls`, and sideband joins | Accepted | Accepted | Accepted | -Responses-family and Chat requests reserve `Authorization` for provider or Codex Direct -passthrough, so a remote proxy key must use the dedicated header. Messages and Realtime surfaces -need broader client compatibility and therefore accept all three forms. +Responses-family and Chat requests accept a proxy key in the dedicated header or Bearer field. On native routes, the selected stored Codex credential replaces the admission bearer; on other routes it is removed. It is never an upstream credential. Use the dedicated header when also supplying a separate provider bearer. + +A keyless, non-OAuth Cursor route may use that separate caller bearer, but never a proxy secret or automatic ChatGPT-main enrichment. Combo/policy selection and actual shadow/thread-spawn rewrites do not transfer raw caller credentials to new targets. Canonical OpenAI routing can restore the caller’s single non-proxy bearer after an internal route change only when its JWT carries a ChatGPT account claim and any explicit account header matches that claim. Forwarding caller authentication to optional OpenAI sidecars requires a single JWT and a matching explicit `chatgpt-account-id`. Opaque bearers are not restored across route changes, even with an explicit account header. Otherwise, the final target needs its own configured, OAuth, or stored credential; otherwise it fails locally. A thread-spawn marker alone does not strip credentials. + +Claude replay retains main auth only as a turn-claimed in-memory snapshot and reconstructs it only for a final canonical ChatGPT route. :::caution Data-plane keys are not management credentials. The management API uses a separate admin secret; diff --git a/docs-site/src/content/docs/ru/guides/codex-integration.md b/docs-site/src/content/docs/ru/guides/codex-integration.md index 23581e56f67..01e4d8003da 100644 --- a/docs-site/src/content/docs/ru/guides/codex-integration.md +++ b/docs-site/src/content/docs/ru/guides/codex-integration.md @@ -379,10 +379,9 @@ Responses item'ов (`input: [{ type: "message", ... }]`), ждёт `response.co ## Восстановление нативного Codex -opencodex не запирает вас внутри себя. **`ocx stop` — это единственная команда, которая полностью -возвращает нативный Codex**: она останавливает прокси, останавливает фоновую службу, если она -установлена, и убирает все внедрённые строки и маршрутизируемые записи каталога, так что обычный -`codex` снова работает так, будто opencodex никогда не существовал: +`ocx stop` останавливает прокси и установленную фоновую службу, затем пытается восстановить нативный Codex. OpenCodex удаляет настройки маршрутизации, принадлежность которых может подтвердить, и сообщает о неполном восстановлении, если файлы конфигурации нельзя безопасно восстановить. + +Если текущая конфигурация или профиль отличаются от сохранённого оригинала, а журнал не содержит хеша внедрённого состояния этого файла, автоматическое восстановление сохраняет оба файла и журнал без изменений. Файл, уже совпадающий с оригиналом, не перезаписывается. Повторное внедрение в настроенную для прокси конфигурацию также отклоняет такое неподтверждённое состояние; нативная конфигурация может создать новый снимок. См. [правила восстановления](/guides/codex-integration/#recovery-without-injection-hashes). ```bash ocx stop # stop the proxy + service, restore native Codex diff --git a/docs-site/src/content/docs/ru/guides/sub-agent-surface.md b/docs-site/src/content/docs/ru/guides/sub-agent-surface.md index 13d3d04866a..ccf1036a72d 100644 --- a/docs-site/src/content/docs/ru/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/ru/guides/sub-agent-surface.md @@ -80,8 +80,9 @@ guidance-сообщений, которые opencodex пишет сам, на о `injectionModel` достаточно, чтобы отобразить пользовательский prompt; если значение без селектора нельзя разрешить однозначно, `{{model}}` заменяется пустой строкой. -На v1 opencodex внедряет только upstream-style proactive guidance о делегировании на уровнях -effort `max` или `ultra`. Предпочитаемую модель, ростер, fallback list и custom prompt на v1 он +На v1 opencodex внедряет тот же текст о проактивном делегировании, что и рекомендуемый пресет v2, только на уровнях effort `max` или `ultra`. +Меняется только условие запуска: отдельный запрос на делегирование не требуется; инструкции пользователя, полномочия, рамки задачи и правила инструментов совместной работы остаются в силе. +Предпочитаемую модель, ростер, fallback list и custom prompt на v1 он не добавляет. Опция `syncCodexSubagentDefaults`, выключенная по умолчанию, отделена от guidance. Когда diff --git a/docs-site/src/content/docs/ru/reference/adapters.md b/docs-site/src/content/docs/ru/reference/adapters.md index 895f514f726..d2d67c022a9 100644 --- a/docs-site/src/content/docs/ru/reference/adapters.md +++ b/docs-site/src/content/docs/ru/reference/adapters.md @@ -94,10 +94,20 @@ interface ProviderAdapter { ## `openai-responses` -**Назначение:** OpenAI **Responses API**. **`passthrough: true`** — пересылает исходное тело -запроса и стримит ответ обратно **без преобразования**. +**Назначение:** OpenAI **Responses API**. **`passthrough: true`** — пересылает тело +запроса и ответ с преобразованиями совместимости для выбранного провайдера. **Аутентификация:** `forward` (ретрансляция заголовков вызывающей стороны) или `key`. +При `authMode`, отличном от `"forward"`, элементы Codex `agent_message` с непустым +массивом поддерживаемых открытых частей преобразуются в обычные сообщения пользователя. +Содержимое и читаемые поля author/recipient сохраняются. Для HTTPS `api.x.ai` и +`cli-chat-proxy.grok.com` на стандартном порту также поддерживается непустой строковый +результат дочерней задачи: он становится частью `input_text` без удаления пробелов и +переносов строк. Другие адреса сохраняют строковые элементы без изменений. Пустые строки, +зашифрованное содержимое и смешанные массивы с неизвестными или зашифрованными частями +не преобразуются частично. При `authMode: "forward"` элементы `agent_message` остаются +без изменений. + При `key`-аутентификации [`retryOn429`](/ru/reference/configuration/) действует и здесь: 429 до начала потока ждёт и, до любой другой обработки или фейловера, повторяет идентичный запрос на том же ключе, как и в переводимом пути `openai-chat`/Anthropic. Пользовательские транспорты diff --git a/docs-site/src/content/docs/ru/reference/cli/lifecycle.md b/docs-site/src/content/docs/ru/reference/cli/lifecycle.md index cefa6e33802..1979996f969 100644 --- a/docs-site/src/content/docs/ru/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/ru/reference/cli/lifecycle.md @@ -78,6 +78,10 @@ ocx eject back устанавливается. Корректная история выделенного провайдера тоже входит в охват. Сначала сделайте резервную копию и запускайте команду только если нужен весь этот охват. +### `ocx recover-history --ocx-compaction --yes` + +Исправьте историю одной задачи, сжатой через маршрутизируемого провайдера, перед её возобновлением в нативном Codex. Команда выбирает ровно одну задачу по UUID, сначала сохраняет приватную побайтовую резервную копию, а затем преобразует только принадлежащее OpenCodeX состояние сжатия `ocx1:` в обычную сводку, которую может воспроизвести нативный Codex. Нативное зашифрованное содержимое и другие задачи не изменяются. Перед запуском закройте выбранную задачу; если rollout изменится во время обработки, восстановление остановится без замены файла. + ### `ocx uninstall` · `ocx remove` Остановить службу и прокси, удалить службу и Codex shim, восстановить native Codex, а затем @@ -313,12 +317,30 @@ ocx codex-shim status ocx codex-shim uninstall ``` +:::note[Окружение токена в Windows] +Новые обёртки для Windows CMD и PowerShell восстанавливают исходное состояние `OPENCODEX_API_AUTH_TOKEN` в вызывающей оболочке после выполнения. Codex и его дочерние процессы по-прежнему могут унаследовать токен. + +После обновления OpenCodex пересоздайте существующую обёртку Windows командами `ocx codex-shim uninstall`, затем `ocx codex-shim install`, чтобы применить это поведение. Обычное обновление не перезаписывает исправную обёртку Windows. +::: + :::tip[Service vs Shim] Используйте `ocx service` для всегда работающего фонового прокси (рекомендуется). Используйте `ocx codex-shim` для лёгкого on-demand запуска без демона — в этом случае прокси стартует только когда запускается `codex`. ::: +#### Передача токена в Codex + +При привязке к адресу, отличному от loopback, внедрённый провайдер содержит `env_key = "OPENCODEX_API_AUTH_TOKEN"`. Эта строка указывает Codex, какую переменную читать, но не создаёт её. Если переменная отсутствует, Codex отказывается начинать запрос (`Missing environment variable: OPENCODEX_API_AUTH_TOKEN`), и запрос не доходит до прокси. Значение хранится в `$OPENCODEX_HOME/service-api-token`; запускающий процесс должен передать его в окружение Codex. + +Используйте поддерживаемую обёртку, устанавливаемую командой `ocx codex-shim install`. Если в контексте запуска выбирается эта обёртка, она читает файл токена, созданный OpenCodex, и передаёт переменную Codex. При запуске из настольной среды, cron или службы необходимо использовать PATH либо путь к средству запуска, который выбирает обёртку; установка не настраивает эти окружения автоматически. Собственные дочерние процессы Codex также могут унаследовать токен. + +Не экспортируйте этот Bearer-токен из файла запуска оболочки и не копируйте его в `config.toml`. Файл `service-api-token` содержит сам токен, а не присваивания вида `NAME=value`, поэтому его нельзя напрямую использовать как `EnvironmentFile=` в systemd. + +`EnvironmentFile=` или `OCX_API_TOKEN_FILE` в `opencodex-proxy.service` настраивает только процесс прокси и никогда не передаётся в независимо запущенный `codex exec`. + +Обновление Codex, заменяющее средство запуска, удаляет обёртку; следующая обычная команда `ocx` восстанавливает её (см. выше), но `codex exec`, запущенный до этого, завершается ошибкой. `ocx doctor` сообщает именно об этом состоянии в разделе "Codex env_key launch readiness" (env_key настроен, переменная не задана, обёртка отсутствует или неисправна, файл токена присутствует), приводит команду исправления и никогда не выводит токен. Чтение файла токена не входит в контракт внедрённого `env_key`; запускающий процесс должен передать эту переменную. + ### `ocx tray [--json] [--no-start]` Установить и управлять Windows tray icon со статусом. Иконка стартует при логине в Windows и даёт diff --git a/docs-site/src/content/docs/ru/reference/configuration/agents.md b/docs-site/src/content/docs/ru/reference/configuration/agents.md index 865fb3d3583..3677c7357e5 100644 --- a/docs-site/src/content/docs/ru/reference/configuration/agents.md +++ b/docs-site/src/content/docs/ru/reference/configuration/agents.md @@ -33,13 +33,21 @@ Management API предоставляет `GET`/`PUT /api/v2`, `/api/injection-m `/api/subagent-models` и `/api/subagent-model-fallback`. Обновления injection-model частичные; custom prompt на этом API передаётся полем `prompt`. +## Всегда проактивное делегирование + +**Всегда проактивное делегирование** в Subagents → Дополнительно (прежнее название — **Ultra mode**) меняет только условие запуска делегирования, не меняя reasoning effort. Рекомендуемый preset сохраняет инструкции пользователя, границы полномочий, область задачи и правила работы с инструментами. + +`GET` и `PUT /api/v2` дополнительно возвращают `multiAgentModeHintRecommendation: { text, revision }`. При включении или восстановлении preset дашборд использует текст сервера без встроенного запасного варианта. Если старый сервер не возвращает рекомендацию или возвращает некорректное значение, применение и восстановление preset недоступны; существующий custom hint по-прежнему можно редактировать или удалять. Восстановление preset меняет только локальный черновик; действие сохранения записывает его. + +Чтение настроек, несвязанные изменения и обновление версии не мигрируют сохранённый hint. Только явное обновление hint, текст которого побайтово совпадает с одним из двух известных старых preset OpenCodex, заменяет его текущей рекомендацией. Остальной допустимый custom text, включая варианты с отличиями в пробельных символах, сохраняется побайтово. Существующие правила включения v2, проверки поддержки и удаления hint не меняются; изменения применяются к новым сессиям Codex. + ## Roster и guidance Эффективный ростер v2 — это настроенные, видимые в picker'е, отсортированные по priority первые -пять моделей, совместимых с v2 и присутствующих во внедряемом каталоге. Для v2 запись считается -допустимой, если upstream pin равен `"v2"`, `null` либо вовсе отсутствует; реальный pin `"v1"` -исключает модель. Исключённые записи всё равно остаются в конфигурации, чтобы позже снова стать -допустимыми. +пять моделей, присутствующих во внедряемом каталоге и не отмеченных явно как `"disabled"`. +Явный pin `"v2"` поддерживает рекурсивных подагентов; `"v1"`, `null` и отсутствующий pin +остаются допустимыми для подагентов без дальнейшего делегирования. Исключённые записи остаются +в конфигурации, чтобы позже снова стать допустимыми. Определение surface основано на форме tool'ов. Namespaced `spawn_agent` вместе с `send_input`, `resume_agent` или `close_agent` — это v1. Плоский `spawn_agent` вместе с `send_message`, @@ -51,10 +59,22 @@ roster или fallback chain. Встроенное guidance v2 ограниче сначала удаляет roster. Guidance дедуплицируется по replay-prefix и вставляется перед завершающим `compaction_trigger`. -`injectionModel` и `injectionEffort` носят рекомендательный характер, если только не включён -native-default sync. Встроенный текст v2 просит Codex передавать поддерживаемые override'ы model -и effort в `spawn_agent` с `fork_turns: "none"`. В custom `injectionPrompt` отсутствующие значения -подставляются как пустая строка. +И встроенные указания v2 для подагентов, и пользовательские тела `injectionPrompt` используют +``, отдельно от нативных сообщений Codex ``. +Встроенный текст сообщает итоговую предпочтительную модель, список моделей и цепочку резервных +моделей, но не предписывает делегирование, переопределение модели или `fork_turns`. Подстановка +значений в плейсхолдеры и содержимое пользовательских тел сохраняются. `injectionModel` и +`injectionEffort` остаются рекомендациями, если не включена синхронизация нативных значений по +умолчанию; отсутствующие значения пользовательских плейсхолдеров заменяются пустой строкой. + +Дедупликация replay проверяет точное совпадение с последним текстом в каждой группе тегов. +Если оба значения используют новую группу тегов прокси, при возврате от пользовательских указаний +к встроенной форме добавляется её текущее содержимое; промежуточные изменения нативного режима +не дублируют неизменившиеся указания прокси. +Существующая история нативных сообщений и сообщений со старым тегом сохраняется. Изменение +обёртки не устанавливает автора старых сообщений и не отменяет прежние инструкции; историю +со смешанными версиями нельзя классифицировать только по старому тегу, и обнаружение переходов +в такой истории не гарантируется. ## Синхронизация native default'ов Codex diff --git a/docs-site/src/content/docs/ru/reference/configuration/providers.md b/docs-site/src/content/docs/ru/reference/configuration/providers.md index 5dc59ff534e..82b52a9829e 100644 --- a/docs-site/src/content/docs/ru/reference/configuration/providers.md +++ b/docs-site/src/content/docs/ru/reference/configuration/providers.md @@ -85,6 +85,10 @@ cross-route credential fallback не существует. Строки API GPT- перезаписывая отличающуюся backup-копию, и переписывает известные legacy namespaced-id, выбранные в `selectedModels`, в bare-id. +## Псевдонимы пространств имён провайдеров + +У провайдеров могут быть встроенные сокращения, например `agy` для `google-antigravity`. Если имя настроенного провайдера или явный псевдоним занимает такое сокращение без учёта регистра, встроенное сокращение другого провайдера отключается и в каталоге, и при маршрутизации по псевдониму. Например, при настройке провайдера с именем `agy` модели Google отображаются как `google-antigravity/`, а `agy/` выбирает настроенного провайдера. Канонические имена провайдеров по-прежнему требуют точного совпадения регистра; для нераспознанных префиксов сохраняется существующий резервный путь маршрутизации модели. + ## Записи провайдеров (`OcxProviderConfig`) | Поле | Тип | Значение | diff --git a/docs-site/src/content/docs/ru/reference/proxy-formats.md b/docs-site/src/content/docs/ru/reference/proxy-formats.md index 6da7d796eaa..9d41a4538d3 100644 --- a/docs-site/src/content/docs/ru/reference/proxy-formats.md +++ b/docs-site/src/content/docs/ru/reference/proxy-formats.md @@ -21,6 +21,10 @@ control и safety ответа всё равно происходят на гр настраиваются в [Конфигурации](/reference/configuration/); если один публичный id модели должен выбирать между несколькими целями, используйте [Combos](/guides/combos/). +## Перенаправления upstream + +Запросы к моделям, изображениям, видео и поиску, содержащие учётные данные, не следуют HTTP-перенаправлениям автоматически, в том числе в пределах одного origin. Укажите конечный URL API вместо перенаправляющего адреса. Сервер не отправляет учётные данные и тело запроса по адресу перенаправления. Существующая обработка ошибок и передача ответа сохраняются; маршруты native Responses и compact могут вернуть клиенту исходные 3xx и `Location`. Поведение перенаправлений клиента не определяется этой транспортной политикой сервера. + ## Обзор endpoint'ов | Клиентская поверхность | Endpoint | Успешный non-stream результат | Успешный результат потока или сокета | @@ -312,16 +316,18 @@ conversation. | Поверхность | Выделенный | Bearer | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP и WebSocket | Обязателен | Отклоняется для proxy-admission | Отклоняется | -| `/v1/responses/compact` | Обязателен | Отклоняется для proxy-admission | Отклоняется | -| `/v1/chat/completions` | Обязателен | Отклоняется для proxy-admission | Отклоняется | +| `/v1/responses` HTTP и WebSocket | Принимается | Принимается | Отклоняется | +| `/v1/responses/compact` | Принимается | Принимается | Отклоняется | +| `/v1/chat/completions` | Принимается | Принимается | Отклоняется | | `/v1/messages` и `/v1/messages/count_tokens` | Принимается | Принимается | Принимается | | `/v1/models` | Принимается | Принимается | Принимается | | `/v1/live`, `/v1/realtime/calls` и sideband-join'ы | Принимается | Принимается | Принимается | -Responses-family и Chat-запросы резервируют `Authorization` под passthrough провайдера или Codex -Direct, поэтому remote proxy key здесь обязан идти через dedicated-заголовок. Surface'ам Messages -и Realtime нужна более широкая совместимость с клиентами, поэтому там принимаются все три формы. +Запросы Responses и Chat принимают ключ прокси в выделенном заголовке или поле Bearer. На нативных маршрутах bearer допуска заменяется выбранными сохранёнными учётными данными Codex, а на остальных удаляется. Он никогда не используется для аутентификации upstream. Если передаётся отдельный bearer провайдера, ключ прокси следует указать в выделенном заголовке. + +Маршрут Cursor без ключа и без OAuth может использовать отдельный bearer вызывающей стороны, но не секрет прокси и не автоматически добавленную аутентификацию ChatGPT main. Выбор Combo/policy и фактические изменения маршрута shadow/thread-spawn не передают исходные учётные данные вызывающей стороны новым целям. Каноническая маршрутизация OpenAI может восстановить единственный bearer вызывающей стороны, не являющийся ключом прокси, после внутреннего изменения маршрута только если его JWT содержит claim учётной записи ChatGPT и любой явно указанный заголовок учётной записи соответствует этому claim. Для передачи аутентификации вызывающей стороны в необязательные sidecar OpenAI необходимы один JWT и явно указанный соответствующий `chatgpt-account-id`. Непрозрачные bearer не восстанавливаются после изменения маршрута даже при наличии явно указанного заголовка учётной записи. В остальных случаях конечной цели нужны собственные настроенные, OAuth или сохранённые учётные данные; иначе запрос завершается локальной ошибкой. Один маркер thread-spawn без изменения маршрута не удаляет учётные данные. + +Claude replay сохраняет аутентификацию main только в снимке в памяти, владение которым обеспечено текущим turn, и восстанавливает её только для конечного канонического маршрута ChatGPT. :::caution Ключи data plane — это не management credentials. У management API свой отдельный admin-secret; diff --git a/docs-site/src/content/docs/tr/guides/codex-integration.md b/docs-site/src/content/docs/tr/guides/codex-integration.md index d13af52274c..46b5f8e2969 100644 --- a/docs-site/src/content/docs/tr/guides/codex-integration.md +++ b/docs-site/src/content/docs/tr/guides/codex-integration.md @@ -437,10 +437,9 @@ olduğunda ve `tokenGuardian.codexWarmupEnabled` true olduğunda çalışır. ## Yerel Codex'i geri yükleme -opencodex sizi asla tuzağa düşürmez. **`ocx stop`, yerel Codex'e tamamen geri -dönen tek komuttur** — proxy'yi durdurur, kuruluysa arka plan servisini durdurur -ve enjekte edilen her satırı ve yönlendirilen katalog girdisini kaldırır, -böylece düz `codex` sanki opencodex hiç var olmamış gibi tam olarak çalışır: +`ocx stop`, proxy'yi ve kurulu arka plan servisini durdurur, ardından yerel Codex'i geri yüklemeyi dener. OpenCodex yalnızca sahipliğini doğrulayabildiği yönlendirme öğelerini kaldırır; yapılandırma dosyaları güvenle geri yüklenemiyorsa işlemin tamamlanmadığını bildirir. + +Mevcut yapılandırma veya profil kayıtlı özgün içerikten farklıysa ve günlükte o dosyanın enjekte edilmiş durumunun karması yoksa otomatik kurtarma iki dosyayı ve günlüğü değiştirmeden korur. Özgün içerikle zaten aynı olan dosya yeniden yazılmaz. Yönlendirilmiş bir yapılandırmaya yeniden enjeksiyon da bu belirsiz durumu reddeder; yerel yapılandırma yeni bir anlık görüntü oluşturabilir. [Kurtarma kurallarına](/guides/codex-integration/#recovery-without-injection-hashes) bakın. ```bash ocx stop # proxy'yi + servisi durdurun, yerel Codex'i geri yükleyin diff --git a/docs-site/src/content/docs/tr/guides/sub-agent-surface.md b/docs-site/src/content/docs/tr/guides/sub-agent-surface.md index 5e74546bcfd..943a293d403 100644 --- a/docs-site/src/content/docs/tr/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/tr/guides/sub-agent-surface.md @@ -96,8 +96,9 @@ rehberlik yalnızca tercih edilen bir model, uygun kadro veya geri dönüş zinc istem oluşturmak için yeterlidir; yalın bir değer benzersiz şekilde çözümlenemezse `{{model}}` boş bir dizeye genişler. -v1'de opencodex yalnızca `max` veya `ultra` çabada yukarı akış tarzı proaktif -yetkilendirme rehberliğini enjekte eder. v1'de tercih edilen bir model, kadro, +v1'de opencodex, yalnızca `max` veya `ultra` çaba düzeylerinde v2'nin önerilen ön ayarıyla aynı proaktif görev devri metnini enjekte eder. +Yalnızca tetikleme koşulu değişir: ayrıca görev devri talep edilmesi gerekmez; kullanıcı talimatları, yetkiler, görev kapsamı ve iş birliği araçlarının kuralları geçerliliğini korur. +v1'de tercih edilen bir model, kadro, geri dönüş listesi veya özel istem eklemez. Varsayılan olarak kapalı olan `syncCodexSubagentDefaults` seçeneği rehberlikten diff --git a/docs-site/src/content/docs/tr/reference/cli/lifecycle.md b/docs-site/src/content/docs/tr/reference/cli/lifecycle.md index a275db3f9b8..1a5f34da3c3 100644 --- a/docs-site/src/content/docs/tr/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/tr/reference/cli/lifecycle.md @@ -84,6 +84,10 @@ Bu, geniş kapsamlı ve yıkıcı bir yeniden etiketlemedir: kullanıcı iletisi olarak normalleştirilir ve event marker ayarlanır. Geçerli dedicated-provider geçmişi de kapsama dahildir. Durumu yedekleyin ve yalnızca bu kapsamın tamamını istiyorsanız çalıştırın. +### `ocx recover-history --ocx-compaction --yes` + +Yönlendirilmiş bir sağlayıcı üzerinden sıkıştırılmış bir görevi yerel Codex ile sürdürmeden önce geçmişini onarın. Komut UUID ile yalnızca bir görevi seçer, önce özel ve bayt bayt bir yedek kaydeder, ardından yalnızca OpenCodeX'e ait `ocx1:` sıkıştırma durumunu yerel Codex'in yeniden oynatabileceği düz bir özete dönüştürür. Yerel şifreli içerik ve diğer görevler değişmeden kalır. Komutu çalıştırmadan önce seçili görevi kapatın; işlem sırasında rollout değişirse kurtarma dosyayı değiştirmeden durur. + ### `ocx uninstall` · `ocx remove` Servisi ve proxy'yi durdurun, servisi ve Codex dolgusunu kaldırın, yerel Codex'i diff --git a/docs-site/src/content/docs/tr/reference/proxy-formats.md b/docs-site/src/content/docs/tr/reference/proxy-formats.md index 96258877622..ad304fde780 100644 --- a/docs-site/src/content/docs/tr/reference/proxy-formats.md +++ b/docs-site/src/content/docs/tr/reference/proxy-formats.md @@ -23,6 +23,10 @@ sınırında gerçekleşir. Dinleyiciyi ve kabul anahtarlarını genel model kimliği birkaç hedef arasından seçim yapması gerektiğinde [Kombolar](/tr/guides/combos/) kullanın. +## Üst sunucu yönlendirmeleri + +Kimlik bilgisi taşıyan model, görsel, video ve arama istekleri, aynı origin içindeki yönlendirmeler dâhil HTTP yönlendirmelerini otomatik izlemez. Yönlendiren bir adres yerine son API URL’sini yapılandırın. Sunucu, kimlik bilgilerini veya istek gövdesini yönlendirme hedefine yeniden göndermez. Mevcut hata işleme ve yanıt aktarma davranışı korunur; native Responses ve compact yolları, özgün 3xx ve `Location` değerini istemciye döndürebilir. İstemcinin yönlendirme davranışı bu sunucu aktarım politikasından ayrıdır. + ## Uç nokta genel bakışı | İstemci yüzeyi | Uç nokta | Başarılı akışsız sonuç | Başarılı akış veya soket sonucu | @@ -328,17 +332,18 @@ ve `x-api-key` anlamına gelir. | Yüzey | Özel | Bearer | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP ve WebSocket | Gerekli | Proxy kabulü için reddedilir | Reddedilir | -| `/v1/responses/compact` | Gerekli | Proxy kabulü için reddedilir | Reddedilir | -| `/v1/chat/completions` | Gerekli | Proxy kabulü için reddedilir | Reddedilir | +| `/v1/responses` HTTP ve WebSocket | Kabul Edilir | Kabul Edilir | Reddedilir | +| `/v1/responses/compact` | Kabul Edilir | Kabul Edilir | Reddedilir | +| `/v1/chat/completions` | Kabul Edilir | Kabul Edilir | Reddedilir | | `/v1/messages` ve `/v1/messages/count_tokens` | Kabul Edilir | Kabul Edilir | Kabul Edilir | | `/v1/models` | Kabul Edilir | Kabul Edilir | Kabul Edilir | | `/v1/live`, `/v1/realtime/calls` ve yan bant katılımları | Kabul Edilir | Kabul Edilir | Kabul Edilir | -Responses ailesi ve Sohbet istekleri `Authorization`'ı sağlayıcı veya Codex -Direct doğrudan geçişi için ayırır, bu nedenle uzak bir proxy anahtarı özel -başlığı kullanmalıdır. Messages ve Realtime yüzeyleri daha geniş istemci -uyumluluğuna ihtiyaç duyar ve bu nedenle üç formu da kabul eder. +Responses ailesi ve Chat istekleri, özel başlıkta veya Bearer alanında bir proxy anahtarını kabul eder. Yerel Codex rotalarında seçilen kayıtlı Codex kimlik bilgisi kabul bearer’ının yerini alır; diğer rotalarda bu bearer kaldırılır. Proxy anahtarı hiçbir zaman upstream kimlik bilgisi olarak kullanılmaz. Ayrı bir sağlayıcı bearer’ı da gönderiyorsanız proxy anahtarını özel başlığa koyun. + +Anahtarı olmayan ve OAuth kullanmayan bir Cursor rotası, çağıranın ayrı bearer’ını kullanabilir; proxy sırrını veya otomatik eklenen ChatGPT main kimlik bilgisini kullanamaz. Combo/policy seçimi ve gerçekleşen shadow/thread-spawn rota değişiklikleri, çağıranın ham kimlik bilgilerini yeni hedeflere aktarmaz. Kanonik OpenAI yönlendirmesi, dahili rota değişikliğinden sonra çağıranın proxy anahtarı olmayan tek bearer’ını yalnızca JWT’si bir ChatGPT hesap claim’i içeriyorsa ve açıkça belirtilmiş herhangi bir hesap başlığı bu claim ile eşleşiyorsa geri yükleyebilir. Çağıranın kimlik doğrulamasını isteğe bağlı OpenAI sidecar’larına iletmek için tek bir JWT ve onunla eşleşen, açıkça belirtilmiş bir `chatgpt-account-id` gerekir. Opaque bearer’lar, açıkça belirtilmiş bir hesap başlığı olsa bile rota değişikliklerinden sonra geri yüklenmez. Diğer durumlarda son hedefin kendi yapılandırılmış, OAuth veya kayıtlı kimlik bilgisi bulunmalıdır; aksi hâlde istek yerel olarak başarısız olur. Rota değişmeden yalnızca thread-spawn işaretinin bulunması kimlik bilgilerini kaldırmaz. + +Claude replay, main kimlik bilgisini yalnızca ilgili turn tarafından sahipliği alınmış bir bellek snapshot’ında tutar ve yalnızca son hedef kanonik bir ChatGPT rotasıysa geri yükler. :::caution Veri düzlemi anahtarları yönetim kimlik bilgileri değildir. Yönetim API'si ayrı diff --git a/docs-site/src/content/docs/zh-cn/guides/codex-integration.md b/docs-site/src/content/docs/zh-cn/guides/codex-integration.md index 0c3df0c0e29..1170d9207f4 100644 --- a/docs-site/src/content/docs/zh-cn/guides/codex-integration.md +++ b/docs-site/src/content/docs/zh-cn/guides/codex-integration.md @@ -321,9 +321,9 @@ fallback 行为,参见 [Sub-agent Surface](/guides/sub-agent-surface/)。 ## 恢复原生 Codex -opencodex 绝不会把你困住。**`ocx stop` 是完全恢复原生 Codex 的单一命令** —— 它会停止 proxy、 -停止后台服务(如已安装),并剥除所有注入的行和路由的目录条目,使普通的 `codex` 完全像 opencodex -从未存在过一样工作: +`ocx stop` 会停止 proxy 和已安装的后台服务,然后尝试恢复原生 Codex。OpenCodex 只移除能够确认归属的路由配置;如果无法安全恢复配置文件,会报告恢复未完成。 + +如果当前 config 或 profile 与保存的原始内容不同,且日志缺少该文件注入状态的哈希值,自动快照恢复会保留两个文件和日志,不作修改。已经与原始内容相同的文件不会重写。对已路由配置的再次注入也会拒绝使用这种未确认的基线;原生配置可以建立新的快照。详见[恢复规则](/guides/codex-integration/#recovery-without-injection-hashes)。 ```bash ocx stop # stop the proxy + service, restore native Codex diff --git a/docs-site/src/content/docs/zh-cn/guides/sub-agent-surface.md b/docs-site/src/content/docs/zh-cn/guides/sub-agent-surface.md index d1cde7034b8..9d794686a3e 100644 --- a/docs-site/src/content/docs/zh-cn/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/zh-cn/guides/sub-agent-surface.md @@ -58,7 +58,9 @@ Dashboard 上的 **Sub-agent delegation** 控件管理三个相关设置: 内置的 v2 指引有 700 字符预算。如果会超出预算,opencodex 会优先删除 roster,而不是截断核心 spawn 指令。内置指引仅在首选模型、可用 roster 或 fallback chain 解析成功时触发。只要配置了 `injectionModel`,自定义提示词就会触发;如果未限定的值无法唯一解析,`{{model}}` 会替换为空字符串。 -在 v1 上,opencodex 只会在 `max` 或 `ultra` effort 下注入上游风格的主动委派指引。它不会在 v1 上额外添加首选模型、roster、fallback list 或自定义提示词。 +在 v1 上,opencodex 只在 `max` 或 `ultra` 推理强度下注入与 v2 推荐预设相同的主动委派指引。 +仅改变委派的触发条件:不再需要单独提出委派请求;用户指示以及权限、任务范围和协作工具规则仍然适用。 +它不会在 v1 上额外添加首选模型、roster、fallback list 或自定义提示词。 默认关闭的 `syncCodexSubagentDefaults` 选项与指引是分开的。当 opencodex 拥有活跃的 Codex 路由时,同步或重启可以把所选值写入 Codex TOML 中带标记的 `[agents] default_subagent_model` 和 `default_subagent_reasoning_effort` 条目。opencodex 只会更新或移除带有其标记的字段。如果任一目标字段属于用户,整对值会保持不变,而不会部分写入;含糊不清的 TOML 会在不写入的情况下被拒绝。外部 provider 管理器和用户拥有的根路由也仍然具有最终权威。 diff --git a/docs-site/src/content/docs/zh-cn/reference/cli/lifecycle.md b/docs-site/src/content/docs/zh-cn/reference/cli/lifecycle.md index 6d6414af155..e9e850e5bf2 100644 --- a/docs-site/src/content/docs/zh-cn/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/zh-cn/reference/cli/lifecycle.md @@ -53,6 +53,10 @@ ocx eject back 这是范围很广且具有破坏性的重标记:所有包含用户消息且当前标记为 `opencodex` 的线程都会改标为 `openai`,`exec` 会规范化为 `cli`,并设置事件标记。正常的专用提供方历史记录也在范围内。请先备份状态,并且仅在确实需要这一完整范围时执行。 +### `ocx recover-history --ocx-compaction --yes` + +在通过原生 Codex 恢复某个曾由路由提供方压缩的任务前,修复该任务的历史记录。此命令按 UUID 精确选择一个任务,先保存私有的逐字节备份,然后仅将 OpenCodeX 自有的 `ocx1:` 压缩状态转换为原生 Codex 可重放的普通摘要。原生加密内容和其他任务保持不变。运行前请关闭所选任务;如果 rollout 在处理期间发生变化,恢复会停止且不会替换原文件。 + ### `ocx uninstall` · `ocx remove` 停止服务和代理,移除服务和 Codex shim,恢复原生 Codex,然后仅在所有恢复步骤都成功时才删除 opencodex 本地配置。`remove` 是 `uninstall` 的别名。配置清理需要由全新安装创建的所有权元数据;旧版或共享目录会保留原样。 @@ -209,10 +213,28 @@ ocx codex-shim status ocx codex-shim uninstall ``` +:::note[Windows 令牌环境] +新生成的 Windows CMD 和 PowerShell shim 会在执行后恢复调用方原有的 `OPENCODEX_API_AUTH_TOKEN` 状态。Codex 及其子进程仍可能继承令牌。 + +更新 OpenCodex 后,如需让现有 Windows shim 采用此行为,请先运行 `ocx codex-shim uninstall`,再运行 `ocx codex-shim install` 重新安装。常规更新不会重写正常的 Windows shim。 +::: + :::tip[Service vs Shim] 将 `ocx service` 用于始终在线的后台代理(推荐)。将 `ocx codex-shim` 用于无需守护进程的轻量按需启动——代理只会在启动 `codex` 时运行。 ::: +#### 向 Codex 注入令牌 + +绑定到非回环地址时,注入的提供程序包含 `env_key = "OPENCODEX_API_AUTH_TOKEN"`。这一行告诉 Codex 应读取哪个变量,但不会创建该变量。如果变量不存在,Codex 会拒绝发起请求(`Missing environment variable: OPENCODEX_API_AUTH_TOKEN`),请求也不会到达代理。变量值保存在 `$OPENCODEX_HOME/service-api-token` 中;启动进程必须将其传入 Codex 的环境。 + +请使用通过 `ocx codex-shim install` 安装且受维护的 shim。如果启动上下文选择此 shim,它会读取 OpenCodex 创建的令牌文件,并将变量传给 Codex。从桌面、cron 或服务启动时,必须使用能够选中该 shim 的 PATH 或启动器路径;安装过程不会自动配置这些环境。Codex 自身的子进程也可能继承令牌。 + +不要在 shell 启动文件中导出此 Bearer 令牌,也不要将其复制到 `config.toml`。`service-api-token` 文件包含的是原始令牌,而不是 `NAME=value` 形式的赋值,因此不能直接用作 systemd 的 `EnvironmentFile=`。 + +`opencodex-proxy.service` 中的 `EnvironmentFile=` 或 `OCX_API_TOKEN_FILE` 仅配置代理进程,绝不会传入独立启动的 `codex exec`。 + +替换启动器的 Codex 升级会移除 shim;下一次执行普通的 `ocx` 命令时会将其恢复(见上文),但在此之前运行的 `codex exec` 会失败。`ocx doctor` 会在 "Codex env_key launch readiness" 项下报告这一确切状态(env_key 已配置、变量未设置、shim 缺失或不正常、令牌文件存在),并给出修复命令,且绝不会输出令牌。读取令牌文件不属于注入的 `env_key` 的约定;启动进程必须提供该变量。 + ### `ocx tray [--json] [--no-start]` 安装并控制 Windows 状态托盘图标。它会在 Windows 登录时启动,并提供一键代理控制。`start` 和 `stop` 只控制图标本身;要控制代理,请使用其菜单。`--no-start` 适用于 `install`,会安装托盘但不会立即启动。 diff --git a/docs-site/src/content/docs/zh-cn/reference/configuration/agents.md b/docs-site/src/content/docs/zh-cn/reference/configuration/agents.md index ffac2b67767..c043b6ef47e 100644 --- a/docs-site/src/content/docs/zh-cn/reference/configuration/agents.md +++ b/docs-site/src/content/docs/zh-cn/reference/configuration/agents.md @@ -26,15 +26,25 @@ description: 多代理界面、委派引导、首选模型、回退链、原生 管理 API 公开 `GET`/`PUT /api/v2`、`/api/injection-model`、`/api/effort-caps`、`/api/subagent-models` 和 `/api/subagent-model-fallback`。injection-model 更新是部分更新;自定义 prompt 是该 API 上的 `prompt` 字段。 +## 始终主动委派 + +Subagents → 高级中的 **始终主动委派**(原名 **Ultra mode**)只改变触发委派的条件,不改变推理 effort。推荐预设仍遵循用户指令、权限边界、任务范围和工具规则。 + +`GET` 和 `PUT /api/v2` 还会返回 `multiAgentModeHintRecommendation: { text, revision }`。仪表板在启用或恢复预设时使用服务器提供的文本,不会回退到硬编码文案。如果旧服务器没有提供推荐值,或返回的值格式无效,则无法应用或恢复预设;仍可编辑或清除现有的自定义提示。恢复预设只修改本地草稿,保存操作才会将其写入配置。 + +读取设置、无关更新和版本升级不会迁移已保存的提示。只有显式更新提示,且正文与两种已知旧版 OpenCodex 预设之一逐字节完全一致时,才会替换为当前推荐文本。其他有效的自定义文本,包括仅空白字符不同的变体,都会逐字节保留。现有的 v2 启用、功能支持检查和清除提示规则保持不变;更改会应用于新的 Codex 会话。 + ## 名单与引导 -有效的 v2 名单,是已配置、在选择器中可见、按优先级排序的前五个模型中,和 v2 兼容且存在于注入目录中的那些模型。v2 资格判定会把显式的 `"v2"`、`null`,或缺失的上游固定值视为可用;真正的 `"v1"` 固定值会被排除。被排除的条目仍会保留在配置中,以便将来重新变为可用。 +有效的 v2 名单,是已配置、在选择器中可见、按优先级排序的前五个模型中,存在于注入目录且未明确标记为 `"disabled"` 的模型。显式的 `"v2"` 标记支持递归子代理;`"v1"`、`null` 和缺失的标记仍可作为叶子子代理。被排除的条目仍会保留在配置中,以便将来重新变为可用。 界面检测使用工具形状来判断。带命名空间的 `spawn_agent`,如果具有 `send_input`、`resume_agent` 或 `close_agent`,就是 v1。平铺的 `spawn_agent`,如果具有 `send_message`、`followup_task`、`interrupt_agent` 或 `list_agents`,就是 v2。 V1 引导只会在 `max` 或 `ultra` 时以主动文本形式出现。V2 只有在存在首选模型、可用名单或回退链时,才会收到代理生成的开发者消息。内置 v2 引导有 700 个字符的预算,必要时会先删减名单。引导会在 replay prefix 之间去重,并插入到末尾的 `compaction_trigger` 之前。 -除非启用了原生默认值同步,`injectionModel` 和 `injectionEffort` 都只是建议。内置 v2 文本会要求 Codex 使用 `fork_turns: "none"` 将受支持的模型/effort 覆盖传给 `spawn_agent`。自定义 `injectionPrompt` 会把缺失值替换为空字符串。 +内置 v2 子代理引导和自定义 `injectionPrompt` 正文都使用 ``,与 Codex 原生的 `` 消息区分开来。内置文本会说明解析后的首选模型、名单和回退链,但不会指示委派、模型覆盖或 `fork_turns`。自定义正文的占位符替换和内容保持不变。除非启用了原生默认值同步,`injectionModel` 和 `injectionEffort` 仍只是建议;自定义占位符的缺失值仍替换为空字符串。 + +replay 去重会分别与每类标签的最新文本进行精确比较。当两个值都使用新的代理标签时,从自定义引导切回内置形式会追加当前的引导内容;期间原生模式的变化不会导致未改变的代理引导被重复添加。现有的原生消息历史和带旧标签的历史都会保留。更换包装标签并不能确定旧消息的作者,也不会撤销先前的指令;对于混合版本的历史,不能仅凭旧标签进行分类,也不保证检测到这类历史中的设置切换。 ## Codex 原生默认值同步 diff --git a/docs-site/src/content/docs/zh-cn/reference/configuration/providers.md b/docs-site/src/content/docs/zh-cn/reference/configuration/providers.md index a978d26d8f3..5ff2094547f 100644 --- a/docs-site/src/content/docs/zh-cn/reference/configuration/providers.md +++ b/docs-site/src/content/docs/zh-cn/reference/configuration/providers.md @@ -72,6 +72,10 @@ selector,而不是分配一个新名称。 `openaiProviderTierVersion: 2` 标记当前的单提供者投影。对已发布的 v1 配置进行迁移之前,opencodex 会创建 `config.json.pre-openai-tiers-v2.bak`,且不会覆盖不同的备份文件,并会把已知的旧式命名空间选择 id 重写为裸 id。 +## 提供者命名空间别名 + +提供者可以有内置缩写,例如 `google-antigravity` 的 `agy`。如果已配置的提供者名称或显式别名占用了该缩写(不区分大小写),另一个提供者的内置缩写就会在目录名称和别名路由中同时禁用。例如,配置名为 `agy` 的提供者后,Google 模型会显示为 `google-antigravity/`,而 `agy/` 会选择已配置的提供者。规范提供者名称仍要求大小写完全一致;无法识别的前缀继续沿用现有的模型路由回退行为。 + ## 提供者条目(`OcxProviderConfig`) | 字段 | 类型 | 含义 | diff --git a/docs-site/src/content/docs/zh-cn/reference/proxy-formats.md b/docs-site/src/content/docs/zh-cn/reference/proxy-formats.md index b975226d7bf..b6ff7a5f4a8 100644 --- a/docs-site/src/content/docs/zh-cn/reference/proxy-formats.md +++ b/docs-site/src/content/docs/zh-cn/reference/proxy-formats.md @@ -19,6 +19,10 @@ Responses 表示是这座桥的中心。原生兼容的路由可以跳过部分 [Configuration](/reference/configuration/) 中配置监听器和准入密钥;当一个公开模型 ID 需要在多个目标之间选择时,请使用 [Combos](/guides/combos/)。 +## 上游重定向 + +携带凭据的模型、图像、视频和搜索请求不会自动跟随 HTTP 重定向,包括同源重定向。请配置最终上游 API URL,而不是会重定向的别名。服务器不会向重定向目标重新发送凭据或请求正文。各响应处理路径保留原有的错误处理或转发行为;原生 Responses 和 compact 路径仍可向客户端返回原始 3xx 和 `Location`。客户端的重定向行为与此服务器传输策略是不同的边界。 + ## 端点总览 | 客户端表面 | 端点 | 成功的非流式结果 | 成功的流式或套接字结果 | @@ -257,15 +261,18 @@ Compaction 会为需要缩短长 Responses 会话的客户端返回替换历史 | 表面 | Dedicated | Bearer | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP 和 WebSocket | 必需 | 被代理准入拒绝 | 被拒绝 | -| `/v1/responses/compact` | 必需 | 被代理准入拒绝 | 被拒绝 | -| `/v1/chat/completions` | 必需 | 被代理准入拒绝 | 被拒绝 | +| `/v1/responses` HTTP 和 WebSocket | 接受 | 接受 | 被拒绝 | +| `/v1/responses/compact` | 接受 | 接受 | 被拒绝 | +| `/v1/chat/completions` | 接受 | 接受 | 被拒绝 | | `/v1/messages` 和 `/v1/messages/count_tokens` | 接受 | 接受 | 接受 | | `/v1/models` | 接受 | 接受 | 接受 | | `/v1/live`、`/v1/realtime/calls` 和 sideband join | 接受 | 接受 | 接受 | -Responses 家族和 Chat 请求会把 `Authorization` 留给提供方或 Codex Direct -透传,因此远程代理密钥必须使用专用头。Messages 和 Realtime 表面需要更广泛的客户端兼容性,因此接受这三种形式。 +Responses 系列和 Chat 请求接受专用标头或 Bearer 字段中的代理密钥。在原生路由上,所选的已保存 Codex 凭据会替换 admission bearer;其他路由会移除该 bearer。代理密钥绝不会用作 upstream 凭据。如果还要提供独立的 provider bearer,请将代理密钥放在专用标头中。 + +没有密钥且不使用 OAuth 的 Cursor 路由可以使用调用方单独提供的 bearer,但不能使用代理 secret 或自动补充的 ChatGPT main 凭据。Combo/policy 选择以及实际发生的 shadow/thread-spawn 路由改写不会将调用方的原始凭据传递给新目标。规范 OpenAI 路由仅在 JWT 包含 ChatGPT 账户声明,且任何显式账户标头都与该声明匹配时,才可在内部路由变更后恢复调用方的单个非代理密钥 bearer。 向可选的 OpenAI sidecar 转发调用方认证时,需要单个 JWT 以及显式提供且匹配的 `chatgpt-account-id`。即使提供了显式账户标头,opaque bearer 也不会跨路由变更恢复。 除此之外,最终目标必须拥有自己的配置、OAuth 或已保存凭据,否则请求会在本地失败。只有 thread-spawn 标记而没有路由变化时,不会移除凭据。 + +Claude replay 只会以当前 turn 已取得所有权的内存 snapshot 保留 main 凭据,并且仅在最终目标为规范 ChatGPT 路由时恢复它。 :::caution 数据平面密钥不是管理凭证。管理 API 使用单独的 admin secret; diff --git a/docs-site/src/content/docs/zh-tw/guides/codex-integration.md b/docs-site/src/content/docs/zh-tw/guides/codex-integration.md index 44ee5bbb3bc..b8db326af6b 100644 --- a/docs-site/src/content/docs/zh-tw/guides/codex-integration.md +++ b/docs-site/src/content/docs/zh-tw/guides/codex-integration.md @@ -328,9 +328,9 @@ body。背景重新驗證是獨立功能,預設關閉;只有啟用 Token Gua ## 恢復原生 Codex -opencodex 絕不會把你困住。**`ocx stop` 是完整恢復原生 Codex 的單一命令**。它會停止 proxy、停止 -背景服務(若已安裝),並移除所有注入行與路由目錄條目,讓普通的 `codex` 就像從未安裝 opencodex 一樣 -運作: +`ocx stop` 會停止 proxy 與已安裝的背景服務,然後嘗試恢復原生 Codex。OpenCodex 只移除能確認歸屬的路由設定;若無法安全恢復設定檔,會回報恢復未完成。 + +若目前的 config 或 profile 與儲存的原始內容不同,且日誌缺少該檔案注入狀態的雜湊值,自動快照恢復會保留兩個檔案及日誌,不做修改。已與原始內容相同的檔案不會重新寫入。對已路由設定再次注入時,也會拒絕使用這種未確認的基準;原生設定可以建立新的快照。詳見[恢復規則](/guides/codex-integration/#recovery-without-injection-hashes)。 ```bash ocx stop # 停止 proxy + service,恢復原生 Codex diff --git a/docs-site/src/content/docs/zh-tw/guides/integrations.md b/docs-site/src/content/docs/zh-tw/guides/integrations.md index 46b03df9a1f..cd767e0a9b3 100644 --- a/docs-site/src/content/docs/zh-tw/guides/integrations.md +++ b/docs-site/src/content/docs/zh-tw/guides/integrations.md @@ -80,7 +80,7 @@ opencodex 從自己的環境讀取這些變數。如果你的 gateway 以 profil - **Restore this point…** 會出現在較舊的操作上,或當檔案在那次操作之後有變更時。跨過這樣的變更做回復會再詢問一次,才覆蓋你的較新編輯——並且也會備份它們,所以那次的回復本身也可以復原。 - 每個客戶端保留十份備份。超過之後,最舊的快照檔案會被移除,其歷史列顯示為 **Backup expired**。 -停用只移除 opencodex 記錄為自己寫入的條目。如果你的檔案在我們寫入之後有變更,後續行為取決於我們自己的條目是否完好,以及檔案的格式。對於嚴格 JSON 設定檔(OpenCode、Pi),在我們的區塊**旁邊**進行的編輯——例如新增 MCP 伺服器或你自己的 provider——會顯示為**需要更新**:重新整理會在保留你的條目的前提下合併寫入,但格式可能會被正規化。例外情況是 JSON 無法精確重寫的內容——例如 `1e999` 這類非有限數字、重寫會被四捨五入的數字(極大的整數,或小到會塌縮成零的數字)、`-0`、同一個物件裡重複出現的鍵,或巢狀層數超過 1000 層——此時開關會鎖定,確保沒有任何值被悄悄改動或刪除。**OMP** 同樣不受旁邊編輯影響,但原因不同:它的 writer 只逐位元組修補自己的 `providers.opencodex` 範圍,檔案其餘部分從不會被重寫。至於其餘可以包含註解的格式(Hermes、OpenClaw、Kimi Code、Gajae Code、MiniMax Code、Raycast——以整份文件寫出的 YAML、JSON5 與 TOML),或當我們自己的條目被編輯過時,開關會鎖定,停用會拒絕執行,而不是猜測哪些編輯是你的。 +停用只移除 opencodex 記錄為自己寫入的條目。如果你的檔案在我們寫入之後有變更,後續行為取決於我們自己的條目是否完好,以及檔案的格式。對於嚴格 JSON 設定檔(OpenCode、Pi),在我們的區塊**旁邊**進行的編輯——例如新增 MCP 伺服器或你自己的 provider——會顯示為**需要更新**:重新整理會在保留你的條目的前提下合併寫入,但格式可能會被正規化。例外情況是 JSON 無法精確重寫的內容——例如 `1e999` 這類非有限數字、重寫會被四捨五入的數字(極大的整數,或小到會塌縮成零的數字)、`-0`、同一個物件裡重複出現的鍵,或巢狀層數超過 1000 層——此時開關會鎖定,確保沒有任何值被悄悄改動或刪除。**OMP、DSH 與 Hermes** 同樣不受旁邊編輯影響,但原因不同:它們的 writer 只逐位元組修補自己的 `providers.opencodex` 範圍,檔案其餘部分從不會被重寫。至於其餘可以包含註解的格式(OpenClaw、Kimi Code、Gajae Code、MiniMax Code、Raycast——以整份文件寫出的 YAML、JSON5 與 TOML),或當我們自己的條目被編輯過時,開關會鎖定,停用會拒絕執行,而不是猜測哪些編輯是你的。 ## 誠實的預期 diff --git a/docs-site/src/content/docs/zh-tw/guides/sub-agent-surface.md b/docs-site/src/content/docs/zh-tw/guides/sub-agent-surface.md index b6c9108d079..61cbfd2c14f 100644 --- a/docs-site/src/content/docs/zh-tw/guides/sub-agent-surface.md +++ b/docs-site/src/content/docs/zh-tw/guides/sub-agent-surface.md @@ -63,7 +63,9 @@ opencodex 允許你為目錄中的所有模型選擇多代理協作介面。儀 內建指引只在偏好模型、合格名冊或 fallback 鏈解析成功時觸發。設定了 `injectionModel` 就足以渲染 自訂提示詞;若裸值無法唯一解析,`{{model}}` 會展開為空字串。 -在 v1 上,opencodex 只在 `max` / `ultra` effort 注入上游風格的主動委派指引。v1 不會附加偏好模型、 +在 v1 上,opencodex 只在 `max` 或 `ultra` 推理強度下注入與 v2 建議預設相同的主動委派指引。 +僅改變委派的觸發條件:不再需要另外提出委派請求;使用者指示以及權限、任務範圍與協作工具規則仍然適用。 +v1 不會附加偏好模型、 名冊、fallback 清單或自訂提示詞。 預設關閉的 `syncCodexSubagentDefaults` 選項與指引無關。當 opencodex 擁有作用中的 Codex 路由時, diff --git a/docs-site/src/content/docs/zh-tw/reference/cli/lifecycle.md b/docs-site/src/content/docs/zh-tw/reference/cli/lifecycle.md index 4e1fc9700be..5ec90ab0f7d 100644 --- a/docs-site/src/content/docs/zh-tw/reference/cli/lifecycle.md +++ b/docs-site/src/content/docs/zh-tw/reference/cli/lifecycle.md @@ -52,6 +52,10 @@ ocx eject back 這是範圍很廣且具破壞性的重新標記:所有含有使用者訊息且目前標記為 `opencodex` 的 thread 都會改標為 `openai`,`exec` 會正規化為 `cli`,並設定 event marker。正常的專用 provider 歷史也包含在內。請先備份狀態,而且只有在確實需要這個完整範圍時才執行。 +### `ocx recover-history --ocx-compaction --yes` + +在透過原生 Codex 恢復曾由路由提供方壓縮的工作前,修復該工作的歷史記錄。此命令依 UUID 精確選取一個工作,先儲存私有的逐位元組備份,然後只把 OpenCodeX 自有的 `ocx1:` 壓縮狀態轉換成原生 Codex 可重播的普通摘要。原生加密內容與其他工作不會變更。執行前請關閉所選工作;若 rollout 在處理期間發生變化,復原會停止且不會取代原始檔案。 + ### `ocx uninstall` · `ocx remove` 停止服務與代理、移除服務與 Codex shim、還原原生 Codex,然後僅在所有還原步驟成功時移除 opencodex 本機設定。`remove` 是 `uninstall` 的別名。設定清理需要由全新安裝建立的擁有權中繼資料;舊版或共享目錄會被原樣保留。 diff --git a/docs-site/src/content/docs/zh-tw/reference/proxy-formats.md b/docs-site/src/content/docs/zh-tw/reference/proxy-formats.md index 24abd657c4f..f39b2ffc40b 100644 --- a/docs-site/src/content/docs/zh-tw/reference/proxy-formats.md +++ b/docs-site/src/content/docs/zh-tw/reference/proxy-formats.md @@ -14,6 +14,10 @@ opencodex 以多種客戶端方言呈現一個本機代理。Codex 客戶端可 Responses 表示是橋接的中心。原生相容的路由可跳過部分轉譯並 passthrough 請求,但認證、路由、許可控制與回應安全仍在代理邊界發生。在[設定](/zh-tw/reference/configuration/)中設定監聽器與許可金鑰;當一個公開模型 id 應在多個目標間選擇時使用[組合](/zh-tw/guides/combos/)。 +## 上游重新導向 + +攜帶憑證的模型、圖片、影片和搜尋請求不會自動跟隨 HTTP 重新導向,包括同源重新導向。請設定最終上游 API URL,而非會重新導向的別名。伺服器不會向重新導向目標再次傳送憑證或請求內文。各回應處理路徑保留原有的錯誤處理或轉送行為;原生 Responses 和 compact 路徑仍可向用戶端回傳原始 3xx 與 `Location`。用戶端的重新導向行為與此伺服器傳輸政策屬於不同邊界。 + ## 端點概覽 | 客戶端介面 | 端點 | 成功的非串流結果 | 成功的串流或 socket 結果 | @@ -224,14 +228,18 @@ Compaction 為需要縮短長 Responses 對話的客戶端回傳取代歷史。 | 介面 | 專屬 | Bearer | `x-api-key` | | --- | --- | --- | --- | -| `/v1/responses` HTTP 與 WebSocket | 必填 | 代理許可被拒 | 被拒 | -| `/v1/responses/compact` | 必填 | 代理許可被拒 | 被拒 | -| `/v1/chat/completions` | 必填 | 代理許可被拒 | 被拒 | +| `/v1/responses` HTTP 與 WebSocket | 接受 | 接受 | 被拒 | +| `/v1/responses/compact` | 接受 | 接受 | 被拒 | +| `/v1/chat/completions` | 接受 | 接受 | 被拒 | | `/v1/messages` 與 `/v1/messages/count_tokens` | 接受 | 接受 | 接受 | | `/v1/models` | 接受 | 接受 | 接受 | | `/v1/live`、`/v1/realtime/calls` 與 sideband join | 接受 | 接受 | 接受 | -Responses 家族與 Chat 請求為供應商或 Codex Direct passthrough 保留 `Authorization`,因此遠端代理金鑰必須使用專屬標頭。Messages 與 Realtime 介面需要更廣的客戶端相容性,因此接受所有三種形式。 +Responses 系列和 Chat 請求接受專用標頭或 Bearer 欄位中的代理金鑰。在原生路由上,所選的已儲存 Codex 憑證會取代 admission bearer;其他路由會移除該 bearer。代理金鑰絕不會用作 upstream 憑證。如果還要提供獨立的 provider bearer,請將代理金鑰放在專用標頭中。 + +沒有金鑰且不使用 OAuth 的 Cursor 路由可以使用呼叫端另外提供的 bearer,但不能使用代理 secret 或自動補入的 ChatGPT main 憑證。Combo/policy 選擇及實際發生的 shadow/thread-spawn 路由改寫不會將呼叫端的原始憑證傳遞給新目標。正規 OpenAI 路由僅在 JWT 包含 ChatGPT 帳戶宣告,且任何明確提供的帳戶標頭都與該宣告相符時,才可在內部路由變更後還原呼叫端的單一非代理金鑰 bearer。 將呼叫端驗證轉送至選用的 OpenAI sidecar 時,需要單一 JWT,以及明確提供且相符的 `chatgpt-account-id`。即使明確提供了帳戶標頭,opaque bearer 也不會跨路由變更還原。 除此之外,最終目標必須擁有自己的設定、OAuth 或已儲存憑證,否則請求會在本機失敗。只有 thread-spawn 標記而沒有路由變更時,不會移除憑證。 + +Claude replay 只會以目前 turn 已取得所有權的記憶體 snapshot 保留 main 憑證,並且僅在最終目標為正規 ChatGPT 路由時還原它。 :::caution Data-plane 金鑰不是管理憑證。管理 API 使用獨立的管理秘密;請見[管理 API](/zh-tw/reference/management-api/)。絕不為兩個平面重用同一個秘密。 diff --git a/docs/qoder-cli-provider.md b/docs/qoder-cli-provider.md new file mode 100644 index 00000000000..81485066261 --- /dev/null +++ b/docs/qoder-cli-provider.md @@ -0,0 +1,73 @@ +# Qoder CLI providers + +OpenCodex supports Qoder Global and Qoder CN through their official Personal Access Tokens and headless CLIs. +It does not read Qoder Desktop sessions, browser cookies, refresh tokens, or private console APIs. + +## Qoder Global + +1. Install the official CLI: `npm install -g @qoder-ai/qodercli`. +2. Create a PAT from `https://qoder.com/account/integrations`. +3. Add the `qoder` provider in `ocx init` or the Providers workspace and paste that PAT as the API key. +4. Run `ocx provider test qoder` to verify CLI authentication and account-specific model discovery. + +OpenCodex passes the stored key only as `QODER_PERSONAL_ACCESS_TOKEN` in a scoped child environment. +The adapter accepts only the canonical `https://qoder.com` destination. A legacy custom provider +named `qoder` with another destination keeps its existing adapter and URL. + +The CLI is invoked in one-turn `stream-json` mode with built-in tools disabled (`--tools ""`), MCP +restricted with an empty strict configuration, setting sources disabled, and session persistence +disabled. Codex remains the only tool owner. The first version is text/reasoning only; image input +fails explicitly until the provider route has verified multimodal evidence. + +`qoder --list-models` is the authoritative entitlement roster for the current PAT. OpenCodex uses +its normal model cache and credential-generation invalidation. If discovery fails, it degrades to a +stale cache and then the documented static seed. Quota totals and reset times remain unavailable +because no public quota API is used; insufficient-credit errors are still surfaced as HTTP 429. + +Free, trial, promotional, and subscription credits are expected to use the account attached to the +official PAT/CLI, but the exact product eligibility is account-controlled and is not inferred by +OpenCodex. There is no automatic regional failover or credential exchange. The companion Qoder CN +integration is intentionally delivered as a separate provider/PR with its own PAT, CLI profile, +model entitlement, cache, usage, and health state. + +## Qoder CN + +1. Install the official CLI: `npm install -g @qodercn-ai/qoderclicn` (the vendor install script is also supported). +2. Create a PAT at `https://qoder.cn/account/integrations`. +3. Add the `qoder-cn` provider and paste the PAT as its API key. +4. Run `ocx provider test qoder-cn` to verify the exact account's authentication and live roster. + +The CN profile accepts only `https://qoder.cn`, resolves `qodercn`/`qoderclicn`, and passes the +credential only as `QODERCN_PERSONAL_ACCESS_TOKEN`. It never reads the local interactive login or +OpenCodex OAuth state. Global and CN credentials, executable resolution, model cache identity, +usage, and health are independent; neither region falls back to the other. + +The static CN roster is only a degraded seed captured from authenticated `qoderclicn --list-models` +on 2026-09-03. Live discovery remains authoritative. A real headless turn reached Qoder CN and +returned vendor error code 118 because that test account had zero credits. This proves the local +authentication/transport/model route, not successful inference; no successful CN response is claimed. + +Qoder CN primary sources (verified 2026-09-03): + +- Installation: +- PAT authentication: +- Headless scripts: +- SDK authentication: +- SDK quick start: + +This implementation credits Liang Xu (`Liang-Psych`) for the earlier Qoder CN exploration in +OpenCodex PR #3010. It retains the useful high-level direction—official CLI, headless stream JSON, +and tools disabled—but deliberately replaces that PR's OAuth/private-protocol and ambient-session +design with the documented PAT environment contract and the shared audited coding-agent adapter. + +Primary sources (verified 2026-09-03): + +- Installation: +- PAT authentication: +- Headless scripts and CI: +- Account model discovery: +- SDK/tool configuration: +- Terms: + +The service terms identify BRIGHT ZENITH PRIVATE LIMITED as the operator. This integration uses the +documented CLI automation surface; maintainers should still make the final routing/AUP determination. diff --git a/gui/public/provider-icons/README.md b/gui/public/provider-icons/README.md index f5e64b568b8..1aab8d651ce 100644 --- a/gui/public/provider-icons/README.md +++ b/gui/public/provider-icons/README.md @@ -259,3 +259,69 @@ are the same company, and the mainland console publishes only the wordmark. the same shape as the three Alibaba ids sharing `alibaba-color.svg`. **Not masked:** three linear gradients in Meta brand blue (#0064E0 -> #0278F1), and masking flattens a gradient to a single ink. + +## Qoder (2026-09-08) + +- `qoder.svg` — fetched 2026-09-08 from `https://qoder.com/favIcon.svg`, the icon + the site declares in its own ``. The + conventional paths are all 404s here (`/favicon.svg`, `/icon.svg`, `/logo.svg`), + and the lowercase spelling is one of them — the served path capitalizes the I. + Unmodified: no comments, no ``/`<desc>`, no `data-name`, `xmlns` already + present, so nothing needed stripping. + + Corroborated four ways rather than assumed. `qoder.cn/favIcon.svg` and + `qoder.com.cn/favIcon.svg` serve the same 73379 bytes (MD5 `95f4aecb…`), and so + does the `logo` URL Qoder declares in its own schema.org `Organization` block + (`img.alicdn.com/imgextra/i4/O1CN018ikLCF1sGya2c3YY4_!!6000000005740-55-tps-206-206.svg`). + The 105x26 lockup on the marketing site is the wordmark and is refused for the + usual reason. + + Wired to both `qoder` and `qoder-cn`. One brand on two operators — Global is + BRIGHT ZENITH PRIVATE LIMITED, CN is 通义云启(杭州)信息技术有限公司 with + Alibaba Cloud as co-provider — which is the `meta-model`/`meta-muse` shape, not + a plan split. **Not masked:** an `#F3F3F3` rounded plate carrying a `#0F0D0C` + glyph, 94.5% opaque at 160px. Both inks are neutral, so masking would collapse + plate and glyph into the single filled box the plate problem above records. + As an image it reads on both surfaces. + + Neither terms document prohibits this. Qoder's Terms of Service + (`qoder.com/product-service`, updated 2026-04-29) reserve rights generally in + §4.1 and confine §9 Intellectual Property to a complaints procedure; its only + trademark sentence warrants the user's own marks in User Content. The CN + agreement (`qoder.cn/product-service`, updated 2026-05-20) §五(a) reserves + 商标 rights without restricting third-party use. Silence plus reserved rights + is the same posture under which `meta.svg` shipped. + + The file is 73 KB, the largest here, all of it high-precision path + coordinates. `docs.qoder.com/logo.svg` is the same symbol at 39665 bytes on a + dark `#111113` plate and would be an acceptable swap under the same + docs-subdomain precedent as `together.svg`; the favicon was preferred for its + corroboration. + +### CodeBuddy: mark exists, terms forbid it + +`codebuddy` and `codebuddy-cn` keep the fallback tile by decision, not for lack +of an asset. Tencent publishes a usable 40x40 square symbol — a gradient roundel +at `codebuddy-1328495429.cos.accelerate.myqcloud.com/web/ide/logo.svg`, declared +as the site icon, byte-identical to the one `codebuddy.cn` serves from +`download.codebuddy.cn` — and it would render well at 19px. + +It is not ours to use. §9.3 "Tencent Logo" of the CodeBuddy service agreement, +identical on `codebuddy.ai/document/term` and `codebuddy.cn/document/term`: +"You shall not use Tencent's trademarks service marks, trade names, domain +names, website names or other distinctive brand features of Tencent under any +circumstances… Without the prior written consent of the Tencent, you shall not +display, use, or otherwise dispose of the aforesaid Tencent Logos in any way, +either alone or in combination." §6.2 adds that unauthorized use "may also +violate applicable laws including… trademark laws." "Under any circumstances" +and "other distinctive brand features" reach the CodeBuddy product mark, which +is a Tencent Cloud brand. + +There is no brand-permission page to rely on: `codebuddy.ai/document/brand` +returns 200 but is byte-identical to a route that does not exist, so it is the +SPA catch-all shell; `/press` is a real 404. + +This one needs to stay written down. The wiring test only fires when an asset +named after the provider id is already committed, so an absent mark produces no +signal at all — nothing would stop a later pass from fetching that logo and +committing it. diff --git a/gui/public/provider-icons/packycode.svg b/gui/public/provider-icons/packycode.svg new file mode 100644 index 00000000000..5ee69b8cd98 --- /dev/null +++ b/gui/public/provider-icons/packycode.svg @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg id="_图层_2" data-name="图层 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 145.55 113.29"> + <defs> + <style> + .cls-1 { + fill: currentColor; + stroke: currentColor; + stroke-miterlimit: 10; + } + </style> + </defs> + <g id="_图层_1-2" data-name="图层 1"> + <g> + <path class="cls-1" d="M144.68,38.49l-.06-.23c-.88-3.28-2.5-5.94-4.58-8.06.14,5.65-2.96,11.02-6.22,16.66l-.39.68c-2.26,3.91-4.66,7.94-6.57,11.1l-.86,1.38c-3.36,5.44-6.27,10.14-12.18,14.18-8.34,5.87-18.2,5.81-26.92,5.76-2.81-.02-5.48-.03-7.95.14l-.35.02c-3.22.06-5.96,1.57-8.17,4.49l-.14.18c-.86,1.06-1.7,2.26-2.58,3.54-3.43,4.92-7.69,11.04-16.17,12.42-4.37.86-9.98.84-14.94.83h-1.95c-.52,0-1.06,0-1.61,0-6.95,0-16.08-.89-21.94-6.55-.15-.15-.3-.3-.44-.45.5,4.73,2.33,8.64,5.44,11.65,5.86,5.66,14.98,6.55,21.94,6.55.55,0,1.09,0,1.61-.01h1.93c4.96.02,10.58.04,14.96-.83,8.48-1.37,12.74-7.5,16.17-12.42.88-1.27,1.72-2.48,2.58-3.54l.14-.18c2.21-2.92,4.95-4.43,8.17-4.49l.35-.02c2.47-.17,5.13-.16,7.95-.14,8.72.05,18.58.11,26.91-5.76,5.92-4.03,8.82-8.73,12.19-14.17l.86-1.39c1.91-3.15,4.3-7.18,6.57-11.09l.39-.69c3.81-6.6,7.41-12.84,5.86-19.57ZM120.9,23.02c-.28,0-.56,0-.83,0-9.68-.19-24.03-.09-35.57-.01l-2.04.02c-.93.01-1.82.02-2.67.03-8.36.08-14.4.13-23.33,3.82l-.27.12c-10.76,4.68-16.91,12.16-22.83,21.95-5.53,8.76-12.62,20.57-16.32,26.79-.41.69-.77,1.3-1.09,1.84l-.49.84c-1.49,2.53-3.23,5.49-4.21,8.95,3.98,1.9,8.52,2.65,12.71,2.91.27-.77.64-1.56,1.07-2.38.48-.94,1.05-1.9,1.63-2.89l.49-.84c.96-1.62,2.38-3.99,4.05-6.78,3.82-6.36,8.98-14.88,13.19-21.55l.07-.11c5.02-8.31,9.2-13.45,16.91-16.81l.11-.05c6.57-2.7,10.54-2.74,18.43-2.81.87-.01,1.78-.02,2.69-.03l1.99-.02c9.17-.06,20.13-.14,29.01-.07,2.26.01,4.39.04,6.32.08h.12s.11,0,.11,0c1.25-.01,2.91.11,4.61.46,1.03.22,2.08.52,3.05.93.21-.35.41-.71.62-1.06l.39-.68c1.92-3.33,3.79-6.57,4.97-9.82-4.08-1.92-8.7-2.76-12.89-2.82Z"/> + <path class="cls-1" d="M115.07,11.81c-9.7-.19-24.07-.09-35.62-.01h-1.99c-.93.03-1.82.04-2.67.04-8.36.08-14.4.14-23.33,3.83l-.27.12c-10.76,4.67-16.91,12.16-22.83,21.95-6.13,9.71-14.19,23.21-17.41,28.63l-.5.84c-2.08,3.55-4.68,7.97-4.94,13.39v.2s0,.21,0,.21c.01.81.06,1.61.15,2.38.14.15.29.3.44.45,1.53,1.47,3.28,2.63,5.15,3.52,3.98,1.9,8.52,2.65,12.71,2.91,1.41.09,2.78.12,4.08.12.55,0,1.09-.01,1.61-.01h1.95c4.95.01,10.57.03,14.94-.83,8.48-1.38,12.74-7.5,16.17-12.42.88-1.28,1.72-2.48,2.58-3.54l.14-.18c2.21-2.92,4.95-4.44,8.17-4.49l.35-.02c2.47-.17,5.14-.16,7.95-.14,8.71.05,18.58.1,26.92-5.76,5.91-4.04,8.82-8.74,12.18-14.18l.86-1.39c1.74-2.86,3.87-6.45,5.95-10.03.21-.35.41-.71.62-1.06l.39-.68c1.92-3.33,3.79-6.57,4.97-9.82.82-2.26,1.31-4.53,1.25-6.84-5.18-5.29-13.22-7.25-19.97-7.19ZM122.56,40.37l-.39.67c-2.21,3.81-4.55,7.77-6.39,10.79l-.84,1.36c-3.01,4.87-4.83,7.81-8.48,10.29l-.1.07c-4.94,3.49-11.95,3.45-19.38,3.41-2.88-.02-5.87-.04-8.79.16-7.1.19-13.51,3.58-18.07,9.57-1.13,1.4-2.12,2.83-3.08,4.21-2.92,4.18-4.71,6.57-7.64,7.02l-.31.06c-3.09.63-8.28.61-12.45.6h-2.16c-3.85.07-7.01-.16-9.45-.69-2.24-.48-3.87-1.22-4.89-2.2-.66-.64-1.54-1.81-1.63-4.65.11-1.35.71-2.82,1.52-4.35.48-.94,1.05-1.9,1.63-2.89l.49-.84c3.17-5.33,11.19-18.75,17.24-28.33l.07-.11c5.02-8.32,9.2-13.45,16.92-16.81l.1-.05c6.57-2.7,10.54-2.74,18.43-2.82.87,0,1.78,0,2.69-.03h1.94c11.52-.09,25.86-.19,35.38,0h.23c1.25-.01,2.92.11,4.61.46,3.15.66,6.4,2.12,7.27,5.02.2,1.2-.89,3.62-2.27,6.18-.7,1.31-1.48,2.65-2.2,3.9ZM120.07,23.01c-9.68-.19-24.03-.09-35.57-.01l-2.04.02c-.93.01-1.82.02-2.67.03-8.36.08-14.4.13-23.33,3.82l-.27.12c-10.76,4.68-16.91,12.16-22.83,21.95-5.53,8.76-12.62,20.57-16.32,26.79-.78-.35-1.41-.77-1.9-1.24-.66-.64-1.54-1.81-1.63-4.65.18-2.18,1.62-4.64,3.15-7.25l.49-.83c3.17-5.32,11.18-18.73,17.24-28.33l.07-.12c5.02-8.31,9.2-13.45,16.92-16.81l.1-.04c6.57-2.7,10.54-2.74,18.43-2.82.87-.01,1.78-.01,2.69-.03h1.99c11.5-.09,25.82-.19,35.33,0h.23c3.57-.04,10.55,1.02,11.88,5.48.14.84-.35,2.27-1.13,3.93-.28,0-.56,0-.83,0Z"/> + <path class="cls-1" d="M134.68,16.09l-.06-.23c-3.07-11.45-15.08-15.33-24.55-15.25-9.68-.19-24.03-.09-35.57-.01h-2.04c-.93.03-1.82.04-2.67.04-8.36.08-14.4.14-23.33,3.83l-.27.12c-10.76,4.67-16.91,12.16-22.83,21.95-6.14,9.73-14.2,23.22-17.41,28.62l-.49.85c-2.09,3.55-4.69,7.96-4.95,13.39v.2s0,.21,0,.21c.09,5.57,1.82,10.13,5.15,13.58.14.15.29.3.44.45,1.53,1.47,3.28,2.63,5.15,3.52,3.98,1.9,8.52,2.65,12.71,2.91,1.41.09,2.78.12,4.08.12.55,0,1.09-.01,1.61-.01h1.95c4.95.01,10.57.03,14.94-.83,8.48-1.38,12.74-7.5,16.17-12.42.88-1.28,1.72-2.48,2.58-3.54l.14-.18c2.21-2.92,4.95-4.44,8.17-4.49l.35-.02c2.47-.17,5.14-.16,7.95-.14,8.71.05,18.58.1,26.92-5.76,5.91-4.04,8.82-8.74,12.18-14.18l.86-1.39c1.74-2.86,3.87-6.45,5.95-10.03.21-.35.41-.71.62-1.06l.39-.68c1.92-3.33,3.79-6.57,4.97-9.82.82-2.26,1.31-4.53,1.25-6.84-.02-.96-.14-1.93-.36-2.91ZM119.76,25.27c-.7,1.31-1.48,2.65-2.2,3.9l-.39.67c-1.19,2.04-2.41,4.13-3.57,6.09-1.01,1.7-1.97,3.31-2.82,4.7l-.84,1.36c-3.01,4.87-4.83,7.81-8.48,10.29l-.1.07c-4.94,3.49-11.96,3.45-19.38,3.41-2.89-.02-5.87-.04-8.79.16-7.1.18-13.51,3.58-18.07,9.57-1.13,1.4-2.12,2.83-3.08,4.21-2.92,4.18-4.71,6.57-7.64,7.02l-.31.06c-3.09.63-8.27.61-12.45.6h-2.16c-3.85.07-7.01-.16-9.45-.69-1.16-.25-2.16-.57-2.99-.96-.78-.35-1.41-.77-1.9-1.24-.66-.64-1.54-1.81-1.63-4.65.18-2.18,1.62-4.64,3.15-7.25l.49-.83c3.17-5.32,11.18-18.73,17.24-28.33l.07-.12c5.02-8.31,9.2-13.45,16.92-16.81l.1-.04c6.57-2.7,10.54-2.74,18.43-2.82.87-.01,1.78-.01,2.69-.03h1.99c11.5-.09,25.82-.19,35.33,0h.23c3.57-.04,10.55,1.02,11.88,5.48.14.84-.35,2.27-1.13,3.93-.34.72-.73,1.48-1.14,2.25Z"/> + </g> + </g> +</svg> \ No newline at end of file diff --git a/gui/public/provider-icons/qoder.svg b/gui/public/provider-icons/qoder.svg new file mode 100644 index 00000000000..599212e57a4 --- /dev/null +++ b/gui/public/provider-icons/qoder.svg @@ -0,0 +1,5 @@ +<svg width="206" height="206" viewBox="0 0 206 206" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="206" height="206" rx="52" fill="#F3F3F3"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M104.003 35.8361C104.122 35.8899 104.223 35.938 104.308 35.9805C104.575 36.1139 104.784 36.2211 104.937 36.3023L154.881 62.632L154.9 62.6418C154.992 62.6907 155.084 62.7426 155.173 62.7973C160.753 65.8115 165.083 70.1612 168.163 75.8464C171.221 81.491 172.75 87.925 172.75 95.1484V117.637C172.75 117.795 172.743 117.954 172.728 118.111V158.251C172.728 163.577 170.488 167.682 166.008 170.563C161.529 173.445 156.866 173.781 152.021 171.573L143.479 167.682L143.449 167.699L143.279 167.796C143.276 167.798 143.237 167.821 143.159 167.867C142.593 168.202 142.154 168.454 141.84 168.625C141.789 168.654 141.686 168.709 141.532 168.79C141.479 168.819 141.443 168.837 141.426 168.846L141.174 168.979C140.759 169.203 140.355 169.414 139.961 169.61L139.342 169.911L139.192 169.982C138.849 170.145 138.46 170.326 138.025 170.524L137.252 170.86C136.994 170.973 136.623 171.127 136.137 171.32L136.002 171.374L135.892 171.42C135.835 171.443 135.78 171.466 135.725 171.488C135.49 171.584 135.294 171.661 135.137 171.716C134.872 171.814 134.453 171.961 133.881 172.16L133.879 172.161L133.715 172.219C133.549 172.28 133.366 172.342 133.165 172.407C132.571 172.603 131.9 172.805 131.151 173.012L127.646 173.973C126.996 174.153 126.392 174.306 125.833 174.432L125.437 174.515L125.039 174.596C124.663 174.676 124.363 174.738 124.139 174.782C124.007 174.809 123.855 174.836 123.681 174.864C123.646 174.869 123.625 174.872 123.619 174.874L123.11 174.956C123.106 174.957 123.084 174.961 123.044 174.967C122.729 175.02 122.483 175.059 122.304 175.085C122.178 175.104 121.986 175.129 121.727 175.159L121.331 175.209L120.674 175.285C120.526 175.302 120.362 175.317 120.18 175.33L120.066 175.341L120.015 175.345C119.546 175.384 119.175 175.411 118.903 175.426C118.815 175.433 118.717 175.438 118.608 175.443L118.645 175.439C118.497 175.452 118.347 175.459 118.198 175.459H118.137C117.737 175.478 117.398 175.487 117.121 175.487H116.455C116.418 175.487 116.381 175.487 116.344 175.486C116.298 175.485 116.224 175.484 116.122 175.483C115.843 175.479 115.623 175.473 115.461 175.466C115.335 175.462 115.132 175.452 114.852 175.434L114.824 175.432L114.654 175.426L114.273 175.407C114.212 175.404 114.15 175.399 114.088 175.394L113.388 175.332C112.948 175.29 112.527 175.243 112.124 175.19L111.925 175.166C111.882 175.162 111.839 175.155 111.796 175.149C111.339 175.081 110.875 175.005 110.403 174.921L109.901 174.827L109.871 174.821C109.63 174.777 109.429 174.736 109.27 174.698L109.224 174.687L109.158 174.672L109.037 174.644C108.61 174.549 108.15 174.435 107.656 174.301L107.629 174.294C107.5 174.263 107.358 174.226 107.201 174.181L107.2 174.181C106.608 174.013 106.029 173.831 105.463 173.634C105.307 173.586 105.154 173.53 105.004 173.466L104.884 173.42C104.405 173.241 104.002 173.083 103.675 172.948C103.58 172.909 103.469 172.861 103.342 172.804C103.29 172.781 103.261 172.768 103.255 172.766L103.084 172.692C102.756 172.551 102.39 172.384 101.986 172.19L101.906 172.152L101.891 172.145C101.798 172.103 101.715 172.063 101.64 172.025C101.571 171.99 101.501 171.955 101.431 171.918C101.407 171.906 101.386 171.895 101.369 171.886C101.249 171.835 101.13 171.778 101.012 171.716L101.009 171.715L51.5574 145.645C51.215 145.509 50.8889 145.336 50.5849 145.128C48.367 143.914 46.3274 142.453 44.4659 140.744C44.4647 140.743 44.4635 140.742 44.4623 140.741C44.4584 140.737 44.4546 140.734 44.4507 140.73C44.4362 140.717 44.4214 140.704 44.4064 140.69C43.6029 139.953 42.8113 139.14 42.0317 138.252C42.0244 138.243 42.0171 138.235 42.0097 138.226C42.0082 138.224 42.0067 138.222 42.0051 138.22C41.5797 137.727 41.1892 137.252 40.8338 136.795C40.7387 136.672 40.6464 136.551 40.5567 136.432C35.6857 129.988 33.2502 122.172 33.2502 112.983V90.4946C33.2502 89.8308 33.2644 89.0633 33.2927 88.1921C33.3022 87.9838 33.3174 87.7494 33.3384 87.4888C33.3459 87.3951 33.3511 87.3283 33.3539 87.2882C33.3866 86.7286 33.4259 86.2074 33.4719 85.7247C33.4848 85.5587 33.5136 85.2969 33.5583 84.9392C33.5691 84.8524 33.5769 84.7892 33.5817 84.7498C33.589 84.6881 33.6006 84.5877 33.6166 84.4487C33.672 83.9681 33.7187 83.5958 33.7569 83.3318C33.7999 83.0465 33.8556 82.7028 33.9239 82.3007C33.9303 82.2616 33.9429 82.1836 33.9618 82.0668C34.0386 81.5927 34.1025 81.2235 34.1537 80.9593C34.1539 80.9576 34.1542 80.9559 34.1545 80.9542L34.1507 80.9713C34.1669 80.871 34.1817 80.7851 34.1951 80.7134C34.3125 80.1121 34.4286 79.5636 34.5433 79.0679C34.5554 79.0129 34.5689 78.9553 34.5837 78.895C34.704 78.3592 34.8544 77.7535 35.0349 77.078C35.0683 76.9444 35.1121 76.78 35.1663 76.5847C35.1764 76.5481 35.1839 76.5212 35.1886 76.5042C35.4221 75.6865 35.6047 75.0694 35.7364 74.653C35.7408 74.639 35.7453 74.6249 35.7499 74.6109C35.7573 74.5867 35.7647 74.5627 35.7723 74.539C35.7789 74.517 35.7857 74.495 35.7926 74.473C35.8241 74.3734 35.8643 74.2549 35.9134 74.1174L35.9251 74.085C36.1639 73.3479 36.3895 72.6905 36.6021 72.1127C36.6575 71.9603 36.7417 71.7385 36.8547 71.4475C36.8818 71.3777 36.9019 71.3258 36.9151 71.2917C36.9324 71.247 36.9593 71.177 36.9959 71.0817C37.2171 70.5062 37.3921 70.0651 37.5208 69.7585L37.5168 69.7661C37.5549 69.6676 37.5905 69.5789 37.6236 69.5C37.6858 69.3466 37.7661 69.1613 37.8644 68.944C37.8998 68.8657 37.9232 68.8133 37.9347 68.7869C38.152 68.2878 38.3184 67.9104 38.4338 67.6548C38.5471 67.4055 38.7105 67.0593 38.9238 66.6163C38.9706 66.5208 39.03 66.3991 39.1019 66.2511C39.2648 65.9163 39.392 65.6588 39.4835 65.4786L39.5155 65.4136C39.5653 65.3091 39.6106 65.2167 39.6516 65.1362C39.7258 64.9869 39.8207 64.8074 39.9362 64.5977C39.9744 64.5283 39.9996 64.4822 40.0115 64.4596C40.0477 64.3922 40.0935 64.3066 40.1489 64.2029C40.3258 63.872 40.463 63.6187 40.5605 63.4432C40.7672 63.0697 40.9619 62.726 41.1445 62.4123C41.2987 62.1332 41.489 61.8063 41.7152 61.4316C41.7383 61.3935 41.7619 61.3555 41.786 61.318L41.7824 61.323C41.7846 61.3193 41.7867 61.3156 41.7888 61.3118L41.7824 61.323C41.8335 61.2318 41.8771 61.1561 41.9132 61.0959C42.0161 60.9245 42.159 60.697 42.342 60.4136C42.5227 60.1209 42.7188 59.811 42.9304 59.484C43.0841 59.2469 43.3076 58.9123 43.601 58.4804L43.9154 58.0238L44.2115 57.5939C44.2325 57.5634 44.2537 57.5333 44.2753 57.5034L44.2749 57.5021C44.3548 57.3822 44.4252 57.2801 44.4861 57.1958C44.5458 57.1108 44.6445 56.9765 44.7821 56.7929C44.8446 56.7095 44.8877 56.6514 44.9115 56.6186C45.2257 56.1886 45.4678 55.8625 45.6377 55.6403L45.9946 55.1837L46.3262 54.7597C46.5387 54.4816 46.7902 54.1653 47.0808 53.811C47.0969 53.7914 47.1242 53.7575 47.1628 53.7094C47.2305 53.6246 47.2851 53.5571 47.3267 53.5067C47.4115 53.4034 47.53 53.264 47.6821 53.0885C47.7338 53.0289 47.771 52.9858 47.7938 52.9593C47.8766 52.8642 47.9852 52.7384 48.1197 52.582C48.3585 52.3041 48.544 52.0909 48.6764 51.9423L49.3723 51.1748C49.5804 50.9454 49.8853 50.6178 50.2869 50.1921C50.3199 50.1572 50.3534 50.1227 50.3874 50.0888L50.3985 50.0741C50.5274 49.9324 50.6395 49.8139 50.7349 49.7185C50.7855 49.6679 50.8533 49.6012 50.9383 49.5185C50.99 49.4683 51.0247 49.4343 51.0424 49.4165C51.4915 48.9675 51.9017 48.5656 52.2729 48.2107C52.3283 48.1583 52.4007 48.0891 52.49 48.0029C52.6771 47.8224 52.8271 47.6806 52.9399 47.5775C53.3761 47.1664 53.9052 46.6923 54.5271 46.155C54.5279 46.1543 54.5287 46.1536 54.5295 46.1528L54.5189 46.161C54.617 46.0697 54.7025 45.9924 54.7754 45.9292C54.8391 45.8741 54.904 45.8206 54.9705 45.7688C54.997 45.7476 55.0236 45.7269 55.0503 45.7065L55.0774 45.6851L55.0939 45.6717C55.5288 45.3081 55.9911 44.9311 56.4808 44.5407C56.5166 44.5125 56.5529 44.4839 56.5898 44.4548C56.7923 44.2954 56.9507 44.1724 57.0648 44.0858C57.2979 43.9051 57.6655 43.6275 58.1675 43.253C58.2075 43.2232 58.2479 43.1939 58.2888 43.1654C58.3729 43.1065 58.5143 43.0042 58.7128 42.8586C59.1025 42.577 59.5704 42.2518 60.1163 41.883L60.1145 41.8841L60.1593 41.8524C60.2852 41.7638 60.3942 41.6892 60.4862 41.6287C60.5329 41.5967 60.5792 41.5661 60.6251 41.5367C61.2865 41.1057 61.8541 40.7475 62.3278 40.4623C62.4222 40.4035 62.5743 40.3142 62.7839 40.1944C62.7838 40.1941 62.8182 40.1736 62.8873 40.1328C63.453 39.7986 63.8928 39.5462 64.2065 39.3754L64.8387 39.0383L64.872 39.0207C65.2867 38.7973 65.6911 38.5871 66.0852 38.39C66.2669 38.2991 66.5247 38.1744 66.8586 38.0158C67.1979 37.8542 67.5857 37.6746 68.0218 37.477L68.4373 37.2954L68.7948 37.1398C69.0934 37.0111 69.5097 36.84 70.0435 36.6265C70.1097 36.6005 70.1844 36.5712 70.2678 36.5384C70.5114 36.4427 70.6998 36.3699 70.833 36.3199C71.1527 36.2027 71.5991 36.0447 72.1722 35.8457C72.2132 35.8316 72.2719 35.8109 72.3482 35.7837C72.574 35.7031 72.7593 35.64 72.904 35.5945C73.5201 35.3928 74.1846 35.1929 74.8975 34.9948L78.4057 34.0333C79.0348 33.8574 79.6373 33.7044 80.2131 33.5744C80.378 33.5359 80.5868 33.4913 80.8395 33.4407C81.1612 33.3685 81.5282 33.2925 81.9406 33.2127C82.0871 33.1842 82.2808 33.151 82.5216 33.1131C82.5981 33.101 82.6517 33.0924 82.6826 33.0873C82.7524 33.0758 82.852 33.0591 82.9815 33.0372C83.2985 32.9834 83.5459 32.9435 83.7238 32.9177C83.7635 32.9119 83.8033 32.9066 83.8432 32.9018L84.1737 32.8619L84.504 32.822C84.5516 32.8162 84.6345 32.8056 84.7525 32.7903C85.0348 32.7538 85.2559 32.7271 85.4158 32.7105C85.5254 32.6991 85.6353 32.6913 85.7453 32.6873L86.07 32.6632C86.533 32.6238 86.9091 32.5967 87.1982 32.582C87.3378 32.5734 87.5561 32.5646 87.8533 32.5556L87.8692 32.5551C87.9598 32.5532 88.0717 32.5499 88.205 32.5453C88.4606 32.5364 88.6706 32.5314 88.835 32.5303C88.9748 32.5275 89.1472 32.5271 89.3523 32.529L89.537 32.5302C89.6342 32.5318 89.7388 32.5334 89.851 32.5349C90.1448 32.5389 90.3757 32.5444 90.5436 32.5514C90.6803 32.5549 90.9082 32.5655 91.2273 32.5832C91.2891 32.5871 91.3656 32.5912 91.4568 32.5957C91.6011 32.6026 91.7158 32.6089 91.8012 32.6144C91.9206 32.6204 92.0953 32.6356 92.3254 32.6598L92.6313 32.6871C93.0373 32.7257 93.4523 32.7724 93.8761 32.8271L93.8896 32.8288L93.8913 32.829C94.0015 32.8408 94.0983 32.8527 94.1819 32.8646C94.6093 32.9223 95.085 32.9984 95.6089 33.093C95.6739 33.1047 95.7386 33.1178 95.8031 33.1321L95.8062 33.1318C95.8842 33.1466 95.9548 33.1606 96.0179 33.1737C96.0408 33.1779 96.0713 33.1835 96.1093 33.1905C96.3333 33.2314 96.5177 33.2683 96.6627 33.301C96.7395 33.3173 96.8375 33.3418 96.9566 33.3744C96.9806 33.3797 97.0046 33.385 97.0288 33.3903C97.2476 33.4387 97.4749 33.4924 97.7107 33.5517C97.9063 33.6006 98.1067 33.6529 98.3119 33.7085L98.3072 33.7071L98.3401 33.7149C98.4501 33.742 98.5513 33.7682 98.6438 33.7934C98.6594 33.7976 98.6743 33.8018 98.6886 33.8058C98.7485 33.8224 98.8045 33.8387 98.8566 33.8545C98.8608 33.8557 98.865 33.8569 98.8692 33.8581C99.3732 34.0019 99.9241 34.1774 100.522 34.3846C100.548 34.3932 100.574 34.4019 100.6 34.4109C100.733 34.4556 100.881 34.5109 101.044 34.5769C101.508 34.7451 101.931 34.9089 102.311 35.0684C102.368 35.0928 102.417 35.1139 102.459 35.1317C102.655 35.2169 102.808 35.2839 102.918 35.3328C103.261 35.4856 103.61 35.6469 103.963 35.8169L104.003 35.8361ZM101.032 34.5728L101.03 34.5721C101.033 34.573 101.035 34.5739 101.038 34.5748C101.036 34.5741 101.034 34.5735 101.032 34.5728ZM104.903 162.561L105.666 162.963C105.717 162.991 105.807 163.037 105.935 163.102C105.972 163.121 106.002 163.136 106.025 163.148C106.092 163.178 106.131 163.197 106.145 163.205L106.281 163.269C106.554 163.401 106.811 163.519 107.052 163.622L107.063 163.627C107.148 163.663 107.253 163.708 107.38 163.765C107.425 163.785 107.449 163.796 107.452 163.797C107.68 163.891 107.998 164.015 108.408 164.169L108.458 164.189C108.52 164.211 108.58 164.234 108.641 164.257L108.655 164.263C109.054 164.403 109.476 164.536 109.919 164.661C109.914 164.66 109.885 164.654 109.835 164.643C109.904 164.659 109.973 164.675 110.041 164.693L110.249 164.747C110.596 164.84 110.948 164.927 111.306 165.008L111.379 165.025L111.451 165.041L111.564 165.067L111.672 165.086L111.703 165.092L112.139 165.174C112.496 165.238 112.847 165.295 113.191 165.347L113.391 165.372C113.685 165.41 113.977 165.443 114.269 165.47L114.88 165.525L115.066 165.535L115.442 165.551L115.47 165.553C115.644 165.565 115.787 165.572 115.899 165.576C115.964 165.579 116.087 165.581 116.267 165.584C116.363 165.585 116.443 165.586 116.506 165.587H117.121C117.26 165.587 117.474 165.58 117.764 165.566C117.848 165.561 117.932 165.559 118.015 165.559H118.037C118.081 165.557 118.126 165.555 118.174 165.552L118.156 165.555C118.215 165.55 118.274 165.546 118.334 165.542C118.501 165.534 118.779 165.514 119.169 165.481L119.325 165.467C119.376 165.462 119.427 165.458 119.479 165.455C119.506 165.453 119.53 165.451 119.549 165.449L120.088 165.388L120.592 165.324C120.728 165.308 120.832 165.295 120.904 165.284C121.005 165.27 121.174 165.243 121.411 165.203C121.454 165.196 121.491 165.19 121.522 165.185L121.924 165.119C121.976 165.11 122.042 165.1 122.123 165.087L122.114 165.091C122.152 165.082 122.191 165.074 122.23 165.067C122.398 165.035 122.677 164.977 123.068 164.895L123.398 164.828L123.653 164.775C124.058 164.683 124.517 164.567 125.03 164.425L128.507 163.472C129.101 163.307 129.652 163.141 130.162 162.973C130.219 162.955 130.253 162.943 130.266 162.939C130.308 162.922 130.35 162.907 130.393 162.892L130.632 162.808H130.634C131.154 162.628 131.551 162.487 131.825 162.387C131.834 162.383 131.882 162.364 131.971 162.328C132.052 162.295 132.097 162.276 132.106 162.273L132.326 162.182C132.367 162.166 132.414 162.147 132.467 162.126C132.853 161.972 133.13 161.858 133.299 161.784L133.938 161.506C134.318 161.334 134.65 161.181 134.935 161.045L135.024 161.003L135.533 160.756C135.838 160.604 136.178 160.426 136.553 160.224L136.711 160.141C136.766 160.112 136.839 160.073 136.929 160.025C136.993 159.992 137.052 159.961 137.107 159.93C137.318 159.814 137.658 159.619 138.125 159.343C138.192 159.304 138.261 159.263 138.332 159.221L138.46 159.147H138.461C138.544 159.098 138.619 159.055 138.687 159.017C139.131 158.749 139.551 158.484 139.947 158.224L140.305 157.979C141.736 157.002 143.572 156.845 145.148 157.563L156.125 162.564C157.693 163.279 159.202 163.17 160.652 162.237C162.103 161.304 162.828 159.976 162.828 158.251V117.614C162.828 117.456 162.835 117.298 162.85 117.14V95.1484C162.85 83.7403 158.651 75.8219 150.254 71.3934L149.959 71.2374C149.909 71.2132 149.855 71.1867 149.796 71.158C149.721 71.1217 149.663 71.0932 149.62 71.0724C149.384 70.9567 149.129 70.8386 148.853 70.718C148.676 70.6389 148.548 70.5828 148.468 70.5496C148.234 70.4515 147.944 70.3392 147.597 70.2126L147.415 70.1456L147.313 70.1067C146.939 69.9768 146.534 69.8488 146.096 69.7227L145.999 69.6973L145.777 69.6395C145.321 69.5221 144.979 69.4377 144.751 69.3863C144.724 69.3805 144.683 69.3717 144.629 69.3597C144.371 69.3034 144.185 69.2642 144.072 69.242C144.03 69.2339 143.989 69.2253 143.948 69.2162L143.83 69.1927C143.449 69.1241 143.093 69.0673 142.761 69.0223C142.792 69.0267 142.81 69.0291 142.814 69.0296C142.703 69.0177 142.628 69.0088 142.589 69.0029C142.287 68.9641 141.996 68.931 141.716 68.9037L141.71 68.9033L141.383 68.8734C141.233 68.8611 140.993 68.845 140.663 68.8252C140.435 68.8126 140.276 68.805 140.186 68.8025C140.128 68.8008 140.071 68.7982 140.014 68.7947C139.934 68.7897 139.76 68.7873 139.491 68.7873L138.982 68.7863C138.823 68.7894 138.572 68.7974 138.23 68.8105C138.13 68.8157 138.008 68.8205 137.866 68.8249C137.791 68.8271 137.731 68.8296 137.686 68.8322C137.515 68.8408 137.229 68.8619 136.827 68.8954L136.781 68.899C136.729 68.9029 136.661 68.9074 136.577 68.9127L136.442 68.9231C136.355 68.9316 136.204 68.9492 135.988 68.9761C135.849 68.9934 135.758 69.0044 135.717 69.0091C135.625 69.0209 135.503 69.035 135.352 69.0513C135.248 69.0625 135.179 69.0706 135.146 69.0756C135.049 69.09 134.884 69.1175 134.65 69.158C134.503 69.1832 134.384 69.2036 134.291 69.219C134.229 69.2289 134.145 69.2422 134.038 69.2587C133.907 69.2786 133.814 69.2938 133.759 69.3042C133.645 69.3251 133.444 69.3668 133.157 69.4293C133.028 69.4574 132.949 69.4744 132.92 69.4802C132.827 69.5013 132.7 69.5285 132.54 69.5617C132.451 69.5801 132.403 69.5901 132.396 69.5916C131.906 69.7035 131.445 69.8191 131.014 69.9384L127.538 70.8908C126.968 71.049 126.455 71.2026 125.998 71.3517L125.707 71.4525L125.352 71.575C124.951 71.7086 124.6 71.8325 124.3 71.9467C124.181 71.9913 123.979 72.0708 123.693 72.1852C123.284 72.3461 122.971 72.4736 122.752 72.5678L122.104 72.8516C121.973 72.9113 121.833 72.9757 121.684 73.0449V91.2807C121.684 92.0491 121.665 92.8184 121.628 93.5885C121.622 93.7365 121.609 93.9283 121.591 94.1637L121.59 94.1679L121.571 94.4471L121.57 94.4744C121.528 95.1281 121.491 95.6208 121.457 95.9524C121.439 96.1399 121.414 96.3666 121.381 96.6324L121.329 97.0655C121.322 97.1194 121.312 97.2021 121.299 97.3136C121.248 97.7482 121.207 98.0619 121.178 98.255C121.155 98.4224 121.12 98.6496 121.074 98.9367C121.068 98.9704 121.065 98.9883 121.065 98.9905L121.009 99.3453L121.009 99.3467C120.917 99.902 120.844 100.324 120.788 100.612C120.661 101.278 120.528 101.923 120.389 102.547L120.362 102.657C120.224 103.259 120.071 103.869 119.902 104.487L119.761 104.999C119.578 105.652 119.397 106.263 119.219 106.83L119.068 107.297C118.85 107.97 118.629 108.613 118.405 109.225C118.356 109.361 118.29 109.536 118.205 109.751L118.188 109.793L118.192 109.783L118.08 110.078C118.063 110.121 118.039 110.184 118.007 110.266C117.79 110.827 117.625 111.244 117.512 111.517C117.449 111.674 117.358 111.889 117.239 112.163C117.192 112.273 117.165 112.336 117.158 112.351L117.095 112.503C116.916 112.924 116.752 113.292 116.603 113.609C116.52 113.796 116.401 114.053 116.244 114.381C116.192 114.49 116.148 114.584 116.109 114.664C116.087 114.71 116.055 114.778 116.011 114.868C115.823 115.258 115.676 115.559 115.568 115.77C115.376 116.148 115.2 116.486 115.04 116.784L114.726 117.371L114.51 117.768C114.385 117.994 114.197 118.325 113.947 118.761C113.932 118.786 113.907 118.83 113.871 118.893C113.665 119.251 113.496 119.536 113.364 119.749C113.175 120.066 112.975 120.389 112.764 120.718C112.747 120.745 112.719 120.789 112.68 120.851C112.458 121.207 112.294 121.463 112.191 121.62C112.082 121.789 111.924 122.028 111.715 122.339C111.63 122.465 111.557 122.575 111.495 122.666L111.474 122.698L110.894 123.543L110.828 123.635L110.248 124.44C110.006 124.774 109.774 125.086 109.554 125.376C109.374 125.614 109.136 125.921 108.838 126.296C108.792 126.354 108.722 126.444 108.626 126.564C108.415 126.831 108.255 127.032 108.146 127.165C107.99 127.358 107.765 127.627 107.472 127.971L107.432 128.017L107.427 128.022C107.169 128.329 106.885 128.659 106.573 129.01C106.415 129.187 106.185 129.443 105.883 129.777C105.674 130.009 105.372 130.333 104.979 130.75C104.865 130.87 104.702 131.038 104.49 131.254C104.4 131.346 104.327 131.42 104.271 131.477C103.929 131.825 103.523 132.223 103.055 132.67L102.875 132.844L102.673 133.037L102.415 133.284C101.896 133.765 101.374 134.233 100.848 134.686L100.749 134.772L100.669 134.843L100.589 134.915C100.544 134.955 100.499 134.995 100.452 135.032L100.254 135.197C99.956 135.449 99.52 135.806 98.9463 136.268L98.9399 136.273C98.8505 136.346 98.7376 136.435 98.6012 136.539C98.551 136.577 98.5019 136.615 98.4539 136.652L98.3712 136.715C97.9722 137.023 97.5654 137.329 97.1506 137.632C97.1246 137.65 97.0729 137.688 96.9956 137.746C96.8643 137.844 96.7619 137.919 96.6886 137.971C96.2495 138.286 95.8236 138.581 95.4107 138.856L95.0917 139.078C95.0575 139.102 95.0231 139.126 94.9883 139.148C94.3982 139.537 93.7872 139.923 93.1553 140.305L93.1461 140.31C93.3774 150.816 97.2951 158.232 104.899 162.559C104.9 162.559 104.902 162.56 104.903 162.561ZM85.109 152.14C83.8619 148.186 83.2373 143.919 83.2353 139.337V137.521C83.2347 137.489 83.2344 137.458 83.2344 137.426V116.845C83.2344 116.045 83.2534 115.247 83.2913 114.451C83.2988 114.292 83.313 114.083 83.334 113.822C83.3415 113.729 83.3466 113.663 83.3493 113.626C83.3544 113.552 83.3621 113.44 83.3724 113.29C83.4083 112.76 83.4408 112.342 83.4697 112.035C83.4825 111.908 83.5022 111.733 83.5288 111.511C83.5477 111.353 83.5635 111.213 83.5763 111.091C83.5843 111.024 83.5963 110.921 83.6122 110.782C83.6676 110.301 83.7158 109.919 83.757 109.636C83.797 109.37 83.8504 109.041 83.917 108.649C83.9225 108.616 83.931 108.565 83.9424 108.496C84.0263 107.992 84.0935 107.6 84.144 107.32C84.2642 106.675 84.3948 106.043 84.5356 105.422C84.5486 105.362 84.5632 105.3 84.5794 105.234C84.5829 105.219 84.5864 105.203 84.59 105.188C84.7498 104.507 84.9083 103.874 85.0654 103.29C85.0711 103.27 85.0838 103.223 85.1035 103.148C85.1407 103.006 85.1675 102.907 85.1837 102.851C85.3667 102.187 85.5509 101.565 85.7364 100.984C85.7394 100.975 85.7425 100.965 85.7454 100.956C85.7604 100.907 85.7756 100.859 85.7911 100.812C85.8274 100.699 85.8714 100.57 85.9233 100.425C85.9267 100.416 85.9288 100.41 85.9293 100.409C86.1871 99.6224 86.4078 98.9796 86.5913 98.4808C86.651 98.3166 86.7374 98.0889 86.8505 97.7977C86.8777 97.7276 86.8935 97.687 86.8979 97.6759C87.1126 97.1079 87.3121 96.6018 87.4965 96.1574C87.5769 95.96 87.6945 95.6837 87.8495 95.3284C87.8867 95.2432 87.9153 95.1776 87.9353 95.1316C88.1491 94.6407 88.3155 94.2636 88.4344 94.0001C88.5435 93.7602 88.7034 93.4213 88.9141 92.9835C88.9155 92.9806 88.9169 92.9777 88.9182 92.9749C89.099 92.5951 89.2811 92.2247 89.4646 91.8639C89.5557 91.6816 89.689 91.4218 89.8645 91.0844C89.9194 90.9789 89.9656 90.8899 90.0032 90.8175C90.201 90.4424 90.3841 90.1034 90.5524 89.8004C90.7617 89.4223 90.9573 89.0771 91.1389 88.7647L91.4063 88.3047L91.7037 87.7941C91.8473 87.5548 92.0487 87.2295 92.3079 86.8181C92.4094 86.6532 92.5571 86.4188 92.7509 86.1149C92.8189 86.0084 92.8779 85.9158 92.9281 85.8371C93.0803 85.6022 93.2952 85.2806 93.5727 84.8722C93.8298 84.4867 94.0521 84.1637 94.2398 83.9033C94.4559 83.5971 94.6806 83.2865 94.9138 82.9715C95.2236 82.5476 95.4605 82.2284 95.6245 82.014C95.8073 81.7734 96.0476 81.4661 96.3452 81.0921L96.69 80.6582L97.0805 80.168C97.2347 79.9804 97.4631 79.7075 97.7656 79.3492L97.7895 79.3212C97.8343 79.2689 97.9023 79.1892 97.9935 79.0823C98.2842 78.7413 98.506 78.4851 98.6587 78.3137C98.8175 78.1339 99.0523 77.8728 99.3629 77.5304C99.5705 77.3015 99.8791 76.9701 100.289 76.536C100.534 76.2773 100.774 76.0318 101.006 75.7993C101.356 75.4442 101.766 75.0422 102.236 74.5932C102.529 74.3084 102.75 74.0982 102.898 73.9627C103.423 73.4747 103.975 72.9804 104.555 72.4797L104.568 72.4679C104.572 72.4646 104.575 72.4614 104.579 72.4582L104.568 72.4679C104.69 72.3555 104.78 72.2755 104.837 72.2279C104.93 72.1485 105.043 72.0556 105.178 71.9492C105.67 71.5386 106.104 71.1853 106.48 70.8893C106.615 70.7826 106.802 70.6384 107.041 70.4566C107.478 70.1188 107.863 69.8283 108.196 69.5852L108.738 69.1881C109.156 68.886 109.606 68.5732 110.088 68.2498C110.094 68.2454 110.111 68.2342 110.137 68.2159C110.281 68.1154 110.413 68.0272 110.532 67.9513C111.047 67.6097 111.632 67.2385 112.286 66.8376C112.329 66.8116 112.372 66.7861 112.415 66.7614C112.544 66.6878 112.642 66.6306 112.71 66.59C113.351 66.212 113.817 65.9444 114.107 65.7874C114.195 65.7371 114.288 65.6854 114.387 65.6323C114.427 65.6108 114.467 65.5899 114.507 65.5696C114.569 65.5368 114.639 65.5005 114.715 65.4606C114.784 65.425 114.833 65.3993 114.863 65.3835C115.228 65.1868 115.634 64.9766 116.082 64.7529C116.336 64.6259 116.591 64.5012 116.849 64.3787C117.279 64.1741 117.669 63.9926 118.018 63.8342L118.772 63.5029C119.128 63.3494 119.559 63.1731 120.064 62.9741C120.385 62.8458 120.638 62.7468 120.824 62.6771C121.224 62.5247 121.69 62.36 122.221 62.183L122.468 62.0972L122.76 61.9962C123.466 61.7648 124.175 61.5501 124.888 61.352L128.396 60.3905C128.613 60.3306 128.835 60.2715 129.063 60.213L100.3 45.0496C100.214 45.004 100.083 44.937 99.9066 44.8487C99.9047 44.8478 99.9027 44.8469 99.9007 44.846L99.9075 44.8496C99.7964 44.7991 99.6999 44.7535 99.6181 44.7129C99.4811 44.6472 99.3429 44.5824 99.2036 44.5184C99.1007 44.4713 98.9939 44.4231 98.8832 44.3739C98.8044 44.3386 98.6867 44.2871 98.53 44.2193C98.4876 44.201 98.455 44.1869 98.4322 44.177C98.4314 44.1767 98.4306 44.1763 98.4299 44.176C98.3382 44.1381 98.2427 44.0998 98.1433 44.061C97.9965 44.0041 97.8311 43.9427 97.6473 43.8766C97.5717 43.85 97.4776 43.814 97.3649 43.7686C97.3527 43.7645 97.3407 43.7603 97.3286 43.7561C96.8799 43.5998 96.4567 43.4648 96.059 43.3512L95.9727 43.3283C95.8926 43.3086 95.8272 43.2921 95.7763 43.2788C95.3802 43.1715 95.0531 43.0905 94.795 43.036C94.6972 43.0166 94.5792 42.9882 94.4409 42.9508C94.4084 42.9445 94.3714 42.9375 94.33 42.93C94.2346 42.9125 94.1589 42.8984 94.1029 42.8876C94.0584 42.8789 94.014 42.8697 93.9698 42.8599L93.9667 42.8601C93.9009 42.8477 93.8405 42.8359 93.7854 42.8246C93.4377 42.7625 93.1212 42.7121 92.8358 42.6733C92.725 42.6614 92.6275 42.6495 92.5435 42.6375C92.2732 42.6029 91.997 42.5722 91.7147 42.5453L91.3599 42.5131L91.2927 42.5057L91.289 42.5054L91.1859 42.4959C91.1239 42.4922 91.055 42.4886 90.9793 42.4849C90.835 42.478 90.7203 42.4717 90.6349 42.4662C90.4366 42.4553 90.292 42.4486 90.201 42.446C90.0797 42.4413 89.9183 42.4376 89.7169 42.4349C89.5824 42.433 89.4787 42.4313 89.4058 42.4298C89.4064 42.4305 89.3577 42.4304 89.26 42.4294C89.1424 42.4283 89.0705 42.4281 89.0444 42.4289C88.9973 42.4302 88.9501 42.4309 88.903 42.4309C88.8446 42.4309 88.7268 42.434 88.5495 42.4401C88.3825 42.4459 88.248 42.4499 88.1461 42.4522C87.9529 42.458 87.8209 42.4631 87.7499 42.4674C87.5399 42.4782 87.2415 42.5 86.8546 42.5328L86.5715 42.554L86.3409 42.5711C86.3298 42.572 86.3187 42.5728 86.3077 42.5735C86.2335 42.5825 86.1393 42.5944 86.0254 42.6091C85.8845 42.6274 85.7759 42.6412 85.6996 42.6505L85.3608 42.6915L85.0984 42.7231C84.9951 42.7388 84.8419 42.764 84.6388 42.7985C84.4899 42.8237 84.3759 42.8429 84.2967 42.8558C84.246 42.8643 84.1678 42.8768 84.0619 42.8935C83.9382 42.913 83.8599 42.9259 83.827 42.9323C83.5008 42.9954 83.1868 43.0605 82.885 43.1276C82.6666 43.172 82.5146 43.2042 82.429 43.2242C81.993 43.3228 81.5326 43.4398 81.0478 43.5754L77.5317 44.539C76.9734 44.6941 76.4388 44.8552 75.928 45.0223C75.8676 45.0416 75.7842 45.0701 75.6778 45.1081C75.5623 45.1493 75.4704 45.1817 75.4021 45.2051C74.8937 45.3817 74.5177 45.5145 74.2741 45.6037C74.2132 45.6267 74.085 45.6766 73.8895 45.7534C73.7991 45.7889 73.7301 45.816 73.6823 45.8346C73.2548 46.0058 72.9375 46.1359 72.7303 46.2251L72.3994 46.3693L72.0419 46.5249C71.7073 46.677 71.3972 46.821 71.1115 46.957L71.1072 46.9591C70.8335 47.0891 70.6356 47.1846 70.5135 47.2457C70.2089 47.398 69.8811 47.5686 69.5302 47.7576L69.4965 47.7756L68.9012 48.0927C68.7153 48.1941 68.3892 48.3824 67.9232 48.6577C67.8482 48.702 67.7923 48.735 67.7555 48.7567C67.6073 48.8417 67.518 48.8937 67.4876 48.9125C67.0806 49.1579 66.5958 49.4639 66.0332 49.8305C65.9931 49.8578 65.9533 49.8842 65.9139 49.9097L65.8575 49.9496C65.7862 49.9998 65.7282 50.0401 65.6836 50.0706C65.2073 50.3925 64.8258 50.657 64.5392 50.864C64.3368 51.0125 64.1686 51.1342 64.0344 51.2291C63.607 51.5482 63.2914 51.7866 63.0876 51.9444C62.9946 52.0152 62.8699 52.1121 62.7135 52.2352C62.6748 52.2656 62.6456 52.2887 62.6258 52.3042C62.2109 52.635 61.8299 52.9455 61.4827 53.2357C61.4226 53.2875 61.3346 53.3593 61.2187 53.4512C61.1402 53.5238 61.0704 53.5865 61.0095 53.6393C60.4881 54.0895 60.0428 54.4885 59.6734 54.8362C59.591 54.912 59.488 55.0095 59.3645 55.1286C59.248 55.241 59.1565 55.3286 59.0899 55.3914C58.7889 55.6792 58.4401 56.0213 58.0437 56.4178C57.9931 56.4684 57.9253 56.535 57.8403 56.6177C57.7886 56.6679 57.7539 56.7019 57.7362 56.7197L57.7249 56.7344C57.6255 56.8437 57.536 56.9393 57.4565 57.0211C57.1154 57.3829 56.865 57.6517 56.7055 57.8275L56.0398 58.5614C55.9662 58.6442 55.8292 58.8023 55.6287 59.0355C55.4778 59.2111 55.3624 59.3447 55.2825 59.4363C55.2667 59.4549 55.227 59.5009 55.1632 59.5745C55.0686 59.6836 55.0053 59.7575 54.9736 59.7962C54.9593 59.8136 54.9328 59.8464 54.8943 59.8946C54.8265 59.9794 54.7719 60.047 54.7303 60.0973C54.5152 60.3596 54.3244 60.5997 54.1578 60.8176L53.8013 61.2738L53.4693 61.6981C53.3654 61.8344 53.1797 62.0856 52.9122 62.4515C52.8654 62.5159 52.7968 62.6084 52.7064 62.7292C52.6248 62.8381 52.5706 62.9115 52.5439 62.9494L52.5131 62.9944C52.4514 63.087 52.3954 63.1689 52.345 63.2403L52.0696 63.6401L51.7733 64.0703C51.532 64.4257 51.3545 64.691 51.2409 64.8662C51.0597 65.1463 50.8943 65.4079 50.7447 65.6511C50.7251 65.683 50.7052 65.7146 50.6848 65.7459C50.5481 65.9573 50.4543 66.1054 50.4033 66.1903L50.3824 66.227C50.3045 66.3638 50.2323 66.4853 50.1657 66.5917C50.0113 66.8483 49.8731 67.0865 49.751 67.3064C49.5715 67.6161 49.3943 67.9291 49.2192 68.2454C49.1453 68.3783 49.0325 68.5866 48.881 68.8703C48.8223 68.98 48.7781 69.0627 48.7481 69.1185C48.72 69.1716 48.6738 69.2567 48.6094 69.3736C48.5585 69.4661 48.5308 69.5168 48.5265 69.5259C48.5046 69.571 48.482 69.6157 48.4588 69.66L48.4547 69.6708C48.3897 69.8073 48.3322 69.9233 48.2822 70.0189C48.2355 70.1113 48.1433 70.299 48.0058 70.5818C47.9333 70.7308 47.8767 70.8467 47.8361 70.9296C47.6588 71.2978 47.5309 71.5684 47.4524 71.7412C47.3585 71.9492 47.2134 72.2784 47.0172 72.7288C46.9875 72.7976 46.9436 72.8962 46.8857 73.0244C46.8378 73.1302 46.8106 73.1914 46.8041 73.2079C46.7849 73.2566 46.7649 73.305 46.7441 73.353C46.7433 73.3551 46.7425 73.3573 46.7417 73.3594L46.75 73.3409C46.7166 73.4274 46.6876 73.5004 46.6631 73.5599C46.5646 73.7947 46.4228 74.1529 46.2376 74.6347C46.1998 74.7329 46.1713 74.807 46.152 74.8571C46.1361 74.8984 46.1135 74.9566 46.0843 75.0318C45.9971 75.2565 45.9358 75.4173 45.9005 75.5143C45.7283 75.9826 45.5384 76.5369 45.3309 77.1772C45.3081 77.2459 45.2843 77.3155 45.2595 77.386C45.2346 77.4698 45.2075 77.5532 45.178 77.636C45.1726 77.6528 45.1672 77.6694 45.1617 77.6859C45.0586 78.0149 44.9117 78.5129 44.7212 79.1799L44.7065 79.2334C44.6722 79.3569 44.6508 79.4367 44.6421 79.4728C44.6323 79.5129 44.6222 79.553 44.6115 79.5928C44.4631 80.1463 44.3425 80.6288 44.2497 81.0401C44.2363 81.1019 44.2212 81.1671 44.2043 81.2356C44.2015 81.2478 44.1987 81.2602 44.1958 81.2724C44.1057 81.6601 44.0145 82.0896 43.9222 82.5611C43.9219 82.5631 43.9215 82.5651 43.9212 82.5671L43.9253 82.5485C43.9091 82.6488 43.8943 82.7348 43.8809 82.8064C43.8451 82.9907 43.7966 83.2719 43.7355 83.6497C43.7153 83.7743 43.6999 83.8688 43.6893 83.9332C43.6284 84.2926 43.5824 84.5751 43.5513 84.7805C43.5298 84.9296 43.4969 85.1967 43.4525 85.5819C43.4353 85.7314 43.4221 85.8449 43.4129 85.9225C43.4057 85.9831 43.3956 86.0649 43.3828 86.168C43.3563 86.3799 43.3402 86.5204 43.3347 86.5896C43.2957 87.0031 43.2621 87.4507 43.2337 87.9323C43.2261 88.0425 43.2174 88.1588 43.2075 88.2812C43.1952 88.435 43.1878 88.5377 43.1854 88.5891C43.1625 89.3034 43.1511 89.9389 43.1511 90.4954V112.984C43.1511 119.71 44.7969 125.37 48.0885 129.964C48.2105 130.135 48.3347 130.304 48.4612 130.471C48.7612 130.87 49.1067 131.296 49.4976 131.749C50.0389 132.365 50.5851 132.925 51.1362 133.429C51.1394 133.432 51.1427 133.435 51.146 133.438C51.159 133.45 51.1727 133.462 51.1869 133.475C52.1229 134.329 53.1204 135.091 54.1794 135.76C54.6482 136.057 55.1293 136.336 55.6229 136.597C55.6387 136.605 55.6545 136.613 55.6701 136.622L55.7005 136.637C55.7175 136.646 55.7346 136.655 55.7515 136.664L85.109 152.14ZM93.1353 128.236C93.4493 127.981 93.6922 127.78 93.8641 127.635L94.0621 127.471L94.0756 127.459L94.1552 127.388L94.3292 127.235C94.7991 126.83 95.2489 126.428 95.6787 126.029L95.8253 125.887L96.0277 125.694L96.1784 125.548C96.5995 125.146 96.9459 124.807 97.2176 124.531C97.2581 124.489 97.3285 124.417 97.4289 124.315C97.6004 124.141 97.7231 124.014 97.7971 123.936C98.1301 123.583 98.3794 123.315 98.5452 123.132C98.8197 122.829 99.0227 122.603 99.1543 122.453C99.428 122.145 99.6664 121.87 99.8696 121.627C99.8932 121.599 99.9173 121.571 99.9416 121.543L99.961 121.521C100.189 121.254 100.352 121.059 100.451 120.936C100.54 120.827 100.676 120.657 100.86 120.424C100.962 120.296 101.039 120.198 101.092 120.131C101.332 119.828 101.519 119.588 101.653 119.41C101.842 119.162 102.036 118.901 102.235 118.626L102.797 117.846L102.819 117.815L103.309 117.099L103.311 117.096C103.344 117.047 103.406 116.954 103.499 116.816C103.668 116.564 103.788 116.384 103.858 116.274C103.965 116.111 104.109 115.885 104.29 115.597C104.328 115.536 104.357 115.49 104.378 115.456C104.573 115.153 104.739 114.885 104.877 114.652C104.898 114.616 104.92 114.58 104.942 114.545C105.011 114.435 105.127 114.238 105.289 113.956C105.325 113.894 105.353 113.846 105.371 113.813C105.591 113.43 105.753 113.146 105.856 112.96L106.027 112.645L106.306 112.122C106.44 111.873 106.587 111.591 106.746 111.278C106.819 111.134 106.935 110.898 107.092 110.573C107.137 110.478 107.172 110.405 107.196 110.356C107.213 110.32 107.251 110.241 107.309 110.118C107.427 109.87 107.51 109.694 107.557 109.589C107.708 109.262 107.852 108.94 107.988 108.622L108.004 108.58C108.048 108.477 108.098 108.361 108.153 108.233C108.24 108.031 108.301 107.889 108.334 107.807C108.436 107.558 108.583 107.187 108.773 106.695C108.806 106.611 108.831 106.547 108.849 106.501L108.93 106.284C108.956 106.217 108.98 106.157 109 106.106C109.044 105.996 109.071 105.926 109.082 105.896C109.28 105.353 109.469 104.803 109.649 104.247L109.805 103.768C109.931 103.364 110.073 102.88 110.231 102.318L110.353 101.873C110.486 101.389 110.605 100.913 110.713 100.445L110.766 100.224C110.856 99.8165 110.954 99.3298 111.062 98.7642C111.104 98.5444 111.164 98.2039 111.239 97.7427L111.24 97.7413L111.286 97.4467C111.291 97.4136 111.297 97.3803 111.302 97.3468C111.335 97.1476 111.356 97.0084 111.367 96.9292C111.395 96.7383 111.429 96.4795 111.468 96.1528C111.482 96.0307 111.493 95.9379 111.501 95.8744L111.551 95.4529C111.576 95.2556 111.592 95.114 111.6 95.0279C111.626 94.7717 111.656 94.3788 111.689 93.8493L111.691 93.8218L111.715 93.4636C111.719 93.4193 111.721 93.3886 111.722 93.3716C111.731 93.2627 111.736 93.1977 111.737 93.1766C111.768 92.5227 111.784 91.8907 111.784 91.2807V79.3334C111.683 79.4164 111.58 79.5026 111.473 79.592C111.434 79.6239 111.396 79.6552 111.357 79.6859L111.24 79.7802C111.239 79.7812 111.238 79.7822 111.237 79.7833L111.249 79.7743C111.126 79.8862 111.041 79.9618 110.993 80.0012C110.538 80.3944 110.077 80.8076 109.611 81.2411C109.514 81.3295 109.345 81.4906 109.104 81.7244C108.688 82.1222 108.331 82.4721 108.034 82.7742C107.843 82.9645 107.658 83.1541 107.479 83.3429C107.121 83.7221 106.86 84.0021 106.696 84.1831C106.414 84.4937 106.204 84.7277 106.065 84.8851C105.951 85.0125 105.772 85.2195 105.528 85.5059C105.432 85.6192 105.366 85.6963 105.331 85.7372C105.056 86.0624 104.873 86.2807 104.78 86.3921L104.435 86.827L104.094 87.2552C103.841 87.5734 103.643 87.8273 103.498 88.0169C103.372 88.1822 103.169 88.4556 102.89 88.8374C102.689 89.1089 102.493 89.3801 102.302 89.651C102.166 89.8402 101.994 90.0899 101.787 90.4002C101.534 90.7732 101.359 91.034 101.262 91.1826C101.225 91.2418 101.17 91.3279 101.098 91.4409C100.933 91.6994 100.805 91.9027 100.713 92.0507C100.474 92.4308 100.313 92.6903 100.229 92.8291L99.9616 93.2888L99.698 93.7424C99.551 93.995 99.3887 94.2817 99.2111 94.6025C99.0755 94.8467 98.9312 95.1137 98.7783 95.4034C98.7492 95.4597 98.7058 95.5433 98.6481 95.6541C98.497 95.9446 98.3829 96.1669 98.3057 96.321C98.1488 96.6297 97.9937 96.9454 97.8402 97.268L97.8392 97.2703C97.658 97.6465 97.5293 97.9186 97.453 98.0866C97.3556 98.3021 97.2097 98.633 97.0154 99.0794C96.9949 99.1266 96.9646 99.1963 96.9244 99.2882C96.8019 99.5691 96.7118 99.7803 96.654 99.9218C96.5019 100.289 96.3327 100.718 96.1463 101.211C96.1315 101.25 96.1094 101.306 96.0801 101.382C95.9928 101.607 95.9293 101.774 95.8897 101.882C95.7393 102.291 95.5393 102.876 95.2896 103.637C95.2779 103.671 95.262 103.715 95.242 103.771L95.2393 103.772C95.2279 103.809 95.2161 103.847 95.204 103.884C95.1874 103.939 95.1706 103.991 95.1534 104.043C95.0129 104.485 94.8672 104.979 94.7164 105.526C94.7107 105.546 94.698 105.593 94.6784 105.668C94.6411 105.81 94.6173 105.898 94.607 105.932C94.4938 106.355 94.3708 106.848 94.2382 107.411C94.2266 107.464 94.2138 107.518 94.1998 107.575L94.1965 107.589C94.082 108.092 93.9774 108.598 93.8825 109.107C93.8433 109.324 93.7855 109.662 93.7091 110.122C93.6976 110.191 93.6881 110.247 93.6806 110.293C93.6225 110.634 93.5794 110.898 93.5513 111.084C93.5269 111.253 93.4925 111.53 93.4482 111.915C93.4309 112.065 93.421 112.149 93.4184 112.166C93.4056 112.294 93.3859 112.469 93.3592 112.691C93.3403 112.848 93.3287 112.949 93.3243 112.992C93.3052 113.194 93.2806 113.518 93.2505 113.962C93.2397 114.12 93.2313 114.243 93.2252 114.328C93.2203 114.397 93.213 114.492 93.2032 114.615C93.1908 114.769 93.1834 114.871 93.181 114.923C93.1505 115.562 93.1353 116.203 93.1353 116.846V128.236Z" fill="#0F0D0C"/> +<path d="M41.7824 61.323L41.786 61.318C41.7619 61.3555 41.7383 61.3935 41.7152 61.4316C41.489 61.8063 41.2987 62.1332 41.1445 62.4123C40.9619 62.726 40.7672 63.0697 40.5605 63.4432C40.463 63.6187 40.3258 63.872 40.1489 64.2029C40.0935 64.3066 40.0477 64.3922 40.0115 64.4596C39.9996 64.4822 39.9744 64.5283 39.9362 64.5977C39.8207 64.8074 39.7258 64.9869 39.6516 65.1362C39.6106 65.2167 39.5653 65.3091 39.5155 65.4136L39.4835 65.4786C39.392 65.6588 39.2648 65.9163 39.1019 66.2511C39.03 66.3991 38.9706 66.5208 38.9238 66.6163C38.7105 67.0593 38.5471 67.4055 38.4338 67.6548C38.3184 67.9104 38.152 68.2878 37.9347 68.7869C37.9232 68.8133 37.8998 68.8657 37.8644 68.944C37.7661 69.1613 37.6858 69.3466 37.6236 69.5C37.5905 69.5789 37.5549 69.6676 37.5168 69.7661L37.5208 69.7585C37.3921 70.0651 37.2171 70.5062 36.9959 71.0817C36.9593 71.177 36.9324 71.247 36.9151 71.2917C36.9019 71.3258 36.8818 71.3777 36.8547 71.4475C36.7417 71.7385 36.6575 71.9603 36.6021 72.1127C36.3895 72.6905 36.1639 73.3479 35.9251 74.085L35.9134 74.1174C35.8643 74.2549 35.8241 74.3734 35.7926 74.473C35.7857 74.495 35.7789 74.517 35.7723 74.539C35.7647 74.5627 35.7573 74.5867 35.7499 74.6109C35.7453 74.6249 35.7408 74.639 35.7364 74.653C35.6047 75.0694 35.4221 75.6865 35.1886 76.5042C35.1839 76.5212 35.1764 76.5481 35.1663 76.5847C35.1121 76.78 35.0683 76.9444 35.0349 77.078C34.8544 77.7535 34.704 78.3592 34.5837 78.895C34.5689 78.9553 34.5554 79.0129 34.5433 79.0679C34.4286 79.5636 34.3125 80.1121 34.1951 80.7134C34.1817 80.7851 34.1669 80.871 34.1507 80.9713L34.1545 80.9542C34.1542 80.9559 34.1539 80.9576 34.1537 80.9593C34.1025 81.2235 34.0386 81.5927 33.9618 82.0668C33.9429 82.1836 33.9303 82.2616 33.9239 82.3007C33.8556 82.7028 33.7999 83.0465 33.7569 83.3318C33.7187 83.5958 33.672 83.9681 33.6166 84.4487C33.6006 84.5877 33.589 84.6881 33.5817 84.7498C33.5769 84.7892 33.5691 84.8524 33.5583 84.9392C33.5136 85.2969 33.4848 85.5587 33.4719 85.7247C33.4259 86.2074 33.3866 86.7286 33.3539 87.2882C33.3511 87.3283 33.3459 87.3951 33.3384 87.4888C33.3174 87.7494 33.3022 87.9838 33.2927 88.1921C33.2644 89.0633 33.2502 89.8308 33.2502 90.4946V112.983C33.2502 122.172 35.6857 129.988 40.5567 136.432C40.6464 136.551 40.7387 136.672 40.8338 136.795C41.1892 137.252 41.5797 137.727 42.0051 138.22C42.0067 138.222 42.0082 138.224 42.0097 138.226C42.0171 138.235 42.0244 138.243 42.0317 138.252C42.8113 139.14 43.6029 139.953 44.4064 140.69C44.4214 140.704 44.4362 140.717 44.4507 140.73C44.4546 140.734 44.4584 140.737 44.4623 140.741C44.4635 140.742 44.4647 140.743 44.4659 140.744C46.3274 142.453 48.367 143.914 50.5849 145.128C50.8889 145.336 51.215 145.509 51.5574 145.645L101.009 171.715L101.012 171.716C101.13 171.778 101.249 171.835 101.369 171.886C101.386 171.895 101.407 171.906 101.431 171.918C101.501 171.955 101.571 171.99 101.64 172.025C101.715 172.063 101.798 172.103 101.891 172.145L101.906 172.152L101.986 172.19C102.39 172.384 102.756 172.551 103.084 172.692L103.255 172.766C103.261 172.768 103.29 172.781 103.342 172.804C103.469 172.861 103.58 172.909 103.675 172.948C104.002 173.083 104.405 173.241 104.884 173.42L105.004 173.466C105.154 173.53 105.307 173.586 105.463 173.634C106.029 173.831 106.608 174.013 107.2 174.181L107.201 174.181C107.358 174.226 107.5 174.263 107.629 174.294L107.656 174.301C108.15 174.435 108.61 174.549 109.037 174.644L109.158 174.672L109.224 174.687L109.27 174.698C109.429 174.736 109.63 174.777 109.871 174.821L109.901 174.827L110.403 174.921C110.875 175.005 111.339 175.081 111.796 175.149C111.839 175.155 111.882 175.162 111.925 175.166L112.124 175.19C112.527 175.243 112.948 175.29 113.388 175.332L114.088 175.394C114.15 175.399 114.212 175.404 114.273 175.407L114.654 175.426L114.824 175.432L114.852 175.434C115.132 175.452 115.335 175.462 115.461 175.466C115.623 175.473 115.843 175.479 116.122 175.483C116.224 175.484 116.298 175.485 116.344 175.486C116.381 175.487 116.418 175.487 116.455 175.487H117.121C117.398 175.487 117.737 175.478 118.137 175.459H118.198C118.347 175.459 118.497 175.452 118.645 175.439L118.608 175.443C118.717 175.438 118.815 175.433 118.903 175.426C119.175 175.411 119.546 175.384 120.015 175.345L120.066 175.341L120.18 175.33C120.362 175.317 120.526 175.302 120.674 175.285L121.331 175.209L121.727 175.159C121.986 175.129 122.178 175.104 122.304 175.085C122.483 175.059 122.729 175.02 123.044 174.967C123.084 174.961 123.106 174.957 123.11 174.956L123.619 174.874C123.625 174.872 123.646 174.869 123.681 174.864C123.855 174.836 124.007 174.809 124.139 174.782C124.363 174.738 124.663 174.676 125.039 174.596L125.437 174.515L125.833 174.432C126.392 174.306 126.996 174.153 127.646 173.973L131.151 173.012C131.9 172.805 132.571 172.603 133.165 172.407C133.366 172.342 133.549 172.28 133.715 172.219L133.879 172.161L133.881 172.16C134.453 171.961 134.872 171.814 135.137 171.716C135.294 171.661 135.49 171.584 135.725 171.488C135.78 171.466 135.835 171.443 135.892 171.42L136.002 171.374L136.137 171.32C136.623 171.127 136.994 170.973 137.252 170.86L138.025 170.524C138.46 170.326 138.849 170.145 139.192 169.982L139.342 169.911L139.961 169.61C140.355 169.414 140.759 169.203 141.174 168.979L141.426 168.846C141.443 168.837 141.479 168.819 141.532 168.79C141.686 168.709 141.789 168.654 141.84 168.625C142.154 168.454 142.593 168.202 143.159 167.867C143.237 167.821 143.276 167.798 143.279 167.796L143.449 167.699L143.479 167.682L152.021 171.573C156.866 173.781 161.529 173.445 166.008 170.563C170.488 167.682 172.728 163.577 172.728 158.251V118.111C172.743 117.954 172.75 117.795 172.75 117.637V95.1484C172.75 87.925 171.221 81.491 168.163 75.8464C165.083 70.1612 160.753 65.8115 155.173 62.7973C155.084 62.7426 154.992 62.6907 154.9 62.6418L154.881 62.632L104.937 36.3023C104.784 36.2211 104.575 36.1139 104.308 35.9805C104.223 35.938 104.122 35.8899 104.003 35.8361L103.963 35.8169C103.61 35.6469 103.261 35.4856 102.918 35.3328C102.808 35.2839 102.655 35.2169 102.459 35.1317C102.417 35.1139 102.368 35.0928 102.311 35.0684C101.931 34.9089 101.508 34.7451 101.044 34.5769C100.881 34.5109 100.733 34.4556 100.6 34.4109C100.574 34.4019 100.548 34.3932 100.522 34.3846C99.9241 34.1774 99.3732 34.0019 98.8692 33.8581C98.865 33.8569 98.8608 33.8557 98.8566 33.8545C98.8045 33.8387 98.7485 33.8224 98.6886 33.8058C98.6743 33.8018 98.6594 33.7976 98.6438 33.7934C98.5513 33.7682 98.4501 33.742 98.3401 33.7149L98.3072 33.7071L98.3119 33.7085C98.1067 33.6529 97.9063 33.6006 97.7107 33.5517C97.4749 33.4924 97.2476 33.4387 97.0288 33.3903C97.0046 33.385 96.9806 33.3797 96.9566 33.3744C96.8375 33.3418 96.7395 33.3173 96.6627 33.301C96.5177 33.2683 96.3333 33.2314 96.1093 33.1905C96.0713 33.1835 96.0408 33.1779 96.0179 33.1737C95.9548 33.1606 95.8842 33.1466 95.8062 33.1318L95.8031 33.1321C95.7386 33.1178 95.6739 33.1047 95.6089 33.093C95.085 32.9984 94.6093 32.9223 94.1819 32.8646C94.0983 32.8527 94.0015 32.8408 93.8913 32.829L93.8896 32.8288L93.8761 32.8271C93.4523 32.7724 93.0373 32.7257 92.6313 32.6871L92.3254 32.6598C92.0953 32.6356 91.9206 32.6204 91.8012 32.6144C91.7158 32.6089 91.6011 32.6026 91.4568 32.5957C91.3656 32.5912 91.2891 32.5871 91.2273 32.5832C90.9082 32.5655 90.6803 32.5549 90.5436 32.5514C90.3757 32.5444 90.1448 32.5389 89.851 32.5349C89.7388 32.5334 89.6342 32.5318 89.537 32.5302L89.3523 32.529C89.1472 32.5271 88.9748 32.5275 88.835 32.5303C88.6706 32.5314 88.4606 32.5364 88.205 32.5453C88.0717 32.5499 87.9598 32.5532 87.8692 32.5551L87.8533 32.5556C87.5561 32.5646 87.3378 32.5734 87.1982 32.582C86.9091 32.5967 86.533 32.6238 86.07 32.6632L85.7453 32.6873C85.6353 32.6913 85.5254 32.6991 85.4158 32.7105C85.2559 32.7271 85.0348 32.7538 84.7525 32.7903C84.6345 32.8056 84.5516 32.8162 84.504 32.822L84.1737 32.8619L83.8432 32.9018C83.8033 32.9066 83.7635 32.9119 83.7238 32.9177C83.5459 32.9435 83.2985 32.9834 82.9815 33.0372C82.852 33.0591 82.7524 33.0758 82.6826 33.0873C82.6517 33.0924 82.5981 33.101 82.5216 33.1131C82.2808 33.151 82.0871 33.1842 81.9406 33.2127C81.5282 33.2925 81.1612 33.3685 80.8395 33.4407C80.5868 33.4913 80.378 33.5359 80.2131 33.5744C79.6373 33.7044 79.0348 33.8574 78.4057 34.0333L74.8975 34.9948C74.1846 35.1929 73.5201 35.3928 72.904 35.5945C72.7593 35.64 72.574 35.7031 72.3482 35.7837C72.2719 35.8109 72.2132 35.8316 72.1722 35.8457C71.5991 36.0447 71.1527 36.2027 70.833 36.3199C70.6998 36.3699 70.5114 36.4427 70.2678 36.5384C70.1844 36.5712 70.1097 36.6005 70.0435 36.6265C69.5097 36.84 69.0934 37.0111 68.7948 37.1398L68.4373 37.2954L68.0218 37.477C67.5857 37.6746 67.1979 37.8542 66.8586 38.0158C66.5247 38.1744 66.2669 38.2991 66.0852 38.39C65.6911 38.5871 65.2867 38.7973 64.872 39.0207L64.8387 39.0383L64.2065 39.3754C63.8928 39.5462 63.453 39.7986 62.8873 40.1328C62.8182 40.1736 62.7838 40.1941 62.7839 40.1944C62.5743 40.3142 62.4222 40.4035 62.3278 40.4623C61.8541 40.7475 61.2865 41.1057 60.6251 41.5367C60.5792 41.5661 60.5329 41.5967 60.4862 41.6287C60.3942 41.6892 60.2852 41.7638 60.1593 41.8524L60.1145 41.8841L60.1163 41.883C59.5704 42.2518 59.1025 42.577 58.7128 42.8586C58.5143 43.0042 58.3729 43.1065 58.2888 43.1654C58.2479 43.1939 58.2075 43.2232 58.1675 43.253C57.6655 43.6275 57.2979 43.9051 57.0648 44.0858C56.9507 44.1724 56.7923 44.2954 56.5898 44.4548C56.5529 44.4839 56.5166 44.5125 56.4808 44.5407C55.9911 44.9311 55.5288 45.3081 55.0939 45.6717L55.0774 45.6851L55.0503 45.7065C55.0236 45.7269 54.997 45.7476 54.9705 45.7688C54.904 45.8206 54.8391 45.8741 54.7754 45.9292C54.7025 45.9924 54.617 46.0697 54.5189 46.161L54.5295 46.1528C54.5287 46.1536 54.5279 46.1543 54.5271 46.155C53.9052 46.6923 53.3761 47.1664 52.9399 47.5775C52.8271 47.6806 52.6771 47.8224 52.49 48.0029C52.4007 48.0891 52.3283 48.1583 52.2729 48.2107C51.9017 48.5656 51.4915 48.9675 51.0424 49.4165C51.0247 49.4343 50.99 49.4683 50.9383 49.5185C50.8533 49.6012 50.7855 49.6679 50.7349 49.7185C50.6395 49.8139 50.5274 49.9324 50.3985 50.0741L50.3874 50.0888C50.3534 50.1227 50.3199 50.1572 50.2869 50.1921C49.8853 50.6178 49.5804 50.9454 49.3723 51.1748L48.6764 51.9423C48.544 52.0909 48.3585 52.3041 48.1197 52.582C47.9852 52.7384 47.8766 52.8642 47.7938 52.9593C47.771 52.9858 47.7338 53.0289 47.6821 53.0885C47.53 53.264 47.4115 53.4034 47.3267 53.5067C47.2851 53.5571 47.2305 53.6246 47.1628 53.7094C47.1242 53.7575 47.0969 53.7914 47.0808 53.811C46.7902 54.1653 46.5387 54.4816 46.3262 54.7597L45.9946 55.1837L45.6377 55.6403C45.4678 55.8625 45.2257 56.1886 44.9115 56.6186C44.8877 56.6514 44.8446 56.7095 44.7821 56.7929C44.6445 56.9765 44.5458 57.1108 44.4861 57.1958C44.4252 57.2801 44.3548 57.3822 44.2749 57.5021L44.2753 57.5034C44.2537 57.5333 44.2325 57.5634 44.2115 57.5939L43.9154 58.0238L43.601 58.4804C43.3076 58.9123 43.0841 59.2469 42.9304 59.484C42.7188 59.811 42.5227 60.1209 42.342 60.4136C42.159 60.697 42.0161 60.9245 41.9132 61.0959C41.8771 61.1561 41.8335 61.2318 41.7824 61.323ZM41.7824 61.323C41.7846 61.3193 41.7867 61.3156 41.7888 61.3118L41.7824 61.323ZM104.568 72.4679L104.555 72.4797C103.975 72.9804 103.423 73.4747 102.898 73.9627C102.75 74.0982 102.529 74.3084 102.236 74.5932C101.766 75.0422 101.356 75.4442 101.006 75.7993C100.774 76.0318 100.534 76.2773 100.289 76.536C99.8791 76.9701 99.5705 77.3015 99.3629 77.5304C99.0523 77.8728 98.8175 78.1339 98.6587 78.3137C98.506 78.4851 98.2842 78.7413 97.9935 79.0823C97.9023 79.1892 97.8343 79.2689 97.7895 79.3212L97.7656 79.3492C97.4631 79.7075 97.2347 79.9804 97.0805 80.168L96.69 80.6582L96.3452 81.0921C96.0476 81.4661 95.8073 81.7734 95.6245 82.014C95.4605 82.2284 95.2236 82.5476 94.9138 82.9715C94.6806 83.2865 94.4559 83.5971 94.2398 83.9033C94.0521 84.1637 93.8298 84.4867 93.5727 84.8722C93.2952 85.2806 93.0803 85.6022 92.9281 85.8371C92.878 85.9158 92.8189 86.0084 92.7509 86.1149C92.5571 86.4188 92.4094 86.6532 92.3079 86.8181C92.0487 87.2295 91.8473 87.5548 91.7037 87.7941L91.4063 88.3047L91.1389 88.7647C90.9573 89.0771 90.7617 89.4223 90.5524 89.8004C90.3841 90.1034 90.201 90.4424 90.0032 90.8175C89.9656 90.89 89.9194 90.9789 89.8645 91.0844C89.689 91.4218 89.5557 91.6816 89.4646 91.8639C89.2811 92.2247 89.099 92.5951 88.9182 92.9749C88.9169 92.9777 88.9155 92.9806 88.9141 92.9835C88.7034 93.4213 88.5435 93.7602 88.4344 94.0001C88.3155 94.2636 88.1491 94.6407 87.9353 95.1316C87.9153 95.1776 87.8867 95.2432 87.8495 95.3284C87.6946 95.6837 87.5769 95.96 87.4965 96.1574C87.3121 96.6018 87.1126 97.1079 86.8979 97.6759C86.8935 97.6871 86.8777 97.7276 86.8505 97.7977C86.7374 98.0889 86.651 98.3166 86.5913 98.4808C86.4078 98.9796 86.1871 99.6224 85.9293 100.409C85.9288 100.41 85.9267 100.416 85.9233 100.425C85.8714 100.57 85.8274 100.699 85.7911 100.812C85.7756 100.859 85.7604 100.907 85.7454 100.956C85.7425 100.965 85.7394 100.975 85.7364 100.984C85.5509 101.565 85.3667 102.187 85.1837 102.851C85.1675 102.907 85.1407 103.006 85.1034 103.148C85.0838 103.223 85.0711 103.27 85.0654 103.29C84.9083 103.874 84.7498 104.507 84.59 105.188C84.5864 105.203 84.5829 105.219 84.5794 105.234C84.5632 105.3 84.5486 105.362 84.5356 105.422C84.3948 106.043 84.2642 106.675 84.144 107.32C84.0935 107.6 84.0263 107.992 83.9424 108.496C83.931 108.565 83.9225 108.616 83.917 108.649C83.8504 109.041 83.797 109.37 83.757 109.636C83.7158 109.919 83.6676 110.301 83.6122 110.782C83.5963 110.921 83.5843 111.024 83.5763 111.091C83.5635 111.213 83.5477 111.353 83.5288 111.511C83.5022 111.733 83.4825 111.908 83.4697 112.035C83.4408 112.342 83.4083 112.76 83.3724 113.29C83.3621 113.44 83.3544 113.552 83.3493 113.626C83.3466 113.663 83.3415 113.729 83.334 113.822C83.313 114.083 83.2988 114.292 83.2913 114.451C83.2534 115.247 83.2344 116.045 83.2344 116.845V137.426C83.2344 137.458 83.2347 137.489 83.2353 137.521V139.337C83.2373 143.919 83.8619 148.186 85.109 152.14L55.7515 136.664C55.7346 136.655 55.7175 136.646 55.7005 136.637L55.6701 136.622C55.6545 136.613 55.6387 136.605 55.6229 136.597C55.1293 136.336 54.6482 136.057 54.1794 135.76C53.1204 135.091 52.1229 134.329 51.1869 133.475C51.1727 133.462 51.159 133.45 51.146 133.438C51.1427 133.435 51.1394 133.432 51.1362 133.429C50.5851 132.925 50.0389 132.365 49.4976 131.749C49.1067 131.296 48.7612 130.87 48.4612 130.471C48.3347 130.304 48.2105 130.135 48.0885 129.964C44.7969 125.37 43.1511 119.71 43.1511 112.984V90.4954C43.1511 89.9389 43.1625 89.3034 43.1854 88.5891C43.1878 88.5377 43.1952 88.435 43.2075 88.2812C43.2174 88.1588 43.2261 88.0425 43.2337 87.9323C43.2621 87.4507 43.2957 87.0031 43.3347 86.5896C43.3402 86.5204 43.3563 86.3799 43.3828 86.168C43.3956 86.0649 43.4057 85.9831 43.4129 85.9225C43.4221 85.8449 43.4353 85.7314 43.4525 85.5819C43.4969 85.1967 43.5298 84.9296 43.5513 84.7805C43.5824 84.5751 43.6284 84.2926 43.6893 83.9332C43.6999 83.8688 43.7153 83.7743 43.7355 83.6497C43.7966 83.2719 43.8451 82.9907 43.8809 82.8064C43.8943 82.7348 43.9091 82.6488 43.9253 82.5485L43.9212 82.5671C43.9215 82.5651 43.9219 82.5631 43.9222 82.5611C44.0145 82.0896 44.1057 81.6601 44.1958 81.2724C44.1987 81.2602 44.2015 81.2478 44.2043 81.2356C44.2212 81.1671 44.2363 81.1019 44.2497 81.0401C44.3425 80.6288 44.4631 80.1463 44.6115 79.5928C44.6222 79.553 44.6323 79.5129 44.6421 79.4728C44.6508 79.4367 44.6722 79.3569 44.7065 79.2334L44.7212 79.1799C44.9117 78.5129 45.0586 78.0149 45.1617 77.6859C45.1672 77.6694 45.1726 77.6528 45.178 77.636C45.2075 77.5532 45.2346 77.4698 45.2595 77.386C45.2843 77.3155 45.3081 77.2459 45.3309 77.1772C45.5384 76.5369 45.7283 75.9826 45.9005 75.5143C45.9358 75.4173 45.9971 75.2564 46.0843 75.0318C46.1135 74.9566 46.1361 74.8984 46.152 74.8571C46.1713 74.807 46.1998 74.7329 46.2376 74.6347C46.4228 74.1529 46.5646 73.7947 46.6631 73.5599C46.6876 73.5004 46.7166 73.4274 46.75 73.3409L46.7417 73.3594C46.7425 73.3573 46.7433 73.3551 46.7441 73.353C46.7649 73.305 46.7849 73.2566 46.8041 73.2079C46.8106 73.1914 46.8378 73.1302 46.8857 73.0244C46.9436 72.8962 46.9875 72.7976 47.0172 72.7288C47.2134 72.2784 47.3585 71.9492 47.4524 71.7412C47.5309 71.5684 47.6588 71.2978 47.8361 70.9296C47.8767 70.8467 47.9333 70.7308 48.0058 70.5818C48.1433 70.2989 48.2355 70.1113 48.2822 70.0189C48.3322 69.9233 48.3897 69.8073 48.4547 69.6708L48.4588 69.66C48.482 69.6157 48.5046 69.571 48.5265 69.5259C48.5308 69.5168 48.5585 69.4661 48.6094 69.3736C48.6738 69.2567 48.72 69.1716 48.7481 69.1184C48.7781 69.0627 48.8223 68.98 48.881 68.8703C49.0325 68.5866 49.1453 68.3783 49.2192 68.2454C49.3943 67.9291 49.5715 67.6161 49.751 67.3064C49.8731 67.0865 50.0113 66.8483 50.1657 66.5917C50.2323 66.4853 50.3045 66.3638 50.3824 66.227L50.4033 66.1903C50.4543 66.1054 50.5481 65.9573 50.6848 65.7459C50.7052 65.7146 50.7251 65.683 50.7447 65.6511C50.8943 65.4079 51.0597 65.1463 51.2409 64.8662C51.3545 64.691 51.532 64.4257 51.7733 64.0703L52.0696 63.6401L52.345 63.2403C52.3954 63.1689 52.4514 63.087 52.5131 62.9944L52.5439 62.9494C52.5706 62.9115 52.6248 62.8381 52.7064 62.7292C52.7968 62.6084 52.8654 62.5159 52.9122 62.4515C53.1797 62.0856 53.3654 61.8344 53.4693 61.6981L53.8013 61.2738L54.1578 60.8176C54.3244 60.5997 54.5152 60.3596 54.7303 60.0973C54.7719 60.047 54.8265 59.9794 54.8943 59.8946C54.9328 59.8464 54.9593 59.8136 54.9736 59.7962C55.0053 59.7575 55.0686 59.6836 55.1632 59.5745C55.227 59.5009 55.2667 59.4549 55.2825 59.4363C55.3624 59.3447 55.4778 59.2111 55.6287 59.0355C55.8292 58.8023 55.9662 58.6442 56.0398 58.5614L56.7055 57.8275C56.865 57.6517 57.1154 57.3829 57.4565 57.0211C57.536 56.9393 57.6255 56.8437 57.7249 56.7344L57.7362 56.7197C57.7539 56.7019 57.7886 56.6679 57.8403 56.6177C57.9253 56.535 57.9931 56.4684 58.0437 56.4178C58.4401 56.0213 58.7889 55.6792 59.0899 55.3914C59.1565 55.3286 59.248 55.241 59.3645 55.1286C59.488 55.0095 59.591 54.912 59.6734 54.8362C60.0428 54.4885 60.4881 54.0895 61.0095 53.6393C61.0704 53.5865 61.1402 53.5238 61.2187 53.4512C61.3346 53.3593 61.4226 53.2875 61.4827 53.2357C61.8299 52.9455 62.2109 52.635 62.6258 52.3042C62.6456 52.2887 62.6748 52.2656 62.7135 52.2352C62.8699 52.1121 62.9946 52.0152 63.0876 51.9444C63.2914 51.7866 63.607 51.5482 64.0344 51.2291C64.1686 51.1342 64.3368 51.0125 64.5392 50.864C64.8258 50.657 65.2073 50.3925 65.6836 50.0706C65.7282 50.0401 65.7862 49.9998 65.8575 49.9496L65.9139 49.9097C65.9533 49.8842 65.9931 49.8578 66.0332 49.8305C66.5958 49.4639 67.0806 49.1579 67.4876 48.9125C67.518 48.8937 67.6073 48.8417 67.7555 48.7567C67.7923 48.735 67.8482 48.702 67.9232 48.6577C68.3892 48.3824 68.7153 48.1941 68.9012 48.0927L69.4965 47.7756L69.5302 47.7576C69.8811 47.5686 70.2089 47.398 70.5135 47.2457C70.6356 47.1846 70.8335 47.0891 71.1072 46.9591L71.1115 46.957C71.3972 46.821 71.7073 46.677 72.0419 46.5249L72.3994 46.3693L72.7303 46.2251C72.9375 46.1359 73.2548 46.0058 73.6823 45.8346C73.7301 45.816 73.7991 45.7889 73.8894 45.7534C74.085 45.6766 74.2132 45.6267 74.2741 45.6037C74.5177 45.5145 74.8937 45.3817 75.4021 45.2051C75.4704 45.1817 75.5623 45.1493 75.6778 45.1081C75.7842 45.0701 75.8676 45.0416 75.928 45.0223C76.4388 44.8552 76.9734 44.6941 77.5317 44.539L81.0478 43.5754C81.5326 43.4398 81.993 43.3228 82.429 43.2242C82.5146 43.2042 82.6666 43.172 82.885 43.1276C83.1868 43.0605 83.5008 42.9954 83.827 42.9323C83.8599 42.9259 83.9382 42.913 84.0619 42.8935C84.1678 42.8768 84.246 42.8643 84.2967 42.8558C84.3759 42.8429 84.4899 42.8237 84.6388 42.7985C84.8419 42.764 84.9951 42.7388 85.0984 42.7231L85.3608 42.6915L85.6996 42.6505C85.7759 42.6412 85.8845 42.6274 86.0254 42.6091C86.1393 42.5944 86.2335 42.5825 86.3077 42.5735C86.3187 42.5728 86.3298 42.572 86.3409 42.5711L86.5715 42.554L86.8546 42.5328C87.2415 42.5 87.5399 42.4782 87.7499 42.4674C87.8209 42.4631 87.9529 42.458 88.1461 42.4522C88.248 42.4499 88.3825 42.4459 88.5495 42.4401C88.7268 42.434 88.8446 42.4309 88.903 42.4309C88.9501 42.4309 88.9973 42.4302 89.0444 42.4289C89.0705 42.4281 89.1424 42.4283 89.26 42.4294C89.3578 42.4304 89.4064 42.4305 89.4058 42.4298C89.4787 42.4313 89.5824 42.433 89.7169 42.4349C89.9183 42.4376 90.0797 42.4413 90.2011 42.446C90.292 42.4486 90.4366 42.4553 90.6349 42.4662C90.7203 42.4717 90.835 42.478 90.9793 42.4849C91.055 42.4886 91.1239 42.4922 91.1859 42.4959L91.289 42.5054L91.2927 42.5057L91.3599 42.5131L91.7147 42.5453C91.997 42.5722 92.2732 42.6029 92.5435 42.6375C92.6275 42.6495 92.725 42.6614 92.8358 42.6733C93.1212 42.7121 93.4377 42.7625 93.7854 42.8246C93.8405 42.8359 93.9009 42.8477 93.9667 42.8601L93.9698 42.8599C94.014 42.8697 94.0584 42.8789 94.1029 42.8876C94.1589 42.8984 94.2346 42.9125 94.33 42.93C94.3714 42.9375 94.4084 42.9445 94.4409 42.9508C94.5792 42.9882 94.6972 43.0166 94.795 43.036C95.0531 43.0905 95.3802 43.1715 95.7763 43.2788C95.8272 43.2921 95.8926 43.3086 95.9727 43.3283L96.059 43.3512C96.4567 43.4648 96.8799 43.5998 97.3286 43.7561C97.3407 43.7603 97.3527 43.7645 97.3649 43.7686C97.4776 43.814 97.5717 43.85 97.6473 43.8766C97.8311 43.9427 97.9965 44.0041 98.1433 44.061C98.2427 44.0998 98.3382 44.1381 98.4299 44.176C98.4306 44.1763 98.4314 44.1767 98.4322 44.177C98.455 44.1869 98.4876 44.201 98.53 44.2193C98.6867 44.2871 98.8044 44.3386 98.8832 44.3739C98.9939 44.4231 99.1007 44.4713 99.2036 44.5184C99.343 44.5824 99.4811 44.6472 99.6181 44.7129C99.6999 44.7535 99.7964 44.7991 99.9075 44.8496L99.9007 44.846C99.9027 44.8469 99.9047 44.8478 99.9066 44.8487C100.083 44.937 100.214 45.004 100.3 45.0496L129.063 60.213C128.835 60.2715 128.613 60.3306 128.396 60.3905L124.888 61.352C124.175 61.5501 123.466 61.7648 122.76 61.9962L122.468 62.0972L122.221 62.183C121.69 62.36 121.224 62.5247 120.824 62.6771C120.638 62.7468 120.385 62.8458 120.064 62.9741C119.559 63.1731 119.128 63.3494 118.772 63.5029L118.018 63.8342C117.669 63.9926 117.279 64.1741 116.849 64.3787C116.591 64.5012 116.336 64.6259 116.082 64.7529C115.634 64.9766 115.228 65.1868 114.863 65.3835C114.833 65.3993 114.784 65.425 114.715 65.4606C114.639 65.5005 114.569 65.5368 114.507 65.5696C114.467 65.5899 114.427 65.6108 114.387 65.6323C114.288 65.6854 114.195 65.7371 114.107 65.7874C113.817 65.9444 113.351 66.212 112.71 66.59C112.642 66.6306 112.544 66.6878 112.415 66.7614C112.372 66.7861 112.329 66.8116 112.286 66.8376C111.632 67.2385 111.047 67.6097 110.532 67.9513C110.413 68.0272 110.281 68.1154 110.137 68.2159C110.111 68.2342 110.094 68.2454 110.088 68.2498C109.606 68.5732 109.156 68.886 108.738 69.1881L108.196 69.5852C107.863 69.8283 107.478 70.1188 107.041 70.4566C106.802 70.6384 106.615 70.7826 106.48 70.8893C106.104 71.1853 105.67 71.5386 105.178 71.9492C105.043 72.0556 104.93 72.1485 104.837 72.2279C104.78 72.2755 104.69 72.3555 104.568 72.4679ZM104.568 72.4679C104.572 72.4646 104.575 72.4614 104.579 72.4582L104.568 72.4679ZM101.032 34.5728L101.03 34.5721C101.033 34.573 101.035 34.5739 101.038 34.5748C101.036 34.5741 101.034 34.5735 101.032 34.5728ZM104.903 162.561L105.666 162.963C105.717 162.991 105.807 163.037 105.935 163.102C105.972 163.121 106.002 163.136 106.025 163.148C106.092 163.178 106.131 163.197 106.145 163.205L106.281 163.269C106.554 163.401 106.811 163.519 107.052 163.622L107.063 163.627C107.148 163.663 107.253 163.708 107.38 163.765C107.425 163.785 107.449 163.796 107.452 163.797C107.68 163.891 107.998 164.015 108.408 164.169L108.458 164.189C108.519 164.211 108.58 164.234 108.641 164.257L108.655 164.263C109.054 164.403 109.476 164.536 109.919 164.661C109.914 164.66 109.885 164.654 109.835 164.643C109.904 164.659 109.973 164.675 110.041 164.693L110.249 164.747C110.596 164.84 110.948 164.927 111.306 165.008L111.379 165.025L111.451 165.041L111.564 165.067L111.672 165.086L111.703 165.092L112.139 165.174C112.496 165.238 112.847 165.295 113.191 165.347L113.391 165.372C113.685 165.41 113.977 165.443 114.269 165.47L114.88 165.525L115.066 165.535L115.442 165.551L115.47 165.553C115.644 165.565 115.787 165.572 115.899 165.576C115.964 165.579 116.087 165.581 116.267 165.584C116.363 165.585 116.443 165.586 116.506 165.587H117.121C117.26 165.587 117.474 165.58 117.764 165.566C117.848 165.561 117.932 165.559 118.015 165.559H118.037C118.081 165.557 118.126 165.555 118.174 165.552L118.156 165.555C118.215 165.55 118.274 165.546 118.334 165.542C118.501 165.534 118.779 165.514 119.169 165.481L119.325 165.467C119.376 165.462 119.427 165.458 119.479 165.455C119.506 165.453 119.53 165.451 119.549 165.449L120.088 165.388L120.592 165.324C120.728 165.308 120.832 165.295 120.904 165.284C121.005 165.27 121.174 165.243 121.411 165.203C121.454 165.196 121.491 165.19 121.522 165.185L121.924 165.119C121.976 165.11 122.042 165.1 122.123 165.087L122.114 165.091C122.152 165.082 122.191 165.074 122.23 165.067C122.398 165.035 122.677 164.977 123.068 164.895L123.398 164.828L123.653 164.775C124.058 164.683 124.517 164.567 125.03 164.425L128.507 163.472C129.101 163.307 129.652 163.141 130.162 162.973C130.219 162.955 130.253 162.943 130.266 162.939C130.308 162.922 130.35 162.907 130.393 162.892L130.632 162.808H130.634C131.154 162.628 131.551 162.487 131.825 162.387C131.834 162.383 131.882 162.364 131.971 162.328C132.052 162.295 132.097 162.276 132.106 162.273L132.326 162.182C132.367 162.166 132.414 162.147 132.467 162.126C132.853 161.972 133.13 161.858 133.299 161.784L133.938 161.506C134.318 161.334 134.65 161.181 134.935 161.045L135.024 161.003L135.533 160.756C135.838 160.604 136.178 160.426 136.553 160.224L136.711 160.141C136.766 160.112 136.839 160.073 136.929 160.025C136.993 159.992 137.052 159.961 137.107 159.93C137.318 159.814 137.658 159.619 138.125 159.343C138.192 159.304 138.261 159.263 138.332 159.221L138.46 159.147H138.461C138.544 159.098 138.619 159.055 138.687 159.017C139.131 158.749 139.551 158.484 139.947 158.224L140.305 157.979C141.736 157.002 143.572 156.845 145.148 157.563L156.125 162.564C157.693 163.279 159.202 163.17 160.652 162.237C162.103 161.304 162.828 159.976 162.828 158.251V117.614C162.828 117.456 162.835 117.298 162.85 117.14V95.1484C162.85 83.7403 158.651 75.8219 150.254 71.3934L149.959 71.2374C149.909 71.2132 149.855 71.1867 149.796 71.158C149.721 71.1217 149.663 71.0932 149.62 71.0724C149.384 70.9567 149.129 70.8386 148.853 70.718C148.676 70.6389 148.548 70.5828 148.468 70.5496C148.234 70.4515 147.944 70.3392 147.597 70.2126L147.415 70.1456L147.313 70.1067C146.939 69.9768 146.534 69.8488 146.096 69.7227L145.999 69.6973L145.777 69.6395C145.321 69.5221 144.979 69.4377 144.751 69.3863C144.724 69.3805 144.683 69.3717 144.629 69.3597C144.371 69.3034 144.185 69.2642 144.072 69.242C144.03 69.2339 143.989 69.2253 143.948 69.2162L143.83 69.1927C143.449 69.1241 143.093 69.0673 142.761 69.0223C142.792 69.0267 142.81 69.0291 142.814 69.0296C142.703 69.0177 142.628 69.0088 142.589 69.0029C142.287 68.9641 141.996 68.931 141.716 68.9037L141.71 68.9033L141.383 68.8734C141.233 68.8611 140.993 68.845 140.663 68.8252C140.435 68.8126 140.276 68.805 140.186 68.8025C140.128 68.8008 140.071 68.7982 140.014 68.7947C139.934 68.7897 139.76 68.7872 139.491 68.7872L138.982 68.7863C138.823 68.7894 138.572 68.7974 138.23 68.8105C138.13 68.8157 138.008 68.8205 137.866 68.8249C137.791 68.8271 137.731 68.8296 137.686 68.8322C137.515 68.8408 137.229 68.8619 136.827 68.8954L136.781 68.899C136.729 68.9029 136.661 68.9074 136.577 68.9127L136.442 68.9231C136.355 68.9316 136.204 68.9492 135.988 68.9761C135.849 68.9934 135.758 69.0044 135.717 69.0091C135.625 69.0209 135.503 69.035 135.352 69.0513C135.248 69.0625 135.179 69.0706 135.146 69.0756C135.049 69.09 134.884 69.1175 134.65 69.158C134.503 69.1832 134.384 69.2036 134.291 69.219C134.229 69.2289 134.145 69.2422 134.038 69.2587C133.907 69.2786 133.814 69.2938 133.759 69.3042C133.645 69.3251 133.444 69.3668 133.157 69.4293C133.028 69.4574 132.949 69.4744 132.92 69.4802C132.827 69.5013 132.7 69.5285 132.54 69.5617C132.451 69.5801 132.403 69.5901 132.396 69.5916C131.906 69.7035 131.445 69.8191 131.014 69.9384L127.538 70.8908C126.968 71.049 126.455 71.2026 125.998 71.3517L125.707 71.4525L125.352 71.575C124.951 71.7086 124.6 71.8325 124.3 71.9467C124.181 71.9913 123.979 72.0708 123.693 72.1852C123.284 72.3461 122.971 72.4736 122.752 72.5678L122.104 72.8516C121.973 72.9113 121.833 72.9757 121.684 73.0449V91.2807C121.684 92.0491 121.665 92.8184 121.628 93.5885C121.622 93.7365 121.609 93.9283 121.591 94.1637L121.59 94.1679L121.571 94.4471L121.57 94.4744C121.528 95.1281 121.491 95.6208 121.457 95.9524C121.439 96.1399 121.414 96.3666 121.381 96.6324L121.329 97.0655C121.322 97.1194 121.312 97.2021 121.299 97.3136C121.248 97.7482 121.207 98.0619 121.178 98.255C121.155 98.4224 121.12 98.6496 121.074 98.9367C121.068 98.9704 121.065 98.9883 121.065 98.9905L121.009 99.3453L121.009 99.3467C120.917 99.902 120.844 100.324 120.788 100.612C120.661 101.278 120.528 101.923 120.389 102.547L120.362 102.657C120.224 103.259 120.071 103.869 119.902 104.487L119.761 104.999C119.578 105.652 119.397 106.263 119.219 106.83L119.068 107.297C118.85 107.97 118.629 108.613 118.405 109.225C118.356 109.361 118.29 109.536 118.205 109.751L118.188 109.793L118.192 109.783L118.08 110.078C118.063 110.121 118.039 110.184 118.007 110.266C117.79 110.827 117.625 111.244 117.512 111.517C117.449 111.674 117.358 111.889 117.239 112.163C117.192 112.273 117.165 112.336 117.158 112.351L117.095 112.503C116.916 112.924 116.752 113.292 116.603 113.609C116.52 113.796 116.401 114.053 116.244 114.381C116.192 114.49 116.148 114.584 116.109 114.664C116.087 114.71 116.055 114.778 116.011 114.868C115.823 115.258 115.676 115.559 115.568 115.77C115.376 116.148 115.2 116.486 115.04 116.784L114.726 117.371L114.51 117.768C114.385 117.994 114.197 118.325 113.947 118.761C113.932 118.786 113.907 118.83 113.871 118.893C113.665 119.251 113.496 119.536 113.364 119.749C113.175 120.066 112.975 120.389 112.764 120.718C112.747 120.745 112.719 120.789 112.68 120.851C112.458 121.207 112.294 121.463 112.191 121.62C112.082 121.789 111.924 122.028 111.715 122.339C111.63 122.465 111.557 122.575 111.495 122.666L111.474 122.698L110.894 123.543L110.828 123.635L110.248 124.44C110.006 124.774 109.774 125.086 109.554 125.376C109.374 125.614 109.136 125.921 108.838 126.296C108.792 126.354 108.722 126.444 108.626 126.564C108.415 126.831 108.255 127.032 108.146 127.165C107.99 127.358 107.765 127.627 107.472 127.971L107.432 128.017L107.427 128.022C107.169 128.329 106.885 128.659 106.573 129.01C106.415 129.187 106.185 129.443 105.883 129.777C105.674 130.009 105.372 130.333 104.979 130.75C104.865 130.87 104.702 131.038 104.49 131.254C104.4 131.346 104.327 131.42 104.271 131.477C103.929 131.825 103.523 132.223 103.055 132.67L102.875 132.844L102.673 133.037L102.415 133.284C101.896 133.765 101.374 134.233 100.848 134.686L100.749 134.772L100.669 134.843L100.589 134.915C100.544 134.955 100.499 134.995 100.452 135.032L100.254 135.197C99.956 135.449 99.52 135.806 98.9463 136.268L98.9399 136.273C98.8505 136.346 98.7376 136.435 98.6012 136.539C98.551 136.577 98.5019 136.615 98.4539 136.652L98.3712 136.715C97.9722 137.023 97.5654 137.329 97.1506 137.632C97.1246 137.65 97.0729 137.688 96.9956 137.746C96.8643 137.844 96.7619 137.919 96.6886 137.971C96.2495 138.286 95.8236 138.581 95.4107 138.856L95.0917 139.078C95.0575 139.102 95.0231 139.126 94.9883 139.148C94.3982 139.537 93.7872 139.923 93.1553 140.305L93.1461 140.31C93.3774 150.816 97.2951 158.232 104.899 162.559C104.9 162.559 104.902 162.56 104.903 162.561ZM93.1353 128.236C93.4493 127.981 93.6922 127.78 93.8641 127.635L94.0621 127.471L94.0756 127.459L94.1552 127.388L94.3292 127.235C94.7991 126.83 95.2489 126.428 95.6787 126.029L95.8253 125.887L96.0277 125.694L96.1784 125.548C96.5995 125.146 96.9459 124.807 97.2176 124.531C97.2581 124.489 97.3285 124.417 97.429 124.315C97.6004 124.141 97.7231 124.014 97.7971 123.936C98.1301 123.583 98.3794 123.315 98.5452 123.132C98.8197 122.829 99.0227 122.603 99.1543 122.453C99.428 122.145 99.6664 121.87 99.8696 121.627C99.8932 121.599 99.9173 121.571 99.9416 121.543L99.961 121.521C100.189 121.254 100.352 121.059 100.451 120.936C100.54 120.827 100.676 120.657 100.86 120.424C100.962 120.296 101.039 120.198 101.092 120.131C101.332 119.828 101.519 119.588 101.653 119.41C101.842 119.162 102.036 118.901 102.235 118.626L102.797 117.846L102.819 117.815L103.309 117.099L103.311 117.096C103.344 117.047 103.406 116.954 103.499 116.816C103.668 116.564 103.788 116.384 103.858 116.274C103.965 116.111 104.109 115.885 104.29 115.597C104.328 115.536 104.357 115.49 104.378 115.456C104.573 115.153 104.739 114.885 104.877 114.652C104.898 114.616 104.92 114.58 104.942 114.545C105.011 114.435 105.127 114.238 105.289 113.956C105.325 113.894 105.353 113.846 105.371 113.813C105.591 113.43 105.753 113.146 105.856 112.96L106.027 112.645L106.306 112.122C106.44 111.873 106.587 111.591 106.746 111.278C106.819 111.134 106.935 110.898 107.092 110.573C107.137 110.478 107.172 110.405 107.196 110.356C107.213 110.32 107.251 110.241 107.309 110.118C107.427 109.87 107.51 109.694 107.557 109.589C107.708 109.262 107.852 108.94 107.988 108.622L108.004 108.58C108.048 108.477 108.098 108.361 108.153 108.233C108.24 108.031 108.301 107.889 108.334 107.807C108.436 107.558 108.583 107.187 108.773 106.695C108.806 106.611 108.831 106.547 108.849 106.501L108.93 106.284C108.956 106.217 108.98 106.157 109 106.106C109.044 105.996 109.071 105.926 109.082 105.896C109.28 105.353 109.469 104.803 109.649 104.247L109.805 103.768C109.931 103.364 110.073 102.88 110.231 102.318L110.353 101.873C110.486 101.389 110.605 100.913 110.713 100.445L110.766 100.224C110.856 99.8165 110.954 99.3298 111.062 98.7642C111.104 98.5444 111.164 98.2039 111.239 97.7427L111.24 97.7413L111.286 97.4468C111.291 97.4136 111.297 97.3803 111.302 97.3468C111.335 97.1476 111.356 97.0084 111.367 96.9292C111.395 96.7383 111.429 96.4795 111.468 96.1528C111.482 96.0307 111.493 95.9379 111.501 95.8744L111.551 95.4529C111.576 95.2556 111.592 95.114 111.6 95.0279C111.626 94.7717 111.656 94.3788 111.689 93.8493L111.691 93.8218L111.715 93.4636C111.719 93.4193 111.721 93.3886 111.722 93.3716C111.731 93.2627 111.736 93.1977 111.737 93.1766C111.768 92.5227 111.784 91.8907 111.784 91.2807V79.3334C111.683 79.4164 111.58 79.5026 111.473 79.592C111.434 79.6239 111.396 79.6552 111.357 79.6859L111.24 79.7802C111.239 79.7812 111.238 79.7822 111.237 79.7833L111.249 79.7743C111.126 79.8862 111.041 79.9618 110.993 80.0012C110.538 80.3944 110.077 80.8076 109.611 81.2411C109.514 81.3295 109.345 81.4906 109.104 81.7244C108.688 82.1222 108.331 82.4721 108.034 82.7741C107.843 82.9645 107.658 83.1541 107.479 83.3429C107.121 83.7221 106.86 84.0021 106.696 84.1831C106.414 84.4937 106.204 84.7277 106.065 84.8851C105.951 85.0125 105.772 85.2195 105.528 85.5059C105.432 85.6192 105.366 85.6963 105.331 85.7372C105.056 86.0624 104.873 86.2807 104.78 86.3921L104.435 86.827L104.094 87.2552C103.841 87.5734 103.643 87.8273 103.498 88.0169C103.372 88.1822 103.169 88.4556 102.89 88.8374C102.689 89.1089 102.493 89.3801 102.302 89.651C102.166 89.8402 101.994 90.0899 101.787 90.4002C101.534 90.7732 101.359 91.034 101.262 91.1826C101.225 91.2418 101.17 91.3279 101.098 91.4409C100.933 91.6994 100.805 91.9027 100.713 92.0507C100.474 92.4308 100.313 92.6903 100.229 92.8291L99.9616 93.2888L99.698 93.7424C99.551 93.995 99.3887 94.2817 99.2111 94.6025C99.0755 94.8467 98.9312 95.1137 98.7783 95.4034C98.7492 95.4597 98.7058 95.5433 98.6481 95.6541C98.497 95.9446 98.3829 96.1669 98.3057 96.321C98.1488 96.6297 97.9937 96.9454 97.8403 97.268L97.8392 97.2703C97.658 97.6465 97.5293 97.9186 97.453 98.0866C97.3556 98.3021 97.2097 98.633 97.0154 99.0794C96.9949 99.1266 96.9646 99.1963 96.9244 99.2882C96.8019 99.5691 96.7118 99.7803 96.6541 99.9218C96.502 100.289 96.3327 100.718 96.1463 101.211C96.1314 101.25 96.1094 101.306 96.0801 101.382C95.9928 101.607 95.9293 101.774 95.8897 101.882C95.7393 102.291 95.5393 102.876 95.2897 103.637C95.2779 103.671 95.262 103.715 95.2419 103.771L95.2393 103.772C95.2279 103.809 95.2161 103.847 95.204 103.884C95.1874 103.939 95.1706 103.991 95.1534 104.043C95.0129 104.485 94.8672 104.979 94.7164 105.526C94.7107 105.546 94.698 105.593 94.6784 105.668C94.6411 105.81 94.6173 105.898 94.607 105.932C94.4938 106.355 94.3708 106.848 94.2382 107.411C94.2266 107.464 94.2138 107.518 94.1998 107.575L94.1965 107.589C94.082 108.092 93.9774 108.598 93.8825 109.107C93.8433 109.324 93.7855 109.662 93.7091 110.122C93.6976 110.191 93.6881 110.247 93.6806 110.293C93.6225 110.634 93.5794 110.898 93.5513 111.084C93.5269 111.253 93.4925 111.53 93.4482 111.915C93.4309 112.065 93.421 112.149 93.4184 112.166C93.4056 112.294 93.3859 112.469 93.3592 112.691C93.3403 112.848 93.3287 112.949 93.3243 112.992C93.3052 113.194 93.2806 113.518 93.2505 113.962C93.2397 114.12 93.2313 114.243 93.2252 114.328C93.2203 114.397 93.213 114.492 93.2032 114.615C93.1908 114.769 93.1834 114.871 93.1809 114.923C93.1505 115.562 93.1353 116.203 93.1353 116.846V128.236Z" stroke="#0F0D0C" stroke-width="3.5"/> +</svg> diff --git a/gui/src/components/provider-catalog/ProviderCatalog.tsx b/gui/src/components/provider-catalog/ProviderCatalog.tsx index 608fd5eb192..82c440844ac 100644 --- a/gui/src/components/provider-catalog/ProviderCatalog.tsx +++ b/gui/src/components/provider-catalog/ProviderCatalog.tsx @@ -8,6 +8,7 @@ import { useId, useMemo, useState } from "react"; import { useT } from "../../i18n/shared"; import { bucketPresets, + pinSponsors, filterPresets, type CatalogPreset, } from "./provider-presets"; @@ -99,7 +100,7 @@ export default function ProviderCatalog({ }); }, [catalog, usageRank]); - const buckets = useMemo(() => bucketPresets(ranked), [ranked]); + const buckets = useMemo(() => bucketPresets(pinSponsors(ranked)), [ranked]); const tierList = buckets[tier]; const rows = useMemo(() => filterPresets(tierList, query), [tierList, query]); // oxlint-disable-next-line local-i18n/no-hardcoded-ui-strings -- DOM id suffix, not UI copy @@ -138,7 +139,10 @@ export default function ProviderCatalog({ const free = (p.freeTier || p.keyOptional) && p.auth === "key" ? <span className="badge badge-green">{t("modal.badge.free")}</span> : null; - return <>{free}{auth}</>; + const sponsor = p.sponsor + ? <span className="badge badge-accent provider-catalog-sponsor" title={p.sponsorUrl}>{t("modal.badge.sponsor")}</span> + : null; + return <>{sponsor}{free}{auth}</>; }; return ( diff --git a/gui/src/components/provider-catalog/provider-presets.ts b/gui/src/components/provider-catalog/provider-presets.ts index 36f5231fa21..ae05e55e7fc 100644 --- a/gui/src/components/provider-catalog/provider-presets.ts +++ b/gui/src/components/provider-catalog/provider-presets.ts @@ -6,7 +6,7 @@ * predicates), search filtering, and deterministic sorting. No React, no fetch. */ -import { providerTier, type ProviderTier, type WorkspaceProvider } from "../../provider-workspace/catalog"; +import { providerTier, type ProviderTier, type WorkspaceProvider, type WorkspaceItem } from "../../provider-workspace/catalog"; import type { ProviderPayload } from "../../provider-payload"; /** Row shape returned by GET /api/provider-presets (mirrors DerivedProviderPreset). */ @@ -28,6 +28,9 @@ export interface CatalogPreset { keyOptional?: boolean; /** Free pricing — may still require an API key (e.g. NVIDIA NIM). */ freeTier?: boolean; + /** Sponsor tier (SPONSORS.md). Sponsor rows are pinned to the top of their tab and chipped. */ + sponsor?: "main" | "standard"; + sponsorUrl?: string; /** * Endpoint picker (e.g. Qwen Cloud). Choice without `baseUrl` = Custom (show text field). */ @@ -36,6 +39,21 @@ export interface CatalogPreset { provider?: ProviderPayload; } +/** A configured name alone cannot identify a sponsor after its endpoint is edited. */ +export function matchingWorkspacePreset(item: WorkspaceItem, presets: CatalogPreset[]): CatalogPreset | undefined { + const endpoint = (value: string) => { + try { + const url = new URL(value.trim()); + if (url.username || url.password || url.search || url.hash) return undefined; + return `${url.origin}${url.pathname.replace(/\/+$/, "")}`; + } catch { return undefined; } + }; + const base = endpoint(item.baseUrl); + if (!base) return undefined; + return presets.find(preset => preset.id === item.name && preset.adapter === item.adapter + && endpoint(preset.baseUrl) === base); +} + /** * Adapt a preset row to the WorkspaceProvider shape the tier predicates expect * (preset `auth` ↔ config `authMode`; booleans normalized). @@ -68,3 +86,20 @@ export function filterPresets(presets: CatalogPreset[], query: string): CatalogP if (!q) return presets; return presets.filter(p => p.label.toLowerCase().includes(q) || p.id.toLowerCase().includes(q)); } + +const SPONSOR_RANK: Record<NonNullable<CatalogPreset["sponsor"]>, number> = { main: 0, standard: 1 }; + +/** + * Sponsor rows first — Main before Standard, alphabetical by label within a tier — then the + * caller's order untouched. Stable, so usage ranking still decides the non-sponsor tail. + * Alphabetical among sponsors is deliberate: it is the one order no sponsor can buy. + */ +export function pinSponsors(presets: CatalogPreset[]): CatalogPreset[] { + const sponsors = presets.filter(p => p.sponsor); + if (sponsors.length === 0) return presets; + sponsors.sort((a, b) => + SPONSOR_RANK[a.sponsor!] - SPONSOR_RANK[b.sponsor!] + || a.label.localeCompare(b.label, undefined, { sensitivity: "base" }) + || a.id.localeCompare(b.id)); + return [...sponsors, ...presets.filter(p => !p.sponsor)]; +} diff --git a/gui/src/components/provider-workspace/ProviderDetails.tsx b/gui/src/components/provider-workspace/ProviderDetails.tsx index d6065e0298d..aa843b86fc7 100644 --- a/gui/src/components/provider-workspace/ProviderDetails.tsx +++ b/gui/src/components/provider-workspace/ProviderDetails.tsx @@ -13,6 +13,7 @@ import { ProviderIcon } from "./ProviderRail"; import { Switch } from "../../ui"; import { IconChevron, IconTrash } from "../../icons"; import ProviderOverview from "./ProviderOverview"; +import type { CatalogPreset } from "../provider-catalog/provider-presets"; import type { ModelRow } from "../../pages/models-shared"; import ProviderModels from "./ProviderModels"; import ProviderUsage from "./ProviderUsage"; @@ -27,6 +28,7 @@ type Tab = "overview" | "models" | "usage" | "accounts" | "settings"; export default function ProviderDetails({ item, + preset, usageTotals, modelUsage, quotaReport, @@ -63,6 +65,7 @@ export default function ProviderDetails({ onRefreshQuota, }: { item: WorkspaceItem; + preset?: CatalogPreset; usageTotals?: ProviderUsageTotals; modelUsage?: ProviderModelUsageRow[]; quotaReport?: ProviderQuotaReportView; @@ -264,6 +267,7 @@ export default function ProviderDetails({ {tab === "overview" && ( <ProviderOverview item={item} + preset={preset} apiBase={apiBase} connectionIdentity={connectionIdentity} usageTotals={usageTotals} diff --git a/gui/src/components/provider-workspace/ProviderOverview.tsx b/gui/src/components/provider-workspace/ProviderOverview.tsx index 6fbca997896..60efdb3950f 100644 --- a/gui/src/components/provider-workspace/ProviderOverview.tsx +++ b/gui/src/components/provider-workspace/ProviderOverview.tsx @@ -13,12 +13,13 @@ import type { AccountQuotaReading, ProviderUsageTotals } from "./types"; import { authModeLabel } from "./ProviderRail"; import type { ProviderUpdatePatch, ProviderUpdateResult } from "./types"; import ProviderCurrentQuota from "./ProviderCurrentQuota"; +import type { CatalogPreset } from "../provider-catalog/provider-presets"; +import ProviderSponsor from "./ProviderSponsor"; type ConnectionTestResult = { applicable?: boolean; ok?: boolean; latencyMs?: number; - authState?: "connected" | "checking" | "needs_reauth" | "unsupported"; reason?: string; message?: string; error?: string; @@ -31,13 +32,13 @@ type ConnectionTestState = { }; export default function ProviderOverview({ - item, usageTotals, quotaReport, currentQuotaReading, onRefreshQuota, oauthEmail, oauth, + item, preset, usageTotals, quotaReport, currentQuotaReading, onRefreshQuota, oauthEmail, oauth, apiBase, connectionIdentity, onEditSettings, onViewUsage, onUpdateProvider, onReauthenticate, onCancelLogin, reauthBusy = false, - onRefreshConfig, }: { item: WorkspaceItem; + preset?: CatalogPreset; usageTotals?: ProviderUsageTotals; quotaReport?: ProviderQuotaReportView; currentQuotaReading?: AccountQuotaReading; @@ -54,34 +55,16 @@ export default function ProviderOverview({ onReauthenticate?: () => void; onCancelLogin?: () => void; reauthBusy?: boolean; - onRefreshConfig?: () => void | Promise<void>; }) { const t = useT(); const { locale } = useI18n(); const status = binProviderStatus(item); const needsAttention = Boolean(item.activeNeedsReauth); - const isAiStudioWeb = item.googleMode === "ai-studio-web" || item.name === "google-aistudio"; - const [localAiStudioAuthState, setLocalAiStudioAuthState] = useState<"connected" | "checking" | "needs_reauth" | "unsupported" | null>(null); - const aiStudioAuthState = localAiStudioAuthState ?? item.aiStudioAuthState ?? (item.hasAiStudioSession ? "checking" : "needs_reauth"); - const aiStudioStatusText = aiStudioAuthState === "connected" - ? t("pws.aiStudio.connected") - : aiStudioAuthState === "checking" - ? t("pws.aiStudio.checking") - : aiStudioAuthState === "unsupported" - ? t("pws.aiStudio.unsupported") - : t("pws.aiStudio.needsReauth"); - const needsAiStudioReauth = isAiStudioWeb && aiStudioAuthState === "needs_reauth"; - const [aiStudioReauthBusy, setAiStudioReauthBusy] = useState(false); - const [aiStudioReauthMsg, setAiStudioReauthMsg] = useState<string | null>(null); - const aiStudioReauthAbortRef = useRef<AbortController | null>(null); - const aiStudioAutoTestKeyRef = useRef<string | null>(null); - const statusText = isAiStudioWeb - ? aiStudioStatusText - : status === "ready" - ? t("pws.status.connected") - : status === "needs-setup" - ? (needsAttention ? t("pws.status.needsAttention") : t("pws.status.needsSetup")) - : t("prov.disabledBadge"); + const statusText = status === "ready" + ? t("pws.status.connected") + : status === "needs-setup" + ? (needsAttention ? t("pws.status.needsAttention") : t("pws.status.needsSetup")) + : t("prov.disabledBadge"); const requests = usageTotals?.requests; const tokens = usageTotals?.totalTokens; const connectionProbeKey = JSON.stringify([ @@ -98,7 +81,6 @@ export default function ProviderOverview({ item.allowPrivateNetwork === true, item.keyOptional === true, item.activeNeedsReauth === true, - aiStudioAuthState, connectionIdentity ?? null, ]); const [connectionTest, setConnectionTest] = useState<ConnectionTestState | null>(null); @@ -112,8 +94,6 @@ export default function ProviderOverview({ connectionAbortRef.current.controller.abort(); connectionAbortRef.current = null; } - aiStudioReauthAbortRef.current?.abort(); - aiStudioReauthAbortRef.current = null; }; }, [connectionProbeKey]); @@ -132,15 +112,6 @@ export default function ProviderOverview({ if (!result) throw new Error(t("pws.connectionFailed")); if (!controller.signal.aborted) { setConnectionTest({ key: connectionProbeKey, testing: false, result }); - if (isAiStudioWeb) { - if (result.authState) { - setLocalAiStudioAuthState(result.authState); - } else if (result.ok === true) { - setLocalAiStudioAuthState("connected"); - } else if (result.error && /re-?authentication/i.test(result.error)) { - setLocalAiStudioAuthState("needs_reauth"); - } - } } } catch (error) { if (!controller.signal.aborted) { @@ -159,63 +130,7 @@ export default function ProviderOverview({ connectionAbortRef.current = null; } } - }, [apiBase, connectionProbeKey, isAiStudioWeb, item.name, t]); - - const handleAiStudioReauth = useCallback(async () => { - if (!apiBase) return; - aiStudioReauthAbortRef.current?.abort(); - const controller = new AbortController(); - aiStudioReauthAbortRef.current = controller; - setAiStudioReauthBusy(true); - setAiStudioReauthMsg(null); - try { - const res = await fetch(`${apiBase}/api/aistudio/login/native`, { - method: "POST", - signal: controller.signal, - }); - if (controller.signal.aborted) return; - if (!res.ok) { - const data = (await res.json().catch(() => null)) as { error?: string | { message?: string } } | null; - const error = typeof data?.error === "string" ? data.error : data?.error?.message; - setAiStudioReauthMsg(error || t("pws.aiStudio.loginFailed")); - return; - } - const data = (await res.json().catch(() => null)) as { ok?: boolean; error?: string | { message?: string } } | null; - const error = typeof data?.error === "string" ? data.error : data?.error?.message; - if (data?.ok) { - setLocalAiStudioAuthState("connected"); - setAiStudioReauthMsg(t("pws.aiStudio.reauthenticated")); - await onRefreshConfig?.(); - return; - } - if (error) { - setAiStudioReauthMsg(error); - return; - } - setAiStudioReauthMsg(t("pws.aiStudio.loginFailed")); - } catch (error) { - if (controller.signal.aborted || (error instanceof DOMException && error.name === "AbortError")) return; - setAiStudioReauthMsg(error instanceof Error ? error.message : t("pws.aiStudio.loginFailed")); - } finally { - if (aiStudioReauthAbortRef.current === controller) { - aiStudioReauthAbortRef.current = null; - } - if (!controller.signal.aborted) { - setAiStudioReauthBusy(false); - } - } - }, [apiBase, onRefreshConfig, t]); - - useEffect(() => { - if (!isAiStudioWeb || aiStudioAuthState !== "checking" || !apiBase) return; - const autoTestKey = `${item.name}:${connectionProbeKey}`; - if (aiStudioAutoTestKeyRef.current === autoTestKey) return; - aiStudioAutoTestKeyRef.current = autoTestKey; - const timer = window.setTimeout(() => { - void testConnection(); - }, 0); - return () => window.clearTimeout(timer); - }, [aiStudioAuthState, apiBase, connectionProbeKey, isAiStudioWeb, item.name, testConnection]); + }, [apiBase, connectionProbeKey, item.name, t]); const connectionState = connectionResult?.applicable === false ? "not-applicable" @@ -228,6 +143,8 @@ export default function ProviderOverview({ ? (connectionResult.message || t("pws.connectionOk")) : (connectionResult?.error || t("pws.connectionFailed")); return ( + <> + <ProviderSponsor item={item} preset={preset} /> <div className="pws-overview-layout"> <div className="pws-overview-main"> <section className="pws-section" aria-label={t("pws.connection")}> @@ -254,36 +171,7 @@ export default function ProviderOverview({ <dt>{t("modal.defaultModel")}</dt> <dd>{item.defaultModel ?? <span className="muted">—</span>}</dd> </div> - {isAiStudioWeb && ( - <div className="pws-kv-row"> - <dt>{t("pws.aiStudio")}</dt> - <dd>{aiStudioStatusText}</dd> - </div> - )} - {item.note && ( - <div className="pws-kv-row"> - <dt>{t("pws.cell.note")}</dt> - <dd className="muted">{item.note}</dd> - </div> - )} </dl> - {isAiStudioWeb && (needsAiStudioReauth || aiStudioReauthMsg) && ( - <div className="row" style={{ marginTop: 12, alignItems: "center" }}> - {needsAiStudioReauth && ( - <button - type="button" - className="btn btn-primary btn-sm" - disabled={aiStudioReauthBusy} - onClick={() => void handleAiStudioReauth()} - > - {aiStudioReauthBusy ? t("common.loading") : status !== "ready" ? t("pws.aiStudio.connect") : t("pws.reauthenticate")} - </button> - )} - {aiStudioReauthMsg && ( - <span role="status" className="muted">{aiStudioReauthMsg}</span> - )} - </div> - )} {apiBase && ( <div className="row" style={{ marginTop: 12, alignItems: "center" }}> <button @@ -361,6 +249,7 @@ export default function ProviderOverview({ </div> )} </section> + <NotesSection item={item} onUpdateProvider={onUpdateProvider} /> </div> <aside className="pws-overview-sidebar"> @@ -391,9 +280,9 @@ export default function ProviderOverview({ </section> <ProviderCurrentQuota key={`${item.name}:${connectionIdentity ?? ""}`} report={quotaReport} reading={currentQuotaReading} onRefreshQuota={onRefreshQuota} /> - <NotesSection item={item} onUpdateProvider={onUpdateProvider} /> </aside> </div> + </> ); } diff --git a/gui/src/components/provider-workspace/ProviderSponsor.tsx b/gui/src/components/provider-workspace/ProviderSponsor.tsx new file mode 100644 index 00000000000..6b52252b91a --- /dev/null +++ b/gui/src/components/provider-workspace/ProviderSponsor.tsx @@ -0,0 +1,44 @@ +import { useT } from "../../i18n/shared"; +import { IconExternal } from "../../icons"; +import type { WorkspaceItem } from "../../provider-workspace/catalog"; +import { matchingWorkspacePreset, type CatalogPreset } from "../provider-catalog/provider-presets"; + +function webLink(value?: string): string | undefined { + if (!value) return undefined; + try { + const url = new URL(value); + return (url.protocol === "https:" || url.protocol === "http:") && !url.username && !url.password + ? value : undefined; + } catch { return undefined; } +} + +/** Presentation only: sponsorship never changes routing or account state. */ +export default function ProviderSponsor({ item, preset }: { item: WorkspaceItem; preset?: CatalogPreset }) { + const t = useT(); + if (!preset?.sponsor || !matchingWorkspacePreset(item, [preset])) return null; + const brand = preset.id === "orcarouter" || preset.id === "orcarouter-oauth" + ? "OrcaRouter" : preset.id === "packycode" ? "PackyCode" : undefined; + if (!brand) return null; + const orca = brand === "OrcaRouter"; + const visit = webLink(preset.sponsorUrl); + const dashboard = webLink(preset.dashboardUrl); + + return <section className="pws-sponsor" aria-label={`${brand} · ${t("modal.badge.sponsor")}`}> + <div className="pws-sponsor-copy"> + <div className="pws-sponsor-byline"> + <span>{brand}</span> + <span className="pws-sponsor-badge">{t("modal.badge.sponsor")}</span> + </div> + <h3>{t(orca ? "pws.sponsor.orcaTitle" : "pws.sponsor.packyTitle")}</h3> + <p>{t(orca ? "pws.sponsor.orcaDescription" : "pws.sponsor.packyDescription")}</p> + </div> + {(visit || dashboard) && <div className="pws-sponsor-actions"> + {visit && <a className="btn btn-primary" href={visit} target="_blank" rel="noopener noreferrer"> + {t("pws.sponsor.visit", { provider: brand })}<IconExternal width={14} height={14} aria-hidden="true" /> + </a>} + {dashboard && dashboard !== visit && <a className="pws-sponsor-console" href={dashboard} target="_blank" rel="noopener noreferrer"> + {t("pws.sponsor.console")}<IconExternal width={13} height={13} aria-hidden="true" /> + </a>} + </div>} + </section>; +} diff --git a/gui/src/components/subagents-workspace/SubagentDelegationSection.tsx b/gui/src/components/subagents-workspace/SubagentDelegationSection.tsx index d1fb018f3c1..19108e04cdd 100644 --- a/gui/src/components/subagents-workspace/SubagentDelegationSection.tsx +++ b/gui/src/components/subagents-workspace/SubagentDelegationSection.tsx @@ -3,16 +3,16 @@ * * This panel used to sit on the Dashboard, which is otherwise a read-only status page — the * one place you could change something was also the first thing a new user saw. It reads - * better next to the roster it affects: the roster picks who may be called, while this panel - * holds guidance preferences and the native omitted-model synchronization setting. + * better next to the roster it affects: the roster picks who may be called, this picks who + * gets called first. */ import { useLayoutEffect, useRef, useState } from "react"; -import { Select, Switch, Tooltip } from "../../ui"; +import { Select, Tooltip } from "../../ui"; import { IconArrowDown, IconArrowUp, IconInfo, IconX } from "../../icons"; import { useT, type TKey } from "../../i18n/shared"; import { formatNamespacedModelId } from "../../provider-icons"; -import type { DelegationPatch, DelegationModelOption, NativeDefaultState } from "../../pages/use-subagent-delegation"; -import type { UltraModePatch, UltraModeState, V2NativeParentOverrideState, AgentTaskRecoveryState, V2RoutedDelegationBridgeState } from "../../pages/use-subagent-delegation"; +import type { DelegationPatch, DelegationModelOption } from "../../pages/use-subagent-delegation"; +import type { UltraModePatch, UltraModeState } from "../../pages/use-subagent-delegation"; export interface SubagentDelegationSectionProps { model: string; @@ -21,28 +21,13 @@ export interface SubagentDelegationSectionProps { available: DelegationModelOption[]; guidanceEnabled: boolean; syncCodexDefaults: boolean; - nativeDefaultState?: NativeDefaultState; saving: boolean; onSave: (patch: DelegationPatch) => void; - prompt: string; - childInstructions: string; - childInstructionsSaving: boolean; - onChildInstructionsSave: (value: string | null) => void; ultraMode: UltraModeState; ultraSaving: boolean; onUltraModeSave: (patch: UltraModePatch) => void; ultraLoadFailed: boolean; onUltraModeRetry: () => void; - keepNativeChatGptOnV1?: boolean; - nativeParentOverride?: V2NativeParentOverrideState; - nativeParentOverrideSaving?: boolean; - onNativeParentOverrideSave?: (state: V2NativeParentOverrideState) => void; - agentTaskRecovery?: AgentTaskRecoveryState; - agentTaskRecoverySaving?: boolean; - onAgentTaskRecoverySave?: (state: AgentTaskRecoveryState) => void; - routedDelegationBridge?: V2RoutedDelegationBridgeState; - routedDelegationBridgeSaving?: boolean; - onRoutedDelegationBridgeSave?: (enabled: boolean) => void; fallback: string[]; fallbackPollMs: number; fallbackBusy: boolean; @@ -59,28 +44,13 @@ export default function SubagentDelegationSection({ available, guidanceEnabled, syncCodexDefaults, - nativeDefaultState = "disabled", saving, onSave, - prompt, - childInstructions, - childInstructionsSaving, - onChildInstructionsSave, ultraMode, ultraSaving, onUltraModeSave, ultraLoadFailed, onUltraModeRetry, - keepNativeChatGptOnV1 = false, - nativeParentOverride = { enabled: false, model: null, active: false }, - nativeParentOverrideSaving = false, - onNativeParentOverrideSave = () => {}, - agentTaskRecovery = { enabled: false, model: null }, - agentTaskRecoverySaving = false, - onAgentTaskRecoverySave = () => {}, - routedDelegationBridge = { enabled: false }, - routedDelegationBridgeSaving = false, - onRoutedDelegationBridgeSave = () => {}, fallback, fallbackPollMs, fallbackBusy, availableModels, onFallbackChange, onFallbackPollMsChange, onFallbackSave, }: SubagentDelegationSectionProps) { const t = useT(); @@ -88,16 +58,6 @@ export default function SubagentDelegationSection({ // Proactive message, so it must render as OFF (and the toggle can install the // preset). Only a nonblank hint is "on". const ultraOn = (ultraMode.hintText ?? "").trim().length > 0; - const safeNativeDefaultState = nativeDefaultState === "active" - || nativeDefaultState === "pending" - || nativeDefaultState === "blocked" - ? nativeDefaultState - : "disabled"; - const nativeParentTargets = available.filter(option => option.canonical !== true); - const nativeRecoveryTargets = available.filter(option => ( - option.provider === "openai" && option.namespaced === option.model - )); - const nativeParentCanActivate = ultraMode.multiAgentV2Enabled && !keepNativeChatGptOnV1 && nativeParentOverride.model !== null; const routedPreferred = available.some(option => option.namespaced === model && !(option.provider === "openai" && option.namespaced === option.model)); const nativeMayUseV2 = ultraMode.enabled || (ultraMode.multiAgentMode !== "v1" @@ -166,22 +126,6 @@ export default function SubagentDelegationSection({ </button> </div> )} - <div className="swi-delegation-row"> - <div className="setting-copy"> - <div className="font-semibold">{t("sub.routedDelegationBridge")}</div> - <div className="muted setting-hint">{t("sub.routedDelegationBridgeHint")}</div> - </div> - <Switch - on={routedDelegationBridge.enabled} - onClick={() => onRoutedDelegationBridgeSave(!routedDelegationBridge.enabled)} - disabled={routedDelegationBridgeSaving} - label={t("sub.routedDelegationBridge")} - /> - {!ultraMode.multiAgentV2Enabled && routedDelegationBridge.enabled && ( - <div className="muted setting-hint">{t("sub.routedDelegationBridgeInactive")}</div> - )} - </div> - <div className="swi-delegation-row"> <div className="setting-copy"> <div className="font-semibold">{t("sub.delegation.model")}</div> @@ -271,7 +215,6 @@ export default function SubagentDelegationSection({ <div className="setting-copy"> <div className="font-semibold">{t("dash.syncCodexSubagentDefaults")}</div> <div className="muted setting-hint">{t("dash.syncCodexSubagentDefaultsHint")}</div> - <div className="muted setting-hint">{t(`sub.nativeDefaultState.${safeNativeDefaultState}`)}</div> </div> <button type="button" @@ -356,10 +299,15 @@ export default function SubagentDelegationSection({ <button type="button" className={`switch ${ultraOn ? "on" : ""}`} - onClick={() => onUltraModeSave({ multiAgentModeHintText: ultraOn ? null : ULTRA_MODE_PRESET })} + onClick={() => { + if (ultraOn) onUltraModeSave({ multiAgentModeHintText: null }); + else if (ultraMode.recommendation) { + onUltraModeSave({ multiAgentModeHintText: ultraMode.recommendation.text }); + } + }} // Turning OFF (clear) is always safe, even when v2 is disabled — a stale // hint would otherwise silently re-activate on the next v2 enable. - disabled={saving || ultraSaving || (!ultraOn && !ultraMode.multiAgentV2Enabled)} + disabled={saving || ultraSaving || (!ultraOn && (!ultraMode.multiAgentV2Enabled || !ultraMode.recommendation))} aria-label={t("sub.ultraMode")} aria-pressed={ultraOn} > @@ -376,7 +324,7 @@ export default function SubagentDelegationSection({ initialHint={ultraMode.hintText ?? ""} disabled={saving || ultraSaving} onSave={onUltraModeSave} - preset={ULTRA_MODE_PRESET} + preset={ultraMode.recommendation?.text ?? null} labels={{ text: t("sub.ultraModeText"), preset: t("sub.ultraModePreset"), @@ -385,126 +333,6 @@ export default function SubagentDelegationSection({ /> </div> )} - - <div className="swi-delegation-row"> - <div className="setting-copy"> - <div className="font-semibold">{t("sub.nativeParentOverride")}</div> - <div className="muted setting-hint">{t("sub.nativeParentOverrideHint")}</div> - <div className="muted setting-hint">{t("sub.nativeParentOverridePrivacyWarning")}</div> - </div> - <div className="swi-delegation-controls"> - <Select - value={nativeParentOverride.model ?? ""} - options={[ - { value: "", label: t("dash.injectionNone") }, - ...nativeParentTargets.map(option => ({ - value: option.namespaced, - label: formatNamespacedModelId(`${option.provider}/${option.model}`, t), - })), - ]} - onChange={value => onNativeParentOverrideSave({ - enabled: value ? nativeParentOverride.enabled : false, - model: value || null, - active: nativeParentOverride.active, - })} - disabled={nativeParentOverrideSaving} - label={t("sub.nativeParentOverrideModel")} - align="right" - /> - <Switch - on={nativeParentOverride.enabled} - onClick={() => onNativeParentOverrideSave({ - enabled: !nativeParentOverride.enabled, - model: nativeParentOverride.model, - active: nativeParentOverride.active, - })} - disabled={nativeParentOverrideSaving || (!nativeParentOverride.enabled && !nativeParentCanActivate)} - label={t("sub.nativeParentOverride")} - /> - </div> - {!nativeParentCanActivate && !nativeParentOverride.active && ( - <div className="muted setting-hint">{t("sub.nativeParentOverrideV2Required")}</div> - )} - </div> - - <div className="swi-delegation-row"> - <div className="setting-copy"> - <div className="font-semibold">{t("sub.agentTaskRecovery")}</div> - <div className="muted setting-hint">{t("sub.agentTaskRecoveryHint")}</div> - </div> - <div className="swi-delegation-controls"> - <Select - value={agentTaskRecovery.model ?? ""} - options={[ - { value: "", label: t("sub.agentTaskRecoveryDefault") }, - // Recovery unwraps ciphertext through the ChatGPT backend, so only - // native catalog rows are valid targets. A saved value that no longer - // resolves in the catalog still displays instead of being discarded. - ...(agentTaskRecovery.model - && !nativeRecoveryTargets.some(option => option.model === agentTaskRecovery.model) - ? [{ value: agentTaskRecovery.model, label: agentTaskRecovery.model }] - : []), - ...nativeRecoveryTargets.map(option => ({ - value: option.model, - label: formatNamespacedModelId(option.provider + "/" + option.model, t), - })), - ]} - onChange={v => onAgentTaskRecoverySave({ - enabled: agentTaskRecovery.enabled, - model: v || null, - })} - disabled={agentTaskRecoverySaving} - label={t("sub.agentTaskRecoveryModel")} - align="right" - /> - <Switch - on={agentTaskRecovery.enabled} - onClick={() => onAgentTaskRecoverySave({ - enabled: !agentTaskRecovery.enabled, - model: agentTaskRecovery.model, - })} - disabled={agentTaskRecoverySaving} - label={t("sub.agentTaskRecovery")} - /> - </div> - </div> - - <div className="swi-delegation-row swi-prompt-editor"> - <div className="setting-copy"> - <div className="font-semibold">{t("sub.injectionPrompt")}</div> - <div className="muted setting-hint"> - {t("sub.injectionPromptHint")}{" "} - <code>{"{{model}}"}</code>{" "} - <code>{"{{effort}}"}</code>{" "} - <code>{"{{roster}}"}</code>{" "} - <code>{"{{fallback}}"}</code>{" "} - <code>{"{{roles}}"}</code> - </div> - </div> - <PromptDraftEditor - key={`prompt:${prompt}`} - initialValue={prompt} - disabled={saving} - ariaLabel={t("sub.injectionPrompt")} - saveLabel={t("sub.injectionPromptSave")} - onSave={value => onSave({ prompt: value.trim() ? value : null })} - /> - </div> - - <div className="swi-delegation-row swi-prompt-editor"> - <div className="setting-copy"> - <div className="font-semibold">{t("sub.childInstructions")}</div> - <div className="muted setting-hint">{t("sub.childInstructionsHint")}</div> - </div> - <PromptDraftEditor - key={`child:${childInstructions}`} - initialValue={childInstructions} - disabled={saving || childInstructionsSaving} - ariaLabel={t("sub.childInstructions")} - saveLabel={t("sub.childInstructionsSave")} - onSave={value => onChildInstructionsSave(value.trim() ? value : null)} - /> - </div> </details> </div> ); @@ -525,7 +353,7 @@ function UltraModeEditor({ initialHint: string; disabled: boolean; onSave: (patch: UltraModePatch) => void; - preset: string; + preset: string | null; labels: { text: string; preset: string; save: string }; }) { const [draft, setDraft] = useState(initialHint); @@ -546,8 +374,8 @@ function UltraModeEditor({ <button type="button" className="btn btn-ghost btn-sm" - onClick={() => setDraft(preset)} - disabled={disabled} + onClick={() => { if (preset !== null) setDraft(preset); }} + disabled={disabled || preset === null} > {labels.preset} </button> @@ -562,44 +390,3 @@ function UltraModeEditor({ </> ); } - -/** Canonical Proactive delegation text mirrored from codex-rs (multi_agent_mode_instructions.rs). */ -export const ULTRA_MODE_PRESET = - "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Delegate independent sub-tasks to sub-agents whenever parallel work would materially improve speed or quality — do not serialize work that can run concurrently. Each sub-agent runs in its own context and can use all available tools; prefer spawning specialists over doing everything yourself. This mode remains active until a later multi-agent mode developer message changes it."; - -function PromptDraftEditor({ - initialValue, - disabled, - ariaLabel, - saveLabel, - onSave, -}: { - initialValue: string; - disabled: boolean; - ariaLabel: string; - saveLabel: string; - onSave: (value: string) => void; -}) { - const [draft, setDraft] = useState(initialValue); - return ( - <div className="swi-prompt-draft"> - <textarea - className="input swi-ultra-mode-textarea" - value={draft} - onChange={e => setDraft(e.target.value)} - disabled={disabled} - rows={4} - aria-label={ariaLabel} - /> - <button - type="button" - className="btn btn-primary btn-sm" - onClick={() => onSave(draft)} - disabled={disabled} - aria-label={saveLabel} - > - {saveLabel} - </button> - </div> - ); -} diff --git a/gui/src/i18n/de.ts b/gui/src/i18n/de.ts index 8fd2d0e0861..fc865be3dc9 100644 --- a/gui/src/i18n/de.ts +++ b/gui/src/i18n/de.ts @@ -680,14 +680,14 @@ export const de: Record<TKey, string> = { "sub.workspace.selectModel": "Modell auswählen", "sub.workspace.selectModelDesc": "Wählen Sie ein Modell aus der Liste, um Details anzuzeigen und es für spawn_agent hervorzuheben.", "sub.workspace.selector": "Öffentlicher Selektor", - "sub.ultraMode": "Ultra-Modus", + "sub.ultraMode": "Immer proaktiv delegieren", "sub.ultraModeHint": "Aktiviert die proaktive Multi-Agent-Delegierungsrichtlinie für alle Modelle und Reasoning-Efforts (ändert den Reasoning-Effort selbst nicht). Schreibt features.multi_agent_v2.multi_agent_mode_hint_text in config.toml.", "sub.ultraModeV2Required": "Erfordert die v2-Multi-Agent-Oberfläche — aktivieren Sie zuerst multi_agent_v2 und wählen Sie v2 in der Subagentenmodus-Steuerung.", - "sub.ultraModeText": "Delegierungstext des Ultra-Modus", + "sub.ultraModeText": "Text für proaktive Delegierung", "sub.ultraModePreset": "Voreinstellung wiederherstellen", - "sub.ultraModeLoadFail": "Ultra-Modus-Einstellungen konnten nicht geladen werden — läuft der Proxy?", - "sub.ultraModeSaveFail": "Ultra-Modus-Einstellungen konnten nicht gespeichert werden", - "sub.ultraModeSaved": "Ultra-Modus gespeichert. Gilt für neue Codex-Sitzungen.", + "sub.ultraModeLoadFail": "Einstellungen für proaktive Delegierung konnten nicht geladen werden — läuft der Proxy?", + "sub.ultraModeSaveFail": "Einstellungen für proaktive Delegierung konnten nicht gespeichert werden", + "sub.ultraModeSaved": "Proaktive Delegierung gespeichert. Gilt für neue Codex-Sitzungen.", "logs.title": "Anfrage-Protokolle", "logs.tabLogs": "Protokolle", "logs.tabDebug": "Diagnose", @@ -1778,6 +1778,7 @@ export const de: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "Dauerhaft löschen", "storage.cleanup.doneQuarantine": "{count} Datei(en) in Quarantäne ({size}).", "storage.cleanup.donePermanent": "{count} Datei(en) dauerhaft gelöscht ({size}).", + "storage.cleanup.skippedReferenced": "{count} referenzierte Datei(en) übersprungen.", "storage.cleanup.previewFailed": "Vorschau fehlgeschlagen.", "storage.cleanup.cleanupFailed": "Bereinigung fehlgeschlagen.", "storage.cleanup.err.codex_busy": "Codex verwendet state.sqlite — beende Codex und versuche es erneut.", @@ -1876,6 +1877,13 @@ export const de: Record<TKey, string> = { "modal.badge.direct": "Direct", "modal.badge.pool": "Pool", "modal.badge.free": "Kostenlos", + "modal.badge.sponsor": "Sponsor", + "pws.sponsor.orcaTitle": "Das passende Modell für jede Anfrage", + "pws.sponsor.orcaDescription": "Ein OpenAI-kompatibles Gateway mit adaptivem Routing und automatischem Failover.", + "pws.sponsor.packyTitle": "Claude Code, Codex und Gemini an einem Ort", + "pws.sponsor.packyDescription": "Ein API-Relay für Ihre KI-Programmierwerkzeuge. Starten Sie mit einem Token der Codex-Gruppe.", + "pws.sponsor.visit": "{provider} entdecken", + "pws.sponsor.console": "Konsole öffnen", "modal.invalidPreset": "Diese integrierte Anbietervorlage ist unvollständig. Starten Sie den Proxy neu und versuchen Sie es erneut.", "modal.freeTierTitle": "Kostenloser Tarif", "modal.freeTierDefault": "Kein API-Schlüssel nötig. Funktioniert sofort.", @@ -2486,6 +2494,8 @@ export const de: Record<TKey, string> = { "dash.visionAdvancedPopover": "Erweiterte Vision-Einstellungen", "dash.codexDesktopAuthless": "Codex ohne Anmeldung öffnen", "dash.codexDesktopAuthlessHint": "Standardmäßig aus. Überspringt die separate Desktop-Anmeldung bei geeigneten lokalen Verbindungen. Zugangsdaten für den Anbieter bleiben erforderlich. Codex nach einer Änderung neu starten. Kontogebundene Desktop-Funktionen können fehlen.", + "dash.codexClientCompaction": "Clientseitige Komprimierung verwenden", + "dash.codexClientCompactionHint": "Standardmäßig aus; nur für authentifiziertes Loopback-Routing. Künftige Komprimierungen speichern portable Klartext-Zusammenfassungen, während das OpenCodeX-Provider-Routing und die V2-Subagent-Zustellung aktiv bleiben; der konfigurierte Anbieter kann sie verarbeiten und Kontingent verbrauchen. Vorhandene ocx1-Verläufe müssen weiterhin wiederhergestellt werden. Codex nach einer Änderung neu starten.", "models.newPolicyGlobal": "Neue Modelle zunächst deaktivieren", "models.newPolicyProvider": "Richtlinie für neue Modelle", "models.newPolicy_inherit": "Übernehmen", "models.newPolicy_off": "Aus", "models.newPolicy_on": "An", "models.newBadge": "NEU", "models.newCount": "{count} neu, aus", "models.aliases": "Aliase", diff --git a/gui/src/i18n/en.ts b/gui/src/i18n/en.ts index 91127509b3e..8354fe53cb2 100644 --- a/gui/src/i18n/en.ts +++ b/gui/src/i18n/en.ts @@ -580,6 +580,8 @@ export const en = { "dash.multiAgent": "Sub-agent", "dash.codexDesktopAuthless": "Open Codex without signing in", "dash.codexDesktopAuthlessHint": "Off by default. Skip the separate Desktop sign-in for eligible local connections. Upstream credentials are still required. Restart Codex after changing this setting. Account-gated Desktop features may be unavailable.", + "dash.codexClientCompaction": "Use client-side compaction", + "dash.codexClientCompactionHint": "Off by default; authenticated loopback only. Future compactions store portable plaintext summaries while OpenCodeX and V2 provider routing stay active; the configured provider may process them and consume quota. History is left untouched, and existing threads keep routing through the proxy via the openai_base_url override OpenCodeX manages; if you set that line yourself it is kept, and those threads follow your destination instead. Existing ocx1 history stays recoverable; recover a thread separately only before replaying it in native Codex. Restart Codex after changing this setting.", "models.v2Conflict": "[agents] max_threads is set — codex will refuse to start; remove it from config.toml", "models.v2Applied": "Sub-agent mode updated — applies to new sessions (restart the Codex app to refresh the picker)", "models.v2ThreadsLabel": "Max threads", @@ -710,14 +712,14 @@ export const en = { "sub.workspace.mainAria": "Subagent model details", "sub.workspace.notFeatured": "Not featured", "sub.workspace.priority": "Priority", - "sub.ultraMode": "Ultra mode", + "sub.ultraMode": "Always proactive delegation", "sub.ultraModeHint": "Enable the Proactive multi-agent delegation policy for every model and reasoning effort (does not change reasoning effort itself). Writes features.multi_agent_v2.multi_agent_mode_hint_text in config.toml.", "sub.ultraModeV2Required": "Requires the v2 multi-agent surface — enable multi_agent_v2 and select v2 in the Sub-agent mode control first.", - "sub.ultraModeText": "Ultra mode delegation text", + "sub.ultraModeText": "Proactive delegation text", "sub.ultraModePreset": "Restore preset", - "sub.ultraModeLoadFail": "Failed to load Ultra mode settings — is the proxy running?", - "sub.ultraModeSaveFail": "Failed to save Ultra mode settings", - "sub.ultraModeSaved": "Ultra mode saved. Applies to new Codex sessions.", + "sub.ultraModeLoadFail": "Failed to load proactive delegation settings — is the proxy running?", + "sub.ultraModeSaveFail": "Failed to save proactive delegation settings", + "sub.ultraModeSaved": "Proactive delegation saved. Applies to new Codex sessions.", "sub.workspace.removeFromFeatured": "Remove {m} from featured", "sub.workspace.selectModel": "Select a model", "sub.workspace.selectModelDesc": "Pick a model from the list to see details and feature it for spawn_agent.", @@ -1011,6 +1013,7 @@ export const en = { "storage.cleanup.confirmPermanent": "Delete permanently", "storage.cleanup.doneQuarantine": "Quarantined {count} file(s) ({size}).", "storage.cleanup.donePermanent": "Permanently deleted {count} file(s) ({size}).", + "storage.cleanup.skippedReferenced": "Skipped {count} referenced file(s).", "storage.cleanup.previewFailed": "Preview failed.", "storage.cleanup.cleanupFailed": "Cleanup failed.", "storage.cleanup.err.codex_busy": "Codex is using state.sqlite — try again after quitting Codex.", @@ -1133,6 +1136,13 @@ export const en = { "modal.badge.direct": "Direct", "modal.badge.pool": "Pool", "modal.badge.free": "Free", + "modal.badge.sponsor": "Sponsor", + "pws.sponsor.orcaTitle": "A model for every prompt", + "pws.sponsor.orcaDescription": "An OpenAI-compatible gateway with adaptive routing and automatic failover.", + "pws.sponsor.packyTitle": "Claude Code, Codex and Gemini in one place", + "pws.sponsor.packyDescription": "An API relay for your AI coding tools. Start with a Codex-group token.", + "pws.sponsor.visit": "Explore {provider}", + "pws.sponsor.console": "Open console", "modal.invalidPreset": "This built-in provider preset is incomplete. Restart the proxy and try again.", "modal.freeTierTitle": "Free tier", "modal.freeTierDefault": "No API key required. Works out of the box.", diff --git a/gui/src/i18n/fr.ts b/gui/src/i18n/fr.ts index 0f974314489..44429e1e21a 100644 --- a/gui/src/i18n/fr.ts +++ b/gui/src/i18n/fr.ts @@ -565,6 +565,8 @@ export const fr: Record<TKey, string> = { "dash.multiAgent": "Sous-agent", "dash.codexDesktopAuthless": "Ouvrir Codex sans se connecter", "dash.codexDesktopAuthlessHint": "Désactivé par défaut. Ignore la connexion Desktop séparée pour les connexions locales admissibles. Les identifiants du fournisseur restent nécessaires. Redémarrez Codex après toute modification. Certaines fonctions Desktop liées au compte peuvent être indisponibles.", + "dash.codexClientCompaction": "Utiliser la compaction côté client", + "dash.codexClientCompactionHint": "Désactivé par défaut, uniquement pour le routage loopback authentifié. Les compactages futurs stockent des résumés portables en texte clair tout en conservant le routage OpenCodeX/V2 ; le fournisseur configuré peut les traiter et consommer son quota. L'historique ocx1 existant doit toujours être restauré. Redémarrez Codex après modification.", "models.v2Conflict": "[agents] max_threads est défini — codex refusera de démarrer ; supprimez-le de config.toml", "models.v2Applied": "Mode sous-agent mis à jour — s’applique aux nouvelles sessions (redémarrez l’application Codex pour actualiser le sélecteur)", "models.v2ThreadsLabel": "Nombre maximal de fils", @@ -693,14 +695,14 @@ export const fr: Record<TKey, string> = { "sub.workspace.mainAria": "Détails du modèle de sous-agent", "sub.workspace.notFeatured": "Non mis à la une", "sub.workspace.priority": "Priorité", - "sub.ultraMode": "Mode Ultra", + "sub.ultraMode": "Délégation toujours proactive", "sub.ultraModeHint": "Activer la politique de délégation multi-agent proactive pour tous les modèles et niveaux de raisonnement (sans modifier le niveau de raisonnement lui-même). Écrit features.multi_agent_v2.multi_agent_mode_hint_text dans config.toml.", "sub.ultraModeV2Required": "Nécessite l’interface multi-agent v2 — activez multi_agent_v2 et sélectionnez d’abord v2 dans le contrôle du mode Sous-agent.", - "sub.ultraModeText": "Texte de délégation du mode Ultra", + "sub.ultraModeText": "Texte de délégation proactive", "sub.ultraModePreset": "Rétablir le préréglage", - "sub.ultraModeLoadFail": "Échec du chargement des paramètres du mode Ultra — le proxy est-il en cours d’exécution ?", - "sub.ultraModeSaveFail": "Échec de l’enregistrement des paramètres du mode Ultra", - "sub.ultraModeSaved": "Mode Ultra enregistré. S’applique aux nouvelles sessions Codex.", + "sub.ultraModeLoadFail": "Échec du chargement des paramètres de délégation proactive — le proxy est-il en cours d’exécution ?", + "sub.ultraModeSaveFail": "Échec de l’enregistrement des paramètres de délégation proactive", + "sub.ultraModeSaved": "Délégation proactive enregistrée. S’applique aux nouvelles sessions Codex.", "sub.workspace.removeFromFeatured": "Retirer {m} de la sélection À la une", "sub.workspace.selectModel": "Sélectionner un modèle", "sub.workspace.selectModelDesc": "Choisissez un modèle dans la liste pour afficher ses détails et le mettre à la une pour spawn_agent.", @@ -987,6 +989,7 @@ export const fr: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "Supprimer définitivement", "storage.cleanup.doneQuarantine": "{count} fichier(s) mis en quarantaine ({size}).", "storage.cleanup.donePermanent": "{count} fichier(s) supprimé(s) définitivement ({size}).", + "storage.cleanup.skippedReferenced": "{count} fichier(s) référencé(s) ignoré(s).", "storage.cleanup.previewFailed": "Échec de l’aperçu.", "storage.cleanup.cleanupFailed": "Échec du nettoyage.", "storage.cleanup.err.codex_busy": "Codex utilise state.sqlite — réessayez après avoir quitté Codex.", @@ -1106,6 +1109,13 @@ export const fr: Record<TKey, string> = { "modal.badge.direct": "Direct", "modal.badge.pool": "Groupe", "modal.badge.free": "Gratuit", + "modal.badge.sponsor": "Partenaire sponsor", + "pws.sponsor.orcaTitle": "Un modèle adapté à chaque requête", + "pws.sponsor.orcaDescription": "Une passerelle compatible OpenAI avec routage adaptatif et basculement automatique.", + "pws.sponsor.packyTitle": "Claude Code, Codex et Gemini au même endroit", + "pws.sponsor.packyDescription": "Un relais API pour vos outils de développement IA. Commencez avec un jeton du groupe Codex.", + "pws.sponsor.visit": "Découvrir {provider}", + "pws.sponsor.console": "Ouvrir la console", "modal.invalidPreset": "Ce préréglage de fournisseur intégré est incomplet. Redémarrez le proxy et réessayez.", "modal.freeTierTitle": "Offre gratuite", "modal.freeTierDefault": "Aucune clé API requise. Fonctionne immédiatement.", diff --git a/gui/src/i18n/ja.ts b/gui/src/i18n/ja.ts index 4fdd2947b79..6251088e090 100644 --- a/gui/src/i18n/ja.ts +++ b/gui/src/i18n/ja.ts @@ -641,14 +641,14 @@ export const ja: Record<TKey, string> = { "sub.workspace.selectModel": "モデルを選択", "sub.workspace.selectModelDesc": "一覧からモデルを選んで詳細を確認し、spawn_agent のおすすめに設定します。", "sub.workspace.selector": "公開セレクター", - "sub.ultraMode": "ウルトラモード", + "sub.ultraMode": "常時プロアクティブ委任", "sub.ultraModeHint": "すべてのモデルと reasoning effort で Proactive マルチエージェント委任ポリシーを有効にします(reasoning effort 自体は変更しません)。config.toml に features.multi_agent_v2.multi_agent_mode_hint_text を書き込みます。", "sub.ultraModeV2Required": "v2 マルチエージェントサーフェスが必要です — 先に multi_agent_v2 を有効にし、サブエージェントモードで v2 を選択してください。", - "sub.ultraModeText": "ウルトラモード委任テキスト", + "sub.ultraModeText": "プロアクティブ委任テキスト", "sub.ultraModePreset": "プリセットを復元", - "sub.ultraModeLoadFail": "ウルトラモード設定を読み込めませんでした — プロキシは実行中ですか?", - "sub.ultraModeSaveFail": "ウルトラモード設定の保存に失敗しました", - "sub.ultraModeSaved": "ウルトラモードを保存しました。新しい Codex セッションから適用されます。", + "sub.ultraModeLoadFail": "プロアクティブ委任設定を読み込めませんでした — プロキシは実行中ですか?", + "sub.ultraModeSaveFail": "プロアクティブ委任設定の保存に失敗しました", + "sub.ultraModeSaved": "プロアクティブ委任設定を保存しました。新しい Codex セッションから適用されます。", // logs "logs.title": "リクエストログ", @@ -926,6 +926,7 @@ export const ja: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "完全に削除", "storage.cleanup.doneQuarantine": "{count} 件を隔離しました({size})。", "storage.cleanup.donePermanent": "{count} 件を完全削除しました({size})。", + "storage.cleanup.skippedReferenced": "参照されている {count} 件をスキップしました。", "storage.cleanup.previewFailed": "プレビューに失敗しました。", "storage.cleanup.cleanupFailed": "クリーンアップに失敗しました。", "storage.cleanup.err.codex_busy": "Codex が state.sqlite を使用中です — Codex を終了して再試行してください。", @@ -1048,6 +1049,13 @@ export const ja: Record<TKey, string> = { "modal.badge.direct": "ダイレクト", "modal.badge.pool": "プール", "modal.badge.free": "無料", + "modal.badge.sponsor": "スポンサー", + "pws.sponsor.orcaTitle": "プロンプトに合うモデルを一か所で", + "pws.sponsor.orcaDescription": "自動ルーティングとフェイルオーバーに対応したOpenAI互換ゲートウェイです。", + "pws.sponsor.packyTitle": "Claude Code、Codex、Geminiを一か所で", + "pws.sponsor.packyDescription": "AIコーディングツール向けAPIリレーです。Codexグループのトークンで始められます。", + "pws.sponsor.visit": "{provider}を見る", + "pws.sponsor.console": "コンソールを開く", "modal.invalidPreset": "この組み込みプロバイダープリセットは不完全です。プロキシを再起動してもう一度お試しください。", "modal.freeTierTitle": "無料枠", "modal.freeTierDefault": "API キー不要です。そのまま利用できます。", @@ -2507,6 +2515,8 @@ export const ja: Record<TKey, string> = { "dash.visionAdvancedPopover": "詳細なビジョン設定", "dash.codexDesktopAuthless": "ログインせずに Codex を開く", "dash.codexDesktopAuthlessHint": "既定ではオフです。対象のローカル接続で Desktop の個別ログインを省略します。上流プロバイダーの認証情報は引き続き必要です。変更後は Codex を再起動してください。アカウントに依存する Desktop 機能が利用できない場合があります。", + "dash.codexClientCompaction": "クライアント側コンパクションを使用", + "dash.codexClientCompactionHint": "既定ではオフで、認証済みループバックルーティング専用です。今後のコンパクションは、OpenCodeX と V2 プロバイダーのルーティングを維持したまま移植可能な平文要約を保存します。設定済みプロバイダーが要約を処理し、割り当てを消費する場合があります。既存の ocx1 履歴は別途復旧が必要です。変更後は Codex を再起動してください。", "models.newPolicyGlobal": "新しいモデルを無効で追加", "models.newPolicyProvider": "新しいモデルのポリシー", "models.newPolicy_inherit": "継承", "models.newPolicy_off": "オフ", "models.newPolicy_on": "オン", "models.newBadge": "新着", "models.newCount": "新着 {count} 件、オフ", "models.aliases": "エイリアス", diff --git a/gui/src/i18n/ko.ts b/gui/src/i18n/ko.ts index 73f9f70d21f..59f08fd7a30 100644 --- a/gui/src/i18n/ko.ts +++ b/gui/src/i18n/ko.ts @@ -697,14 +697,14 @@ export const ko: Record<TKey, string> = { "sub.workspace.selectModel": "모델 선택", "sub.workspace.selectModelDesc": "목록에서 모델을 선택하여 세부 정보를 확인하고 spawn_agent에 추천하세요.", "sub.workspace.selector": "공개 셀렉터", - "sub.ultraMode": "울트라 모드", + "sub.ultraMode": "항상 능동 위임", "sub.ultraModeHint": "모든 모델과 reasoning effort에서 Proactive 멀티에이전트 위임 정책을 켭니다 (reasoning effort 자체는 변경하지 않음). config.toml에 features.multi_agent_v2.multi_agent_mode_hint_text를 기록합니다.", "sub.ultraModeV2Required": "v2 멀티에이전트 서피스가 필요합니다 — 먼저 multi_agent_v2를 켜고 서브에이전트 모드에서 v2를 선택하세요.", - "sub.ultraModeText": "울트라 모드 위임 텍스트", + "sub.ultraModeText": "능동 위임 텍스트", "sub.ultraModePreset": "프리셋 복원", - "sub.ultraModeLoadFail": "울트라 모드 설정을 불러오지 못했습니다 — 프록시가 실행 중인가요?", - "sub.ultraModeSaveFail": "울트라 모드 설정 저장에 실패했습니다", - "sub.ultraModeSaved": "울트라 모드가 저장되었습니다. 새 Codex 세션부터 적용됩니다.", + "sub.ultraModeLoadFail": "능동 위임 설정을 불러오지 못했습니다 — 프록시가 실행 중인가요?", + "sub.ultraModeSaveFail": "능동 위임 설정 저장에 실패했습니다", + "sub.ultraModeSaved": "능동 위임 설정이 저장되었습니다. 새 Codex 세션부터 적용됩니다.", "sub.fallbackLabel": "서브에이전트 폴백 체인", "sub.fallbackHint": "서브에이전트 모델을 사용할 수 없거나 실패할 때 순서대로 시도할 모델입니다.", "sub.fallbackAdd": "폴백 모델 추가…", @@ -1817,6 +1817,7 @@ export const ko: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "영구 삭제", "storage.cleanup.doneQuarantine": "파일 {count}개를 격리했습니다({size}).", "storage.cleanup.donePermanent": "파일 {count}개를 영구 삭제했습니다({size}).", + "storage.cleanup.skippedReferenced": "참조된 파일 {count}개를 건너뛰었습니다.", "storage.cleanup.previewFailed": "미리보기에 실패했습니다.", "storage.cleanup.cleanupFailed": "정리에 실패했습니다.", "storage.cleanup.err.codex_busy": "Codex가 state.sqlite를 사용 중입니다 — Codex를 종료한 뒤 다시 시도하세요.", @@ -1915,6 +1916,13 @@ export const ko: Record<TKey, string> = { "modal.badge.direct": "Direct", "modal.badge.pool": "풀", "modal.badge.free": "무료", + "modal.badge.sponsor": "스폰서", + "pws.sponsor.orcaTitle": "요청에 맞는 모델을 한곳에서", + "pws.sponsor.orcaDescription": "자동 라우팅과 대체 모델 연결을 지원하는 OpenAI 호환 게이트웨이입니다.", + "pws.sponsor.packyTitle": "Claude Code, Codex, Gemini를 한곳에서", + "pws.sponsor.packyDescription": "여러 AI 코딩 도구에 연결하는 API 릴레이입니다. Codex 그룹 토큰으로 시작하세요.", + "pws.sponsor.visit": "{provider} 살펴보기", + "pws.sponsor.console": "콘솔 열기", "modal.invalidPreset": "내장 프로바이더 설정이 완전하지 않습니다. 프록시를 다시 시작한 뒤 재시도하세요.", "modal.freeTierTitle": "무료 티어", "modal.freeTierDefault": "API 키가 필요 없습니다. 바로 사용할 수 있습니다.", @@ -2508,6 +2516,8 @@ export const ko: Record<TKey, string> = { "dash.visionAdvancedPopover": "고급 비전 설정", "dash.codexDesktopAuthless": "로그인 없이 Codex 열기", "dash.codexDesktopAuthlessHint": "기본값은 꺼짐입니다. 지원되는 로컬 연결에서 별도의 Desktop 로그인을 건너뜁니다. 업스트림 인증 정보는 여전히 필요합니다. 변경 후 Codex를 다시 시작하세요. 계정에 연결된 Desktop 기능을 사용하지 못할 수 있습니다.", + "dash.codexClientCompaction": "클라이언트 측 컴팩션 사용", + "dash.codexClientCompactionHint": "기본값은 꺼짐이며 인증된 루프백 라우팅에만 적용됩니다. 향후 컴팩션은 OpenCodeX 및 V2 제공자 라우팅을 유지하면서 이식 가능한 평문 요약을 저장합니다. 설정된 제공자가 요약을 처리하고 할당량을 사용할 수 있습니다. 기록은 건드리지 않으며, 기존 스레드는 OpenCodeX가 관리하는 openai_base_url override를 통해 프록시 경로를 유지합니다. 그 줄을 직접 설정해 두셨다면 그대로 보존하므로 해당 스레드는 설정하신 목적지를 따릅니다. 기존 ocx1 기록은 그대로 복구할 수 있고, 네이티브 Codex에서 해당 스레드를 재개하기 전에만 별도로 복구하세요. 변경 후 Codex를 다시 시작하세요.", "models.newPolicyGlobal": "새 모델을 비활성화 상태로 추가", "models.newPolicyProvider": "새 모델 정책", "models.newPolicy_inherit": "상속", "models.newPolicy_off": "끔", "models.newPolicy_on": "켬", "models.newBadge": "신규", "models.newCount": "신규 {count}개, 꺼짐", "models.aliases": "별칭", diff --git a/gui/src/i18n/ru.ts b/gui/src/i18n/ru.ts index b6969e0370c..6b47ae7a31d 100644 --- a/gui/src/i18n/ru.ts +++ b/gui/src/i18n/ru.ts @@ -696,14 +696,14 @@ export const ru: Record<TKey, string> = { "sub.workspace.selectModel": "Выберите модель", "sub.workspace.selectModelDesc": "Выберите модель из списка, чтобы увидеть детали и добавить её в избранные для spawn_agent.", "sub.workspace.selector": "Публичный селектор", - "sub.ultraMode": "Ультра-режим", + "sub.ultraMode": "Всегда проактивное делегирование", "sub.ultraModeHint": "Включает политику упреждающего делегирования мультиагентов для всех моделей и уровней reasoning effort (сам reasoning effort не меняется). Записывает features.multi_agent_v2.multi_agent_mode_hint_text в config.toml.", "sub.ultraModeV2Required": "Требуется мультиагентная поверхность v2 — сначала включите multi_agent_v2 и выберите v2 в переключателе режима субагентов.", - "sub.ultraModeText": "Текст делегирования ультра-режима", + "sub.ultraModeText": "Текст проактивного делегирования", "sub.ultraModePreset": "Восстановить пресет", - "sub.ultraModeLoadFail": "Не удалось загрузить настройки ультра-режима — работает ли прокси?", - "sub.ultraModeSaveFail": "Не удалось сохранить настройки ультра-режима", - "sub.ultraModeSaved": "Ультра-режим сохранён. Применяется к новым сеансам Codex.", + "sub.ultraModeLoadFail": "Не удалось загрузить настройки проактивного делегирования — работает ли прокси?", + "sub.ultraModeSaveFail": "Не удалось сохранить настройки проактивного делегирования", + "sub.ultraModeSaved": "Проактивное делегирование сохранено. Применяется к новым сеансам Codex.", // logs "logs.title": "Журнал запросов", @@ -981,6 +981,7 @@ export const ru: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "Удалить навсегда", "storage.cleanup.doneQuarantine": "В карантин: {count} файл(ов) ({size}).", "storage.cleanup.donePermanent": "Удалено навсегда: {count} файл(ов) ({size}).", + "storage.cleanup.skippedReferenced": "Пропущено файлов, на которые ссылается история: {count}.", "storage.cleanup.previewFailed": "Не удалось выполнить предпросмотр.", "storage.cleanup.cleanupFailed": "Не удалось выполнить очистку.", "storage.cleanup.err.codex_busy": "Codex использует state.sqlite — закройте Codex и повторите попытку.", @@ -1103,6 +1104,13 @@ export const ru: Record<TKey, string> = { "modal.badge.direct": "Прямой", "modal.badge.pool": "Пул", "modal.badge.free": "Бесплатно", + "modal.badge.sponsor": "Спонсор", + "pws.sponsor.orcaTitle": "Подходящая модель для каждого запроса", + "pws.sponsor.orcaDescription": "Совместимый с OpenAI шлюз с адаптивной маршрутизацией и автоматическим переключением.", + "pws.sponsor.packyTitle": "Claude Code, Codex и Gemini в одном месте", + "pws.sponsor.packyDescription": "API-ретранслятор для инструментов ИИ-разработки. Начните с токена группы Codex.", + "pws.sponsor.visit": "Подробнее о {provider}", + "pws.sponsor.console": "Открыть консоль", "modal.invalidPreset": "Этот встроенный пресет провайдера неполный. Перезапустите прокси и попробуйте ещё раз.", "modal.freeTierTitle": "Бесплатный тариф", "modal.freeTierDefault": "API-ключ не нужен. Работает из коробки.", @@ -2509,6 +2517,8 @@ export const ru: Record<TKey, string> = { "dash.visionAdvancedPopover": "Дополнительные настройки изображений", "dash.codexDesktopAuthless": "Открывать Codex без входа", "dash.codexDesktopAuthlessHint": "По умолчанию выключено. Пропускает отдельный вход в Desktop для допустимых локальных подключений. Учётные данные провайдера по-прежнему нужны. После изменения перезапустите Codex. Функции Desktop, связанные с аккаунтом, могут быть недоступны.", + "dash.codexClientCompaction": "Использовать сжатие на стороне клиента", + "dash.codexClientCompactionHint": "По умолчанию выключено; только для аутентифицированной loopback-маршрутизации. Будущие сжатия сохраняют переносимые текстовые сводки, а маршрутизация OpenCodeX и V2 остаётся активной; настроенный провайдер может обрабатывать сводки и расходовать квоту. Существующую историю ocx1 всё равно нужно восстановить. После изменения перезапустите Codex.", "models.newPolicyGlobal": "Добавлять новые модели выключенными", "models.newPolicyProvider": "Политика новых моделей", "models.newPolicy_inherit": "Наследовать", "models.newPolicy_off": "Выкл.", "models.newPolicy_on": "Вкл.", "models.newBadge": "НОВАЯ", "models.newCount": "Новых: {count}, выкл.", "models.aliases": "Псевдонимы", diff --git a/gui/src/i18n/tr.ts b/gui/src/i18n/tr.ts index 3af806d34b4..faa68a50c66 100644 --- a/gui/src/i18n/tr.ts +++ b/gui/src/i18n/tr.ts @@ -703,14 +703,14 @@ export const tr: Record<TKey, string> = { "sub.workspace.selectModel": "Bir model seçin", "sub.workspace.selectModelDesc": "Detayları görmek için listeden bir model seçin.", "sub.workspace.selector": "Genel seçici", - "sub.ultraMode": "Ultra modu", + "sub.ultraMode": "Her zaman proaktif delegasyon", "sub.ultraModeHint": "Tüm modeller ve reasoning effort için Proactive çoklu ajan delegasyon politikasını etkinleştirir (reasoning effort değerini değiştirmez). config.toml dosyasına features.multi_agent_v2.multi_agent_mode_hint_text yazar.", "sub.ultraModeV2Required": "v2 çoklu ajan yüzeyi gerekir — önce multi_agent_v2'yi etkinleştirin ve alt ajan modu denetiminde v2'yi seçin.", - "sub.ultraModeText": "Ultra modu delegasyon metni", + "sub.ultraModeText": "Proaktif delegasyon metni", "sub.ultraModePreset": "Ön ayarı geri yükle", - "sub.ultraModeLoadFail": "Ultra modu ayarları yüklenemedi — proxy çalışıyor mu?", - "sub.ultraModeSaveFail": "Ultra modu ayarları kaydedilemedi", - "sub.ultraModeSaved": "Ultra modu kaydedildi. Yeni Codex oturumlarına uygulanır.", + "sub.ultraModeLoadFail": "Proaktif delegasyon ayarları yüklenemedi — proxy çalışıyor mu?", + "sub.ultraModeSaveFail": "Proaktif delegasyon ayarları kaydedilemedi", + "sub.ultraModeSaved": "Proaktif delegasyon kaydedildi. Yeni Codex oturumlarına uygulanır.", "sub.fallbackLabel": "Alt ajan yedek zinciri", "sub.fallbackHint": "Alt ajan modeli kullanılamadığında veya başarısız olduğunda sırayla denenecek modeller.", "sub.fallbackAdd": "Yedek model ekle…", @@ -1000,6 +1000,7 @@ export const tr: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "Kalıcı Olarak Sil", "storage.cleanup.doneQuarantine": "{count} dosya karantinaya alındı ({size}).", "storage.cleanup.donePermanent": "{count} dosya kalıcı olarak silindi ({size}).", + "storage.cleanup.skippedReferenced": "Başvurulan {count} dosya atlandı.", "storage.cleanup.previewFailed": "Önizleme başarısız oldu.", "storage.cleanup.cleanupFailed": "Temizleme başarısız oldu.", "storage.cleanup.err.codex_busy": "Codex state.sqlite dosyasını kullanıyor.", @@ -1122,6 +1123,13 @@ export const tr: Record<TKey, string> = { "modal.badge.direct": "Doğrudan", "modal.badge.pool": "Havuz", "modal.badge.free": "Ücretsiz", + "modal.badge.sponsor": "Sponsor", + "pws.sponsor.orcaTitle": "Her istem için uygun model", + "pws.sponsor.orcaDescription": "Uyarlanabilir yönlendirme ve otomatik yük devretme sunan OpenAI uyumlu bir ağ geçidi.", + "pws.sponsor.packyTitle": "Claude Code, Codex ve Gemini tek yerde", + "pws.sponsor.packyDescription": "Yapay zekâ kodlama araçlarınız için API aktarma hizmeti. Codex grubu belirteciyle başlayın.", + "pws.sponsor.visit": "{provider} hakkında", + "pws.sponsor.console": "Konsolu aç", "modal.invalidPreset": "Bu yerleşik sağlayıcı ayarı eksik.", "modal.freeTierTitle": "Ücretsiz katman", "modal.freeTierDefault": "API anahtarı gerekmez. Doğrudan çalışır.", @@ -2509,6 +2517,8 @@ export const tr: Record<TKey, string> = { "dash.visionAdvancedPopover": "Gelişmiş görsel ayarları", "dash.codexDesktopAuthless": "Codex’i oturum açmadan başlat", "dash.codexDesktopAuthlessHint": "Varsayılan olarak kapalıdır. Uygun yerel bağlantılarda ayrı Desktop oturum açma adımını atlar. Sağlayıcı kimlik bilgileri yine gereklidir. Değişiklikten sonra Codex’i yeniden başlatın. Hesaba bağlı Desktop özellikleri kullanılamayabilir.", + "dash.codexClientCompaction": "İstemci tarafı sıkıştırmayı kullan", + "dash.codexClientCompactionHint": "Varsayılan olarak kapalıdır ve yalnızca kimliği doğrulanmış geri döngü yönlendirmesinde geçerlidir. Gelecekteki sıkıştırmalar, OpenCodeX ve V2 sağlayıcı yönlendirmesi etkin kalırken taşınabilir düz metin özetleri kaydeder; yapılandırılmış sağlayıcı bunları işleyip kotasını tüketebilir. Mevcut ocx1 geçmişi yine ayrıca kurtarılmalıdır. Değişiklikten sonra Codex’i yeniden başlatın.", "models.newPolicyGlobal": "Yeni modeller devre dışı başlasın", "models.newPolicyProvider": "Yeni model ilkesi", "models.newPolicy_inherit": "Devral", "models.newPolicy_off": "Kapalı", "models.newPolicy_on": "Açık", "models.newBadge": "YENİ", "models.newCount": "{count} yeni, kapalı", "models.aliases": "Takma adlar", diff --git a/gui/src/i18n/zh-TW.ts b/gui/src/i18n/zh-TW.ts index 00dc2386ecd..c8527bcf0bc 100644 --- a/gui/src/i18n/zh-TW.ts +++ b/gui/src/i18n/zh-TW.ts @@ -548,14 +548,14 @@ export const zhTW: Record<TKey, string> = { "sub.moveUp": "上移 {m}", "sub.moveDown": "下移 {m}", "sub.removeAria": "移除 {m}", - "sub.ultraMode": "超級模式", + "sub.ultraMode": "始終主動委派", "sub.ultraModeHint": "為所有模型和推理力度啟用主動多代理委派策略(不改變推理力度本身)。將 features.multi_agent_v2.multi_agent_mode_hint_text 寫入 config.toml。", "sub.ultraModeV2Required": "需要 v2 多代理表面 — 請先啟用 multi_agent_v2,並在子代理模式控制項中選擇 v2。", - "sub.ultraModeText": "超級模式委派文字", + "sub.ultraModeText": "主動委派文字", "sub.ultraModePreset": "還原預設", - "sub.ultraModeLoadFail": "無法載入超級模式設定 — 代理是否在執行?", - "sub.ultraModeSaveFail": "儲存超級模式設定失敗", - "sub.ultraModeSaved": "超級模式已儲存。適用於新的 Codex 會話。", + "sub.ultraModeLoadFail": "無法載入主動委派設定 — 代理是否在執行?", + "sub.ultraModeSaveFail": "儲存主動委派設定失敗", + "sub.ultraModeSaved": "主動委派設定已儲存。適用於新的 Codex 會話。", "logs.title": "請求日誌", "logs.tabLogs": "日誌", "logs.tabDebug": "除錯", @@ -789,6 +789,7 @@ export const zhTW: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "永久刪除", "storage.cleanup.doneQuarantine": "已隔離 {count} 個檔案({size})。", "storage.cleanup.donePermanent": "已永久刪除 {count} 個檔案({size})。", + "storage.cleanup.skippedReferenced": "已略過 {count} 個被參照的檔案。", "storage.cleanup.previewFailed": "預覽失敗。", "storage.cleanup.cleanupFailed": "清理失敗。", "storage.cleanup.err.codex_busy": "Codex 正在使用 state.sqlite — 請退出 Codex 後重試。", @@ -901,6 +902,13 @@ export const zhTW: Record<TKey, string> = { "modal.badge.direct": "Direct", "modal.badge.pool": "帳號池", "modal.badge.free": "免費", + "modal.badge.sponsor": "贊助商", + "pws.sponsor.orcaTitle": "為每個提示選擇合適的模型", + "pws.sponsor.orcaDescription": "相容 OpenAI 的閘道,支援自適應路由和自動容錯移轉。", + "pws.sponsor.packyTitle": "一站連接 Claude Code、Codex 和 Gemini", + "pws.sponsor.packyDescription": "適用於 AI 程式開發工具的 API 中轉服務。使用 Codex 群組權杖開始。", + "pws.sponsor.visit": "了解 {provider}", + "pws.sponsor.console": "開啟控制台", "modal.invalidPreset": "此內建供應商預設不完整。請重新啟動代理後重試。", "modal.freeTierTitle": "免費層級", "modal.freeTierDefault": "無需 API 金鑰,開箱即用。", @@ -2471,6 +2479,8 @@ export const zhTW: Record<TKey, string> = { "dash.visionAdvancedPopover": "進階視覺設定", "dash.codexDesktopAuthless": "無需登入即可開啟 Codex", "dash.codexDesktopAuthlessHint": "預設關閉。為符合條件的本機連線略過獨立的 Desktop 登入。仍需上游供應商憑證。變更後請重新啟動 Codex。依賴帳戶的 Desktop 功能可能無法使用。", + "dash.codexClientCompaction": "使用用戶端壓縮", + "dash.codexClientCompactionHint": "預設關閉,僅適用於已驗證的 loopback 路由。未來壓縮會儲存可攜的純文字摘要,同時保留 OpenCodeX 與 V2 提供方路由;已設定的提供方可能處理摘要並消耗其額度。既有 ocx1 歷程仍須另行復原。變更後請重新啟動 Codex。", "models.newPolicyGlobal": "新模型預設停用", "models.newPolicyProvider": "新模型策略", "models.newPolicy_inherit": "繼承", "models.newPolicy_off": "關閉", "models.newPolicy_on": "開啟", "models.newBadge": "新增", "models.newCount": "{count} 個新增,已關閉", "models.aliases": "別名", diff --git a/gui/src/i18n/zh.ts b/gui/src/i18n/zh.ts index 4a7e834e0d7..ee9d6d81127 100644 --- a/gui/src/i18n/zh.ts +++ b/gui/src/i18n/zh.ts @@ -690,14 +690,14 @@ export const zh: Record<TKey, string> = { "sub.workspace.selectModel": "选择模型", "sub.workspace.selectModelDesc": "从列表中选择一个模型以查看详情,并将其设为 spawn_agent 的精选模型。", "sub.workspace.selector": "公开选择器", - "sub.ultraMode": "超级模式", + "sub.ultraMode": "始终主动委派", "sub.ultraModeHint": "为所有模型和推理力度启用主动多代理委派策略(不改变推理力度本身)。将 features.multi_agent_v2.multi_agent_mode_hint_text 写入 config.toml。", "sub.ultraModeV2Required": "需要 v2 多代理表面 — 请先启用 multi_agent_v2,并在子代理模式控件中选择 v2。", - "sub.ultraModeText": "超级模式委派文本", + "sub.ultraModeText": "主动委派文本", "sub.ultraModePreset": "恢复预设", - "sub.ultraModeLoadFail": "无法加载超级模式设置 — 代理是否在运行?", - "sub.ultraModeSaveFail": "保存超级模式设置失败", - "sub.ultraModeSaved": "超级模式已保存。适用于新的 Codex 会话。", + "sub.ultraModeLoadFail": "无法加载主动委派设置 — 代理是否在运行?", + "sub.ultraModeSaveFail": "保存主动委派设置失败", + "sub.ultraModeSaved": "主动委派设置已保存。适用于新的 Codex 会话。", // logs "logs.title": "请求日志", @@ -1798,6 +1798,7 @@ export const zh: Record<TKey, string> = { "storage.cleanup.confirmPermanent": "永久删除", "storage.cleanup.doneQuarantine": "已隔离 {count} 个文件({size})。", "storage.cleanup.donePermanent": "已永久删除 {count} 个文件({size})。", + "storage.cleanup.skippedReferenced": "已跳过 {count} 个被引用的文件。", "storage.cleanup.previewFailed": "预览失败。", "storage.cleanup.cleanupFailed": "清理失败。", "storage.cleanup.err.codex_busy": "Codex 正在使用 state.sqlite — 请退出 Codex 后重试。", @@ -1896,6 +1897,13 @@ export const zh: Record<TKey, string> = { "modal.badge.direct": "直连", "modal.badge.pool": "账户池", "modal.badge.free": "免费", + "modal.badge.sponsor": "赞助商", + "pws.sponsor.orcaTitle": "为每个提示选择合适的模型", + "pws.sponsor.orcaDescription": "兼容 OpenAI 的网关,支持自适应路由和自动故障转移。", + "pws.sponsor.packyTitle": "一站连接 Claude Code、Codex 和 Gemini", + "pws.sponsor.packyDescription": "面向 AI 编程工具的 API 中转服务。使用 Codex 分组令牌开始。", + "pws.sponsor.visit": "了解 {provider}", + "pws.sponsor.console": "打开控制台", "modal.invalidPreset": "此内置提供方预设不完整。请重启代理后重试。", "modal.freeTierTitle": "免费层级", "modal.freeTierDefault": "无需 API 密钥,开箱即用。", @@ -2507,6 +2515,8 @@ export const zh: Record<TKey, string> = { "dash.visionAdvancedPopover": "高级视觉设置", "dash.codexDesktopAuthless": "无需登录即可打开 Codex", "dash.codexDesktopAuthlessHint": "默认关闭。为符合条件的本地连接跳过单独的 Desktop 登录。仍需上游提供商凭据。更改后请重启 Codex。依赖账户的 Desktop 功能可能不可用。", + "dash.codexClientCompaction": "使用客户端压缩", + "dash.codexClientCompactionHint": "默认关闭,仅适用于已认证的 loopback 路由。未来压缩会保存可移植的明文摘要,同时保留 OpenCodeX 与 V2 提供方路由;已配置的提供方可能处理摘要并消耗其额度。已有 ocx1 历史仍需单独恢复。更改后请重启 Codex。", "models.newPolicyGlobal": "新模型默认停用", "models.newPolicyProvider": "新模型策略", "models.newPolicy_inherit": "继承", "models.newPolicy_off": "关闭", "models.newPolicy_on": "开启", "models.newBadge": "新增", "models.newCount": "{count} 个新增,已关闭", "models.aliases": "别名", diff --git a/gui/src/pages/Models.tsx b/gui/src/pages/Models.tsx index 91992aabbfe..d14a81005d3 100644 --- a/gui/src/pages/Models.tsx +++ b/gui/src/pages/Models.tsx @@ -7,7 +7,7 @@ import type { AppServerStateOutcome } from "../codex-app-server-state"; import { useCodexRestart } from "../use-codex-restart"; import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react"; import { Switch, Notice, EmptyState, Select, Tooltip } from "../ui"; -import { IconChevron, IconBoxes, IconInfo, IconCheck, IconAlert, IconRefresh, IconPencil, IconTrash } from "../icons"; +import { IconChevron, IconBoxes, IconInfo, IconCheck, IconAlert, IconRefresh, IconPencil } from "../icons"; import { useT } from "../i18n/shared"; import type { TFn, TKey } from "../i18n/shared"; import { modelLabel } from "../model-display"; @@ -74,7 +74,7 @@ import { type V2Status, } from "./models-shared"; import { EmptyProviderHint } from "./models-provider-hints"; -import { shadowCallModelOptions, useModalDialog } from "./dashboard-shared"; +import { shadowCallModelOptions } from "./dashboard-shared"; import { shadowSourceModelBadge, shadowSourceModelLabel } from "./shadow-call-source"; type CachedModelsPage = { @@ -187,8 +187,6 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; useEffect(() => { // Once on mount/base change or restart completion, never on a timer. appServerReadBase.current = apiBase; - // Clear the previous server's observation before this resource starts its bounded read. - // oxlint-disable-next-line react/react-compiler setAppServerState(null); void reloadAppServerState(); return cancelAppServerRead; @@ -270,14 +268,11 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; { isEmpty: () => false, enabled: catalogActive, deadlineMs: 15_000, initialData: cachedPicker }, ); const pickerSettings = pickerResource.state.data; - const refreshPicker = pickerResource.refresh; const pickerMode = pickerDraft ?? modelPickerOrderMode( pickerSettings?.pickerAvailable ?? [], pickerSettings?.pickerOrder ?? [], pickerSettings?.pickerOrderMode, ); useLayoutEffect(() => { pickerGeneration.current++; - // A changed server or inactive catalog invalidates this resource's local mutation draft. - // oxlint-disable-next-line react/react-compiler setPickerDraft(null); setPickerBusy(false); return () => { @@ -288,8 +283,10 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; cancelAppServerRead(); }; }, [apiBase, catalogActive, cancelAppServerRead]); - // Pin inferred Custom before children render; a later GET must not unmount its draft. - if (catalogActive && pickerDraft === null && pickerMode === "custom") setPickerDraft("custom"); + useLayoutEffect(() => { + // Pin inferred Custom before any late GET can switch mode and unmount its draft. + if (catalogActive && pickerDraft === null && pickerMode === "custom") setPickerDraft("custom"); + }, [catalogActive, pickerDraft, pickerMode]); const [customCap, setCustomCap] = useState(""); const [showCustom, setShowCustom] = useState(false); const [providerCapCustomOpen, setProviderCapCustomOpen] = useState<Record<string, boolean>>({}); @@ -340,11 +337,7 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; const [threadsCustom, setThreadsCustom] = useState(""); const [showThreadsCustom, setShowThreadsCustom] = useState(false); const [v2HelpOpen, setV2HelpOpen] = useState(false); - const v2HelpTriggerRef = useRef<HTMLButtonElement>(null); - const v2HelpDialogRef = useModalDialog(v2HelpOpen, v2HelpTriggerRef); const [customModalOpen, setCustomModalOpen] = useState(false); - const customModalTriggerRef = useRef<HTMLButtonElement>(null); - const customDialogRef = useModalDialog(customModalOpen, customModalTriggerRef); const [displayNameModel, setDisplayNameModel] = useState<ModelRow | null>(null); const [priceModel, setPriceModel] = useState<ModelRow | null>(null); const priceTriggerRef = useRef<HTMLButtonElement | null>(null); @@ -371,11 +364,8 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; }, [apiBase]); useEffect(() => { const controller = new AbortController(); - const timeout = window.setTimeout(() => void reloadAliases(controller.signal), 0); - return () => { - window.clearTimeout(timeout); - controller.abort(); - }; + void reloadAliases(controller.signal); + return () => controller.abort(); }, [reloadAliases]); const saveProviderAlias = async (provider: string) => { @@ -443,8 +433,6 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; const [contextDefaultTouched, setContextDefaultTouched] = useState(false); const [contextSaving, setContextSaving] = useState(false); const [contextError, setContextError] = useState(""); - const contextModalTriggerRef = useRef<HTMLButtonElement>(null); - const contextDialogRef = useModalDialog(contextModalProvider !== null, contextModalTriggerRef); const [hoveredModel, setHoveredModel] = useState<{ namespaced: string; rect: DOMRect } | null>(null); const hoverTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null); const [shadowCall, setShadowCall] = useState<ShadowCallData | null>(null); @@ -586,7 +574,7 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; // Follow-up mutation refreshes retain their existing awaitable contract while publishing // the result through the same shared store used by the initial catalog subscription. setClientResourceData(cacheKey, next); - refreshPicker(); + pickerResource.refresh(); return true; } catch { return false; @@ -595,7 +583,7 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; loadPendingRef.current = false; } } - }, [applyCatalog, cacheKey, fetchCatalog, refreshPicker]); + }, [applyCatalog, cacheKey, fetchCatalog, pickerResource.refresh]); const finishDisplayNameEdit = useCallback(() => { const trigger = displayNameTriggerRef.current; @@ -709,31 +697,6 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; } }, [apiBase, displayNameModel, displayNameRecovery, finishDisplayNameEdit, load, publishFeedback, t]); - /** #2465: load the per-provider preset preview. */ - const loadPresets = useCallback(async () => { - const bounded = createBoundedFetch(15_000); - try { - const response = await fetch(`${apiBase}/api/model-presets`, { signal: bounded.signal }); - const data = await readJsonIfOk<{ providers?: Record<string, ModelPresetView> }>(response); - setPresets(data?.providers ?? {}); - } catch { - // A preset preview is decoration on top of a working Models page; failing to load it must - // not take the page down. - setPresets({}); - } finally { - bounded.clear(); - } - }, [apiBase]); - - const loadModelDiscovery = useCallback(async () => { - try { - const response = await fetch(`${apiBase}/api/model-discovery`); - setModelDiscovery((await readJsonIfOk<ModelDiscoveryView>(response)) ?? null); - } catch { - setModelDiscovery(null); - } - }, [apiBase]); - // Shadow/v2 controls must not wait on the models catalog (live discovery can be slow). useEffect(() => { // Both belong to the catalog tab; a hidden panel polling /api/v2 every ten seconds @@ -755,7 +718,18 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; window.clearTimeout(timeout); stop(); }; - }, [catalogActive, loadModelDiscovery, loadPresets, loadShadowCall, loadV2]); + // oxlint-disable-next-line react/react-compiler -- existing exhaustive-deps exception is intentional + // eslint-disable-next-line react-hooks/exhaustive-deps -- loadPresets is a plain async loader + // like the rest of this file's; a useCallback wrapper trips PreserveManualMemo, and the + // effect only ever needs the current closure. Verified 2026-08-27: converting both loaders + // to useCallback and completing the dep array turns ONE warning into five react-compiler + // errors - two PreserveManualMemo, two Immutability (they are declared ~430 lines below this + // effect), and one EffectSetState - so the note above still holds against oxlint 1.78. + // Both gates suppress this one rule for this one file by config rather than by comment: + // gui/.oxlintrc.json (override) and gui/doctor.config.json (ignore.overrides). An in-file + // react-doctor-disable comment was tried and removed - it changed nothing, and + // react/react-compiler penalises a component for carrying suppressions at all. + }, [catalogActive, loadShadowCall, loadV2]); const groups = useMemo( () => buildProviderModelGroups(models, providers), @@ -770,9 +744,6 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; const catalogCountReady = models.length > 0 || catalogState.data !== undefined; const openContextSettings = (group: ProviderModelGroup<ModelRow>) => { - contextModalTriggerRef.current = document.activeElement?.tagName === "BUTTON" - ? document.activeElement as HTMLButtonElement - : null; const modelIds = [...new Set([ ...group.rows.map(model => model.id), ...group.configuredModels, @@ -1174,6 +1145,32 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; if (!v2 || v2.multiAgentMode === mode) return; await putV2Setting({ multiAgentMode: mode }); }; + + + /** + * #2465: load the per-provider preset preview. Rules are evaluated server-side against the + * CURRENT catalog, so the count shown is the count an apply would produce. + */ + const loadPresets = async () => { + try { + const bounded = createBoundedFetch(15_000); + const r = await fetch(`${apiBase}/api/model-presets`, { signal: bounded.signal }); + const data = await readJsonIfOk<{ providers?: Record<string, ModelPresetView> }>(r); + setPresets(data?.providers ?? {}); + } catch { + // A preset preview is decoration on top of a working Models page; failing to load it must + // not take the page down. + setPresets({}); + } + }; + + const loadModelDiscovery = async () => { + try { + const r = await fetch(`${apiBase}/api/model-discovery`); + setModelDiscovery((await readJsonIfOk<ModelDiscoveryView>(r)) ?? null); + } catch { setModelDiscovery(null); } + }; + const saveModelDiscovery = async (policy: "on" | "off", provider?: string) => { const r = await fetch(`${apiBase}/api/model-discovery`, { method: "PUT", headers: { "content-type": "application/json" }, @@ -1295,6 +1292,10 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; hoverTimerRef.current = setTimeout(() => setHoveredModel(null), 120); }; + const keepRowTipOpen = () => { + if (hoverTimerRef.current) clearTimeout(hoverTimerRef.current); + }; + const addCustomModel = async ( provider: string, modelId: string, @@ -1472,7 +1473,6 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; className="btn btn-ghost btn-sm text-caption" onClick={(e) => { e.stopPropagation(); - customModalTriggerRef.current = e.currentTarget; setCustomModalMode("add"); setCustomModalProvider(provider); setCustomModalId(""); @@ -1708,7 +1708,7 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; </span> )} {!m.native && m.provider !== "combo" && ( - <> + <> {m.manualPricing === true && <span className="models-chip muted text-caption">{t("pricing.override.badge")}</span>} <button type="button" @@ -1724,71 +1724,26 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; </button> </> )} - {m.custom && m.customId && ( - <span className="models-model-row-actions"> - <button - type="button" - className="btn btn-ghost btn-sm text-caption" - aria-label={t("models.customEditNamed", { name: m.displayName ?? m.id })} - onClick={event => { - customModalTriggerRef.current = event.currentTarget; - setCustomModalMode("edit"); - setCustomModalProvider(m.provider); - setCustomModalId(m.customId!); - setCustomFormModelId(m.id); - setCustomFormDisplayName(m.displayName ?? ""); - setCustomFormContextWindow(m.contextWindow ? String(m.contextWindow) : ""); - setCustomFormShowCustomCtx(false); - setCustomFormModalities(m.inputModalities ?? ["text"]); - setCustomFormReasoning(Array.isArray(m.reasoningEfforts)); - setCustomFormReasoningEfforts(m.reasoningEfforts ?? []); - customFormReasoningInitializedRef.current = Array.isArray(m.reasoningEfforts); - setCustomError(""); - setCustomModalOpen(true); - setHoveredModel(null); - }} - ><IconPencil width={13} height={13} aria-hidden="true" /></button> - <button - type="button" - className="btn btn-ghost btn-sm text-caption" - aria-label={t("models.customDeleteNamed", { name: m.displayName ?? m.id })} - style={{ color: "var(--red)" }} - onClick={() => { - if (window.confirm(t("models.customDeleteConfirm", { name: m.displayName ?? m.id }))) { - void deleteCustomModel(m.customId!); - } - setHoveredModel(null); - }} - ><IconTrash width={13} height={13} aria-hidden="true" /></button> - </span> - )} {!m.custom && recentIds.has(m.id) && <span className="badge badge-amber">{t("models.newBadge")}</span>} {m.contextCapped && <span className="models-chip muted mono text-caption">{t("models.contextCappedValue", { value: fmtK(m.contextCap ?? contextCapValue) })}</span>} </div> {hoveredModel?.namespaced === m.namespaced && (() => { const r = hoveredModel.rect; - const tipWidth = Math.max(0, Math.min(480, window.innerWidth - 16)); - const tipLeft = Math.max(8, Math.min(r.left + 24, window.innerWidth - tipWidth - 8)); - const tipTop = Math.max(8, r.bottom + 4); - const roomBelow = Math.max(0, window.innerHeight - tipTop - 8); - const roomAbove = Math.max(0, r.top - 12); - const flipUp = roomBelow < Math.min(360, roomAbove); - const tipMaxHeight = Math.min(360, flipUp ? roomAbove : roomBelow); + const tipTop = r.bottom + 4; + const flipUp = tipTop + 360 > window.innerHeight; return ( <div - className={`model-tip${flipUp ? " flip-up" : ""}`} + className={`model-tip${m.custom ? " has-actions" : ""}${flipUp ? " flip-up" : ""}`} role="tooltip" style={{ position: "fixed", - left: tipLeft, - width: "max-content", - minWidth: Math.min(320, tipWidth), - maxWidth: tipWidth, - maxHeight: tipMaxHeight, + left: r.left + 24, ...(flipUp - ? { bottom: Math.max(8, window.innerHeight - r.top + 4) } + ? { bottom: window.innerHeight - r.top + 4 } : { top: tipTop }), }} + onMouseEnter={keepRowTipOpen} + onMouseLeave={onRowLeave} > <div className="model-tip-id">{m.native ? m.id : m.namespaced}</div> {m.displayName && <div className="model-tip-display">{m.displayName}</div>} @@ -1815,6 +1770,46 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; <span className="model-tip-key">{t("models.tipStatus")}</span> <span className="model-tip-val">{off ? t("models.tipDisabled") : t("models.tipActive")}</span> </div> + {m.custom && m.customId && ( + <div className="model-tip-actions"> + <button + type="button" + className="btn btn-ghost btn-sm text-caption" + onClick={() => { + setCustomModalMode("edit"); + setCustomModalProvider(m.provider); + setCustomModalId(m.customId!); + setCustomFormModelId(m.id); + setCustomFormDisplayName(m.displayName ?? ""); + setCustomFormContextWindow(m.contextWindow ? String(m.contextWindow) : ""); + setCustomFormShowCustomCtx(false); + setCustomFormModalities(m.inputModalities ?? ["text"]); + // Only a STORED ladder counts as "configured": an inherited one + // would show a phantom override that saves "inherit" over the + // provider row's current metadata. + setCustomFormReasoning(Array.isArray(m.reasoningEfforts)); + setCustomFormReasoningEfforts(m.reasoningEfforts ?? []); + // A stored ladder — even an explicit empty one — is a real + // configuration: re-enabling must preserve it, not reseed. + customFormReasoningInitializedRef.current = Array.isArray(m.reasoningEfforts); + setCustomError(""); + setCustomModalOpen(true); + setHoveredModel(null); + }} + >{t("models.customEdit")}</button> + <button + type="button" + className="btn btn-ghost btn-sm text-caption" + style={{ color: "var(--red)" }} + onClick={() => { + if (window.confirm(t("models.customDeleteConfirm", { name: m.displayName ?? m.id }))) { + void deleteCustomModel(m.customId!); + } + setHoveredModel(null); + }} + >{t("models.customDelete")}</button> + </div> + )} </div> ); })()} @@ -1942,10 +1937,7 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; className="btn btn-ghost btn-sm" style={{ width: 24, height: 24, minWidth: 24, flex: "0 0 24px", padding: 0, borderRadius: "var(--radius-pill)", color: "var(--muted)" }} disabled={!v2} - onClick={event => { - v2HelpTriggerRef.current = event.currentTarget; - setV2HelpOpen(true); - }} + onClick={() => setV2HelpOpen(true)} aria-label={t("models.v2Label")} aria-haspopup="dialog" > @@ -2133,11 +2125,10 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; const modalsBlock = ( <> {v2HelpOpen && ( - <dialog ref={v2HelpDialogRef} className="modal-overlay" aria-labelledby="models-v2-help-title" onCancel={event => { event.preventDefault(); setV2HelpOpen(false); }}> - <button type="button" className="modal-backdrop-dismiss" aria-label={t("common.close")} tabIndex={-1} onClick={() => setV2HelpOpen(false)} /> + <div className="modal-overlay" role="dialog" aria-modal="true" aria-label={t("models.v2Label")} onClick={() => setV2HelpOpen(false)} onKeyDown={e => { if (e.key === "Escape") setV2HelpOpen(false); }}> <div className="modal-card" onClick={e => e.stopPropagation()}> <div className="modal-head"> - <h3 id="models-v2-help-title">{t("models.v2Label")}</h3> + <h3>{t("models.v2Label")}</h3> <button type="button" className="btn btn-ghost btn-sm" onClick={() => setV2HelpOpen(false)} aria-label={t("common.close")}>×</button> </div> <div className="modal-desc leading-relaxed" style={{ whiteSpace: "pre-line" }}> @@ -2152,24 +2143,23 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; <button type="button" className="btn btn-primary" onClick={() => setV2HelpOpen(false)}>{t("common.ok")}</button> </div> </div> - </dialog> + </div> )} {contextModalProvider && ( - <dialog - ref={contextDialogRef} + <div className="modal-overlay" + role="dialog" + aria-modal="true" aria-label={t("models.contextSettings")} - aria-labelledby="models-context-dialog-title" - onCancel={event => { - event.preventDefault(); - if (!contextSaving) setContextModalProvider(null); + onClick={() => { if (!contextSaving) setContextModalProvider(null); }} + onKeyDown={(event) => { + if (event.key === "Escape" && !contextSaving) setContextModalProvider(null); }} > - <button type="button" className="modal-backdrop-dismiss" aria-label={t("common.close")} tabIndex={-1} disabled={contextSaving} onClick={() => setContextModalProvider(null)} /> <div className="modal-card" onClick={event => event.stopPropagation()}> <div className="modal-head"> - <h3 id="models-context-dialog-title">{t("models.contextSettingsTitle", { + <h3>{t("models.contextSettingsTitle", { provider: formatProviderDisplayName(contextModalProvider, t), })}</h3> <button @@ -2251,23 +2241,23 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; </button> </div> </div> - </dialog> + </div> )} {customModalOpen && ( - <dialog - ref={customDialogRef} + <div className="modal-overlay" - aria-labelledby="models-custom-dialog-title" - onCancel={event => { - event.preventDefault(); - if (!customSaving) setCustomModalOpen(false); + role="dialog" + aria-modal="true" + aria-label={t("models.customAdd")} + onClick={() => { if (!customSaving) setCustomModalOpen(false); }} + onKeyDown={(e) => { + if (e.key === "Escape" && !customSaving) setCustomModalOpen(false); }} > - <button type="button" className="modal-backdrop-dismiss" aria-label={t("common.close")} tabIndex={-1} disabled={customSaving} onClick={() => setCustomModalOpen(false)} /> <div className="modal-card" onClick={e => e.stopPropagation()}> <div className="modal-head"> - <h3 id="models-custom-dialog-title"> + <h3> {customModalMode === "add" ? t("models.customAddTitle", { provider: formatProviderDisplayName(customModalProvider, t) }) : t("models.customEditTitle", { provider: formatProviderDisplayName(customModalProvider, t) })} @@ -2463,7 +2453,7 @@ export default function Models({ apiBase, restartEpoch = 0 }: { apiBase: string; </button> </div> </div> - </dialog> + </div> )} </> ); diff --git a/gui/src/pages/Providers.tsx b/gui/src/pages/Providers.tsx index 1a0ca89e8d7..2cc59a6b75d 100644 --- a/gui/src/pages/Providers.tsx +++ b/gui/src/pages/Providers.tsx @@ -2,6 +2,7 @@ import { usageSummary30dResourceKey } from "../usage-summary-resource"; import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react"; import ProviderWorkspaceShell, { type AddProviderIntent } from "../components/provider-workspace/ProviderWorkspaceShell"; import ProviderDetails from "../components/provider-workspace/ProviderDetails"; +import { matchingWorkspacePreset, type CatalogPreset } from "../components/provider-catalog/provider-presets"; import { isAccountProvider, type WorkspaceProvider } from "../provider-workspace/catalog"; import { ensureOpenAiProvider, openAiAccountProviderState, OpenAiEnableError } from "../provider-payload"; import { oauthTosRisk } from "../oauth-tos-risk"; @@ -292,13 +293,13 @@ export default function Providers({ apiBase }: { apiBase: string }) { // modal does not wait on a cold /api/provider-presets round-trip (~same key as // AddProviderModal). Prefetch usage too so the catalog does not paint alpha then // re-rank when the slow usage probe (~5s cold) finally returns. - useKeyedClientResource( + const presetResource = useKeyedClientResource( `add-provider-presets:${apiBase}`, [apiBase], async (signal) => { const res = await fetch(`${apiBase}/api/provider-presets`, { signal }); if (!res.ok) throw new Error(String(res.status)); - const data = await res.json() as { providers?: unknown[] }; + const data = await res.json() as { providers?: CatalogPreset[] }; return Array.isArray(data.providers) && data.providers.length > 0 ? data.providers : null; }, ); @@ -610,6 +611,7 @@ export default function Providers({ apiBase }: { apiBase: string }) { <ProviderDetails key={item.name} item={item} + preset={matchingWorkspacePreset(item, presetResource.data ?? [])} usageTotals={data.usageTotals} modelUsage={data.modelUsage} quotaReport={data.quotaReport} diff --git a/gui/src/pages/Storage.tsx b/gui/src/pages/Storage.tsx index 34ea9a677b6..04d80134d6a 100644 --- a/gui/src/pages/Storage.tsx +++ b/gui/src/pages/Storage.tsx @@ -30,6 +30,7 @@ interface CleanupResult { trashDir?: string; error?: string; message?: string; + skippedReferencedPaths?: string[]; } interface TrashEntry { @@ -215,11 +216,12 @@ function ArchivedCleanupPanel({ throw new Error(mapCleanupError(json.error, json.message, json.trashDir)); } closeConfirm(true); - setStatus( - permanent + const complete = permanent ? t("storage.cleanup.donePermanent", { count: String(json.count), size: formatBytes(json.bytes, locale) }) - : t("storage.cleanup.doneQuarantine", { count: String(json.count), size: formatBytes(json.bytes, locale) }), - ); + : t("storage.cleanup.doneQuarantine", { count: String(json.count), size: formatBytes(json.bytes, locale) }); + setStatus(json.skippedReferencedPaths?.length + ? `${complete} ${t("storage.cleanup.skippedReferenced", { count: String(json.skippedReferencedPaths.length) })}` + : complete); onDone(); } catch (e) { // Keep the dialog open (except stale_preview) so the failure is visible. diff --git a/gui/src/pages/Subagents.tsx b/gui/src/pages/Subagents.tsx index 47baa0817ce..94a8df7086d 100644 --- a/gui/src/pages/Subagents.tsx +++ b/gui/src/pages/Subagents.tsx @@ -6,22 +6,19 @@ import SubagentsWorkspace, { FEATURED_MAX } from "../components/subagents-worksp import { readSessionListCache, writeSessionListCache } from "../session-list-cache"; import { useDataSurface } from "../data-surface"; import { DataSurfaceSkeleton } from "../components/data-surface"; -import { useSubagentDelegation, type UltraModePatch, type UltraModeState, type V2NativeParentOverrideState, type AgentTaskRecoveryState, type V2RoutedDelegationBridgeState } from "./use-subagent-delegation"; -import { CodexStaleBanner } from "../components/codex-stale-banner"; -import { useCodexRestart } from "../use-codex-restart"; +import { useSubagentDelegation, type UltraModePatch, type UltraModeState } from "./use-subagent-delegation"; -type CatalogState = "fresh" | "stale" | "not_running" | "unknown"; -type CachedSubagents = { available: string[]; chosen: string[]; catalogState?: { state?: CatalogState }; fallback?: string[]; pollMs?: number; fallbackAvailable?: string[] }; +type CachedSubagents = { available: string[]; chosen: string[]; fallback?: string[]; pollMs?: number; fallbackAvailable?: string[] }; + +const UNLOADED_ULTRA_MODE: UltraModeState = { + enabled: false, hintText: null, recommendation: null, + multiAgentV2Enabled: false, multiAgentMode: "default", +}; function seedSubagents(cacheKey: string): CachedSubagents | null { return readSessionListCache<CachedSubagents>(cacheKey); } -function readCatalogState(value: CachedSubagents | null): CatalogState { - const state = value?.catalogState?.state; - return state === "fresh" || state === "stale" || state === "not_running" ? state : "unknown"; -} - export default function Subagents({ apiBase }: { apiBase: string }) { const t = useT(); const cacheKey = `ocx.subagents.v1:${apiBase}`; @@ -47,24 +44,11 @@ export default function Subagents({ apiBase }: { apiBase: string }) { const [busy, setBusy] = useState(false); /** Sync guard: state-only `busy` can miss clicks before the disabled re-render commits. */ const saveInFlight = useRef(false); - const catalogLoadGeneration = useRef(0); const delegation = useSubagentDelegation(apiBase); - const [catalogState, setCatalogState] = useState<CatalogState>(() => readCatalogState(cached)); - const [ultraMode, setUltraMode] = useState<UltraModeState>({ enabled: false, hintText: null, multiAgentV2Enabled: false, multiAgentMode: "default" }); - const [nativeParentOverride, setNativeParentOverride] = useState<V2NativeParentOverrideState>({ enabled: false, model: null, active: false }); - const [agentTaskRecovery, setAgentTaskRecovery] = useState<AgentTaskRecoveryState>({ enabled: false, model: null }); - const [routedDelegationBridge, setRoutedDelegationBridge] = useState<V2RoutedDelegationBridgeState>({ enabled: false }); - const [multiAgentMode, setMultiAgentMode] = useState<"v1" | "default" | "v2">("default"); - const [keepNativeChatGptOnV1, setKeepNativeChatGptOnV1] = useState(false); - const [childInstructions, setChildInstructions] = useState(""); - const [childInstructionsSaving, setChildInstructionsSaving] = useState(false); + const [ultraState, setUltraState] = useState<{ apiBase: string; mode: UltraModeState } | null>(null); + const ultraModeCurrent = ultraState?.apiBase === apiBase; + const ultraMode = ultraModeCurrent ? ultraState.mode : UNLOADED_ULTRA_MODE; const [ultraSaving, setUltraSaving] = useState(false); - const [nativeParentOverrideSaving, setNativeParentOverrideSaving] = useState(false); - const nativeParentOverrideSavingRef = useRef(false); - const [agentTaskRecoverySaving, setAgentTaskRecoverySaving] = useState(false); - const agentTaskRecoverySavingRef = useRef(false); - const routedDelegationBridgeSavingRef = useRef(false); - const [routedDelegationBridgeSaving, setRoutedDelegationBridgeSaving] = useState(false); const [ultraLoadFailed, setUltraLoadFailed] = useState(false); const ultraLoadGeneration = useRef(0); const currentUltraApiBase = useRef(apiBase); @@ -83,42 +67,33 @@ export default function Subagents({ apiBase }: { apiBase: string }) { const data = await readJsonOrThrow<{ enabled?: boolean; multiAgentMode?: "v1" | "default" | "v2"; - keepNativeChatGptOnV1?: boolean; multiAgentModeHintText?: string | null; - subagentDeveloperInstructions?: string | null; - v2NativeParentOverride?: Partial<V2NativeParentOverrideState>; - agentTaskRecovery?: Partial<AgentTaskRecoveryState>; - v2RoutedDelegationBridge?: unknown; + keepNativeChatGptOnV1?: boolean; + multiAgentModeHintRecommendation?: { text?: unknown; revision?: unknown }; }>(res, t("sub.ultraModeLoadFail")); if (!data) return false; if (signal?.aborted || generation !== ultraLoadGeneration.current || currentUltraApiBase.current !== apiBase) return false; setUltraLoadFailed(false); - setMultiAgentMode(data.multiAgentMode === "v1" || data.multiAgentMode === "v2" ? data.multiAgentMode : "default"); - setKeepNativeChatGptOnV1(data.keepNativeChatGptOnV1 === true); - setChildInstructions(typeof data.subagentDeveloperInstructions === "string" ? data.subagentDeveloperInstructions : ""); - setUltraMode({ + const rawRecommendation = data.multiAgentModeHintRecommendation; + const recommendation = rawRecommendation + && typeof rawRecommendation.text === "string" + && rawRecommendation.text.trim().length > 0 + && typeof rawRecommendation.revision === "string" + && rawRecommendation.revision.trim().length > 0 + ? { text: rawRecommendation.text, revision: rawRecommendation.revision } + : null; + setUltraState({ apiBase, mode: { enabled: data.enabled ?? false, loaded: true, keepNativeChatGptOnV1: data.keepNativeChatGptOnV1 === true, hintText: data.multiAgentModeHintText ?? null, + recommendation, // Ultra mode replaces Codex's effort-derived policy for every model. The // `default` surface still preserves upstream V1 pins (for example luna), // so only an explicitly forced V2 catalog is an effective surface here. multiAgentV2Enabled: data.enabled === true && data.multiAgentMode === "v2", multiAgentMode: data.multiAgentMode ?? "default", - }); - const override = data.v2NativeParentOverride; - setNativeParentOverride({ - enabled: override?.enabled === true, - model: typeof override?.model === "string" ? override.model : null, - active: override?.active === true, - }); - const recovery = data.agentTaskRecovery; - setAgentTaskRecovery({ - enabled: recovery?.enabled === true, - model: typeof recovery?.model === "string" ? recovery.model : null, - }); - setRoutedDelegationBridge({ enabled: data.v2RoutedDelegationBridge === true }); + } }); return true; }, [apiBase, t]); @@ -137,7 +112,7 @@ export default function Subagents({ apiBase }: { apiBase: string }) { }, [loadUltraMode, t]); const saveUltraMode = async (patch: UltraModePatch) => { - if (ultraSaving) return; + if (ultraSaving || !ultraModeCurrent || currentUltraApiBase.current !== apiBase) return; const requestApiBase = apiBase; setUltraSaving(true); setStatus(""); @@ -160,108 +135,6 @@ export default function Subagents({ apiBase }: { apiBase: string }) { } }; - const saveNativeParentOverride = async (next: V2NativeParentOverrideState) => { - if (nativeParentOverrideSavingRef.current) return; - nativeParentOverrideSavingRef.current = true; - const requestApiBase = apiBase; - setNativeParentOverrideSaving(true); - setStatus(""); - try { - const res = await fetch(`${apiBase}/api/v2`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ v2NativeParentOverride: { enabled: next.enabled, model: next.model } }), - }); - await readJsonOrThrow(res, t("sub.nativeParentOverrideSaveFail")); - if (currentUltraApiBase.current !== requestApiBase || !await loadUltraMode()) return; - setOk(true); - setStatus(t("sub.nativeParentOverrideSaved")); - } catch (error) { - if (currentUltraApiBase.current !== requestApiBase) return; - setOk(false); - setStatus(error instanceof Error && error.message ? error.message : t("sub.networkError")); - } finally { - nativeParentOverrideSavingRef.current = false; - setNativeParentOverrideSaving(false); - } - }; - - const saveAgentTaskRecovery = async (next: AgentTaskRecoveryState) => { - if (agentTaskRecoverySavingRef.current) return; - agentTaskRecoverySavingRef.current = true; - const requestApiBase = apiBase; - setAgentTaskRecoverySaving(true); - setStatus(""); - try { - const res = await fetch(`${apiBase}/api/v2`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ agentTaskRecovery: { enabled: next.enabled, model: next.model } }), - }); - await readJsonOrThrow(res, t("sub.agentTaskRecoverySaveFail")); - if (currentUltraApiBase.current !== requestApiBase || !await loadUltraMode()) return; - setOk(true); - setStatus(t("sub.agentTaskRecoverySaved")); - } catch (error) { - if (currentUltraApiBase.current !== requestApiBase) return; - setOk(false); - setStatus(error instanceof Error && error.message ? error.message : t("sub.networkError")); - } finally { - agentTaskRecoverySavingRef.current = false; - setAgentTaskRecoverySaving(false); - } - }; - - const saveRoutedDelegationBridge = async (enabled: boolean) => { - if (routedDelegationBridgeSavingRef.current) return; - routedDelegationBridgeSavingRef.current = true; - const requestApiBase = apiBase; - setRoutedDelegationBridgeSaving(true); - setStatus(""); - try { - const res = await fetch(`${apiBase}/api/v2`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ v2RoutedDelegationBridge: enabled }), - }); - await readJsonOrThrow(res, t("sub.routedDelegationBridgeSaveFail")); - if (currentUltraApiBase.current !== requestApiBase || !await loadUltraMode()) return; - setOk(true); - setStatus(t("sub.routedDelegationBridgeSaved")); - } catch (error) { - if (currentUltraApiBase.current !== requestApiBase) return; - setOk(false); - setStatus(error instanceof Error && error.message ? error.message : t("sub.networkError")); - } finally { - routedDelegationBridgeSavingRef.current = false; - setRoutedDelegationBridgeSaving(false); - } - }; - - const saveChildInstructions = async (value: string | null) => { - if (childInstructionsSaving) return; - const requestApiBase = apiBase; - setChildInstructionsSaving(true); - setStatus(""); - try { - const res = await fetch(`${apiBase}/api/v2`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ subagentDeveloperInstructions: value }), - }); - await readJsonOrThrow(res, t("sub.childInstructionsSaveFailed")); - if (currentUltraApiBase.current !== requestApiBase || !await loadUltraMode()) return; - setOk(true); - setStatus(t("sub.childInstructionsSaved")); - } catch (error) { - if (currentUltraApiBase.current !== requestApiBase) return; - setOk(false); - setStatus(error instanceof Error && error.message ? error.message : t("sub.networkError")); - } finally { - setChildInstructionsSaving(false); - } - }; - const retryUltraMode = useCallback(async () => { try { if (!await loadUltraMode()) return; @@ -320,11 +193,8 @@ export default function Subagents({ apiBase }: { apiBase: string }) { const loadSubagents = useCallback(async (signal?: AbortSignal): Promise<CachedSubagents> => { // Auxiliary fallback discovery must neither reject nor delay the roster resource. const rosterReadRevision = rosterRevision.current; - // The resource layer's deadline abort must reach the wire — a signal dropped - // here is a store that can only settle by race timeout. - const generation = ++catalogLoadGeneration.current; const rosterRes = await fetch(`${apiBase}/api/subagent-models`, { signal }); - const response = await readJsonOrThrow<{ available?: string[]; chosen?: string[]; catalogState?: { state?: CatalogState } }>(rosterRes, t("sub.loadFail")); + const response = await readJsonOrThrow<{ available?: string[]; chosen?: string[] }>(rosterRes, t("sub.loadFail")); if (!response) throw new Error(t("sub.loadFail")); const available = response.available ?? []; const availableSet = new Set(available); @@ -333,13 +203,10 @@ export default function Subagents({ apiBase }: { apiBase: string }) { ...fallbackSnapshot.current, available, chosen: rosterCurrent ? (response.chosen ?? []).filter(model => availableSet.has(model)) : committed.current?.chosen ?? [], - catalogState: response.catalogState, }; if (signal?.aborted) throw signal.reason; committed.current = next; - if (generation !== catalogLoadGeneration.current) return next; if (rosterCurrent) setChosen(next.chosen); - setCatalogState(readCatalogState(next)); writeSessionListCache(cacheKey, next); return next; }, [apiBase, cacheKey, t]); @@ -356,12 +223,6 @@ export default function Subagents({ apiBase }: { apiBase: string }) { const load = resource.refresh; const snapshot = state.data ?? cached; const available = snapshot?.available ?? []; - const refreshDelegation = delegation.refresh; - const restartSettled = useCallback(() => { - load(); - void refreshDelegation(); - }, [refreshDelegation, load]); - const codexRestart = useCodexRestart(apiBase, { onSettled: restartSettled }); const toggle = (m: string) => { if (busy) return; @@ -381,15 +242,9 @@ export default function Subagents({ apiBase }: { apiBase: string }) { }); }; - const setRoleStatus = useCallback((nextOk: boolean, message: string) => { - setOk(nextOk); - setStatus(message); - }, []); - const save = async () => { if (busy || saveInFlight.current) return; saveInFlight.current = true; - const saveCatalogGeneration = catalogLoadGeneration.current; rosterRevision.current += 1; setBusy(true); setStatus(""); @@ -404,11 +259,9 @@ export default function Subagents({ apiBase }: { apiBase: string }) { const applied = d?.applied ?? chosen; if (d?.applied) setChosen(d.applied); // A legacy roster-only seed does not prove that an empty fallback was loaded. - const next = { ...committed.current, available, chosen: applied, catalogState: { state: catalogState } }; + const next = { ...committed.current, available, chosen: applied }; committed.current = next; - if (saveCatalogGeneration === catalogLoadGeneration.current) { - writeSessionListCache(cacheKey, next); - } + writeSessionListCache(cacheKey, next); setOk(true); setStatus(t("sub.saved", { n: applied.length, cmd: "ocx sync" })); } catch (error) { @@ -440,7 +293,7 @@ export default function Subagents({ apiBase }: { apiBase: string }) { setFallback(d.models); setFallbackPollMs(d.pollMs); fallbackSnapshot.current = { ...fallbackSnapshot.current, fallback: d.models, pollMs: d.pollMs }; - const next = { ...committed.current, available, chosen: committed.current?.chosen ?? [], ...fallbackSnapshot.current }; + const next = { available, chosen: committed.current?.chosen ?? [], ...fallbackSnapshot.current }; committed.current = next; writeSessionListCache(cacheKey, next); setOk(true); @@ -476,8 +329,6 @@ export default function Subagents({ apiBase }: { apiBase: string }) { </div> {status && <Notice tone={ok ? "ok" : "err"}>{status}</Notice>} {state.showError && <Notice tone="err">{t("sub.loadFail")}</Notice>} - <p className="page-sub">{t("sub.catalogState.label")}: {t(`sub.catalogState.${catalogState}`)}</p> - <CodexStaleBanner state={catalogState} controller={codexRestart} /> {fallbackError && ( <Notice tone="err"> {t("sub.fallbackLabel")}: {t("sub.loadFail")} @@ -506,46 +357,13 @@ export default function Subagents({ apiBase }: { apiBase: string }) { available: delegation.available, guidanceEnabled: delegation.guidanceEnabled, syncCodexDefaults: delegation.syncCodexDefaults, - nativeDefaultState: delegation.nativeDefaultState, saving: delegation.saving, - onSave: patch => { - void (async () => { - const result = await delegation.save(patch); - if ("prompt" in patch) { - if (result.ok) { - setOk(true); - setStatus(t("sub.injectionPromptSaved")); - } else { - setOk(false); - setStatus(result.error || t("sub.injectionPromptSaveFailed")); - } - } - })(); - }, + onSave: patch => { void delegation.save(patch); }, ultraMode, - ultraSaving, + ultraSaving: ultraSaving || !ultraModeCurrent, onUltraModeSave: patch => { void saveUltraMode(patch); }, ultraLoadFailed, onUltraModeRetry: () => { void retryUltraMode(); }, - nativeParentOverride, - nativeParentOverrideSaving, - onNativeParentOverrideSave: next => { void saveNativeParentOverride(next); }, - agentTaskRecovery, - agentTaskRecoverySaving, - onAgentTaskRecoverySave: next => { void saveAgentTaskRecovery(next); }, - routedDelegationBridge, - routedDelegationBridgeSaving, - onRoutedDelegationBridgeSave: enabled => { void saveRoutedDelegationBridge(enabled); }, - prompt: delegation.prompt, - childInstructions, - childInstructionsSaving, - onChildInstructionsSave: value => { void saveChildInstructions(value); }, - }} - roles={{ - apiBase, - multiAgentMode, - keepNativeChatGptOnV1, - onStatus: setRoleStatus, }} /> </> diff --git a/gui/src/pages/Usage.tsx b/gui/src/pages/Usage.tsx index f336f1261c1..3e08df9610e 100644 --- a/gui/src/pages/Usage.tsx +++ b/gui/src/pages/Usage.tsx @@ -5,6 +5,7 @@ import { formatTokens } from "../format-tokens"; import { formatEstimatedUsdValue as formatUsdEstimate } from "../intl-formatters"; import { readSessionListCache, writeSessionListCache } from "../session-list-cache"; import { EmptyState, Notice } from "../ui"; +import { IconChevron } from "../icons"; import { modelLabel } from "../model-display"; import { useDataSurface } from "../data-surface"; import { DataSurfaceSkeleton } from "../components/data-surface"; @@ -895,6 +896,7 @@ export default function Usage({ apiBase, connected = false, apiKeyId }: { apiBas const [draftWindow, setDraftWindow] = useState({ since: "", until: "" }); const [customWindow, setCustomWindow] = useState<UsageTimeWindow | null>(null); const [rangeError, setRangeError] = useState<UsageRangeError | null>(null); + const [rangeOpen, setRangeOpen] = useState(false); const since = customWindow?.since; const until = customWindow?.until; @@ -968,54 +970,85 @@ export default function Usage({ apiBase, connected = false, apiKeyId }: { apiBas <UsageFilters surface={surface} range={customWindow ? null : range} onSurface={setSurface} onRange={selectRange} t={t} /> </div> <p className="page-sub">{t("usage.subtitle")}</p> - <form aria-label={t("usage.range.custom")} noValidate onSubmit={event => { - event.preventDefault(); - const result = parseUsageTimeRange(draftWindow.since, draftWindow.until); - if (result.ok === false) { - setRangeError(result.error); - return; - } - setRangeError(null); - setCustomWindow(result.window); - }}> - <div className="usage-filters"> - <label> - <span className="field-label">{t("usage.range.start")}</span> - <input className="input" type="datetime-local" step="60" required - value={draftWindow.since} - aria-invalid={rangeError !== null} - aria-describedby={rangeError ? "usage-range-help usage-range-error" : "usage-range-help"} - onChange={event => { - const value = event.currentTarget.value; - setDraftWindow(current => ({ ...current, since: value })); - setRangeError(null); - }} /> - </label> - <label> - <span className="field-label">{t("usage.range.end")}</span> - <input className="input" type="datetime-local" step="60" required - value={draftWindow.until} - aria-invalid={rangeError !== null} - aria-describedby={rangeError ? "usage-range-help usage-range-error" : "usage-range-help"} - onChange={event => { - const value = event.currentTarget.value; - setDraftWindow(current => ({ ...current, until: value })); - setRangeError(null); - }} /> - </label> - <button type="submit" className="btn btn-primary btn-sm">{t("usage.range.apply")}</button> - <button type="button" className="btn btn-ghost btn-sm" onClick={clearCustomWindow}>{t("usage.range.clear")}</button> + {/* + An explicit interval is the rare path — the presets answer the question almost every + time — so the two date fields open on request instead of greeting every visit as the + second thing on the page. The applied interval stays outside the panel: collapsing the + controls must never hide which window the totals below actually cover. + */} + <section className="usage-range"> + <div className="usage-range-bar"> + <button + type="button" + className={`usage-range-toggle${customWindow ? " is-active" : ""}`} + aria-expanded={rangeOpen} + // The panel is unmounted while closed, so naming it then would leave a dangling IDREF. + aria-controls={rangeOpen ? "usage-range-panel" : undefined} + // A validation failure is only legible next to the fields that caused it. Closing the + // panel would otherwise park an invisible error on a trigger that looks untouched, and + // re-render the alert on reopen for a draft the user walked away from. The check reads + // the rendered value rather than an updater argument: a setState updater has to stay + // pure, and this one would fire the second setState twice under StrictMode. + onClick={() => { + if (rangeOpen) setRangeError(null); + setRangeOpen(!rangeOpen); + }} + > + <span>{t("usage.range.custom")}</span> + <IconChevron width={12} height={12} aria-hidden="true" className="usage-range-chevron" /> + </button> + {customWindow && <p className="usage-range-applied muted text-control" role="status">{(() => { + const formatter = new Intl.DateTimeFormat(locale, { + year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", + second: "2-digit", fractionalSecondDigits: 3, timeZoneName: "short", + }); + return t("usage.range.applied", { start: formatter.format(customWindow.since), end: formatter.format(customWindow.until) }); + })()}</p>} </div> - <p id="usage-range-help" className="muted text-caption">{t("usage.range.help")}</p> - {rangeError && <p id="usage-range-error" role="alert" className="notice notice-err">{t(`usage.range.${rangeError}`)}</p>} - {customWindow && <p className="muted text-control" role="status">{(() => { - const formatter = new Intl.DateTimeFormat(locale, { - year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", - second: "2-digit", fractionalSecondDigits: 3, timeZoneName: "short", - }); - return t("usage.range.applied", { start: formatter.format(customWindow.since), end: formatter.format(customWindow.until) }); - })()}</p>} - </form> + {rangeOpen && ( + <form id="usage-range-panel" className="usage-range-panel" aria-label={t("usage.range.custom")} noValidate onSubmit={event => { + event.preventDefault(); + const result = parseUsageTimeRange(draftWindow.since, draftWindow.until); + if (result.ok === false) { + setRangeError(result.error); + return; + } + setRangeError(null); + setCustomWindow(result.window); + }}> + <div className="usage-range-fields"> + <label className="usage-range-field"> + <span className="field-label">{t("usage.range.start")}</span> + <input className="input" type="datetime-local" step="60" required + value={draftWindow.since} + aria-invalid={rangeError !== null} + aria-describedby={rangeError ? "usage-range-help usage-range-error" : "usage-range-help"} + onChange={event => { + const value = event.currentTarget.value; + setDraftWindow(current => ({ ...current, since: value })); + setRangeError(null); + }} /> + </label> + <label className="usage-range-field"> + <span className="field-label">{t("usage.range.end")}</span> + <input className="input" type="datetime-local" step="60" required + value={draftWindow.until} + aria-invalid={rangeError !== null} + aria-describedby={rangeError ? "usage-range-help usage-range-error" : "usage-range-help"} + onChange={event => { + const value = event.currentTarget.value; + setDraftWindow(current => ({ ...current, until: value })); + setRangeError(null); + }} /> + </label> + <button type="submit" className="btn btn-primary btn-sm usage-range-action">{t("usage.range.apply")}</button> + <button type="button" className="btn btn-ghost btn-sm usage-range-action" onClick={clearCustomWindow}>{t("usage.range.clear")}</button> + </div> + <p id="usage-range-help" className="muted text-caption">{t("usage.range.help")}</p> + {rangeError && <p id="usage-range-error" role="alert" className="notice notice-err">{t(`usage.range.${rangeError}`)}</p>} + </form> + )} + </section> {/* Only shown when connected. Naming the source is a two-plane concept: it answers "which store served these numbers", and that question only exists once there are diff --git a/gui/src/pages/dashboard-overview-sections.tsx b/gui/src/pages/dashboard-overview-sections.tsx index 6606c4f560e..c71687acb9b 100644 --- a/gui/src/pages/dashboard-overview-sections.tsx +++ b/gui/src/pages/dashboard-overview-sections.tsx @@ -439,6 +439,7 @@ function VisionAdvancedPopover({ t, open, triggerRef, onClose, maxValue, maxInva export function DashboardSidecarPanels({ d }: { d: Dash }) { const { t, settings, settingsSaving, syncing, toggleCodexAutoStart, toggleCodexDesktopAuthless, + toggleCodexClientCompaction, sidecar, sidecarSaving, sidecarModels, visionModels, models, saveSidecar, shadowCall, shadowCallSaving, shadowCallHelpTriggerRef, shadowCallHelpOpen, setShadowCallHelpOpen, saveShadowCall, } = d; @@ -525,6 +526,26 @@ export function DashboardSidecarPanels({ d }: { d: Dash }) { </div> </div> + <div className="panel"> + <div className="spread"> + <div style={{ flex: 1, minWidth: 0 }}> + <div className="font-semibold">{t("dash.codexClientCompaction")}</div> + <div className="muted setting-hint">{t("dash.codexClientCompactionHint")}</div> + {settings?.catalogRefreshPending && <div className="muted setting-hint" role="status">{t("codexAuth.catalogRefreshPending")}</div>} + </div> + <button + type="button" + className={`switch ${settings?.codexClientCompaction ?? false ? "on" : ""}`} + onClick={toggleCodexClientCompaction} + disabled={!settings || settingsSaving || syncing} + aria-label={t("dash.codexClientCompaction")} + aria-pressed={settings?.codexClientCompaction ?? false} + > + <span className="knob" /> + </button> + </div> + </div> + <div className="dash-sidecar-grid"> {/* Both sidecar cards wear the DashboardInjectionPanel shell: the PANEL is the flex row, copy left, controls right. */} diff --git a/gui/src/pages/dashboard-shared.ts b/gui/src/pages/dashboard-shared.ts index dc280194238..27343629b4d 100644 --- a/gui/src/pages/dashboard-shared.ts +++ b/gui/src/pages/dashboard-shared.ts @@ -49,6 +49,7 @@ export interface ModelInfo { id: string; provider: string; namespaced: string; o export interface SettingsData { codexAutoStart: boolean; codexDesktopAuthless?: boolean; + codexClientCompaction?: boolean; catalogRefreshPending?: boolean; /** Whether a login may open a browser on the machine running the proxy. */ oauthOpenBrowser?: boolean; diff --git a/gui/src/pages/use-dashboard-data.ts b/gui/src/pages/use-dashboard-data.ts index b662773b9a2..5bbe1210bcd 100644 --- a/gui/src/pages/use-dashboard-data.ts +++ b/gui/src/pages/use-dashboard-data.ts @@ -70,7 +70,7 @@ type CachedOverview = { type MaMode = "v1" | "default" | "v2"; -type CodexPreference = "codexAutoStart" | "codexDesktopAuthless"; +type CodexPreference = "codexAutoStart" | "codexDesktopAuthless" | "codexClientCompaction"; type DashboardSettingsState = { settings: SettingsData | null; beforeSave: SettingsData | null; @@ -81,7 +81,6 @@ type DashboardSettingsAction = | { type: "save-succeeded"; key: CodexPreference; settings: SettingsData } | { type: "save-failed" } | { type: "save-finished" } - | { type: "server-saved"; server: NonNullable<SettingsData["server"]> } | { type: "applied" }; // Own both server snapshots and the local save/apply transaction. A poll has no @@ -107,7 +106,9 @@ function dashboardSettingsReducer(state: DashboardSettingsState, action: Dashboa settings: { ...state.settings, [action.key]: action.settings[action.key], - catalogRefreshPending: action.key === "codexDesktopAuthless" ? true : state.settings.catalogRefreshPending, + catalogRefreshPending: action.key === "codexDesktopAuthless" || action.key === "codexClientCompaction" + ? true + : state.settings.catalogRefreshPending, startupHealth: action.settings.startupHealth ?? state.settings.startupHealth, }, }; @@ -115,9 +116,6 @@ function dashboardSettingsReducer(state: DashboardSettingsState, action: Dashboa return state.beforeSave ? { ...state, settings: state.beforeSave } : state; case "save-finished": return { ...state, beforeSave: null }; - case "server-saved": - if (!state.settings) return state; - return { ...state, settings: { ...state.settings, server: action.server } }; case "applied": return state.settings ? { ...state, settings: { ...state.settings, catalogRefreshPending: false } } : state; } @@ -216,6 +214,7 @@ export function useDashboardData(apiBase: string) { const [updateError, setUpdateError] = useState<string | null>(null); const [updateJob, setUpdateJob] = useState<UpdateJob | null>(null); const [reconnecting, setReconnecting] = useState(false); + const [error, setError] = useState(false); const effortCapHelpTriggerRef = useRef<HTMLButtonElement>(null); const updateTriggerRef = useRef<HTMLButtonElement>(null); const maHelpTriggerRef = useRef<HTMLButtonElement>(null); @@ -281,9 +280,6 @@ export function useDashboardData(apiBase: string) { { pollMs: 5000 }, ); const overviewReady = health !== null || overviewPoll.data !== undefined; - // A cold failure replaces the page; later failures retain the last good overview. - const error = overviewPoll.error !== undefined && health === null && !overviewPoll.hasSucceeded; - const overviewReconnecting = overviewPoll.error !== undefined && !error; // Preferences that are just config — never gate on overview or injection. const maModePoll = useKeyedClientResource( @@ -374,6 +370,7 @@ export function useDashboardData(apiBase: string) { providers: data.providers, }); } + setError(data.error); }, [overviewPoll.data, apiBase]); useEffect(() => { @@ -682,36 +679,19 @@ export function useDashboardData(apiBase: string) { const data = await requireJson<SettingsData>(res, "save failed"); settingsMutationEpochRef.current += 1; dispatchSettings({ type: "save-succeeded", key, settings: data }); - if (key === "codexDesktopAuthless") await runSync(); - } catch (err) { + if (key === "codexDesktopAuthless" || key === "codexClientCompaction") await runSync(); + } catch { dispatchSettings({ type: "save-failed" }); - setSyncError(err instanceof Error ? err.message : String(err)); + setError(true); } finally { settingsMutationInFlightRef.current = false; dispatchSettings({ type: "save-finished" }); } }; - const saveServerSettings = async ( - server: NonNullable<SettingsData["server"]>["configured"], - ): Promise<NonNullable<SettingsData["server"]>> => { - settingsMutationInFlightRef.current = true; - try { - const res = await fetch(`${apiBase}/api/settings`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ server }), - }); - const data = await requireJson<{ server: NonNullable<SettingsData["server"]> }>(res, t("dash.serverSaveFailed")); - settingsMutationEpochRef.current += 1; - dispatchSettings({ type: "server-saved", server: data.server }); - return data.server; - } finally { - settingsMutationInFlightRef.current = false; - } - }; const toggleCodexAutoStart = () => toggleCodexSetting("codexAutoStart"); const toggleCodexDesktopAuthless = () => toggleCodexSetting("codexDesktopAuthless"); + const toggleCodexClientCompaction = () => toggleCodexSetting("codexClientCompaction"); // Clears the sync result/error in this hook. The dashboard toast owns its own dismissal // timer but must publish the dismissal here: syncResult/syncError live above the dashboard @@ -870,13 +850,12 @@ export function useDashboardData(apiBase: string) { effortCap, subagentEffortCap, effortCapSaving, setEffortCap, setSubagentEffortCap, setEffortCapSaving, syncResult, syncError, projectConfigWarnings, updateOpen, updateChannel, setUpdateRestart, updateRestart, updateLoading, - updateCheck, updateError, updateJob, reconnecting, error, overviewReconnecting, - retryOverview: overviewPoll.refresh, + updateCheck, updateError, updateJob, reconnecting, error, effortCapHelpTriggerRef, updateTriggerRef, maHelpTriggerRef, shadowCallHelpTriggerRef, effortCapHelpDialogRef, updateDialogRef, maHelpDialogRef, shadowCallHelpDialogRef, filteredGroups, sidecarModels, visionModels, saveSidecar, saveShadowCall, switchMaMode, toggleCodexAutoStart, toggleCodexDesktopAuthless, - saveServerSettings, runSync, clearSyncFeedback, + toggleCodexClientCompaction, runSync, clearSyncFeedback, fetchUpdateCheck, closeUpdateDialog, openUpdateDialog, changeUpdateChannel, runUpdate, }; } diff --git a/gui/src/pages/use-subagent-delegation.ts b/gui/src/pages/use-subagent-delegation.ts index eb36e339b4d..7c1dbbc5dc3 100644 --- a/gui/src/pages/use-subagent-delegation.ts +++ b/gui/src/pages/use-subagent-delegation.ts @@ -22,11 +22,17 @@ export type DelegationPatch = { }; /** Ultra mode (Proactive delegation for every model/effort) via /api/v2. */ +export type UltraModeHintRecommendation = { + text: string; + revision: string; +}; + export type UltraModeState = { loaded?: boolean; keepNativeChatGptOnV1?: boolean; enabled: boolean; hintText: string | null; + recommendation: UltraModeHintRecommendation | null; multiAgentV2Enabled: boolean; /** The raw multi-agent mode; Subagents renders the v1/base/v2 switch from it. */ multiAgentMode: "v1" | "default" | "v2"; diff --git a/gui/src/provider-icons.ts b/gui/src/provider-icons.ts index 7f7996a085f..99f46a93c4b 100644 --- a/gui/src/provider-icons.ts +++ b/gui/src/provider-icons.ts @@ -43,6 +43,14 @@ const PROVIDER_ICON_ALIASES: Record<string, string> = { "opencode-zen": "opencode.svg", openrouter: "openrouter-color.svg", qianfan: "qianfan-color.svg", + /* + * Qoder Global and Qoder CN are one brand on two operators (BRIGHT ZENITH + * PRIVATE LIMITED and 通义云启(杭州)信息技术有限公司), the meta-model/meta-muse + * shape. codebuddy / codebuddy-cn deliberately have no alias: see the + * provider-icons README for the terms clause that forbids the Tencent mark. + */ + qoder: "qoder.svg", + "qoder-cn": "qoder.svg", alibaba: "alibaba-color.svg", "alibaba-token-plan": "alibaba-color.svg", "alibaba-token-plan-intl": "alibaba-color.svg", @@ -61,6 +69,7 @@ const PROVIDER_ICON_ALIASES: Record<string, string> = { novita: "novita.svg", orcarouter: "orcarouter.svg", "orcarouter-oauth": "orcarouter.svg", + packycode: "packycode.svg", parallel: "parallel.svg", sambanova: "sambanova.svg", scaleway: "scaleway.svg", @@ -124,6 +133,7 @@ const PROVIDER_DISPLAY_NAMES: Record<string, string> = { "opencode-zen": "OpenCode Zen", orcarouter: "OrcaRouter - API", "orcarouter-oauth": "OrcaRouter - Auth", + packycode: "PackyCode", mistral: "Mistral", groq: "Groq", "meta-model": "Meta Model API", @@ -141,6 +151,10 @@ const PROVIDER_DISPLAY_NAMES: Record<string, string> = { "qwen-cloud": "Qwen Cloud", siliconflow: "SiliconFlow", "tencent-coding-plan": "Tencent Cloud Coding Plan", + codebuddy: "CodeBuddy", + "codebuddy-cn": "CodeBuddy CN", + qoder: "Qoder", + "qoder-cn": "Qoder CN", "vercel-ai-gateway": "Vercel AI Gateway", vllm: "vLLM", litellm: "LiteLLM", @@ -200,6 +214,7 @@ const MASKED_PROVIDER_ICONS: ReadonlySet<string> = new Set([ "neuralwatt.svg", "nous.svg", "novita.svg", + "packycode.svg", "siliconflow.svg", "synthetic.svg", "zenmux.svg", diff --git a/gui/src/styles-subagents-workspace.css b/gui/src/styles-subagents-workspace.css index a9f9466ce72..2e4bde01ed2 100644 --- a/gui/src/styles-subagents-workspace.css +++ b/gui/src/styles-subagents-workspace.css @@ -88,8 +88,22 @@ margin-top: 3px; max-width: 72ch; line-height: 1.5; + overflow-wrap: anywhere; } +.swi-ultra-mode-editor { + display: grid; + grid-template-columns: minmax(0, 1fr) auto auto; + align-items: start; +} + +.swi-ultra-mode-textarea { + min-width: 0; + width: 100%; +} + +.swi-ultra-mode-editor > button { justify-self: end; } + .swi-delegation-controls { display: flex; align-items: center; @@ -587,4 +601,6 @@ @media (max-width: 640px) { .swi-fallback-editor { flex-direction: column; } .swi-fallback-controls { width: 100%; } + .swi-ultra-mode-editor { grid-template-columns: minmax(0, 1fr) auto; } + .swi-ultra-mode-textarea { grid-column: 1 / -1; } } diff --git a/gui/src/styles.css b/gui/src/styles.css index a5838be7e40..1a51a2f40e1 100644 --- a/gui/src/styles.css +++ b/gui/src/styles.css @@ -2508,6 +2508,45 @@ button.prov-account-row.active { cursor: default; } /* Top-align with Storage: centering against the taller filter chips dropped the "Usage" title. */ .usage-head { flex-wrap: wrap; align-items: flex-start; } .usage-filters { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; } +/* Custom range: a disclosure, not a second filter row. It reuses the chip language of the + segmented presets above it so the page reads as one control area, and the panel is + `width: max-content` because a four-control form stretched to 1200px is what made the old + flex-end row look like a stray band across the page. */ +.usage-range { display: grid; justify-items: start; gap: 8px; margin: 10px 0 4px; } +.usage-range-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; max-width: 100%; } +.usage-range-toggle { + display: inline-flex; align-items: center; gap: 6px; + min-height: var(--control-sm); padding: 4px 12px; + border: 1px solid var(--border); border-radius: var(--radius-pill); + background: var(--surface); color: var(--muted); + font: inherit; font-size: var(--text-label); font-weight: var(--weight-medium); + white-space: nowrap; cursor: pointer; + transition: color var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast); +} +.usage-range-toggle:hover { background: var(--raised); color: var(--text); } +.usage-range-toggle[aria-expanded="true"] { color: var(--text); } +.usage-range-toggle.is-active { border-color: var(--accent); color: var(--text); } +.usage-range-chevron { flex: 0 0 auto; transition: transform var(--motion-fast); } +.usage-range-toggle[aria-expanded="true"] .usage-range-chevron { transform: rotate(90deg); } +.usage-range-applied { margin: 0; min-width: 0; } +.usage-range-panel { + display: grid; gap: 10px; width: max-content; max-width: 100%; + padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); + background: var(--surface); +} +/* `align-items: end` is the fix for the old row: a label+input stack is twice the height of a + `btn-sm`, so centering left Apply and Clear floating beside the middle of the fields. + Every track is `auto` on purpose. A fixed 200px cap does not survive contact with a + `datetime-local` control: its intrinsic minimum is about 206px in Chrome at this font size, + and it grows again for locales whose date format is longer than `mm/dd/yyyy`. The fields + then overflow their tracks and eat the gap, which is the exact rhythm defect this block + exists to fix. */ +.usage-range-fields { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; align-items: end; gap: 8px; } +.usage-range-field { display: grid; gap: 4px; min-width: 0; } +.usage-range-field .field-label { margin: 0; } +.usage-range-fields .input { height: var(--control-md); padding-block: 0; } +.usage-range-action { min-height: var(--control-md); } +.usage-range-panel > p { margin: 0; } .usage-segmented { display: inline-flex; border: 1px solid var(--border); border-radius: var(--radius-pill); padding: 2px; gap: 2px; background: var(--surface); } .usage-segmented-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: none; background: transparent; color: var(--muted); padding: 4px 12px; border-radius: var(--radius-pill); cursor: pointer; font: inherit; white-space: nowrap; } .usage-segmented-btn.active { background: var(--raised); color: var(--text); font-weight: var(--weight-semibold); } @@ -2529,6 +2568,11 @@ button.prov-account-row.active { cursor: default; } @media (max-width: 640px) { .usage-source-btn .usage-source-label-collapsible { display: none; } + /* Two 200px columns plus both actions stop fitting a phone content width; the panel takes + the full row and every control keeps the same height it has on desktop. */ + .usage-range-panel { width: 100%; } + .usage-range-fields { grid-template-columns: minmax(0, 1fr); } + .usage-range-action { width: 100%; } } @media (max-width: 360px) { diff --git a/gui/src/styles/provider-workspace-shell.css b/gui/src/styles/provider-workspace-shell.css index cb5c14b15d5..45f9b4d16bc 100644 --- a/gui/src/styles/provider-workspace-shell.css +++ b/gui/src/styles/provider-workspace-shell.css @@ -605,7 +605,7 @@ /* Overview 2-column layout (Phase 030) */ .pws-overview-layout { display: grid; - grid-template-columns: 1fr 280px; + grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; align-items: start; } @@ -618,6 +618,7 @@ } .pws-overview-sidebar { + min-width: 0; display: flex; flex-direction: column; gap: 20px; @@ -678,11 +679,81 @@ } /* Notes section */ +.pws-sponsor { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 20px 32px; + margin-bottom: 28px; + padding: 22px 24px; + border: 1px solid var(--border); + border-radius: var(--radius); + background: var(--surface); +} + +.pws-sponsor-copy { flex: 1 1 320px; min-width: 0; } +.pws-sponsor-byline { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 10px; + font-size: 0.8rem; + font-weight: 600; +} +.pws-sponsor-badge { + padding: 2px 7px; + border-radius: var(--radius-2xs); + background: var(--raised); + color: var(--muted); + font-size: 0.7rem; + font-weight: 500; +} +.pws-sponsor h3 { + margin: 0 0 6px; + font-size: 1.08rem; + font-weight: 600; + line-height: 1.45; + text-wrap: balance; + word-break: keep-all; +} +.pws-sponsor p { + margin: 0; + max-width: 64ch; + color: var(--muted); + font-size: 0.85rem; + line-height: 1.65; + text-wrap: balance; + word-break: keep-all; +} +.pws-sponsor-actions { + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; +} +.pws-sponsor-actions a { gap: 8px; min-height: 36px; white-space: nowrap; } +.pws-sponsor-console { + display: inline-flex; + align-items: center; + font-size: 0.8rem; + text-decoration: underline; + text-underline-offset: 3px; +} +.pws-sponsor a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; } +@container provider-workspace (max-width: 600px) { + .pws-sponsor { padding: 18px; gap: 16px; } + .pws-sponsor-actions { align-items: flex-start; } + .pws-sponsor-actions a { min-height: 44px; } +} + .pws-notes-section { min-width: 0; } .pws-notes-display { + white-space: pre-wrap; + overflow-wrap: anywhere; + line-height: 1.65; display: block; width: 100%; text-align: left; @@ -779,6 +850,8 @@ } .pws-detail-tab { + flex-shrink: 0; + white-space: nowrap; appearance: none; background: none; border: none; diff --git a/gui/tests/multi-agent-guidance.test.tsx b/gui/tests/multi-agent-guidance.test.tsx index edf53cf21f7..300e97fcf2c 100644 --- a/gui/tests/multi-agent-guidance.test.tsx +++ b/gui/tests/multi-agent-guidance.test.tsx @@ -65,7 +65,7 @@ function props(overrides: Partial<Props> = {}): Props { guidanceEnabled: false, syncCodexDefaults: true, onSave: (patch) => { requests.push(patch); }, - ultraMode: { enabled: false, hintText: null, multiAgentV2Enabled: false, multiAgentMode: "default" }, + ultraMode: { enabled: false, hintText: null, recommendation: null, multiAgentV2Enabled: false, multiAgentMode: "default" }, fallback: [], fallbackPollMs: 60000, fallbackBusy: false, @@ -164,3 +164,32 @@ test("sends model clearing through the shared save path", async () => { expect(requests).toEqual([{ model: null, effort: "high" }]); }); + +test("a recommendation-only refresh preserves the draft until Restore is chosen", async () => { + const current = props({ + ultraMode: { + enabled: true, hintText: "stored custom", multiAgentV2Enabled: true, multiAgentMode: "v2", + recommendation: { text: "old recommendation", revision: "old" }, + }, + onUltraModeSave: patch => { requests.push(patch); }, + }); + await mount(current); + const textarea = host.querySelector<HTMLTextAreaElement>(".swi-ultra-mode-editor textarea")!; + await act(async () => { + Object.getOwnPropertyDescriptor(testWindow.HTMLTextAreaElement.prototype, "value")!.set!.call(textarea, "unsaved custom draft"); + textarea.dispatchEvent(new testWindow.Event("input", { bubbles: true })); + textarea.dispatchEvent(new testWindow.Event("change", { bubbles: true })); + }); + await act(async () => { + root!.render(<LanguageProvider><SubagentDelegationSection {...current} ultraMode={{ + ...current.ultraMode, recommendation: { text: "new recommendation", revision: "new" }, + }} /></LanguageProvider>); + }); + expect(textarea.value).toBe("unsaved custom draft"); + expect(requests).toHaveLength(0); + const restore = [...host.querySelectorAll<HTMLButtonElement>(".swi-ultra-mode-editor button")] + .find(button => button.textContent?.trim() === "Restore preset")!; + await act(async () => { restore.click(); }); + expect(textarea.value).toBe("new recommendation"); + expect(requests).toHaveLength(0); +}); diff --git a/gui/tests/provider-catalog-sponsor-pinning.test.ts b/gui/tests/provider-catalog-sponsor-pinning.test.ts new file mode 100644 index 00000000000..4db0c5c1075 --- /dev/null +++ b/gui/tests/provider-catalog-sponsor-pinning.test.ts @@ -0,0 +1,36 @@ +import { expect, test } from "bun:test"; +import { pinSponsors, type CatalogPreset } from "../src/components/provider-catalog/provider-presets"; + +/** + * SPONSORS.md promises a Standard sponsor "a built-in preset near the top of the provider + * picker". This is the function that keeps that promise, and the two properties that make + * it honest: sponsors come first in an order no sponsor can buy (Main before Standard, then + * alphabetical), and everything after them keeps the caller's usage/label order untouched. + */ + +const row = (id: string, label: string, sponsor?: CatalogPreset["sponsor"]): CatalogPreset => ({ + id, label, adapter: "openai-chat", baseUrl: `https://${id}.example/v1`, auth: "key", + ...(sponsor ? { sponsor, sponsorUrl: `https://${id}.example/?utm_source=opencodex` } : {}), +}); + +test("sponsors are pinned first, Main before Standard, alphabetical within a tier", () => { + const input = [ + row("zeta", "Zeta"), + row("packycode", "PackyCode", "standard"), + row("alpha", "Alpha"), + row("orcarouter", "OrcaRouter", "standard"), + row("moon", "Moon Labs", "main"), + ]; + expect(pinSponsors(input).map(p => p.id)).toEqual(["moon", "orcarouter", "packycode", "zeta", "alpha"]); +}); + +test("alphabetical among sponsors ignores registry position and case", () => { + // Ids run z, y, x against labels bravo, ALPHA, charlie: sorting by id instead of label fails here. + const input = [row("z", "bravo", "standard"), row("y", "ALPHA", "standard"), row("x", "charlie", "standard")]; + expect(pinSponsors(input).map(p => p.id)).toEqual(["y", "z", "x"]); +}); + +test("with no sponsors the input order is returned as-is", () => { + const input = [row("zeta", "Zeta"), row("alpha", "Alpha")]; + expect(pinSponsors(input)).toBe(input); +}); diff --git a/gui/tests/provider-icons.test.ts b/gui/tests/provider-icons.test.ts index b0609255b83..704c2978d69 100644 --- a/gui/tests/provider-icons.test.ts +++ b/gui/tests/provider-icons.test.ts @@ -92,3 +92,28 @@ test("both Meta provider ids resolve to the Meta mark", () => { expect(providerIconSrc("meta-model")).toBe("/provider-icons/meta.svg"); expect(providerIconSrc("meta-muse")).toBe("/provider-icons/meta.svg"); }); + +/* + * One brand, two operators. + * + * `qoder` (BRIGHT ZENITH PRIVATE LIMITED) and `qoder-cn` (通义云启(杭州)信息技术有限公司) + * share Qoder's declared site icon, the meta-model/meta-muse shape. Pinned explicitly + * for the same reason as the Meta pair: the generic wiring check only fires when an + * asset named after the id is committed, and `qoder-cn` is not `qoder`. + * + * CodeBuddy is the opposite decision and is pinned too. Tencent publishes a usable + * symbol, but §9.3 of the CodeBuddy service agreement forbids using Tencent brand + * features without written consent, so both ids keep the initials tile on purpose. + * Nothing else can tell "absent by decision" from "forgotten"; this can. + */ +test("both Qoder provider ids resolve to the Qoder mark", () => { + expect(providerIconSrc("qoder")).toBe("/provider-icons/qoder.svg"); + expect(providerIconSrc("qoder-cn")).toBe("/provider-icons/qoder.svg"); +}); + +test("CodeBuddy keeps the initials tile by decision, not by omission", () => { + expect(providerIconSrc("codebuddy")).toBeUndefined(); + expect(providerIconSrc("codebuddy-cn")).toBeUndefined(); + expect(existsSync(join(PUBLIC_DIR, "codebuddy.svg"))).toBe(false); + expect(existsSync(join(PUBLIC_DIR, "codebuddy-cn.svg"))).toBe(false); +}); diff --git a/gui/tests/provider-sponsor-overview.test.tsx b/gui/tests/provider-sponsor-overview.test.tsx new file mode 100644 index 00000000000..bdf0b30c497 --- /dev/null +++ b/gui/tests/provider-sponsor-overview.test.tsx @@ -0,0 +1,76 @@ +import { expect, test } from "bun:test"; +import { renderToStaticMarkup } from "react-dom/server"; +import { LanguageProvider } from "../src/i18n/provider"; +import ProviderOverview from "../src/components/provider-workspace/ProviderOverview"; +import ProviderSponsor from "../src/components/provider-workspace/ProviderSponsor"; +import { matchingWorkspacePreset, type CatalogPreset } from "../src/components/provider-catalog/provider-presets"; +import type { WorkspaceItem } from "../src/provider-workspace/catalog"; + +const orca: CatalogPreset = { + id: "orcarouter", label: "OrcaRouter - API", adapter: "openai-chat", auth: "key", + baseUrl: "https://api.orcarouter.ai/v1", sponsor: "standard", + sponsorUrl: "https://www.orcarouter.ai/?utm_source=opencodex&utm_medium=readme", + dashboardUrl: "https://www.orcarouter.ai/console", +}; +const packy: CatalogPreset = { + id: "packycode", label: "PackyCode", adapter: "openai-chat", auth: "key", + baseUrl: "https://cf.api.fan/v1", sponsor: "standard", + sponsorUrl: "https://www.packyapi.com/register?aff=k5KT", + dashboardUrl: "https://www.packyapi.com/register?aff=k5KT", +}; +const configured = (preset: CatalogPreset): WorkspaceItem => ({ + name: preset.id, adapter: preset.adapter, baseUrl: preset.baseUrl, authMode: preset.auth, +}); +function render(preset?: CatalogPreset, item = configured(orca)) { + return renderToStaticMarkup(<LanguageProvider><ProviderSponsor preset={preset} item={item} /></LanguageProvider>); +} + +test("sponsor is matched by id, adapter and complete endpoint, tolerating trailing slash", () => { + const item = configured(orca); + const credentialEndpoint = new URL(item.baseUrl); + credentialEndpoint.username = "fixture-user"; + credentialEndpoint.password = "fixture-password"; + expect(matchingWorkspacePreset({ ...item, baseUrl: `${item.baseUrl}/` }, [orca])).toBe(orca); + for (const changed of [ + { name: "renamed" }, { adapter: "anthropic" }, { baseUrl: "https://other.example/v1" }, + { baseUrl: "https://api.orcarouter.ai/v2" }, { baseUrl: `${item.baseUrl}?key=secret` }, + { baseUrl: credentialEndpoint.href }, { baseUrl: "invalid" }, + ]) { + expect(matchingWorkspacePreset({ ...item, ...changed }, [orca])).toBeUndefined(); + expect(render(orca, { ...item, ...changed })).toBe(""); + } + expect(matchingWorkspacePreset(item, [])).toBeUndefined(); +}); + +test("key and OAuth sponsor presets render disclosed links, keeping affiliate parameters", () => { + // Only the key-auth `orcarouter` row carries `sponsor` in the registry today, so the oauth + // case is the property that an auth mode never suppresses the block — not a second pinned row. + for (const preset of [orca, { ...orca, id: "orcarouter-oauth", auth: "oauth" as const }]) { + const html = render(preset, configured(preset)); + expect(html).toContain("pws-sponsor-badge"); + expect(html).toContain("utm_source=opencodex&utm_medium=readme"); + expect(html).toContain('href="https://www.orcarouter.ai/console"'); + expect(html.match(/rel="noopener noreferrer"/g)).toHaveLength(2); + } +}); + +test("Packy preserves its affiliate link and does not repeat an identical console link", () => { + const html = render(packy, configured(packy)); + expect(html).toContain('href="https://www.packyapi.com/register?aff=k5KT"'); + expect(html.match(/<a /g)).toHaveLength(1); +}); + +test("missing and non-sponsor presets render nothing; non-web links never become anchors", () => { + expect(render()).toBe(""); + expect(render({ ...orca, sponsor: undefined })).toBe(""); + const html = render({ ...orca, sponsorUrl: "javascript:alert(1)", dashboardUrl: "data:text/html,bad" }); + expect(html).not.toContain("<a "); + expect(html).not.toContain("javascript:"); +}); + +test("overview keeps the complete note exactly once in the wider editable section", () => { + const note = "A provider limitation that must remain visible. https://example.test/details"; + const html = renderToStaticMarkup(<LanguageProvider><ProviderOverview item={{ ...configured(orca), note }} preset={orca} /></LanguageProvider>); + expect(html.split(note)).toHaveLength(2); + expect(html.indexOf("pws-notes-section")).toBeLessThan(html.indexOf("pws-overview-sidebar")); +}); diff --git a/gui/tests/subagents-ultra-mode.test.tsx b/gui/tests/subagents-ultra-mode.test.tsx index d0f164ce635..22cfc459be2 100644 --- a/gui/tests/subagents-ultra-mode.test.tsx +++ b/gui/tests/subagents-ultra-mode.test.tsx @@ -1,9 +1,8 @@ import { afterEach, beforeEach, expect, test } from "bun:test"; import { Window } from "happy-dom"; import { act } from "react"; -import { createRoot, type Root } from "react-dom/client"; +import type { Root } from "react-dom/client"; import Subagents from "../src/pages/Subagents"; -import { ULTRA_MODE_PRESET } from "../src/components/subagents-workspace/SubagentDelegationSection"; import { LanguageProvider } from "../src/i18n/provider"; const globals = ["document", "window", "navigator", "localStorage", "fetch", "IS_REACT_ACT_ENVIRONMENT"] as const; @@ -14,12 +13,7 @@ let root: Root | null = null; let v2Responses: Array<{ ok: boolean; body: unknown; status?: number }> = []; let v2Call = 0; let requests: Array<{ url: string; init?: RequestInit }> = []; -let injectionAvailable: Array<{ provider: string; model: string; namespaced: string; canonical?: boolean }> = []; -let nativeOverrideServer = { enabled: false, model: null as string | null, active: false }; -let nativeOverridePutError: string | null = null; -let nativeOverrideAfterPut: Partial<typeof nativeOverrideServer> | null = null; -let routedBridgeServer = false; -let routedBridgePutError: string | null = null; +const recommendation = { text: "server-supplied proactive policy", revision: "test-policy-v1" }; function response(body: unknown, ok = true, status = 200): Response { return { @@ -45,12 +39,6 @@ beforeEach(() => { requests = []; v2Responses = []; v2Call = 0; - injectionAvailable = []; - nativeOverrideServer = { enabled: false, model: null, active: false }; - nativeOverridePutError = null; - nativeOverrideAfterPut = null; - routedBridgeServer = false; - routedBridgePutError = null; Object.defineProperty(globalThis, "fetch", { configurable: true, value: async (url: string, init?: RequestInit) => { @@ -58,30 +46,13 @@ beforeEach(() => { const path = new URL(String(url), "http://localhost/").pathname; if (path === "/api/v2") { if (init?.method === "PUT") { - const body = JSON.parse(String(init.body ?? "{}")) as { v2NativeParentOverride?: { enabled?: boolean; model?: string | null }; v2RoutedDelegationBridge?: boolean }; - if (typeof body.v2RoutedDelegationBridge === "boolean") { - if (routedBridgePutError) return response({ error: routedBridgePutError }, false, 400); - routedBridgeServer = body.v2RoutedDelegationBridge; - return response({ ok: true, v2RoutedDelegationBridge: routedBridgeServer }); - } - if (body.v2NativeParentOverride) { - if (nativeOverridePutError) return response({ error: nativeOverridePutError }, false, 400); - nativeOverrideServer = { ...nativeOverrideServer, ...body.v2NativeParentOverride, ...nativeOverrideAfterPut }; - nativeOverrideAfterPut = null; - return response({ ok: true, v2NativeParentOverride: nativeOverrideServer }); - } const latest = v2Responses.at(-1)?.body ?? { enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null }; return response(latest); } const next = v2Responses[Math.min(v2Call++, Math.max(v2Responses.length - 1, 0))]; - if (!next) return response({ enabled: false, v2NativeParentOverride: nativeOverrideServer }); - const body = next.body && typeof next.body === "object" && !Array.isArray(next.body) && !Object.hasOwn(next.body, "v2NativeParentOverride") && !Object.hasOwn(next.body, "v2RoutedDelegationBridge") - ? { ...next.body, v2NativeParentOverride: nativeOverrideServer, v2RoutedDelegationBridge: routedBridgeServer } - : next.body; - return response(body, next.ok, next.status ?? (next.ok ? 200 : 500)); + return next ? response(next.body, next.ok, next.status ?? (next.ok ? 200 : 500)) : response({ enabled: false }); } if (path === "/api/subagent-models") return response({ available: [], chosen: [] }); - if (path === "/api/injection-model") return response({ available: injectionAvailable, efforts: [] }); if (path === "/api/subagent-model-fallback") return response({ available: [], models: [], pollMs: 60_000 }); if (path === "/api/injection-model") return response({ available: [], efforts: [] }); return response({}); @@ -104,6 +75,7 @@ afterEach(async () => { }); async function mount(apiBase = "") { + const { createRoot } = await import("react-dom/client"); await act(async () => { root = createRoot(container); root.render( @@ -117,125 +89,186 @@ async function mount(apiBase = "") { function ultraSwitch(): HTMLButtonElement { const button = Array.from(container.querySelectorAll("button")) - .find(candidate => candidate.getAttribute("aria-label") === "Ultra mode"); - if (!button) throw new Error("Ultra mode switch not found"); + .find(candidate => candidate.getAttribute("aria-label") === "Always proactive delegation"); + if (!button) throw new Error("Always proactive delegation switch not found"); return button as HTMLButtonElement; } -function nativeParentSwitch(): HTMLButtonElement { - const button = Array.from(container.querySelectorAll("button")) - .find(candidate => candidate.getAttribute("aria-label") === "Route native V2 parents"); - if (!button) throw new Error("Native parent switch not found"); - return button as HTMLButtonElement; -} - -function nativeParentSelect(): HTMLButtonElement { - const button = container.querySelector<HTMLButtonElement>('button[role="combobox"][aria-label="Native parent target model"]'); - if (!button) throw new Error("Native parent model select not found"); - return button; -} - -function routedBridgeSwitch(): HTMLButtonElement { - const button = Array.from(container.querySelectorAll("button")) - .find(candidate => candidate.getAttribute("aria-label") === "Routed V2 delegation bridge"); - if (!button) throw new Error("Routed delegation bridge switch not found"); - return button as HTMLButtonElement; -} - -function routedBridgePuts(): unknown[] { - return requests - .filter(row => row.url.endsWith("/api/v2") && row.init?.method === "PUT") - .map(row => JSON.parse(String(row.init?.body ?? "{}"))) - .filter(body => Object.hasOwn(body, "v2RoutedDelegationBridge")); -} - -test("loads the routed delegation bridge off by default with an accessible switch", async () => { - v2Responses = [{ ok: true, body: { enabled: false, multiAgentMode: "default" } }]; +test("does not enable Ultra mode for the default surface even when V2 is enabled", async () => { + v2Responses = [{ ok: true, body: { enabled: true, multiAgentMode: "default", multiAgentModeHintText: null, multiAgentModeHintRecommendation: recommendation } }]; await mount(); - expect(routedBridgeSwitch().getAttribute("aria-pressed")).toBe("false"); - expect(routedBridgeSwitch().disabled).toBe(false); + expect(ultraSwitch().disabled).toBe(true); + expect(ultraSwitch().getAttribute("aria-pressed")).toBe("false"); }); -test("saves only the routed delegation bridge scalar and refreshes server state", async () => { +test("clears the page load error after a successful Ultra mode retry", async () => { v2Responses = [ - { ok: true, body: { enabled: false, multiAgentMode: "default" } }, - { ok: true, body: { enabled: false, multiAgentMode: "default", v2RoutedDelegationBridge: false } }, + { ok: false, body: { error: "temporary failure" }, status: 503 }, + { ok: true, body: { enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null, multiAgentModeHintRecommendation: recommendation } }, ]; await mount(); - await act(async () => { routedBridgeSwitch().click(); }); + expect(container.textContent).toContain("Failed to load proactive delegation settings"); + const ultraErrorRow = Array.from(container.querySelectorAll(".swi-delegation-row")) + .find(row => row.textContent?.includes("Failed to load proactive delegation settings")); + const retry = ultraErrorRow?.querySelector<HTMLButtonElement>("button"); + expect(retry).toBeTruthy(); + + await act(async () => { retry!.click(); }); await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - expect(routedBridgePuts()).toEqual([{ v2RoutedDelegationBridge: true }]); - expect(routedBridgeSwitch().getAttribute("aria-pressed")).toBe("false"); + expect(v2Call).toBe(2); + expect(container.textContent).not.toContain("Failed to load proactive delegation settings"); + expect(ultraSwitch().disabled).toBe(false); }); -test("retains the loaded routed delegation bridge state after a failed save", async () => { - routedBridgeServer = true; - routedBridgePutError = "bridge update rejected"; - v2Responses = [{ ok: true, body: { enabled: true, multiAgentMode: "v2" } }]; +test("enabling Ultra mode uses the server-supplied recommendation", async () => { + v2Responses = [{ ok: true, body: { enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null, multiAgentModeHintRecommendation: recommendation } }]; await mount(); - await act(async () => { routedBridgeSwitch().click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); + await act(async () => { ultraSwitch().click(); }); - expect(routedBridgeSwitch().getAttribute("aria-pressed")).toBe("true"); - expect(container.textContent).toContain("bridge update rejected"); + const request = requests.find(item => item.init?.method === "PUT" && new URL(item.url, "http://localhost/").pathname === "/api/v2"); + expect(JSON.parse(String(request?.init?.body))).toEqual({ multiAgentModeHintText: recommendation.text }); }); -test("shows armed-but-inactive guidance outside explicit V2", async () => { - routedBridgeServer = true; - v2Responses = [{ ok: true, body: { enabled: false, multiAgentMode: "default" } }]; +test("an older server without a recommendation disables only preset installation", async () => { + v2Responses = [{ ok: true, body: { enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null } }]; await mount(); - expect(container.textContent).toContain("Armed; activates for eligible native V2 roots"); + expect(ultraSwitch().disabled).toBe(true); + expect(ultraSwitch().getAttribute("aria-pressed")).toBe("false"); }); -function nativeParentPuts(): Array<{ enabled: boolean; model: string | null }> { - return requests - .filter(row => row.url.endsWith("/api/v2") && row.init?.method === "PUT") - .map(row => JSON.parse(String(row.init?.body ?? "{}")).v2NativeParentOverride) - .filter(Boolean); -} - -test("does not enable Ultra mode for the default surface even when V2 is enabled", async () => { - v2Responses = [{ ok: true, body: { enabled: true, multiAgentMode: "default", multiAgentModeHintText: null } }]; +test.each([ + { text: "", revision: "r1" }, + { text: "valid", revision: " " }, + { text: 42, revision: "r1" }, +])("malformed server recommendations cannot install a preset: %j", async malformed => { + v2Responses = [{ ok: true, body: { + enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null, + multiAgentModeHintRecommendation: malformed, + } }]; await mount(); expect(ultraSwitch().disabled).toBe(true); - expect(ultraSwitch().getAttribute("aria-pressed")).toBe("false"); + await act(async () => { ultraSwitch().click(); }); + expect(requests.filter(item => item.init?.method === "PUT")).toHaveLength(0); }); -test("clears the page load error after a successful Ultra mode retry", async () => { - v2Responses = [ - { ok: false, body: { error: "temporary failure" }, status: 503 }, - { ok: true, body: { enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null } }, - ]; +test("an older server preserves an existing custom hint and still allows clearing it", async () => { + v2Responses = [{ ok: true, body: { enabled: true, multiAgentMode: "v2", multiAgentModeHintText: "custom policy" } }]; await mount(); - expect(container.textContent).toContain("Failed to load Ultra mode settings"); - const ultraErrorRow = Array.from(container.querySelectorAll(".swi-delegation-row")) - .find(row => row.textContent?.includes("Failed to load Ultra mode settings")); - const retry = ultraErrorRow?.querySelector<HTMLButtonElement>("button"); - expect(retry).toBeTruthy(); + expect(ultraSwitch().disabled).toBe(false); + expect(ultraSwitch().getAttribute("aria-pressed")).toBe("true"); + await act(async () => { ultraSwitch().click(); }); - await act(async () => { retry!.click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); + const request = requests.find(item => item.init?.method === "PUT" && new URL(item.url, "http://localhost/").pathname === "/api/v2"); + expect(JSON.parse(String(request?.init?.body))).toEqual({ multiAgentModeHintText: null }); +}); - expect(v2Call).toBe(2); - expect(container.textContent).not.toContain("Failed to load Ultra mode settings"); - expect(ultraSwitch().disabled).toBe(false); +test.each([undefined, { text: "", revision: "r1" }])("custom hints remain editable without a valid recommendation: %j", async unavailable => { + v2Responses = [{ ok: true, body: { + enabled: true, multiAgentMode: "v2", multiAgentModeHintText: "custom policy", + multiAgentModeHintRecommendation: unavailable, + } }]; + await mount(); + const editor = container.querySelector(".swi-ultra-mode-editor")!; + const textarea = editor.querySelector("textarea")!; + const restore = [...editor.querySelectorAll("button")].find(button => button.textContent?.trim() === "Restore preset")!; + const save = [...editor.querySelectorAll("button")].find(button => button.textContent?.trim() === "Save")!; + const custom = " my custom policy\nwith a preserved trailing space "; + expect(restore.disabled).toBe(true); + await act(async () => { + Object.getOwnPropertyDescriptor(testWindow.HTMLTextAreaElement.prototype, "value")!.set!.call(textarea, custom); + textarea.dispatchEvent(new testWindow.Event("input", { bubbles: true })); + textarea.dispatchEvent(new testWindow.Event("change", { bubbles: true })); + }); + expect(requests.filter(item => item.init?.method === "PUT")).toHaveLength(0); + await act(async () => { save.click(); }); + const puts = requests.filter(item => item.init?.method === "PUT"); + expect(puts).toHaveLength(1); + expect(JSON.parse(String(puts[0].init?.body))).toEqual({ multiAgentModeHintText: custom }); +}); + +test("a custom hint loads without writing and restore stays local until Save", async () => { + v2Responses = [{ ok: true, body: { + enabled: true, + multiAgentMode: "v2", + multiAgentModeHintText: "custom policy", + multiAgentModeHintRecommendation: recommendation, + } }]; + await mount(); + + const editor = container.querySelector(".swi-ultra-mode-editor"); + const textarea = editor?.querySelector("textarea") as HTMLTextAreaElement | null; + const restore = Array.from(editor?.querySelectorAll("button") ?? []) + .find(button => button.textContent?.trim() === "Restore preset"); + const save = Array.from(editor?.querySelectorAll("button") ?? []) + .find(button => button.textContent?.trim() === "Save"); + + expect(textarea?.value).toBe("custom policy"); + expect(requests.filter(item => item.init?.method === "PUT")).toHaveLength(0); + + await act(async () => { (restore as HTMLButtonElement).click(); }); + expect(textarea?.value).toBe(recommendation.text); + expect(requests.filter(item => item.init?.method === "PUT")).toHaveLength(0); + + await act(async () => { (save as HTMLButtonElement).click(); }); + const put = requests.find(item => item.init?.method === "PUT" && new URL(item.url, "http://localhost/").pathname === "/api/v2"); + expect(JSON.parse(String(put?.init?.body))).toEqual({ multiAgentModeHintText: recommendation.text }); }); -test("uses the complete canonical proactive delegation preset", () => { - expect(ULTRA_MODE_PRESET).toBe([ - "Proactive multi-agent delegation is active.", - "Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies.", - "Delegate independent sub-tasks to sub-agents whenever parallel work would materially improve speed or quality — do not serialize work that can run concurrently.", - "Each sub-agent runs in its own context and can use all available tools; prefer spawning specialists over doing everything yourself.", - "This mode remains active until a later multi-agent mode developer message changes it.", - ].join(" ")); +test.each([ + ["missing", undefined], + ["malformed", { text: "", revision: "b1" }], + ["valid", { text: "server-B policy", revision: "b1" }], +] as const)("server switches cannot install or restore another server's preset (%s)", async (_kind, nextRecommendation) => { + let releaseNext!: (value: Response) => void; + const nextRead = new Promise<Response>(resolve => { releaseNext = resolve; }); + const nextState = { + enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null, + multiAgentModeHintRecommendation: nextRecommendation, + }; + Object.defineProperty(globalThis, "fetch", { + configurable: true, + value: async (url: string, init?: RequestInit) => { + requests.push({ url: String(url), init }); + const path = new URL(String(url), "http://localhost/").pathname; + if (path === "/old/api/v2") return response({ + enabled: true, multiAgentMode: "v2", multiAgentModeHintText: "custom-A policy", + multiAgentModeHintRecommendation: recommendation, + }); + if (path === "/new/api/v2") return init?.method === "PUT" ? response(nextState) : nextRead; + if (path.endsWith("/api/subagent-models")) return response({ available: [], chosen: [] }); + if (path.endsWith("/api/subagent-model-fallback")) return response({ available: [], models: [], pollMs: 60_000 }); + if (path.endsWith("/api/injection-model")) return response({ available: [], efforts: [] }); + return response({}); + }, + }); + await mount("/old"); + expect(container.querySelector<HTMLTextAreaElement>(".swi-ultra-mode-editor textarea")?.value).toBe("custom-A policy"); + await act(async () => { root!.render(<LanguageProvider><Subagents apiBase="/new" /></LanguageProvider>); }); + + expect(ultraSwitch().disabled).toBe(true); + expect(container.querySelector(".swi-ultra-mode-editor")).toBeNull(); + await act(async () => { ultraSwitch().click(); }); + expect(requests.filter(item => item.init?.method === "PUT")).toHaveLength(0); + + await act(async () => { releaseNext(response(nextState)); await nextRead; }); + const valid = Boolean(nextRecommendation?.text); + expect(ultraSwitch().disabled).toBe(!valid); + await act(async () => { ultraSwitch().click(); }); + const puts = requests.filter(item => item.init?.method === "PUT"); + if (valid) { + expect(puts).toHaveLength(1); + expect(puts[0]?.url).toBe("/new/api/v2"); + expect(JSON.parse(String(puts[0]?.init?.body))).toEqual({ multiAgentModeHintText: nextRecommendation!.text }); + } else { + expect(puts).toHaveLength(0); + } }); test("a save refresh from an old API server cannot overwrite a newer server", async () => { @@ -249,7 +282,7 @@ test("a save refresh from an old API server cannot overwrite a newer server", as if (path === "/old/api/v2") { if (init?.method === "PUT") return response({ ok: true }); oldGets++; - if (oldGets === 1) return response({ enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null }); + if (oldGets === 1) return response({ enabled: true, multiAgentMode: "v2", multiAgentModeHintText: null, multiAgentModeHintRecommendation: recommendation }); return oldRefresh; } if (path === "/new/api/v2") return response({ enabled: false, multiAgentMode: "default", multiAgentModeHintText: null }); @@ -276,212 +309,10 @@ test("a save refresh from an old API server cannot overwrite a newer server", as expect(ultraSwitch().disabled).toBe(true); await act(async () => { - releaseOldRefresh(response({ enabled: true, multiAgentMode: "v2", multiAgentModeHintText: ULTRA_MODE_PRESET })); + releaseOldRefresh(response({ enabled: true, multiAgentMode: "v2", multiAgentModeHintText: recommendation.text, multiAgentModeHintRecommendation: recommendation })); await oldRefresh; await new Promise(resolve => setTimeout(resolve, 10)); }); expect(ultraSwitch().disabled).toBe(true); expect(ultraSwitch().getAttribute("aria-pressed")).toBe("false"); }); - -test("hydrates native parent override off and filters canonical ChatGPT rows", async () => { - injectionAvailable = [ - { provider: "openai", model: "gpt-5.6-luna", namespaced: "gpt-5.6-luna", canonical: true }, - { provider: "alias", model: "parent-model", namespaced: "alias/parent-model", canonical: true }, - { provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }, - ]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: null, active: false }, - } }, { ok: true, body: { enabled: true, multiAgentMode: "v2", keepNativeChatGptOnV1: false } }]; - await mount(); - - expect(nativeParentSwitch().getAttribute("aria-pressed")).toBe("false"); - expect(container.textContent).not.toContain("alias/parent-model"); - await act(async () => { nativeParentSelect().click(); }); - const options = [...testWindow.document.querySelectorAll('[role="option"]')]; - expect(options).toHaveLength(2); - expect(options.map(option => option.textContent).join(" ")).toContain("parent-model"); - expect(options.map(option => option.textContent).join(" ")).not.toContain("gpt-5.6-luna"); -}); - -test("persists a routed target while disabled with a complete atomic payload", async () => { - injectionAvailable = [{ provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: null, active: false }, - } }]; - await mount(); - - await act(async () => { nativeParentSelect().click(); }); - const option = [...testWindow.document.querySelectorAll<HTMLButtonElement>('[role="option"]')] - .find(candidate => candidate.textContent?.includes("parent-model")); - expect(option).toBeTruthy(); - await act(async () => { option!.click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - - expect(nativeParentPuts()).toContainEqual({ enabled: false, model: "relay/parent-model" }); - expect(nativeParentSwitch().getAttribute("aria-pressed")).toBe("false"); -}); - -test("enables native parent routing with the selected model atomically", async () => { - injectionAvailable = [{ provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: "relay/parent-model", active: false }, - } }, { ok: true, body: { enabled: true, multiAgentMode: "v2", keepNativeChatGptOnV1: false } }]; - await mount(); - - expect(nativeParentSwitch().disabled).toBe(false); - await act(async () => { nativeParentSwitch().click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - - expect(nativeParentPuts()).toContainEqual({ enabled: true, model: "relay/parent-model" }); - expect(nativeParentSwitch().getAttribute("aria-pressed")).toBe("true"); -}); - -test("rolls back the native parent controls after a failed update", async () => { - injectionAvailable = [ - { provider: "relay", model: "first-model", namespaced: "relay/first-model" }, - { provider: "relay", model: "second-model", namespaced: "relay/second-model" }, - ]; - nativeOverridePutError = "native parent target rejected"; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: "relay/first-model", active: false }, - } }]; - await mount(); - - await act(async () => { nativeParentSelect().click(); }); - const option = [...testWindow.document.querySelectorAll<HTMLButtonElement>('[role="option"]')] - .find(candidate => candidate.textContent?.includes("second-model")); - await act(async () => { option!.click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - - expect(nativeParentSelect().textContent).toContain("first-model"); - expect(container.textContent).toContain("native parent target rejected"); -}); - -test("uses the post-save GET as the source of truth", async () => { - injectionAvailable = [ - { provider: "relay", model: "first-model", namespaced: "relay/first-model" }, - { provider: "relay", model: "server-model", namespaced: "relay/server-model" }, - ]; - nativeOverrideAfterPut = { model: "relay/server-model", enabled: false, active: false }; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: "relay/first-model", active: false }, - } }, { ok: true, body: { enabled: true, multiAgentMode: "v2", keepNativeChatGptOnV1: false } }]; - await mount(); - - await act(async () => { nativeParentSelect().click(); }); - const option = [...testWindow.document.querySelectorAll<HTMLButtonElement>('[role="option"]')] - .find(candidate => candidate.textContent?.includes("first-model")); - await act(async () => { option!.click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - - expect(nativeParentSelect().textContent).toContain("server-model"); - expect(nativeParentSelect().textContent).not.toContain("first-model"); -}); - -test("gates activation on the explicit V2 and keep-native state while preserving accessibility", async () => { - injectionAvailable = [{ provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: true, - v2NativeParentOverride: { enabled: false, model: "relay/parent-model", active: false }, - } }]; - await mount(); - - expect(nativeParentSwitch().disabled).toBe(true); - expect(nativeParentSwitch().getAttribute("aria-pressed")).toBe("false"); - expect(nativeParentSelect().getAttribute("aria-label")).toBe("Native parent target model"); - expect(container.textContent).toContain("Requires explicit V2"); - expect(container.textContent).toContain("repository context"); -}); - -test("shows inactive guidance when the upstream V2 flag is off", async () => { - injectionAvailable = [{ provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }]; - v2Responses = [{ ok: true, body: { - enabled: false, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: "relay/parent-model", active: false }, - } }]; - await mount(); - - expect(nativeParentSwitch().disabled).toBe(true); - expect(container.textContent).toContain("Requires explicit V2"); -}); - -test("keeps deactivation available for a persisted enabled but inactive conflict", async () => { - injectionAvailable = [{ provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "default", - keepNativeChatGptOnV1: true, - v2NativeParentOverride: { enabled: true, model: "relay/parent-model", active: false }, - } }]; - await mount(); - - expect(nativeParentSwitch().disabled).toBe(false); - expect(nativeParentSwitch().getAttribute("aria-pressed")).toBe("true"); - await act(async () => { nativeParentSwitch().click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - expect(nativeParentPuts()).toContainEqual({ enabled: false, model: "relay/parent-model" }); -}); - -test("clearing the selected model atomically disables native parent routing", async () => { - injectionAvailable = [{ provider: "relay", model: "parent-model", namespaced: "relay/parent-model" }]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: true, model: "relay/parent-model", active: true }, - } }]; - await mount(); - - await act(async () => { nativeParentSelect().click(); }); - const none = [...testWindow.document.querySelectorAll<HTMLButtonElement>('[role="option"]')] - .find(candidate => candidate.textContent?.trim() === "None"); - expect(none).toBeTruthy(); - await act(async () => { none!.click(); }); - await act(async () => { await new Promise(resolve => setTimeout(resolve, 20)); }); - - expect(nativeParentPuts()).toContainEqual({ enabled: false, model: null }); -}); - -test("ignores rapid native parent mutations while one save is pending", async () => { - injectionAvailable = [ - { provider: "relay", model: "first-model", namespaced: "relay/first-model" }, - { provider: "relay", model: "second-model", namespaced: "relay/second-model" }, - ]; - v2Responses = [{ ok: true, body: { - enabled: true, - multiAgentMode: "v2", - keepNativeChatGptOnV1: false, - v2NativeParentOverride: { enabled: false, model: "relay/first-model", active: false }, - } }]; - await mount(); - - await act(async () => { nativeParentSelect().click(); }); - const second = [...testWindow.document.querySelectorAll<HTMLButtonElement>('[role="option"]')] - .find(candidate => candidate.textContent?.includes("second-model")); - await act(async () => { - second!.click(); - nativeParentSwitch().click(); - }); - - expect(nativeParentPuts()).toEqual([{ enabled: false, model: "relay/second-model" }]); -}); diff --git a/gui/tests/usage-custom-range.test.tsx b/gui/tests/usage-custom-range.test.tsx index cbd85847bb0..ea4e98e51c3 100644 --- a/gui/tests/usage-custom-range.test.tsx +++ b/gui/tests/usage-custom-range.test.tsx @@ -1,11 +1,11 @@ import { afterEach, beforeEach, expect, test } from "bun:test"; import { Window } from "happy-dom"; +import { resolve } from "node:path"; import { act } from "react"; import type { Root } from "react-dom/client"; import { LanguageProvider } from "../src/i18n/provider"; import { clearClientResourceStoresForTests } from "../src/client-resource"; import Usage from "../src/pages/Usage"; -import { formatCalendarDate } from "../src/usage-calendar-series"; const globals = ["document", "window", "navigator", "localStorage", "sessionStorage", "ResizeObserver", "IS_REACT_ACT_ENVIRONMENT"] as const; const originalFetch = globalThis.fetch; @@ -19,9 +19,6 @@ type RequestGate = { url: string; resolve: (response: Response) => void }; let requests: RequestGate[]; beforeEach(() => { - since = new Date(2020, 8, 15, 10, 20, 0, 0).getTime(); - until = new Date(2020, 8, 15, 10, 21, 59, 999).getTime(); - boundsQuery = `since=${since}&until=${until}`; previousGlobals = Object.fromEntries(globals.map(key => [key, Reflect.get(globalThis, key)])) as typeof previousGlobals; clearClientResourceStoresForTests(); testWindow = new Window({ url: "http://localhost/" }); @@ -88,10 +85,13 @@ async function respond(index: number, marker: string, date?: string) { await act(async () => { requests[index].resolve(Response.json(report(requests[index], marker, date))); }); } +const toggle = () => container.querySelector<HTMLButtonElement>(".usage-range-toggle")!; const form = () => container.querySelector<HTMLFormElement>('form[aria-label="Custom date range"]')!; const startInput = () => form().querySelectorAll<HTMLInputElement>('input[type="datetime-local"]')[0]; const endInput = () => form().querySelectorAll<HTMLInputElement>('input[type="datetime-local"]')[1]; -const interval = () => form().querySelector('[role="status"]')?.textContent; +// The applied interval lives beside the trigger rather than inside the panel: collapsing the +// controls must not hide which window the totals cover. +const interval = () => container.querySelector('.usage-range-bar [role="status"]')?.textContent; const error = () => form().querySelector('[role="alert"]')?.textContent; const preset = (name: string) => container.querySelector<HTMLButtonElement>(`button.usage-segmented-btn[aria-label="${name}"]`)!; @@ -100,7 +100,13 @@ async function click(button: HTMLButtonElement) { await act(async () => { button.click(); }); } +// The date fields are behind a closed-by-default disclosure, so every draft starts by opening it. +async function openRange() { + if (toggle().getAttribute("aria-expanded") !== "true") await click(toggle()); +} + async function enter(start: string, end: string) { + await openRange(); await act(async () => { for (const [input, value] of [[startInput(), start], [endInput(), end]] as const) { Object.getOwnPropertyDescriptor(testWindow.HTMLInputElement.prototype, "value")!.set!.call(input, value); @@ -112,9 +118,9 @@ async function enter(start: string, end: string) { const apply = () => click(form().querySelector<HTMLButtonElement>('button[type="submit"]')!); const clear = () => click(form().querySelector<HTMLButtonElement>('button[type="button"]')!); -let since: number; -let until: number; -let boundsQuery: string; +const since = new Date(2020, 8, 15, 10, 20, 0, 0).getTime(); +const until = new Date(2020, 8, 15, 10, 21, 59, 999).getTime(); +const boundsQuery = `since=${since}&until=${until}`; function sessionEntries() { return Array.from({ length: sessionStorage.length }, (_, index) => { @@ -158,31 +164,49 @@ for (const connected of [false, true]) { } test("America/Santiago midnight DST retains final-day activity and tooltip", async () => { - const previous = process.env.TZ; - process.env.TZ = "America/Santiago"; - try { - expect(new Date(2026, 8, 6, 0).getHours()).toBe(1); - await mount(); - await respond(0, "preset-marker"); - await enter("2026-09-05T00:00", "2026-09-07T23:59"); - await apply(); - const gate = requests.at(-1)!; - const data = report(gate, "santiago-marker", "2026-09-07"); - data.days = ["2026-09-05", "2026-09-06", "2026-09-07"].map(date => ({ - date, requests: date === "2026-09-07" ? 7 : 0, measuredRequests: 0, reportedRequests: 0, - totalTokens: date === "2026-09-07" ? 700 : 0, models: [], - })); - await act(async () => gate.resolve(Response.json(data))); - const active = container.querySelector<HTMLElement>('.heatmap-grid .heatmap-cell:not(.heatmap-cell-0)'); - expect(active).not.toBeNull(); - await act(async () => active!.focus()); - expect(document.querySelector(".heatmap-tip-date")?.textContent).toBe(formatCalendarDate("2026-09-07", "en")); - expect(document.querySelector(".heatmap-tip")?.textContent).toContain("700"); - } finally { - if (previous === undefined) delete process.env.TZ; - else process.env.TZ = previous; + if (process.env.OCX_USAGE_SANTIAGO_CHILD !== "1") { + // Restoring an absent TZ can change Bun's effective timezone on Windows. + // Start the DST case in its timezone without mutating this suite's clock. + const timezone = { present: Object.hasOwn(process.env, "TZ"), value: process.env.TZ }; + const localTime = new Date(2020, 8, 15, 10, 20).getTime(); + const child = Bun.spawnSync([ + process.execPath, "test", import.meta.path, + "-t", "^America/Santiago midnight DST retains final-day activity and tooltip$", + "--timeout", "10000", + ], { + cwd: resolve(import.meta.dir, ".."), + env: { ...process.env, TZ: "America/Santiago", OCX_USAGE_SANTIAGO_CHILD: "1" }, + stdout: "pipe", stderr: "pipe", timeout: 12000, killSignal: "SIGKILL", + }); + const diagnostics = `${child.stdout.toString()}\n${child.stderr.toString()}`; + expect(child.exitedDueToTimeout, diagnostics).not.toBe(true); + expect(child.signalCode, diagnostics).toBeUndefined(); + expect(child.exitCode, diagnostics).toBe(0); + expect(child.stdout.toString().split(/\r?\n/), diagnostics).toContain("OCX_SANTIAGO_CASE_COMPLETED"); + expect({ present: Object.hasOwn(process.env, "TZ"), value: process.env.TZ }).toEqual(timezone); + expect(new Date(2020, 8, 15, 10, 20).getTime()).toBe(localTime); + return; } -}); + expect(process.env.TZ).toBe("America/Santiago"); + expect(new Date(2026, 8, 6, 0).getHours()).toBe(1); + await mount(); + await respond(0, "preset-marker"); + await enter("2026-09-05T00:00", "2026-09-07T23:59"); + await apply(); + const gate = requests.at(-1)!; + const data = report(gate, "santiago-marker", "2026-09-07"); + data.days = ["2026-09-05", "2026-09-06", "2026-09-07"].map(date => ({ + date, requests: date === "2026-09-07" ? 7 : 0, measuredRequests: 0, reportedRequests: 0, + totalTokens: date === "2026-09-07" ? 700 : 0, models: [], + })); + await act(async () => gate.resolve(Response.json(data))); + const active = container.querySelector<HTMLElement>('.heatmap-grid .heatmap-cell:not(.heatmap-cell-0)'); + expect(active).not.toBeNull(); + await act(async () => active!.dispatchEvent(new testWindow.MouseEvent("mouseover", { bubbles: true }))); + expect(container.querySelector(".heatmap-tip-date")?.textContent).toBe("2026-09-07"); + expect(container.querySelector(".heatmap-tip")?.textContent).toContain("700"); + if (process.env.OCX_USAGE_SANTIAGO_CHILD === "1") console.log("OCX_SANTIAGO_CASE_COMPLETED"); +}, process.env.OCX_USAGE_SANTIAGO_CHILD === "1" ? 10000 : 15000); test("Apply submits inclusive bounds once; Clear restores the held preset without custom cache entries", async () => { await mount(); @@ -210,10 +234,9 @@ test("Apply submits inclusive bounds once; Clear restores the held preset withou await act(async () => { await new Promise<void>(resolve => setTimeout(resolve, 0)); }); // A one-day historical window must not produce a year grid anchored to today's date. expect(container.querySelectorAll(".heatmap-grid .heatmap-cell")).toHaveLength(7); - const activeCell = container.querySelector<HTMLElement>(".heatmap-grid .heatmap-cell-1")!; - await act(async () => { activeCell.focus(); }); - expect(document.querySelector(".heatmap-tip-date")?.textContent).toBe(formatCalendarDate("2020-09-15", "en")); - expect(document.querySelector(".heatmap-tip")?.textContent).toContain(formatCalendarDate("2020-09-15", "en")); + const activeCell = container.querySelector(".heatmap-grid .heatmap-cell-1")!; + await act(async () => { activeCell.dispatchEvent(new testWindow.MouseEvent("mouseover", { bubbles: true })); }); + expect(container.querySelector('[role="tooltip"]')?.textContent).toContain("2020-09-15"); await enter("2020-09-16T10:20", "2020-09-16T10:21"); expect(interval()).toBe(appliedInterval); expect(requests).toHaveLength(2); @@ -343,3 +366,70 @@ test("each preset clears custom, including the retained preset; 7d never replace expect(container.querySelectorAll(".heatmap-grid .heatmap-cell")).toHaveLength(7); expect(preset("7d").getAttribute("aria-pressed")).toBe("false"); }); + +test("the range panel is closed until asked for, and collapsing it keeps the applied interval readable", async () => { + await mount(); + await respond(0, "preset-report-marker"); + // Closed is the default: a page that opens on a report should not also open on two empty + // date fields, and the collapsed panel must leave no tab stops behind. + expect(toggle().getAttribute("aria-expanded")).toBe("false"); + expect(toggle().textContent).toContain("Custom date range"); + expect(container.querySelector('form[aria-label="Custom date range"]')).toBeNull(); + expect(container.querySelectorAll('input[type="datetime-local"]')).toHaveLength(0); + expect(toggle().className).not.toContain("is-active"); + // Naming a panel that is not in the document would leave a dangling IDREF. + expect(toggle().hasAttribute("aria-controls")).toBe(false); + + await click(toggle()); + expect(toggle().getAttribute("aria-expanded")).toBe("true"); + expect(toggle().getAttribute("aria-controls")).toBe(form().id); + expect(container.querySelectorAll('input[type="datetime-local"]')).toHaveLength(2); + expect(requests).toHaveLength(1); + + await enter("2020-09-15T10:20", "2020-09-15T10:21"); + await apply(); + expect(requests[1].url).toBe(`${apiBase}/api/usage?range=30d&surface=all&${boundsQuery}`); + await respond(1, "custom-report-marker"); + const applied = interval(); + expect(applied).toContain("both inclusive"); + + // Collapsing hides the controls, never the state: the interval line and the marked trigger + // still say which window produced the numbers below. + await click(toggle()); + expect(toggle().getAttribute("aria-expanded")).toBe("false"); + expect(container.querySelectorAll('input[type="datetime-local"]')).toHaveLength(0); + expect(interval()).toBe(applied); + expect(toggle().className).toContain("is-active"); + expect(container.textContent).toContain("custom-report-marker"); + expect(requests).toHaveLength(2); + + // Reopening restores the draft that produced the applied window rather than empty fields. + await click(toggle()); + expect(startInput().value).toBe("2020-09-15T10:20"); + expect(endInput().value).toBe("2020-09-15T10:21"); + await clear(); + expect(interval()).toBeUndefined(); + expect(toggle().className).not.toContain("is-active"); + expect(startInput().value).toBe(""); +}); + +test("closing the panel retires a validation error instead of parking it out of sight", async () => { + await mount(); + await respond(0, "held-report-marker"); + await enter("2020-09-16T10:20", "2020-09-15T10:20"); + await apply(); + expect(error()).toContain("The end must"); + expect(startInput().getAttribute("aria-invalid")).toBe("true"); + expect(startInput().getAttribute("aria-describedby")).toBe("usage-range-help usage-range-error"); + + // The alert only means something beside the fields that produced it, so it does not outlive + // the panel — but the draft that produced it does. + await click(toggle()); + await click(toggle()); + expect(error()).toBeUndefined(); + expect(startInput().value).toBe("2020-09-16T10:20"); + expect(startInput().getAttribute("aria-invalid")).toBe("false"); + expect(startInput().getAttribute("aria-describedby")).toBe("usage-range-help"); + expect(requests).toHaveLength(1); + expect(container.textContent).toContain("held-report-marker"); +}); diff --git a/gui/tests/vision-sidecar-dashboard.test.tsx b/gui/tests/vision-sidecar-dashboard.test.tsx index 37bcf40d651..fd41cc89fd6 100644 --- a/gui/tests/vision-sidecar-dashboard.test.tsx +++ b/gui/tests/vision-sidecar-dashboard.test.tsx @@ -409,6 +409,75 @@ test("Desktop login switch defaults off, preserves explicit opt-in, and disables expect(host.textContent).toContain(en["codexAuth.catalogRefreshPending"]); }); +test("client compaction switch defaults off, preserves explicit opt-in, and invokes its handler", async () => { + const { d } = harness(); + let clicks = 0; + d.toggleCodexClientCompaction = async () => { clicks += 1; }; + d.settings = { codexAutoStart: true, port: 10100, hostname: "127.0.0.1" }; + await mount(d); + const toggle = () => host.querySelector<HTMLButtonElement>(`button[aria-label="${en["dash.codexClientCompaction"]}"]`)!; + expect(toggle().getAttribute("aria-pressed")).toBe("false"); + d.settings.codexClientCompaction = true; + await mount(d); + expect(toggle().getAttribute("aria-pressed")).toBe("true"); + await act(async () => { toggle().click(); }); + expect(clicks).toBe(1); +}); + +test("client compaction preference survives a successful save followed by sync failure", async () => { + const originalFetch = globalThis.fetch; + const writes: Array<{ path: string; body: unknown }> = []; + let latest: Dash | undefined; + let saved = false; + const apiBase = "/client-compaction-sync-failure"; + globalThis.fetch = (async (input: RequestInfo | URL, init?: RequestInit) => { + const path = String(input); + if (path.endsWith("/api/settings")) { + if (init?.method === "PUT") { + const body = JSON.parse(String(init.body)); + writes.push({ path, body }); + saved = body.codexClientCompaction; + return Response.json({ codexClientCompaction: saved, catalogRefreshPending: true }); + } + return Response.json({ + codexAutoStart: true, + codexClientCompaction: saved, + port: 10100, + hostname: "127.0.0.1", + }); + } + if (path.endsWith("/api/sync")) { + writes.push({ path, body: init?.body }); + return Response.json({ error: "sync unavailable" }, { status: 503 }); + } + return Response.json({}, { status: 503 }); + }) as typeof fetch; + function Harness() { + const data = useDashboardData(apiBase); + useEffect(() => { latest = data; }, [data]); + return null; + } + try { + const { createRoot } = await import("react-dom/client"); + await act(async () => { + root = createRoot(host); + root.render(<LanguageProvider><Harness /></LanguageProvider>); + }); + await act(async () => { await latest!.toggleCodexClientCompaction(); }); + expect(writes).toEqual([ + { path: `${apiBase}/api/settings`, body: { codexClientCompaction: true } }, + { path: `${apiBase}/api/sync`, body: undefined }, + ]); + expect(latest?.settings?.codexClientCompaction).toBe(true); + expect(latest?.settings?.catalogRefreshPending).toBe(true); + expect(latest?.syncError).toBe("sync unavailable"); + } finally { + await act(async () => { root?.unmount(); }); + root = null; + globalThis.fetch = originalFetch; + } +}); + test.each([undefined, false, true])("Desktop login preference %s persists before full sync; sync failure keeps the saved preference", async (initial) => { const originalFetch = globalThis.fetch; @@ -428,7 +497,7 @@ test.each([undefined, false, true])("Desktop login preference %s persists before return Response.json({ codexAutoStart: body.codexAutoStart, catalogRefreshPending: false }); } if (path.endsWith("/api/sync")) { - writes.push({ path, body: null }); + writes.push({ path, body: init?.body }); return Response.json({ error: "sync unavailable" }, { status: 503 }); } if (path.endsWith("/api/settings")) { @@ -451,7 +520,7 @@ test.each([undefined, false, true])("Desktop login preference %s persists before await act(async () => { await latest!.toggleCodexDesktopAuthless(); }); expect(writes).toEqual([ { path: `${apiBase}/api/settings`, body: { codexDesktopAuthless: !initial } }, - { path: `${apiBase}/api/sync`, body: null }, + { path: `${apiBase}/api/sync`, body: undefined }, ]); expect(latest?.settings?.codexDesktopAuthless).toBe(!initial); expect(latest?.syncError).toBe("sync unavailable"); diff --git a/package.json b/package.json index 1363d22b770..ccc88087d01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@yansigit/opencodex", - "version": "2.47.1", + "version": "2.49.0", "description": "Universal provider proxy for OpenAI Codex & Claude Code — use any LLM with Codex CLI/App/SDK and Claude Code", "type": "module", "main": "./bin/package-main.mjs", @@ -23,6 +23,8 @@ "assets/architecture.png", "assets/claude-code-models.gif", "assets/codex-app-picker.png", + "assets/sponsors/orcarouter.png", + "assets/sponsors/packycode.png", "README.md", "SPONSORS.md", "AGENTS_INSTALL.md", @@ -73,12 +75,12 @@ "@bufbuild/protobuf": "^2.14.0", "@modelcontextprotocol/sdk": "^1.30.0", "@napi-rs/keyring": "1.3.0", - "bun": "1.4.0", + "bun": "1.4.2", "zod": "4.4.3" }, "devDependencies": { "@anthropic-ai/sdk": "0.122.0", - "@types/bun": "1.4.0", + "@types/bun": "1.4.2", "typescript": "7.0.2" }, "optionalDependencies": { diff --git a/scripts/build-release-changelog.ts b/scripts/build-release-changelog.ts index 7a7a07ad68f..d9be0ba799d 100644 --- a/scripts/build-release-changelog.ts +++ b/scripts/build-release-changelog.ts @@ -17,6 +17,7 @@ import { parseGeneratedNotes, rewriteTakeoverCredits, sanitizeCommitText, + stripPrEnforcementPrefix, } from "./release-notes"; export type AssociatedPullRequest = { @@ -232,7 +233,7 @@ function renderReleaseNotes(input: { const commits = input.entries.filter((entry): entry is CommitChange => entry.kind === "commit"); for (const pr of prs) { - changelog.push(`- #${pr.number} ${pr.title.trim()} @${pr.author || "unknown"}`); + changelog.push(`- #${pr.number} ${stripPrEnforcementPrefix(pr.title)} @${pr.author || "unknown"}`); } for (const commit of commits) { const short = commit.sha.slice(0, 8); diff --git a/scripts/release-notes.ts b/scripts/release-notes.ts index a5a335eee2b..0b5a356f75f 100644 --- a/scripts/release-notes.ts +++ b/scripts/release-notes.ts @@ -547,8 +547,14 @@ export function parseGeneratedNotes(body: string): ReleaseNoteCategory[] { const CONVENTIONAL_COMMIT_PREFIX = /^(?:feat|fix|docs|chore|refactor|perf|test|build|ci|style|revert|merge|release)(?:\(([^)]+)\))?:\s*(.+)$/i; +export function stripPrEnforcementPrefix(title: string): string { + const text = title.trim(); + const prefix = "[WRONG BRANCH] "; + return text.startsWith(prefix) ? text.slice(prefix.length).trim() : text; +} + export function cleanPrTitle(title: string, prNumber: number | null = null): { scope: string | null; text: string } { - let text = title.trim(); + let text = stripPrEnforcementPrefix(title); let scope: string | null = null; const prefix = CONVENTIONAL_COMMIT_PREFIX.exec(text); if (prefix) { @@ -690,7 +696,7 @@ export function renderReleaseNotes(input: { changelog.push(`Full Changelog: https://github.com/${repo}/compare/${from}...${to}`, ""); } for (const pr of allPrs) { - changelog.push(`- #${pr.number} ${pr.title.trim()} @${pr.author}`); + changelog.push(`- #${pr.number} ${stripPrEnforcementPrefix(pr.title)} @${pr.author}`); } parts.push(changelog.join("\n")); } diff --git a/scripts/test-layout/layout.json b/scripts/test-layout/layout.json index 766d24d5f19..8587431f7d5 100644 --- a/scripts/test-layout/layout.json +++ b/scripts/test-layout/layout.json @@ -112,9 +112,6 @@ "^(?:desktop|omp|pi|prime|remote|sync)-" ] }, - "fork": { - "match": [] - }, "service": { "match": [ "^(?:autostart|crash|doctor|init|service|service\\.test\\.ts|shutdown|stale|stop|systemd|winsw\\.test\\.ts)-" @@ -167,40 +164,12 @@ } }, "explicit": { - "auto-release-workflow.test.ts": "fork", - "core-fork-preservation.test.ts": "responses", - "dev-auto-release-workflow.test.ts": "fork", - "dev-promotion-workflow.test.ts": "fork", - "promotion-backmerge.test.ts": "fork", - "register.test.ts": "fork", - "release-candidate-publish-workflow.test.ts": "fork", - "release-candidate-workflow.test.ts": "fork", - "release-pr-workflow.test.ts": "fork", - "sync-cli.test.ts": "fork", - "sync-contained.test.ts": "fork", - "sync-detect.test.ts": "fork", - "sync-generic-cli.test.ts": "fork", - "sync-generic-http.test.ts": "fork", - "sync-lane.test.ts": "fork", - "sync-notify.test.ts": "fork", - "sync-overlap.test.ts": "fork", - "sync-ownership.test.ts": "fork", - "sync-pin.test.ts": "fork", - "sync-pr-mergeable.test.ts": "fork", - "sync-prepare.test.ts": "fork", - "sync-preservation.test.ts": "fork", - "sync-publish.test.ts": "fork", - "sync-pull-request.test.ts": "fork", - "sync-vendor-atomic.test.ts": "fork", - "sync-webhook.test.ts": "fork", - "sync-workflow.test.ts": "fork", "abort-idle-deadline.test.ts": "lib", "abort-race.test.ts": "adapters", "account-import.test.ts": "server", "account-pool-management-api.test.ts": "server", "acl-error-classification.test.ts": "lib", "active-registry-admission.test.ts": "codex-integration", - "actionlint-runner.test.ts": "ci-workflows", "adapter-buffered-tool-conformance.test.ts": "adapters", "adapter-error-inline.test.ts": "adapters", "adapter-event-oauth-failover.test.ts": "oauth", @@ -209,7 +178,6 @@ "adapter-tool-conformance.test.ts": "adapters", "adapter-usage.test.ts": "adapters", "agent-driven.test.ts": "cli", - "agent-roles-sync.test.ts": "routing", "agent-task-recovery-cache.test.ts": "server", "agent-task-recovery-combo.test.ts": "server", "agent-task-recovery-fallback.test.ts": "server", @@ -254,6 +222,7 @@ "api-codex-log-guard.test.ts": "server", "api-debug.test.ts": "server", "api-key-attribution.test.ts": "server", + "api-key-selection-capture.test.ts": "providers", "api-keys-routes.test.ts": "server", "api-storage-cleanup.test.ts": "storage", "api-storage-policy-already-running.test.ts": "storage", @@ -269,22 +238,17 @@ "artifacts-ssrf.test.ts": "images", "aside-client.test.ts": "providers", "aside-profile-identity.test.ts": "clients", + "aside-profile-paths.test.ts": "clients", + "aside-profile-sync-owner.test.ts": "clients", + "aside-profiles-routes.test.ts": "server", + "aside-profiles.test.ts": "clients", "assert-mergeable-review.test.ts": "ci-workflows", - "aistudio-bridge-endpoint.test.ts": "adapters/google", - "aistudio-credentials.test.ts": "adapters/google", - "aistudio-extension.test.ts": "adapters/google", - "aistudio-login-cli.test.ts": "adapters/google", - "aistudio-login-flow.test.ts": "adapters/google", - "aistudio-native-webkit.test.ts": "adapters/google", - "aistudio-session-sync.test.ts": "adapters/google", - "audit-high.test.ts": "ci-workflows", "auto-compact-budget.test.ts": "providers", "autostart-health.test.ts": "service", "azure-adapter.test.ts": "providers", "azure-model-router-tool-schema.test.ts": "providers", "baseten-provider.test.ts": "providers", "bearer-admission-routed-provider.test.ts": "codex-integration", - "benchmark-claude-tokens-script.test.ts": "claude-integration", "bounded-body.test.ts": "server", "bridge-legacy-shell-normalization.test.ts": "adapters", "bridge-lifecycle.test.ts": "adapters", @@ -301,6 +265,9 @@ "bun-stream-caps.test.ts": "lib", "cancel-body-on-abort.test.ts": "server", "catalog-cursor-search.test.ts": "codex-integration", + "catalog-full-picker-order.test.ts": "codex-integration", + "catalog-go-exact-efforts.test.ts": "codex-integration", + "catalog-hub-context-window.test.ts": "codex-integration", "catalog-input-modality-enum.test.ts": "codex-integration", "catalog-llamacpp-capabilities.test.ts": "codex-integration", "catalog-oauth-observation.test.ts": "codex-integration", @@ -313,7 +280,6 @@ "chatgpt-device-auth.test.ts": "oauth", "chatgpt-oauth.test.ts": "oauth", "chatgpt-token-expiry.test.ts": "oauth", - "check-hygiene.test.ts": "ci-workflows", "chutes-provider.test.ts": "providers", "ci-workflows.test.ts": "ci-workflows", "citation-markers.test.ts": "responses", @@ -328,20 +294,16 @@ "claude-auth-mode.test.ts": "claude-integration", "claude-authmode-migration.test.ts": "claude-integration", "claude-cli.test.ts": "claude-integration", - "claude-certification.test.ts": "claude-integration", - "claude-client-version.test.ts": "claude-integration", - "claude-code-compatibility-manifest.test.ts": "claude-integration", "claude-code-thought-signature-scope.test.ts": "claude-integration", "claude-compatibility.test.ts": "claude-integration", "claude-context-windows.test.ts": "claude-integration", "claude-desktop-1m.test.ts": "claude-integration", "claude-desktop-cli.test.ts": "claude-integration", "claude-desktop-config-path.test.ts": "claude-integration", + "claude-desktop-discovery.test.ts": "claude-integration", "claude-desktop-native-context.test.ts": "claude-integration", "claude-desktop-policy.test.ts": "claude-integration", - "claude-directive-auth.test.ts": "claude-integration", - "claude-directive-fallback.test.ts": "claude-integration", - "claude-directive-lifecycle.test.ts": "claude-integration", + "claude-desktop-remote-hub.test.ts": "claude-integration", "claude-dotenv-provenance-transport.test.ts": "claude-integration", "claude-gateway-cache.test.ts": "claude-integration", "claude-inbound-debug.test.ts": "claude-integration", @@ -353,14 +315,10 @@ "claude-models-discovery.test.ts": "claude-integration", "claude-native-passthrough.test.ts": "claude-integration", "claude-outbound.test.ts": "claude-integration", - "claude-reasoning-roundtrip.test.ts": "claude-integration", - "claude-route-callback.test.ts": "claude-integration", - "claude-session.test.ts": "claude-integration", "claude-shell-hook.test.ts": "claude-integration", "claude-sidecar-override.test.ts": "claude-integration", "claude-source-envelope.test.ts": "claude-integration", "claude-system-env-auto.test.ts": "claude-integration", - "claude-token-benchmark.test.ts": "claude-integration", "cleanup-orphaned-workflows.test.ts": "ci-workflows", "clearable-deadline.test.ts": "lib", "cli-account-pool-verbs.test.ts": "cli", @@ -380,6 +338,7 @@ "cli-help.test.ts": "cli", "cli-json-contract.test.ts": "cli", "cli-management-auth.test.ts": "cli", + "cli-models-price.test.ts": "cli", "cli-models-reasoning.test.ts": "cli", "cli-models-runtime-dispatch.test.ts": "cli", "cli-models.test.ts": "cli", @@ -404,12 +363,16 @@ "client-export-modality-enum.test.ts": "clients", "client-fingerprint.test.ts": "clients", "client-hub-relay.test.ts": "clients", + "client-injection-guard.test.ts": "codex-integration", + "client-lifecycle-lock.test.ts": "clients", "client-machine-listener.test.ts": "clients", "cline-pass-deepseek-v4-tool-replay.test.ts": "providers", "cline-pass-provider.test.ts": "providers", "cline-pass-reasoning-efforts.test.ts": "providers", "cline-provider.test.ts": "providers", "closed-pr-branch-cleanup.test.ts": "ci-workflows", + "codebuddy-adapter.test.ts": "providers", + "codebuddy-protocol.test.ts": "providers", "codex-account-delete-atomicity.test.ts": "codex-integration", "codex-account-label.test.ts": "codex-integration", "codex-account-mode-state.test.ts": "gui", @@ -497,11 +460,10 @@ "codex-prompt-lock.test.ts": "codex-integration", "codex-prompt-route.test.ts": "codex-integration", "codex-prompt-text-probe.test.ts": "codex-integration", - "codex-quota-parser-parity.test.ts": "codex-integration", - "codex-quota-auto-refresh.test.ts": "codex-integration", "codex-quota-auto-refresh-main-admission.test.ts": "codex-integration", + "codex-quota-auto-refresh.test.ts": "codex-integration", + "codex-quota-parser-parity.test.ts": "codex-integration", "codex-quota-prime.test.ts": "codex-integration", - "codex-quota.test.ts": "providers", "codex-quota-rejection.test.ts": "codex-integration", "codex-refresh.test.ts": "codex-integration", "codex-reset-credit-auto-redeem.test.ts": "codex-integration", @@ -557,7 +519,6 @@ "container-bootstrap.test.ts": "service", "context-cap-unknown-window.test.ts": "providers", "continuation-dedup.test.ts": "responses", - "conversation-progress.test.ts": "usage", "core-lab-boundary.test.ts": "lab", "cost-cap-unknown-evidence.test.ts": "usage", "cost-scoring.test.ts": "usage", @@ -643,6 +604,7 @@ "desktop-3p.test.ts": "clients", "desktop-app-restart.test.ts": "clients", "desktop-profile.test.ts": "clients", + "desktop-remote-store.test.ts": "clients", "destination-policy-resolved.test.ts": "routing", "digitalocean-scaleway-provider.test.ts": "providers", "docs-429-failover-claims.test.ts": "ci-workflows", @@ -661,12 +623,12 @@ "empty-completion-guard.test.ts": "responses", "empty-completion-hardening.test.ts": "responses", "empty-tool-output-annotation.test.ts": "adapters", - "exec-tool-result-normalize.test.ts": "adapters", "ensure-desired-integrations-race.test.ts": "cli", "error-fidelity.test.ts": "server", "errors-adapter-failure.test.ts": "server", "eventstream-decoder.test.ts": "responses", "exa-web-search.test.ts": "providers", + "exec-tool-result-normalize.test.ts": "adapters", "expand-user-path.test.ts": "config", "fast-row-ingress.test.ts": "providers", "fast-row-listing.test.ts": "codex-integration", @@ -729,10 +691,13 @@ "gui-static.test.ts": "gui", "health-scoring.test.ts": "server", "history-migration-guardian.test.ts": "codex-integration", + "history-ocx-compaction-recovery.test.ts": "codex-integration", "hyperbolic-provider.test.ts": "providers", "identity-neutralize.test.ts": "adapters", "init-backup-cleanup.test.ts": "service", "init-eof.test.ts": "service", + "initial-model-selection.test.ts": "providers", + "initial-selection-write-fence.test.ts": "providers", "injection-model-api.test.ts": "codex-integration", "input-admission.test.ts": "server", "install-scripts.test.ts": "ci-workflows", @@ -784,6 +749,7 @@ "lab-evidence-sanitization.test.ts": "lab", "lab-fabric-outcome-validation.test.ts": "lab", "lab-fabric-persistence-boundary.test.ts": "lab", + "lab-fabric-producer-deadline.test.ts": "lab", "lab-fabric-task.test.ts": "lab", "lab-installation-salt-cache.test.ts": "lab", "lab-ledger-mutation-lock.test.ts": "lab", @@ -818,10 +784,6 @@ "lab-public-wire-contract.test.ts": "lab", "lab-read-filter-validation.test.ts": "lab", "lab-read-surfaces.test.ts": "lab", - "live-inference-workflow.test.ts": "ci-workflows", - "live-smoke-ci.test.ts": "ci-workflows", - "live-smoke-cli.test.ts": "ci-workflows", - "live-smoke-report.test.ts": "ci-workflows", "legacy-shell-compat.test.ts": "responses", "local-management-attestation.test.ts": "server", "local-management-capability.test.ts": "server", @@ -829,19 +791,19 @@ "local-provider-reload-client.test.ts": "server", "local-token-detect.test.ts": "oauth", "logs-model-tier-confirmation.test.ts": "gui", - "logs-filter.test.ts": "gui", "logs-timezone.test.ts": "server", "loop-reasoning-replay.test.ts": "images", "loop.test.ts": "images", "loopback-listener-admission.test.ts": "server", "loopback-listener-integration.test.ts": "server", - "management-api-logs-metrics.test.ts": "server", + "macos-serial-lanes.test.ts": "ci-workflows", "main-account-hard-lock-auth.test.ts": "codex-integration", "main-account-hard-lock-policy.test.ts": "codex-integration", "main-account-hard-lock-recovery.test.ts": "codex-integration", "main-quota-evidence-validation.test.ts": "codex-integration", "main-quota-provenance.test.ts": "codex-integration", "main-quota-window-observation.test.ts": "codex-integration", + "management-api-logs-metrics.test.ts": "server", "management-client-config-route.test.ts": "server", "management-integration-journal-delete.test.ts": "server", "management-integration-routes.test.ts": "server", @@ -858,13 +820,17 @@ "minimax-reasoning-split.test.ts": "providers", "model-cache-generation-tombstone.test.ts": "codex-integration", "model-cache.test.ts": "codex-integration", + "model-costs-management-api.test.ts": "server", "model-discovery-management-api.test.ts": "server", "model-display-names-management-api.test.ts": "codex-integration", - "model-metadata-resolver.test.ts": "codex-integration", "model-metadata-sync.test.ts": "codex-integration", + "model-pinned-effort-config.test.ts": "config", + "model-pinned-effort.test.ts": "codex-integration", "model-presets.test.ts": "providers", "model-rename-migration.test.ts": "providers", + "model-selection-guidance.test.ts": "cli", "model-visibility-management-api.test.ts": "codex-integration", + "models-feedback-callback.test.ts": "gui", "models-page-groups.test.ts": "gui", "models-workspace-tabs.test.ts": "gui", "moonshot-endpoints.test.ts": "providers", @@ -897,9 +863,6 @@ "native-profile-startup.test.ts": "codex-integration", "native-profile-store.test.ts": "codex-integration", "new-model-policy.test.ts": "providers", - "initial-model-selection.test.ts": "providers", - "initial-selection-write-fence.test.ts": "providers", - "model-selection-guidance.test.ts": "cli", "nous-oauth-live.test.ts": "providers", "nous-oauth.test.ts": "providers", "novita-provider.test.ts": "providers", @@ -911,7 +874,6 @@ "oauth-callback-binds.test.ts": "oauth", "oauth-callback-server.test.ts": "oauth", "oauth-device-code-contract.test.ts": "oauth", - "oauth-failover-optout-security.test.ts": "oauth", "oauth-first-add-hint.test.ts": "gui", "oauth-health.test.ts": "oauth", "oauth-log.test.ts": "oauth", @@ -929,7 +891,6 @@ "oauth-status-privacy.test.ts": "oauth", "oauth-store-multi.test.ts": "oauth", "oauth-tos-warning.test.ts": "gui", - "oauth-transport.test.ts": "oauth", "oauth-upsert-preserves-api-key.test.ts": "oauth", "ocx-launcher-runtime.test.ts": "cli", "ocx-launcher-source.test.ts": "cli", @@ -972,9 +933,9 @@ "opencode-go-session-header.test.ts": "providers", "opencode-zen-deepseek-reasoning.test.ts": "providers", "opencode-zen-rate-limit.test.ts": "providers", - "orcarouter-provider.test.ts": "providers", "openrouter-provider-routing.test.ts": "providers", "optional-shutdown-hooks.test.ts": "lib", + "orcarouter-provider.test.ts": "providers", "outbound-body-guard.test.ts": "server", "owned-service-home.test.ts": "server", "package-tree-integrity.test.ts": "ci-workflows", @@ -992,16 +953,13 @@ "policy-execution.test.ts": "routing", "port-reclaim.test.ts": "server", "ports.test.ts": "server", - "post-release-decision.test.cjs": "fork", "prime-client.test.ts": "clients", "privacy-mask-account.test.ts": "lib", - "privacy-scan.test.ts": "ci-workflows", "privacy-scan-meta-key.test.ts": "ci-workflows", "process-control-graceful.test.ts": "lib", "process-control.test.ts": "lib", "process-state.test.ts": "service", "project-config-warnings.test.ts": "codex-integration", - "promotion-audit-reuse.test.ts": "ci-workflows", "provider-account-quota-persistence.test.ts": "providers", "provider-account-quota-routes.test.ts": "server", "provider-account-quota.test.ts": "providers", @@ -1024,13 +982,14 @@ "provider-quota.test.ts": "providers", "provider-registry-parity.test.ts": "providers", "provider-static-model-discovery.test.ts": "providers", - "provider-tls-profile.test.ts": "providers", "provider-workspace-auth.test.ts": "gui", "provider-workspace-data.test.ts": "gui", "provider-workspace-rail.test.ts": "gui", "provider-workspace-state.test.ts": "gui", "proxy-env.test.ts": "server", "proxy-liveness.test.ts": "server", + "qoder-adapter.test.ts": "providers", + "qoder-live-models.test.ts": "providers", "quota-401-recovery-runtime.test.ts": "usage", "quota-401-recovery.test.ts": "usage", "quota-bars-rows.test.ts": "gui", @@ -1044,17 +1003,6 @@ "quota-scoring.test.ts": "usage", "qwen-cloud-endpoints.test.ts": "gui", "qwen38-preserve-reasoning.test.ts": "providers", - "reserve-availability.test.ts": "codex-integration", - "reserve-auth-context.test.ts": "codex-integration", - "reserve-catalog.test.ts": "codex-integration", - "reserve-catalog-lifecycle.test.ts": "codex-integration", - "reserve-claude-policy.test.ts": "server", - "reserve-dispatch.test.ts": "codex-integration", - "reserve-dispatch-ws.test.ts": "responses", - "reserve-helper-boundary.test.ts": "codex-integration", - "reserve-ingress.test.ts": "server", - "reserve-passive-revocation.test.ts": "codex-integration", - "reserve-quota-scope.test.ts": "codex-integration", "rate-limit-reset-credits.test.ts": "gui", "rate-limit-retry.test.ts": "providers", "raycast-client.test.ts": "clients", @@ -1069,9 +1017,6 @@ "release-helper.test.ts": "ci-workflows", "release-notes.test.ts": "ci-workflows", "release-version-line.test.ts": "ci-workflows", - "replit-pair-install-response.test.ts": "providers", - "replit-provider-setup.test.ts": "providers", - "version-line.test.ts": "ci-workflows", "remote-catalog.test.ts": "clients", "remove-tree-helper.test.ts": "lib", "repo-hygiene.test.ts": "ci-workflows", @@ -1082,6 +1027,17 @@ "request-log-estimate-cap.test.ts": "usage", "request-log.test.ts": "usage", "request-pacing.test.ts": "usage", + "reserve-auth-context.test.ts": "codex-integration", + "reserve-availability.test.ts": "codex-integration", + "reserve-catalog-lifecycle.test.ts": "codex-integration", + "reserve-catalog.test.ts": "codex-integration", + "reserve-claude-policy.test.ts": "server", + "reserve-dispatch-ws.test.ts": "responses", + "reserve-dispatch.test.ts": "codex-integration", + "reserve-helper-boundary.test.ts": "codex-integration", + "reserve-ingress.test.ts": "server", + "reserve-passive-revocation.test.ts": "codex-integration", + "reserve-quota-scope.test.ts": "codex-integration", "response-model-identity.test.ts": "server", "responses-account-label.test.ts": "responses", "responses-compaction-routing.test.ts": "responses", @@ -1089,12 +1045,13 @@ "responses-context-overflow.test.ts": "responses", "responses-custom-tool-guidance.test.ts": "responses", "responses-custom-tool-repair.test.ts": "responses", - "responses-forward-incomplete-quota.test.ts": "responses", "responses-fetch-helpers-boundary.test.ts": "responses", "responses-field-backfill.test.ts": "responses", "responses-forward-dangling-call.test.ts": "responses", + "responses-forward-incomplete-quota.test.ts": "responses", "responses-forward-posit-continuation.test.ts": "responses", "responses-forward-prompt-envelope.test.ts": "responses", + "responses-function-tool-repair.test.ts": "responses", "responses-image-gen-repair.test.ts": "responses", "responses-inbound-store-default.test.ts": "responses", "responses-item-id-repair.test.ts": "responses", @@ -1126,6 +1083,7 @@ "retry-after-429.test.ts": "server", "route-decision-trace.test.ts": "server", "route-explainability.test.ts": "cli", + "routed-agent-messages.test.ts": "adapters", "router-combo-failover-classification.test.ts": "routing", "router-discarded-baseurl-warning.test.ts": "routing", "router-template-baseurl.test.ts": "routing", @@ -1149,10 +1107,12 @@ "selected-models.test.ts": "codex-integration", "self-launch-argv.test.ts": "lib", "server-403-permission-e2e.test.ts": "server", + "server-agent-task-recovery-replay.test.ts": "server", "server-auth.test.ts": "server", "server-background-lifecycle.test.ts": "server", "server-clickjacking-headers.test.ts": "server", "server-combo-failover-e2e.test.ts": "server", + "server-google-antigravity-oauth-401-replay.test.ts": "server", "server-images-bodyless-content-length.test.ts": "server", "server-images.test.ts": "server", "server-key-failover-e2e.test.ts": "server", @@ -1178,8 +1138,8 @@ "service.test.ts": "service", "session-affinity.test.ts": "server", "session-lane-recall-harness.test.ts": "server", - "settings-oauth-open-browser.test.ts": "config", "settings-main-account-hard-lock.test.ts": "config", + "settings-oauth-open-browser.test.ts": "config", "settings-startup-health-seam.test.ts": "config", "settings-stream-mode.test.ts": "config", "shutdown-drain.test.ts": "service", @@ -1195,9 +1155,8 @@ "sidecar-settings-web-search-stream.test.ts": "vision", "sidecar-tracker.test.ts": "vision", "skill-ocx.test.ts": "ci-workflows", - "smoke-fingerprint-cache.test.ts": "ci-workflows", - "smoke-runner.test.ts": "ci-workflows", "slug-codec.test.ts": "codex-integration", + "sponsor-presets.test.ts": "providers", "sse-client-frame-bounds.test.ts": "responses", "sse-decoder.test.ts": "responses", "sse-failed-tail.test.ts": "responses", @@ -1242,10 +1201,6 @@ "system-routes.test.ts": "server", "systemd-install-cleanup-hardening.test.ts": "service", "tencent-siliconflow-providers.test.ts": "gui", - "telemetry-dispatcher.test.ts": "usage", - "telemetry-fingerprint.test.ts": "usage", - "telemetry-hook.test.ts": "usage", - "telemetry-ledger.test.ts": "usage", "terminal-continuation-owner-rotation.test.ts": "adapters", "terminal-guard-server.test.ts": "server", "terminal-guard.test.ts": "server", @@ -1291,11 +1246,13 @@ "usage-shape-extraction.test.ts": "usage", "usage-summary.test.ts": "usage", "usage-surfaces.test.ts": "usage", + "usage-time-range.test.ts": "usage", "user-cost-overlay-coderabbit-regressions.test.ts": "usage", "user-cost-overlay-live-reconcile.test.ts": "usage", "user-cost-overlay-provider-delete.test.ts": "usage", "v2-agent-message-failfast.test.ts": "server", "vercel-gateway-provider-routing.test.ts": "providers", + "version-line.test.ts": "ci-workflows", "vertex-catalog.test.ts": "adapters/google", "vision-anthropic.test.ts": "vision", "vision-backend-union.test.ts": "vision", @@ -1336,7 +1293,6 @@ "windows-tray.test.ts": "windows", "windows-user-principal-nonascii.test.ts": "windows", "windows-user-principal.test.ts": "windows", - "workflow-policy.test.ts": "ci-workflows", "winsw-stop-hardening.test.ts": "windows", "winsw.test.ts": "service", "ws-endpoint.test.ts": "responses", @@ -1357,28 +1313,7 @@ "zhipu-bigmodel-provider.test.ts": "providers", "zz-ci-api-usage-isolation.test.ts": "ci-workflows", "zz-ci-storage-policy-isolation.test.ts": "ci-workflows", - "zz-pr-coderabbit-readiness-revalidation.test.ts": "ci-workflows", - "aside-profiles-routes.test.ts": "server", - "aside-profiles.test.ts": "clients", - "aside-profile-paths.test.ts": "clients", - "aside-profile-sync-owner.test.ts": "clients", - "catalog-full-picker-order.test.ts": "codex-integration", - "catalog-go-exact-efforts.test.ts": "codex-integration", - "claude-desktop-discovery.test.ts": "claude-integration", - "claude-desktop-remote-hub.test.ts": "claude-integration", - "client-injection-guard.test.ts": "codex-integration", - "client-lifecycle-lock.test.ts": "clients", - "desktop-remote-store.test.ts": "clients", - "lab-fabric-producer-deadline.test.ts": "lab", - "opencode-go-agent-messages.test.ts": "providers", - "responses-function-tool-repair.test.ts": "responses", - "server-agent-task-recovery-replay.test.ts": "server", - "server-google-antigravity-oauth-401-replay.test.ts": "server", - "cli-models-price.test.ts": "cli", - "model-costs-management-api.test.ts": "server", - "usage-time-range.test.ts": "usage", - "model-pinned-effort.test.ts": "codex-integration", - "model-pinned-effort-config.test.ts": "config" + "zz-pr-coderabbit-readiness-revalidation.test.ts": "ci-workflows" }, "migrated": [ "adapters", @@ -1388,7 +1323,6 @@ "clients", "codex-integration", "config", - "fork", "gui", "lab", "lib", diff --git a/scripts/test.ts b/scripts/test.ts index 3218785383c..c2c331f5fc5 100644 --- a/scripts/test.ts +++ b/scripts/test.ts @@ -9,8 +9,6 @@ import { TEST_RUN_LOCK_PATH_ENV, TEST_RUN_LOCK_TOKEN_ENV, } from "./test-run-lock"; -import { resolveTrustedWindowsTaskkillExe } from "../src/lib/windows-elevation"; -import { DEDICATED_TEST_FILES, SERIAL_TEST_FILES } from "./ci/test-lanes"; export interface IsolatedTestEnvironment { root: string; @@ -295,8 +293,11 @@ function isFullSuiteRun(requested: string[]): boolean { * Default `bun test` argv for this repo. * * `--isolate` keeps a fresh global per file. Bounded parallelism is what makes the suite - * finishable: with isolate alone Bun re-evaluates the module graph once per file on a single core, - * while leaving Bun to select every host core makes deadline-sensitive tests fail under load. + * finishable: with isolate alone Bun re-evaluates + * the module graph once per file on a single core, so past ~900 files the run stops looking slow + * and starts looking hung — measured here at 1 h 29 m with zero output, ~57 % CPU and 8.5 MB RSS, + * against a few minutes for the identical suite with four workers. Leaving Bun to select all ten + * workers made deadline-sensitive tests fail under load, so the repository default is deterministic. * A caller-supplied `--parallel` or `--parallel=N` is left alone. */ export function resolveBunTestArgs( @@ -316,39 +317,26 @@ export function resolveBunTestArgs( if (!hasCliFlag(effectiveRequested, "--parallel")) { args.push(`--parallel=${DEFAULT_TEST_PARALLELISM}`); } - // Match the existing CI batch runner's 60s framework ceiling. The default - // 5s is too short for real subprocess-backed catalog tests under full-pool - // load. Focused runs and explicit caller/test deadlines remain unchanged. - if (isFullSuiteRun(effectiveRequested) && !hasCliFlag(effectiveRequested, "--timeout")) { - args.push("--timeout=60000"); - } args.push(...effectiveRequested); if (isFullSuiteRun(effectiveRequested)) args.push("./tests/"); return args; } -type SerialFullSuiteFile = (typeof SERIAL_TEST_FILES)[number] extends `tests/${infer File}` ? File : never; - -export const SERIAL_FULL_SUITE_FILES = SERIAL_TEST_FILES.map( - (file): SerialFullSuiteFile => file.slice("tests/".length) as SerialFullSuiteFile, -); - -type DedicatedFullSuiteFile = (typeof DEDICATED_TEST_FILES)[number] extends `tests/${infer File}` - ? File - : never; - -export const DEDICATED_FULL_SUITE_FILES = DEDICATED_TEST_FILES.map( - (file): DedicatedFullSuiteFile => file.slice("tests/".length) as DedicatedFullSuiteFile, -); - -type SerialLaneBasename = SerialFullSuiteFile extends infer P +// Paths relative to tests/. An entry moves with its file (scripts/test-layout/move.ts rewrites +// it); the lane label, the ignore glob, and the timeout table all key on the basename. +export const SERIAL_FULL_SUITE_FILES = [ + "codex-integration/codex-shim.test.ts", + "providers/cursor/cursor-native-exec-shell.test.ts", + "codex-integration/issue-452-empty-503.test.ts", + "adapters/openai/openai-provider-option-e2e.test.ts", + "ci-workflows/release-helper.test.ts", + "update/update-stop-first.test.ts", +] as const; + +type SerialLaneBasename = (typeof SERIAL_FULL_SUITE_FILES)[number] extends infer P ? P extends `${string}/${infer B}` ? B : P : never; const SERIAL_LANE_TIMEOUT_MS: Partial<Record<SerialLaneBasename, number>> = { - // The packaged first-start case has its own 4-minute budget and performs npm - // pack/install plus a real proxy lifecycle. Keep the outer lane able to - // contain that bounded work on cold runners. - "ocx-launcher-runtime.test.ts": 5 * 60 * 1000, // This file intentionally exercises 33 complete release-script subprocess trees. // It is ~90s on an idle machine and measured at ~170s under unrelated host load. "release-helper.test.ts": 5 * 60 * 1000, @@ -360,71 +348,6 @@ export interface BunTestLane { timeoutMs: number; } -export function terminationCommandForTests( - pid: number, - platform = process.platform, - resolveTaskkill: () => string = resolveTrustedWindowsTaskkillExe, -): string[] | null { - return platform === "win32" - ? [resolveTaskkill(), "/PID", String(pid), "/T", "/F"] - : null; -} - -export interface TestTerminationOptions { - pid: number; - platform: string; - signal?: NodeJS.Signals; - exited: Promise<number>; - signalGroup?: (signal: NodeJS.Signals) => void; - isAlive?: () => boolean; - resolveTaskkill?: () => string; - taskkill?: (command: string[]) => number; - graceMs?: number; - killGraceMs?: number; -} - -export interface TestTerminationGraceOptions { - graceMs?: number; - killGraceMs?: number; -} - -export async function terminateTestProcessForTests(options: TestTerminationOptions): Promise<void> { - if (!Number.isSafeInteger(options.pid) || options.pid <= 0) { - throw new Error(`[test] child pid must be a positive safe integer; received ${options.pid}`); - } - const graceMs = options.graceMs ?? 5_000; - const killGraceMs = options.killGraceMs ?? 2_000; - if (options.platform === "win32") { - const command = terminationCommandForTests(options.pid, "win32", options.resolveTaskkill)!; - const result = options.taskkill?.(command) ?? 0; - if (result !== 0) { - throw new Error(`[test] failed to terminate process tree with ${command[0]} (exit ${result})`); - } - if (await waitWithMonotonicTimeout(options.exited, killGraceMs) === null) { - throw new Error(`[test] process tree ${options.pid} did not terminate after taskkill`); - } - return; - } - const signal = options.signalGroup ?? (() => {}); - const alive = options.isAlive ?? (() => false); - signal(options.signal ?? "SIGTERM"); - if (await waitForProcessDeath(alive, graceMs)) return; - signal("SIGKILL"); - if (!await waitForProcessDeath(alive, killGraceMs)) { - throw new Error(`[test] process group ${options.pid} did not terminate after SIGKILL`); - } -} - -async function waitForProcessDeath(isAlive: () => boolean, timeoutMs: number): Promise<boolean> { - const deadline = performance.now() + timeoutMs; - while (isAlive()) { - const remaining = deadline - performance.now(); - if (remaining <= 0) return false; - await Bun.sleep(Math.min(10, remaining)); - } - return true; -} - function withoutParallelOverride(requested: string[]): string[] { return requested.filter(arg => arg !== "--parallel" && !arg.startsWith("--parallel=")); } @@ -442,13 +365,12 @@ export function resolveBunTestPlan(requested: string[], comparisonCommit?: strin const mainArgs = resolveBunTestArgs(requested, comparisonCommit); const rootIndex = mainArgs.lastIndexOf("./tests/"); - const isolatedFiles = [...SERIAL_FULL_SUITE_FILES, ...DEDICATED_FULL_SUITE_FILES]; - const ignores = isolatedFiles.flatMap(file => ["--path-ignore-patterns", `**/${basename(file)}`]); + const ignores = SERIAL_FULL_SUITE_FILES.flatMap(file => ["--path-ignore-patterns", `**/${basename(file)}`]); mainArgs.splice(rootIndex === -1 ? mainArgs.length : rootIndex, 0, ...ignores); const serialRequested = withoutParallelOverride(requested); return [ { label: "parallel suite", args: mainArgs, timeoutMs: 15 * 60 * 1000 }, - ...isolatedFiles.map(file => ({ + ...SERIAL_FULL_SUITE_FILES.map(file => ({ label: basename(file), args: resolveBunTestArgs(["--parallel=1", ...serialRequested, `./tests/${file}`]), timeoutMs: SERIAL_LANE_TIMEOUT_MS[basename(file) as SerialLaneBasename] ?? 3 * 60 * 1000, @@ -456,74 +378,96 @@ export function resolveBunTestPlan(requested: string[], comparisonCommit?: strin ]; } -export interface MonotonicTimeoutRuntime { - now(): number; - schedule(callback: () => void, delayMs: number): unknown; - clear(handle: unknown): void; -} - -const monotonicTimeoutRuntime: MonotonicTimeoutRuntime = { - now: () => performance.now(), - schedule: (callback, delayMs) => setTimeout(callback, delayMs), - clear: handle => clearTimeout(handle as ReturnType<typeof setTimeout>), -}; - -/** - * Bound a promise without trusting one wall-clock-sensitive timer wakeup. - * - * Some Bun/macOS combinations wake a long timer when the host clock jumps. Rechecking a - * monotonic deadline turns that wakeup into a harmless re-arm instead of killing healthy CI. - */ -export function waitWithMonotonicTimeout<T>( - promise: Promise<T>, - timeoutMs: number, - runtime: MonotonicTimeoutRuntime = monotonicTimeoutRuntime, -): Promise<T | null> { +function waitWithTimeout<T>(promise: Promise<T>, timeoutMs: number): Promise<T | null> { return new Promise((resolve, reject) => { - const deadline = runtime.now() + Math.max(0, timeoutMs); - let timer: unknown; - let settled = false; - - const finish = (callback: () => void) => { - if (settled) return; - settled = true; - if (timer !== undefined) runtime.clear(timer); - callback(); - }; - const arm = () => { - const remaining = Math.max(0, deadline - runtime.now()); - timer = runtime.schedule(() => { - timer = undefined; - if (runtime.now() < deadline) { - arm(); - return; - } - finish(() => resolve(null)); - }, remaining); - }; - - arm(); + const timer = setTimeout(() => resolve(null), timeoutMs); promise.then( - value => finish(() => resolve(value)), - error => finish(() => reject(error)), + value => { + clearTimeout(timer); + resolve(value); + }, + error => { + clearTimeout(timer); + reject(error); + }, ); }); } -export interface TestLaneRuntimeOptions extends TestTerminationGraceOptions { - command?: string[]; - createEnvironment?: typeof createIsolatedTestEnvironment; - terminateProcess?: (child: Bun.Subprocess, signal: NodeJS.Signals) => Promise<void>; +/** Read continuously so a timeout can still report output received before EOF. */ +export function captureTestOutput( + stdout: ReadableStream<Uint8Array>, + stderr: ReadableStream<Uint8Array>, +) { + const collect = (stream: ReadableStream<Uint8Array>) => { + const reader = stream.getReader(); + const decoder = new TextDecoder(); + let text = ""; + let reading = true; + let complete = false; + const done = (async () => { + try { + while (reading) { + const chunk = await reader.read(); + if (!reading) break; + if (chunk.done) { + complete = true; + break; + } + text += decoder.decode(chunk.value, { stream: true }); + } + } catch { + // Retain the prefix without turning a pipe error into an unhandled rejection. + } finally { + if (reading) text += decoder.decode(); + reading = false; + reader.releaseLock(); + } + })(); + return { + done, + snapshot: () => ({ text, complete }), + cancel() { + if (!reading) return; + reading = false; + text += decoder.decode(); + // A descendant may own a pipe, or a stream's cancellation may never settle. + // Cancellation is best effort; neither it nor EOF may extend the drain bound. + void reader.cancel().catch(() => {}); + }, + }; + }; + const out = collect(stdout); + const err = collect(stderr); + return { + async finish(timeoutMs: number) { + const drained = await waitWithTimeout(Promise.all([out.done, err.done]), timeoutMs); + if (drained === null) { + out.cancel(); + err.cancel(); + } + const stdout = out.snapshot(); + const stderr = err.snapshot(); + return { + stdout: stdout.text, + stderr: stderr.text, + complete: drained !== null && stdout.complete && stderr.complete, + }; + }, + }; } -async function runTestLane( +export async function runTestLane( lane: BunTestLane, runId: string, inheritedLock: { lockPath: string; ownerToken: string } | undefined, capture = false, - options: TestLaneRuntimeOptions = {}, + writers = { + stdout: (value: string) => { process.stdout.write(value); }, + stderr: (value: string) => { process.stderr.write(value); }, + }, ): Promise<{ exitCode: number; output: string }> { - const isolated = (options.createEnvironment ?? createIsolatedTestEnvironment)({ + const isolated = createIsolatedTestEnvironment({ ...process.env, [TEST_RUN_ID_ENV]: runId, [TEST_RUN_LOCK_PATH_ENV]: inheritedLock?.lockPath, @@ -533,133 +477,57 @@ async function runTestLane( // See tests/helpers/ci-watchdog.ts `isolationBudgetMs`. OCX_TEST_FULL_SUITE: "1", }); - const startedAt = performance.now(); + const startedAt = Date.now(); let interrupted: NodeJS.Signals | null = null; - let termination: Promise<void> | null = null; - let child: Bun.Subprocess | null = null; - let resolveInterrupt!: (signal: NodeJS.Signals) => void; - const interruptRequested = new Promise<NodeJS.Signals>(resolve => { resolveInterrupt = resolve; }); - const terminate = options.terminateProcess ?? ((target: Bun.Subprocess, signal: NodeJS.Signals) => ( - terminateSpawnedTestProcessForTests(target, signal, options) - )); - const beginTermination = () => { - const target = child; - const signal = interrupted; - if (!target || !signal || termination) return; - termination = Promise.resolve().then(() => terminate(target, signal)); - }; + const child = Bun.spawn([process.execPath, "test", ...lane.args], { + env: isolated.env, + stdin: "inherit", + stdout: capture ? "pipe" : "inherit", + stderr: capture ? "pipe" : "inherit", + }); + const captured = capture ? captureTestOutput(child.stdout!, child.stderr!) : undefined; const forward = (signal: NodeJS.Signals) => { - if (interrupted) return; interrupted = signal; - beginTermination(); - resolveInterrupt(signal); + try { child.kill(signal); } catch { /* child already exited */ } }; const onInterrupt = () => forward("SIGINT"); const onTerminate = () => forward("SIGTERM"); - // Register before spawning. A fast child can publish readiness while this process is - // still returning from Bun.spawn; without handlers already installed, a supervisor's - // immediate signal takes the default path and can orphan that new process group. process.once("SIGINT", onInterrupt); process.once("SIGTERM", onTerminate); + const exited = child.exited; try { - child = Bun.spawn(options.command ?? [process.execPath, "test", ...lane.args], { - env: isolated.env, - stdin: "inherit", - stdout: capture ? "pipe" : "inherit", - stderr: capture ? "pipe" : "inherit", - detached: process.platform !== "win32", - }); - beginTermination(); - const target = child; - const stdoutP = capture ? new Response(target.stdout).text() : Promise.resolve(""); - const stderrP = capture ? new Response(target.stderr).text() : Promise.resolve(""); - const exited = target.exited; - const outcome = await Promise.race([ - waitWithMonotonicTimeout(exited, lane.timeoutMs).then(exitCode => ({ kind: "exit" as const, exitCode })), - interruptRequested.then(async signal => { - await termination; - return { kind: "interrupt" as const, signal }; - }), - ]); - if (outcome.kind === "interrupt") { - return { exitCode: outcome.signal === "SIGINT" ? 130 : 143, output: "" }; - } - const exitCode = outcome.exitCode; + let exitCode = await waitWithTimeout(exited, lane.timeoutMs); if (exitCode === null) { - console.error(`[test] ${lane.label} exceeded ${Math.round(lane.timeoutMs / 1000)}s; terminating pid ${target.pid}.`); - termination ??= Promise.resolve().then(() => terminate(target, "SIGTERM")); - await termination; - return { exitCode: 124, output: "" }; + console.error(`[test] ${lane.label} exceeded ${Math.round(lane.timeoutMs / 1000)}s; terminating pid ${child.pid}.`); + try { child.kill("SIGTERM"); } catch { /* child already exited */ } + const graceful = await waitWithTimeout(exited, 5_000); + if (graceful === null) { + try { child.kill("SIGKILL"); } catch { /* child already exited */ } + await waitWithTimeout(exited, 2_000); + } } - const [stdout, stderr] = await Promise.all([stdoutP, stderrP]); - if (stdout) process.stdout.write(stdout); - if (stderr) process.stderr.write(stderr); + // Process exit does not guarantee EOF when a descendant inherited the pipe. + const result = await captured?.finish(1_000); + const stdout = result?.stdout ?? ""; + const stderr = result?.stderr ?? ""; + if (stdout) writers.stdout(stdout); + if (stderr) writers.stderr(stderr); const output = stdout + "\n" + stderr; + if (result && !result.complete) { + console.error("[test] captured output is incomplete; collected output is shown above."); + if (exitCode === 0) exitCode = 1; + } + if (exitCode === null) return { exitCode: 124, output }; if (interrupted === "SIGINT") return { exitCode: 130, output }; if (interrupted === "SIGTERM") return { exitCode: 143, output }; - const seconds = ((performance.now() - startedAt) / 1000).toFixed(1); + const seconds = ((Date.now() - startedAt) / 1000).toFixed(1); console.warn(`[test] ${lane.label} finished in ${seconds}s (exit ${exitCode}).`); return { exitCode, output }; } finally { - try { - if (termination) await termination; - } finally { - process.off("SIGINT", onInterrupt); - process.off("SIGTERM", onTerminate); - isolated.cleanup(); - } - } -} - -export async function runTestLaneForTests( - lane: BunTestLane, - runId: string, - options: TestLaneRuntimeOptions = {}, -): Promise<number> { - return (await runTestLane(lane, runId, undefined, false, options)).exitCode; -} - -export async function terminateSpawnedTestProcessForTests( - child: { pid: number; exited: Promise<number>; kill(signal: NodeJS.Signals): void }, - signal: NodeJS.Signals, - grace: TestTerminationGraceOptions = {}, -): Promise<void> { - if (process.platform === "win32") { - return terminateTestProcessForTests({ - pid: child.pid, - platform: "win32", - signal, - exited: child.exited, - taskkill: command => Bun.spawnSync(command, { stdout: "ignore", stderr: "pipe" }).exitCode, - ...grace, - }); - } - - const signalGroup = (name: NodeJS.Signals) => { - try { - process.kill(-child.pid, name); - } catch (error) { - if ((error as NodeJS.ErrnoException).code !== "ESRCH") throw error; - } - }; - return terminateTestProcessForTests({ - pid: child.pid, - platform: process.platform, - signal, - exited: child.exited, - signalGroup, - isAlive: () => processGroupAlive(child.pid), - ...grace, - }); -} - -function processGroupAlive(pid: number): boolean { - try { - process.kill(-pid, 0); - return true; - } catch (error) { - return (error as NodeJS.ErrnoException).code === "EPERM"; + process.off("SIGINT", onInterrupt); + process.off("SIGTERM", onTerminate); + isolated.cleanup(); } } @@ -742,7 +610,7 @@ if (import.meta.main) { ), onAcquiredAfterWait: elapsedMs => console.warn(`[test] acquired the user lock after ${Math.round(elapsedMs / 1000)}s.`), }); - const startedAt = performance.now(); + const startedAt = Date.now(); try { const inheritedLock = process.platform === "win32" && lockPath && lock.owner ? { lockPath, ownerToken: lock.owner.token } @@ -762,8 +630,8 @@ if (import.meta.main) { exitCode = 1; } } - const elapsedSeconds = Math.round((performance.now() - startedAt) / 1000); - if (isFullSuiteRun(requestedTests) && elapsedSeconds > 10 * 60) { + const elapsedSeconds = Math.round((Date.now() - startedAt) / 1000); + if (isFullSuiteRun(requestedTests) && elapsedSeconds > 600) { console.warn( `[test] the suite took ${elapsedSeconds}s; with --parallel=${DEFAULT_TEST_PARALLELISM} it should finish in a few minutes on an idle machine. ` + "Check for another test runner, a busy CPU, or a test that started polling something real.", diff --git a/src/adapters/anthropic.ts b/src/adapters/anthropic.ts index f2b96f78ecb..fa67b0fa144 100644 --- a/src/adapters/anthropic.ts +++ b/src/adapters/anthropic.ts @@ -581,16 +581,28 @@ function defaultReasoningEffort(provider: OcxProviderConfig, modelId: string): s return trimmed; } -function usageFromAnthropic(usage: Record<string, number> | undefined): OcxUsage | undefined { - if (!usage) return undefined; +function usageFromAnthropic(usage: unknown): OcxUsage | undefined { + if (!isAnthropicRecord(usage)) return undefined; + const tokens = (key: string): number | undefined => { + const value = usage[key]; + if (value === undefined) return 0; + return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : undefined; + }; + const input = tokens("input_tokens"); + const output = tokens("output_tokens"); + const read = tokens("cache_read_input_tokens"); + const write = tokens("cache_creation_input_tokens"); + // Invalid upstream usage is unreported, not a measured zero or a string that + // can pass through aggregation into a human-readable usage report. + if (input === undefined || output === undefined || read === undefined || write === undefined) return undefined; const hasCache = usage.cache_read_input_tokens !== undefined || usage.cache_creation_input_tokens !== undefined; - const read = usage.cache_read_input_tokens ?? 0; - const write = usage.cache_creation_input_tokens ?? 0; // Anthropic reports input_tokens EXCLUSIVE of cache read/write; normalize to the // canonical inclusive convention (types.ts OcxUsage / devlog 070). + const inputTokens = input + read + write; + if (!Number.isFinite(inputTokens)) return undefined; return { - inputTokens: (usage.input_tokens ?? 0) + read + write, - outputTokens: usage.output_tokens ?? 0, + inputTokens, + outputTokens: output, ...(hasCache ? { cachedInputTokens: read, cacheReadInputTokens: read, @@ -599,15 +611,18 @@ function usageFromAnthropic(usage: Record<string, number> | undefined): OcxUsage }; } -function mergeAnthropicUsage( - base: Record<string, number> | undefined, - next: Record<string, number> | undefined, -): Record<string, number> | undefined { - if (!next) return base; - if (!base) return { ...next }; +type PendingAnthropicUsage = Record<string, unknown> | null | undefined; + +function mergeAnthropicUsage(base: PendingAnthropicUsage, next: unknown): PendingAnthropicUsage { + // null remembers an invalid observation. A later partial cumulative frame + // cannot re-establish the missing totals, while an absent update changes nothing. + if (base === null) return null; + if (next === undefined) return base; + if (!isAnthropicRecord(next)) return null; // Anthropic `message_delta.usage` values are CUMULATIVE; adding them to the // message_start snapshot double-counted output tokens. Later frames win per key. - return { ...base, ...next }; + const merged = { ...base, ...next }; + return usageFromAnthropic(merged) === undefined ? null : merged; } function buildToolNameTransforms(provider: OcxProviderConfig): { toWire: (name: string) => string; fromWire: (name: string) => string } { @@ -1280,7 +1295,7 @@ export function createAnthropicAdapter(provider: OcxProviderConfig, cacheRetenti let currentToolCallId = ""; let currentToolCallName = ""; let currentToolCallJson = ""; - let pendingUsage: Record<string, number> | undefined; + let pendingUsage: PendingAnthropicUsage; let pendingStopReason: string | undefined; let emittedDone = false; let sawVisibleText = false; @@ -1334,7 +1349,7 @@ export function createAnthropicAdapter(provider: OcxProviderConfig, cacheRetenti switch (record.event || data.type) { case "message_start": { - const message = data.message as { usage?: Record<string, number> } | undefined; + const message = data.message as { usage?: unknown } | undefined; pendingUsage = mergeAnthropicUsage(pendingUsage, message?.usage); break; } @@ -1423,7 +1438,7 @@ export function createAnthropicAdapter(provider: OcxProviderConfig, cacheRetenti break; } case "message_delta": { - const usage = data.usage as Record<string, number> | undefined; + const usage = data.usage; pendingUsage = mergeAnthropicUsage(pendingUsage, usage); const delta = data.delta as { stop_reason?: unknown } | undefined; if (typeof delta?.stop_reason === "string") pendingStopReason = delta.stop_reason; diff --git a/src/adapters/codebuddy/adapter.ts b/src/adapters/codebuddy/adapter.ts new file mode 100644 index 00000000000..234e06907e3 --- /dev/null +++ b/src/adapters/codebuddy/adapter.ts @@ -0,0 +1,85 @@ +import type { AdapterEvent, OcxParsedRequest, OcxProviderConfig } from "../../types"; +import type { AdapterRequest, ProviderAdapter } from "../base"; +import { mapReasoningEffort } from "../../reasoning-effort"; +import { buildSystemPrompt } from "../coding-agent/protocol"; +import { baseScopedEnv, runCodingAgentTurn, type CodingAgentDeps, type SpawnFn } from "../coding-agent/turn"; +import { CODEBUDDY_PROFILES, type CodeBuddyProfile } from "./profiles"; + +export type { SpawnFn } from "../coding-agent/turn"; +export type CodeBuddyAdapterDeps = CodingAgentDeps; + +/** + * Build the scoped child-process environment for a CodeBuddy turn (§六/§十四). + * + * The region switch and credential are layered on top of the shared base env, which never inherits a + * parent `CODEBUDDY_*`. `CODEBUDDY_CODE_DISABLE_BACKGROUND_TASKS=1` matches the vendor SDK's own + * single-shot behavior (a `-p` turn stops at the first result and cannot receive cross-turn + * background push-back). + */ +export function buildChildEnv(profile: CodeBuddyProfile, apiKey: string): Record<string, string> { + return { + ...baseScopedEnv(), + CODEBUDDY_API_KEY: apiKey, + CODEBUDDY_INTERNET_ENVIRONMENT: profile.internetEnvironment, + CODEBUDDY_CODE_DISABLE_BACKGROUND_TASKS: "1", + }; +} + +/** + * Build the headless CLI arguments (§七/§十一). + * + * Tool ownership stays with Codex: `--tools ""` disables every built-in tool and `--strict-mcp-config` + * (with no `--mcp-config`) blocks MCP tools, so the CLI can neither read, write, exec, nor browse the + * workspace. `-y/--dangerously-skip-permissions` is deliberately NOT passed, so any operation that + * would require authorization is blocked. The turn is a single text/reasoning pass over stream-json; + * Codex's tool catalog is not advertised in v1 (the control-protocol tool bridge is a fast-follow). + */ +export function buildArgs(profile: CodeBuddyProfile, parsed: OcxParsedRequest, provider: OcxProviderConfig): string[] { + const args: string[] = [ + "-p", + "--output-format", "stream-json", + "--input-format", "stream-json", + "--include-partial-messages", + "--verbose", + "--no-session-persistence", + "--tools", "", + "--strict-mcp-config", + "--max-turns", "1", + "--model", parsed.modelId, + ]; + const effort = mapReasoningEffort(provider, parsed.modelId, parsed.options.reasoning); + if (effort) args.push("--effort", effort); + const system = buildSystemPrompt(parsed); + if (system) args.push("--append-system-prompt", system); + // profile is retained for symmetry with the region-isolated design and future per-region flags. + void profile; + return args; +} + +/** Create the shared CodeBuddy adapter: region profile selects Global vs CN, one turn runs tools-disabled. */ +export function createCodeBuddyAdapter(provider: OcxProviderConfig, deps: CodeBuddyAdapterDeps = {}): ProviderAdapter { + return { + name: "codebuddy", + + // runTurn owns the turn; buildRequest/parseStream are the disabled HTTP path (mirrors cursor). + buildRequest(): AdapterRequest { + return { url: provider.baseUrl, method: "POST", headers: {}, body: "" }; + }, + async *parseStream(): AsyncGenerator<AdapterEvent> { + yield { type: "error", message: "CodeBuddy adapter uses runTurn; the fetch/parseStream path is disabled." }; + }, + + async runTurn(parsed, incoming, emit): Promise<void> { + await runCodingAgentTurn({ + profiles: CODEBUDDY_PROFILES, + provider, + parsed, + incoming, + emit, + buildArgs: (resolved, req, prov) => buildArgs(resolved as CodeBuddyProfile, req, prov), + buildEnv: (resolved, apiKey) => buildChildEnv(resolved as CodeBuddyProfile, apiKey), + deps, + }); + }, + }; +} diff --git a/src/adapters/codebuddy/profiles.ts b/src/adapters/codebuddy/profiles.ts new file mode 100644 index 00000000000..f06edb8ed5c --- /dev/null +++ b/src/adapters/codebuddy/profiles.ts @@ -0,0 +1,52 @@ +import { clearCodingAgentBinaryCache, type CodingAgentProviderProfile } from "../coding-agent/profile"; + +/** + * Region-isolated profiles for the official CodeBuddy Code CLI. + * + * CodeBuddy Global and CodeBuddy CN are SEPARATE credential destinations (§五/§十四/§十六). They + * share one adapter, one binary name, and the shared coding-agent stream-json parser; the region is + * fixed by the officially documented `CODEBUDDY_INTERNET_ENVIRONMENT` value (`public` for the + * overseas/global product, `internal` for the China product) — the vendor states: "使用 + * CODEBUDDY_API_KEY 时,必须根据版本正确配置 CODEBUDDY_INTERNET_ENVIRONMENT". A global key is never + * sent to the CN environment or vice versa. + * + * Evidence (verified 2026-09-03): npm `@tencent-ai/codebuddy-code` v2.143.0 (Tencent Cloud); + * keys https://www.codebuddy.ai/profile/keys (Global) / https://copilot.tencent.com/profile/keys (CN); + * headless https://www.codebuddy.ai/docs/cli/headless. + */ +export interface CodeBuddyProfile extends CodingAgentProviderProfile { + family: "codebuddy"; + /** Official `CODEBUDDY_INTERNET_ENVIRONMENT` value for this region. */ + internetEnvironment: "public" | "internal"; +} + +export const CODEBUDDY_GLOBAL_PROFILE: CodeBuddyProfile = { + providerId: "codebuddy", + family: "codebuddy", + region: "global", + label: "CodeBuddy", + internetEnvironment: "public", + canonicalBaseUrl: "https://www.codebuddy.ai", + binaryCandidates: ["codebuddy", "cbc", "codebuddy-code"], + tokenEnv: "CODEBUDDY_API_KEY", + installHint: "npm install -g @tencent-ai/codebuddy-code", + documentationUrl: "https://www.codebuddy.ai/docs/cli/headless", +}; + +export const CODEBUDDY_CN_PROFILE: CodeBuddyProfile = { + providerId: "codebuddy-cn", + family: "codebuddy", + region: "cn", + label: "CodeBuddy CN", + internetEnvironment: "internal", + canonicalBaseUrl: "https://www.codebuddy.cn", + binaryCandidates: ["codebuddy", "cbc", "codebuddy-code"], + tokenEnv: "CODEBUDDY_API_KEY", + installHint: "npm install -g @tencent-ai/codebuddy-code", + documentationUrl: "https://www.codebuddy.cn/docs/cli/headless", +}; + +export const CODEBUDDY_PROFILES: readonly CodeBuddyProfile[] = [CODEBUDDY_GLOBAL_PROFILE, CODEBUDDY_CN_PROFILE]; + +/** Binary-discovery cache is shared across coding-agent families; re-exported for test isolation. */ +export const clearCodeBuddyBinaryCache = clearCodingAgentBinaryCache; diff --git a/src/adapters/coding-agent/profile.ts b/src/adapters/coding-agent/profile.ts new file mode 100644 index 00000000000..7298469767c --- /dev/null +++ b/src/adapters/coding-agent/profile.ts @@ -0,0 +1,100 @@ +import { existsSync } from "node:fs"; +import { delimiter, join } from "node:path"; + +/** + * One region-isolated official coding-agent CLI target (§三十一). + * + * A profile is the ONLY place a family encodes its per-region differences (binary, credential env + * var, canonical destination, install hint). Adapters stay profile-driven so there is no scattered + * `if (provider === "codebuddy-cn")` branching, and so a family's Global and CN variants share one + * adapter and one parser (§十三). + */ +export interface CodingAgentProviderProfile { + /** Canonical OpenCodex provider id this profile serves. */ + providerId: string; + /** Vendor family; selects the arg/env builder in the family adapter. */ + family: "codebuddy" | "qoder"; + /** Region; drives the vendor's own region switch and keeps credentials deterministic. */ + region: "global" | "cn"; + /** Human label for diagnostics/error copy (never sent upstream). */ + label: string; + /** + * Canonical upstream destination and region identity. The CLI performs the real transport, but + * this host selects the profile and fails closed when overridden, so a region-scoped credential is + * never handed to an unexpected environment (§十六). + */ + canonicalBaseUrl: string; + /** Executable names to resolve on PATH, in preference order. */ + binaryCandidates: readonly string[]; + /** Official credential environment variable consumed by the CLI. */ + tokenEnv: string; + /** Install command surfaced when the CLI is missing (§二十六). */ + installHint: string; + /** Official documentation for the automation surface. */ + documentationUrl: string; +} + +/** Test seam: report the resolved path of a candidate executable, or undefined. */ +export type WhichFn = (candidate: string) => string | undefined; + +const binaryCache = new Map<string, string>(); + +/** Reset the discovery cache (tests, or an explicit provider re-check). */ +export function clearCodingAgentBinaryCache(): void { + binaryCache.clear(); +} + +/** Default PATH scan: return the first existing executable path for a candidate name. */ +export function whichFromPath(candidate: string): string | undefined { + const pathVar = process.env.PATH ?? ""; + if (!pathVar) return undefined; + const extensions = process.platform === "win32" ? [".cmd", ".exe", ".bat", ""] : [""]; + for (const dir of pathVar.split(delimiter)) { + if (!dir) continue; + for (const ext of extensions) { + const full = join(dir, `${candidate}${ext}`); + try { + if (existsSync(full)) return full; + } catch { + // An unreadable PATH entry must not abort discovery; skip it. + } + } + } + return undefined; +} + +/** + * Discover the CLI executable BEFORE a request is sent (§二十六), so a missing CLI is a clear + * pre-flight error rather than a mid-turn ENOENT. Only positive hits are cached (§三十): a CLI + * installed after startup is found on the next turn instead of being masked by a cached negative. + */ +export function resolveCodingAgentBinary( + profile: CodingAgentProviderProfile, + which: WhichFn = whichFromPath, +): string | undefined { + for (const candidate of profile.binaryCandidates) { + const cacheKey = `${profile.providerId}:${candidate}`; + const cached = binaryCache.get(cacheKey); + if (cached) return cached; + const resolved = which(candidate); + if (resolved) { + binaryCache.set(cacheKey, resolved); + return resolved; + } + } + return undefined; +} + +/** + * Resolve the profile whose canonical base URL matches the provider's configured destination. + * Returns undefined for any other host, so the adapter fails closed rather than sending a + * region-scoped credential to an unknown environment (§十六). + */ +export function resolveProfileByBaseUrl( + profiles: readonly CodingAgentProviderProfile[], + baseUrl: string | undefined, +): CodingAgentProviderProfile | undefined { + if (!baseUrl) return undefined; + const normalized = baseUrl.replace(/\/+$/, "").toLowerCase(); + return profiles.find(profile => normalized === profile.canonicalBaseUrl.toLowerCase()); +} diff --git a/src/adapters/coding-agent/protocol.ts b/src/adapters/coding-agent/protocol.ts new file mode 100644 index 00000000000..27fefb581b0 --- /dev/null +++ b/src/adapters/coding-agent/protocol.ts @@ -0,0 +1,463 @@ +import type { AdapterEvent, OcxMessage, OcxParsedRequest, OcxUsage } from "../../types"; + +/** + * Shared stream-json protocol for official coding-agent CLIs (CodeBuddy Code and Qoder CLI). + * + * The vendor speaks the Anthropic/Claude-Code `stream-json` protocol ("the naming and protocol + * align with Anthropic Claude Code v2.1.88"). A headless turn is a newline-delimited JSON stream on stdout: + * + * {"type":"system","subtype":"init", ...} + * {"type":"stream_event","event":{"type":"content_block_delta","delta":{"type":"text_delta",...}}} (with --include-partial-messages) + * {"type":"assistant","message":{"role":"assistant","content":[{"type":"text"|"thinking"|"tool_use",...}]}} + * {"type":"result","subtype":"success","is_error":false,"usage":{...},"total_cost_usd":...,"session_id":...} + * + * Diagnostics ride stderr and are NOT protocol data. This module is pure: it never spawns a process + * and never touches the network, so it is unit-testable against captured fixtures. + */ + +/** Hard ceiling on a single buffered stdout line, so a runaway frame cannot exhaust memory. */ +export const MAX_STREAM_LINE_BYTES = 8 * 1024 * 1024; +/** Hard ceiling on the total stdout bytes consumed for one turn. */ +export const MAX_STREAM_TOTAL_BYTES = 64 * 1024 * 1024; +/** Hard ceiling on projected conversation history text (characters) to prevent runaway memory. */ +export const MAX_PROJECTED_HISTORY_CHARS = 200_000; + +export class CodingAgentStreamLimitError extends Error { + constructor(message: string) { + super(message); + this.name = "CodingAgentStreamLimitError"; + } +} + +export class CodingAgentProtocolError extends Error { + readonly code: string = "protocol_error"; + readonly status: number = 502; + constructor(message: string) { + super(message); + this.name = "CodingAgentProtocolError"; + } +} + +/** A parsed protocol frame. */ +export type StreamMessage = Record<string, unknown>; + +/** + * Split an async byte stream into JSONL frames. + * + * Handles the streaming hazards the task calls out (§二十五): fragmented JSON across chunks, split + * multi-byte UTF-8 (via the decoder's `stream` mode), partial trailing lines, and multiple frames in + * one chunk. A non-empty frame that does not parse to a JSON record fails closed so corrupted + * protocol output cannot be mistaken for a successful response. + */ +export async function* readJsonLines( + chunks: AsyncIterable<Uint8Array>, + limits: { maxLineBytes?: number; maxTotalBytes?: number } = {}, +): AsyncGenerator<StreamMessage> { + const maxLineBytes = limits.maxLineBytes ?? MAX_STREAM_LINE_BYTES; + const maxTotalBytes = limits.maxTotalBytes ?? MAX_STREAM_TOTAL_BYTES; + const decoder = new TextDecoder(); + const encoder = new TextEncoder(); + let buffer = ""; + let totalBytes = 0; + + const flushLine = function* (line: string): Generator<StreamMessage> { + if (encoder.encode(line).byteLength > maxLineBytes) { + throw new CodingAgentStreamLimitError("Coding-agent stream line exceeded the byte ceiling"); + } + const trimmed = line.trim(); + if (!trimmed) return; // Blank lines and whitespace-only lines are ignored as padding. + let parsed: unknown; + try { + parsed = JSON.parse(trimmed); + } catch { + const snippet = trimmed.slice(0, 64).replace(/[\r\n]+/g, " "); + throw new CodingAgentProtocolError( + `Malformed stream-json frame received from coding-agent CLI: ${snippet}`, + ); + } + if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) { + const snippet = trimmed.slice(0, 64).replace(/[\r\n]+/g, " "); + throw new CodingAgentProtocolError( + `Non-object stream-json frame received from coding-agent CLI: ${snippet}`, + ); + } + yield parsed as StreamMessage; + }; + + for await (const chunk of chunks) { + totalBytes += chunk.byteLength; + if (totalBytes > maxTotalBytes) { + throw new CodingAgentStreamLimitError("Coding-agent stream exceeded the total byte ceiling"); + } + buffer += decoder.decode(chunk, { stream: true }); + let newline = buffer.indexOf("\n"); + while (newline >= 0) { + const line = buffer.slice(0, newline); + buffer = buffer.slice(newline + 1); + yield* flushLine(line); + newline = buffer.indexOf("\n"); + } + if (encoder.encode(buffer).byteLength > maxLineBytes) { + throw new CodingAgentStreamLimitError("Coding-agent stream line exceeded the byte ceiling"); + } + } + // Flush the decoder's trailing bytes and any final line without a newline terminator. + buffer += decoder.decode(); + if (buffer.trim()) yield* flushLine(buffer); +} + +function asRecord(value: unknown): Record<string, unknown> | undefined { + return value && typeof value === "object" && !Array.isArray(value) ? (value as Record<string, unknown>) : undefined; +} + +function asString(value: unknown): string | undefined { + return typeof value === "string" ? value : undefined; +} + +/** Extract OpenCodex usage from a `result` frame's Anthropic-shaped usage object. */ +export function usageFromResult(message: StreamMessage): OcxUsage | undefined { + const usage = asRecord(message.usage); + if (!usage) return undefined; + const inputTokens = typeof usage.input_tokens === "number" ? usage.input_tokens : 0; + const outputTokens = typeof usage.output_tokens === "number" ? usage.output_tokens : 0; + const cachedInputTokens = typeof usage.cache_read_input_tokens === "number" ? usage.cache_read_input_tokens : undefined; + const cacheCreationInputTokens = + typeof usage.cache_creation_input_tokens === "number" ? usage.cache_creation_input_tokens : undefined; + if (inputTokens === 0 && outputTokens === 0 && cachedInputTokens === undefined) return undefined; + return { + inputTokens, + outputTokens, + totalTokens: inputTokens + outputTokens, + ...(cachedInputTokens !== undefined ? { cachedInputTokens, cacheReadInputTokens: cachedInputTokens } : {}), + ...(cacheCreationInputTokens !== undefined ? { cacheCreationInputTokens } : {}), + }; +} + +/** + * Mutable per-turn parse state shared across frames of one stream (§十二). + * Thinking and text states are strictly decoupled. + */ +export interface StreamParseState { + sawPartialText: boolean; + sawPartialThinking: boolean; + sawTerminalResult: boolean; + openToolCallId?: string; +} + +/** + * Map ONE protocol frame to zero or more AdapterEvents. + * + * Token-level streaming comes from `stream_event` frames (enabled by `--include-partial-messages`); + * the complete `assistant` frame is only used as a fallback when no partial deltas were seen, so text + * and thinking are never emitted twice. + */ +export function mapStreamMessageToEvents(message: StreamMessage, state: StreamParseState): AdapterEvent[] { + const type = asString(message.type); + const events: AdapterEvent[] = []; + + if (type === "stream_event") { + const event = asRecord(message.event); + if (event) events.push(...mapRawStreamEvent(event, state)); + return events; + } + + if (type === "assistant") { + // Fallback path: a complete assistant message. Surface text and thinking independently + // only when the partial delta stream did not already carry them (§十二). + const content = asRecord(message.message)?.content; + if (Array.isArray(content)) { + for (const block of content) { + const part = asRecord(block); + if (!part) continue; + const blockType = asString(part.type); + if (blockType === "text" && !state.sawPartialText) { + const text = asString(part.text); + if (text) events.push({ type: "text_delta", text }); + } else if (blockType === "thinking" && !state.sawPartialThinking) { + const thinking = asString(part.thinking); + if (thinking) events.push({ type: "thinking_delta", thinking }); + } + } + } + return events; + } + + if (type === "result") { + const isError = message.is_error === true || asString(message.subtype) === "error_during_execution"; + const usage = usageFromResult(message); + if (isError) { + const errors = Array.isArray(message.errors) + ? message.errors.filter((value): value is string => typeof value === "string" && value.trim().length > 0) + : []; + const detail = asString(message.result) || errors[0] || "Coding-agent CLI ended the turn with an execution error"; + const vendorCode = typeof message.error_code === "number" ? message.error_code : undefined; + // Qoder documents code 118 and emits the "credit usage limit" wording. Keep the + // match deliberately narrow so other coding-agent CLIs retain their established + // generic-upstream handling for ambiguous text such as "insufficient credits". + const insufficientQuota = vendorCode === 118 || /credit usage limit/i.test(detail); + // Anchor to credential verdicts. A bare "authentication" substring also matches upstream + // service-degradation text, and a false 401 drives reauth messaging and key-pool rotation. + const authentication = /not logged in|invalid (?:personal access )?token|authentication (?:failed|error|required)|unauthorized/i.test(detail); + const rateLimited = !insufficientQuota && /rate limit|too many requests/i.test(detail); + const modelUnavailable = /model (?:is )?(?:not found|unavailable|unsupported)|invalid model/i.test(detail); + events.push({ + type: "error", + message: detail, + status: insufficientQuota || rateLimited ? 429 : authentication ? 401 : modelUnavailable ? 400 : 502, + errorType: insufficientQuota + ? "insufficient_quota" + : rateLimited + ? "rate_limit_error" + : authentication + ? "authentication_error" + : modelUnavailable + ? "invalid_request_error" + : "upstream_error", + code: insufficientQuota + ? "insufficient_quota" + : rateLimited + ? "rate_limit_exceeded" + : authentication + ? "invalid_api_key" + : modelUnavailable + ? "model_not_found" + : "upstream_error", + retryable: rateLimited, + ...(usage ? { usage } : {}), + }); + return events; + } + state.sawTerminalResult = true; + events.push({ type: "done", ...(usage ? { usage } : {}), stopReason: "stop" }); + return events; + } + + // system/init, user echoes, task_* background events: not client-visible output. + return events; +} + +/** Map a raw Anthropic SSE event (carried inside a `stream_event` frame) to AdapterEvents. */ +function mapRawStreamEvent(event: StreamMessage, state: StreamParseState): AdapterEvent[] { + const events: AdapterEvent[] = []; + const eventType = asString(event.type); + + if (eventType === "content_block_delta") { + const delta = asRecord(event.delta); + const deltaType = asString(delta?.type); + if (deltaType === "text_delta") { + const text = asString(delta?.text); + if (text) { + state.sawPartialText = true; + events.push({ type: "text_delta", text }); + } + } else if (deltaType === "thinking_delta") { + const thinking = asString(delta?.thinking); + if (thinking) { + state.sawPartialThinking = true; + events.push({ type: "thinking_delta", thinking }); + } + } else if (deltaType === "input_json_delta") { + // Tool-input streaming. Inert while tools are disabled (Codex's catalog is not advertised), + // but parsed so the seam is ready and an unexpected frame never crashes. + const partial = asString(delta?.partial_json); + if (partial && state.openToolCallId) events.push({ type: "tool_call_delta", arguments: partial }); + } + return events; + } + + if (eventType === "content_block_start") { + const block = asRecord(event.content_block); + if (asString(block?.type) === "tool_use") { + const id = asString(block?.id) ?? ""; + const name = asString(block?.name) ?? "tool"; + if (id) { + state.openToolCallId = id; + events.push({ type: "tool_call_start", id, name }); + } + } + return events; + } + + if (eventType === "content_block_stop") { + if (state.openToolCallId) { + state.openToolCallId = undefined; + events.push({ type: "tool_call_end" }); + } + return events; + } + + return events; +} + +/** One content part on the stream-json input wire (Anthropic message shape). */ +type WireContentPart = Record<string, unknown>; + +function textPart(text: string): WireContentPart { + return { type: "text", text }; +} + +/** Encode an OpenCodex image content part as an Anthropic base64/url image block; never drop it. */ +function imagePart(imageUrl: string): WireContentPart | undefined { + const match = /^data:([^;]+);base64,(.+)$/s.exec(imageUrl); + if (match) return { type: "image", source: { type: "base64", media_type: match[1], data: match[2] } }; + if (/^https?:\/\//i.test(imageUrl)) return { type: "image", source: { type: "url", url: imageUrl } }; + return undefined; +} + +function formatMessageForHistory(message: OcxMessage): string { + if (message.role === "user") { + const text = typeof message.content === "string" + ? message.content + : message.content.map(p => (p.type === "text" ? p.text : `[${p.type}]`)).join("\n"); + return `USER:\n${text}`; + } + if (message.role === "assistant") { + const parts: string[] = []; + for (const part of message.content) { + if (part.type === "text" && part.text.trim()) { + parts.push(part.text.trim()); + } else if (part.type === "thinking" && part.thinking.trim()) { + parts.push(`[Thinking: ${part.thinking.trim()}]`); + } else if (part.type === "toolCall") { + const args = JSON.stringify(part.arguments ?? {}); + parts.push(`[Tool call: ${part.name} (call_id: ${part.id}) with args: ${args}]`); + } + } + return `ASSISTANT:\n${parts.join("\n") || "(empty response)"}`; + } + if (message.role === "toolResult") { + const text = typeof message.content === "string" + ? message.content + : message.content.map(p => (p.type === "text" ? p.text : "[image]")).join(""); + const status = message.isError ? " (error)" : ""; + return `TOOL RESULT (call_id: ${message.toolCallId})${status}:\n${text}`; + } + return ""; +} + +/** + * Format an isolated OpenCodex message into stream-json user message input lines. + * + * In stream-json mode, the official CLI stdin parser (`StreamJsonUtils.parseUserMessage`) only + * accepts `type: "user"` frames. Writing undocumented `type: "assistant"` frames is rejected. + * Non-user messages are therefore projected into valid user frames. + */ +export function buildInputLines(message: OcxMessage): string[] { + if (message.role === "developer") return []; + + const content: WireContentPart[] = []; + if (message.role === "user") { + if (typeof message.content === "string") { + content.push(textPart(message.content)); + } else { + for (const part of message.content) { + if (part.type === "text") content.push(textPart(part.text)); + else if (part.type === "image") { + const image = imagePart(part.imageUrl); + if (image) content.push(image); + } else { + content.push(textPart("[video]")); + } + } + } + } else { + const formatted = formatMessageForHistory(message); + if (formatted) content.push(textPart(formatted)); + } + + return content.length > 0 ? [JSON.stringify({ type: "user", message: { role: "user", content } })] : []; +} + +/** Fold the request's system + developer prompts into one system-prompt string. */ +export function buildSystemPrompt(parsed: OcxParsedRequest): string | undefined { + const parts: string[] = []; + for (const line of parsed.context.systemPrompt ?? []) { + if (line && line.trim()) parts.push(line); + } + for (const message of parsed.context.messages) { + if (message.role !== "developer") continue; + const text = typeof message.content === "string" + ? message.content + : message.content.map(part => (part.type === "text" ? part.text : "")).join(""); + if (text.trim()) parts.push(text); + } + return parts.length > 0 ? parts.join("\n\n") : undefined; +} + +/** + * Build the ordered stream-json input lines for a turn (Strategy C: Legal user-message projection). + * + * In stream-json mode, the vendor CLI stdin parser strictly accepts `type: "user"` frames + * (`{"type":"user","message":{"role":"user","content":...}}`). + * Undocumented `{"type":"assistant",...}` frames are dropped by the vendor parser. + * + * Multi-turn history (user, assistant, tool results) is projected into a legal user message: + * prior conversation turns are structured as bounded context text with tool results as text, + * clearly demarcated from the current user request. Codex retains tool control; vendor tools are never invoked. + */ +export function buildConversationInput(parsed: OcxParsedRequest): string[] { + const nonDev = parsed.context.messages.filter(m => m.role !== "developer"); + if (nonDev.length === 0) { + return [JSON.stringify({ type: "user", message: { role: "user", content: [{ type: "text", text: "" }] } })]; + } + + if (nonDev.length === 1 && nonDev[0]!.role === "user") { + return buildInputLines(nonDev[0]!); + } + + // Multi-turn conversation or history with tool results: + const historyMessages = nonDev.slice(0, -1); + const currentMessage = nonDev[nonDev.length - 1]!; + + const imageBlocks: WireContentPart[] = []; + let currentRequestText = ""; + + if (currentMessage.role === "user") { + if (typeof currentMessage.content === "string") { + currentRequestText = currentMessage.content; + } else { + const textParts: string[] = []; + for (const part of currentMessage.content) { + if (part.type === "text") textParts.push(part.text); + else if (part.type === "image") { + const image = imagePart(part.imageUrl); + if (image) imageBlocks.push(image); + } else { + textParts.push("[video]"); + } + } + currentRequestText = textParts.join("\n"); + } + } else if (currentMessage.role === "toolResult") { + const text = typeof currentMessage.content === "string" + ? currentMessage.content + : currentMessage.content.map(p => (p.type === "text" ? p.text : "[image]")).join(""); + const status = currentMessage.isError ? " (error)" : ""; + currentRequestText = `TOOL RESULT (call_id: ${currentMessage.toolCallId})${status}:\n${text}\n\nPlease proceed based on the above tool result.`; + } else { + currentRequestText = formatMessageForHistory(currentMessage); + } + + // Also collect any images from history messages so multimodal attachments are never dropped: + for (const msg of historyMessages) { + if (msg.role === "user" && Array.isArray(msg.content)) { + for (const part of msg.content) { + if (part.type === "image") { + const img = imagePart(part.imageUrl); + if (img) imageBlocks.push(img); + } + } + } + } + + let historyText = historyMessages.map(formatMessageForHistory).filter(Boolean).join("\n\n"); + if (historyText.length > MAX_PROJECTED_HISTORY_CHARS) { + historyText = `[Earlier conversation history truncated for length...]\n\n` + + historyText.slice(historyText.length - MAX_PROJECTED_HISTORY_CHARS); + } + + const combinedText = `Prior conversation context:\n\n${historyText}\n\nCurrent user request:\n\n${currentRequestText}`; + + const content: WireContentPart[] = [{ type: "text", text: combinedText }, ...imageBlocks]; + return [JSON.stringify({ type: "user", message: { role: "user", content } })]; +} diff --git a/src/adapters/coding-agent/turn.ts b/src/adapters/coding-agent/turn.ts new file mode 100644 index 00000000000..c1ff73fa8d5 --- /dev/null +++ b/src/adapters/coding-agent/turn.ts @@ -0,0 +1,353 @@ +import { spawn as nodeSpawn, type ChildProcess, type SpawnOptions } from "node:child_process"; +import type { AdapterEvent, OcxParsedRequest, OcxProviderConfig } from "../../types"; +import { commandInvocation } from "../../lib/win-exec"; +import type { IncomingMeta } from "../base"; +import { buildConversationInput, CodingAgentProtocolError, mapStreamMessageToEvents, readJsonLines, type StreamParseState } from "./protocol"; +import { resolveCodingAgentBinary, resolveProfileByBaseUrl, type CodingAgentProviderProfile, type WhichFn } from "./profile"; + +/** Injectable spawn for tests; production uses node:child_process. */ +export type SpawnFn = (command: string, args: readonly string[], options: SpawnOptions) => ChildProcess; + +/** Per-turn injectables: spawn/which seams for tests plus wall-clock ceilings for timeout, kill grace, and bounded reap. */ +export interface CodingAgentDeps { + spawn?: SpawnFn; + which?: WhichFn; + /** Overall wall-clock ceiling for one turn (ms). */ + timeoutMs?: number; + /** Grace period between SIGTERM and SIGKILL (ms). */ + killGraceMs?: number; + /** Maximum time to wait for a child that never reports close after termination (ms). */ + reapTimeoutMs?: number; + /** Test seam for Windows command-shim invocation. */ + platform?: NodeJS.Platform; +} + +const DEFAULT_TIMEOUT_MS = 300_000; +const DEFAULT_KILL_GRACE_MS = 2_000; +/** Bound captured stderr so an error message can never carry an unbounded (or secret) payload. */ +const MAX_STDERR_BYTES = 8 * 1024; + +/** Env keys a CLI needs to run; everything else is dropped so the child env is scoped and deterministic. */ +const INHERITED_ENV_KEYS = [ + "PATH", "HOME", "USERPROFILE", "LANG", "LC_ALL", "LC_CTYPE", "TMPDIR", "TEMP", "TMP", + "SHELL", "SYSTEMROOT", "APPDATA", "LOCALAPPDATA", "PROGRAMFILES", "PROGRAMFILES(X86)", + "COMSPEC", "PATHEXT", "SYSTEMDRIVE", "USERNAME", "TZ", +] as const; + +/** + * Base scoped child-process environment (§六/§十四). + * + * Never mutates `process.env` (no cross-provider pollution under concurrency) and never inherits a + * parent vendor variable, so a stray region switch in the host shell cannot flip a provider's + * region: the profile is the sole authority. Family builders layer the credential + region vars on + * top of this. + */ +export function baseScopedEnv(): Record<string, string> { + const env: Record<string, string> = {}; + for (const key of INHERITED_ENV_KEYS) { + const value = process.env[key]; + if (typeof value === "string" && value.length > 0) env[key] = value; + } + return env; +} + +/** Redact the profile's credential and common secret shapes before surfacing diagnostics. */ +export function redactSecrets(text: string, tokenEnv: string, credential?: string): string { + const escaped = tokenEnv.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + let redacted = text; + if (credential) redacted = redacted.split(credential).join("[redacted]"); + return redacted + .replace(new RegExp(`(${escaped}\\s*[:=]\\s*)\\S+`, "gi"), "$1[redacted]") + .replace(/(authorization\s*[:=]\s*)\S+/gi, "$1[redacted]") + .replace(/\b(sk-[A-Za-z0-9_-]{6,})\b/g, "[redacted]"); +} + +/** Inputs for one headless CLI turn: region profiles, request context, and family-specific arg/env builders. */ +export interface CodingAgentTurnInput { + /** Region profiles for this family; the turn fails closed if the base URL matches none. */ + profiles: readonly CodingAgentProviderProfile[]; + provider: OcxProviderConfig; + parsed: OcxParsedRequest; + incoming: IncomingMeta; + emit: (event: AdapterEvent) => void; + /** Family-specific headless argument builder (tools disabled, model, reasoning, system prompt). */ + buildArgs: (profile: CodingAgentProviderProfile, parsed: OcxParsedRequest, provider: OcxProviderConfig) => string[]; + /** Family-specific scoped env builder (credential + region switch on top of baseScopedEnv). */ + buildEnv: (profile: CodingAgentProviderProfile, apiKey: string) => Record<string, string>; + deps: CodingAgentDeps; +} + +/** + * Run one headless coding-agent CLI turn as an OpenCodex `runTurn` (§七/§三十). + * + * Single transport for every official coding-agent CLI provider: fail closed on a non-canonical + * destination, pre-flight the credential and binary, spawn with a scoped env and tools disabled, feed + * the replayed conversation over stream-json, map the vendor's Anthropic-aligned frames to + * AdapterEvents, and always reap the process. Codex retains tool ownership: the CLI runs with its own + * tools disabled, so this turn yields text/reasoning (the control-protocol tool bridge is a + * documented fast-follow). + */ +export async function runCodingAgentTurn(input: CodingAgentTurnInput): Promise<void> { + const { profiles, provider, parsed, incoming, emit, buildArgs, buildEnv, deps } = input; + const spawnFn = deps.spawn ?? nodeSpawn; + const timeoutMs = deps.timeoutMs ?? DEFAULT_TIMEOUT_MS; + const killGraceMs = deps.killGraceMs ?? DEFAULT_KILL_GRACE_MS; + const reapTimeoutMs = deps.reapTimeoutMs ?? (killGraceMs * 2 + 250); + + if (incoming.abortSignal?.aborted) { + emit({ type: "error", message: "Coding-agent turn was aborted before start." }); + return; + } + + // Fail closed on a non-canonical destination BEFORE any credential is placed in an env (§十六). + const profile = resolveProfileByBaseUrl(profiles, provider.baseUrl); + if (!profile) { + emit({ + type: "error", + message: "Provider base URL is not a canonical region destination; the credential was not sent.", + status: 400, + errorType: "invalid_request_error", + code: "non_canonical_destination", + retryable: false, + }); + return; + } + const apiKey = provider.apiKey; + if (!apiKey) { + emit({ + type: "error", + message: `${profile.label} credential missing — add an API key for this provider (${profile.tokenEnv}).`, + status: 401, + errorType: "authentication_error", + code: "missing_credential", + retryable: false, + }); + return; + } + // Pre-flight binary discovery so a missing CLI is a clear error, not a mid-turn ENOENT (§二十六). + const binary = resolveCodingAgentBinary(profile, deps.which); + if (!binary) { + emit({ + type: "error", + message: `${profile.label} CLI not found on PATH. Install it with: ${profile.installHint}`, + status: 500, + errorType: "upstream_error", + code: "cli_not_found", + retryable: false, + }); + return; + } + + const args = buildArgs(profile, parsed, provider); + const env = buildEnv(profile, apiKey); + const invocation = commandInvocation(binary, args, deps.platform ?? process.platform, { env }); + + let child: ChildProcess; + try { + child = spawnFn(invocation.file, invocation.args, { + ...invocation.options, + env, + stdio: ["pipe", "pipe", "pipe"], + windowsHide: true, + }); + } catch (err) { + emit({ + type: "error", + message: redactSecrets(err instanceof Error ? err.message : String(err), profile.tokenEnv, apiKey), + status: 500, + errorType: "upstream_error", + code: "cli_spawn_failed", + retryable: false, + }); + return; + } + + // `spawn()` reports launch failures such as ENOENT asynchronously through `error`; they are not + // reliably thrown by the call above. Subscribe immediately and create the lifecycle promise now, + // before stdout can end, so neither a fast close nor a launch failure can be missed by the reap step. + let childProcessError: Error | undefined; + const processLifecycle = new Promise<void>(resolve => { + let settled = false; + const settle = (): void => { + if (settled) return; + settled = true; + resolve(); + }; + child.once("error", err => { + childProcessError = err; + // A launch failure has no process to reap and is not guaranteed to emit `close` on every runtime. + if (child.pid === undefined) settle(); + }); + child.once("close", settle); + if (child.exitCode !== null) settle(); + }); + + let terminalEmitted = false; + const emitOnce = (event: AdapterEvent): void => { + if (event.type === "done" || event.type === "error" || event.type === "incomplete") { + if (terminalEmitted) return; + terminalEmitted = true; + } + emit(event); + }; + + const stderrChunks: string[] = []; + let killed = false; + let killTimer: ReturnType<typeof setTimeout> | undefined; + const kill = (): void => { + if (killed || child.killed) return; + killed = true; + try { child.kill("SIGTERM"); } catch { /* already gone */ } + killTimer = setTimeout(() => { + try { child.kill("SIGKILL"); } catch { /* already gone */ } + }, killGraceMs); + }; + + const stopStream = (): void => { + try { child.stdout?.destroy(); } catch { /* already closed */ } + }; + const onAbort = (): void => { + kill(); + stopStream(); + }; + incoming.abortSignal?.addEventListener("abort", onAbort, { once: true }); + const timeoutTimer = setTimeout(() => { + kill(); + stopStream(); + emitOnce({ type: "error", message: `${profile.label} turn timed out.`, status: 504, errorType: "upstream_error", code: "timeout", retryable: true }); + }, timeoutMs); + + child.stderr?.setEncoding("utf8"); + child.stderr?.on("data", (chunk: string) => { + if (stderrChunks.join("").length < MAX_STDERR_BYTES) stderrChunks.push(chunk); + }); + + const cleanup = (): void => { + clearTimeout(timeoutTimer); + incoming.abortSignal?.removeEventListener("abort", onAbort); + try { child.stdin?.destroy(); } catch { /* ignore */ } + // Termination is owned by the reap step below, not here: killing in cleanup would set + // `child.killed` and let the wait resolve before the process is actually reaped (§三十). + }; + + let streamProtocolError: string | undefined; + let turnError: string | undefined; + const state: StreamParseState = { + sawPartialText: false, + sawPartialThinking: false, + sawTerminalResult: false, + openToolCallId: undefined, + }; + + try { + // Write the replayed conversation, then close stdin so a single-shot turn can complete. + const stdin = child.stdin; + if (stdin) { + stdin.on("error", () => { /* EPIPE if the CLI exits early; surfaced via close/stderr */ }); + for (const line of buildConversationInput(parsed)) stdin.write(`${line}\n`); + stdin.end(); + } + const stdout = child.stdout; + if (!stdout) throw new CodingAgentProtocolError(`${profile.label} CLI produced no stdout stream`); + try { + for await (const message of readJsonLines(stdout)) { + if (incoming.abortSignal?.aborted) break; + for (const event of mapStreamMessageToEvents(message, state)) { + emitOnce(event.type === "error" + ? { ...event, message: redactSecrets(event.message, profile.tokenEnv, apiKey) } + : event); + } + if (terminalEmitted) break; + } + } catch (err) { + kill(); + streamProtocolError = err instanceof Error ? err.message : String(err); + } + } catch (err) { + kill(); + turnError = err instanceof Error ? err.message : String(err); + } finally { + cleanup(); + } + + // Reap the process so no zombie is left behind (§三十): wait for the real `close`, and + // force-terminate only if it lingers past the grace window after the stream ended. + const graceTimer = setTimeout(() => { kill(); }, killGraceMs); + let reapTimer: ReturnType<typeof setTimeout> | undefined; + await Promise.race([ + processLifecycle, + new Promise<void>(resolve => { + reapTimer = setTimeout(resolve, reapTimeoutMs); + }), + ]); + clearTimeout(graceTimer); + if (reapTimer) clearTimeout(reapTimer); + if (killTimer) clearTimeout(killTimer); + + if (!terminalEmitted) { + const stderr = redactSecrets(boundedStderr(stderrChunks), profile.tokenEnv, apiKey); + if (incoming.abortSignal?.aborted) { + emitOnce({ type: "error", message: `${profile.label} turn was aborted.`, retryable: false }); + } else if (childProcessError) { + emitOnce({ + type: "error", + message: `${profile.label} CLI failed to start: ${redactSecrets(childProcessError.message, profile.tokenEnv, apiKey)}`, + status: 500, + errorType: "upstream_error", + code: "cli_spawn_failed", + retryable: false, + }); + } else if (turnError) { + emitOnce({ + type: "error", + message: redactSecrets(turnError, profile.tokenEnv, apiKey), + status: 502, + errorType: "upstream_error", + }); + } else if (streamProtocolError) { + emitOnce({ + type: "error", + message: redactSecrets(streamProtocolError, profile.tokenEnv, apiKey), + status: 502, + errorType: "upstream_error", + code: "protocol_error", + retryable: false, + }); + } else if (child.exitCode !== null && child.exitCode !== 0) { + const exitMsg = stderr + ? `${profile.label} CLI exited with code ${child.exitCode}: ${stderr}` + : `${profile.label} CLI exited with non-zero exit code ${child.exitCode}`; + emitOnce({ + type: "error", + message: exitMsg, + status: 502, + errorType: "upstream_error", + code: "process_exit_error", + retryable: false, + }); + } else if (!state.sawTerminalResult) { + const msg = stderr + ? `${profile.label} CLI ended without a terminal result frame: ${stderr}` + : `${profile.label} CLI ended without a terminal result frame`; + emitOnce({ + type: "error", + message: msg, + status: 502, + errorType: "upstream_error", + code: "protocol_error", + retryable: false, + }); + } + } +} + +function boundedStderr(chunks: string[]): string { + let total = 0; + const kept: string[] = []; + for (const chunk of chunks) { + if (total >= MAX_STDERR_BYTES) break; + kept.push(chunk); + total += chunk.length; + } + return kept.join("").slice(0, MAX_STDERR_BYTES).trim(); +} diff --git a/src/adapters/google.ts b/src/adapters/google.ts index 1001ce60852..5fd503d1f21 100644 --- a/src/adapters/google.ts +++ b/src/adapters/google.ts @@ -452,6 +452,18 @@ function messagesToGeminiFormat( } } + // Gemini API and Claude-on-Antigravity reject assistant-tail (model-tail in Gemini terms) + // histories. Gemini fails upstream with "Requests ending with a model turn are not supported" + // (HTTP 400), while Claude fails with "This model does not support assistant message prefill. + // The conversation must end with a user message." Context compaction, previous_response_id + // expansion, subagent orchestration, and interrupted-turn replay can all produce a + // model-tail history. Append a user "(continue)" nudge, mirroring the anthropic adapter's + // tail guard (src/adapters/anthropic.ts). + const lastTurn = contents.length > 0 ? (contents[contents.length - 1] as { role?: string }) : undefined; + if (!lastTurn || lastTurn.role === "model") { + contents.push({ role: "user", parts: [{ text: "(continue)" }] }); + } + return { systemInstruction, contents, replayedCallIds }; } @@ -979,17 +991,9 @@ export function createGoogleAdapter(provider: OcxProviderConfig): ProviderAdapte // fills a first functionCall that replay could not sign. Outside the cache branch too, // because the turn still needs a signature when no session was ever recorded. applyAntigravityThoughtSignatureFallback(wireModelId, contents); - // Claude-on-Antigravity rejects assistant-tail (model-tail in Gemini terms) histories - // as prefill: "This model does not support assistant message prefill. The conversation - // must end with a user message." Context compaction, previous_response_id expansion, - // and interrupted-turn replay can all produce a model-tail history. Append a user - // "(continue)" nudge, mirroring the anthropic adapter's tail guard (src/adapters/anthropic.ts). - if (/claude/i.test(wireModelId)) { - const last = contents.length > 0 ? contents[contents.length - 1] as { role?: string } : undefined; - if (!last || last.role === "model") { - contents.push({ role: "user", parts: [{ text: "(continue)" }] }); - } - } + // The model-tail "(continue)" guard runs once, in messagesToGeminiFormat, so CCA, + // Vertex and AI Studio share one decision. A second check here would append a + // duplicate nudge whenever signature sanitization reshapes the tail afterwards. } const envelope = { model: wireModelId, diff --git a/src/adapters/mimo-free.ts b/src/adapters/mimo-free.ts index a257e7d4c90..d394423cb17 100644 --- a/src/adapters/mimo-free.ts +++ b/src/adapters/mimo-free.ts @@ -110,6 +110,7 @@ async function fetchJwt(signal?: AbortSignal): Promise<string> { const combined = signal ? AbortSignal.any([signal, timeout]) : timeout; const response = await fetch(BOOTSTRAP_URL, { method: "POST", + redirect: "manual", headers: { "Content-Type": "application/json", "User-Agent": randomUserAgent(), @@ -249,6 +250,7 @@ export function createMimoFreeAdapter(provider: OcxProviderConfig): ProviderAdap async fetchResponse(request: AdapterRequest, ctx): Promise<Response> { const response = await fetch(request.url, { method: request.method, + redirect: "manual", headers: request.headers as Record<string, string>, body: request.body, signal: ctx?.abortSignal, @@ -268,6 +270,7 @@ export function createMimoFreeAdapter(provider: OcxProviderConfig): ProviderAdap }; return fetch(request.url, { method: request.method, + redirect: "manual", headers: retryHeaders, body: request.body, signal: ctx?.abortSignal, diff --git a/src/adapters/openai-chat.ts b/src/adapters/openai-chat.ts index 0abb3277ae7..4ba654487c7 100644 --- a/src/adapters/openai-chat.ts +++ b/src/adapters/openai-chat.ts @@ -27,7 +27,7 @@ import { type ResolvedFastPolicy, } from "../providers/fastwire"; import { openaiChatCompletionsUrl } from "./openai-chat-url"; -import { stripResponsesOnlyEncryptedMarker } from "./responses-tool-schema"; +import { stripResponsesOnlyEncryptedMarker, stripUnicodePropertyPatterns } from "./responses-tool-schema"; import { agentRouterDefaultHeaders, frameAgentRouterMessages } from "./agentrouter"; import { isXaiSchemaTarget, @@ -1331,7 +1331,7 @@ function toolsToChatFormat(parsed: OcxParsedRequest, provider: OcxProviderConfig : moonshotTarget ? normalizeMoonshotToolParameters(t.parameters) : ensureRootObjectType(t.parameters); - const parameters = stripResponsesOnlyEncryptedMarker(normalized); + const parameters = stripUnicodePropertyPatterns(stripResponsesOnlyEncryptedMarker(normalized)); if (parameters === undefined) return []; return [{ diff --git a/src/adapters/openai-responses.ts b/src/adapters/openai-responses.ts index 24c112e8a93..ee1b7c9445f 100644 --- a/src/adapters/openai-responses.ts +++ b/src/adapters/openai-responses.ts @@ -1,4 +1,6 @@ -import { isOpenCodeGo, normalizeOpenCodeGoAgentMessages } from "./opencode-go"; +import { normalizeRoutedAgentMessages } from "./routed-agent-messages"; +import { normalizeOpenCodeGoAdditionalTools } from "./opencode-go-additional-tools"; +import { isXaiResponsesDestination } from "../providers/xai-transport"; import { createHash } from "node:crypto"; import type { IncomingMeta, ProviderAdapter } from "./base"; import { namespacedToolName, type AdapterEvent, type OcxParsedRequest, type OcxProviderConfig, type OcxUsage, type TierDecision } from "../types"; @@ -23,6 +25,7 @@ import { rewriteRoutedToolSearchForUpstream } from "../responses/tool-search-com import { rewriteRoutedNamespaceToolsForUpstream } from "../responses/namespace-tool-compat"; import { openaiResponsesUrl } from "./openai-responses-url"; import { normalizeResponsesCodeMode } from "./responses-code-mode"; +import { stripUnicodePropertyPatterns } from "./responses-tool-schema"; import { injectXaiResponsesXSearch, normalizeXaiResponsesWebSearch } from "./xai-web-search"; import { EMPTY_TOOL_OUTPUT_ANNOTATION, isWhitespaceOnlyTextPartArray } from "./empty-tool-output-annotation"; import { @@ -665,14 +668,18 @@ function mapRoutedResponsesReasoningEffort( function normalizeFunctionToolSchema(tool: unknown, xaiTarget: boolean): unknown | undefined { if (!isPlainObject(tool) || tool.type !== "function") return tool; + // Runs for every Responses destination, forward auth included: the ChatGPT backend is where + // the `\p{…}` rejection was observed, and it reaches this function through the same seam. + const compatible = stripUnicodePropertyPatterns(tool); + const source = isPlainObject(compatible) ? compatible : tool; if (xaiTarget) { - const parameters = normalizeXaiToolParameters(isPlainObject(tool.parameters) ? tool.parameters : {}); - return parameters === undefined ? undefined : { ...tool, parameters }; + const parameters = normalizeXaiToolParameters(isPlainObject(source.parameters) ? source.parameters : {}); + return parameters === undefined ? undefined : { ...source, parameters }; } - if (isPlainObject(tool.parameters) && tool.parameters.type === "object") return tool; + if (isPlainObject(source.parameters) && source.parameters.type === "object") return source; return { - ...tool, - parameters: { ...(isPlainObject(tool.parameters) ? tool.parameters : {}), type: "object" }, + ...source, + parameters: { ...(isPlainObject(source.parameters) ? source.parameters : {}), type: "object" }, }; } @@ -2142,12 +2149,15 @@ export function stripOpenAiOnlyWebSearchFields(body: unknown): unknown { */ const MUSE_SPARK_WEB_SEARCH_STRICT_MODELS = new Set([ "muse-spark-1.3-contributor", + "muse-spark-1.3-contributor-free", "muse-spark-1.2-contributor", + "muse-spark-1.2-contributor-free", ]); const MUSE_SPARK_WEB_SEARCH_STRICT_RESPONSE_URLS = new Set([ "https://opencode.ai/zen/v1/responses", "https://opencode.ai/zen/go/v1/responses", + "https://api.meta.ai/v1/responses", ]); const MUSE_SPARK_UNSUPPORTED_WEB_SEARCH_FIELDS = [ @@ -2156,12 +2166,13 @@ const MUSE_SPARK_UNSUPPORTED_WEB_SEARCH_FIELDS = [ ] as const; /** - * OpenCode Zen / Go Muse Spark Responses gateway refuses a short list of Codex - * `web_search` fields. `web_search_preview` keeps its accepted shape, and Luna - * remains untouched. Match the exact effective request URL; malformed, credentialed, - * or parameterized destinations keep their original body instead of assuming this - * gateway contract. Keep the rejected names together so a newly identified field is - * a one-line compatibility update rather than another bespoke rewrite. + * OpenCode Zen / Go and the direct Meta Muse Spark Responses gateways refuse a + * short list of Codex `web_search` fields. `web_search_preview` keeps its accepted + * shape, and Luna remains untouched. Match the exact effective request URL; + * malformed, credentialed, or parameterized destinations keep their original body + * instead of assuming this gateway contract. Keep the rejected names together so a + * newly identified field is a one-line compatibility update rather than another + * bespoke rewrite. */ function stripMuseSparkUnsupportedWebSearchFields( body: unknown, @@ -2383,7 +2394,9 @@ export function createResponsesPassthroughAdapter(provider: OcxProviderConfig): parsed._rawBody, forward || parsed._previousResponseInputExpanded === true, ); - if (!forward && isOpenCodeGo(provider.baseUrl)) outBody = normalizeOpenCodeGoAgentMessages(outBody); + if (!forward) outBody = normalizeRoutedAgentMessages(outBody, { + allowStringContent: isXaiResponsesDestination(provider), + }); outBody = mapRoutedResponsesReasoningEffort(outBody, provider, parsed.modelId); // stripPreviousResponseId() intentionally returns its input on a no-op. Detach before the // tier write so a force-fast/default decision can never mutate parsed._rawBody. @@ -2474,6 +2487,7 @@ export function createResponsesPassthroughAdapter(provider: OcxProviderConfig): // Last, so promoted namespace children are also cleared of Codex-private fields. outBody = stripCanonicalOnlyToolFields(outBody, provider.supportsOpenAiWebSearchToolFields === false); } + if (!forward) outBody = normalizeOpenCodeGoAdditionalTools(outBody, url); // Same predicate as the routedCompaction gate in handleResponses(): an authMode check would // let a noncanonical custom forward provider skip this rewrite while the server still routes // it as a summarizer turn (#422). The compaction body build removes the tool surface and must @@ -2523,6 +2537,13 @@ export function createResponsesPassthroughAdapter(provider: OcxProviderConfig): parsed.modelId, ); if (isCanonicalOpenAiForwardProvider(provider)) { + // Spark closes Responses Lite streams before a terminal completion. Select compatibility + // from the final wire model so aliases cannot leave the caller or a static header enabled. + if (isPlainObject(finalBody) && finalBody.model === "gpt-5.3-codex-spark") { + for (const name of Object.keys(headers)) { + if (name.toLowerCase() === CODEX_RESPONSES_LITE_HEADER) delete headers[name]; + } + } const routingHeaders = new Headers(headers); applyCodexRoutingHint(routingHeaders, finalBody); // Static headers may use mixed casing. Remove every stale spelling diff --git a/src/adapters/opencode-go-additional-tools.ts b/src/adapters/opencode-go-additional-tools.ts new file mode 100644 index 00000000000..35e3aaa3e49 --- /dev/null +++ b/src/adapters/opencode-go-additional-tools.ts @@ -0,0 +1,35 @@ +function isRecord(value: unknown): value is Record<string, unknown> { + return !!value && typeof value === "object" && !Array.isArray(value); +} + +/** Console Go accepts public tools but rejects the private additional_tools input wrapper. */ +export function normalizeOpenCodeGoAdditionalTools(body: unknown, responseUrl: string): unknown { + let destination: URL; + try { + destination = new URL(responseUrl); + } catch { + return body; + } + if (destination.origin !== "https://opencode.ai" + || destination.pathname !== "/zen/go/v1/responses" + || destination.username || destination.password + || destination.href.includes("?") || destination.href.includes("#")) return body; + if (!isRecord(body) || !Array.isArray(body.input)) return body; + // Do not replace a malformed top-level catalog with a partial promoted one. + if (body.tools !== undefined && !Array.isArray(body.tools)) return body; + + const input: unknown[] = []; + const promoted: unknown[] = []; + let changed = false; + for (const item of body.input) { + if (isRecord(item) && item.type === "additional_tools" && Array.isArray(item.tools)) { + changed = true; + // Custom/search/namespace lowering already owns identity and deduplication. This pass + // only moves declarations, including hosted tools that intentionally have no name. + for (const tool of item.tools) promoted.push(tool); + } else { + input.push(item); + } + } + return changed ? { ...body, input, tools: [...(body.tools ?? []), ...promoted] } : body; +} diff --git a/src/adapters/opencode-go.ts b/src/adapters/opencode-go.ts deleted file mode 100644 index 94055a292a4..00000000000 --- a/src/adapters/opencode-go.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** Match the Go destination, including user-renamed provider entries. */ -export function isOpenCodeGo(baseUrl: string): boolean { - try { - const url = new URL(baseUrl); - return url.origin === "https://opencode.ai" && url.pathname.replace(/\/+$/, "") === "/zen/go/v1"; - } catch { return false; } -} - -/** Public Responses rejects Codex's private agent_message variant, even with plaintext content. */ -export function normalizeOpenCodeGoAgentMessages(body: unknown): unknown { - if (!body || typeof body !== "object" || Array.isArray(body)) return body; - const record = body as Record<string, unknown>; - if (!Array.isArray(record.input)) return body; - let changed = false; - const input = record.input.map((item: unknown) => { - if (!item || typeof item !== "object" || Array.isArray(item)) return item; - const message = item as Record<string, unknown>; - if (message.type !== "agent_message" || !Array.isArray(message.content) || message.content.length === 0) return item; - // Genuine ciphertext and unknown part types must retain their existing fail-closed path. - if (!message.content.every(part => part && typeof part === "object" - && ["input_text", "input_image", "input_file"].includes(part.type))) return item; - const identities = Object.fromEntries(["author", "recipient"] - .filter(key => typeof message[key] === "string") - .map(key => [key, message[key]])); - changed = true; - return { - type: "message", role: "user", - content: [ - ...(Object.keys(identities).length ? [{ type: "input_text", text: `Agent message ${JSON.stringify(identities)}` }] : []), - ...message.content, - ], - }; - }); - return changed ? { ...record, input } : body; -} diff --git a/src/adapters/qoder/adapter.ts b/src/adapters/qoder/adapter.ts new file mode 100644 index 00000000000..20c0b5581b7 --- /dev/null +++ b/src/adapters/qoder/adapter.ts @@ -0,0 +1,70 @@ +import type { AdapterEvent, OcxParsedRequest, OcxProviderConfig } from "../../types"; +import type { AdapterRequest, ProviderAdapter } from "../base"; +import { mapReasoningEffort } from "../../reasoning-effort"; +import { buildSystemPrompt } from "../coding-agent/protocol"; +import { baseScopedEnv, runCodingAgentTurn, type CodingAgentDeps } from "../coding-agent/turn"; +import { QODER_PROFILES, type QoderProfile } from "./profiles"; + +export type QoderAdapterDeps = CodingAgentDeps; + +export function buildQoderChildEnv(profile: QoderProfile, apiKey: string): Record<string, string> { + return { ...baseScopedEnv(), NO_COLOR: "1", [profile.tokenEnv]: apiKey }; +} + +/** Single-shot, tools-disabled Qoder CLI invocation; Codex remains the tool owner. */ +export function buildQoderArgs(parsed: OcxParsedRequest, provider: OcxProviderConfig): string[] { + const args = [ + "-p", + "--output-format", "stream-json", + "--input-format", "stream-json", + "--tools", "", + "--strict-mcp-config", + "--setting-sources", "", + "--max-turns", "1", + "--no-session-persistence", + "--model", parsed.modelId, + ]; + const effort = mapReasoningEffort(provider, parsed.modelId, parsed.options.reasoning); + if (effort) args.push("--reasoning-effort", effort); + const system = buildSystemPrompt(parsed); + if (system) args.push("--append-system-prompt", system); + return args; +} + +export function createQoderAdapter(provider: OcxProviderConfig, deps: QoderAdapterDeps = {}): ProviderAdapter { + return { + name: "qoder", + buildRequest(): AdapterRequest { + return { url: provider.baseUrl, method: "POST", headers: {}, body: "" }; + }, + async *parseStream(): AsyncGenerator<AdapterEvent> { + yield { type: "error", message: "Qoder adapter uses runTurn; the fetch/parseStream path is disabled." }; + }, + async runTurn(parsed, incoming, emit): Promise<void> { + const hasImage = parsed.context.messages.some(message => + Array.isArray(message.content) && message.content.some(part => part.type === "image"), + ); + if (hasImage) { + emit({ + type: "error", + message: "Qoder image input is not enabled because the CLI provider route has no verified multimodal contract.", + status: 400, + errorType: "invalid_request_error", + code: "unsupported_input_modality", + retryable: false, + }); + return; + } + await runCodingAgentTurn({ + profiles: QODER_PROFILES, + provider, + parsed, + incoming, + emit, + buildArgs: (_profile, req, prov) => buildQoderArgs(req, prov), + buildEnv: (profile, apiKey) => buildQoderChildEnv(profile as QoderProfile, apiKey), + deps, + }); + }, + }; +} diff --git a/src/adapters/qoder/live-models.ts b/src/adapters/qoder/live-models.ts new file mode 100644 index 00000000000..06d10408bf0 --- /dev/null +++ b/src/adapters/qoder/live-models.ts @@ -0,0 +1,89 @@ +import { execFile } from "node:child_process"; +import { commandInvocation } from "../../lib/win-exec"; +import { isValidModelDiscoveryModelId } from "../../providers/model-discovery-limits"; +import { baseScopedEnv, redactSecrets } from "../coding-agent/turn"; +import { resolveCodingAgentBinary, type WhichFn } from "../coding-agent/profile"; +import type { QoderProfile } from "./profiles"; + +const MAX_OUTPUT_BYTES = 256 * 1024; +const MAX_MODELS = 256; + +export type QoderModelsResult = + | { ok: true; models: string[] } + | { ok: false; error: "auth" | "cli_not_found" | "timeout" | "process" | "invalid_output" | "empty" | "too_large"; detail?: string }; + +export interface QoderExecResult { stdout: string; stderr: string } +export type QoderExecFn = ( + command: string, + args: readonly string[], + options: { env: Record<string, string>; timeout: number; maxBuffer: number; windowsHide: boolean; windowsVerbatimArguments?: boolean }, +) => Promise<QoderExecResult>; + +export interface QoderModelsDeps { + which?: WhichFn; + platform?: NodeJS.Platform; + timeoutMs?: number; + exec?: QoderExecFn; +} + +type QoderModelsFetcher = (profile: QoderProfile, apiKey: string) => QoderModelsResult | Promise<QoderModelsResult>; +let qoderModelsFetcherForTests: QoderModelsFetcher | null = null; + +export function setFetchQoderModelsForTests(next: QoderModelsFetcher | null): void { + qoderModelsFetcherForTests = next; +} + +export function parseQoderModelList(stdout: string): QoderModelsResult { + if (Buffer.byteLength(stdout) > MAX_OUTPUT_BYTES) return { ok: false, error: "too_large" }; + const lines = stdout.split(/\r?\n/); + const header = lines.findIndex(raw => /^model$/i.test(raw.trim())); + if (header < 0) return { ok: false, error: "invalid_output", detail: "Qoder model list header is missing" }; + const models: string[] = []; + const seen = new Set<string>(); + for (const raw of lines.slice(header + 1)) { + const id = raw.trim(); + if (!id || seen.has(id) || !isValidModelDiscoveryModelId(id)) continue; + seen.add(id); + models.push(id); + if (models.length >= MAX_MODELS) break; + } + return models.length > 0 ? { ok: true, models } : { ok: false, error: "empty" }; +} + +function execQoder(command: string, args: readonly string[], options: Parameters<QoderExecFn>[2]): Promise<QoderExecResult> { + return new Promise((resolve, reject) => { + execFile(command, [...args], { ...options, encoding: "utf8" }, (error, stdout, stderr) => { + if (error) { + reject(Object.assign(error, { stdout, stderr })); + return; + } + resolve({ stdout, stderr }); + }); + }); +} + +/** Discover the roster exposed to this exact PAT via the documented `--list-models` command. */ +export async function fetchQoderModels(profile: QoderProfile, apiKey: string, deps: QoderModelsDeps = {}): Promise<QoderModelsResult> { + if (qoderModelsFetcherForTests) return qoderModelsFetcherForTests(profile, apiKey); + const binary = resolveCodingAgentBinary(profile, deps.which); + if (!binary) return { ok: false, error: "cli_not_found", detail: profile.installHint }; + const env = { ...baseScopedEnv(), NO_COLOR: "1", [profile.tokenEnv]: apiKey }; + const invocation = commandInvocation(binary, ["--list-models"], deps.platform ?? process.platform, { env }); + try { + const result = await (deps.exec ?? execQoder)(invocation.file, invocation.args, { + ...invocation.options, + env, + timeout: deps.timeoutMs ?? 8_000, + maxBuffer: MAX_OUTPUT_BYTES, + windowsHide: true, + }); + return parseQoderModelList(result.stdout); + } catch (error) { + const failure = error as NodeJS.ErrnoException & { killed?: boolean; stderr?: string }; + const stderr = redactSecrets(failure.stderr ?? failure.message ?? String(error), profile.tokenEnv, apiKey).trim().slice(0, 512); + if (failure.killed || failure.code === "ETIMEDOUT") return { ok: false, error: "timeout", detail: "Qoder model discovery timed out" }; + if (failure.code === "ERR_CHILD_PROCESS_STDIO_MAXBUFFER") return { ok: false, error: "too_large" }; + const auth = /not logged in|invalid (?:personal access )?token|authentication/i.test(stderr); + return { ok: false, error: auth ? "auth" : "process", ...(stderr ? { detail: stderr } : {}) }; + } +} diff --git a/src/adapters/qoder/profiles.ts b/src/adapters/qoder/profiles.ts new file mode 100644 index 00000000000..a90a274f434 --- /dev/null +++ b/src/adapters/qoder/profiles.ts @@ -0,0 +1,36 @@ +import { clearCodingAgentBinaryCache, resolveProfileByBaseUrl, type CodingAgentProviderProfile } from "../coding-agent/profile"; + +/** Official Qoder CLI profile. Region variants are separate profiles and credentials. */ +export interface QoderProfile extends CodingAgentProviderProfile { + family: "qoder"; +} + +export const QODER_GLOBAL_PROFILE: QoderProfile = { + providerId: "qoder", + family: "qoder", + region: "global", + label: "Qoder", + canonicalBaseUrl: "https://qoder.com", + binaryCandidates: ["qoder", "qodercli"], + tokenEnv: "QODER_PERSONAL_ACCESS_TOKEN", + installHint: "npm install -g @qoder-ai/qodercli", + documentationUrl: "https://docs.qoder.com/cli/authentication", +}; + +export const QODER_CN_PROFILE: QoderProfile = { + providerId: "qoder-cn", + family: "qoder", + region: "cn", + label: "Qoder CN", + canonicalBaseUrl: "https://qoder.cn", + binaryCandidates: ["qodercn", "qoderclicn"], + tokenEnv: "QODERCN_PERSONAL_ACCESS_TOKEN", + installHint: "npm install -g @qodercn-ai/qoderclicn", + documentationUrl: "https://docs.qoder.cn/en/cli/authentication", +}; + +export const QODER_PROFILES: readonly QoderProfile[] = [QODER_GLOBAL_PROFILE, QODER_CN_PROFILE]; +export function resolveQoderProfile(baseUrl: string | undefined): QoderProfile | undefined { + return resolveProfileByBaseUrl(QODER_PROFILES, baseUrl) as QoderProfile | undefined; +} +export const clearQoderBinaryCache = clearCodingAgentBinaryCache; diff --git a/src/adapters/registry.ts b/src/adapters/registry.ts index 81fdbf99a4f..d8edbead920 100644 --- a/src/adapters/registry.ts +++ b/src/adapters/registry.ts @@ -2,6 +2,8 @@ import { createAnthropicAdapter } from "./anthropic"; import { createAzureAdapter } from "./azure"; import type { ProviderAdapter } from "./base"; import { withClinePassDeepSeekV4ToolReplayCompatibility } from "./cline-pass-deepseek-v4-tool-replay"; +import { createCodeBuddyAdapter } from "./codebuddy/adapter"; +import { createQoderAdapter } from "./qoder/adapter"; import { createCommandCodeAdapter } from "./command-code"; import { createCursorAdapter } from "./cursor"; import { createGoogleAdapter } from "./google"; @@ -20,6 +22,7 @@ export interface AdapterFactoryContext { } export type AdapterWire = + | "codebuddy" | "command-code" | "openai-chat" | "ollama-native" @@ -53,6 +56,11 @@ type InheritedAdapterDefinition = { type AdapterDefinition = DirectAdapterDefinition | InheritedAdapterDefinition; export const ADAPTER_REGISTRY = { + codebuddy: { + wire: "codebuddy", + mutation: "codex-owned", + create: (provider: OcxProviderConfig, _context: AdapterFactoryContext) => createCodeBuddyAdapter(provider), + }, "command-code": { wire: "command-code", mutation: "codex-owned", @@ -108,6 +116,10 @@ export const ADAPTER_REGISTRY = { contractParent: "openai-chat", create: (provider: OcxProviderConfig, _context: AdapterFactoryContext) => createMimoFreeAdapter(provider), }, + qoder: { + contractParent: "codebuddy", + create: (provider: OcxProviderConfig, _context: AdapterFactoryContext) => createQoderAdapter(provider), + }, } as const satisfies Record<string, AdapterDefinition>; export type AdapterId = keyof typeof ADAPTER_REGISTRY; diff --git a/src/adapters/responses-tool-schema.ts b/src/adapters/responses-tool-schema.ts index 0c02c589aa0..7d10b9beec8 100644 --- a/src/adapters/responses-tool-schema.ts +++ b/src/adapters/responses-tool-schema.ts @@ -1,8 +1,7 @@ -// Codex multi-agent v2 stamps a Responses-only `encrypted: true` marker on -// collaboration tool schemas (openai/codex 5f4d06ef; issue #85). It is an -// annotation for the ChatGPT backend only, so translated provider schemas must -// drop it without removing properties or definitions literally named `encrypted`. -const ENCRYPTED_MARKER_NAME_BAG_KEYS = new Set([ +// Keys whose *children's names* are caller-chosen rather than schema keywords, and keys whose +// values are literal payloads rather than schemas. Shared by both strippers below: each one has +// to tell "the keyword `x`" apart from "a property someone named `x`". +const SCHEMA_NAME_BAG_KEYS = new Set([ "properties", "patternProperties", "$defs", @@ -11,9 +10,21 @@ const ENCRYPTED_MARKER_NAME_BAG_KEYS = new Set([ "dependentSchemas", "dependentRequired", ]); -const ENCRYPTED_MARKER_LITERAL_VALUE_KEYS = new Set(["const", "default", "enum", "examples"]); +const SCHEMA_LITERAL_VALUE_KEYS = new Set(["const", "default", "enum", "examples"]); + +// These subtrees depend on property evaluation, polarity, branch selection or references. +// Preserve their complete argument contract rather than guessing whether a local relaxation +// remains a relaxation in the containing schema. The destination reports unsupported regexes. +const PRESERVED_PATTERN_SUBTREES = new Set([ + "patternProperties", "not", "oneOf", "if", "contains", "$defs", "definitions", +]); /** + * Codex multi-agent v2 stamps a Responses-only `encrypted: true` marker on collaboration tool + * schemas (openai/codex 5f4d06ef; issue #85). It is an annotation for the ChatGPT backend only, + * so translated provider schemas must drop it without removing properties or definitions + * literally named `encrypted`. + * * The schema is caller-supplied, so its nesting depth is attacker-influenced. Native recursion * would turn a deep schema into a stack overflow that takes down the request path, so this walks * an explicit stack instead: depth costs heap, which is bounded and recoverable. @@ -52,11 +63,11 @@ export function stripResponsesOnlyEncryptedMarker(node: unknown, inNameBag = fal // Inside a name bag every key is a caller-chosen name, so `encrypted` here is data. stack.push({ node: value, inNameBag: false, assign: v => { out[key] = v; } }); } else if (key !== "encrypted") { - if (ENCRYPTED_MARKER_LITERAL_VALUE_KEYS.has(key)) { + if (SCHEMA_LITERAL_VALUE_KEYS.has(key)) { // Literal payloads are values, not schemas: an `encrypted` key inside them is data. out[key] = value; } else { - const childInNameBag = ENCRYPTED_MARKER_NAME_BAG_KEYS.has(key); + const childInNameBag = SCHEMA_NAME_BAG_KEYS.has(key); stack.push({ node: value, inNameBag: childInNameBag, assign: v => { out[key] = v; } }); } } @@ -65,3 +76,97 @@ export function stripResponsesOnlyEncryptedMarker(node: unknown, inNameBag = fal return result; } + +/** + * `\p{…}` is an escape only when the backslash introducing it is itself unescaped: in `\\p{2}` + * the pair is a literal backslash and the `p{2}` that follows is an ordinary quantified `p`, + * which Python compiles fine. Scanning for the raw substring would misread that as a property + * escape and discard a working pattern. + */ +function usesUnicodePropertyEscape(pattern: string): boolean { + for (let i = 0; i < pattern.length; i++) { + if (pattern[i] !== "\\") continue; + const next = pattern[i + 1]; + if (next === "\\") { + i++; + continue; + } + if ((next === "p" || next === "P") && pattern[i + 2] === "{") return true; + } + return false; +} + +/** + * Remove unsupported Unicode property escapes from scalar `pattern` constraints in ordinary + * positive schema positions. This keeps built-in Artifact tools usable on Python-re backends; + * the omitted constraint is not enforced by this proxy and tools must validate their inputs. + * + * Regex-keyed objects are preserved. Removing a matcher can lose evaluated-property annotations + * needed by an ancestor's unevaluatedProperties, even when the local object appears open. + * Negation, exclusive alternatives, conditions, contains and reusable definitions are also + * preserved: loosening a nested constraint can instead reject an input in those contexts. + * Unsupported patterns there remain the destination's validation responsibility. + * + * Returns `node` itself when nothing was dropped. Uses an explicit stack for caller-controlled + * nesting depth; the separate Responses-only encrypted-marker normalization is unchanged. + */ +export function stripUnicodePropertyPatterns(node: unknown, inNameBag = false): unknown { + type Assign = (value: unknown) => void; + interface Frame { node: unknown; inNameBag: boolean; assign: Assign } + + let result: unknown; + let dropped = 0; + const stack: Frame[] = [{ node, inNameBag, assign: value => { result = value; } }]; + + while (stack.length > 0) { + const frame = stack.pop()!; + const current = frame.node; + + if (Array.isArray(current)) { + const out: unknown[] = new Array(current.length); + frame.assign(out); + // Array items are schemas in their own right, never a name bag. + for (let i = current.length - 1; i >= 0; i--) { + stack.push({ node: current[i], inNameBag: false, assign: value => { out[i] = value; } }); + } + continue; + } + if (!current || typeof current !== "object") { + frame.assign(current); + continue; + } + + // A schema name may be `__proto__`; a null-prototype record keeps it as data. + const out: Record<string, unknown> = Object.create(null) as Record<string, unknown>; + frame.assign(out); + + for (const [key, value] of Object.entries(current as Record<string, unknown>)) { + if (frame.inNameBag) { + // Inside a name bag every key is a caller-chosen name, so `pattern` here is a property + // name; its value is still a schema and is walked as one. + stack.push({ node: value, inNameBag: false, assign: v => { out[key] = v; } }); + continue; + } + if (PRESERVED_PATTERN_SUBTREES.has(key)) { + out[key] = value; + continue; + } + if (key === "pattern" && typeof value === "string" && usesUnicodePropertyEscape(value)) { + dropped++; + continue; + } + if (SCHEMA_LITERAL_VALUE_KEYS.has(key)) { + // Literal payloads are values, not schemas: a `pattern` key inside them is data. + out[key] = value; + continue; + } + stack.push({ + node: value, + inNameBag: SCHEMA_NAME_BAG_KEYS.has(key), + assign: v => { out[key] = v; }, + }); + } + } + + return dropped === 0 ? node : result; +} diff --git a/src/adapters/routed-agent-messages.ts b/src/adapters/routed-agent-messages.ts new file mode 100644 index 00000000000..2ca67162a72 --- /dev/null +++ b/src/adapters/routed-agent-messages.ts @@ -0,0 +1,46 @@ +/** + * `agent_message` is Codex's private multi-agent input item: it exists only in the ChatGPT + * Codex backend's schema. Codex replays every sub-agent reply in the history it sends, so + * once a thread has used sub-agents, a routed Responses destination answers the whole body + * with `422 unknown item type "agent_message"` and every later turn of that thread fails the + * same way. Rewrite the item as the public user message it already is. + * + * Genuine ciphertext and unknown part types keep their existing fail-closed path: the + * encrypted v2 task surface owns those, through `unreadable_encrypted_agent_task` and the + * opt-in recovery route. Providers using `authMode: "forward"` never reach this function. + */ +export function normalizeRoutedAgentMessages( + body: unknown, + { allowStringContent = false }: { allowStringContent?: boolean } = {}, +): unknown { + if (!body || typeof body !== "object" || Array.isArray(body)) return body; + const record = body as Record<string, unknown>; + if (!Array.isArray(record.input)) return body; + let changed = false; + const input = record.input.map((item: unknown) => { + if (!item || typeof item !== "object" || Array.isArray(item)) return item; + const message = item as Record<string, unknown>; + if (message.type !== "agent_message") return item; + // xAI rejects the private item even when a complete child result is a plain string. + // Trimming decides emptiness only; the original result bytes remain caller-owned. + const content = allowStringContent && typeof message.content === "string" && message.content.trim().length > 0 + ? [{ type: "input_text", text: message.content }] + : message.content; + if (!Array.isArray(content) || content.length === 0) return item; + // Genuine ciphertext and unknown part types must retain their existing fail-closed path. + if (!content.every(part => part && typeof part === "object" + && ["input_text", "input_image", "input_file"].includes(part.type))) return item; + const identities = Object.fromEntries(["author", "recipient"] + .filter(key => typeof message[key] === "string") + .map(key => [key, message[key]])); + changed = true; + return { + type: "message", role: "user", + content: [ + ...(Object.keys(identities).length ? [{ type: "input_text", text: `Agent message ${JSON.stringify(identities)}` }] : []), + ...content, + ], + }; + }); + return changed ? { ...record, input } : body; +} diff --git a/src/claude/inbound-content-options.ts b/src/claude/inbound-content-options.ts index f6b762aa830..0b59a93073a 100644 --- a/src/claude/inbound-content-options.ts +++ b/src/claude/inbound-content-options.ts @@ -29,6 +29,12 @@ export function toolsToResponses(tools: unknown): Rec[] | undefined { name: raw.name, ...(typeof raw.description === "string" ? { description: raw.description } : {}), parameters: raw.input_schema as Record<string, unknown>, + // Anthropic opts into strict tool use explicitly, while Responses reads an + // omitted strict as permission to normalize the schema into strict mode. That + // turns an optional input_schema parameter into a required one and breaks the + // call, so carry the source intent instead of the destination default. A + // non-boolean value is not a valid Anthropic opt-in and must not become one. + strict: typeof raw.strict === "boolean" ? raw.strict : false, }); continue; } diff --git a/src/cli/dispatch.ts b/src/cli/dispatch.ts index 79ee487b700..c0d28b58141 100644 --- a/src/cli/dispatch.ts +++ b/src/cli/dispatch.ts @@ -25,6 +25,7 @@ import { afterCatalogWriteHandleAppServers } from "../codex/app-server-processes import { normalizeUpdateChannel, runGuiUpdateWorker } from "../update/job"; import { isJsonOption, takeFlag } from "./runtime-api"; import type { ClientConnectionState } from "../client/state"; +import { OCX_NATIVE_REPLAY_RECOVERY_NOTE } from "../responses/compaction"; export interface CliDispatchDeps { args: string[]; @@ -199,6 +200,7 @@ const commandRunners: Record<string, CommandRunner> = { } if (r.success) { console.log("Codex integration is OFF and plain `codex` now runs natively. Switch back with: ocx restore back"); + console.log(`Note: ${OCX_NATIVE_REPLAY_RECOVERY_NOTE}`); } else { console.error("Plain `codex` was not fully restored. Inspect $CODEX_HOME/config.toml before using native Codex."); } diff --git a/src/cli/doctor.ts b/src/cli/doctor.ts index 2656477f7b4..ef731c9ca56 100644 --- a/src/cli/doctor.ts +++ b/src/cli/doctor.ts @@ -48,6 +48,9 @@ import { probeCodexCoordinatorNamespace, resolveEffectiveUserIdentity, } from "../codex/user-identity"; +import { isCanonicalOpenAiForwardProvider } from "../providers/openai-tiers-destination"; +import type { OcxProviderConfig } from "../types/provider"; +import { routedProviderConfig } from "../router"; import { collectProjectCodexConfigWarnings, formatProjectCodexConfigWarningsForDoctor } from "../codex/project-config-warnings"; import { collectLegacyCodexConfigKeyDiagnostics, @@ -1039,6 +1042,41 @@ export function proxyDownRestartHint(input: { return `The ocx proxy is not running. ${uncleanExit}Codex/Claude clients pinned to 127.0.0.1:${input.port} fail with errors like "error sending request for url (http://127.0.0.1:${input.port}/v1/responses)". ${restart}`; } +/** Explain the expected channel and latency trade-off for native ChatGPT routing. */ +export function chatgptPublicEndpointHint( + providers: Record<string, unknown> | undefined, +): string | null { + const openai = providers?.openai; + if (!openai || typeof openai !== "object") { + return null; + } + // A disabled row never routes, so it must not be described as the route in use. + const configured = openai as OcxProviderConfig; + if (configured.disabled === true) { + return null; + } + // Classify the destination the router resolves, not the raw config text. Two things follow + // from the registry entry for the built-in `openai` id: a row that omits `authMode` still + // forwards, and a row carrying some other `baseUrl` has it discarded in favour of the + // canonical ChatGPT endpoint. Both keep using the public endpoint, so both want this hint; + // reading the raw row would have suppressed the first and misjudged the second. + // + // `routedProviderConfig` throws for an unresolved URL only when the registry entry allows a + // baseUrl override, which this entry does not, so no input reaches that path today. The guard + // is here because doctor is read-only diagnostics: a later registry change must not turn a + // diagnostic into a crash. + let routed: OcxProviderConfig; + try { + routed = routedProviderConfig("openai", configured); + } catch { + return null; + } + if (!isCanonicalOpenAiForwardProvider(routed)) { + return null; + } + return "ChatGPT-family requests use the public ChatGPT endpoint through this proxy, in both Pool and Direct modes. Eligible streaming turns dial the ChatGPT websocket transport (the same responses_websockets lane Codex CLI defaults to) and fall back to SSE over HTTP when a turn is not eligible - an unsupported Bun runtime, an oversized create frame, or a proxy route that cannot carry the socket - and local provider pacing can hold a request before it is dispatched at all. This hint classifies configuration only and measures nothing, so upstream queueing is one possible contributor to a slow first output: compare actual transport, pacing, network, and provider observations before concluding. service_tier=priority is a request preference: this backend can echo service_tier \"default\" even on turns it scheduled as priority (#2558), so the echoed response tier in request logs stays an observation with confirmation \"assumed\" and cannot confirm or deny the granted tier."; +} + export async function runDoctor(args: string[] = []): Promise<void> { if (args.includes("--fix-codex-runtime")) { const resolved = resolveCodexRuntime(); @@ -1409,6 +1447,8 @@ export async function runDoctor(args: string[] = []): Promise<void> { // Hints, not fixes. const hints: string[] = []; + const chatgptHint = chatgptPublicEndpointHint(doctorConfig.providers); + if (chatgptHint) hints.push(chatgptHint); const proxyDown = proxyDownRestartHint({ proxyRunning: Boolean(live), port: live?.port ?? doctorConfig.port ?? 10100, diff --git a/src/cli/effort.ts b/src/cli/effort.ts index 4451f7867a5..3e7650d5ef5 100644 --- a/src/cli/effort.ts +++ b/src/cli/effort.ts @@ -2,6 +2,7 @@ import { loadConfig, mutatePersistedConfig } from "../config"; import { CODEX_REASONING_LEVELS, configuredReasoningEfforts, + isCodexReasoningEffort, isDeclaredReasoningEffort, mapReasoningEffort, reasoningEffortMapFor, @@ -21,7 +22,7 @@ import { export const EFFORT_USAGE = `Usage: ocx effort [status] [--json] - ocx effort <low|medium|high|xhigh|max|ultra|none|minimal|-> [--json] + ocx effort <low|medium|high|xhigh|max|ultra|-> [--json] ocx effort set [--main <level|->] [--subagent <level|->] [--injection <level|->] [--json] ocx effort clear [--json] ocx effort model <provider/model|model> [--json] @@ -33,13 +34,18 @@ function clearable(value: string | undefined): string | null | undefined { return value === "-" ? null : value; } -function validateEffortLevel(level: string | null | undefined, label: string): string | null | undefined { +function validateEffortLevel( + level: string | null | undefined, + label: string, + kind: "cap" | "injection", +): string | null | undefined { if (level === undefined || level === null) return level; const trimmed = level.trim(); if (trimmed === "-" || trimmed === "") return null; - if (!isDeclaredReasoningEffort(trimmed)) { + const valid = kind === "cap" ? isCodexReasoningEffort(trimmed) : isDeclaredReasoningEffort(trimmed); + if (!valid) { throw new CliUsageError( - `unknown reasoning effort "${trimmed}" for ${label} (allowed: ${CODEX_REASONING_LEVELS.map(l => l.effort).join(", ")}, none, minimal, -)`, + `unknown reasoning effort "${trimmed}" for ${label} (allowed: ${CODEX_REASONING_LEVELS.map(l => l.effort).join(", ")}${kind === "injection" ? ", none, minimal" : ""}, -)`, EFFORT_USAGE, ); } @@ -114,6 +120,15 @@ async function status(wantsJson: boolean, deps: RuntimeApiDeps): Promise<void> { data = getOfflineStatus(); } + // Report the stored/runtime value exactly as the enforcement layer evaluates it. + // An ignored subagent field does not disable a valid main cap on that child. + const warnings = ([ ["effortCap", "--main"], ["subagentEffortCap", "--subagent"] ] as const) + .flatMap(([key, flag]) => { + const value = data[key]; + if (value === null || isCodexReasoningEffort(value)) return []; + return [`${key}=${JSON.stringify(value)} is invalid and is not applied. Use: ocx effort set ${flag} <${CODEX_REASONING_LEVELS.map(l => l.effort).join("|")}|->.`]; + }); + const lines = [ `Reasoning effort status (${data.source === "runtime" ? "live proxy" : "offline config"}):`, ` Main agent effort cap: ${data.effortCap ?? "(unset — no cap)"}`, @@ -122,9 +137,10 @@ async function status(wantsJson: boolean, deps: RuntimeApiDeps): Promise<void> { "", "Supported Codex reasoning effort ladder:", ...CODEX_REASONING_LEVELS.map(l => ` - ${l.effort.padEnd(8)} ${l.description}`), + ...(warnings.length ? ["", "Warnings:", ...warnings.map(warning => ` ${warning}`)] : []), ]; - printData(data, wantsJson, lines); + printData({ ...data, warnings }, wantsJson, lines); } async function setEffort( @@ -136,9 +152,9 @@ async function setEffort( wantsJson: boolean, deps: RuntimeApiDeps, ): Promise<void> { - const validatedMain = validateEffortLevel(options.main, "--main"); - const validatedSubagent = validateEffortLevel(options.subagent, "--subagent"); - const validatedInjection = validateEffortLevel(options.injection, "--injection"); + const validatedMain = validateEffortLevel(options.main, "--main", "cap"); + const validatedSubagent = validateEffortLevel(options.subagent, "--subagent", "cap"); + const validatedInjection = validateEffortLevel(options.injection, "--injection", "injection"); if (validatedMain === undefined && validatedSubagent === undefined && validatedInjection === undefined) { throw new CliUsageError("at least one effort option (--main, --subagent, or --injection) is required", EFFORT_USAGE); diff --git a/src/cli/help.ts b/src/cli/help.ts index c1a0ae13ac1..ed24c541117 100644 --- a/src/cli/help.ts +++ b/src/cli/help.ts @@ -33,6 +33,8 @@ Usage: ocx restore back Re-point codex at the running proxy (undo restore) ocx recover-history --legacy-openai --yes Force all user-message opencodex rows to OpenAI (legacy recovery) + ocx recover-history --ocx-compaction <thread-id> --yes + Back up and make one ocx1-compacted thread replayable by native Codex ocx uninstall Remove service/shim/config and restore native Codex (alias: remove) ocx service [sub] Run as a background service (default: install/update/start) ocx codex-shim <sub> Auto-start proxy when \`codex\` launches (install|status|uninstall|remove) diff --git a/src/cli/index.ts b/src/cli/index.ts index c900ce13da8..b985fd3d717 100755 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -1458,8 +1458,31 @@ async function handleStatus() { } async function handleRecoverHistory() { + if (args[1] === "--ocx-compaction") { + const threadId = args[2]; + if (args.length !== 4 || !threadId || args[3] !== "--yes") { + console.error("Usage: ocx recover-history --ocx-compaction <thread-id> --yes"); + console.error("This rewrites one rollout after saving a private byte-for-byte backup. Close that Codex thread before retrying."); + process.exit(1); + } + console.error("WARNING: this converts OpenCodeX-owned ocx1 compaction state into a plain summary for native Codex replay."); + try { + const { recoverOcxCompactionHistory } = await import("../codex/ocx-compaction-history"); + const result = recoverOcxCompactionHistory({ threadId }); + if (result.replaced === 0) { + console.log(`Thread ${threadId} has no repairable ocx1 compaction history; no files changed.`); + return; + } + console.log(`Recovered ${result.replaced} ocx1 compaction item(s) in thread ${threadId}.`); + console.log(`Backup: ${result.backupPath}`); + return; + } catch (error) { + console.error(`Recovery failed: ${error instanceof Error ? error.message : String(error)}`); + process.exit(1); + } + } if (args[1] !== "--legacy-openai") { - console.error("Usage: ocx recover-history --legacy-openai --yes"); + console.error("Usage: ocx recover-history (--legacy-openai | --ocx-compaction <thread-id>) --yes"); console.error("This force-relabels every user-message opencodex row to OpenAI, including legitimate dedicated-provider history. Back up first and use it only for pre-backup legacy recovery."); process.exit(1); } diff --git a/src/cli/provider-runtime.ts b/src/cli/provider-runtime.ts index d2f24d0b8df..6477694a49c 100644 --- a/src/cli/provider-runtime.ts +++ b/src/cli/provider-runtime.ts @@ -204,7 +204,8 @@ async function presets(argv: string[], deps: RuntimeApiDeps): Promise<void> { const rows = Array.isArray(result) ? result : result.providers ?? []; printData(result, wantsJson, rows.map(row => { const record = row as Record<string, unknown>; - return `${String(record.id ?? record.name ?? "?")} ${String(record.label ?? record.adapter ?? "")}`.trimEnd(); + const sponsor = record.sponsor ? ` (sponsor: ${String(record.sponsor)})` : ""; + return `${String(record.id ?? record.name ?? "?")} ${String(record.label ?? record.adapter ?? "")}${sponsor}`.trimEnd(); })); } diff --git a/src/cli/registry.ts b/src/cli/registry.ts index 5836d837d61..12c6644b02c 100644 --- a/src/cli/registry.ts +++ b/src/cli/registry.ts @@ -36,8 +36,8 @@ export const CLI_COMMANDS: CliCommandEntry[] = [ }, { name: "recover-history", - usage: "ocx recover-history --legacy-openai --yes", - summary: "Force all user-message opencodex rows to OpenAI for legacy recovery.", + usage: "ocx recover-history (--legacy-openai | --ocx-compaction <thread-id>) --yes", + summary: "Recover legacy provider metadata or one OpenCodeX-compacted thread for native replay.", }, { name: "uninstall", diff --git a/src/cli/system-command.ts b/src/cli/system-command.ts index 7811e7d4327..03eb9008873 100644 --- a/src/cli/system-command.ts +++ b/src/cli/system-command.ts @@ -14,7 +14,7 @@ import { const USAGE = `Usage: ocx system [status] [--json] ocx system settings [--auto-start <on|off>] [--stream-mode <auto|legacy-tee|eager-relay>] - [--desktop-authless <on|off>] [--json] + [--desktop-authless <on|off>] [--client-compaction <on|off>] [--json] ocx system startup <health|install-service|install-shim> [--json] ocx system diagnostics [--json] ocx system sync [--json] @@ -23,7 +23,11 @@ const USAGE = `Usage: ocx system codex-cli-update check [--json] ocx system update check [--channel <latest|preview>] [--json] ocx system update run [--channel <latest|preview>] [--restart <on|off>] --yes [--json] - ocx system update status <job-id> [--json]`; + ocx system update status <job-id> [--json] + +--client-compaction favors native replay portability for future compactions while +keeping OpenCodeX routing active; the configured provider may process summaries +and consume its quota.`; async function status(argv: string[], deps: RuntimeApiDeps): Promise<void> { const args = [...argv]; @@ -44,8 +48,10 @@ async function settings(argv: string[], deps: RuntimeApiDeps): Promise<void> { const autoStart = takeBooleanOption(args, "--auto-start"); const streamMode = takeOption(args, "--stream-mode"); const desktopAuthless = takeBooleanOption(args, "--desktop-authless"); + const clientCompaction = takeBooleanOption(args, "--client-compaction"); rejectArgs(args, USAGE); - if (autoStart === undefined && streamMode === undefined && desktopAuthless === undefined) { + if (autoStart === undefined && streamMode === undefined + && desktopAuthless === undefined && clientCompaction === undefined) { const result = await runtimeRequest("/api/settings", {}, deps); printData(result, wantsJson, summaryLines(result)); return; @@ -54,6 +60,7 @@ async function settings(argv: string[], deps: RuntimeApiDeps): Promise<void> { ...(autoStart !== undefined ? { codexAutoStart: autoStart } : {}), ...(streamMode !== undefined ? { streamMode } : {}), ...(desktopAuthless !== undefined ? { codexDesktopAuthless: desktopAuthless } : {}), + ...(clientCompaction !== undefined ? { codexClientCompaction: clientCompaction } : {}), }; const result = await runtimeRequest("/api/settings", { method: "PUT", body: JSON.stringify(body) }, deps); printData(result, wantsJson, ["System settings updated."]); diff --git a/src/cli/usage-report.ts b/src/cli/usage-report.ts index 6b684277c0f..3311a781a1a 100644 --- a/src/cli/usage-report.ts +++ b/src/cli/usage-report.ts @@ -59,8 +59,11 @@ interface UsageReportInput { const MAX_MODEL_ROWS = 10; -function terminalText(value: string): string { - return value.replace(/[\x00-\x1f\x7f-\x9f]/g, character => { +function terminalText(value: unknown): string { + const text = typeof value === "string" ? value + : value === null || value === undefined ? "" + : typeof value === "number" || typeof value === "boolean" ? String(value) : "[invalid]"; + return text.replace(/[\x00-\x1f\x7f-\x9f\u2028\u2029]/g, character => { const code = character.charCodeAt(0); return code <= 0x7f ? `\\x${code.toString(16).padStart(2, "0")}` @@ -69,7 +72,8 @@ function terminalText(value: string): string { } function count(value: number | undefined): string { - return (value ?? 0).toLocaleString("en-US"); + if (value === undefined || value === null) return "0"; + return typeof value === "number" && Number.isFinite(value) ? value.toLocaleString("en-US") : "—"; } /** @@ -111,7 +115,7 @@ export function formatUsageReport(data: UsageReportInput): string[] { .filter(Boolean).join(" and "); lines.push(`No usage recorded for ${terminalText(what)} in this range.`); lines.push("Check the spelling against `ocx usage --json`, or widen --range."); - return lines; + return lines.map(terminalText); } const tokenSplit = [ @@ -185,5 +189,5 @@ export function formatUsageReport(data: UsageReportInput): string[] { lines.push(""); lines.push("Not a billing receipt. Subscription usage or provider credits may apply instead."); - return lines; + return lines.map(terminalText); } diff --git a/src/codex/account-lifecycle.ts b/src/codex/account-lifecycle.ts index 703e08f247f..88208bfb1bd 100644 --- a/src/codex/account-lifecycle.ts +++ b/src/codex/account-lifecycle.ts @@ -7,12 +7,13 @@ import { } from "../config"; import { removeCodexAccountCredential } from "./account-store"; import { clearAccountNeedsReauth } from "./account-runtime-state"; -import { getMainChatgptAccountId } from "./auth-collision"; +import { getMainChatgptAccountId, readCodexTokensResult } from "./auth-collision"; import { MAIN_CODEX_ACCOUNT_ID, setMainAccountPlan } from "./main-account"; import { clearAccountQuota } from "./quota"; import { clearCodexUpstreamHealthForAccount, clearThreadAccountMapForAccount } from "./routing"; import { invalidateCodexWebSocketsForAccount } from "./websocket-registry"; -import { clearMainAccountCredentialPresence, clearMainAccountInfoCache, observeMainQuotaIdentity } from "./main-account-cache"; +import { clearMainAccountCredentialPresence, clearMainAccountInfoCache, observeMainQuotaCredential, observeMainQuotaIdentity } from "./main-account-cache"; +import { extractAccountIdClaims } from "../oauth/chatgpt"; import { forgetCodexAccountPause } from "./account-pause"; import { clearCodexAccountPin, forgetCodexAccountPriority } from "./account-priority"; import { forgetCodexQuotaAutoRefreshAccount } from "./quota-auto-refresh-state"; @@ -75,6 +76,38 @@ export function reconcileMainCodexAccountRuntimeState(): boolean { return true; } +/** + * Rebuild the memory-only policy binding from a startup-owned, recovered auth path. + * The caller holds the native owner and exclusive claim; an incoming bearer is never evidence. + * A failed read creates no binding and cannot revoke a prior verified observation or its block. + * Only a valid replacement observation or confirmed account transition supersedes that evidence. + */ +export function initializeMainAccountPolicyBinding(authPath: string): boolean { + // Startup observes the pinned owned path inside the exclusive claim: bound the read so a + // replaced non-regular or oversized file cannot stall startup inside that claim. + const result = readCodexTokensResult(authPath, { bounded: true }); + if (result.status !== "ok") return false; + const { tokens } = result; + if (typeof tokens.access_token !== "string" || !tokens.access_token + || typeof tokens.account_id !== "string" || !tokens.account_id) return false; + if (tokens.id_token != null && typeof tokens.id_token !== "string") return false; + const accountId = tokens.account_id; + // An owned file may contain an opaque bearer, but every decoded identity must agree — + // including the two account-id encodings within a single token. + const idTokenClaims = extractAccountIdClaims(tokens.id_token); + const accessTokenClaims = extractAccountIdClaims(tokens.access_token); + if (idTokenClaims.conflict || accessTokenClaims.conflict) return false; + const idTokenAccountId = idTokenClaims.accountId; + const accessTokenAccountId = accessTokenClaims.accountId; + if ((idTokenAccountId !== undefined && idTokenAccountId !== accountId) + || (accessTokenAccountId !== undefined && accessTokenAccountId !== accountId)) return false; + const previousAccountId = observedMainChatgptAccountId; + observedMainChatgptAccountId = accountId; + if (previousAccountId !== undefined && previousAccountId !== accountId) purgeMainCodexAccountRuntimeState(); + observeMainQuotaIdentity(accountId); + return observeMainQuotaCredential(tokens.access_token, accountId) !== undefined; +} + /** * Apply a transaction-confirmed physical native-login change without waiting for * a later auth.json observation. The caller owns credential commit/rollback. diff --git a/src/codex/auth-api.ts b/src/codex/auth-api.ts index 6768c4fa092..1a1e66d88b6 100644 --- a/src/codex/auth-api.ts +++ b/src/codex/auth-api.ts @@ -40,6 +40,10 @@ import { } from "./account-priority"; import { claimDueCodexQuotaRecoveryProbes, + claimManualResetCooldowns, + settleManualResetCooldown, + type ManualResetCooldownClaim, + type ManualResetRefreshLineage, clearCodexAccountCooldown, clearThreadAccountMapForAccount, getEffectiveActiveCodexAccountId, @@ -98,6 +102,8 @@ import { getMainAccountInfoCache, getMainQuotaCredentialGeneration, isMainAccountIdentityGenerationLive, + isMainQuotaWriterLive, + type MainQuotaWriter, matchesMainQuotaCredential, observeMainQuotaCredential, setMainAccountCredentialPresence, @@ -235,12 +241,15 @@ function codexAccountPersistenceConflict( } /** - * The exact label `parseUsageQuota` emits for the Codex Spark window (quota.ts). + * The exact labels `parseUsageQuota` emits for the Codex Spark windows (quota.ts). * Matching on the label rather than on "is a custom window" is load-bearing: the same array * carries Cursor's First-party models / API usage, Anthropic's Fable / Opus / Sonnet, * Antigravity's Gem / Cla, Kimi's subscription credits and a dozen dynamic provider meters. */ -const CODEX_SPARK_WINDOW_LABEL = "GPT-5.3-Codex-Spark Weekly"; +const CODEX_SPARK_WINDOW_LABELS = new Set([ + "GPT-5.3-Codex-Spark 5h", + "GPT-5.3-Codex-Spark Weekly", +]); /** * Drop the Spark window unless the operator asked for it (default hidden). @@ -258,7 +267,7 @@ export function withSparkVisibility<T extends Omit<StoredAccountQuota, "updatedA ): T { if (!quota?.customWindows?.length) return quota; if (loadConfig().showCodexSparkQuota === true) return quota; - const kept = quota.customWindows.filter(window => window.label !== CODEX_SPARK_WINDOW_LABEL); + const kept = quota.customWindows.filter(window => !CODEX_SPARK_WINDOW_LABELS.has(window.label)); if (kept.length === quota.customWindows.length) return quota; // An empty list is dropped rather than serialized: an absent field and an empty array should // not be two different ways of saying "no custom windows" on the wire. @@ -387,6 +396,8 @@ interface ResetCreditAuth { chatgptAccountId: string; nativeMainLease?: AdmissionLease; nativeMainSharedClaimHeld?: true; + poolGeneration?: number; + mainProof?: MainResetQuotaProof; } async function withResetCreditAuth<T>( @@ -407,10 +418,15 @@ async function withResetCreditAuth<T>( if (!tokens) { return { ok: false, response: jsonResponse({ error: "Main Codex account not logged in" }, 401) }; } + reconcileMainCodexAccountRuntimeState(); + const physicalId = extractAccountId(tokens.id_token, tokens.access_token) ?? tokens.account_id; + const writer = physicalId === tokens.account_id + ? observeMainQuotaCredential(tokens.access_token, tokens.account_id) : undefined; return { ok: true, value: await operation({ isMain: true, + ...(writer ? { mainProof: { writer, credentialGeneration: getMainQuotaCredentialGeneration() } } : {}), accessToken: tokens.access_token, chatgptAccountId: tokens.account_id, nativeMainLease, @@ -439,6 +455,7 @@ async function withResetCreditAuth<T>( ok: true, value: await operation({ isMain: false, + poolGeneration: cred.generation, accessToken: cred.accessToken, chatgptAccountId: cred.chatgptAccountId, }), @@ -776,8 +793,14 @@ async function readMainAuthErrorCode(resp: Response): Promise<unknown> { } } +interface MainResetQuotaProof { + writer: MainQuotaWriter; + credentialGeneration: number; +} + interface MainAccountInfoFetchResult { info: MainAccountInfo; + resetRecoveryProof?: MainResetQuotaProof & { dispatchSequence: number }; /** Ephemeral result of this attempt, omitted when no WHAM request was made. */ quotaRefresh?: CodexQuotaRefreshOutcome; /** Internal dispatch fence for diagnostics only; never copied into a public DTO or cache. */ @@ -914,6 +937,7 @@ async function fetchMainAccountInfoWhileOwned( let quotaPhase: "request" | "body" | "decode" | "publish" = "request"; let quotaRefreshGeneration = captureMainAccountIdentityGeneration(); try { + const dispatchSequence = ++quotaDispatchSequence; const resp = await fetch("https://chatgpt.com/backend-api/wham/usage", { headers: { Authorization: `Bearer ${tokens.access_token}`, "ChatGPT-Account-Id": tokens.account_id }, signal: quotaSignal, @@ -923,6 +947,10 @@ async function fetchMainAccountInfoWhileOwned( const terminalAuthFailure = await isTerminalMainAuthResponse(resp, isMainAccountTokenVerifiablyLive()); const retried = await retryMainAccountInfoIfIdentityChanged(requestAccountId, retriesRemaining, nativeMainLease, explicitRefresh); if (retried) return retried; + if (dispatchSequence < mainQuotaPublishedSequence) { + return { info: getMainAccountInfoCache() ?? EMPTY_MAIN_ACCOUNT_INFO, + credentialChecked: true, hasCredential: true }; + } if (terminalAuthFailure) { // Account for this attempt's own synchronous invalidation, never prior external drift. const diagnosticStillLive = isMainAccountIdentityGenerationLive(quotaRefreshGeneration); @@ -945,6 +973,12 @@ async function fetchMainAccountInfoWhileOwned( if (data === null || typeof data !== "object" || Array.isArray(data)) { throw new Error("Invalid WHAM usage object"); } + // Check after body/retry awaits and before any cache, credits, policy or + // Reserve publication. Returning cached state supplies no fresh recovery proof. + if (dispatchSequence < mainQuotaPublishedSequence) { + return { info: getMainAccountInfoCache() ?? EMPTY_MAIN_ACCOUNT_INFO, + credentialChecked: true, hasCredential: true }; + } quotaPhase = "publish"; // A delayed response from a replaced bearer cannot revoke a newer Reserve grant, // even in the same workspace or after an A→B→A credential transition. @@ -985,6 +1019,7 @@ async function fetchMainAccountInfoWhileOwned( if (result.quota) { setAccountQuotaFromParsed(MAIN_CODEX_ACCOUNT_ID, result.quota, writerGeneration, mainQuotaWriter, policyQuota); } + mainQuotaPublishedSequence = dispatchSequence; return { info: result, quotaRefresh: { status: quota ? "ok" : "not_reported" }, @@ -992,6 +1027,11 @@ async function fetchMainAccountInfoWhileOwned( credentialChecked: true, hasCredential: true, ...(quota ? { freshQuota: quota } : {}), + ...(quota && mainQuotaWriter && isMainQuotaWriterLive(mainQuotaWriter) + && mainQuotaCredentialGeneration === getMainQuotaCredentialGeneration() + && matchesMainQuotaCredential(tokens.access_token, tokens.account_id) + ? { resetRecoveryProof: { writer: mainQuotaWriter, credentialGeneration: mainQuotaCredentialGeneration, dispatchSequence } } + : {}), ...(freshResetCredits !== undefined ? { freshResetCredits } : {}), }; } catch (error) { @@ -1011,6 +1051,8 @@ async function fetchMainAccountInfoWhileOwned( } interface PoolQuotaResult { + /** Actual refresh result attached only to the successful usage replay. */ + resetRefreshLineage?: ManualResetRefreshLineage; quota: StoredAccountQuota | null; needsReauth: boolean; /** Credential generation whose cache or network result this DTO state belongs to. */ @@ -1025,15 +1067,25 @@ interface PoolQuotaResult { freshResetCredits?: number; quotaProbeSkipped?: true; /** Positive evidence captured immediately before an upstream WHAM dispatch. */ - quotaProbeAttempted?: { at: number; credentialGeneration: number }; + quotaProbeAttempted?: { at: number; credentialGeneration: number; dispatchSequence: number }; } +// Process-local ordering, never a timestamp or a serialized account identifier. +let quotaDispatchSequence = 0; +// Shared native-main ownership permits concurrent usage readers. Only a later +// successfully published response advances this fence; failed reads do not win. +let mainQuotaPublishedSequence = 0; + interface PoolQuotaProbeEvidence { + onDispatch?: (sequence: number) => void; + mayPublish?: () => boolean; attempted?: NonNullable<PoolQuotaResult["quotaProbeAttempted"]>; } function markQuotaProbeAttempted(evidence: PoolQuotaProbeEvidence, credentialGeneration: number): void { - evidence.attempted = { at: Date.now(), credentialGeneration }; + const dispatchSequence = ++quotaDispatchSequence; + evidence.attempted = { at: Date.now(), credentialGeneration, dispatchSequence }; + evidence.onDispatch?.(dispatchSequence); } function withQuotaProbeEvidence( @@ -1045,6 +1097,8 @@ function withQuotaProbeEvidence( interface PoolQuotaRefreshFlight { state: { + dispatchSequence?: number; + superseded?: boolean; startCredentialGeneration?: number; resolvedCredentialGeneration?: number; }; @@ -1280,9 +1334,18 @@ async function recoverPoolQuotaFrom401(ctx: { } return { quota: existing ?? null, needsReauth: false, credentialGeneration: refreshed.generation }; } - return await commitPoolQuotaResponse(replay, { + const result = await commitPoolQuotaResponse(replay, { accountId, existing, configuredPlan, generation: refreshed.generation, writerGeneration, + mayPublish: ctx.quotaProbeEvidence.mayPublish, }); + return result.freshCredentialGeneration === refreshed.generation ? { + ...result, + resetRefreshLineage: { + fromGeneration: rejectedGeneration, + toGeneration: refreshed.generation, + provenance: refreshed.provenance, + }, + } : result; } /** Backoff after a refresh failure that proved nothing about the credential. */ @@ -1314,10 +1377,14 @@ async function commitPoolQuotaResponse( configuredPlan: string | undefined; generation: number; writerGeneration: number; + mayPublish?: () => boolean; }, ): Promise<PoolQuotaResult> { const { accountId, existing, configuredPlan, generation, writerGeneration } = ctx; const data = (await resp.json()) as WhamUsageResponse; + if (ctx.mayPublish?.() === false) { + return { quota: getAccountQuota(accountId), needsReauth: false, credentialGeneration: generation }; + } const freshPlan = nonEmptyPlan(data.plan_type) ?? undefined; const quota = parseUsageQuota({ ...data, plan_type: freshPlan ?? configuredPlan }); const freshResetCredits = quota?.resetCredits; @@ -1350,10 +1417,10 @@ async function fetchFreshPoolAccountQuota( configuredPlan?: string, onCredentialGeneration?: (generation: number) => void, getValidToken: typeof getValidCodexToken = getValidCodexToken, + quotaProbeEvidence: PoolQuotaProbeEvidence = {}, ): Promise<PoolQuotaResult> { const writerGeneration = captureConfigGeneration(); let requestCredentialGeneration = readCodexAccountRecord(accountId)?.generation; - const quotaProbeEvidence: PoolQuotaProbeEvidence = {}; try { const { accessToken, chatgptAccountId, generation } = await getValidToken(accountId); requestCredentialGeneration = generation; @@ -1387,6 +1454,7 @@ async function fetchFreshPoolAccountQuota( } const committed = await commitPoolQuotaResponse(resp, { accountId, existing, configuredPlan, generation, writerGeneration, + mayPublish: quotaProbeEvidence.mayPublish, }); return withQuotaProbeEvidence(committed, quotaProbeEvidence); } catch (e) { @@ -1417,9 +1485,10 @@ async function fetchPoolAccountQuota( forceRefresh = false, configuredPlan?: string, getValidToken: typeof getValidCodexToken = getValidCodexToken, + afterDispatchSequence?: number, ): Promise<PoolQuotaResult> { const existing = getAccountQuota(accountId); - if (!forceRefresh && existing && Date.now() - existing.updatedAt < POOL_CACHE_TTL) { + if (afterDispatchSequence === undefined && !forceRefresh && existing && Date.now() - existing.updatedAt < POOL_CACHE_TTL) { return { quota: existing, needsReauth: false, @@ -1434,11 +1503,18 @@ async function fetchPoolAccountQuota( const current = flights && [...flights].find(flight => { const generation = flight.state.resolvedCredentialGeneration ?? flight.state.startCredentialGeneration; - return generation !== undefined && isCodexAccountGenerationLive(accountId, generation); + return !flight.state.superseded + && (afterDispatchSequence === undefined || (flight.state.dispatchSequence ?? 0) > afterDispatchSequence) + && generation !== undefined && isCodexAccountGenerationLive(accountId, generation); }); if (current) return current.promise; if (poolQuotaFlightCount() >= MAX_POOL_QUOTA_FLIGHTS) throw new PoolQuotaProbeBusyError(); + // A post-reset request must not let an older same-account response overwrite its evidence. + // Flags live only as long as the bounded flights; no retained per-account sequence map. + if (afterDispatchSequence !== undefined) { + for (const flight of flights ?? []) flight.state.superseded = true; + } const state: PoolQuotaRefreshFlight["state"] = { startCredentialGeneration: record?.generation, }; @@ -1448,6 +1524,10 @@ async function fetchPoolAccountQuota( configuredPlan, generation => { state.resolvedCredentialGeneration = generation; }, getValidToken, + { + onDispatch: sequence => { state.dispatchSequence = sequence; }, + mayPublish: () => state.superseded !== true, + }, ); const flight: PoolQuotaRefreshFlight = { state, promise: refresh }; const activeFlights = flights ?? new Set<PoolQuotaRefreshFlight>(); @@ -1463,6 +1543,74 @@ async function fetchPoolAccountQuota( } } +function manualResetAuthStillLive(accountId: string, auth: ResetCreditAuth): boolean { + if (!auth.isMain) { + const record = readCodexAccountRecord(accountId); + return auth.poolGeneration !== undefined + && isCodexAccountGenerationLive(accountId, auth.poolGeneration) + && record?.credential?.chatgptAccountId === auth.chatgptAccountId; + } + const tokens = readCodexTokens(); + return !!auth.mainProof && !!tokens + && tokens.access_token === auth.accessToken && tokens.account_id === auth.chatgptAccountId + && isMainQuotaWriterLive(auth.mainProof.writer) + && auth.mainProof.credentialGeneration === getMainQuotaCredentialGeneration() + && matchesMainQuotaCredential(auth.accessToken, auth.chatgptAccountId); +} + +/** A confirmed spend remains successful even when its optional usage observation fails. */ +async function refreshAfterManualReset( + config: OcxConfig, + accountId: string, + auth: ResetCreditAuth, + claims: ManualResetCooldownClaim[], + didReset: boolean, +): Promise<number | undefined> { + const afterDispatchSequence = quotaDispatchSequence; + try { + if (!manualResetAuthStillLive(accountId, auth)) return undefined; + if (auth.isMain) { + const result = await fetchMainAccountInfoAttempt(true, 1, auth.nativeMainLease, + auth.nativeMainSharedClaimHeld === true, false); + const proof = result.resetRecoveryProof; + const recovered = didReset && manualResetAuthStillLive(accountId, auth) + && !!proof && !!auth.mainProof + && proof.dispatchSequence > afterDispatchSequence + && proof.credentialGeneration === auth.mainProof.credentialGeneration + && proof.writer.identityKey === auth.mainProof.writer.identityKey + && proof.writer.identityGeneration === auth.mainProof.writer.identityGeneration + && isCompleteCodexQuotaRecoverySnapshot(result.freshQuota ?? null, result.info.plan); + for (const claim of claims) settleManualResetCooldown(getRuntimeConfig(config), claim, recovered); + return manualResetAuthStillLive(accountId, auth) ? result.freshResetCredits : undefined; + } + const account = configuredPoolAccount(getRuntimeConfig(config), accountId); + if (!account) return undefined; + // Reuse the just-authenticated consume credential for the first usage request. + // getValidCodexToken can silently advance a generation without exposing refresh + // provenance. A 401 here instead uses the existing classified refresh/replay path. + const resetToken: typeof getValidCodexToken = async () => { + if (auth.poolGeneration === undefined || !manualResetAuthStillLive(accountId, auth)) { + throw new CodexCredentialGenerationConflictError(); + } + return { accessToken: auth.accessToken, chatgptAccountId: auth.chatgptAccountId, generation: auth.poolGeneration }; + }; + const result = await fetchPoolAccountQuota(accountId, true, account.plan, didReset ? resetToken : getValidCodexToken, + didReset ? afterDispatchSequence : undefined); + const record = readCodexAccountRecord(accountId); + const recovered = didReset && record?.credential?.chatgptAccountId === auth.chatgptAccountId + && (result.quotaProbeAttempted?.dispatchSequence ?? 0) > afterDispatchSequence + && isCompleteCodexQuotaRecoverySnapshot(result.freshQuota ?? null, result.freshPlan ?? account.plan); + for (const claim of claims) settleManualResetCooldown(getRuntimeConfig(config), claim, recovered, { + credentialGeneration: result.freshCredentialGeneration, + refreshLineage: result.resetRefreshLineage, + }); + return record?.credential?.chatgptAccountId === auth.chatgptAccountId ? result.freshResetCredits : undefined; + } catch { + // The upstream reset already happened. A failed refresh must not invite another spend. + return undefined; + } +} + let primeInFlight: Promise<void> | null = null; /** * Last prime attempt per pool account. A failed WHAM lookup stores no quota, so @@ -2341,7 +2489,7 @@ export async function handleCodexAuthAPI( const operation = await withResetCreditAuth(getRuntimeConfig(config), accountId, async auth => { // The ledger keys manual operations by the *physical* ChatGPT account, which is // only known after the auth wrapper resolves credentials. Open here, not earlier. - const identity = requestedOperationId === undefined + let identity = requestedOperationId === undefined ? undefined : { accountId, @@ -2377,75 +2525,74 @@ export async function handleCodexAuthAPI( return response; } // Canonical id, which an alias join may map to an earlier caller id. + identity = { ...identity, operationId: opened.operationId }; idempotencyKey = opened.operationId; } else { idempotencyKey = crypto.randomUUID(); } - let resp: Response; + const claims = manualResetAuthStillLive(accountId, auth) + ? claimManualResetCooldowns(getRuntimeConfig(config), accountId, Date.now(), auth.poolGeneration) : []; try { - resp = await fetch( - "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume", - { - method: "POST", - headers: { - Authorization: `Bearer ${auth.accessToken}`, - "ChatGPT-Account-Id": auth.chatgptAccountId, - "Content-Type": "application/json", + let resp: Response; + try { + resp = await fetch( + "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume", + { + method: "POST", + headers: { + Authorization: `Bearer ${auth.accessToken}`, + "ChatGPT-Account-Id": auth.chatgptAccountId, + "Content-Type": "application/json", + }, + body: JSON.stringify({ redeem_request_id: idempotencyKey }), + signal: AbortSignal.timeout(10_000), }, - body: JSON.stringify({ redeem_request_id: idempotencyKey }), - signal: AbortSignal.timeout(10_000), - }, - ); - } catch (error) { - // Dispatch outcome unknown: the credit may or may not have been spent. - // Mark ambiguous so a replay of this same id is never treated as new. - if (identity) markManualResetCreditOperationAmbiguous(identity); - throw error; - } - if (!resp.ok) { - await resp.body?.cancel().catch(() => {}); - if (identity) markManualResetCreditOperationAmbiguous(identity); - return jsonResponse({ error: `Upstream error ${resp.status}` }, resp.status); - } - const result = safeResetCreditConsumeDto(await resp.json()); - if (identity) { - // Narrow explicitly rather than casting: `safeResetCreditConsumeDto` - // normalizes anything unrecognized to "unknown", and settling that - // would come back as a mismatch and leave the row pending anyway. - // Settlement failure never downgrades the user-visible outcome: the - // spend already happened upstream, and reporting failure would invite - // a manual retry -- the exact double-spend this unit removes. - if (result.code === "reset" || result.code === "already_redeemed" - || result.code === "nothing_to_reset" || result.code === "no_credit") { - settleManualResetCreditOperation(identity, result.code); - } else { - markManualResetCreditOperationAmbiguous(identity); + ); + } catch (error) { + // Dispatch outcome unknown: the credit may or may not have been spent. + // Mark ambiguous so a replay of this same id is never treated as new. + if (identity) markManualResetCreditOperationAmbiguous(identity); + throw error; } - } - // After a successful redeem (or an idempotent already_redeemed), refresh WHAM usage - // and return remaining only when that refresh freshly parsed available_count. - // Do not fall back to a preserved cached resetCredits (failed/omitted refresh). - if (result.code === "reset" || result.code === "already_redeemed") { - let freshResetCredits: number | undefined; - if (auth.isMain) { - ({ freshResetCredits } = await fetchMainAccountInfoAttempt( - true, - 1, - auth.nativeMainLease, - auth.nativeMainSharedClaimHeld === true, - )); - } else { - const account = configuredPoolAccount(getRuntimeConfig(config), accountId); - ({ freshResetCredits } = await fetchPoolAccountQuota(accountId, true, account?.plan)); + if (!resp.ok) { + await resp.body?.cancel().catch(() => {}); + if (identity) markManualResetCreditOperationAmbiguous(identity); + return jsonResponse({ error: `Upstream error ${resp.status}` }, resp.status); } - return jsonResponse({ - code: result.code, - ...(typeof freshResetCredits === "number" && Number.isFinite(freshResetCredits) - ? { remaining: freshResetCredits } - : {}), - }); + const result = safeResetCreditConsumeDto(await resp.json()); + if (identity) { + // Narrow explicitly rather than casting: `safeResetCreditConsumeDto` + // normalizes anything unrecognized to "unknown", and settling that + // would come back as a mismatch and leave the row pending anyway. + // Settlement failure never downgrades the user-visible outcome: the + // spend already happened upstream, and reporting failure would invite + // a manual retry -- the exact double-spend this unit removes. + if (result.code === "reset" || result.code === "already_redeemed" + || result.code === "nothing_to_reset" || result.code === "no_credit") { + settleManualResetCreditOperation(identity, result.code); + } else { + markManualResetCreditOperationAmbiguous(identity); + } + } + // After a successful redeem (or an idempotent already_redeemed), refresh WHAM usage + // and return remaining only when that refresh freshly parsed available_count. + // Do not fall back to a preserved cached resetCredits (failed/omitted refresh). + if (result.code === "reset" || result.code === "already_redeemed") { + const freshResetCredits = await refreshAfterManualReset( + config, accountId, auth, claims, result.code === "reset", + ); + return jsonResponse({ + code: result.code, + ...(typeof freshResetCredits === "number" && Number.isFinite(freshResetCredits) + ? { remaining: freshResetCredits } + : {}), + }); + } + return jsonResponse(result); + } finally { + // Release only this invocation's leases, including every ambiguous/error outcome. + for (const claim of claims) settleManualResetCooldown(getRuntimeConfig(config), claim, false); } - return jsonResponse(result); }); return operation.ok ? operation.value : operation.response; } catch (e) { diff --git a/src/codex/auth-collision.ts b/src/codex/auth-collision.ts index 52c9242e8c9..1dc17e897e0 100644 --- a/src/codex/auth-collision.ts +++ b/src/codex/auth-collision.ts @@ -6,6 +6,7 @@ import { resolveCodexHomeDir } from "./home"; import { extractAccountId } from "../oauth/chatgpt"; import { isSelectableCodexPoolAccount } from "./account-id"; import { codexPlanKey } from "./plan"; +import { MAX_AUTH_BYTES, readBounded } from "./native-profile-store"; export interface CodexTokens { access_token: string; @@ -31,12 +32,21 @@ function hasErrnoCode(error: unknown, code: string): boolean { /** * Reads the Codex CLI credential file and classifies the outcome. Reads once instead of doing an * `existsSync` pre-check, so a file replaced between check and read cannot be misread as absent. + * An already-owned lifecycle may supply its pinned auth path instead of resolving ambient home. + * `bounded` opts into the native-profile bounded reader (regular file, size-capped, no-follow, + * non-blocking) for startup observation paths that run inside the owner claim; bounded violations + * classify as `unreadable`. Legacy callers keep the unbounded read. * Never returns or logs the raw error or any token material. */ -export function readCodexTokensResult(): CodexTokenReadResult { +export function readCodexTokensResult( + authPath = join(resolveCodexHomeDir(), "auth.json"), + options?: { bounded?: boolean }, +): CodexTokenReadResult { let raw: string; try { - raw = readFileSync(join(resolveCodexHomeDir(), "auth.json"), "utf-8"); + raw = options?.bounded === true + ? readBounded(authPath, MAX_AUTH_BYTES).toString("utf-8") + : readFileSync(authPath, "utf-8"); } catch (error) { return { status: hasErrnoCode(error, "ENOENT") ? "missing" : "unreadable" }; } diff --git a/src/codex/auth-context.ts b/src/codex/auth-context.ts index 2f319b3144e..bcb5b15134b 100644 --- a/src/codex/auth-context.ts +++ b/src/codex/auth-context.ts @@ -1,9 +1,10 @@ -import { createHmac, randomBytes } from "node:crypto"; +import { createHash, createHmac, randomBytes, timingSafeEqual } from "node:crypto"; import { CodexCredentialGenerationConflictError, CodexCredentialRefreshLockTimeoutError, CodexCredentialRefreshBusyError, CodexCredentialRefreshStaleError, + getCodexAccountCredential, getValidCodexToken, isCodexAccountGenerationLive, } from "./account-store"; @@ -21,7 +22,7 @@ import { isMainAccountTokenLive, type NativeMainRefreshDependencies, } from "./main-account"; -import { isNativeMainTrafficBlocked, nativeMainStartupGateSnapshot } from "./native-profile-startup"; +import { isMainAccountPolicyBindingPending, isNativeMainTrafficBlocked, nativeMainStartupGateSnapshot } from "./native-profile-startup"; import type { NativeMainStartupBlockReason } from "./native-profile-startup"; import { codexQuotaScopeForModel, @@ -49,7 +50,7 @@ import type { CodexAccountMode, OcxConfig, OcxProviderConfig } from "../types"; import { FORWARD_HEADERS } from "../adapters/openai-responses"; import { captureConfigGeneration } from "../lib/state-store-sweeper"; import { retainedUtf8Bytes } from "../lib/admission"; -import { extractAccountId } from "../oauth/chatgpt"; +import { extractAccountId, extractEmail } from "../oauth/chatgpt"; import { getMainAccountHardLockStatus, isMainAccountHardLocked } from "./main-account-hard-lock"; import { captureMainAccountIdentityGeneration, @@ -62,7 +63,7 @@ import { } from "./main-account-cache"; import { CODEX_RESERVE_HELPER_UNSUPPORTED_MESSAGE, isCodexReserveHelperUnsupported, isCodexReserveRequestEligible } from "./loopback-target"; import type { DataPlaneAdmission } from "../server/auth-cors"; -import { getMainReserveAuthorization, isMainReserveAuthorizationLive, type MainReserveAuthorization } from "./reserve-availability"; +import { getMainReserveAuthorization, isMainReserveAuthorizationLive, nativeUserIdClaims, type MainReserveAuthorization } from "./reserve-availability"; import { UpstreamRetryEvidenceError } from "../lib/upstream-retry"; const CODEX_AFFINITY_COMPONENT_MAX_BYTES = 512; @@ -455,6 +456,54 @@ function callerMatchesObservedMain(headers: Headers): boolean { return matchesMainQuotaCredential(bearer, effectiveAccountId); } +/** Constant-time digest comparison so bearer bytes never drive branch timing. */ +function sameCredentialMaterial(a: string, b: string): boolean { + return timingSafeEqual(createHash("sha256").update(a).digest(), createHash("sha256").update(b).digest()); +} + +/** + * The early-cooldown caller-main fallback must not resurrect the subscription that is cooling + * down. Fail closed on ambiguity: an unreadable caller identity cannot be distinguished from the + * cooled account. A distinct workspace account id is always safe; an exact materialized + * bearer + account tuple marks the same subscription. Beyond that, the stable native user id is + * the strongest available evidence: it survives an email change and a token rotation, and it + * separates members who share one workspace account id even when neither credential carries an + * email. Email remains the fallback when no comparable user id exists on both sides. Coexisting + * personal/business registrations with the same email and account id over-deny during the + * cooldown — the safe direction. + */ +function callerIsCooledPoolAccount(headers: Headers, config: OcxConfig, accountId: string): boolean { + const bearer = headers.get("authorization")?.replace(/^Bearer\s+/i, "").trim(); + if (!bearer) return true; + const callerAccountId = headers.get("chatgpt-account-id") ?? extractAccountId(undefined, bearer); + if (callerAccountId === undefined) return true; + if (accountId === MAIN_CODEX_ACCOUNT_ID) { + // No physical-main read to identify the caller: the observed-main equality tag suffices. + return callerMatchesObservedMain(headers); + } + const stored = getCodexAccountCredential(accountId); + const entry = config.codexAccounts?.find(account => account.id === accountId); + const cooledAccountId = stored?.chatgptAccountId || entry?.chatgptAccountId; + if (!cooledAccountId) return true; + if (cooledAccountId !== callerAccountId) return false; + if (stored?.accessToken && sameCredentialMaterial(bearer, stored.accessToken)) return true; + // Same namespace on both sides, never `sub`: this is the ChatGPT per-user identity the reserve + // path already trusts. A credential whose own two encodings of it disagree cannot identify + // anyone, so it fails closed even when the disagreement is on the stored side. + const callerUser = nativeUserIdClaims(bearer); + const cooledUser = stored?.accessToken + ? nativeUserIdClaims(stored.accessToken) + : { userId: undefined, conflict: false }; + if (callerUser.conflict || cooledUser.conflict) return true; + if (callerUser.userId !== undefined && cooledUser.userId !== undefined) { + return callerUser.userId === cooledUser.userId; + } + const callerEmail = extractEmail(undefined, bearer)?.trim().toLowerCase() || undefined; + const cooledEmail = entry?.email?.trim().toLowerCase() || undefined; + if (callerEmail !== undefined && cooledEmail !== undefined) return callerEmail === cooledEmail; + return true; +} + function captureObservedMainWriter(): MainQuotaWriter | undefined { const identityKey = getObservedMainQuotaIdentityKey(); return identityKey === undefined ? undefined : { @@ -598,20 +647,31 @@ export async function resolveCodexAuthContext( throw new CodexReserveUnavailableError(); } const fixedAccountId = reserve ? MAIN_CODEX_ACCOUNT_ID : options.accountId; - const preserveRequestOwnedMainPin = requestScopedMainCredential + const requestOwnedMainPinCandidate = requestScopedMainCredential && fixedAccountId === undefined && config.activeCodexAccountPinned === MAIN_CODEX_ACCOUNT_ID && isEffectiveCodexAccountPinned(config) && !policy.pausedCodexAccountIds?.includes(MAIN_CODEX_ACCOUNT_ID) - && !(callerMatchesObservedMain(headers) && isMainAccountHardLocked(policy)) && requestOwnedMainPinHasQuotaHeadroom(config); + // During an owned startup, equality cannot be established until recovery and the + // memory-only policy binding finish. This read-only fence never probes a foreign home. + if (policy.codexMainAccountHardLock === true && requestOwnedMainPinCandidate && isMainAccountPolicyBindingPending()) { + throw new CodexMainProfileDrainingError(); + } + const preserveRequestOwnedMainPin = requestOwnedMainPinCandidate + && !(callerMatchesObservedMain(headers) && isMainAccountHardLocked(policy)); if (fixedAccountId !== undefined && options.excludeAccountId !== undefined) { throw new Error("Codex auth context cannot select and exclude an account simultaneously"); } const resolveCallerOwnedMainContext = async (): Promise<CodexAuthContext> => { - if (!hasCallerCodexBearer(headers)) throw new CodexDirectAuthenticationError(); const substituteStoredMain = options.substituteMainCredentialForDirect === true; + // An internal route change can strip the admission bearer before this point. + // Trusted substitution still has to claim and validate stored main below. + if (!substituteStoredMain && !hasCallerCodexBearer(headers)) throw new CodexDirectAuthenticationError(); if (!substituteStoredMain) { + if (policy.codexMainAccountHardLock === true && isMainAccountPolicyBindingPending()) { + throw new CodexMainProfileDrainingError(); + } if (callerMatchesObservedMain(headers)) assertMainAccountPolicy(policy); if (reserve) { const selected = materializeCodexUpstreamAuth(headers, { kind: "main", accountId: null }, { config: policy }); @@ -885,6 +945,14 @@ export async function resolveCodexAuthContext( ? tryAcquireCodexQuotaScopeProbeLease(accountId, probeQuotaScope) ?? undefined : tryAcquireCodexQuotaProbeLease(accountId) ?? undefined; if (!probeLeaseId) { + // The selector can retain the configured Pool account when no stored + // alternate is eligible. A validated caller may still serve this request, + // just as it can after an upstream rejection, without changing Pool state. + if (requestScopedMainCredential && fixedAccountId === undefined + && options.excludeAccountId !== MAIN_CODEX_ACCOUNT_ID + && !callerIsCooledPoolAccount(headers, config, accountId)) { + return await resolveCallerOwnedMainContext(); + } throw new CodexAccountCooldownError(accountId, cooldownUntil, cooldown?.cooldownSource, cooldown?.quotaScope); } } diff --git a/src/codex/catalog/provider-fetch.ts b/src/codex/catalog/provider-fetch.ts index 97e32307a56..f52fad88525 100644 --- a/src/codex/catalog/provider-fetch.ts +++ b/src/codex/catalog/provider-fetch.ts @@ -52,6 +52,8 @@ import { CODEX_GPT5_IDENTITY_LINE } from "../../adapters/identity"; import { filterCursorConfiguredModelsByLiveDiscovery } from "../../adapters/cursor/discovery"; import { fetchCursorUsableModels } from "../../adapters/cursor/live-models"; import { recordLiveCursorClaudeModels, recordLiveCursorMaxModeModels } from "../../adapters/cursor/catalog"; +import { fetchQoderModels } from "../../adapters/qoder/live-models"; +import { resolveQoderProfile } from "../../adapters/qoder/profiles"; import { isCanonicalOpenAiForwardProvider, OPENAI_API_PROVIDER_ID, OPENAI_CODEX_PROVIDER_ID } from "../../providers/openai-tiers"; import { COMBO_NAMESPACE, @@ -952,16 +954,21 @@ function comboMemberVendorMetadata(provider: string, modelId: string): ModelMeta */ function vendorMetadataComboFallback(target: { provider: string; model: string }): ComboCatalogMemberFallback | undefined { const metadataProvider = resolveMetadataProvider(target.provider); - const metadata = metadataProvider ? comboMemberVendorMetadata(metadataProvider, target.model) : undefined; + // Custom OpenAI-compatible routes commonly retain the canonical OpenAI model id + // while using a provider name that has no metadata alias. Reuse only its effort + // ladder below; context/modality rows remain provider-owned. + const metadata = metadataProvider + ? comboMemberVendorMetadata(metadataProvider, target.model) + : comboMemberVendorMetadata("openai", target.model); if (!metadata) return undefined; return { - ...(typeof metadata.contextWindow === "number" && metadata.contextWindow > 0 + ...(metadataProvider && typeof metadata.contextWindow === "number" && metadata.contextWindow > 0 ? { contextWindow: metadata.contextWindow } : {}), - ...(typeof metadata.maxTokens === "number" && metadata.maxTokens > 0 + ...(metadataProvider && typeof metadata.maxTokens === "number" && metadata.maxTokens > 0 ? { maxOutputTokens: metadata.maxTokens } : {}), - ...(Array.isArray(metadata.input) && metadata.input.length > 0 + ...(metadataProvider && Array.isArray(metadata.input) && metadata.input.length > 0 ? { inputModalities: [...metadata.input] } : {}), ...(metadata.reasoning === true ? { reasoningEfforts: [...ROUTED_COMBO_MEMBER_REASONING_EFFORTS] } : {}), @@ -1038,15 +1045,21 @@ export function resolveComboCatalogMember( && typeof existing.contextWindow === "number" && existing.contextWindow > 0 ) { - const capped = applyProviderContextCap(existing.contextWindow, contextCap); + // Live discovery can explicitly say text-only even when configured routing + // supplies a vision sidecar. Apply the same provider hints used for thin + // rows before deriving a combo from this complete row. + const hinted = prov && isModelVisionSidecarConsumer(prov, existing.id) + ? applyProviderConfigHints(target.provider, prov, existing, contextCap, metadataModelIdCaseFold) + : existing; + const capped = applyProviderContextCap(hinted.contextWindow, contextCap); if (capped === undefined || capped === existing.contextWindow) { - return withFallbackMetadata(existing); + return withFallbackMetadata(hinted); } - const maxInput = typeof existing.maxInputTokens === "number" && existing.maxInputTokens > 0 - ? Math.min(existing.maxInputTokens, capped) + const maxInput = typeof hinted.maxInputTokens === "number" && hinted.maxInputTokens > 0 + ? Math.min(hinted.maxInputTokens, capped) : Math.min(fallback?.maxInputTokens ?? capped, capped); return withFallbackMetadata({ - ...existing, + ...hinted, contextWindow: capped, maxInputTokens: maxInput, contextCap, @@ -1419,6 +1432,13 @@ export function catalogHintsFromModelsApiItem(providerName: string, item: Provid plainRecord(item.meta)?.n_ctx, item.default_context_size, plainRecord(item.meta)?.n_ctx_train, + // A chained OpenCodex hub (and other re-serving gateways) reports the per-model + // window on the same capability record this function already reads for + // `max_output_tokens` below (#4032). Without it every routed row fell through to + // the 128k compatibility floor in parsing.ts while local forward rows kept their + // real values. Appended after the recognized fields for the same reason as the + // llama.cpp entries above: no provider that already resolves changes behavior. + capabilityRecord?.context_length, ); const maxInputTokens = positiveSafeInteger(limits?.max_input_tokens, item.max_input_tokens); const maxOutputTokens = positiveSafeInteger( @@ -1589,6 +1609,50 @@ async function fetchProviderModelsWithAuth( ? [...models, vertexDefaultSeed] : models ); + if (prov.adapter === "qoder") { + if (!apiKey) return observed(configured, "degraded"); + const profile = resolveQoderProfile(prov.baseUrl); + if (!profile) return observed(configured, "degraded"); + // Qoder's model list is entitlement-specific. Bind cache reads/writes to an irreversible PAT + // fingerprint so an account switch cannot observe another account's roster, even if a caller + // bypasses the normal config mutation path that clears provider caches. + const authorityIdentity = createHash("sha256").update(apiKey).digest("hex"); + const fresh = getFreshCached(name, ttlMs, Date.now(), authorityIdentity); + if (fresh) { + return observed(withConfiguredRetention( + applyConfigHintsToCachedModels(name, prov, fresh, contextCap, metadataModelIdCaseFold, captured.effectiveAlias), + ), "authoritative"); + } + const scopedStale = getStaleCached(name, authorityIdentity); + if (isModelsFetchCoolingDown(name) && scopedStale) { + return observed(withConfiguredRetention( + applyConfigHintsToCachedModels(name, prov, scopedStale, contextCap, metadataModelIdCaseFold, captured.effectiveAlias), + ), "degraded"); + } + const live = await fetchQoderModels(profile, apiKey); + if (live.ok) { + const discovered = live.models.map(id => ({ + id, + provider: name, + ...catalogHintsFromProviderConfig(name, prov, id, contextCap, metadataModelIdCaseFold, captured.effectiveAlias), + })); + const forCache = withConfiguredRetention(discovered, { retainComboTargets: false }); + if (!setCached(name, forCache, Date.now(), cacheGeneration, authorityIdentity)) { + return observed(withConfiguredRetention(configured), "degraded"); + } + markProviderDiscoveryOk(name, live.models.length); + return observed(withConfiguredRetention(forCache, { warnDrops: true }), "authoritative"); + } + if (isCurrentCacheGeneration()) { + markModelsFetchFailure(name); + markProviderDiscoveryFailed(name, { reason: "provider" }); + console.warn(`[opencodex] Qoder model discovery for "${name}" failed [${live.error}]${live.detail ? `: ${live.detail}` : ""}; using stale/static catalog degradation.`); + } + const stale = getStaleCached(name, authorityIdentity); + return observed(withConfiguredRetention( + stale ? applyConfigHintsToCachedModels(name, prov, stale, contextCap, metadataModelIdCaseFold, captured.effectiveAlias) : configured, + ), "degraded"); + } if (prov.adapter === "cursor") { if (!apiKey) return observed(configured, "degraded"); // Cursor uses a bespoke GetUsableModels RPC (not /models), returning the full effort-suffixed diff --git a/src/codex/features.ts b/src/codex/features.ts index 9875a6ea2cc..a52e9fc46e6 100644 --- a/src/codex/features.ts +++ b/src/codex/features.ts @@ -38,6 +38,7 @@ import { AtomicWriteResidualTempError, AtomicWriteSecretResidualError, atomicWri import { forgetEphemeralSecretPath } from "../lib/windows-secret-acl"; import { CODEX_CONFIG_PATH } from "./paths"; import { resolveAndPersistCodexRuntime } from "./runtime"; +import { canonicalizeOpenCodexModeHint } from "./multi-agent-mode-policy"; /** Upstream codex-rs feature key: allow `request_user_input` in Default mode. */ export const DEFAULT_MODE_REQUEST_USER_INPUT_FEATURE_KEY = "default_mode_request_user_input"; @@ -1091,7 +1092,8 @@ export function setMultiAgentModeHintText(value: string | null, configPath?: str }; } } - return setV2StringField("multi_agent_mode_hint_text", value, configPath); + const canonicalValue = value === null ? null : canonicalizeOpenCodexModeHint(value); + return setV2StringField("multi_agent_mode_hint_text", canonicalValue, configPath); } export const MODE_HINT_CAPABILITY_CACHE_MAX_ENTRIES = 8; diff --git a/src/codex/inject.ts b/src/codex/inject.ts index 0f86867a8ca..b43e8076de0 100644 --- a/src/codex/inject.ts +++ b/src/codex/inject.ts @@ -31,6 +31,7 @@ import { resolveEffectiveUserIdentity, } from "./user-identity"; import { + hasUnverifiedJournalBaseline, markJournalInjectedState, journaledInjectedOpenaiBaseUrl, journaledInjectedRealtimeWsBaseUrl, @@ -73,7 +74,6 @@ import { tomlString, } from "./paths"; import { resolveEffectiveProjectModelProvider } from "./project-config-warnings"; -import { syncCodexAgentRoles } from "./agent-roles-sync"; import { transformManagedSubagentDefaults, type ManagedSubagentDefaults, @@ -175,6 +175,8 @@ export interface CodexRoutingTarget { * and is never weakened by this flag. */ desktopAuthless?: boolean; + /** Select the dedicated provider identity so Codex owns compaction locally. */ + clientCompaction?: boolean; } function validateCodexRoutingTarget(target: CodexRoutingTarget): CodexRoutingTarget { @@ -198,35 +200,34 @@ function validateCodexRoutingTarget(target: CodexRoutingTarget): CodexRoutingTar return { ...target, baseUrl: `${parsed.origin}/v1` }; } -function normalizePublicOriginToBaseUrl(publicOrigin: string): string { - let trimmed = publicOrigin; - while (trimmed.endsWith("/")) trimmed = trimmed.slice(0, -1); - return trimmed.endsWith("/v1") ? trimmed : `${trimmed}/v1`; -} - -/** Provider-table form is used for non-loopback admission and for the authless Desktop opt-in. */ +/** Provider-table form is used when auth, admission, or compaction policy needs a dedicated provider. */ function usesProviderTable(target: CodexRoutingTarget): boolean { - return target.requiresAdmissionToken || target.desktopAuthless === true; + return target.requiresAdmissionToken + || target.desktopAuthless === true + || target.clientCompaction === true; } export function standaloneCodexRoutingTarget( port: number, - config?: Pick<OcxConfig, "hostname" | "tls" | "unauthenticatedLoopbackListener" | "codexDesktopAuthless">, + config?: Pick< + OcxConfig, + "hostname" | "unauthenticatedLoopbackListener" | "codexDesktopAuthless" | "codexClientCompaction" + >, ): CodexRoutingTarget { const loopback = config?.unauthenticatedLoopbackListener; const effectivePort = loopback?.enabled ? loopback.port : port; const hostname = loopback?.enabled ? undefined : config?.hostname; - const publicOrigin = loopback?.enabled ? undefined : config?.tls?.publicOrigin; const requiresAdmissionToken = loopback?.enabled ? false : shouldInjectApiAuthHeader(config); return { - baseUrl: publicOrigin - ? normalizePublicOriginToBaseUrl(publicOrigin) - : `http://${providerBaseHost(hostname)}:${effectivePort}/v1`, + baseUrl: `http://${providerBaseHost(hostname)}:${effectivePort}/v1`, requiresAdmissionToken, tokenEnv: "OPENCODEX_API_AUTH_TOKEN", ...(config?.codexDesktopAuthless === true && !requiresAdmissionToken ? { desktopAuthless: true } : {}), + ...(config?.codexClientCompaction === true && !requiresAdmissionToken + ? { clientCompaction: true } + : {}), }; } @@ -281,7 +282,6 @@ export function buildProviderTableBlock( supportsWebsockets?: boolean, includeApiAuthHeader?: boolean, hostname?: string, - publicOrigin?: string, ): string; export function buildProviderTableBlock( target: CodexRoutingTarget, @@ -292,12 +292,10 @@ export function buildProviderTableBlock( supportsWebsockets = false, includeApiAuthHeader = false, hostname?: string, - publicOrigin?: string, ): string { - const normalizedPublicOrigin = publicOrigin ? normalizePublicOriginToBaseUrl(publicOrigin) : undefined; const target = typeof portOrTarget === "number" ? validateCodexRoutingTarget({ - baseUrl: normalizedPublicOrigin ?? `http://${providerBaseHost(hostname)}:${portOrTarget}/v1`, + baseUrl: `http://${providerBaseHost(hostname)}:${portOrTarget}/v1`, requiresAdmissionToken: includeApiAuthHeader, tokenEnv: "OPENCODEX_API_AUTH_TOKEN", }) @@ -335,21 +333,15 @@ function buildProviderTableBlockForTarget( export function buildOpenaiBaseUrlLine( port: number, hostname?: string, - publicOrigin?: string, ): string; export function buildOpenaiBaseUrlLine(target: CodexRoutingTarget): string; export function buildOpenaiBaseUrlLine( portOrTarget: number | CodexRoutingTarget, hostname?: string, - publicOrigin?: string, ): string { - if (typeof portOrTarget !== "number") { - return buildOpenaiBaseUrlLineForTarget(validateCodexRoutingTarget(portOrTarget)); - } - const baseUrl = publicOrigin - ? normalizePublicOriginToBaseUrl(publicOrigin) - : `http://${providerBaseHost(hostname)}:${portOrTarget}/v1`; - return `openai_base_url = ${tomlString(baseUrl)}`; + return typeof portOrTarget === "number" + ? `openai_base_url = "http://${providerBaseHost(hostname)}:${portOrTarget}/v1"` + : buildOpenaiBaseUrlLineForTarget(validateCodexRoutingTarget(portOrTarget)); } function buildOpenaiBaseUrlLineForTarget(target: CodexRoutingTarget): string { @@ -380,7 +372,6 @@ export function setRootOpenaiBaseUrl( content: string, port: number, hostname?: string, - publicOrigin?: string, ): { content: string; keptUserBaseUrl: boolean }; export function setRootOpenaiBaseUrl( content: string, @@ -390,7 +381,6 @@ export function setRootOpenaiBaseUrl( content: string, portOrTarget: number | CodexRoutingTarget, hostname?: string, - publicOrigin?: string, ): { content: string; keptUserBaseUrl: boolean } { if (typeof portOrTarget !== "number") { return setRootOpenaiBaseUrlForTarget(content, validateCodexRoutingTarget(portOrTarget)); @@ -398,7 +388,7 @@ export function setRootOpenaiBaseUrl( const lines = content.split("\n"); const firstTable = lines.findIndex((l) => /^\s*\[/.test(l)); const rootEnd = firstTable === -1 ? lines.length : firstTable; - const key = buildOpenaiBaseUrlLine(portOrTarget, hostname, publicOrigin); + const key = buildOpenaiBaseUrlLine(portOrTarget, hostname); for (let i = 0; i < rootEnd; i++) { if (!isRootOpenaiBaseUrlLine(lines[i])) continue; @@ -819,7 +809,7 @@ function stripOpencodexCatalogPath(content: string): string { .join("\n"); } -export function buildProfileFile(port: number, catalogPath?: string | null, supportsWebsockets?: boolean, includeApiAuthHeader?: boolean, hostname?: string, fastMode?: boolean, publicOrigin?: string): string; +export function buildProfileFile(port: number, catalogPath?: string | null, supportsWebsockets?: boolean, includeApiAuthHeader?: boolean, hostname?: string, fastMode?: boolean): string; export function buildProfileFile(target: CodexRoutingTarget, catalogPath?: string | null, supportsWebsockets?: boolean, fastMode?: boolean): string; export function buildProfileFile( portOrTarget: number | CodexRoutingTarget, @@ -828,13 +818,10 @@ export function buildProfileFile( includeApiAuthHeaderOrFastMode?: boolean, hostname?: string, fastMode?: boolean, - publicOrigin?: string, ): string { const target = typeof portOrTarget === "number" ? validateCodexRoutingTarget({ - baseUrl: publicOrigin - ? normalizePublicOriginToBaseUrl(publicOrigin) - : `http://${providerBaseHost(hostname)}:${portOrTarget}/v1`, + baseUrl: `http://${providerBaseHost(hostname)}:${portOrTarget}/v1`, requiresAdmissionToken: includeApiAuthHeaderOrFastMode === true, tokenEnv: "OPENCODEX_API_AUTH_TOKEN", }) @@ -857,7 +844,7 @@ function buildProfileFileForTarget( const host = new URL(origin).host; // Design B (loopback): the reference/fallback file documents the root override form. // Non-loopback keeps the legacy provider-table shape (built-in provider cannot carry - // the x-opencodex-api-key env header); the authless Desktop opt-in shares that shape. + // the x-opencodex-api-key env header); explicit Desktop policies share that shape. if (!usesProviderTable(target)) { const lines = [ "# OpenCodex proxy fallback config (Design B)", @@ -902,7 +889,6 @@ export interface CodexInjectResult { status?: "skipped"; skippedReason?: "desired_disabled" | "desired_enabled"; nativeSubagentDefaultsWarning?: string; - agentRolesSyncWarning?: string; } export async function injectCodexConfig( @@ -927,16 +913,6 @@ export async function injectCodexConfig( } catch (error) { return { success: false, message: error instanceof Error ? error.message : "Invalid Codex routing target" }; } - // Role files are independent of config.toml. Skip when the caller omitted - // config so an unknown catalog cannot prune owned files. The sync fail-closes - // internally; do not wrap this call in an empty catch. - let agentRolesSyncWarning: string | undefined; - if (!options.validateOnly && config) { - const roleSync = syncCodexAgentRoles(config); - if (roleSync.warnings.length > 0) agentRolesSyncWarning = roleSync.warnings.join(" "); - } - const withRoleWarning = <T extends CodexInjectResult>(result: T): T => - agentRolesSyncWarning ? { ...result, agentRolesSyncWarning } : result; if (!existsSync(CODEX_CONFIG_PATH)) { return { success: false, @@ -962,7 +938,7 @@ export async function injectCodexConfig( ) ? `Native Codex sub-agent defaults were not injected: external model_provider ${tomlString(activeProvider)} owns config.toml.` : undefined; - return withRoleWarning({ + return { success: true, ...(nativeSubagentDefaultsWarning ? { nativeSubagentDefaultsWarning } @@ -973,7 +949,7 @@ export async function injectCodexConfig( ` Configure that provider for Responses passthrough at ${routingTarget.baseUrl}` + `${routingTarget.requiresAdmissionToken ? ` with x-opencodex-api-key from ${routingTarget.tokenEnv}` : ""}.\n` + ` For direct injection, switch to the built-in openai provider, remove any user-owned root openai_base_url, and rerun 'ocx start'.`, - }); + }; } // Marker-owned native defaults are OpenCodex residue, never part of the @@ -1049,11 +1025,37 @@ export async function injectCodexConfig( ? setRootModelCatalogPath(content, catalogPath) : stripOpencodexCatalogPath(content); - // Provider-table form: non-loopback admission (legacy) or the authless Desktop opt-in (#1107). - const legacyMode = usesProviderTable(routingTarget); + // Provider-table form: non-loopback admission or an explicit Desktop policy. + const providerTableMode = usesProviderTable(routingTarget); + // Client compaction is the one table form that must not orphan existing threads. It changes + // the DEFAULT provider to `opencodex`, but a thread already tagged `openai` keeps resolving + // to Codex's built-in entry, and without the root override that entry is api.openai.com — + // the thread would resume outside this proxy and outside configured routing. Keeping the + // marker-owned root override alongside the table fixes that at the source: codex builds its + // provider map as merge_configured_model_providers(built_in_model_providers(openai_base_url), + // model_providers), so the override lands on the built-in `openai` entry when the map is + // built, independent of which id is the default, and the merge leaves that entry alone for + // every id except the two Amazon Bedrock ones. With the managed override in place both + // entries point at this proxy. That is a guarantee about the line we own: when the user owns + // the root line we inject nothing, and the built-in entry keeps whatever destination they + // chose, so an `openai`-tagged thread follows their configuration rather than this proxy. + // + // Re-tagging history was the alternative and it cannot be made durable: the length-preserving + // first-line repair cannot grow "openai" into "opencodex" without pre-existing padding, and + // codex re-appends that stale first line whenever it writes git or memory-mode metadata. + // + // Authless is excluded on purpose: its whole point is a provider that carries + // requires_openai_auth = false, and admission-token forms cannot use the root key at all. + // Those two forms therefore keep their existing behaviour, forward-tagging resume history with + // originals backed up, and that includes the case where a user enables authless and client + // compaction together. Only the compaction-only form skips the history unit. + const keepRootOverrideAlongsideTable = providerTableMode + && routingTarget.clientCompaction === true + && routingTarget.desktopAuthless !== true + && routingTarget.requiresAdmissionToken !== true; let keptUserBaseUrl = false; let keptUserRealtimeWsBaseUrl = false; - if (legacyMode) { + if (providerTableMode) { // Legacy (non-loopback) injection: the built-in openai provider cannot carry the // x-opencodex-api-key env header, so keep the opencodex provider table + root re-tag. // The authless opt-in needs the same table because only a dedicated provider can carry @@ -1065,6 +1067,14 @@ export async function injectCodexConfig( content.trimEnd() + "\n" + buildProviderTableBlockForTarget(routingTarget, websocketsEnabled(config ?? {})); + // 3) Keep existing `openai`-tagged threads reaching the proxy (see above). Ownership rules + // are the Design B ones: a user's own root line is never replaced. + if (keepRootOverrideAlongsideTable) { + content = stripInjectedOpenaiBaseUrl(content); + const rootFallback = setRootOpenaiBaseUrlForTarget(content, routingTarget); + content = rootFallback.content; + keptUserBaseUrl = rootFallback.keptUserBaseUrl; + } } else { // Design B (loopback): a single root override; codex keeps its native `openai` provider id // so thread history is never remapped. Any legacy form was already stripped above. @@ -1184,6 +1194,24 @@ export async function injectCodexConfig( }; } + const journalBaselineIsNative = (): boolean => { + // Value evidence survives an app rewrite that removes the ownership comments. + const journaledBaseUrl = journaledInjectedOpenaiBaseUrl({ readOnly: true }); + const journaledRealtimeWsBaseUrl = journaledInjectedRealtimeWsBaseUrl({ readOnly: true }); + const looksInjectedByValue = + (journaledBaseUrl !== null && rootTomlString(rawContent, "openai_base_url") === journaledBaseUrl) + || (journaledRealtimeWsBaseUrl !== null + && rootTomlString(rawContent, REALTIME_WS_BASE_URL_KEY) === journaledRealtimeWsBaseUrl); + return !hasInjectedCodexRouting(rawContent) && !looksInjectedByValue; + }; + const readCurrentProfile = (): string | null => existsSync(CODEX_PROFILE_PATH) + ? readFileSync(CODEX_PROFILE_PATH, "utf-8") + : null; + const unverifiedJournalMessage = "Codex configuration was not written: the journal has no verified baseline for the current config/profile. Current files and the journal were preserved."; + if (!journalBaselineIsNative() && hasUnverifiedJournalBaseline(baselineContent, readCurrentProfile())) { + return { success: false, message: unverifiedJournalMessage }; + } + if (options.validateOnly) { return { success: true, @@ -1192,31 +1220,29 @@ export async function injectCodexConfig( } const applyNativeArtifacts = (): void => { - // #1798 again: a Codex app rewrite keeps values and drops the ownership comments, so - // marker evidence alone would classify our own routed config as the user's native - // baseline and replace the real original snapshot. Value evidence from the journal - // (the URLs the last injection recorded writing) blocks that misclassification. - const journaledBaseUrl = journaledInjectedOpenaiBaseUrl(); - const journaledRealtimeWsBaseUrl = journaledInjectedRealtimeWsBaseUrl(); - const looksInjectedByValue = - (journaledBaseUrl !== null && rootTomlString(rawContent, "openai_base_url") === journaledBaseUrl) - || (journaledRealtimeWsBaseUrl !== null - && rootTomlString(rawContent, REALTIME_WS_BASE_URL_KEY) === journaledRealtimeWsBaseUrl); writeJournal({ - currentStateIsNative: !hasInjectedCodexRouting(rawContent) && !looksInjectedByValue, + currentStateIsNative: journalBaselineIsNative(), configContent: baselineContent, owner: options.journalOwner, }); + // A native snapshot may have been refreshed above. An older hashless routed snapshot + // must not gain the new injection's hash and later overwrite preserved user edits. + if (hasUnverifiedJournalBaseline(baselineContent, readCurrentProfile())) throw new Error(unverifiedJournalMessage); atomicWriteFile(CODEX_CONFIG_PATH, content); atomicWriteFile(CODEX_PROFILE_PATH, profileContent); markJournalInjectedState(content, profileContent, { - // A root override is ours only in loopback Design B when no user-owned value won. - injectedOpenaiBaseUrl: legacyMode || keptUserBaseUrl + // A root override is ours whenever we wrote one and no user-owned value won. That is + // loopback Design B, and now also the client-compaction form, which keeps the same + // marker-owned root line beside its provider table. Journaling it matters because the + // marker comment is not durable: the Codex app can reserialize config.toml and drop + // comments, and restore then has only the journaled value to tell our line from a user's + // (#1798). The other table forms never write the key, so they still record null. + injectedOpenaiBaseUrl: (providerTableMode && !keepRootOverrideAlongsideTable) || keptUserBaseUrl ? null : rootTomlString(content, "openai_base_url"), // The sideband override is ours only when we wrote it this pass (never in legacy mode, // never when the user owns either key). - injectedRealtimeWsBaseUrl: legacyMode || keptUserBaseUrl || keptUserRealtimeWsBaseUrl + injectedRealtimeWsBaseUrl: providerTableMode || keptUserBaseUrl || keptUserRealtimeWsBaseUrl ? null : rootTomlString(content, REALTIME_WS_BASE_URL_KEY), // This is the catalog artifact selected for this injection, even when config.toml @@ -1353,7 +1379,11 @@ export async function injectCodexConfig( } // Legacy mode still forward-tags history so re-tagged threads stay listable. Design B needs // the opposite: a one-time migration of previously re-tagged threads BACK to openai (restore - // machinery; cheap no-op when there is nothing to migrate). + // machinery; cheap no-op when there is nothing to migrate). The client-compaction opt-in keeps + // the root override alongside its table precisely so it does NOT have to touch history: an + // existing `openai`-tagged thread still reaches this proxy through the built-in entry. So it + // skips this unit, and future-only means what it says — no provider metadata is rewritten and + // no `ocx1:` payload is touched. // History runs in a Worker under H, not on this thread. // // The three surfaces it touches — the SQLite rows, the backup manifest, and the @@ -1366,8 +1396,8 @@ export async function injectCodexConfig( expectedDesiredEnabled: true, operation: deriveCodexHistoryOperation({ direction: "apply", - resumeHistory: config?.syncResumeHistory !== false, - legacyMode, + resumeHistory: config?.syncResumeHistory !== false && !keepRootOverrideAlongsideTable, + legacyMode: providerTableMode, }), }); // A blocked or failed unit is reported, not silently counted as zero work: @@ -1398,19 +1428,43 @@ export async function injectCodexConfig( const ejected = (history as { ejectedRows?: number }).ejectedRows ?? 0; const migratedRows = (history.rows ?? 0) + ejected; const historyMessage = - config?.syncResumeHistory === false + keepRootOverrideAlongsideTable + ? (keptUserBaseUrl + ? ` Codex resume history: left unchanged; threads already tagged openai follow your own root openai_base_url, not the proxy.\n` + : ` Codex resume history: left unchanged; existing threads keep reaching the proxy through the retained openai_base_url override.\n`) + : config?.syncResumeHistory === false ? ` Codex resume history: left unchanged (syncResumeHistory=false).\n` : history.failed - ? formatApplyHistoryFailure(historyOutcome, legacyMode) - : legacyMode + ? formatApplyHistoryFailure(historyOutcome, providerTableMode) + : providerTableMode ? ` Codex resume history: ${history.rows} thread(s) made visible for opencodex; originals backed up for restore.\n` : migratedRows > 0 ? ` Codex resume history: restored original provider metadata for ${migratedRows} manifest-backed thread(s) (one-time).\n` : ` Codex resume history: no backed-up metadata pending; untracked routed history left unchanged.\n`; - // A user-owned root openai_base_url means we did NOT install routing — say so honestly + // A user-owned root openai_base_url means we did NOT install root routing — say so honestly // instead of claiming the proxy route is active (catalog/fast_mode were still written). + // + // The client-compaction form writes a provider table as well, so "nothing was injected" would + // misdescribe the file it just produced: new threads do use the injected table. Report that + // mixed result on its own terms, and never tell the operator to delete a setting of theirs. + if (keptUserBaseUrl && keepRootOverrideAlongsideTable) { + return { + success: true, + ...(nativeSubagentDefaultsWarning ? { nativeSubagentDefaultsWarning } : {}), + message: + `Injected opencodex as default provider into Codex config (client-side compaction mode; ChatGPT auth remains required).\n` + + ` Your root openai_base_url was left exactly as you set it, so opencodex did not add its own.\n` + + catalogMessage + + historyMessage + + managedDefaultsMessage + + ` New threads use the injected opencodex provider and route through the proxy.\n` + + ` Threads already tagged openai resolve through Codex's built-in provider, which your root openai_base_url points at.\n` + + ` Remove that line and rerun 'ocx start' only if you want those threads on the proxy too.\n` + + ` Fallback: codex --profile opencodex (same behavior)`, + }; + } if (keptUserBaseUrl) { - return withRoleWarning({ + return { success: true, ...(nativeSubagentDefaultsWarning ? { nativeSubagentDefaultsWarning } @@ -1422,14 +1476,16 @@ export async function injectCodexConfig( managedDefaultsMessage + ` To route plain codex through the proxy, remove your openai_base_url line from ~/.codex/config.toml and rerun 'ocx start'.\n` + ` Reference config: ${CODEX_PROFILE_PATH}`, - }); + }; } const headline = routingTarget.desktopAuthless === true ? `Injected opencodex as default provider into Codex config (authless Desktop mode: requires_openai_auth = false).\n` - : legacyMode + : routingTarget.clientCompaction === true + ? `Injected opencodex as default provider into Codex config (client-side compaction mode; ChatGPT auth remains required).\n` + : providerTableMode ? `Injected opencodex as default provider into Codex config.\n` : `Pointed Codex's built-in openai provider at the opencodex proxy (openai_base_url + realtime sideband override).\n`; - return withRoleWarning({ + return { success: true, ...(nativeSubagentDefaultsWarning ? { nativeSubagentDefaultsWarning } : {}), message: @@ -1440,10 +1496,10 @@ export async function injectCodexConfig( ` All models now route through opencodex proxy (like OpenRouter).\n` + ` OpenAI models (gpt-5.5, etc.) are passed through to OpenAI.\n` + ` Custom models route to their configured providers.\n` + - (legacyMode + (providerTableMode ? ` Fallback: codex --profile opencodex (same behavior)` : ` Fallback reference: ${CODEX_PROFILE_PATH}`), - }); + }; } /** @@ -1768,6 +1824,12 @@ export function skippedRestoreEnvelope(success: boolean, message: string): Codex function restoreCodexConfigInline(): CodexRestoreConfigResult { try { const journal = restoreJournalState(); + if (journal.unverified) { + return { + state: "failed", changed: false, action: "failed", + message: "Codex journal recovery was not verified; current configuration files and the journal were preserved.", + }; + } const restored = journal.configRestored ? { success: true, message: "Codex config restored from opencodex journal." } : removeCodexConfig({ preserveProfile: journal.profileRestored || journal.profileChanged }); diff --git a/src/codex/journal.ts b/src/codex/journal.ts index b2ec89eef06..8aafb19202e 100644 --- a/src/codex/journal.ts +++ b/src/codex/journal.ts @@ -62,12 +62,40 @@ export interface RestoreJournalResult { configChanged: boolean; profileChanged: boolean; complete: boolean; + /** A changed artifact has no recorded injected hash, so snapshot ownership is unknown. */ + unverified: boolean; } function sha256(content: string | null): string | null { return content === null ? null : createHash("sha256").update(content).digest("hex"); } +function compareJournalState(journal: Journal, config: string | null, profile: string | null) { + const originalConfig = Buffer.from(journal.originalConfig, "base64").toString("utf-8"); + const originalProfile = journal.originalProfile === null + ? null + : Buffer.from(journal.originalProfile, "base64").toString("utf-8"); + const configAlreadyOriginal = config === originalConfig; + const profileAlreadyOriginal = profile === originalProfile; + const configHashKnown = typeof journal.injectedConfigHash === "string" && journal.injectedConfigHash.length > 0; + const profileHashKnown = journal.injectedProfileHash !== undefined; + return { + originalConfig, + originalProfile, + configAlreadyOriginal, + profileAlreadyOriginal, + configUnchanged: configAlreadyOriginal || (configHashKnown && sha256(config) === journal.injectedConfigHash), + profileUnchanged: profileAlreadyOriginal || (profileHashKnown && sha256(profile) === (journal.injectedProfileHash ?? null)), + unverified: (!configHashKnown && !configAlreadyOriginal) || (!profileHashKnown && !profileAlreadyOriginal), + }; +} + +/** Read-only check of the pre-injection snapshot input, never the newly injected bytes. */ +export function hasUnverifiedJournalBaseline(config: string | null, profile: string | null): boolean { + const journal = readJournal(false); + return journal !== null && compareJournalState(journal, config, profile).unverified; +} + export interface WriteJournalOptions { /** * The caller's verdict on the config it is about to transform: false when @@ -114,7 +142,7 @@ export function writeJournal(options: WriteJournalOptions = {}): void { const journal: Journal = { version: 1, originalConfig: Buffer.from(config).toString("base64"), - originalProfile: profile ? Buffer.from(profile).toString("base64") : null, + originalProfile: profile !== null ? Buffer.from(profile).toString("base64") : null, pid: process.pid, owner: options.owner?.kind === "client" ? { kind: "client", apiKeyId: options.owner.apiKeyId } @@ -208,22 +236,34 @@ export function journalOwner(): JournalOwner | null { export function restoreJournalState(): RestoreJournalResult { const journal = readJournal(); if (!journal) { - return { configRestored: false, profileRestored: false, configChanged: false, profileChanged: false, complete: false }; + return { configRestored: false, profileRestored: false, configChanged: false, profileChanged: false, complete: false, unverified: false }; } - const currentConfig = existsSync(CODEX_CONFIG_PATH) ? readFileSync(CODEX_CONFIG_PATH, "utf-8") : ""; + const currentConfig = existsSync(CODEX_CONFIG_PATH) ? readFileSync(CODEX_CONFIG_PATH, "utf-8") : null; const currentProfile = existsSync(CODEX_PROFILE_PATH) ? readFileSync(CODEX_PROFILE_PATH, "utf-8") : null; - const configUnchanged = !journal.injectedConfigHash || sha256(currentConfig) === journal.injectedConfigHash; - const profileUnchanged = journal.injectedProfileHash === undefined || sha256(currentProfile) === (journal.injectedProfileHash ?? null); + const comparison = compareJournalState(journal, currentConfig, currentProfile); + const { configUnchanged, profileUnchanged } = comparison; + // A legacy record or interruption before markJournalInjectedState is not proof that + // later bytes belong to OpenCodex. Keep the whole pair and its recovery evidence intact. + if (comparison.unverified) { + return { + configRestored: comparison.configAlreadyOriginal, + profileRestored: comparison.profileAlreadyOriginal, + configChanged: !configUnchanged, + profileChanged: !profileUnchanged, + complete: false, + unverified: true, + }; + } - let configRestored = false; - let profileRestored = false; - if (configUnchanged) { - atomicWriteFile(CODEX_CONFIG_PATH, Buffer.from(journal.originalConfig, "base64").toString("utf-8")); + let configRestored = comparison.configAlreadyOriginal; + let profileRestored = comparison.profileAlreadyOriginal; + if (configUnchanged && !configRestored) { + atomicWriteFile(CODEX_CONFIG_PATH, comparison.originalConfig); configRestored = true; } - if (profileUnchanged) { - if (journal.originalProfile !== null) { - atomicWriteFile(CODEX_PROFILE_PATH, Buffer.from(journal.originalProfile, "base64").toString("utf-8")); + if (profileUnchanged && !profileRestored) { + if (comparison.originalProfile !== null) { + atomicWriteFile(CODEX_PROFILE_PATH, comparison.originalProfile); profileRestored = true; } else if (existsSync(CODEX_PROFILE_PATH)) { // "There was no profile before, so remove the one we generated." Claiming success @@ -249,6 +289,7 @@ export function restoreJournalState(): RestoreJournalResult { configChanged: !configUnchanged, profileChanged: !profileUnchanged, complete, + unverified: false, }; } @@ -267,6 +308,10 @@ export function reconcileJournal(options: ReconcileJournalOptions = {}): boolean if (owner?.kind === "client") { if (options.activeClientApiKeyId === owner.apiKeyId) return false; const restored = restoreJournalState(); + if (restored.unverified) { + console.error("⚠️ Codex journal recovery was not verified; current configuration files and the journal were preserved."); + return false; + } if (!restored.configRestored && !restored.profileRestored) return false; console.error(`⚠️ Uncommitted or mismatched client routing (${owner.apiKeyId}) was restored from the Codex journal.`); return true; @@ -281,6 +326,10 @@ export function reconcileJournal(options: ReconcileJournalOptions = {}): boolean } } const restored = restoreJournalState(); + if (restored.unverified) { + console.error("⚠️ Codex journal recovery was not verified; current configuration files and the journal were preserved."); + return false; + } if (!restored.configRestored && !restored.profileRestored) return false; console.error(`⚠️ Previous session (PID ${pid}) did not shut down cleanly. Codex state restored from journal.`); return true; diff --git a/src/codex/model-cache.ts b/src/codex/model-cache.ts index 067c4195ca7..fe790715fed 100644 --- a/src/codex/model-cache.ts +++ b/src/codex/model-cache.ts @@ -18,6 +18,8 @@ interface CacheEntry { models: CatalogModel[]; fetchedAt: number; sizeBytes: number; + /** Irreversible credential/account identity for entitlement-sensitive catalogs. */ + authorityIdentity?: string; } export type ProviderModelDiscoveryFailureReason = @@ -149,15 +151,19 @@ export function isModelsFetchCoolingDown(provider: string, cooldownMs = MODELS_F } /** Fresh cached models for a provider, or null when absent/stale (caller should re-fetch). */ -export function getFreshCached(provider: string, ttlMs: number, now = Date.now()): CatalogModel[] | null { +export function getFreshCached(provider: string, ttlMs: number, now = Date.now(), authorityIdentity?: string): CatalogModel[] | null { const entry = cache.get(provider); if (!entry) return null; + if (authorityIdentity !== undefined && entry.authorityIdentity !== authorityIdentity) return null; return now - entry.fetchedAt < ttlMs ? entry.models : null; } /** Last-known-good models regardless of age — the fallback when a live fetch fails. */ -export function getStaleCached(provider: string): CatalogModel[] | null { - return cache.get(provider)?.models ?? null; +export function getStaleCached(provider: string, authorityIdentity?: string): CatalogModel[] | null { + const entry = cache.get(provider); + if (!entry) return null; + if (authorityIdentity !== undefined && entry.authorityIdentity !== authorityIdentity) return null; + return entry.models; } /** Capture the cache generation before an asynchronous provider discovery starts. */ @@ -181,12 +187,13 @@ export function setCached( models: CatalogModel[], now = Date.now(), generation?: string, + authorityIdentity?: string, ): boolean { if (generation !== undefined && !isModelCacheGenerationCurrent(provider, generation)) return false; deleteCachedProvider(provider); const sizeBytes = modelCacheEncoder.encode(provider).byteLength + modelCacheEncoder.encode(JSON.stringify(models)).byteLength; - cache.set(provider, { models, fetchedAt: now, sizeBytes }); + cache.set(provider, { models, fetchedAt: now, sizeBytes, ...(authorityIdentity ? { authorityIdentity } : {}) }); cacheBytes += sizeBytes; if (oldestCachedAt === null || now < oldestCachedAt) { oldestCachedProvider = provider; diff --git a/src/codex/multi-agent-mode-policy.ts b/src/codex/multi-agent-mode-policy.ts new file mode 100644 index 00000000000..395dc725073 --- /dev/null +++ b/src/codex/multi-agent-mode-policy.ts @@ -0,0 +1,24 @@ +export const MULTI_AGENT_MODE_HINT_RECOMMENDATION = { + revision: "proactive-trigger-v1", + text: [ + "Proactive multi-agent delegation is active.", + "Only the delegation trigger changes: a separate explicit request is no longer required.", + "All existing user, authority, task-scope, and collaboration-tool rules continue to apply.", + "Delegate eligible independent work when parallel execution could materially improve speed or quality.", + "User requests override this hint.", + "This mode remains active until a later multi-agent mode developer message changes it.", + ].join(" "), +} as const; + +/** Byte-exact presets previously written by OpenCodex dashboard releases. */ +export const LEGACY_OPENCODEX_MODE_HINTS = [ + "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Use sub-agents when parallel work would materially improve speed or quality. This mode remains active until a later multi-agent mode developer message changes it.", + "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Delegate independent sub-tasks to sub-agents whenever parallel work would materially improve speed or quality — do not serialize work that can run concurrently. Each sub-agent runs in its own context and can use all available tools; prefer spawning specialists over doing everything yourself. This mode remains active until a later multi-agent mode developer message changes it.", +] as const; + +/** Upgrade only known OpenCodex-owned values; user-authored variants stay byte-identical. */ +export function canonicalizeOpenCodexModeHint(text: string): string { + return LEGACY_OPENCODEX_MODE_HINTS.some(legacy => legacy === text) + ? MULTI_AGENT_MODE_HINT_RECOMMENDATION.text + : text; +} diff --git a/src/codex/native-profile-startup.ts b/src/codex/native-profile-startup.ts index 25f59ba23e3..3e2211031d6 100644 --- a/src/codex/native-profile-startup.ts +++ b/src/codex/native-profile-startup.ts @@ -1,4 +1,6 @@ import { NativeProfileManager } from "./native-profile-manager"; +import { loadConfig } from "../config"; +import { initializeMainAccountPolicyBinding } from "./account-lifecycle"; import { clearAccountNeedsReauth } from "./account-runtime-state"; import { MAIN_CODEX_ACCOUNT_ID } from "./main-account"; import { @@ -73,6 +75,7 @@ interface StartupEntry { owner: NativeMainOwnerReference; unsubscribe: () => void; recoveryStarted: boolean; + policyBindingPending: boolean; settled: Promise<NativeMainStartupGateSnapshot>; resolveAcquisition?: (value: NativeMainStartupGateSnapshot) => void; deps: NativeMainStartupGateDeps; @@ -172,17 +175,21 @@ async function runOwnedStageSweep(entry: StartupEntry): Promise<boolean> { } function scheduleStageSweep(entry: StartupEntry): void { - if (entry.sweepStopping || entry.sweepTimer || startupEntries.get(entry.homeId) !== entry) return; + if (entry.sweepStopping || entry.sweepTimer || entry.sweepInFlight || entry.policyBindingPending + || startupEntries.get(entry.homeId) !== entry) return; const intervalMs = Math.max(10, entry.deps.stageSweepIntervalMs ?? NATIVE_STAGE_SWEEP_INTERVAL_MS); entry.sweepTimer = setTimeout(() => { entry.sweepTimer = undefined; if (entry.sweepStopping || startupEntries.get(entry.homeId) !== entry) return; + const sweepEpoch = entry.epoch; entry.sweepInFlight = (async () => { const safe = await runOwnedStageSweep(entry); - if (entry.sweepStopping || startupEntries.get(entry.homeId) !== entry) return; + if (entry.sweepStopping || startupEntries.get(entry.homeId) !== entry + || entry.epoch !== sweepEpoch || entry.policyBindingPending) return; if (!safe) snapshot = { status: "blocked", homeId: entry.homeId, reason: "stage-cleanup-required" }; else if (snapshot.homeId === entry.homeId && snapshot.status === "blocked" && snapshot.reason === "stage-cleanup-required") { - snapshot = ready(entry.homeId); + if (loadConfig().codexMainAccountHardLock === true) rearmOwnedMainPolicyBinding(entry); + else snapshot = ready(entry.homeId); } })().finally(() => { entry.sweepInFlight = undefined; @@ -218,8 +225,29 @@ function convergeOwnedStartup(entry: StartupEntry): void { )); const stageSweepSafe = recoveryState === "none" ? await runOwnedStageSweep(entry) : false; if (startupEntries.get(entry.homeId) === entry && entry.epoch === currentEpoch && recoveryState === "none" && stageSweepSafe) { - clearAccountNeedsReauth(MAIN_CODEX_ACCOUNT_ID); - snapshot = ready(entry.homeId); + if (loadConfig().codexMainAccountHardLock === true) { + await withNativeMainOwnerOperation(entry.manager.context, () => withNativeMainExclusiveClaim( + entry.manager.context, + async () => { + if (startupEntries.get(entry.homeId) !== entry || entry.epoch !== currentEpoch) return; + if (probe(entry.manager.context) !== "none") { + snapshot = { status: "blocked", homeId: entry.homeId, reason: "manual-recovery" }; + return; + } + // The HMAC is deliberately not persisted. Bind only the pinned owned home, + // after recovery/cleanup, and before caller-owned admission can observe ready. + if (loadConfig().codexMainAccountHardLock === true) { + initializeMainAccountPolicyBinding(entry.manager.context.authPath); + } + clearAccountNeedsReauth(MAIN_CODEX_ACCOUNT_ID); + snapshot = ready(entry.homeId); + }, + { waitMs: 10_000 }, + )); + } else { + clearAccountNeedsReauth(MAIN_CODEX_ACCOUNT_ID); + snapshot = ready(entry.homeId); + } } else if (startupEntries.get(entry.homeId) === entry && entry.epoch === currentEpoch && recoveryState === "none") { snapshot = { status: "blocked", homeId: entry.homeId, reason: "stage-cleanup-required" }; } else if (startupEntries.get(entry.homeId) === entry && entry.epoch === currentEpoch) { @@ -230,12 +258,35 @@ function convergeOwnedStartup(entry: StartupEntry): void { snapshot = { status: "blocked", homeId: entry.homeId, reason: "manual-recovery" }; } } + entry.policyBindingPending = false; if (startupEntries.get(entry.homeId) === entry && entry.epoch === currentEpoch) scheduleStageSweep(entry); return snapshot; })(); if (acquisitionWaiter) void entry.settled.then(acquisitionWaiter); } +/** Join an active startup, or rearm its held owner before publishing another ready transition. */ +function rearmOwnedMainPolicyBinding(entry: StartupEntry): boolean { + if (entry.sweepStopping || startupEntries.get(entry.homeId) !== entry) return false; + const owner = entry.owner.snapshot(); + if (entry.policyBindingPending && (owner.status === "held" || owner.status === "acquiring")) { + snapshot = { status: "blocked", homeId: entry.homeId, reason: "recovery-pending" }; + settled = entry.settled; + return true; + } + if (owner.status !== "held") { + snapshot = { status: "blocked", homeId: entry.homeId, reason: ownerBlockedReason(owner) }; + return false; + } + if (entry.sweepTimer) clearTimeout(entry.sweepTimer); + entry.sweepTimer = undefined; + entry.epoch = ++epoch; + entry.policyBindingPending = true; + entry.recoveryStarted = false; + convergeOwnedStartup(entry); + return true; +} + function observeOwner(entry: StartupEntry, owner: NativeMainOwnerSnapshot): void { if (startupEntries.get(entry.homeId) !== entry) return; if (owner.status === "acquiring") { @@ -283,6 +334,7 @@ export function startNativeMainStartupLifecycle( owner, unsubscribe: () => {}, recoveryStarted: false, + policyBindingPending: true, settled: acquisition, resolveAcquisition, deps, @@ -291,6 +343,12 @@ export function startNativeMainStartupLifecycle( }; startupEntries.set(homeId, entry); entry.unsubscribe = owner.subscribe(ownerState => observeOwner(entry!, ownerState)); + } else if (!entry.policyBindingPending + && snapshot.status === "ready" && snapshot.homeId === homeId + && loadConfig().codexMainAccountHardLock === true) { + // A new same-process listener can enable protection or follow a credential replacement. + // Re-read its pinned home through the held owner before admitting caller-owned main. + rearmOwnedMainPolicyBinding(entry); } entry.refs += 1; let released = false; @@ -602,6 +660,8 @@ export function blockNativeMainRecovery( export function completeNativeMainRecovery(homeId: string): boolean { if (snapshot.status !== "blocked" || snapshot.homeId !== homeId) return false; + const entry = startupEntries.get(homeId); + if (entry && loadConfig().codexMainAccountHardLock === true) return rearmOwnedMainPolicyBinding(entry); epoch += 1; clearAccountNeedsReauth(MAIN_CODEX_ACCOUNT_ID); snapshot = ready(homeId); @@ -615,6 +675,13 @@ export function nativeMainStartupGateSnapshot(): NativeMainStartupGateSnapshot { return { ...snapshot }; } +/** Read-only: caller-owned credentials must not trigger physical-main ownership reprobes. */ +export function isMainAccountPolicyBindingPending(): boolean { + const current = nativeMainStartupGateSnapshot(); + return current.status === "blocked" && current.reason === "recovery-pending" + && current.homeId !== null && startupEntries.get(current.homeId)?.policyBindingPending === true; +} + export function waitForNativeMainStartupGate(): Promise<NativeMainStartupGateSnapshot> { const reason = activeServiceOwnershipBlockReason(); if (reason) return Promise.resolve(serviceOwnershipSnapshot(reason)); diff --git a/src/codex/native-profile-store.ts b/src/codex/native-profile-store.ts index 794e8ea006a..bbd1b5d82e4 100644 --- a/src/codex/native-profile-store.ts +++ b/src/codex/native-profile-store.ts @@ -41,7 +41,7 @@ const KEYRING_SERVICE = "opencodex.native-main-profile.v1"; const SHARED_METADATA_DIR = ".opencodex-native-main-profiles"; const INSTANCE_STAGING_DIR = "native-main-profile-staging"; const LEGACY_METADATA_DIR = "native-main-profiles"; -const MAX_AUTH_BYTES = 4 * 1024 * 1024; +export const MAX_AUTH_BYTES = 4 * 1024 * 1024; export const MAX_NATIVE_PROFILE_METADATA_BYTES = 4 * 1024 * 1024; export const MAX_NATIVE_PROFILE_JOURNAL_BYTES = 17 * 1024 * 1024; export const MAX_NATIVE_PROFILES = 32; @@ -376,7 +376,7 @@ export function resolveNativeProfileContext(options: { codexHome?: string; confi }; } -function readBounded(path: string, limit: number, testSeam?: BoundedReadTestSeam): Buffer { +export function readBounded(path: string, limit: number, testSeam?: BoundedReadTestSeam): Buffer { let fd: number | undefined; let failed = false; try { diff --git a/src/codex/ocx-compaction-history.ts b/src/codex/ocx-compaction-history.ts new file mode 100644 index 00000000000..7cab765c4f0 --- /dev/null +++ b/src/codex/ocx-compaction-history.ts @@ -0,0 +1,226 @@ +import { createHash } from "node:crypto"; +import { + chmodSync, + closeSync, + constants, + existsSync, + fsyncSync, + lstatSync, + mkdirSync, + openSync, + readFileSync, + realpathSync, + truncateSync, + unlinkSync, + writeFileSync, +} from "node:fs"; +import { basename, isAbsolute, join, relative, resolve } from "node:path"; + +import { Database } from "bun:sqlite"; + +import { getConfigDir } from "../config"; +import { hardenSecretPath } from "../lib/windows-secret-acl"; +import { renameAtomicFile } from "../lib/windows-atomic-replace"; +import { + decodeCompactionSummary, + isCompactionItemType, + SUMMARY_PREFIX, +} from "../responses/compaction"; +import { resolveCodexHomeDir } from "./home"; +import { resolveCodexStateDbPath } from "./paths"; + +export interface OcxCompactionRewriteResult { + content: string; + replaced: number; +} + +export interface OcxCompactionHistoryRecoveryResult { + rolloutPath: string; + backupPath: string | null; + replaced: number; +} + +export interface OcxCompactionHistoryRecoveryOptions { + threadId: string; + codexHome?: string; + stateDbPath?: string; + backupRoot?: string; + now?: () => Date; +} + +const THREAD_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; + +function digest(content: string | Buffer): string { + return createHash("sha256").update(content).digest("hex"); +} + +function pathInside(root: string, candidate: string): boolean { + const rel = relative(root, candidate); + return rel === "" || (!rel.startsWith("..") && !isAbsolute(rel)); +} + +function resolveOwnedRolloutPath(codexHome: string, rawPath: string): string { + const candidate = resolve(isAbsolute(rawPath) ? rawPath : join(codexHome, rawPath)); + const roots = [join(codexHome, "sessions"), join(codexHome, "archived_sessions")] + .filter(existsSync) + .map(root => realpathSync.native(root)); + const entry = lstatSync(candidate); + if (!entry.isFile() || entry.isSymbolicLink()) { + throw new Error("the referenced rollout is not a regular file"); + } + const canonical = realpathSync.native(candidate); + if (!roots.some(root => pathInside(root, canonical))) { + throw new Error("the referenced rollout is outside Codex session storage"); + } + return canonical; +} + +function writePrivateFile(path: string, content: string): void { + const fd = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600); + try { + if (process.platform !== "win32") chmodSync(path, 0o600); + else hardenSecretPath(path, { required: true, timeoutMemoKey: path }); + writeFileSync(fd, content, "utf8"); + fsyncSync(fd); + } finally { + closeSync(fd); + } +} + +function safeRemovePrivateFile(path: string): void { + try { truncateSync(path, 0); } catch { /* best effort before unlink */ } + try { unlinkSync(path); } catch { /* caller reports the original failure */ } +} + +function isRecord(value: unknown): value is Record<string, unknown> { + return value !== null && typeof value === "object" && !Array.isArray(value); +} + +function lowerCompactionItem(item: unknown): { item: unknown; changed: boolean } { + if (!isRecord(item) || !isCompactionItemType(item.type)) { + return { item, changed: false }; + } + if (typeof item.encrypted_content !== "string") { + return { item, changed: false }; + } + const summary = decodeCompactionSummary(item.encrypted_content); + if (summary === null) return { item, changed: false }; + return { + item: { + type: "message", + role: "user", + content: [{ type: "input_text", text: `${SUMMARY_PREFIX}\n${summary}` }], + }, + changed: true, + }; +} + +function rewriteJsonlLine(line: string): { line: string; replaced: number } { + let record: unknown; + try { + record = JSON.parse(line); + } catch { + return { line, replaced: 0 }; + } + if (!isRecord(record) || record.type !== "compacted" || !isRecord(record.payload)) { + return { line, replaced: 0 }; + } + const history = record.payload.replacement_history; + if (!Array.isArray(history)) return { line, replaced: 0 }; + + let replaced = 0; + const replacementHistory = history.map(item => { + const lowered = lowerCompactionItem(item); + if (lowered.changed) replaced += 1; + return lowered.item; + }); + if (replaced === 0) return { line, replaced: 0 }; + + return { + line: JSON.stringify({ + ...record, + payload: { ...record.payload, replacement_history: replacementHistory }, + }), + replaced, + }; +} + +/** + * Convert OpenCodeX-owned `ocx1:` compaction items into ordinary replayable user messages. + * + * Only the authoritative `compacted.payload.replacement_history` snapshot is changed. Earlier + * response-item events are historical output and are deliberately preserved byte-for-byte. + * Native opaque compactions are also untouched because OpenCodeX cannot decode them safely. + */ +export function rewriteOcxCompactionsForNativeReplay(content: string): OcxCompactionRewriteResult { + const parts = content.split(/(\r?\n)/); + let replaced = 0; + for (let index = 0; index < parts.length; index += 2) { + const line = parts[index]; + if (!line) continue; + const rewritten = rewriteJsonlLine(line); + if (rewritten.replaced === 0) continue; + parts[index] = rewritten.line; + replaced += rewritten.replaced; + } + return replaced === 0 + ? { content, replaced: 0 } + : { content: parts.join(""), replaced }; +} + +/** + * Repair one explicitly selected Codex rollout for direct native replay. + * + * The original bytes are copied to an owner-private backup before the rollout is atomically + * replaced. A last-moment digest check refuses a concurrent Codex append instead of losing it. + */ +export function recoverOcxCompactionHistory( + options: OcxCompactionHistoryRecoveryOptions, +): OcxCompactionHistoryRecoveryResult { + if (!THREAD_ID_RE.test(options.threadId)) throw new Error("thread id must be a UUID"); + const codexHome = realpathSync.native(options.codexHome ?? resolveCodexHomeDir()); + const stateDbPath = options.stateDbPath ?? resolveCodexStateDbPath({ codexHome }); + if (!existsSync(stateDbPath)) throw new Error("Codex state database was not found"); + + const db = new Database(stateDbPath, { readonly: true }); + let rawRolloutPath: string | undefined; + try { + db.exec("PRAGMA busy_timeout = 1000"); + rawRolloutPath = db.query<{ rollout_path: string }, [string]>( + "SELECT rollout_path FROM threads WHERE id = ? LIMIT 1", + ).get(options.threadId)?.rollout_path; + } finally { + db.close(); + } + if (!rawRolloutPath) throw new Error("thread was not found in the Codex state database"); + + const rolloutPath = resolveOwnedRolloutPath(codexHome, rawRolloutPath); + const originalBytes = readFileSync(rolloutPath); + const original = originalBytes.toString("utf8"); + if (!Buffer.from(original, "utf8").equals(originalBytes)) { + throw new Error("the rollout is not valid UTF-8 and cannot be repaired safely"); + } + const rewritten = rewriteOcxCompactionsForNativeReplay(original); + if (rewritten.replaced === 0) { + return { rolloutPath, backupPath: null, replaced: 0 }; + } + + const stamp = (options.now ?? (() => new Date()))().toISOString().replace(/[:.]/g, "-"); + const backupDir = resolve(options.backupRoot ?? join(getConfigDir(), "history-recovery-backups", options.threadId)); + mkdirSync(backupDir, { recursive: true, mode: 0o700 }); + const backupPath = join(backupDir, `${basename(rolloutPath)}.${stamp}.bak`); + writePrivateFile(backupPath, original); + + const tempPath = `${rolloutPath}.ocx-repair-${process.pid}-${crypto.randomUUID()}.tmp`; + try { + writePrivateFile(tempPath, rewritten.content); + if (digest(readFileSync(rolloutPath)) !== digest(originalBytes)) { + throw new Error("the rollout changed while it was being repaired; close Codex and retry"); + } + renameAtomicFile(tempPath, rolloutPath); + } catch (error) { + safeRemovePrivateFile(tempPath); + throw error; + } + return { rolloutPath, backupPath, replaced: rewritten.replaced }; +} diff --git a/src/codex/project-config-warnings.ts b/src/codex/project-config-warnings.ts index 47b6afee275..50721a689df 100644 --- a/src/codex/project-config-warnings.ts +++ b/src/codex/project-config-warnings.ts @@ -69,7 +69,9 @@ function multilineCloseIndex( backslashes += 1; } if (backslashes % 2 === 0) break; - index = line.indexOf(delimiter, index + delimiter.length); + // An escaped quote can overlap the real terminator (backslash plus four quotes). + // Keep overlapping candidates instead of skipping the entire rejected delimiter. + index = line.indexOf(delimiter, index + 1); } return index; } diff --git a/src/codex/quota-types.ts b/src/codex/quota-types.ts index b067e778aae..6c06de6ae97 100644 --- a/src/codex/quota-types.ts +++ b/src/codex/quota-types.ts @@ -4,9 +4,6 @@ export type StoredAccountQuota = { monthlyPercent?: number; weeklyResetAt?: number; monthlyResetAt?: number; - /** Legacy explicit alias for the sub-day burst reading; retained for API compatibility. */ - fiveHourPercent?: number; - fiveHourResetAt?: number; /** Sub-day burst window, independent of the weekly window; duration supplies its meaning. */ shortPercent?: number; shortResetAt?: number; diff --git a/src/codex/quota.ts b/src/codex/quota.ts index 859ce7352ff..351f5fb9949 100644 --- a/src/codex/quota.ts +++ b/src/codex/quota.ts @@ -65,17 +65,16 @@ export const CODEX_UNKNOWN_USAGE_SCORE = 101; export const CODEX_EXHAUSTED_USAGE_PERCENT = 100; export function isCodexQuotaExhausted( - quota: Pick<StoredAccountQuota, "weeklyPercent" | "monthlyPercent" | "fiveHourPercent" | "shortPercent"> | null, + quota: Pick<StoredAccountQuota, "weeklyPercent" | "monthlyPercent" | "shortPercent"> | null, plan?: unknown, ): boolean { if (!quota) return false; // The burst window counts on EVERY plan. It is upstream-enforced independently, so an // account at 100% there is blocked regardless of which longer window governs its plan; // omitting it would route traffic straight into a 429 (#1791). - const burst = quota.fiveHourPercent ?? quota.shortPercent; const values = codexQuotaWindowForPlan(plan) === "monthly" - ? [quota.monthlyPercent, burst] - : [quota.weeklyPercent, quota.monthlyPercent, burst]; + ? [quota.monthlyPercent, quota.shortPercent] + : [quota.weeklyPercent, quota.monthlyPercent, quota.shortPercent]; return values.some(value => typeof value === "number" && Number.isFinite(value) && value >= CODEX_EXHAUSTED_USAGE_PERCENT); @@ -101,7 +100,7 @@ export function codexQuotaWindowForPlan(plan?: unknown): "monthly" | "weekly" { } export function isCompleteCodexQuotaRecoverySnapshot( - quota: Pick<StoredAccountQuota, "weeklyPercent" | "monthlyPercent" | "monthlyIsPrimaryWindow" | "fiveHourPercent" | "shortPercent"> | null, + quota: Pick<StoredAccountQuota, "weeklyPercent" | "monthlyPercent" | "monthlyIsPrimaryWindow" | "shortPercent"> | null, plan?: unknown, ): boolean { if (!quota || isCodexQuotaExhausted(quota, plan)) return false; @@ -163,7 +162,7 @@ function normalizeResetAt(value: unknown): number | undefined { } function hasKnownQuotaValue(quota: Omit<StoredAccountQuota, "updatedAt">): boolean { - return [quota.weeklyPercent, quota.monthlyPercent, quota.fiveHourPercent, quota.shortPercent] + return [quota.weeklyPercent, quota.monthlyPercent, quota.shortPercent] .some(value => typeof value === "number" && Number.isFinite(value)) // Known short-window shape with unknown usage still selects that window for policy. || snapshotHasShort(quota) @@ -219,9 +218,7 @@ function snapshotHasMonthly(quota: Omit<StoredAccountQuota, "updatedAt">): boole function snapshotHasShort(quota: Omit<StoredAccountQuota, "updatedAt">): boolean { return quota.shortPercent !== undefined || quota.shortResetAt !== undefined - || quota.shortWindowSeconds !== undefined - || quota.fiveHourPercent !== undefined - || quota.fiveHourResetAt !== undefined; + || quota.shortWindowSeconds !== undefined; } function snapshotHasCustom(quota: Omit<StoredAccountQuota, "updatedAt">): boolean { @@ -285,8 +282,6 @@ function mergeAccountQuota( if (existing?.monthlyPercent !== undefined) next.monthlyPercent = existing.monthlyPercent; if (existing?.monthlyResetAt !== undefined) next.monthlyResetAt = existing.monthlyResetAt; if (existing?.monthlyIsPrimaryWindow === true) next.monthlyIsPrimaryWindow = true; - if (existing?.fiveHourPercent !== undefined) next.fiveHourPercent = existing.fiveHourPercent; - if (existing?.fiveHourResetAt !== undefined) next.fiveHourResetAt = existing.fiveHourResetAt; if (existing?.shortPercent !== undefined) next.shortPercent = existing.shortPercent; if (existing?.shortObservedAt !== undefined) next.shortObservedAt = existing.shortObservedAt; if (existing?.shortResetAt !== undefined) next.shortResetAt = existing.shortResetAt; @@ -330,14 +325,8 @@ function mergeAccountQuota( if (Number.isFinite(quota.shortPercent)) next.shortObservedAt = next.updatedAt; } if (quota.shortResetAt !== undefined) next.shortResetAt = quota.shortResetAt; - if (quota.fiveHourPercent !== undefined) next.fiveHourPercent = quota.fiveHourPercent; - if (quota.fiveHourResetAt !== undefined) next.fiveHourResetAt = quota.fiveHourResetAt; if (quota.shortWindowSeconds !== undefined) next.shortWindowSeconds = quota.shortWindowSeconds; } else { - // Header and reset-credit updates are partial snapshots. Preserve the last full WHAM - // burst tuple when those updates do not carry enough window metadata to replace it. - if (existing?.fiveHourPercent !== undefined) next.fiveHourPercent = existing.fiveHourPercent; - if (existing?.fiveHourResetAt !== undefined) next.fiveHourResetAt = existing.fiveHourResetAt; // Unknown usage is not a lower reading. Retain the entire known tuple: pairing // its percentage with new metadata would silently extend or shorten its reset. if (existing?.shortPercent !== undefined) next.shortPercent = existing.shortPercent; @@ -347,6 +336,9 @@ function mergeAccountQuota( } if (snapshotHasCustom(quota)) next.customWindows = quota.customWindows; + // Ordinary response headers omit model-specific windows reported by WHAM. + // Absence is a partial update; an explicit list (including []) still replaces it. + else if (existing?.customWindows !== undefined) next.customWindows = existing.customWindows; if (quota.resetCredits !== undefined) next.resetCredits = quota.resetCredits; else if (existing?.resetCredits !== undefined) next.resetCredits = existing.resetCredits; @@ -362,7 +354,7 @@ function mergeAccountQuota( * applyAccountQuotaFromUpstreamHeaders runs it once per pooled response. A static import * would load the observer, its config resolution, and its sink registry into every install, * including installs that never enable the feature — the same failure mode - * tests/lab/core-lab-boundary.test.ts exists to prevent for src/lab/. + * tests/core-lab-boundary.test.ts exists to prevent for src/lab/. * * The previous snapshot is deliberately NOT passed. The observer keeps its own persisted * baseline (see swapLastObservedWindows), so every committed write must reach it — including @@ -454,14 +446,8 @@ export function parseUpstreamQuotaHeaders(headers: Headers): Omit<StoredAccountQ if (secondaryResetAt !== undefined) quota.weeklyResetAt = secondaryResetAt; } } else if (primaryIsShort) { - if (primaryPercent !== undefined) { - quota.shortPercent = primaryPercent; - quota.fiveHourPercent = primaryPercent; - } - if (primaryResetAt !== undefined) { - quota.shortResetAt = primaryResetAt; - quota.fiveHourResetAt = primaryResetAt; - } + if (primaryPercent !== undefined) quota.shortPercent = primaryPercent; + if (primaryResetAt !== undefined) quota.shortResetAt = primaryResetAt; const minutes = windowMinutes_(primaryWindowMinutes); if (minutes !== undefined) quota.shortWindowSeconds = Math.round(minutes * 60); // The burst window vacates the primary slot, so the weekly reading is the secondary — which @@ -497,13 +483,10 @@ export function applyAccountQuotaFromUpstreamHeaders( ): void { const quota = parseUpstreamQuotaHeaders(headers); if (!quota) return; - // Header consumers historically persist the Codex pool window under `short*`; keep that - // storage shape while the parser exposes the canonical five-hour alias to direct callers. - const { fiveHourPercent: _fiveHourPercent, fiveHourResetAt: _fiveHourResetAt, ...legacyQuota } = quota; const policyQuota = [ "x-codex-primary-used-percent", "x-codex-secondary-used-percent", "x-codex-tertiary-used-percent", ].some(name => isInvalidPolicyUsagePercent(headers.get(name))) ? null : filterMainPolicyMonthlyQuota(quota); - setAccountQuotaFromParsed(accountId, legacyQuota, writerGeneration, mainWriter, policyQuota); + setAccountQuotaFromParsed(accountId, quota, writerGeneration, mainWriter, policyQuota); } export function updateAccountQuota( @@ -532,8 +515,6 @@ export function updateAccountQuota( : {}), ...(existing?.weeklyResetAt !== undefined ? { weeklyResetAt: existing.weeklyResetAt } : {}), ...(existing?.monthlyResetAt !== undefined ? { monthlyResetAt: existing.monthlyResetAt } : {}), - ...(existing?.fiveHourPercent !== undefined ? { fiveHourPercent: existing.fiveHourPercent } : {}), - ...(existing?.fiveHourResetAt !== undefined ? { fiveHourResetAt: existing.fiveHourResetAt } : {}), ...(existing?.shortPercent !== undefined ? { shortPercent: existing.shortPercent } : {}), ...(existing?.shortObservedAt !== undefined ? { shortObservedAt: existing.shortObservedAt } : {}), ...(existing?.shortResetAt !== undefined ? { shortResetAt: existing.shortResetAt } : {}), @@ -736,14 +717,7 @@ function filterMainPolicyMonthlyQuota( export function parseMainPolicyUsageQuota(data: WhamUsageResponse): Omit<StoredAccountQuota, "updatedAt"> | null { const windows = [data.rate_limit?.primary_window, data.rate_limit?.secondary_window, data.rate_limit?.tertiary_window]; if (windows.some(window => isInvalidPolicyUsagePercent(window?.used_percent))) return null; - const primary = data.rate_limit?.primary_window; - // Go/Free normally use monthly quota, so a tertiary-only payload may be their only - // governing reading. Once upstream explicitly declares a monthly primary, however, its - // missing/unreadable usage is unknown evidence: the tertiary window is supplementary and - // must not stand in for the unreadable primary or release a retained block. - const monthlyOnlyFallback = isThirtyDayOnlyCodexPlan(data.plan_type) - && !isExplicitMonthlyWindow(primary); - return filterMainPolicyMonthlyQuota(parseUsageQuota(data), monthlyOnlyFallback); + return filterMainPolicyMonthlyQuota(parseUsageQuota(data), isThirtyDayOnlyCodexPlan(data.plan_type)); } export function parseUsageQuota(data: WhamUsageResponse): Omit<StoredAccountQuota, "updatedAt"> | null { @@ -785,19 +759,11 @@ export function parseUsageQuota(data: WhamUsageResponse): Omit<StoredAccountQuot const primaryIsShort = isExplicitShortWindow(primaryWindow); const weeklyCandidatePercent = primaryIsShort ? undefined : primaryPercent; const weeklyCandidateResetAt = primaryIsShort ? undefined : primaryResetAt; - // Keep the burst reading instead of dropping it on the floor: it is a real limit, and - // the account is blocked when it fills even though the weekly window is fine (#1791). // Retain the declared burst tuple even when its usage is unknown. Its shape selects // the short-window policy; a missing reading is not permission to fall back to weekly. if (primaryIsShort) { - if (primaryPercent !== undefined) { - quota.shortPercent = primaryPercent; - quota.fiveHourPercent = primaryPercent; - } - if (primaryResetAt !== undefined) { - quota.shortResetAt = primaryResetAt; - quota.fiveHourResetAt = primaryResetAt; - } + if (primaryPercent !== undefined) quota.shortPercent = primaryPercent; + if (primaryResetAt !== undefined) quota.shortResetAt = primaryResetAt; const seconds = primaryWindow?.limit_window_seconds; if (typeof seconds === "number" && Number.isFinite(seconds)) quota.shortWindowSeconds = seconds; } @@ -832,6 +798,10 @@ export function parseUsageQuota(data: WhamUsageResponse): Omit<StoredAccountQuot }); const sparkWindows = [spark?.rate_limit?.primary_window, spark?.rate_limit?.secondary_window] .filter((window): window is WhamUsageWindow => !!window); + const sparkShort = sparkWindows.find(window => { + const percent = normalizeUsagePercent(window.used_percent); + return percent !== undefined && isExplicitShortWindow(window); + }); const sparkWeekly = sparkWindows.find(window => { const percent = normalizeUsagePercent(window.used_percent); const seconds = window.limit_window_seconds; @@ -840,16 +810,19 @@ export function parseUsageQuota(data: WhamUsageResponse): Omit<StoredAccountQuot && !isExplicitMonthlyWindow(window) && (seconds === undefined || seconds >= WEEKLY_WINDOW_MIN_SECONDS); }); - const sparkPercent = normalizeUsagePercent(sparkWeekly?.used_percent); - if (sparkPercent !== undefined) { - const sparkWindow: { label: string; percent: number; resetAt?: number } = { - label: "GPT-5.3-Codex-Spark Weekly", - percent: sparkPercent, - }; - const resetAt = normalizeResetAt(sparkWeekly?.reset_at); + const sparkCustomWindows: Array<{ label: string; percent: number; resetAt?: number }> = []; + for (const [label, window] of [ + ["GPT-5.3-Codex-Spark 5h", sparkShort], + ["GPT-5.3-Codex-Spark Weekly", sparkWeekly], + ] as const) { + const percent = normalizeUsagePercent(window?.used_percent); + if (percent === undefined) continue; + const sparkWindow: { label: string; percent: number; resetAt?: number } = { label, percent }; + const resetAt = normalizeResetAt(window?.reset_at); if (resetAt !== undefined) sparkWindow.resetAt = resetAt; - quota.customWindows = [sparkWindow]; + sparkCustomWindows.push(sparkWindow); } + if (sparkCustomWindows.length > 0) quota.customWindows = sparkCustomWindows; if (resetCredits !== undefined) quota.resetCredits = resetCredits; return hasKnownQuotaValue(quota) || resetCredits !== undefined ? quota : null; diff --git a/src/codex/reserve-availability.ts b/src/codex/reserve-availability.ts index 7d03e840ac3..b96b9e8153a 100644 --- a/src/codex/reserve-availability.ts +++ b/src/codex/reserve-availability.ts @@ -44,14 +44,30 @@ function owned(token: Token, writer: MainQuotaWriter): boolean { function record(value: unknown): value is Record<string, unknown> { return value !== null && typeof value === "object" && !Array.isArray(value); } -function userId(token: string): string | undefined { +/** + * The ChatGPT per-user identity carried by a native credential, plus whether the token's own two + * encodings of it disagree. Precedence stays on the RAW claims, so an empty or non-string + * `chatgpt_user_id` still blocks the `user_id` fallback exactly as before; `conflict` is a + * separate observation for callers that must fail closed on an ambiguous identity. + */ +export function nativeUserIdClaims(token: string): { userId: string | undefined; conflict: boolean } { + const none = { userId: undefined, conflict: false }; try { const payload: unknown = JSON.parse(Buffer.from(token.split(".")[1] ?? "", "base64url").toString("utf8")); const auth = record(payload) ? payload["https://api.openai.com/auth"] : undefined; - if (!record(auth)) return; - const value = auth.chatgpt_user_id ?? auth.user_id; - return typeof value === "string" && value.length > 0 ? value : undefined; - } catch { return; } + if (!record(auth)) return none; + const named = (value: unknown): string | undefined => + typeof value === "string" && value.length > 0 ? value : undefined; + const primary = named(auth.chatgpt_user_id); + const secondary = named(auth.user_id); + return { + userId: named(auth.chatgpt_user_id ?? auth.user_id), + conflict: primary !== undefined && secondary !== undefined && primary !== secondary, + }; + } catch { return none; } +} +function userId(token: string): string | undefined { + return nativeUserIdClaims(token).userId; } function identityMatches(data: WhamUsageResponse, token: Token): boolean { if (data.account_id != null && data.account_id !== token.chatgptAccountId) return false; diff --git a/src/codex/reset-credit-auto-redeem.ts b/src/codex/reset-credit-auto-redeem.ts index 19b6d3ae0e0..2c6292368ad 100644 --- a/src/codex/reset-credit-auto-redeem.ts +++ b/src/codex/reset-credit-auto-redeem.ts @@ -1,6 +1,7 @@ import { createHash, randomUUID } from "node:crypto"; import { existsSync, readFileSync } from "node:fs"; import { join } from "node:path"; +import { ConfigMutationLockError, withConfigMutationLockSync } from "../config"; import { atomicWriteFile } from "../config/atomic-write"; import { getConfigDir } from "../config/paths"; import { registerOptionalShutdownHook } from "../lib/optional-shutdown-hooks"; @@ -91,9 +92,9 @@ function readJournal(path: string): Journal { } } -function writeJournal(path: string, journal: Journal): void { +function writeJournal(path: string, journal: Journal, now: number): void { // Keep only entries whose credit could still matter: settled ones older than a week are noise. - const cutoff = Date.now() - 7 * 24 * 60 * 60_000; + const cutoff = now - 7 * 24 * 60 * 60_000; journal.entries = journal.entries.filter(e => e.state !== "settled" || e.updatedAt > cutoff); atomicWriteFile(path, JSON.stringify(journal, null, 2)); } @@ -112,6 +113,7 @@ export interface AutoRedeemDeps { now?: () => number; setTimer?: (fn: () => void, ms: number) => unknown; clearTimer?: (handle: unknown) => void; + /** Callers sharing an overridden journal must also share the OPENCODEX_HOME mutation coordinator. */ journalFile?: string; log?: (line: string) => void; /** Upper bound on one sleep so a laptop sleep or clock jump re-checks rather than trusting a stale plan. */ @@ -155,15 +157,38 @@ export function createResetCreditAutoRedeemer(deps: AutoRedeemDeps): ResetCredit handle = setTimer(() => { handle = null; void tick(); }, Math.max(0, Math.min(ms, maxSleepMs))); }; + const retryJournal = (error: unknown): void => { + const cause = error instanceof ConfigMutationLockError ? error.cause : error; + const code = cause && typeof cause === "object" && "code" in cause ? String(cause.code) : ""; + const busy = code === "SQLITE_BUSY" || code === "SQLITE_LOCKED" + || (cause instanceof Error && /database (?:is|table is) locked/i.test(cause.message)); + schedule(busy ? 1_000 : idleRecheckMs); + }; + const dispatch = async (plan: AutoRedeemPlan): Promise<AutoRedeemOutcome> => { - const journal = readJournal(path); - let entry = journal.entries.find(e => e.accountKey === accountKey && e.grantedAt === plan.grantedAt && e.expiresAt === plan.expiresAt); - if (entry?.state === "settled") return { kind: "skipped", reason: "credit-gone" }; - if (!entry) { - entry = { accountKey, grantedAt: plan.grantedAt, expiresAt: plan.expiresAt, redeemRequestId: randomUUID(), state: "dispatched", updatedAt: now() }; - journal.entries.push(entry); - // Journal BEFORE the network call: a crash after this line replays the same request id. - writeJournal(path, journal); + // Reserve under the shared config-mutation lock. `inFlight` only serializes ticks inside + // ONE process; two servers on the same config dir would otherwise both read a journal with + // no entry, each mint a different `redeem_request_id`, and spend two credits for one plan. + let entry: JournalEntry; + try { + entry = withConfigMutationLockSync(() => { + const journal = readJournal(path); + const existing = journal.entries.find(e => e.accountKey === accountKey && e.grantedAt === plan.grantedAt && e.expiresAt === plan.expiresAt); + if (existing) return existing; + const created: JournalEntry = { accountKey, grantedAt: plan.grantedAt, expiresAt: plan.expiresAt, redeemRequestId: randomUUID(), state: "dispatched", updatedAt: now() }; + journal.entries.push(created); + // Journal BEFORE the network call: a crash after this line replays the same request id. + writeJournal(path, journal, created.updatedAt); + return created; + }); + } catch (error) { + // Only contention gets a short retry; persistent storage failures must not spin. + retryJournal(error); + return { kind: "error", message: error instanceof Error ? error.message : "journal reservation failed" }; + } + if (entry.state === "settled") { + schedule(idleRecheckMs); + return { kind: "skipped", reason: "credit-gone" }; } log(`[opencodex] reset-credit auto-redeem: dispatching for account ${accountKey} (credit expires ${plan.expiresAt})`); let result: { code: string }; @@ -174,9 +199,25 @@ export function createResetCreditAutoRedeemer(deps: AutoRedeemDeps): ResetCredit schedule(60_000); return { kind: "ambiguous", redeemRequestId: entry.redeemRequestId }; } - entry.state = "settled"; - entry.updatedAt = now(); - writeJournal(path, journal); + // Re-read under the lock: a peer may have appended its own entries since the reservation, + // and writing a stale in-memory journal would drop them. + try { + withConfigMutationLockSync(() => { + const journal = readJournal(path); + const current = journal.entries.find(e => e.accountKey === accountKey && e.grantedAt === plan.grantedAt && e.expiresAt === plan.expiresAt); + if (!current || current.redeemRequestId !== entry.redeemRequestId) { + throw new Error("auto-redeem journal reservation changed before settlement"); + } + current.state = "settled"; + current.updatedAt = now(); + writeJournal(path, journal, current.updatedAt); + }); + } catch (error) { + // Upstream answered, but settlement could not be committed. Preserve any reservation; + // a later dispatch must reuse its request id. A vanished credit may never dispatch again. + retryJournal(error); + return { kind: "error", message: error instanceof Error ? error.message : "journal settlement failed" }; + } log(`[opencodex] reset-credit auto-redeem: upstream answered ${result.code} for account ${accountKey}`); schedule(idleRecheckMs); return { kind: "dispatched", code: result.code, redeemRequestId: entry.redeemRequestId }; diff --git a/src/codex/routing.ts b/src/codex/routing.ts index c9e0c36f9e4..5d8cc17d151 100644 --- a/src/codex/routing.ts +++ b/src/codex/routing.ts @@ -1,6 +1,6 @@ import { randomUUID } from "node:crypto"; import { saveConfigPreservingClaudeCode } from "../config"; -import { isCodexAccountGenerationLive, readCodexAccountRecord } from "./account-store"; +import { isCodexAccountGenerationLive, readCodexAccountRecord, type CodexRefreshProvenance } from "./account-store"; import { codexAccountLogLabel } from "./account-label"; import { NATIVE_RESERVE_MODEL } from "./catalog/native-models"; import { isCodexAccountPaused } from "./account-pause"; @@ -373,8 +373,6 @@ function deleteScopedHealth(accountId: string, scope: CodexQuotaScope): void { export function computeCodexUsageScore(quota: { weeklyPercent?: number; monthlyPercent?: number; - fiveHourPercent?: number; - fiveHourResetAt?: number; shortPercent?: number; shortResetAt?: number; shortObservedAt?: number; @@ -396,28 +394,10 @@ export function computeCodexUsageScore(quota: { // right now, whatever its monthly position turns out to be. Unknown-means-selectable is // correct for uncertainty and wrong for a measured refusal: the account stays selected, // `applyQuotaAutoSwitch` never fires, and the pool wedges on an exhausted credential. - // `fiveHour*` is the public compatibility alias for the canonical `short*` tuple. - // Some callers and hydrated snapshots legitimately carry only that alias, so collapse both - // shapes before applying the shared freshness rule rather than silently discarding evidence. - const burst = { - shortPercent: quota.fiveHourPercent ?? quota.shortPercent, - shortResetAt: quota.fiveHourResetAt ?? quota.shortResetAt, - shortObservedAt: quota.shortObservedAt, - }; if (knownLong.length === 0) { - return isTerminalShortWindow(burst, now) ? CODEX_EXHAUSTED_USAGE_PERCENT : CODEX_UNKNOWN_USAGE_SCORE; - } - // A terminal burst reading is useful only while its own freshness evidence says the - // window is still live. This applies even when a weekly/monthly bar is also known: - // otherwise a canonical short-primary + weekly-secondary snapshot remains scored at - // 100 forever after the short reset, and both Pool and subagent routing strand a - // recovered account. Non-terminal short readings retain their historical refinement - // behaviour; only a measured refusal needs the stricter freshness gate. - const shortPercent = finite(burst.shortPercent) - && (burst.shortPercent < CODEX_EXHAUSTED_USAGE_PERCENT || isTerminalShortWindow(burst, now)) - ? burst.shortPercent - : undefined; - const values = shortPercent !== undefined ? [...knownLong, shortPercent] : knownLong; + return isTerminalShortWindow(quota, now) ? CODEX_EXHAUSTED_USAGE_PERCENT : CODEX_UNKNOWN_USAGE_SCORE; + } + const values = finite(quota.shortPercent) ? [...knownLong, quota.shortPercent] : knownLong; return Math.max(...values); } @@ -662,6 +642,80 @@ export function claimDueCodexQuotaRecoveryProbes( }); } +type CooldownRecoveryLease = Pick<CodexQuotaRecoveryProbeClaim, + "accountId" | "scope" | "leaseId" | "cooldownGeneration">; + +export type ManualResetCooldownClaim = + | { kind: "pool"; probe: CodexQuotaRecoveryProbeClaim } + | { kind: "main"; probe: CooldownRecoveryLease }; + +function manualResetAccountEligible(config: OcxConfig, accountId: string): boolean { + return !isCodexAccountPaused(config, accountId) && !isAccountNeedsReauth(accountId) + && (accountId === MAIN_CODEX_ACCOUNT_ID + || (config.codexAccounts ?? []).some(account => account.id === accountId && isSelectableCodexPoolAccount(account))); +} + +/** Explicit reset bypasses probe pacing, never another owner's lease or quota scope. */ +export function claimManualResetCooldowns( + config: OcxConfig, + accountId: string, + now = Date.now(), + expectedPoolGeneration?: number, +): ManualResetCooldownClaim[] { + if (!manualResetAccountEligible(config, accountId)) return []; + const record = accountId === MAIN_CODEX_ACCOUNT_ID ? undefined : readCodexAccountRecord(accountId); + if (accountId !== MAIN_CODEX_ACCOUNT_ID && (!record?.credential || record.deletedAt != null)) return []; + if (record && expectedPoolGeneration !== undefined && record.generation !== expectedPoolGeneration) return []; + const claims: ManualResetCooldownClaim[] = []; + for (const scope of [undefined, "shared"] as const) { + const health = scope ? scopedHealthFor(accountId, scope) : upstreamHealth.get(accountId); + if (!health || health.cooldownSource !== "reset-derived" || health.probeLeaseId !== undefined + || !Number.isFinite(health.cooldownUntil) || !(health.cooldownUntil! > now)) continue; + const leaseId = randomUUID(); + const cooldownGeneration = health.cooldownGeneration ?? 0; + const next = { ...health, probeLeaseId: leaseId, probeLeaseGeneration: cooldownGeneration, lastProbeAt: now }; + if (scope) setScopedHealth(accountId, scope, next); + else upstreamHealth.set(accountId, next); + const probe = { accountId, scope, leaseId, cooldownGeneration }; + claims.push(record ? { kind: "pool", probe: { + ...probe, credentialGeneration: record.generation, credentialReplacedAt: record.replacedAt, + } } : { kind: "main", probe }); + } + return claims; +} + +export type ManualResetRefreshLineage = Readonly<{ + fromGeneration: number; + toGeneration: number; + provenance: CodexRefreshProvenance; +}>; + +type ManualResetQuotaProof = CodexQuotaRecoveryProbeProof & { + refreshLineage?: ManualResetRefreshLineage; +}; + +/** Main proof is checked by the already-owned auth operation, never by a Pool record. */ +export function settleManualResetCooldown( + config: OcxConfig, + claim: ManualResetCooldownClaim, + recovered: boolean, + proof: ManualResetQuotaProof = {}, + now = Date.now(), +): boolean { + if (!recovered) return settleCooldownRecoveryLease(claim.probe, false, now); + const eligible = manualResetAccountEligible(config, claim.probe.accountId); + if (claim.kind === "main") return settleCooldownRecoveryLease(claim.probe, eligible, now); + const lineage = proof.refreshLineage; + // Equal wall-clock replacement stamps do not establish ancestry. Manual +1 + // recovery additionally needs the actual forced-refresh result for this edge. + const ownedGeneration = proof.credentialGeneration === claim.probe.credentialGeneration + || (proof.credentialGeneration === claim.probe.credentialGeneration + 1 + && lineage?.fromGeneration === claim.probe.credentialGeneration + && lineage.toGeneration === proof.credentialGeneration + && (lineage.provenance === "self-refresh" || lineage.provenance === "joined-lineage")); + return settleCodexQuotaRecoveryProbe(claim.probe, eligible && ownedGeneration, proof, now); +} + /** Settle one background recovery claim without mutating account-wide outcome state. */ export function settleCodexQuotaRecoveryProbe( claim: CodexQuotaRecoveryProbeClaim, @@ -685,9 +739,16 @@ export function settleCodexQuotaRecoveryProbe( : proofGeneration === claim.credentialGeneration + 1 && currentRecord?.replacedAt === claim.credentialReplacedAt && isCodexAccountGenerationLive(claim.accountId, proofGeneration)); - const fenced = (health.cooldownGeneration ?? 0) === claim.cooldownGeneration - && (health.probeLeaseGeneration ?? 0) === claim.cooldownGeneration - && generationFenced; + return settleCooldownRecoveryLease(claim, recovered && generationFenced, now); +} + +function settleCooldownRecoveryLease(claim: CooldownRecoveryLease, recovered: boolean, now: number): boolean { + const health = claim.scope ? scopedHealthFor(claim.accountId, claim.scope) : upstreamHealth.get(claim.accountId); + if (!health || health.probeLeaseId !== claim.leaseId) return false; + const fenced = (claim.scope === undefined || claim.scope === "shared") + && health.cooldownSource === "reset-derived" + && (health.cooldownGeneration ?? 0) === claim.cooldownGeneration + && (health.probeLeaseGeneration ?? 0) === claim.cooldownGeneration; if (!recovered || !fenced) { const released = withProbeLeaseReleased(health, now); if (claim.scope) setScopedHealth(claim.accountId, claim.scope, released); @@ -1653,26 +1714,24 @@ function releaseDrainedCodexAccountPin( "nativeMainSelectionOnly" | "isMainAccountTokenLive" >, now: number = Date.now(), - persist = true, -): boolean { +): void { const pinned = pinnedCodexAccountId(config); - if (pinned === undefined) return false; + if (pinned === undefined) return; const knownUnavailable = isAccountNeedsReauth(pinned) || isCodexAccountPaused(config, pinned); if (knownUnavailable) { clearCodexAccountPin(config); - if (persist) saveConfigPreservingClaudeCode(config); - return true; + saveConfigPreservingClaudeCode(config); + return; } // Temporary drain deliberately forbids every native-main read. A pin on main // cannot be classified by credential liveness or quota until the fenced profile // is readable. Cached reauth and configured pause state were handled above. - if (pinned === MAIN_CODEX_ACCOUNT_ID && selectionOptions?.nativeMainSelectionOnly === true) return false; + if (pinned === MAIN_CODEX_ACCOUNT_ID && selectionOptions?.nativeMainSelectionOnly === true) return; const drained = !isCodexAccountUsable(config, pinned, selectionOptions) || !hasCodexQuotaHeadroom(config, pinned, selectionOptions, now); - if (!drained) return false; + if (!drained) return; clearCodexAccountPin(config); - if (persist) saveConfigPreservingClaudeCode(config); - return true; + saveConfigPreservingClaudeCode(config); } function applyQuotaAutoSwitch( @@ -1968,15 +2027,6 @@ export function resolveCodexAccountForThreadDetailed( selectionOptions?: CodexAccountUsabilityOptions, modelId?: string, ): CodexThreadResolution { - const persistedActiveBeforePinRelease = config.activeCodexAccountId; - const releasedDrainedPin = !isIndependentCodexQuotaScope(quotaScope) - && releaseDrainedCodexAccountPin( - config, - sharedStateSelectionOptions(selectionOptions), - now, - false, - ); - try { // An entitlement roster constrains only this model request. It must not rewrite // the operator's shared active/pin choice or the task's ordinary-model affinity. const modelScopedSelection = selectionOptions?.modelEligibleAccountIds !== undefined; @@ -1988,6 +2038,9 @@ export function resolveCodexAccountForThreadDetailed( // keeps its account below, but the operator's tier ceiling must not silently // revive after quota resets. Independent model scopes must never persist a // change to shared routing state. + if (!isIndependentCodexQuotaScope(quotaScope)) { + releaseDrainedCodexAccountPin(config, sharedStateSelectionOptions(selectionOptions), now); + } const sharedActiveBeforeSelection = getEffectiveActiveCodexAccountId(config); const preserveSharedSelectionForModelDetour = modelScopedSelection && ( sharedActiveBeforeSelection === undefined @@ -2222,13 +2275,6 @@ export function resolveCodexAccountForThreadDetailed( } } return { status: "selected", accountId: active }; - } finally { - // A later quota/failure promotion persists both mutations in one write. If routing kept the - // same persisted account, this deferred write is the sole pin retirement write. - if (releasedDrainedPin && config.activeCodexAccountId === persistedActiveBeforePinRelease) { - saveConfigPreservingClaudeCode(config); - } - } } export function recordCodexUpstreamOutcome( diff --git a/src/codex/runtime.ts b/src/codex/runtime.ts index 51150e6aa70..9a12395808c 100644 --- a/src/codex/runtime.ts +++ b/src/codex/runtime.ts @@ -86,6 +86,8 @@ export interface PersistedCodexRuntimeState { const PERSIST_FILE = "codex-runtime.json"; const CLAMP_PERSIST_FILE = "codex-runtime-clamp.json"; +/** Probe rejection for an absolute candidate whose file is gone. Matched when retiring a dead pin (#4035). */ +const PATH_MISSING_REASON = "path does not exist"; function cloneAndDeepFreeze<T>(value: T): DeepReadonly<T> { const clone = (current: unknown): unknown => { @@ -283,6 +285,31 @@ export function persistCodexRuntime( atomicWriteFile(codexRuntimeStatePath(configDir), `${JSON.stringify(payload, null, 2)}\n`); } +/** + * Delete `codex-runtime.json`. Used to retire a pin whose path no longer exists, so a + * later resolve stops re-probing it (#4035). + * + * Invalidates the process resolve memo the same way `persistCodexRuntime` does: the memo + * folds the persisted `updatedAt` into its key, and a removed file has no stamp to fold. + */ +export function clearPersistedCodexRuntime(deps: ResolveCodexRuntimeDeps = {}): void { + const configDir = deps.configDir ?? getConfigDir(); + clearCodexRuntimeResolveCache(); + try { + unlinkSync(codexRuntimeStatePath(configDir)); + } catch (error) { + // An already-missing file is the success case: the pin is gone, which is the point. + // Anything else means the pin SURVIVES and stays authoritative, so every later + // resolve re-probes the same dead path — #4035 unfixed, silently. Say so once. + const code = (error as NodeJS.ErrnoException | null)?.code; + if (code === "ENOENT") return; + console.warn( + `[opencodex] Could not remove the stale Codex runtime pin at ${displayCodexRuntimePath(codexRuntimeStatePath(configDir))}` + + ` (${code ?? "unknown error"}). It will be re-probed until the file is removed.`, + ); + } +} + function probeVersion( command: string, deps: ResolveCodexRuntimeDeps, @@ -290,7 +317,7 @@ function probeVersion( const platform = deps.platform ?? process.platform; if (command.includes("/") || command.includes("\\") || /^[A-Za-z]:/.test(command)) { const exists = deps.existsSync ?? existsSync; - if (!exists(command)) return { ok: false, reason: "path does not exist" }; + if (!exists(command)) return { ok: false, reason: PATH_MISSING_REASON }; if (!isSpawnableCodexCandidate(command, platform)) { return { ok: false, reason: "not a spawnable Codex launcher on this platform" }; } @@ -654,6 +681,23 @@ export function resolveAndPersistCodexRuntime( return cloneAndDeepFreeze({ ...result, persistError }); } } + // A pin whose path has vanished must be RETIRED, not merely skipped. A Codex App update + // replaces the hashed plugin directory the pin names, the probe rejects it with + // "path does not exist", nothing else resolves, and the selection degrades to `fallback` — + // which the write guard above declines. The dead entry then survived every later resolve + // and each one re-probed a path that cannot exist (#4035). Bound narrowly: only when the + // degraded result is `fallback`, only for the persisted command, and only for the + // path-does-not-exist rejection, so a present-but-unusable binary is left for the operator. + else if (result.runtime.source === "fallback" && persistedRuntime?.command) { + const pinVanished = result.failures.some( + // Exact comparison, not `sameRuntimeCommand`: that helper lowercases, and on a + // case-sensitive filesystem `/plugins/Codex` and `/plugins/codex` are different + // files. A missing lowercase path must not retire a live uppercase pin. + failure => failure.command.trim() === persistedRuntime.command.trim() + && failure.reason === PATH_MISSING_REASON, + ); + if (pinVanished) clearPersistedCodexRuntime(deps); + } return result; } diff --git a/src/codex/shim.ts b/src/codex/shim.ts index a63c48fb7af..57f46cfb0d1 100644 --- a/src/codex/shim.ts +++ b/src/codex/shim.ts @@ -1069,6 +1069,7 @@ export function buildWindowsCodexShim(realCodexPath: string, bunPath: string, cl const valueOptionChecks = CODEX_GLOBAL_OPTIONS_WITH_VALUE.map(option => `if /I "%~1"=="${option}" goto skip_option_value`).join("\r\n"); return `@echo off\r rem ${SHIM_MARKER}\r +setlocal\r ${windowsBatchSet("OCX_REAL_CODEX", realCodexPath)}\r ${windowsBatchSet("OCX_BUN", bunPath)}\r ${windowsBatchSet("OCX_CLI", cliPath)}\r @@ -1115,6 +1116,9 @@ export function buildWindowsPowerShellCodexShim(realCodexPath: string, bunPath: const tokenFile = serviceApiTokenFilePath(); return `#!/usr/bin/env pwsh # ${SHIM_MARKER} +$hadApiAuthToken = Test-Path Env:\\OPENCODEX_API_AUTH_TOKEN +$priorApiAuthToken = $env:OPENCODEX_API_AUTH_TOKEN +try { if (-not $env:OPENCODEX_API_AUTH_TOKEN -and (Test-Path -LiteralPath ${psString(tokenFile)})) { $env:OPENCODEX_API_AUTH_TOKEN = (Get-Content -Raw -LiteralPath ${psString(tokenFile)}).Trim() } @@ -1147,7 +1151,12 @@ if (-not $skipEnsure) { } } & ${psString(realCodexPath)} @args -exit $LASTEXITCODE +$codexExitCode = $LASTEXITCODE +} finally { + if ($hadApiAuthToken) { $env:OPENCODEX_API_AUTH_TOKEN = $priorApiAuthToken } + else { Remove-Item Env:\\OPENCODEX_API_AUTH_TOKEN -ErrorAction SilentlyContinue } +} +exit $codexExitCode `; } diff --git a/src/config.ts b/src/config.ts index 6ebc3bd5aad..d74faec061c 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1241,6 +1241,7 @@ const configSchema = z.object({ ]).optional().catch(undefined), codexShimAutoRestore: z.boolean().optional(), codexDesktopAuthless: z.boolean().optional().catch(undefined), + codexClientCompaction: z.boolean().optional().catch(undefined), pausedCodexAccountIds: z.array(z.string().regex(/^[a-zA-Z0-9._-]{1,64}$/)).optional(), codexQuotaAutoRefresh: codexQuotaAutoRefreshSchema.optional().catch(undefined), codexAccountNamespaces: codexAccountNamespacesSchema.optional(), diff --git a/src/config/atomic-write.ts b/src/config/atomic-write.ts index 0ec0831c4c0..69bc1121461 100644 --- a/src/config/atomic-write.ts +++ b/src/config/atomic-write.ts @@ -1,7 +1,6 @@ import { chmodSync, closeSync, - constants, fchmodSync, fstatSync, lstatSync, @@ -121,7 +120,7 @@ function writePrivateTempFile( timeoutMemoKey: string, onCreated: () => void, ): void { - const descriptor = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600); + const descriptor = openSync(path, "wx", 0o600); onCreated(); try { if (process.platform === "win32") { @@ -142,7 +141,7 @@ async function writePrivateTempFileAsync( timeoutMemoKey: string, onCreated: () => void, ): Promise<void> { - const descriptor = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600); + const descriptor = openSync(path, "wx", 0o600); onCreated(); try { if (process.platform === "win32") { diff --git a/src/config/initialize.ts b/src/config/initialize.ts index 0ee8e0d56b8..1e95c635952 100644 --- a/src/config/initialize.ts +++ b/src/config/initialize.ts @@ -1,5 +1,5 @@ import { - closeSync, constants, fchmodSync, fstatSync, linkSync, lstatSync, + closeSync, fchmodSync, fstatSync, linkSync, lstatSync, openSync, unlinkSync, writeFileSync, } from "node:fs"; import { dirname } from "node:path"; @@ -15,10 +15,12 @@ export class InitialConfigPublicationError extends Error { readonly publication: PublicationState, readonly residualTemp: boolean, readonly hardLinkUnavailable: boolean, - options?: ErrorOptions, + options?: ErrorOptions & { hardeningFailed?: boolean }, ) { - super(hardLinkUnavailable - ? "Initial config requires hard-link publication; the filesystem or its permissions denied it." + super(options?.hardeningFailed + ? "Initial config permissions could not be secured. Choose an OPENCODEX_HOME location that supports private file permissions (NTFS ACLs on Windows), then rerun `ocx init`." + : hardLinkUnavailable + ? "Initial config requires hard-link publication; the filesystem or its permissions denied it. Inspect the config directory before retrying. Choose an OPENCODEX_HOME location that supports hard links and private file permissions, then rerun `ocx init`." : "Initial config publication did not finish.", options); this.name = "InitialConfigPublicationError"; } @@ -104,10 +106,13 @@ export function publishInitialConfigNoReplace( let failure: unknown; let failed = false; let hardLinkUnavailable = false; + let hardeningFailed = false; let residualTemp = false; try { - fd = openSync(temp, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600); + fd = openSync(temp, "wx", 0o600); + hardeningFailed = true; (io.harden ?? hardenInitialConfig)(fd, temp, target); + hardeningFailed = false; verifyPrivateTemp(fd, temp); (io.write ?? ((descriptor: number, value: string) => writeFileSync(descriptor, value, { encoding: "utf8" })))(fd, bytes); verifyPrivateTemp(fd, temp); @@ -143,7 +148,7 @@ export function publishInitialConfigNoReplace( } } if (failed || residualTemp) { - throw new InitialConfigPublicationError(publication, residualTemp, hardLinkUnavailable, { cause: failure }); + throw new InitialConfigPublicationError(publication, residualTemp, hardLinkUnavailable, { cause: failure, hardeningFailed }); } return !collided; } diff --git a/src/images/loop.ts b/src/images/loop.ts index f3db122b54b..0ea4f46d951 100644 --- a/src/images/loop.ts +++ b/src/images/loop.ts @@ -542,6 +542,7 @@ export async function runWithImageBridge(deps: ImageBridgeDeps): Promise<Respons // hop-by-hop header alone (oven-sh/bun#20492). return requestFetch(request.url, applyUpstreamRecoveryInit({ method: request.method, + redirect: "manual", headers: h, body: request.body, signal: headerDeadline.signal, diff --git a/src/images/xai-video-client.ts b/src/images/xai-video-client.ts index 1a984334145..ec9ea013ba4 100644 --- a/src/images/xai-video-client.ts +++ b/src/images/xai-video-client.ts @@ -80,6 +80,7 @@ export async function submitVideoJob( const resp = await fetch(`${auth.baseUrl}/videos/generations`, { method: "POST", + redirect: "manual", headers: { "Authorization": `Bearer ${auth.token}`, "Content-Type": "application/json", @@ -118,6 +119,7 @@ export async function pollVideoJob( const resp = await fetch(`${auth.baseUrl}/videos/${encodeURIComponent(requestId)}`, { method: "GET", + redirect: "manual", headers: { "Authorization": `Bearer ${auth.token}`, }, diff --git a/src/integrations/registry.ts b/src/integrations/registry.ts index f5780f4f983..8d67ac83a15 100644 --- a/src/integrations/registry.ts +++ b/src/integrations/registry.ts @@ -190,6 +190,7 @@ export const INTEGRATION_CLIENTS: Record<IntegrationClientId, IntegrationClientS id: "hermes", configPath: (env = process.env, home = homedir()) => hermesConfigPath(env, home), detectDir: (env = process.env, home = homedir()) => hermesHomeDir(env, home), + sourcePreservingYaml: { path: ["providers", "opencodex"] }, }, openclaw: { id: "openclaw", diff --git a/src/lib/process-control.ts b/src/lib/process-control.ts index feae55db68e..0fd78d8bb61 100644 --- a/src/lib/process-control.ts +++ b/src/lib/process-control.ts @@ -66,12 +66,30 @@ export function gracefulStopHost(hostname: string | undefined): string { } /** - * Outcome of a graceful stop attempt. `"refused"` is distinct from failure: the proxy answered - * that it must NOT be stopped from here, so callers must not escalate to a forced kill. + * `"refused"` forbids forced stop. `"teardown-unconfirmed"` means the process exited, + * but its assigned shared teardown was not confirmed; callers must not kill it again. */ -export type GracefulStopResult = boolean | "refused"; +export type GracefulStopResult = boolean | "refused" | "teardown-unconfirmed"; -/** A proxy declined shutdown because a service under another home owns it (HTTP 409). */ +/** + * The server's own explanation for the most recent 409, captured so `stopProxy` can report + * the real reason. There is more than one: a scheduler wrapper under another home, or the + * proxy being the installed service itself (#4023). Module-scoped because + * `GracefulStopResult` is a public contract with several callers, and widening it to carry + * the text would change every one of them for a message only this file reports. + */ +let lastRefusalMessage: string | null = null; + +/** The server's explanation for the most recent 409, or `null` when it sent none. */ +export function lastStopRefusalMessage(): string | null { + return lastRefusalMessage; +} + +/** + * A proxy declined shutdown (HTTP 409). There is more than one reason it can say no — a + * scheduler wrapper under another home, or the proxy being the installed service itself + * (#4023) — so the server's own message is carried through rather than guessed at. + */ export class ProxyOwnershipRefusedError extends Error {} /** @@ -82,6 +100,8 @@ export class ProxyOwnershipRefusedError extends Error {} * chance to run its shutdown handlers. Returns false when the proxy can't be reached * or doesn't exit in time — callers fall back to {@link killProxy}. Returns `"refused"` * when the proxy declines the stop (HTTP 409), which callers must NOT force past. + * True requires the expected shared-teardown response and an observed exit. It does not + * attest the process exit code or completion of every drain/shutdown hook. */ export async function stopProxyGracefully(pid: number, io: GracefulStopIo = {}): Promise<GracefulStopResult> { const readRuntime = io.readRuntime ?? readRuntimePort; @@ -92,6 +112,7 @@ export async function stopProxyGracefully(pid: number, io: GracefulStopIo = {}): const token = configuredAdminToken(env.OPENCODEX_HOME?.trim() || undefined, env as NodeJS.ProcessEnv); if (token) headers["x-opencodex-api-key"] = token; const fetchFn = io.fetchFn ?? fetch; + let sharedTeardownConfirmed = false; try { // `ocx stop` asks the proxy NOT to restore shared client config: it does that itself, // after verifying a stopped Task Scheduler did not respawn the proxy (#3008). Letting @@ -113,8 +134,23 @@ export async function stopProxyGracefully(pid: number, io: GracefulStopIo = {}): // would respawn it anyway). That is a policy answer, not a dead endpoint — escalating to // SIGTERM here would run the daemon's cleanup and strip shared config out from under the // still-running service. Report the refusal instead of forcing. - if (res.status === 409) return "refused"; + if (res.status === 409) { + lastRefusalMessage = await res.json() + .then(body => { + const message = (body as { message?: unknown } | null)?.message; + return typeof message === "string" && message.trim() ? message.trim() : null; + }) + .catch(() => null); + return "refused"; + } if (!res.ok) return false; + const body: unknown = await res.json().catch(() => null); + const expectedTeardown = io.deferSharedTeardownNonce ? "deferred" : "performed"; + sharedTeardownConfirmed = body !== null + && typeof body === "object" + && !Array.isArray(body) + && "success" in body && body.success === true + && "sharedTeardown" in body && body.sharedTeardown === expectedTeardown; } catch { return false; } @@ -122,7 +158,8 @@ export async function stopProxyGracefully(pid: number, io: GracefulStopIo = {}): // Honor the server's own drain window: /api/stop answers 200 first, then drains for // config.shutdownTimeoutMs. Waiting less than that hard-kills mid-drain. const exitTimeoutMs = io.exitTimeoutMs ?? drainDeadlineMs(); - return waitExit(pid, exitTimeoutMs); + if (!waitExit(pid, exitTimeoutMs)) return false; + return sharedTeardownConfirmed ? true : "teardown-unconfirmed"; } function drainDeadlineMs(): number { @@ -142,10 +179,17 @@ export async function stopProxy(pid: number, io: GracefulStopIo = {}): Promise<b // The proxy refused on purpose (foreign service owns it). Forcing would strip shared // config while that service keeps the proxy alive. throw new ProxyOwnershipRefusedError( - "The running proxy refused to stop: a service installed under a different " - + "CODEX_HOME/OPENCODEX_HOME owns it. Run the stop from that home.", + lastRefusalMessage + ?? "The running proxy refused to stop: a service installed under a different " + + "CODEX_HOME/OPENCODEX_HOME owns it. Run the stop from that home.", ); } + if (graceful === "teardown-unconfirmed") { + // Exit was observed, so do not enter the forced-stop fallback. Returning false keeps + // shared restoration with `ocx stop` instead of claiming that the proxy completed it. + await waitForStoppedPort(runtime, pid); + return false; + } if (graceful) { await waitForStoppedPort(runtime, pid); return true; diff --git a/src/lib/state-store-registrations.ts b/src/lib/state-store-registrations.ts index 433a8989b4c..13a22bfce08 100644 --- a/src/lib/state-store-registrations.ts +++ b/src/lib/state-store-registrations.ts @@ -21,6 +21,7 @@ import { } from "../combos/failover"; import { reconcileComboWarningMemos } from "../combos/request"; import { reconcileComboRotationState } from "../combos/resolve"; +import { reconcileComboRecall } from "../server/responses/combo-session-recall"; import { listLiveComboTargetKeys } from "../combos/types"; import { listLiveConfigOwnershipRoots, @@ -111,6 +112,7 @@ export const STATE_STORE_REGISTRATIONS = [ { name: "model-cache-history", reconcileGeneration: reconcileModelCacheGeneration }, { name: "pool-rotation", reconcileGeneration: reconcilePoolRotationState }, { name: "combo-rotation", reconcileGeneration: reconcileComboRotationState }, + { name: "combo-session-recall", reconcileGeneration: reconcileComboRecall }, { name: "guardian-backoff", reconcileGeneration: reconcileGuardianBackoff }, { name: "codex-reauth", reconcileGeneration: reconcileCodexReauthState }, { name: "oauth-reauth", reconcileGeneration: reconcileOAuthReauthState }, diff --git a/src/lib/upstream-retry.ts b/src/lib/upstream-retry.ts index 4d1097be0a9..596a42c495f 100644 --- a/src/lib/upstream-retry.ts +++ b/src/lib/upstream-retry.ts @@ -226,6 +226,7 @@ export async function fetchWithAttemptDeadline( return await executor(url, { ...init, headers, + redirect: "manual", signal: attemptTimeout.signal, }); } finally { diff --git a/src/oauth/chatgpt.ts b/src/oauth/chatgpt.ts index 1ae616a0056..2dcddd1811f 100644 --- a/src/oauth/chatgpt.ts +++ b/src/oauth/chatgpt.ts @@ -41,6 +41,62 @@ export function extractAccountId(idToken?: string, accessToken?: string): string return undefined; } +/** + * Three-way answer to "is this token marked as belonging to the ChatGPT account domain". + * Only ChatGPT-specific claims count as markers: a top-level chatgpt_account_id or the + * https://api.openai.com/auth namespace claim. A generic organizations claim is NOT domain + * evidence. JWT claims are decoded locally as routing markers, never as authenticity proof. + * + * absent — no JWT, a payload that is not a JSON object, or an object carrying neither + * marker key: the token may be a foreign credential and legacy foreign handling + * applies. This function is total; it never throws on an attacker-shaped token. + * invalid — a marker key is present but yields no usable account id (non-string, blank, + * namespace that is not an object, namespace without the claim) or the two + * markers disagree. Presence is decided by the KEY, not by its shape, so a token + * that claims this domain can never fall through to foreign handling just + * because its marker is malformed. + * valid — one consistent, non-blank ChatGPT account id. + */ +export type ChatGptDomainClaim = + | { kind: "absent" } + | { kind: "invalid" } + | { kind: "valid"; accountId: string }; + +const CHATGPT_AUTH_NAMESPACE = "https://api.openai.com/auth"; + +/** A usable account id is a non-blank string; blank or non-string values are malformed. */ +function usableAccountId(value: unknown): string | undefined { + return typeof value === "string" && value.trim() ? value.trim() : undefined; +} + +export function inspectChatGptDomainClaim(token: string): ChatGptDomainClaim { + const payload: unknown = decodeJwtPayload(token); + // decodeJwtPayload returns whatever the payload segment parses to, which may be a + // primitive or an array. Those carry no marker and must not reach the key lookups, + // where `in`/hasOwn would throw and take the whole request down. + if (!payload || typeof payload !== "object" || Array.isArray(payload)) return { kind: "absent" }; + const claims = payload as Record<string, unknown>; + // Presence is the KEY being there, as an own key. A reserved namespace that is null, a + // primitive, an array, or an object without the claim is a present-but-broken marker, so + // it stays invalid instead of being treated as a foreign token. + const topPresent = Object.hasOwn(claims, "chatgpt_account_id"); + const nsPresent = Object.hasOwn(claims, CHATGPT_AUTH_NAMESPACE); + if (!topPresent && !nsPresent) return { kind: "absent" }; + const topId = topPresent ? usableAccountId(claims.chatgpt_account_id) : undefined; + if (topPresent && !topId) return { kind: "invalid" }; + let nsId: string | undefined; + if (nsPresent) { + const ns = claims[CHATGPT_AUTH_NAMESPACE]; + const nsObj = ns !== null && typeof ns === "object" && !Array.isArray(ns) + ? ns as Record<string, unknown> : undefined; + nsId = nsObj ? usableAccountId(nsObj.chatgpt_account_id) : undefined; + if (!nsId) return { kind: "invalid" }; + } + if (topId && nsId && topId !== nsId) return { kind: "invalid" }; + const accountId = topId ?? nsId; + return accountId ? { kind: "valid", accountId } : { kind: "invalid" }; +} + export function extractEmail(idToken?: string, accessToken?: string): string | undefined { for (const token of [idToken, accessToken]) { if (!token) continue; @@ -51,6 +107,33 @@ export function extractEmail(idToken?: string, accessToken?: string): string | u return undefined; } +/** + * Identity-agreement view of one token for security-sensitive bindings. `accountId` follows the + * existing extractAccountId precedence (top-level, then namespaced, then organizations[0]). + * `conflict` is true only when the two chatgpt_account_id encodings are both present and + * disagree — organizations entries are workspace memberships, not identity, so they never + * participate. Never logs token material. + */ +export function extractAccountIdClaims(token?: string): { accountId: string | undefined; conflict: boolean } { + if (!token) return { accountId: undefined, conflict: false }; + const payload = decodeJwtPayload(token); + if (!payload) return { accountId: undefined, conflict: false }; + const top = typeof payload.chatgpt_account_id === "string" ? payload.chatgpt_account_id : undefined; + const ns = payload["https://api.openai.com/auth"]; + const namespaced = ns && typeof ns === "object" + && typeof (ns as Record<string, unknown>).chatgpt_account_id === "string" + ? (ns as Record<string, unknown>).chatgpt_account_id as string + : undefined; + const orgs = payload.organizations; + const org = Array.isArray(orgs) && orgs[0] && typeof orgs[0].id === "string" + ? orgs[0].id as string + : undefined; + return { + accountId: top ?? namespaced ?? org, + conflict: top !== undefined && namespaced !== undefined && top !== namespaced, + }; +} + export function credsFromToken(data: Record<string, unknown>): OAuthCredentials { const idToken = typeof data.id_token === "string" ? data.id_token : undefined; // This parses a response from an external boundary, so the access token is diff --git a/src/oauth/xai.ts b/src/oauth/xai.ts index 3bdb5774d8f..f1669c75769 100644 --- a/src/oauth/xai.ts +++ b/src/oauth/xai.ts @@ -1,8 +1,8 @@ /** xAI OAuth flow (Grok account login). Ported from jawcode oauth/xai.ts. */ +import { abortError, sleepWithAbort } from "../lib/upstream-retry"; import { OAuthCallbackFlow, type OAuthCallbackFlowOptions } from "./callback-server"; import { generatePKCE } from "./pkce"; import type { LocalTokenImportMode, OAuthController, OAuthCredentials } from "./types"; -import { oauthFetch } from "./transport"; const XAI_OAUTH_ISSUER = "https://auth.x.ai"; export const XAI_OAUTH_DISCOVERY_URL = `${XAI_OAUTH_ISSUER}/.well-known/openid-configuration`; @@ -12,6 +12,9 @@ const XAI_OAUTH_CALLBACK_PORT = 56121; const XAI_OAUTH_CALLBACK_PATH = "/callback"; const XAI_OAUTH_REFRESH_SKEW_MS = 2 * 60 * 1000; const TOKEN_REQUEST_TIMEOUT_MS = 30_000; +const RETRY_AFTER_MAX_DELAY_MS = 60_000; +const JITTER_DELAY_CAP_MS = 2_000; +const XAI_TRUSTED_AUTH_HOSTS = new Set(["auth.x.ai", "accounts.x.ai"]); export const XAI_LOCAL_CLI_DETACH_WARNING = "[oauth:xai] Grok CLI credential was stale; refreshed into OpenCodex ownership. Grok CLI may require login again."; @@ -46,21 +49,32 @@ function requestSignal(signal: AbortSignal | undefined): AbortSignal { } function validateXaiEndpoint(rawUrl: string): string { - const parsed = new URL(rawUrl); + let parsed: URL; + try { + parsed = new URL(rawUrl); + } catch { + throw new Error("xAI OAuth discovery returned an unparseable endpoint URL"); + } const host = parsed.hostname.toLowerCase(); - if (parsed.protocol !== "https:" || (host !== "x.ai" && !host.endsWith(".x.ai"))) { - throw new Error(`xAI OAuth discovery returned an unexpected endpoint: ${rawUrl}`); + if ( + parsed.protocol !== "https:" + || parsed.username !== "" + || parsed.password !== "" + || parsed.port !== "" + || !XAI_TRUSTED_AUTH_HOSTS.has(host) + ) { + throw new Error(`xAI OAuth discovery returned an unexpected endpoint (host: ${host || "none"})`); } return parsed.toString(); } export async function discoverXaiOAuthEndpoints(signal?: AbortSignal): Promise<XaiDiscovery> { - const response = await oauthFetch(XAI_OAUTH_DISCOVERY_URL, { + const response = await fetch(XAI_OAUTH_DISCOVERY_URL, { headers: { Accept: "application/json" }, signal: requestSignal(signal), }); if (!response.ok) { - throw new Error(`xAI OAuth discovery failed: ${response.status}`); + throw new Error(`xAI OAuth discovery failed: ${response.status} ${await response.text()}`); } const payload = (await response.json()) as XaiDiscoveryPayload; @@ -95,16 +109,136 @@ function getTokenIdentity(accessToken: string, idToken: string | undefined): { a export class XaiTokenRequestError extends Error { constructor(public readonly status?:number,public readonly oauthError?:string,message="xAI token request failed",options?:{cause?:unknown}){super(message,options);this.name="XaiTokenRequestError";} } export interface XaiTokenRetryDeps { sleep?:(ms:number)=>Promise<void>; random?:()=>number } -function isAbortError(error:unknown):boolean{return error instanceof DOMException&&error.name==="AbortError";} -function retryDelay(attempt:number,retryAfter:string|null,random:()=>number):number{const base=attempt===1?100:250,j=Math.round(base*(.75+random()*.5)),seconds=retryAfter!==null&&/^\d+$/.test(retryAfter)?Number(retryAfter):0;return Math.min(2000,Math.max(j,seconds*1000));} -async function readTokenError(response:Response):Promise<XaiTokenRequestError>{let oauthError:string|undefined;try{const body=await response.json() as {error?:unknown};if(typeof body.error==="string"&&/^(?:access_denied|expired_token|invalid_client|invalid_grant|invalid_request|temporarily_unavailable|unauthorized_client|unsupported_grant_type)$/.test(body.error))oauthError=body.error;}catch{oauthError=undefined;}return new XaiTokenRequestError(response.status,oauthError,`xAI token request failed: ${response.status}`);} +const IMF_FIXDATE_RE = /^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d{2}):(\d{2}):(\d{2}) GMT$/i; +const RFC850_DATE_RE = /^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d{2}) (\d{2}):(\d{2}):(\d{2}) GMT$/i; +const ASCTIME_DATE_RE = /^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$/i; +const HTTP_MONTH_INDEX: Record<string, number> = { + jan: 0, feb: 1, mar: 2, apr: 3, may: 4, jun: 5, + jul: 6, aug: 7, sep: 8, oct: 9, nov: 10, dec: 11, +}; + +function parseUtcDateParts( + year: number, + monthName: string, + day: number, + hour: number, + minute: number, + second: number, +): number | undefined { + const month = HTTP_MONTH_INDEX[monthName.toLowerCase()]; + if (month === undefined) return undefined; + const timestamp = Date.UTC(year, month, day, hour, minute, second); + const parsed = new Date(timestamp); + return parsed.getUTCFullYear() === year + && parsed.getUTCMonth() === month + && parsed.getUTCDate() === day + && parsed.getUTCHours() === hour + && parsed.getUTCMinutes() === minute + && parsed.getUTCSeconds() === second + ? timestamp + : undefined; +} + +function parseHttpDateMs(value: string, now: number): number | undefined { + const match = IMF_FIXDATE_RE.exec(value); + if (match) { + return parseUtcDateParts( + Number(match[3]), match[2]!, Number(match[1]), + Number(match[4]), Number(match[5]), Number(match[6]), + ); + } + const rfc850 = RFC850_DATE_RE.exec(value); + if (rfc850) { + // Two-digit years more than 50 years in the future are in the past (RFC 9110). + const currentYear = new Date(now).getUTCFullYear(); + let year = Math.floor(currentYear / 100) * 100 + Number(rfc850[3]); + const candidateTimeOfYear = Date.UTC( + 2000, HTTP_MONTH_INDEX[rfc850[2]!.toLowerCase()]!, Number(rfc850[1]), + Number(rfc850[4]), Number(rfc850[5]), Number(rfc850[6]), + ); + const current = new Date(now); + const currentTimeOfYear = Date.UTC( + 2000, current.getUTCMonth(), current.getUTCDate(), + current.getUTCHours(), current.getUTCMinutes(), current.getUTCSeconds(), + current.getUTCMilliseconds(), + ); + const yearDelta = year - currentYear; + if (yearDelta < -50 || (yearDelta === -50 && candidateTimeOfYear < currentTimeOfYear)) { + year += 100; + } else if (yearDelta > 50 || (yearDelta === 50 && candidateTimeOfYear > currentTimeOfYear)) { + year -= 100; + } + return parseUtcDateParts( + year, rfc850[2]!, Number(rfc850[1]), + Number(rfc850[4]), Number(rfc850[5]), Number(rfc850[6]), + ); + } + const asctime = ASCTIME_DATE_RE.exec(value); + if (!asctime) return undefined; + return parseUtcDateParts( + Number(asctime[6]), asctime[1]!, Number(asctime[2]), + Number(asctime[3]), Number(asctime[4]), Number(asctime[5]), + ); +} + +function parseRetryAfterMs(retryAfter: string | null): number | undefined { + const text = retryAfter?.trim(); + if (!text) return undefined; + if (/^\d+(?:\.\d+)?$/.test(text)) { + const ms = Math.ceil(Number(text) * 1000); + return ms > 0 ? ms : undefined; + } + const now = Date.now(); + const timestamp = parseHttpDateMs(text, now); + if (timestamp === undefined) return undefined; + const delay = timestamp - now; + return delay > 0 ? delay : undefined; +} + +function jitterDelay(attempt: number, random: () => number): number { + const base = attempt === 1 ? 100 : 250; + return Math.min(JITTER_DELAY_CAP_MS, Math.round(base * (0.75 + random() * 0.5))); +} + +/** + * Delay before the next attempt, or undefined when the server asked for a wait + * beyond the retry budget — retrying earlier than Retry-After would hammer the + * token endpoint, so the caller fails the request instead of clamping. + */ +function retryDelay(attempt: number, retryAfter: string | null, random: () => number): number | undefined { + const serverMs = parseRetryAfterMs(retryAfter); + if (serverMs === undefined) return jitterDelay(attempt, random); + return serverMs <= RETRY_AFTER_MAX_DELAY_MS ? serverMs : undefined; +} + +async function sleepAbortable( + ms: number, + sleep: (ms: number) => Promise<void>, + signal: AbortSignal | undefined, +): Promise<void> { + if (!signal) return sleep(ms); + if (signal.aborted) throw abortError(signal); + let onAbort!: () => void; + try { + await Promise.race([ + sleep(ms), + new Promise<never>((_, reject) => { + onAbort = () => reject(abortError(signal)); + signal.addEventListener("abort", onAbort, { once: true }); + }), + ]); + } finally { + signal.removeEventListener("abort", onAbort); + } +} +async function readTokenError(response:Response):Promise<XaiTokenRequestError>{let oauthError:string|undefined,detail="";try{const body=await response.json() as {error?:unknown;error_description?:unknown};if(typeof body.error==="string")oauthError=body.error;if(typeof body.error_description==="string")detail=body.error_description;}catch{/* non-JSON error body: fall through to the generic message */}const suffix=detail?`: ${detail}`:oauthError?`: ${oauthError}`:"";return new XaiTokenRequestError(response.status,oauthError,`xAI token request failed: ${response.status}${suffix}`);} export async function postXaiToken( tokenEndpoint: string, body: Record<string, string>, signal?: AbortSignal, deps:XaiTokenRetryDeps={}, ): Promise<XaiTokenPayload> { - const sleep=deps.sleep??(ms=>Bun.sleep(ms)),random=deps.random??Math.random;let last:unknown; - for(let attempt=1;attempt<=3;attempt++){let response:Response;try{response=await oauthFetch(tokenEndpoint, { + const sleep=deps.sleep??((ms:number)=>sleepWithAbort(ms,signal)),random=deps.random??Math.random;let last:unknown; + for(let attempt=1;attempt<=3;attempt++){let response:Response;try{response=await fetch(tokenEndpoint, { method: "POST", headers: { Accept: "application/json", @@ -112,7 +246,15 @@ export async function postXaiToken( }, body: new URLSearchParams(body).toString(), signal: requestSignal(signal), - });}catch(error){if(isAbortError(error)&&signal?.aborted)throw error;last=error;if(attempt===3)throw new XaiTokenRequestError(undefined,undefined,"xAI token request failed: network error",{cause:error});await sleep(retryDelay(attempt,null,random));continue;}if(response.ok)return await response.json() as XaiTokenPayload;const error=await readTokenError(response);last=error;if(!(response.status===429||response.status>=500)||attempt===3)throw error;await sleep(retryDelay(attempt,response.headers.get("retry-after"),random));}throw last; + });}catch(error){ + if(signal?.aborted)throw error; + const name=(error as {name?:string}|undefined)?.name; + if(name==="AbortError"||name==="TimeoutError")throw error; + last=error; + if(attempt===3)throw new XaiTokenRequestError(undefined,undefined,"xAI token request failed: network error",{cause:error}); + await sleepAbortable(jitterDelay(attempt,random),sleep,signal); + continue; + }if(response.ok)return await response.json() as XaiTokenPayload;const error=await readTokenError(response);last=error;if(!(response.status===429||response.status>=500)||attempt===3)throw error;if(signal?.aborted)throw error;const delay=retryDelay(attempt,response.headers.get("retry-after"),random);if(delay===undefined)throw error;await sleepAbortable(delay,sleep,signal);}throw last; } function credentialsFromTokenPayload(payload: XaiTokenPayload, refreshFallback = ""): OAuthCredentials { diff --git a/src/providers/api-key-selection-capture.ts b/src/providers/api-key-selection-capture.ts new file mode 100644 index 00000000000..302f540969f --- /dev/null +++ b/src/providers/api-key-selection-capture.ts @@ -0,0 +1,10 @@ +import type { OcxProviderConfig } from "../types"; +import type { ProviderApiKeySelection } from "../types/provider"; + +export function captureProviderApiKeySelection(provider: OcxProviderConfig): ProviderApiKeySelection { + return { + entryId: provider.apiKeyPool?.find(entry => entry.key === provider.apiKey)?.id, + reference: provider.apiKey, + revision: provider.apiKeySelectionRevision, + }; +} diff --git a/src/providers/api-key-selection.ts b/src/providers/api-key-selection.ts index d132cdb4886..86526723933 100644 --- a/src/providers/api-key-selection.ts +++ b/src/providers/api-key-selection.ts @@ -7,14 +7,9 @@ import type { ProviderApiKeySelection } from "../types/provider"; import { routedProviderConfig } from "../router"; import { OPENCODE_GO_SESSION_HEADER } from "./opencode-go-transport"; import { resolveProviderTransport, XAI_GROK_COMPATIBILITY, type OcxProviderTransport } from "./xai-transport"; +import { captureProviderApiKeySelection } from "./api-key-selection-capture"; -export function captureProviderApiKeySelection(provider: OcxProviderConfig): ProviderApiKeySelection { - return { - entryId: provider.apiKeyPool?.find(entry => entry.key === provider.apiKey)?.id, - reference: provider.apiKey, - revision: provider.apiKeySelectionRevision, - }; -} +export { captureProviderApiKeySelection } from "./api-key-selection-capture"; function matchesSelection(provider: OcxProviderConfig, expected: ProviderApiKeySelection): boolean { const current = captureProviderApiKeySelection(provider); diff --git a/src/providers/caller-authorization.ts b/src/providers/caller-authorization.ts new file mode 100644 index 00000000000..9ba8b193a5b --- /dev/null +++ b/src/providers/caller-authorization.ts @@ -0,0 +1,36 @@ +import type { OcxConfig, OcxProviderConfig } from "../types"; +import { inspectChatGptDomainClaim } from "../oauth/chatgpt"; +import { isProxyAdmissionSecret } from "../server/auth-cors"; +import { isCanonicalOpenAiForwardProvider } from "./openai-tiers"; + +/** The caller's own ChatGPT-domain credential as plain Direct forwarding would use it. */ +export type CallerDirectAuth = Readonly<{ authorization: string; chatgptAccountId?: string }>; + +/** Whether this transport can consume the request's Authorization as its upstream credential. */ +export function providerConsumesCallerAuthorization(provider: OcxProviderConfig): boolean { + return isCanonicalOpenAiForwardProvider(provider) + || (provider.adapter === "cursor" && provider.authMode !== "oauth" && !provider.apiKey?.trim()); +} + +/** + * Capture the caller's Direct credential for a canonical-route restore after an internal + * rewrite. This restore is intentionally STRICTER than plain unchanged-route Direct + * forwarding: only a bearer with a VALID ChatGPT-domain claim qualifies (a clean single + * non-proxy JWT whose ChatGPT-specific account marker is well-formed and unambiguous, with + * any explicit account header matching it). An opaque bearer, a foreign JWT carrying only a + * generic organizations claim, and a ChatGPT-marked but malformed/conflicting token are all + * rejected: after a shadow/thread rewrite a self-asserted header cannot distinguish a + * caller-owned main credential from a foreign source-route token, so those cases stay + * fail-closed. Claims are decoded locally as routing markers, not authenticity proof, and + * unchanged-route Direct forwarding is governed by its own legacy rules. + */ +export function captureCallerDirectAuth(incomingHeaders: Headers, config: OcxConfig): CallerDirectAuth | null { + const raw = incomingHeaders.get("authorization")?.trim(); + const bearer = /^Bearer[\t ]+([^\s,]+)$/i.exec(raw ?? "")?.[1]; + if (!bearer || isProxyAdmissionSecret(bearer, config)) return null; + const claim = inspectChatGptDomainClaim(bearer); + if (claim.kind !== "valid") return null; + const headerAccount = incomingHeaders.get("chatgpt-account-id")?.trim(); + if (headerAccount && headerAccount !== claim.accountId) return null; + return { authorization: `Bearer ${bearer}`, chatgptAccountId: claim.accountId }; +} diff --git a/src/providers/codebuddy-models.ts b/src/providers/codebuddy-models.ts new file mode 100644 index 00000000000..edd6a304153 --- /dev/null +++ b/src/providers/codebuddy-models.ts @@ -0,0 +1,184 @@ +/** + * Curated CodeBuddy model catalogs, transcribed from the OFFICIAL model manifest bundled with the + * vendor CLI (`@tencent-ai/codebuddy-code` v2.143.0: `product.json` for the global/`public` + * environment, `product.internal.json` for the China/`internal` environment) and cross-checked + * against the CLI's own `--model` accept-list. Verified 2026-09-03. + * + * Global and CN are deliberately NOT the same roster (§八). Context windows, output caps, vision + * and reasoning ladders are filled ONLY where the official manifest states them; a model with no + * published figure is omitted rather than guessed (§二十八/§二十九). CodeBuddy exposes no documented + * third-party live `/v1/models` endpoint, so these providers seed a static catalog + * (`liveModels: false`) exactly like the Kiro and Command Code entries. + */ + +/** Global (`public`) session models accepted by `codebuddy --model`. */ +export const CODEBUDDY_GLOBAL_MODELS = [ + "default-model", + "fast-model", + "balanced-model", + "primary-model", + "deep-model", + "gpt-5.6-sol", + "gpt-5.6-terra", + "gpt-5.6-luna", + "gpt-5.5", + "gpt-5.4", + "gpt-5.3-codex", + "gemini-3.5-flash", + "glm-5.3", + "glm-5.2", + "kimi-k3", + "kimi-k2.6", + "minimax-m3", +]; + +/** China (`internal`) session models from the official internal manifest (text/chat models only). */ +export const CODEBUDDY_CN_MODELS = [ + "default", + "deepseek-v4-pro", + "deepseek-v4-flash", + "minimax-m3", + "minimax-m2.7", + "glm-5.2", + "glm-5.1", + "glm-5.0", + "glm-5.0-turbo", + "glm-5v-turbo", + "glm-4.7", + "kimi-k3-1", + "kimi-k2.7", + "kimi-k2.6", + "kimi-k2.5", + "deepseek-v3-2-volc", + "hy3", + "hunyuan-chat", +]; + +/** + * The CLI documents a single `--effort` ladder (minimal, low, medium, high, xhigh, max). The Codex + * reasoning ladder overlaps it at low..max; `minimal`/`none` are Codex sentinels normalized by + * `mapReasoningEffort`, and `ultra` folds to `max`. Declared provider-wide, then narrowed per model + * where the official manifest publishes a smaller `supportedEfforts`. + */ +export const CODEBUDDY_REASONING_EFFORTS = ["low", "medium", "high", "xhigh", "max"]; + +export const CODEBUDDY_GLOBAL_MODEL_CONTEXT_WINDOWS: Record<string, number> = { + "default-model": 176_000, + "fast-model": 200_000, + "balanced-model": 256_000, + "primary-model": 272_000, + "deep-model": 176_000, + "gpt-5.6-sol": 1_000_000, + "gpt-5.6-terra": 1_000_000, + "gpt-5.6-luna": 1_000_000, + "gpt-5.5": 1_000_000, + "gpt-5.4": 272_000, + "gpt-5.3-codex": 272_000, + "gemini-3.5-flash": 1_000_000, + "glm-5.3": 1_000_000, + "glm-5.2": 1_000_000, + "kimi-k3": 1_000_000, + "kimi-k2.6": 256_000, + "minimax-m3": 512_000, +}; + +export const CODEBUDDY_GLOBAL_MODEL_MAX_OUTPUT_TOKENS: Record<string, number> = { + "default-model": 24_000, + "fast-model": 32_000, + "balanced-model": 32_000, + "primary-model": 72_000, + "deep-model": 24_000, + "gpt-5.6-sol": 128_000, + "gpt-5.6-terra": 128_000, + "gpt-5.6-luna": 128_000, + "gpt-5.5": 72_000, + "gpt-5.4": 128_000, + "gpt-5.3-codex": 128_000, + "gemini-3.5-flash": 65_536, + "glm-5.3": 48_000, + "glm-5.2": 48_000, + "kimi-k3": 32_000, + "kimi-k2.6": 32_000, + "minimax-m3": 128_000, +}; + +/** Per-model ladders narrowed from the official manifest's `reasoning.supportedEfforts`. */ +export const CODEBUDDY_GLOBAL_MODEL_REASONING_EFFORTS: Record<string, string[]> = { + "gpt-5.6-sol": ["low", "medium", "high", "xhigh"], + "gpt-5.6-terra": ["low", "medium", "high", "xhigh"], + "gpt-5.6-luna": ["low", "medium", "high", "xhigh"], + "glm-5.3": ["low", "high", "max"], + "glm-5.2": ["high", "xhigh"], +}; + +export const CODEBUDDY_GLOBAL_MODEL_DEFAULT_REASONING_EFFORTS: Record<string, string> = { + "gpt-5.6-sol": "high", + "gpt-5.6-terra": "high", + "gpt-5.6-luna": "high", + "glm-5.3": "high", + "glm-5.2": "high", +}; + +export const CODEBUDDY_CN_MODEL_CONTEXT_WINDOWS: Record<string, number> = { + "default": 200_000, + "deepseek-v4-pro": 1_000_000, + "deepseek-v4-flash": 1_000_000, + "minimax-m3": 512_000, + "minimax-m2.7": 200_000, + "glm-5.2": 1_000_000, + "glm-5.1": 200_000, + "glm-5.0": 200_000, + "glm-5.0-turbo": 200_000, + "glm-5v-turbo": 200_000, + "glm-4.7": 200_000, + "kimi-k3-1": 1_000_000, + "kimi-k2.7": 256_000, + "kimi-k2.6": 256_000, + "kimi-k2.5": 164_000, + "deepseek-v3-2-volc": 96_000, + "hy3": 192_000, + "hunyuan-chat": 200_000, +}; + +export const CODEBUDDY_CN_MODEL_MAX_OUTPUT_TOKENS: Record<string, number> = { + "default": 24_000, + "deepseek-v4-pro": 50_000, + "deepseek-v4-flash": 50_000, + "minimax-m3": 128_000, + "minimax-m2.7": 48_000, + "glm-5.2": 48_000, + "glm-5.1": 48_000, + "glm-5.0": 48_000, + "glm-5.0-turbo": 48_000, + "glm-5v-turbo": 64_000, + "glm-4.7": 48_000, + "kimi-k3-1": 32_000, + "kimi-k2.7": 32_000, + "kimi-k2.6": 32_000, + "kimi-k2.5": 32_000, + "deepseek-v3-2-volc": 32_000, + "hy3": 64_000, + "hunyuan-chat": 8_192, +}; + +export const CODEBUDDY_CN_MODEL_REASONING_EFFORTS: Record<string, string[]> = { + "hy3": ["low", "high"], +}; + +export const CODEBUDDY_CN_MODEL_DEFAULT_REASONING_EFFORTS: Record<string, string> = { + "hy3": "high", +}; + +/** + * Text-only models (official manifest `supportsImages: false`). Images for any OTHER model are + * passed through natively; a model listed here has its images routed through the proxy's vision + * sidecar rather than being silently dropped (§二十九). + */ +export const CODEBUDDY_CN_NO_VISION_MODELS = [ + "default", + "glm-5.0", + "glm-5.0-turbo", + "glm-4.7", + "deepseek-v3-2-volc", + "hunyuan-chat", +]; diff --git a/src/providers/default-aliases.ts b/src/providers/default-aliases.ts index b11078bedcf..dffbd9eb3c1 100644 --- a/src/providers/default-aliases.ts +++ b/src/providers/default-aliases.ts @@ -15,7 +15,10 @@ export function effectiveProviderAlias( if (config?.providers) { const lower = regAlias.toLowerCase(); const claimedByOther = Object.entries(config.providers).some(([name, p]) => - name !== providerName && typeof p.alias === "string" && p.alias.trim().toLowerCase() === lower + name !== providerName && ( + name.toLowerCase() === lower + || (typeof p.alias === "string" && p.alias.trim().toLowerCase() === lower) + ) ); if (claimedByOther) return undefined; } diff --git a/src/providers/derive.ts b/src/providers/derive.ts index 5de0edcfe34..71863673664 100644 --- a/src/providers/derive.ts +++ b/src/providers/derive.ts @@ -80,6 +80,10 @@ export interface DerivedProviderPreset { keyOptional?: boolean; /** Free pricing (may still require a key). */ freeTier?: boolean; + /** Sponsor tier from SPONSORS.md; the picker pins and labels these rows. */ + sponsor?: "main" | "standard"; + /** Sponsor landing URL (with its tracking parameters), for the picker's row link. */ + sponsorUrl?: string; /** * Endpoint picker rows (token plan / payg / custom). When present, the add-provider * form shows a dropdown; `custom` reveals a free-text base URL field. @@ -628,6 +632,7 @@ function entryToPreset(entry: ProviderRegistryEntry): DerivedProviderPreset { ...(entry.note ? { note: entry.note } : {}), ...(entry.keyOptional ? { keyOptional: true } : {}), ...(entry.freeTier ? { freeTier: true } : {}), + ...(entry.sponsor ? { sponsor: entry.sponsor.tier, sponsorUrl: entry.sponsor.url } : {}), ...(entry.baseUrlChoices ? { baseUrlChoices: entry.baseUrlChoices.map(c => ({ ...c })) } : {}), }; } diff --git a/src/providers/free-directory.ts b/src/providers/free-directory.ts index ab6e9b2389e..c378f161469 100644 --- a/src/providers/free-directory.ts +++ b/src/providers/free-directory.ts @@ -19,7 +19,7 @@ export const FREE_PROVIDER_ACCESS_GROUPS = { "recurring-credit": ["bytez", "nous-research"], "signup-credit": [ "agentrouter", "ai21", "baichuan", "baseten", "deepinfra", "deepseek", "doubao", "fireworks", "freemodel-dev", "glm-cn", - "hyperbolic", "longcat", "monsterapi", "nebius", "novita", "nscale", "nvidia", "predibase", "publicai", "qoder", + "hyperbolic", "longcat", "monsterapi", "nebius", "novita", "nscale", "nvidia", "predibase", "publicai", "qoder", "qoder-cn", "scaleway", "sensenova", "stepfun", "together", "vertex", ], } as const satisfies Record<ProviderAccessGroup, readonly string[]>; @@ -140,6 +140,30 @@ const CONNECTABLE: Record<string, ConnectableOverride> = { nscale: openAi("https://inference.api.nscale.com/v1", "https://console.nscale.com", { supportLevel: "supported", verification: "official", documentationUrl: "https://docs.nscale.com/docs/use-cases/chat", modelsUrl: "https://inference.api.nscale.com/v1/models", lastVerified: "2026-08-03" }), nvidia: openAi("https://integrate.api.nvidia.com/v1", "https://build.nvidia.com", { supportLevel: "supported", verification: "official", documentationUrl: "https://docs.api.nvidia.com/nim/reference/llm-apis" }), publicai: openAi("https://api.publicai.co/v1", "https://publicai.co"), + qoder: { + baseUrl: "https://qoder.com", + dashboardUrl: "https://qoder.com/account/integrations", + adapter: "qoder", + authKind: "key", + supportLevel: "supported", + verification: "official", + documentationUrl: "https://docs.qoder.com/cli/authentication", + discovery: "live", + liveModels: true, + lastVerified: "2026-09-03", + }, + "qoder-cn": { + baseUrl: "https://qoder.cn", + dashboardUrl: "https://qoder.cn/account/integrations", + adapter: "qoder", + authKind: "key", + supportLevel: "supported", + verification: "official", + documentationUrl: "https://docs.qoder.cn/en/cli/authentication", + discovery: "live", + liveModels: true, + lastVerified: "2026-09-03", + }, scaleway: openAi("https://api.scaleway.ai/v1", "https://console.scaleway.com/generative-api", { supportLevel: "supported", verification: "official", documentationUrl: "https://www.scaleway.com/en/docs/generative-apis/api-cli/using-generative-apis/", modelsUrl: "https://api.scaleway.ai/v1/models", lastVerified: "2026-08-01" }), sensenova: openAi("https://token.sensenova.cn/v1", "https://console.sensenova.cn", { verification: "official" }), stepfun: openAi("https://api.stepfun.com/v1", "https://platform.stepfun.com", { verification: "official" }), @@ -160,7 +184,7 @@ const LABELS: Record<string, string> = { ai21: "AI21", baichuan: "Baichuan", deepinfra: "DeepInfra", deepseek: "DeepSeek", doubao: "Doubao", "freemodel-dev": "FreeModel.dev", sambanova: "SambaNova Cloud", nebius: "Nebius Token Factory", novita: "Novita", nscale: "Nscale", nvidia: "NVIDIA NIM", - publicai: "PublicAI", qoder: "Qoder", sensenova: "SenseNova", stepfun: "StepFun", vertex: "Google Vertex AI", + publicai: "PublicAI", qoder: "Qoder", "qoder-cn": "Qoder CN", sensenova: "SenseNova", stepfun: "StepFun", vertex: "Google Vertex AI", }; const referenceNote = "Reference entry only: no safe documented API integration is enabled. Configure it manually only with provider documentation; consumer-web cookies and anti-bot bypasses are intentionally unsupported."; diff --git a/src/providers/openai-sidecar.ts b/src/providers/openai-sidecar.ts index 8551aa6f978..3b98a2b521f 100644 --- a/src/providers/openai-sidecar.ts +++ b/src/providers/openai-sidecar.ts @@ -10,7 +10,7 @@ import { type CodexAuthPolicyConfig, } from "../codex/auth-context"; import { recordCodexUpstreamOutcome, type CodexUpstreamOutcome } from "../codex/routing"; -import { extractAccountId } from "../oauth/chatgpt"; +import { inspectChatGptDomainClaim } from "../oauth/chatgpt"; import { ForwardAdmissionCredentialError, validateForwardAdmissionCredential, type DataPlaneAdmission } from "../server/auth-cors"; import type { CodexAccountMode, OcxConfig, OcxProviderConfig } from "../types"; import { @@ -77,21 +77,45 @@ export function listOpenAiForwardSidecarCandidates(config: OcxConfig): OpenAiFor }]; } -function directSidecarHeaders( - incomingHeaders: Headers, - config: CodexAuthPolicyConfig, - admission?: Pick<DataPlaneAdmission, "source">, -): Headers | undefined { - const bearer = incomingHeaders.get("authorization")?.replace(/^Bearer\s+/i, "").trim(); - if (!bearer) return undefined; - const derivedAccountId = extractAccountId(undefined, bearer); - if (!derivedAccountId) return undefined; +/** An explicit caller bearer/account pair for canonical OpenAI destinations; never persist. */ +export type ExplicitOpenAiCallerAuth = Readonly<{ authorization: string; chatgptAccountId: string }>; + +function explicitSidecarAuth(incomingHeaders: Headers): ExplicitOpenAiCallerAuth | null { + // Combined Authorization values must not smuggle a second credential into a snapshot, + // and only a well-formed ChatGPT-specific account marker is domain evidence — a generic + // organizations claim is not. + const bearer = /^Bearer[\t ]+([^\s,]+)$/i.exec(incomingHeaders.get("authorization")?.trim() ?? "")?.[1]; + if (!bearer) return null; + const claim = inspectChatGptDomainClaim(bearer); + if (claim.kind !== "valid") return null; + const derivedAccountId = claim.accountId; const requestedAccountId = incomingHeaders.get("chatgpt-account-id")?.trim(); // JWT payloads are decoded locally but not signature-verified. Requiring the caller's // explicit account header, and checking it against the token claim, makes forwarding an // intentional ChatGPT-auth operation instead of silently reclassifying any JWT-shaped // provider credential as a Codex bearer. - if (!requestedAccountId || requestedAccountId !== derivedAccountId) return undefined; + if (!requestedAccountId || requestedAccountId !== derivedAccountId) return null; + return { authorization: incomingHeaders.get("authorization")!, chatgptAccountId: requestedAccountId }; +} + +export function captureExplicitOpenAiCallerAuth(incomingHeaders: Headers, config: OcxConfig): ExplicitOpenAiCallerAuth | null { + const auth = explicitSidecarAuth(incomingHeaders); + if (!auth) return null; + try { + validateForwardAdmissionCredential(incomingHeaders, config); + } catch (error) { + if (error instanceof ForwardAdmissionCredentialError) return null; + throw error; + } + return auth; +} + +function directSidecarHeaders( + incomingHeaders: Headers, + config: CodexAuthPolicyConfig, + admission?: Pick<DataPlaneAdmission, "source">, +): Headers | undefined { + if (!explicitSidecarAuth(incomingHeaders)) return undefined; const selected = headersForCodexAuthContext(incomingHeaders, { kind: "main", accountId: null }, config, undefined, admission); return selected; } diff --git a/src/providers/qoder-models.ts b/src/providers/qoder-models.ts new file mode 100644 index 00000000000..0f8d8c43507 --- /dev/null +++ b/src/providers/qoder-models.ts @@ -0,0 +1,25 @@ +/** + * Cold-start fallback from the official Qoder Global model documentation, verified 2026-09-03. + * The account-specific `qoder --list-models` result is authoritative whenever discovery succeeds. + */ +export const QODER_GLOBAL_MODELS = [ + "Qwen3.8-Max", + "Qwen3.7-Max", + "Qwen3.7-Plus", + "Kimi-K3", + "Kimi-K2.7-Code", + "GLM-5.3", + "GLM-5.2", + "DeepSeek-V4-Pro", +] as const; + +/** Live Qoder CN roster captured from the official CLI on 2026-09-03. */ +export const QODER_CN_MODELS = [ + "Qwen3.8-Max", + "Qwen3.8-Flash", + "Qwen3.7-Max", + "Qwen3.7-Plus", + "Qwen3.7-Flash", +] as const; + +export const QODER_REASONING_EFFORTS = ["low", "medium", "high", "xhigh", "max"] as const; diff --git a/src/providers/registry.ts b/src/providers/registry.ts index 03049752d45..7388ff373ea 100644 --- a/src/providers/registry.ts +++ b/src/providers/registry.ts @@ -21,6 +21,21 @@ import { import { cursorFastCapableBases } from "../adapters/cursor/catalog"; import { COMMAND_CODE_MODEL_REASONING_EFFORTS } from "./command-code-efforts"; import { isCanonicalOpenRouterTarget } from "./openrouter-routing"; +import { + CODEBUDDY_CN_MODELS, + CODEBUDDY_CN_MODEL_CONTEXT_WINDOWS, + CODEBUDDY_CN_MODEL_DEFAULT_REASONING_EFFORTS, + CODEBUDDY_CN_MODEL_MAX_OUTPUT_TOKENS, + CODEBUDDY_CN_MODEL_REASONING_EFFORTS, + CODEBUDDY_CN_NO_VISION_MODELS, + CODEBUDDY_GLOBAL_MODELS, + CODEBUDDY_GLOBAL_MODEL_CONTEXT_WINDOWS, + CODEBUDDY_GLOBAL_MODEL_DEFAULT_REASONING_EFFORTS, + CODEBUDDY_GLOBAL_MODEL_MAX_OUTPUT_TOKENS, + CODEBUDDY_GLOBAL_MODEL_REASONING_EFFORTS, + CODEBUDDY_REASONING_EFFORTS, +} from "./codebuddy-models"; +import { QODER_CN_MODELS, QODER_GLOBAL_MODELS, QODER_REASONING_EFFORTS } from "./qoder-models"; export type ProviderAuthKind = "forward" | "oauth" | "key" | "local"; export type MetadataModelIdNormalize = "case-insensitive"; @@ -160,6 +175,13 @@ export interface ProviderRegistryEntry { staticHeaders?: Record<string, string>; modelSuffixBracketStrip?: boolean; featured?: boolean; + /** + * Paid provider sponsorship under SPONSORS.md. `main` is reserved for model developers, + * `standard` for relays and gateways. The picker pins sponsor rows first (alphabetical among + * themselves) and labels them; nothing else reads this field. Routing, failover, quota, and + * defaults never consult it — that boundary is what SPONSORS.md promises users. + */ + sponsor?: { tier: "main" | "standard"; url: string }; dashboardPreset?: boolean; note?: string; dashboardUrl?: string; @@ -1540,8 +1562,10 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ modelDiscovery: { // Resolves against effectiveBaseUrl (registry baseUrl .../v1) to the same // canonical endpoint https://inference-api.nousresearch.com/v1/models. + // Nous returns a mixed paid/free catalog whose JSON can exceed 256 KiB; + // keep the provider-specific limit below the process-wide 4 MiB ceiling. path: "models", - maxResponseBytes: 262_144, + maxResponseBytes: 1_048_576, maxModels: 512, }, note: "Nous Research subscription gateway. OAuth device login with your own Portal account; mixed paid + :free models discovered live (fallback seed 2026-08-10: tencent/hy3:free, poolside/laguna-s-2.1:free, stepfun/step-3.7-flash:free, poolside/laguna-xs-2.1:free).", @@ -1675,6 +1699,9 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ // Zen Go can close a Chat stream after a fully assembled function call without sending // finish_reason or [DONE] (#2260). The adapter still rejects incomplete argument JSON. openaiChatEofTolerance: true, + // Go rejects reasoning.encrypted_content with previous_response_id (#3838). + // Use explicit replay history and the existing stateless Responses policy. + statelessResponses: true, /* [Decision Log] - 목적과 의도: Route the exact models OpenCode Go documents on the Responses endpoint — GPT 5.6 Luna, Grok 4.6, and Muse Spark Contributor (#2617). - 기존 구현 및 제약 조건: The provider is mixed-wire but its provider-wide `openai-chat` adapter sent Luna to `/chat/completions`; explicit user `modelAdapters` entries must remain authoritative. @@ -1899,6 +1926,9 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ authKind: "key", dashboardUrl: "https://www.orcarouter.ai/console", // The catalog is public, so a successful /models probe cannot validate a submitted key. apiKeyValidation: "unknown", + // Standard sponsor under SPONSORS.md (agreement signed 2026-09-07). Pins the row in the + // picker and adds the chip; nothing about routing or defaults changes. + sponsor: { tier: "standard", url: "https://www.orcarouter.ai/?utm_source=opencodex&utm_medium=readme" }, defaultModel: "openai/gpt-5.5", models: ORCAROUTER_MODELS, liveModels: true, @@ -1911,6 +1941,25 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ preserveReasoningContentModels: ORCAROUTER_TEXT_ONLY_MODELS, note: "OpenAI-compatible adaptive router. Models and multimodal capabilities are discovered live from the public chat catalog. Use the OrcaRouter account entry for PKCE login.", }, + { + // PackyCode: API relay (packyapi.com) for Claude Code, Codex, Gemini and more. Codex traffic + // uses the OpenAI-compatible host from their Codex/Kimi Code guides (docs.packyapi.com): + // https://cf.api.fan/v1 — GET /v1/models answers 401 without a key, so the host is live and + // discovery narrows to what the key's token group allows. Model ids are bare OpenAI-style + // ids (the Codex token group lists gpt-5.5 / gpt-5.1-codex). + // Standard sponsor under SPONSORS.md; the dashboardUrl carries their affiliate code. + id: "packycode", label: "PackyCode", adapter: "openai-chat", baseUrl: "https://cf.api.fan/v1", + authKind: "key", dashboardUrl: "https://www.packyapi.com/register?aff=k5KT", + sponsor: { tier: "standard", url: "https://www.packyapi.com/register?aff=k5KT" }, + defaultModel: "gpt-5.5", + models: ["gpt-5.5", "gpt-5.1-codex"], + liveModels: true, + // New key preset: opt into collision preservation so a row named `packycode` that a user + // points at a different PackyCode host keeps its own destination instead of being pulled + // back onto the Codex endpoint below. + preserveCustomDestination: true, + note: "API relay for Claude Code, Codex, Gemini and more. Create a Codex-group token at packyapi.com; live discovery lists what the token group allows.", + }, { // BizRouter: Korean enterprise LLM gateway (api.bizrouter.ai). Model ids are // vendor-namespaced (`<vendor>/<model>`) and pass through to the upstream as-is. @@ -3155,6 +3204,101 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ }, // FREEZE 2026-07-10: no public OpenAI-compatible endpoint is documented. Evidence: devlog/_plan/260710_provider_hardening/003_research_aggregators.md. { id: "gitlab-duo", label: "GitLab Duo", baseUrl: "https://cloud.gitlab.com/ai/v1/proxy/openai/v1", adapter: "openai-chat", authKind: "key", dashboardUrl: "https://gitlab.com/-/user_settings/personal_access_tokens" }, + { + // Official Qoder Global CLI automation surface. The canonical URL is an identity boundary; + // inference and model discovery are performed only by the installed vendor CLI. Authentication + // uses the documented PAT environment variable and never imports desktop/session credentials. + id: "qoder", + label: "Qoder (Global)", + adapter: "qoder", + baseUrl: "https://qoder.com", + authKind: "key", + apiKeyValidation: "unknown", + preserveCustomDestination: true, + dashboardUrl: "https://qoder.com/account/integrations", + defaultModel: "Qwen3.8-Max", + models: [...QODER_GLOBAL_MODELS], + liveModels: true, + reasoningEfforts: [...QODER_REASONING_EFFORTS], + noVisionModels: [...QODER_GLOBAL_MODELS], + note: "Official Qoder Global CLI using QODER_PERSONAL_ACCESS_TOKEN. Models are discovered per account with `qoder --list-models`; the documented roster is a degraded fallback. The CLI runs single-turn with tools, MCP, settings hooks, and session persistence disabled. Requires `npm install -g @qoder-ai/qodercli`.", + }, + { + // Qoder CN is a separate credential, executable, destination, entitlement cache, and health + // domain. It deliberately does not reuse the OAuth/private-protocol design from #3010. + id: "qoder-cn", + label: "Qoder CN", + adapter: "qoder", + baseUrl: "https://qoder.cn", + authKind: "key", + apiKeyValidation: "unknown", + preserveCustomDestination: true, + dashboardUrl: "https://qoder.cn/account/integrations", + defaultModel: "Qwen3.8-Max", + models: [...QODER_CN_MODELS], + liveModels: true, + reasoningEfforts: [...QODER_REASONING_EFFORTS], + noVisionModels: [...QODER_CN_MODELS], + note: "Official Qoder CN CLI using QODERCN_PERSONAL_ACCESS_TOKEN. Models are discovered per account with `qodercn --list-models`; the verified roster is a degraded fallback. The CLI runs single-turn with tools, MCP, settings hooks, and session persistence disabled. Requires `npm install -g @qodercn-ai/qoderclicn`.", + }, + { + // Official CodeBuddy Code CLI provider (Tencent Cloud), GLOBAL / `public` environment. + // Transport is the vendor-documented headless CLI automation surface + // (`codebuddy -p --output-format stream-json --tools ""`) authenticated with the official + // `CODEBUDDY_API_KEY` (https://www.codebuddy.ai/profile/keys). It does NOT read desktop + // session files, import desktop bearer tokens, impersonate the desktop client, or call the + // private console endpoint — the approach closed in #687 and left in draft in #2244. + // baseUrl is the canonical region identity: the adapter fails closed if it is overridden, so a + // global key is never sent to the CN environment (that is the separate `codebuddy-cn` entry). + // v1 runs tools-disabled so Codex keeps tool ownership; this provider is text/reasoning only + // until the control-protocol tool bridge lands (see docs). Free/trial/promotional/subscription + // credits draw from the same official API-key pool. Requires the CLI: `npm i -g @tencent-ai/codebuddy-code`. + // GOVERNANCE: whether routing this vendor automation surface behind a proxy for a third-party + // agent satisfies CodeBuddy's AUP is an open question flagged for maintainer security review. + id: "codebuddy", + label: "CodeBuddy (Global)", + adapter: "codebuddy", + baseUrl: "https://www.codebuddy.ai", + authKind: "key", + apiKeyValidation: "unknown", + preserveCustomDestination: true, + dashboardUrl: "https://www.codebuddy.ai/profile/keys", + defaultModel: "default-model", + models: CODEBUDDY_GLOBAL_MODELS, + liveModels: false, + modelContextWindows: CODEBUDDY_GLOBAL_MODEL_CONTEXT_WINDOWS, + modelMaxOutputTokens: CODEBUDDY_GLOBAL_MODEL_MAX_OUTPUT_TOKENS, + defaultMaxOutputTokens: 32_000, + reasoningEfforts: CODEBUDDY_REASONING_EFFORTS, + modelReasoningEfforts: CODEBUDDY_GLOBAL_MODEL_REASONING_EFFORTS, + modelDefaultReasoningEfforts: CODEBUDDY_GLOBAL_MODEL_DEFAULT_REASONING_EFFORTS, + note: "Official CodeBuddy Code CLI (Tencent Cloud), global/public environment. Uses the documented CODEBUDDY_API_KEY + headless CLI surface; never reads desktop sessions or private console endpoints. Region-isolated from codebuddy-cn. v1 disables CLI tools (--tools \"\") so Codex retains tool ownership: text/reasoning only for now. Requires `npm i -g @tencent-ai/codebuddy-code`. AUP/routing authorization flagged for maintainer security review.", + }, + { + // Official CodeBuddy Code CLI provider, CHINA / `internal` environment. Identical adapter and + // binary as `codebuddy`; the region is fixed by the profile's CODEBUDDY_INTERNET_ENVIRONMENT + // and this canonical baseUrl. CN key: https://copilot.tencent.com/profile/keys. The CN model + // roster differs from Global (see codebuddy-models.ts) and is seeded separately (§八). + id: "codebuddy-cn", + label: "CodeBuddy (CN)", + adapter: "codebuddy", + baseUrl: "https://www.codebuddy.cn", + authKind: "key", + apiKeyValidation: "unknown", + preserveCustomDestination: true, + dashboardUrl: "https://copilot.tencent.com/profile/keys", + defaultModel: "default", + models: CODEBUDDY_CN_MODELS, + liveModels: false, + modelContextWindows: CODEBUDDY_CN_MODEL_CONTEXT_WINDOWS, + modelMaxOutputTokens: CODEBUDDY_CN_MODEL_MAX_OUTPUT_TOKENS, + defaultMaxOutputTokens: 32_000, + reasoningEfforts: CODEBUDDY_REASONING_EFFORTS, + modelReasoningEfforts: CODEBUDDY_CN_MODEL_REASONING_EFFORTS, + modelDefaultReasoningEfforts: CODEBUDDY_CN_MODEL_DEFAULT_REASONING_EFFORTS, + noVisionModels: CODEBUDDY_CN_NO_VISION_MODELS, + note: "Official CodeBuddy Code CLI (Tencent Cloud), China/internal environment. Uses the documented CODEBUDDY_API_KEY + headless CLI surface; never reads desktop sessions or private console endpoints. Region-isolated from codebuddy (Global); credentials are never exchanged across regions. v1 disables CLI tools (--tools \"\"): text/reasoning only for now. Requires `npm i -g @tencent-ai/codebuddy-code`. AUP/routing authorization flagged for maintainer security review.", + }, ]; export function providerRegistryFastWireError( diff --git a/src/responses/compaction.ts b/src/responses/compaction.ts index f3fba7a0337..b067e7c8587 100644 --- a/src/responses/compaction.ts +++ b/src/responses/compaction.ts @@ -17,6 +17,10 @@ export const OCX_COMPACTION_PREFIX = "ocx1:"; +export const OCX_NATIVE_REPLAY_RECOVERY_NOTE = + "Threads compacted through a routed provider can contain OpenCodeX-owned ocx1 state. " + + "Before resuming one through native Codex, run `ocx recover-history --ocx-compaction <thread-id> --yes`."; + /** Mirrors codex-rs core/templates/compact/prompt.md (the local-compaction instruction). */ export const COMPACT_PROMPT = `You are performing a CONTEXT CHECKPOINT COMPACTION. Create a handoff summary for another LLM that will resume the task. diff --git a/src/responses/task-input.ts b/src/responses/task-input.ts index e72973ab90d..44c636b6c64 100644 --- a/src/responses/task-input.ts +++ b/src/responses/task-input.ts @@ -20,9 +20,29 @@ function supportedBlock(value: unknown): value is TaskInputBlock { return value.detail === undefined || (typeof value.detail === "string" && imageDetails.has(value.detail)); } +/** + * Does this item carry a pairing key? A tool result is paired by `call_id`; a seed is not. + * + * Presence of the FIELD is not presence of a KEY (#3807). Codex desktop seeds a sub-agent + * thread with a lone `function_call_output` that some client builds emit with an explicit + * `call_id: null` or `""` rather than omitting it. Those values can never pair with a + * `function_call`, so treating them as a paired result sent the item to the guard in + * core.ts and answered 400 for a turn that is really external task input. + * + * A wrong-typed key (number, object) is NOT relaxed: that is malformed input rather than + * the absent-pairing seed shape, and it keeps the #3259 rejection. + */ +function hasPairingKey(item: Record<string, unknown>): boolean { + if (!("call_id" in item)) return false; + const callId = item.call_id; + if (callId === null) return false; + if (typeof callId === "string") return callId.trim().length > 0; + return true; +} + /** Recognize Codex external task input without repairing ordinary orphaned tool results. */ export function externalTaskInputContent(item: unknown): string | OcxContentPart[] | undefined { - if (!isObj(item) || item.type !== "function_call_output" || "call_id" in item) return undefined; + if (!isObj(item) || item.type !== "function_call_output" || hasPairingKey(item)) return undefined; if (!nonBlank(item.id) || !nonBlank(item.name) || !nonBlank(item.namespace)) return undefined; const output = item.output; if (typeof output === "string") return nonBlank(output) ? output : undefined; diff --git a/src/router.ts b/src/router.ts index 6ea49570a14..98f5d065faa 100644 --- a/src/router.ts +++ b/src/router.ts @@ -10,7 +10,7 @@ import { import type { NormalizedComboConfig } from "./combos/types"; import { hasOwnProvider } from "./config/provider-name"; import { providerUsesKeyAuthOverride, resolveProviderApiKey } from "./providers/key-store"; -import { captureProviderApiKeySelection } from "./providers/api-key-selection"; +import { captureProviderApiKeySelection } from "./providers/api-key-selection-capture"; import { assertProviderDestinationAllowed } from "./lib/destination-policy"; import { redactSecretString, redactUrlForLog } from "./lib/redact"; import { @@ -706,13 +706,16 @@ function routeModelInternal( throw new Error("provider alias '" + requestedProvider + "' is ambiguous: " + configuredMatches.map(([n]) => n).sort().join(", ")); } else { // Pass 2: built-in registry aliases, only for providers that do NOT have an explicit alias override - // and whose registry alias has not been claimed by another configured provider (#3531 review) + // and whose registry alias has not been claimed by another configured provider name or alias const registryMatches = Object.entries(config.providers).filter(([name, provider]) => { if (provider.alias !== undefined) return false; const regAlias = PROVIDER_REGISTRY.find(e => e.id === name)?.alias; if (!regAlias || regAlias.toLowerCase() !== requestedLower) return false; const claimedByOther = Object.entries(config.providers).some(([otherName, p]) => - otherName !== name && typeof p.alias === "string" && p.alias.trim().toLowerCase() === requestedLower + otherName !== name && ( + otherName.toLowerCase() === requestedLower + || (typeof p.alias === "string" && p.alias.trim().toLowerCase() === requestedLower) + ) ); return !claimedByOther; }); diff --git a/src/server/chat-completions.ts b/src/server/chat-completions.ts index 7e69010636d..8ee5f52a49a 100644 --- a/src/server/chat-completions.ts +++ b/src/server/chat-completions.ts @@ -38,6 +38,9 @@ import { } from "./request-log"; import { responseWithDeferredRequestLog } from "./relay"; import { handleResponses } from "./responses"; +import { providerConsumesCallerAuthorization } from "../providers/caller-authorization"; +import { captureExplicitOpenAiCallerAuth } from "../providers/openai-sidecar"; +import { captureCallerDirectAuth } from "../providers/caller-authorization"; import type { AdmissionLease } from "../lib/admission"; import type { DataPlaneAdmission } from "./auth-cors"; import { tryClaimNativeMainProfileForTurn } from "../codex/native-main-admission"; @@ -133,7 +136,8 @@ async function handleChatCompletionsWithBudget( // it registers (extra_headers, sent verbatim by upstream Grok). Dashboard usage // bucketing only — never an auth or billing signal. if (req.headers.get("x-opencodex-grok") === "1") logCtx.surface = "grok"; - let directRoute = false; + let callerAuthorizationRoute = false; + let routeMayChangeCredentialDomain = false; let settledRoute: ReturnType<typeof routeModel> | null = null; let chatNativeRoute: ReturnType<typeof routeModel> | null = null; try { @@ -150,9 +154,9 @@ async function handleChatCompletionsWithBudget( logCtx.provider = route.providerName; logCtx.routeDecision = route.routeDecision; settledRoute = route; - if (route.provider.adapter === "openai-responses") { - directRoute = route.codexAccountMode === "direct"; - } + routeMayChangeCredentialDomain = route.combo !== undefined || route.routeKind === "policy"; + callerAuthorizationRoute = !routeMayChangeCredentialDomain + && providerConsumesCallerAuthorization(route.provider); if (route.provider.adapter === "cursor" || route.provider.adapter === "kiro") { const parts: string[] = []; if (chatBody.messages !== undefined) parts.push(JSON.stringify(chatBody.messages)); @@ -240,17 +244,23 @@ async function handleChatCompletionsWithBudget( && isCodexReserveHelperUnsupported(config, settledRoute.modelId, logIds?.admission, visionDescribeTerminal)) { return chatCompletionsErrorResponse(400, CODEX_RESERVE_HELPER_UNSUPPORTED_MESSAGE, "invalid_request_error"); } + const nativeCallerAuth = captureExplicitOpenAiCallerAuth(req.headers, config); + // Caller-owned only: stored-main enrichment below is sidecar authority, never Direct authority. + const callerDirectAuth = captureCallerDirectAuth(req.headers, config); + let openAiSidecarAuth = nativeCallerAuth; const headers = new Headers({ "content-type": "application/json" }); // Internal bridge metadata; the Go resolver scopes and hashes it before upstream use. const openCodeSession = req.headers.get("x-opencode-session"); if (openCodeSession) headers.set("x-opencode-session", openCodeSession); for (const name of FORWARD_HEADERS) { - if (name === "authorization" && !directRoute) continue; + if (routeMayChangeCredentialDomain && (name === "authorization" || name === "chatgpt-account-id")) continue; + if (name === "authorization" && !callerAuthorizationRoute) continue; const value = req.headers.get(name); if (value) headers.set(name, value); } - // Prefer main ChatGPT auth so OpenAI-backed sidecars remain reachable on routed turns. - if (!directRoute) { + // A noncanonical caller-auth route can use stored main auth only through a sidecar snapshot. + // Later shadow/thread rewrites strip primary credentials at the actual Responses boundary. + if (!callerAuthorizationRoute || (settledRoute && !isCanonicalOpenAiForwardProvider(settledRoute.provider))) { // This enrichment is optional for routed/non-main providers. If native main // is fenced, omit it and let auth-context reject only a final physical-main // selection while healthy pool/provider routes continue. @@ -259,8 +269,12 @@ async function handleChatCompletionsWithBudget( const { getMainAccountToken } = await import("../codex/main-account"); const token = getMainAccountToken(); if (token) { - headers.set("authorization", `Bearer ${token.accessToken}`); - headers.set("chatgpt-account-id", token.chatgptAccountId); + const mainHeaders = new Headers({ authorization: `Bearer ${token.accessToken}`, "chatgpt-account-id": token.chatgptAccountId }); + openAiSidecarAuth ??= captureExplicitOpenAiCallerAuth(mainHeaders, config); + if (!callerAuthorizationRoute && !routeMayChangeCredentialDomain) { + headers.set("authorization", `Bearer ${token.accessToken}`); + headers.set("chatgpt-account-id", token.chatgptAccountId); + } } } catch { /* optional */ @@ -299,6 +313,9 @@ async function handleChatCompletionsWithBudget( addFinalRequestLog(logIds.requestId, logIds.start, logCtx, status, meta); }; const upstream = await handleResponses(internalReq, config, logCtx, { + openAiSidecarAuth, + nativeCallerAuth, + callerDirectAuth, ...(logIds?.turnAdmissionLease ? { turnAdmissionLease: logIds.turnAdmissionLease } : {}), // #1686: the Chat surface translates its body and replays here, so the admission fact has // to ride along or a bearer-admitted Chat caller would still be refused by Direct. diff --git a/src/server/claude-messages.ts b/src/server/claude-messages.ts index 6a9b41b2276..7ff76f0f2e3 100644 --- a/src/server/claude-messages.ts +++ b/src/server/claude-messages.ts @@ -11,23 +11,15 @@ import { jsonUtf8Bytes } from "../lib/json-byte-size"; import { sseFieldValue } from "../lib/sse-decoder"; import { enforceAnthropicImageLimits, sniffImageDimensions } from "../adapters/anthropic-image-guard"; import { normalizeAnthropicImages } from "../adapters/anthropic-image-normalize"; -import { AnthropicRequestError, DesktopModelMappingUnavailableError, anthropicToResponsesTranslation, extractOcxEffortDirective, extractOcxRouteDirective, verifyAndExtractDirectives, resolveInboundModel, type ClaudeCacheKeySource } from "../claude/inbound"; -import { getOrCreateDirectiveSigningKey } from "../claude/directive-key"; -import { isAllowedLegacyDirective } from "../claude/agents-inject"; +import { AnthropicRequestError, DesktopModelMappingUnavailableError, anthropicToResponsesTranslation, extractOcxEffortDirective, extractOcxRouteDirective, resolveInboundModel, type ClaudeCacheKeySource } from "../claude/inbound"; import { isKnownDesktop3pModelId, resolveDesktop3pAlias } from "../claude/desktop-3p"; import { resolveAlias, claudeCodeNativeAlias } from "../claude/alias"; import { recordDesktopRequest } from "../claude/desktop-health"; import { stripOneMillionMarker } from "../claude/context-windows"; -import { annotateClaudeInboundDecision, captureClaudeInbound } from "../claude/inbound-debug"; +import { captureClaudeInbound } from "../claude/inbound-debug"; +import { analyzeClaudeCompatibility, isClaudeCompatibilityMode } from "../claude/compatibility"; import { isTransientUpstreamStatus } from "../lib/upstream-retry"; import { resolveClientRetryAfter } from "../lib/retry-after"; -import { createHash } from "node:crypto"; -import { - analyzeClaudeCompatibility, - collectClaudeFeatureCodes, - isToleratedClaudeFeatureCode, - resolveClaudeCompatibilityMode, -} from "../claude/compatibility"; import { anthropicErrorBody, anthropicErrorResponse, @@ -37,12 +29,14 @@ import { } from "../claude/outbound"; import { clearableDeadline, idleDeadline } from "../lib/abort"; import { estimateTokens } from "../lib/token-estimate"; -import { modelInList } from "../types/tools"; -import type { ClaudeSourceEnvelope, OcxConfig, OcxUsage } from "../types"; +import { NoEligiblePolicyCandidateError, UnknownRoutingPolicyError, routeModel } from "../router"; +import { registryEntryForProviderDestination } from "../providers/registry"; +import { evidenceFromBody } from "../routing/request-evidence"; +import { resolveWireProtocolOverride } from "./adapter-resolve"; +import type { OcxConfig } from "../types"; import { readJsonRequestBody } from "./request-decompress"; import { addFinalRequestLog, httpStatusForRequestLogTerminal, recordFirstOutput, type RequestLogContext, type RequestLogEntry } from "./request-log"; -import { conversationIdFromClaudeMetadata } from "./request-log-conversation"; -import { normalizeClaudeCompatibilityUsageLog } from "../usage/log"; +import { conversationIdFromClaudeMetadata, normalizeLogConversationId, sessionLaneIdFromRequest } from "./request-log-conversation"; import { responseWithDeferredRequestLog } from "./relay"; import { handleResponses } from "./responses"; import { @@ -70,47 +64,9 @@ import { parseSyntheticRowId, type ParsedFastRowId, } from "./fast-row"; -import { supportedLadderFor } from "./effort-policy"; -import { NoEligiblePolicyCandidateError, UnknownRoutingPolicyError, routeModel } from "../router"; -import { POLICY_NAMESPACE, resolvePolicyProfileId } from "../routing/profile"; -import { evidenceFromBody } from "../routing/request-evidence"; type Rec = Record<string, unknown>; -function resolveClaudePolicySelector( - config: OcxConfig, - model: string, -): { decodedModel: string; isPolicy: boolean } { - // Claude Code sends the readable aliases published by /v1/models, not necessarily the - // underlying route (`claude-ocx-policy--daily` -> `policy/daily`). Policy detection must - // use the same identity the Messages translator will route, while preserving an exact - // operator alias such as `claude-smart` when it has no Claude model-map entry. - const decodedModel = resolveInboundModel(model, config.claudeCode); - return { - decodedModel, - isPolicy: resolvePolicyProfileId(config, decodedModel) !== null - || decodedModel.startsWith(`${POLICY_NAMESPACE}/`), - }; -} - -function isLocalPolicyRoutingError( - status: number, - message: string, - logCtx: Pick<RequestLogContext, "requestedModel" | "routeDecision">, -): boolean { - if (status !== 404) return false; - if ( - logCtx.routeDecision?.routeKind === "policy" - && logCtx.routeDecision.selected.reason === "no-eligible-candidate" - ) { - return true; - } - return ( - logCtx.requestedModel?.startsWith(`${POLICY_NAMESPACE}/`) === true - && message.startsWith("Unknown routing policy:") - ); -} - /** * Decode a Claude selector that may carry the fast marker. * @@ -166,25 +122,6 @@ export function buildClaudeReplayConfig(config: OcxConfig): OcxConfig { }; } -/** - * Phase 4 plan 04-02: benchmark-only raw-usage observation. - * - * The optional benchmark observer receives a sanitized structural record only — - * final adapter kind, resolved model id, and the raw OcxUsage reported before - * Anthropic wire normalization. It never receives request bodies, headers, - * provider names/aliases, endpoint, account identity, raw provider response, or - * error text. Standard Messages behavior is unchanged when omitted. - */ -export interface ClaudeBenchmarkRawUsage { - adapterKind: string; - modelId: string; - usage: OcxUsage | undefined; -} - -export interface ClaudeBenchmarkObserverOptions { - onRawUsage?: (observation: ClaudeBenchmarkRawUsage) => void; -} - function claudeInboundDisabled(config: OcxConfig): Response | null { if (config.claudeCode?.enabled === false) { return anthropicErrorResponse(403, "Claude inbound is disabled (GUI: Claude ON toggle / config.claudeCode.enabled)", "permission_error"); @@ -192,150 +129,6 @@ function claudeInboundDisabled(config: OcxConfig): Response | null { return null; } -// ── Claude source envelope & session precedence (ingress slice) ──────────────── - -/** - * Capture sanitized immutable envelope before destructive translation. - * Charges the same TranslatorBudget for the retained copy + header bytes. - */ -export function captureClaudeSourceEnvelope( - req: Request, - rawBody: unknown, - budget: TranslatorBudget, -): ClaudeSourceEnvelope { - const beta = req.headers.get("anthropic-beta")?.trim() || undefined; - const rawVersion = req.headers.get("anthropic-version"); - const version = rawVersion === null ? undefined : rawVersion.trim(); - if (!isRec(rawBody)) throw new AnthropicRequestError("Anthropic request body must be an object"); - const bodyBytes = jsonUtf8Bytes(rawBody); - let headerBytes = 0; - if (beta) headerBytes += new TextEncoder().encode(beta).byteLength; - if (version) headerBytes += new TextEncoder().encode(version).byteLength; - budget.chargeRetained(bodyBytes + headerBytes, { kind: "request_copies" }); - const bodyClone = structuredClone(rawBody); - return { - body: bodyClone, - headers: { - ...(beta ? { "anthropic-beta": beta } : {}), - ...(version !== undefined ? { "anthropic-version": version } : {}), - }, - }; -} - -/** - * Session precedence: x-claude-code-session-id header > metadata.user_id > system cohort. - * Returns the canonical session id string or null when none is determinable before translation. - * Agent/parent IDs are NOT session ids — they are only HMAC8 debug tags (see inbound-debug). - */ -export function claudeSessionIdFromRequest(req: Request, body: unknown): string | null { - const headerSid = req.headers.get("x-claude-code-session-id")?.trim(); - if (headerSid) return headerSid; - if (body && typeof body === "object" && !Array.isArray(body)) { - const rec = body as Record<string, unknown>; - const metadata = rec.metadata; - if (metadata && typeof metadata === "object" && !Array.isArray(metadata)) { - const uid = (metadata as Record<string, unknown>).user_id; - if (typeof uid === "string" && uid.trim().length > 0) return uid.trim(); - } - } - return null; -} - -function claudeAgentIdsFromRequest(req: Request): { agentId?: string; parentAgentId?: string } { - const out: { agentId?: string; parentAgentId?: string } = {}; - const headerAgent = req.headers.get("x-claude-code-agent-id")?.trim(); - const headerParent = req.headers.get("x-claude-code-parent-agent-id")?.trim(); - if (headerAgent) out.agentId = headerAgent; - if (headerParent) out.parentAgentId = headerParent; - return out; -} - -/** - * Compute prompt_cache_key from a session id (header precedence path). - * Uses same sha256 hex slice as inbound.ts (32 hex chars) for per-session keys. - * Returns null when sessionId is null (caller should keep translation's system cohort key). - */ -export function promptCacheKeyForSession(sessionId: string | null): string | null { - if (!sessionId) return null; - return createHash("sha256").update(sessionId).digest("hex").slice(0, 32); -} - -/** Idempotent, synchronous work for every effective Responses route resolution. */ -export function claudeFinalRouteHandler( - parsed: { options: Record<string, unknown>; modelId: string; _rawBody?: unknown; _promptCacheKeyIsSharedCohort?: boolean }, - route: { provider: OcxConfig["providers"][string]; providerName: string; modelId: string }, - ctx: { - sourceEnvelope: ClaudeSourceEnvelope; - cacheKeySource: ClaudeCacheKeySource; - config: OcxConfig; - logCtx: RequestLogContext; - }, -): { adapter: string; decision: ReturnType<typeof analyzeClaudeCompatibility>["decision"]; featureCodes: string[] } { - const adapter = route.provider.adapter; - // Route-aware fail-closed gate for auto-only models (e.g. muse-spark-1.2-contributor on opencode-go). - // Must run before any upstream; uses the routed modelId + provider list so a forced/named - // tool_choice never silently downgrades to auto (Responses core would do that for openai-chat). - { - const tc = (ctx.sourceEnvelope.body as Record<string, unknown>).tool_choice as unknown; - const tcType = tc && typeof tc === "object" && !Array.isArray(tc) && typeof (tc as Record<string, unknown>).type === "string" ? (tc as Record<string, unknown>).type as string : undefined; - if ((tcType === "any" || tcType === "tool") && modelInList((route.provider as { autoToolChoiceOnlyModels?: string[] }).autoToolChoiceOnlyModels, route.modelId)) { - throw new AnthropicRequestError( - `tool_choice type '${tcType}' is not supported for model "${route.modelId}" (provider ${route.providerName}): this model supports only tool_choice auto or none. Remove tool_choice, use {"type":"auto"} or {"type":"none"}, or choose a different model.`, - ); - } - } - // Idempotent sampling strip for openai-responses forward (native ChatGPT pierce) - if (adapter === "openai-responses") { - const raw = parsed._rawBody as Record<string, unknown> | undefined; - if (raw) { - // _rawBody is snake_case Responses JSON; be idempotent for both snake and camel keys - delete raw.max_output_tokens; - delete (raw as Record<string, unknown>).maxOutputTokens; - delete raw.temperature; - delete raw.top_p; - delete (raw as Record<string, unknown>).topP; - delete raw.stop; - delete (raw as Record<string, unknown>).stopSequences; - delete raw.user; - } - // OcxRequestOptions is camelCase; _rawBody snake is already handled above. Strip both forms idempotently. - delete (parsed.options as Record<string, unknown>).max_output_tokens; - delete (parsed.options as Record<string, unknown>).maxOutputTokens; - delete (parsed.options as Record<string, unknown>).temperature; - delete (parsed.options as Record<string, unknown>).top_p; - delete (parsed.options as Record<string, unknown>).topP; - delete (parsed.options as Record<string, unknown>).stop; - delete (parsed.options as Record<string, unknown>).stopSequences; - delete (parsed.options as Record<string, unknown>).user; - } - // Usage estimate only for cursor/kiro (estimated-usage adapters) - if (adapter === "cursor" || adapter === "kiro") { - try { - const bodyRec = ctx.sourceEnvelope.body as Record<string, unknown>; - const model = typeof bodyRec.model === "string" ? bodyRec.model : ctx.config.claudeCode?.model; - ctx.logCtx.usageLogInputTokens = estimateClaudeRequestTokens(bodyRec as { system?: unknown; messages?: unknown; tools?: unknown }, model); - } catch { - // ignore estimation failures - } - } - // Opus-shaped aliases can make every routed model look reasoning-capable to Claude - // clients. Strip a forced effort only when the final route explicitly has no ladder. - if (parsed.options.reasoning !== undefined) { - const ladder = supportedLadderFor({ provider: route.provider, modelId: route.modelId }); - if (ladder !== undefined && ladder.length === 0) delete parsed.options.reasoning; - } - // Compatibility evaluation before network (enforce mode may reject) - const mode = resolveClaudeCompatibilityMode(ctx.config.claudeCode); - const anthropicBeta = ctx.sourceEnvelope.headers["anthropic-beta"]; - const result = analyzeClaudeCompatibility(ctx.sourceEnvelope.body, { mode, adapter, anthropicBeta }); - if (result.decision === "reject") { - ctx.logCtx.errorCode = "claude_compatibility_unsupported"; - throw new AnthropicRequestError(result.reason ?? "incompatible features for routed adapter"); - } - return { adapter, decision: result.decision, featureCodes: result.shadowFeatureCodes ?? result.featureCodes }; -} - - async function readAnthropicBody(req: Request, budget: TranslatorBudget): Promise<unknown> { try { return await readJsonRequestBody(req, budget); @@ -810,7 +603,7 @@ export async function fetchWithHeaderDeadline( ): Promise<HeaderDeadlineFetchResult> { const deadline = makeDeadline(timeoutMs, parent); try { - const upstream = await fetchImpl(input, { ...init, signal: deadline.signal, timeout: 0 }); + const upstream = await fetchImpl(input, { ...init, redirect: "manual", signal: deadline.signal, timeout: 0 }); return { kind: "response", upstream }; } catch (error) { if (deadline.didExpire()) return { kind: "timeout" }; @@ -826,12 +619,11 @@ export async function handleClaudeMessages( logCtx: RequestLogContext, logIds?: { requestId: string; start: number; turnAdmissionLease?: AdmissionLease; admission?: DataPlaneAdmission }, requestPolicy: RequestPolicyView = config, - benchmark?: ClaudeBenchmarkObserverOptions, ): Promise<Response> { const translatorBudget = createTranslatorBudget(); try { return finalizeTranslatorBudgetResponse( - await handleClaudeMessagesWithBudget(req, config, logCtx, translatorBudget, logIds, requestPolicy, benchmark), + await handleClaudeMessagesWithBudget(req, config, logCtx, translatorBudget, logIds, requestPolicy), translatorBudget, ); } catch (error) { @@ -847,7 +639,6 @@ async function handleClaudeMessagesWithBudget( translatorBudget: TranslatorBudget, logIds?: { requestId: string; start: number; turnAdmissionLease?: AdmissionLease; admission?: DataPlaneAdmission }, requestPolicy: RequestPolicyView = config, - benchmark?: ClaudeBenchmarkObserverOptions, ): Promise<Response> { logCtx.surface = "claude"; const disabled = claudeInboundDisabled(config); @@ -863,11 +654,6 @@ async function handleClaudeMessagesWithBudget( let effortRow: ParsedEffortRowId | null = null; let fastRow: ParsedFastRowId | null = null; let requestedModel = ""; - let sourceEnvelope: ClaudeSourceEnvelope | null = null; - let headerSessionId: string | null = null; - let featureCodesEarly: string[] = []; - let agentIds: { agentId?: string; parentAgentId?: string } = {}; - let debugCaptureId: number | undefined; try { anthropicBody = await readAnthropicBody(req, translatorBudget); // Defensive [1m] strip (devlog 138): clients normally remove the context-variant @@ -876,21 +662,15 @@ async function handleClaudeMessagesWithBudget( if (isRec(anthropicBody) && typeof anthropicBody.model === "string") { anthropicBody.model = stripOneMillionMarker(anthropicBody.model); } - // ocx-route override (devlog 072 + TRUST-01..05): injected agent bodies pin their model via a + // ocx-route override (devlog 072): injected agent bodies pin their model via a // system-prompt directive because 2.1.207 ignores custom ids in agent // frontmatter. Must run BEFORE the native-passthrough branch — the CLI sends // these subagent turns under a fallback claude model id. if (isRec(anthropicBody)) { - const directives = verifyAndExtractDirectives( - anthropicBody, - getOrCreateDirectiveSigningKey(), - (route, effort) => isAllowedLegacyDirective(route, effort, config), - ); - if (directives.route && typeof anthropicBody.model === "string") { - anthropicBody.model = stripOneMillionMarker(directives.route); - if (directives.effort) { - effortOverride = directives.effort; - } + const routeOverride = extractOcxRouteDirective(anthropicBody); + if (routeOverride && typeof anthropicBody.model === "string") { + anthropicBody.model = stripOneMillionMarker(routeOverride); + effortOverride = extractOcxEffortDirective(anthropicBody); } } if (isRec(anthropicBody) && typeof anthropicBody.model === "string") { @@ -913,25 +693,15 @@ async function handleClaudeMessagesWithBudget( } if (fastRow) anthropicBody.model = fastRow.baseId; } - headerSessionId = claudeSessionIdFromRequest(req, anthropicBody); - agentIds = claudeAgentIdsFromRequest(req); - featureCodesEarly = collectClaudeFeatureCodes(anthropicBody, req.headers.get("anthropic-beta") ?? undefined); // Debug capture (opt-in allowlist scalars) BEFORE the passthrough branch so // native, routed, and disabled-alias paths are all observable (devlog 130 B1). - // Extended ring carries featureCodes/adapter/decision + HMAC8 session/agent tags. - debugCaptureId = captureClaudeInbound( + captureClaudeInbound( "messages", anthropicBody, isRec(anthropicBody) && typeof anthropicBody.model === "string" ? resolveInboundModel(anthropicBody.model, config.claudeCode) : undefined, req.headers.get("anthropic-beta") ?? undefined, - { - ...(headerSessionId ? { sessionId: headerSessionId } : {}), - ...(agentIds.agentId ? { agentId: agentIds.agentId } : {}), - ...(agentIds.parentAgentId ? { parentAgentId: agentIds.parentAgentId } : {}), - ...(featureCodesEarly.length > 0 ? { featureCodes: featureCodesEarly } : {}), - }, ); // Client surface discrimination: Desktop 3P aliases resolve through the // desktop registry; Code uses readable aliases or direct model names. @@ -949,19 +719,35 @@ async function handleClaudeMessagesWithBudget( // A fast row blocks passthrough, unlike the chat case: this path forwards to Anthropic's // own API, whose wire has no service_tier field and whose FastWire kind has an empty // adapter set by design, so the tier would be silently dropped. - const policySelector = isRec(anthropicBody) && typeof anthropicBody.model === "string" - ? resolveClaudePolicySelector(config, anthropicBody.model) - : null; - if ( - !effortRow - && !fastRow - && policySelector?.isPolicy !== true - && isRec(anthropicBody) - && wantsNativePassthrough(req, config, requestPolicy, anthropicBody.model) - ) { - annotateClaudeInboundDecision(debugCaptureId, "anthropic", "native", featureCodesEarly); + if (!effortRow && !fastRow && isRec(anthropicBody) && wantsNativePassthrough(req, config, requestPolicy, anthropicBody.model)) { return await anthropicNativePassthrough(req, config, logCtx, logIds, anthropicBody, "/v1/messages"); } + // Capture source semantics before effort rewriting or translation drops fields. + // This policy is uniform across translated targets, including later fallback attempts. + const compatibilityMode: unknown = config.claudeCode?.compatibility; + if (compatibilityMode !== undefined) { + if (!isClaudeCompatibilityMode(compatibilityMode)) { + logCtx.errorCode = "claude_compatibility_configuration"; + if (logIds) addFinalRequestLog(logIds.requestId, logIds.start, logCtx, 503, { closeReason: "non_stream" }); + return anthropicErrorResponse(503, "Invalid claudeCode.compatibility setting", "api_error"); + } + const compatibility = analyzeClaudeCompatibility(anthropicBody, { + mode: compatibilityMode, + anthropicBeta: req.headers.get("anthropic-beta") ?? undefined, + }); + if (compatibility.decision === "reject") { + logCtx.errorCode = "claude_compatibility_unsupported"; + if (logIds) addFinalRequestLog(logIds.requestId, logIds.start, logCtx, 400, { closeReason: "non_stream" }); + return anthropicErrorResponse(400, compatibility.reason!, "invalid_request_error"); + } + if (compatibility.decision === "shadow") { + logCtx.claudeCompatibility = { + decision: "shadow", + featureCodes: compatibility.featureCodes, + reason: compatibility.reason, + }; + } + } if (isRec(anthropicBody) && effortOverride) { anthropicBody.output_config = { ...(isRec(anthropicBody.output_config) ? anthropicBody.output_config : {}), @@ -969,9 +755,6 @@ async function handleClaudeMessagesWithBudget( }; delete anthropicBody.thinking; } - // Routed requests retain the post-directive source body. Native passthrough never - // pays for or observes this clone, preserving its existing byte-for-byte path. - sourceEnvelope = captureClaudeSourceEnvelope(req, anthropicBody, translatorBudget); const translation = anthropicToResponsesTranslation(anthropicBody, config.claudeCode, translatorBudget); internalBody = translation.body; // The Anthropic translator builds its body from model/input/store/stream plus sampling @@ -979,22 +762,7 @@ async function handleClaudeMessagesWithBudget( // inbound one. if (fastRow) internalBody.service_tier = "priority"; translatorBudget.chargeRetained(jsonUtf8Bytes(internalBody), { kind: "request_copies" }); - // Session header precedence feeds prompt_cache_key (header > metadata > system cohort). - // When the x-claude-code-session-id header is present, it replaces the - // translation's per-session/system key with a stable per-header sha256 key - // and promotes cacheKeySource to "metadata" so downstream affinity/session_id - // logic treats it as a real per-session key (not the shared system cohort). - if (headerSessionId) { - const sessionCacheKey = promptCacheKeyForSession(headerSessionId); - if (sessionCacheKey) { - internalBody.prompt_cache_key = sessionCacheKey; - cacheKeySource = "metadata"; - } else { - cacheKeySource = translation.cacheKeySource; - } - } else { - cacheKeySource = translation.cacheKeySource; - } + cacheKeySource = translation.cacheKeySource; } catch (err) { const overflow = isTranslatorBudgetExceededError(err); const unavailable = err instanceof DesktopModelMappingUnavailableError; @@ -1015,53 +783,61 @@ async function handleClaudeMessagesWithBudget( // the translated Anthropic SSE into a message JSON for non-streaming clients. internalBody.stream = true; - // ── Final-route callback (post-route, pre-network) ─────────────────────────────────────── - // Adapter-specific work runs only after Responses core owns the final route. - const claudeOnResolvedRoute = (info: import("./responses/core").ResolvedRouteInfo): void => { - if (!sourceEnvelope) return; - // Each attempt owns its admission evidence; a later native route must not - // inherit a translated shadow decision from an earlier fallback target. - delete logCtx.claudeCompatibility; - const result = claudeFinalRouteHandler( - info.parsed as unknown as Parameters<typeof claudeFinalRouteHandler>[0], - { provider: { ...info.provider, adapter: info.adapterName }, providerName: info.route.providerName, modelId: info.modelId } as Parameters<typeof claudeFinalRouteHandler>[1], - { - sourceEnvelope, - cacheKeySource, - config, - logCtx, - }, - ); - if (result.decision === "shadow") { - // Persisted shadow evidence must be backed by the final per-attempt - // evaluation: every non-tolerated code comes from result.featureCodes, - // so an adapter-tolerated feature (e.g. deferred_tools on - // openai-responses) can never be relabeled unsupported. Early pre-route - // codes only contribute tolerated diagnostics that the effort override - // legitimately removed before the final evaluation. - logCtx.claudeCompatibility = normalizeClaudeCompatibilityUsageLog({ - decision: "shadow", - featureCodes: [...new Set([ - ...result.featureCodes, - ...featureCodesEarly.filter(isToleratedClaudeFeatureCode), - ])], - }); + // Native ChatGPT passthrough (openai-responses forward) accepts only Codex-shaped + // bodies: it 400s on sampling params ("Unsupported parameter: max_output_tokens", + // verified live 2026-07-11). Strip them for that route; routed providers keep them. + let nativeRoute = false; + let opencodeGoRoute = false; + try { + const route = routeModel(config, internalBody.model as string, evidenceFromBody(internalBody)); + // Match the fixed key-auth destination before per-model wire overrides, including + // renamed Go providers without treating custom or lookalike URLs as Go. + opencodeGoRoute = registryEntryForProviderDestination(route.provider)?.id === "opencode-go"; + // Settle the wire once so the sampling decision below reads the effective + // adapter rather than the provider-wide default (#404). + route.provider = resolveWireProtocolOverride(route.providerName, route.modelId, route.provider, "anthropic"); + logCtx.routeDecision = route.routeDecision; + if (route.provider.adapter === "openai-responses") { + nativeRoute = true; + delete internalBody.max_output_tokens; + delete internalBody.temperature; + delete internalBody.top_p; + delete internalBody.stop; + delete internalBody.user; } - // Session_id header synthesis: only for openai-responses and only for a - // real per-session prompt_cache_key (metadata), never the system-hash - // cohort. Idempotent: check headers.has before set. - { - const pck = (info.parsed.options as Rec).promptCacheKey ?? (info.parsed.options as Rec).prompt_cache_key ?? ((info.parsed as unknown as Rec)._rawBody as Rec | undefined)?.prompt_cache_key; - if (info.adapterName === "openai-responses" && cacheKeySource === "metadata" && typeof pck === "string" && !info.headers.has("session_id")) { - info.headers.set("session_id", uuidFromHex(pck as string)); - } else if (info.adapterName !== "openai-responses") { - info.headers.delete("session_id"); - } + // Estimated-usage adapters (cursor/kiro) report no per-turn input tokens; stash a + // request-side estimate so the log's in:0 rows get a floor. NEVER set this for + // accurate-usage adapters — the request-log merge is max(reported, estimate) and + // would overwrite real usage (audit 133 R1#7). + if (route.provider.adapter === "cursor" || route.provider.adapter === "kiro") { + logCtx.usageLogInputTokens = estimateClaudeRequestTokens(anthropicBody as Rec, requestedModel); } - annotateClaudeInboundDecision(debugCaptureId, result.adapter, result.decision, result.featureCodes); - }; + // Effort safety valve (devlog 136 B6, audit 139 R2#2): opus-shaped aliases make + // every routed model look like a reasoning model to Claude clients, so a forced + // effort (CLAUDE_CODE_ALWAYS_ENABLE_EFFORT) would leak reasoning params to routes + // that affirmatively expose NO effort control. Strip only on a definitive [] from + // supportedLadderFor; unknown (undefined) passes through untouched. + if (internalBody.reasoning !== undefined) { + const { supportedLadderFor } = await import("./effort-policy"); + const ladder = supportedLadderFor({ provider: route.provider, modelId: route.modelId }); + if (ladder !== undefined && ladder.length === 0) delete internalBody.reasoning; + } + } catch (err) { + if (err instanceof UnknownRoutingPolicyError) { + logCtx.requestedModel = requestedModel; + if (logIds) addFinalRequestLog(logIds.requestId, logIds.start, logCtx, 404, { closeReason: "non_stream" }); + return anthropicErrorResponse(404, err.message, "invalid_request_error"); + } + if (err instanceof NoEligiblePolicyCandidateError) { + logCtx.routeDecision = err.trace; + if (logIds) addFinalRequestLog(logIds.requestId, logIds.start, logCtx, 404, { closeReason: "non_stream" }); + return anthropicErrorResponse(404, err.message, "invalid_request_error"); + } + /* unknown model: let handleResponses shape the 404 */ + } const headers = new Headers({ "content-type": "application/json" }); + let trustedClaudeMainAuth: { authorization: string; chatgptAccountId?: string } | undefined; for (const name of FORWARD_HEADERS) { // The caller's bearer is the proxy admission token (ocx claude placeholder), never a // ChatGPT credential — forwarding it upstream turns into {"detail":"Unauthorized"}. @@ -1077,8 +853,37 @@ async function handleClaudeMessagesWithBudget( const { getMainAccountToken } = await import("../codex/main-account"); const token = getMainAccountToken(); if (token) { - headers.set("authorization", `Bearer ${token.accessToken}`); + const authorization = `Bearer ${token.accessToken}`; + headers.set("authorization", authorization); headers.set("chatgpt-account-id", token.chatgptAccountId); + trustedClaudeMainAuth = { + authorization, + ...(token.chatgptAccountId ? { chatgptAccountId: token.chatgptAccountId } : {}), + }; + } + } + if (opencodeGoRoute) { + const session = req.headers.get("x-opencode-session"); + if (session) headers.set("x-opencode-session", session); + } + const hasExplicitGoSession = opencodeGoRoute + && (sessionLaneIdFromRequest(headers) !== undefined + || normalizeLogConversationId(headers.get("x-opencode-session")) !== undefined); + const synthesizeGoSession = opencodeGoRoute && !hasExplicitGoSession + && isRec(anthropicBody) + && conversationIdFromClaudeMetadata(isRec(anthropicBody.metadata) ? anthropicBody.metadata : undefined) !== undefined; + // Go can also use the Responses adapter; its eligibility gate must win on both wires. + if (opencodeGoRoute ? synthesizeGoSession : nativeRoute) { + // ChatGPT-backend prompt-cache affinity rides the session_id HEADER (codex + // clients always send their session uuid; devlog 090 follow-up: body-level + // prompt_cache_key alone still yielded cached_tokens:0). Claude Code never sends + // the header, so synthesize a stable per-session uuid from the same cache key. + // Routed Go requests need this lane too for their x-opencode-session affinity — + // but ONLY for a real per-session key (metadata.user_id). The system-hash fallback + // key is shared across Desktop conversations, and a shared session_id's backend + // semantics are unproven (audit 133 R2#3): body prompt_cache_key only there. + if (cacheKeySource === "metadata" && (synthesizeGoSession || !headers.has("session_id")) && typeof internalBody.prompt_cache_key === "string") { + headers.set("session_id", uuidFromHex(internalBody.prompt_cache_key)); } } let internalReq: Request; @@ -1124,19 +929,14 @@ async function handleClaudeMessagesWithBudget( // would fire, disagreeing with the pre-flight decision above. inboundWire: "anthropic", stripClaudeMainAuthForNoncanonicalForward: true, + ...(trustedClaudeMainAuth ? { trustedClaudeMainAuth } : {}), + // Claude's internal stored-main enrichment is not an original caller credential. + nativeCallerAuth: null, + callerDirectAuth: null, translatorBudget, - // Forward the sanitized immutable source envelope (charged to the same budget) - // so core can perform fidelity-preserving work. The envelope is the - // pre-translation clone (body + anthropic-beta/version headers only). - ...(sourceEnvelope ? { claudeSourceEnvelope: sourceEnvelope } : {}), - // Adapter-aware final-route gate: idempotent strip / session_id synthesis / - // usage estimate / compatibility enforce. Core should invoke this after - // each routeModel+resolveWireProtocolOverride (see note above). - onResolvedRoute: claudeOnResolvedRoute, ...(logIds ? { onFirstOutput: () => recordFirstOutput(logCtx, logIds.start) } : {}), onNativePassthroughTerminal: status => finalizeNativeLog(httpStatusForRequestLogTerminal(status, logCtx), { terminalStatus: status, closeReason: "terminal" }), onNativePassthroughCancel: () => finalizeNativeLog(499, { closeReason: "client_cancel" }), - ...(benchmark?.onRawUsage ? { claudeBenchmarkObserver: benchmark.onRawUsage } : {}), }); const response = logIds ? responseWithDeferredRequestLog(upstream, logIds.requestId, logIds.start, logCtx) : upstream; @@ -1175,10 +975,7 @@ async function handleClaudeMessagesWithBudget( && message === CODEX_MAIN_PROFILE_MAINTENANCE_MESSAGE; const transient = !nativeMainFence && isTransientUpstreamStatus(response.status); const outStatus = nativeMainFence ? 503 : transient ? 529 : response.status; - const errorType = isLocalPolicyRoutingError(response.status, message, logCtx) - ? "invalid_request_error" - : undefined; - const out = new Response(JSON.stringify(anthropicErrorBody(outStatus, message, errorType)), { + const out = new Response(JSON.stringify(anthropicErrorBody(outStatus, message)), { status: outStatus, headers: { "Content-Type": "application/json", @@ -1361,9 +1158,6 @@ export async function handleClaudeCountTokens( } catch (err) { if (err instanceof DesktopModelMappingUnavailableError) return desktopMappingUnavailableResponse(err); if (err instanceof AnthropicRequestError) return anthropicErrorResponse(400, err.message); - if (isTranslatorBudgetExceededError(err)) { - return anthropicErrorResponse(413, "request translation buffer exceeded the safe limit", "request_too_large", "translation_buffer_limit"); - } return anthropicErrorResponse(500, err instanceof Error ? err.message : String(err)); } finally { translatorBudget.dispose(); } if (!body || typeof body !== "object" || Array.isArray(body)) { @@ -1374,75 +1168,40 @@ export async function handleClaudeCountTokens( return anthropicErrorResponse(400, "model is required"); } try { - let model = raw.model; - // Case-insensitive [1m] strip (audit 021 #7 — the CLI matches /\[1m\]/i). - const stripped = stripOneMillionMarker(model); - if (stripped !== model) { - model = stripped; - raw.model = model; - } - // ocx-route override (devlog 072 + TRUST-01..05): keep count_tokens consistent with messages. - let directives; - try { - directives = verifyAndExtractDirectives( - raw, - getOrCreateDirectiveSigningKey(), - (route, effort) => isAllowedLegacyDirective(route, effort, config), - ); - } catch (err) { - if (err instanceof AnthropicRequestError) { - return anthropicErrorResponse(400, err.message, "invalid_request_error"); + let model = raw.model; + // Case-insensitive [1m] strip (audit 021 #7 — the CLI matches /\[1m\]/i). + const stripped = stripOneMillionMarker(model); + if (stripped !== model) { + model = stripped; + raw.model = model; } - throw err; - } - if (directives.route) { - model = stripOneMillionMarker(directives.route); - raw.model = model; - } - model = decodeFablePickerAlias(model, config.claudeCode); - raw.model = model; - // Fast-only count requests carry a synthetic selector but never parsed an effort row. - // Normalize the identity before native passthrough or estimation; no tier is sent here. - const countFastRow = parseFastOnlyRowId( - config, () => decodeClaudeFastSelector(model, config.claudeCode), - ); - if (countFastRow) { - model = countFastRow.baseId; + // ocx-route override (devlog 072): keep count_tokens consistent with messages. + const countRoute = extractOcxRouteDirective(raw); + if (countRoute) { + model = stripOneMillionMarker(countRoute); + raw.model = model; + } + model = decodeFablePickerAlias(model, config.claudeCode); raw.model = model; - } - const policySelector = resolveClaudePolicySelector(config, model); - let resolvedPolicy = false; - if (policySelector.isPolicy) { - try { - const route = routeModel(config, policySelector.decodedModel, evidenceFromBody(raw)); - model = route.modelId; + // Fast-only: count_tokens never parsed an effort row, so it must not start. It returns a + // token estimate and sends no tier, so only the IDENTITY is corrected - without this the + // synthetic id reaches native passthrough as a model Anthropic has never heard of. + const countFastRow = parseFastOnlyRowId( + config, () => decodeClaudeFastSelector(model, config.claudeCode), + ); + if (countFastRow) { + model = countFastRow.baseId; raw.model = model; - resolvedPolicy = true; - } catch (err) { - if (err instanceof UnknownRoutingPolicyError || err instanceof NoEligiblePolicyCandidateError) { - return anthropicErrorResponse(404, err.message, "invalid_request_error"); - } - throw err; } - } - const ctHeaderSessionId = claudeSessionIdFromRequest(req, raw); - const ctAgentIds = claudeAgentIdsFromRequest(req); - const ctAnthropicBeta = req.headers.get("anthropic-beta") ?? undefined; - const ctFeatureCodes = collectClaudeFeatureCodes(raw, ctAnthropicBeta); - captureClaudeInbound("count_tokens", raw, resolveInboundModel(model, config.claudeCode), ctAnthropicBeta, { - ...(ctHeaderSessionId ? { sessionId: ctHeaderSessionId } : {}), - ...(ctAgentIds.agentId ? { agentId: ctAgentIds.agentId } : {}), - ...(ctAgentIds.parentAgentId ? { parentAgentId: ctAgentIds.parentAgentId } : {}), - ...(ctFeatureCodes.length > 0 ? { featureCodes: ctFeatureCodes } : {}), - }); - if (!resolvedPolicy && wantsNativePassthrough(req, config, requestPolicy, model)) { - return await anthropicNativePassthrough(req, config, { model, provider: "anthropic-native", surface: "claude" }, undefined, raw, "/v1/messages/count_tokens"); - } - const inputTokens = estimateClaudeRequestTokens(raw, model); - return new Response(JSON.stringify({ input_tokens: inputTokens }), { - status: 200, - headers: { "Content-Type": "application/json" }, - }); + captureClaudeInbound("count_tokens", raw, resolveInboundModel(model, config.claudeCode), req.headers.get("anthropic-beta") ?? undefined); + if (wantsNativePassthrough(req, config, requestPolicy, model)) { + return await anthropicNativePassthrough(req, config, { model, provider: "anthropic-native", surface: "claude" }, undefined, raw, "/v1/messages/count_tokens"); + } + const inputTokens = estimateClaudeRequestTokens(raw, model); + return new Response(JSON.stringify({ input_tokens: inputTokens }), { + status: 200, + headers: { "Content-Type": "application/json" }, + }); } catch (error) { if (error instanceof DesktopModelMappingUnavailableError) return desktopMappingUnavailableResponse(error); if (error instanceof AnthropicRequestError) return anthropicErrorResponse(400, error.message); diff --git a/src/server/images.ts b/src/server/images.ts index ade4c8348e7..02e56fcacf0 100644 --- a/src/server/images.ts +++ b/src/server/images.ts @@ -288,6 +288,7 @@ async function tryCcaImageGeneration( try { upstream = await fetch(`${baseUrl}/v1internal:generateContent`, { method: "POST", + redirect: "manual", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${token}`, diff --git a/src/server/live.ts b/src/server/live.ts index 91caec1f66d..6d983ce0aa7 100644 --- a/src/server/live.ts +++ b/src/server/live.ts @@ -86,39 +86,29 @@ export const LIVE_CLIENT_PROTOCOL_HEADERS = [ * * When `OCX_LIVE_FRAME_LOG` is set to a file path, every relayed sideband frame appends one * JSONL record: direction, frame kind, byte length, and whether the payload contains U+FFFD. - * Privacy: full frame payloads are never written — only when U+FFFD is present, a short - * excerpt around the first replacement character is included so the corruption point can be - * attributed (upstream vs relay vs client). Disabled entirely when the env var is unset. + * Privacy: no frame content is written, including excerpts around replacement characters. + * For binary frames, U+FFFD may also be introduced by UTF-8 decoding; the flag alone does not + * identify the source of corruption. Disabled entirely when the env var is unset. */ export const LIVE_FRAME_LOG_ENV = "OCX_LIVE_FRAME_LOG"; -const LIVE_FRAME_LOG_CONTEXT_CHARS = 24; - -function fffdContext(text: string): string | undefined { - const idx = text.indexOf("\uFFFD"); - if (idx < 0) return undefined; - const start = Math.max(0, idx - LIVE_FRAME_LOG_CONTEXT_CHARS); - const end = Math.min(text.length, idx + LIVE_FRAME_LOG_CONTEXT_CHARS); - return text.slice(start, end); -} - export function logLiveSidebandFrame(dir: "c2u" | "u2c", data: unknown): void { const logPath = process.env[LIVE_FRAME_LOG_ENV]; if (!logPath) return; try { let kind: "text" | "binary" = "binary"; let bytes = 0; - let context: string | undefined; + let fffd = false; if (typeof data === "string") { kind = "text"; bytes = Buffer.byteLength(data); - context = fffdContext(data); + fffd = data.includes("\uFFFD"); } else if (data instanceof ArrayBuffer) { bytes = data.byteLength; - context = fffdContext(new TextDecoder().decode(new Uint8Array(data))); + fffd = new TextDecoder().decode(new Uint8Array(data)).includes("\uFFFD"); } else if (ArrayBuffer.isView(data)) { const view = new Uint8Array(data.buffer, data.byteOffset, data.byteLength); bytes = data.byteLength; - context = fffdContext(new TextDecoder().decode(view)); + fffd = new TextDecoder().decode(view).includes("\uFFFD"); } else { return; } @@ -127,8 +117,7 @@ export function logLiveSidebandFrame(dir: "c2u" | "u2c", data: unknown): void { dir, kind, bytes, - fffd: context !== undefined, - ...(context !== undefined ? { context } : {}), + fffd, }; appendFileSync(logPath, `${JSON.stringify(record)}\n`); } catch { diff --git a/src/server/management-api.ts b/src/server/management-api.ts index 46369be3410..b3b9334b978 100644 --- a/src/server/management-api.ts +++ b/src/server/management-api.ts @@ -314,6 +314,20 @@ export async function handleManagementAPI( message: "This proxy is managed by a Task Scheduler wrapper that can respawn it, so the stop must be run by `ocx stop`, which verifies the respawn window. Nothing was changed.", }, 409, req, config); } + if (respawnRisk === "self-unload") { + // This proxy IS the launchd/systemd job, so stopping the manager below would + // terminate the handler before the shared teardown at the end of this route restores + // the native Codex keys — the dashboard Stop button left `openai_base_url`, + // `experimental_realtime_ws_base_url` and `model_catalog_json` pointed at a dead + // proxy (#4023). Refuse before touching anything, like the Windows branch above. + // `ocx stop` is safe because it runs outside this process and owns the teardown + // through its receipt, which is why the receipt-backed caller never reaches here. + return jsonResponse({ + success: false, + code: "self_unload_service", + message: "This proxy is running as the installed service, so stopping the manager from inside it would end this process before native Codex is restored. Run `ocx stop`, which stops the service from outside and completes the restore. Nothing was changed.", + }, 409, req, config); + } if (respawnRisk === "unknown") { // Do NOT send them to `ocx stop`: it maps the same unanswerable probe to a stop // failure, so that advice would be a loop. The scheduler query itself is what needs diff --git a/src/server/management/account-selection-stream.ts b/src/server/management/account-selection-stream.ts index e04e8a3e141..b51e5653ceb 100644 --- a/src/server/management/account-selection-stream.ts +++ b/src/server/management/account-selection-stream.ts @@ -3,6 +3,7 @@ import { registerOptionalShutdownHook } from "../../lib/optional-shutdown-hooks" const MAX_SELECTION_STREAMS = 64; const HEARTBEAT_MS = 15_000; +const STREAM_QUEUE_HIGH_WATER_MARK = 16; const encoder = new TextEncoder(); const connections = new Set<() => void>(); @@ -36,9 +37,17 @@ export function accountSelectionStream(request: Request, validate: () => boolean const send = (frame: string) => { if (closed) return; if (!authorized()) { - // Error clears queued frames as well, so a revoked consumer cannot drain them. - try { controller.error(new DOMException("Management session is no longer authorized", "NotAllowedError")); } - finally { close(); } + // A revoked consumer must not drain frames queued before revocation: error() is + // what discards a non-empty queue. When nothing is queued — the common expired-session + // path, including the heartbeat — close() alone terminates quietly, so an expired + // dashboard session does not dump an expected DOMException into the server console. + // desiredSize equals the high water mark exactly when the queue is empty. + if (controller.desiredSize !== null && controller.desiredSize < STREAM_QUEUE_HIGH_WATER_MARK) { + try { controller.error(new DOMException("Management session is no longer authorized", "NotAllowedError")); } + finally { close(); } + } else { + close(); + } return; } // Reconnection sends a ready event, so a slow reader can reconcile without an @@ -61,7 +70,7 @@ export function accountSelectionStream(request: Request, validate: () => boolean heartbeat.unref?.(); }, cancel() { cleanup(); }, - }, { highWaterMark: 16 }); + }, { highWaterMark: STREAM_QUEUE_HIGH_WATER_MARK }); return new Response(body, { headers: { "Content-Type": "text/event-stream; charset=utf-8", "Cache-Control": "no-cache, no-transform", diff --git a/src/server/management/agent-settings-routes.ts b/src/server/management/agent-settings-routes.ts index 098365b8aeb..6f2998204d1 100644 --- a/src/server/management/agent-settings-routes.ts +++ b/src/server/management/agent-settings-routes.ts @@ -38,6 +38,7 @@ import { clearThreadAccountMap } from "../../codex/routing"; import { primeCodexPoolQuotas } from "../../codex/auth-api"; import { DEFAULT_PROVIDER_CONTEXT_CAP, globalContextCapValue, providerContextCap, providerContextCaps, setAllProviderContextCaps, setGlobalContextCapValue, setProviderContextCap } from "../../providers/context-cap"; import { resolveCodexHomeDir } from "../../codex/home"; +import { MULTI_AGENT_MODE_HINT_RECOMMENDATION } from "../../codex/multi-agent-mode-policy"; import { readUsageEntries } from "../../usage/log"; import { getUsageDebugLogEntries } from "../../usage/debug"; import { parseRange, parseUsageSurface, summarizeUsage } from "../../usage/summary"; @@ -373,6 +374,7 @@ export async function handleAgentSettingsRoutes(ctx: ManagementContext): Promise agentsMaxDepth: getAgentsMaxDepth(), subagentDeveloperInstructions: getSubagentDeveloperInstructions(), multiAgentModeHintText: getMultiAgentModeHintText(), + multiAgentModeHintRecommendation: MULTI_AGENT_MODE_HINT_RECOMMENDATION, // max_depth is V1-only upstream; this is the global-flag statement, derived // server-side so no client can present it as an effective V2 limit. agentsMaxDepthAppliesWhenV2Disabled: !enabled, @@ -728,6 +730,7 @@ export async function handleAgentSettingsRoutes(ctx: ManagementContext): Promise agentsMaxDepth: getAgentsMaxDepth(), subagentDeveloperInstructions: getSubagentDeveloperInstructions(), multiAgentModeHintText: getMultiAgentModeHintText(), + multiAgentModeHintRecommendation: MULTI_AGENT_MODE_HINT_RECOMMENDATION, agentsMaxDepthAppliesWhenV2Disabled: !enabled, v2NativeParentOverride: v2NativeParentOverrideDto(config, enabled), v2RoutedDelegationBridge: config.v2RoutedDelegationBridge === true, diff --git a/src/server/management/config-routes.ts b/src/server/management/config-routes.ts index 21fbf9cc430..527178ba0fe 100644 --- a/src/server/management/config-routes.ts +++ b/src/server/management/config-routes.ts @@ -13,9 +13,8 @@ import { multiAgentGuidanceEnabled, providerBaseUrlConfigError, providerHeadersConfigError, - validateConfigCandidate, + saveConfigPreservingClaudeCode, } from "../../config"; -import { canonicalServerOrigin, serverTlsConfigError } from "../../lib/server-tls"; import { clearLoginState, getLoginStatus, @@ -105,7 +104,7 @@ import { drainAndShutdown } from "../lifecycle"; import { filterRequestLogs, getRequestLogEntries, type RequestLogEntry } from "../request-log"; import { estimateComboCost, estimateRequestCost, normalizeCostTokens, tokensPerSecond } from "../../usage/cost"; import type { PersistedUsageAttempt } from "../../usage/log"; -import { assertServerAuthConfig, configuredApiAuthToken, isAllowedRequestOrigin, jsonResponse, providerManagementConfigError, publicProviderBaseUrl, safeConfigDTO } from "../auth-cors"; +import { isAllowedRequestOrigin, jsonResponse, providerManagementConfigError, publicProviderBaseUrl, safeConfigDTO } from "../auth-cors"; import { withProviderServiceTierDTO } from "./provider-capability-config"; import { applySystemEnvToggle } from "../system-env"; import { getCachedStartupHealth, invalidateStartupHealthCache } from "../startup-health-cache"; @@ -115,7 +114,7 @@ import { displayCodexRuntimePath, effortClampAppliesToRuntime, loadLastEffortCla import { isPlainRecord, parseDebugLogQuery, tokPerSecondResult, unavailableCostReason, costResult, requestLogDto, stripRegistryOnlyStaticHeaders, fetchAllModels } from "./shared"; import type { MetricUnavailableReason, TokPerSecondResult, CostEstimateReason, CostResult, MetricSource } from "./shared"; -import { mutateManagementConfig, saveManagementConfig, type ManagementContext } from "./context"; +import type { ManagementContext } from "./context"; import { readManagementJsonBody, rethrowManagementBodyTooLarge } from "./body"; function quotaAutoRefreshSettings(config: OcxConfig) { @@ -152,40 +151,6 @@ async function sidecarVisionResponseSettings(config: OcxConfig): Promise<{ return { model, reasoning, models }; } -function aiStudioExtensionOrigin(config: Pick<OcxConfig, "corsAllowOrigins">): string | null { - return config.corsAllowOrigins?.find(origin => origin.startsWith("chrome-extension://")) ?? null; -} - -function serverSettings( - config: OcxConfig, - activeOrigin?: string, - activeConfig?: Pick<OcxConfig, "hostname" | "port" | "tls">, -) { - const active = activeOrigin ?? canonicalServerOrigin(config, config.port); - const configuredOrigin = canonicalServerOrigin(config, config.port); - const configuredListener = { - hostname: config.hostname ?? "127.0.0.1", - port: config.port, - tls: config.tls ?? null, - }; - const activeListener = activeConfig && { - hostname: activeConfig.hostname ?? "127.0.0.1", - port: activeConfig.port, - tls: activeConfig.tls ?? null, - }; - return { - configured: { - ...configuredListener, - aiStudioOrigin: aiStudioExtensionOrigin(config), - }, - activeOrigin: active, - credentialConfigured: !!configuredApiAuthToken(config) - || (config.apiKeys ?? []).some(entry => !!entry.key.trim()), - restartRequired: active !== configuredOrigin - || !!activeListener && JSON.stringify(activeListener) !== JSON.stringify(configuredListener), - }; -} - /** One client's outcome from a fan-out sync. Absent from the list means "left alone". */ interface ClientIntegrationSyncOutcome { readonly client: "grok" | "claude-desktop" | IntegrationClientId; @@ -362,8 +327,10 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon // Absent means the historical auto-open, so the GUI can render the toggle // without having to know that `undefined` and `true` mean the same thing. oauthOpenBrowser: config.oauthOpenBrowser !== false, - server: serverSettings(config, deps.activeServerOrigin, deps.activeServerConfig), + // Absent means off (today's Design B injection), so the GUI/CLI render a plain switch. codexDesktopAuthless: config.codexDesktopAuthless === true, + // Absent keeps Design B remote compaction; true selects the dedicated provider identity. + codexClientCompaction: config.codexClientCompaction === true, startupHealth: await readStartupHealth(config), codexRuntime: { path: displayCodexRuntimePath(resolved.runtime.command), @@ -451,10 +418,10 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon codexQuotaAutoRefresh?: unknown; oauthOpenBrowser?: unknown; showCodexSparkQuota?: unknown; - server?: unknown; ultraFastTier?: unknown; codexMainAccountHardLock?: unknown; codexDesktopAuthless?: unknown; + codexClientCompaction?: unknown; }; if (body.codexAutoStart === undefined && body.streamMode === undefined @@ -463,11 +430,11 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon && body.codexQuotaAutoRefresh === undefined && body.oauthOpenBrowser === undefined && body.showCodexSparkQuota === undefined - && body.server === undefined && body.ultraFastTier === undefined && body.codexMainAccountHardLock === undefined - && body.codexDesktopAuthless === undefined) { - return jsonResponse({ error: "provide a supported settings field" }, 400); + && body.codexDesktopAuthless === undefined + && body.codexClientCompaction === undefined) { + return jsonResponse({ error: "provide codexAutoStart, streamMode, appOwnedMemoryBudgetMb, codexAccountPickerEnabled, codexQuotaAutoRefresh, oauthOpenBrowser, showCodexSparkQuota, ultraFastTier, codexMainAccountHardLock, codexDesktopAuthless, or codexClientCompaction" }, 400); } if (body.codexAutoStart !== undefined && typeof body.codexAutoStart !== "boolean") { return jsonResponse({ error: "codexAutoStart boolean is required" }, 400); @@ -494,29 +461,8 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon if (body.codexDesktopAuthless !== undefined && typeof body.codexDesktopAuthless !== "boolean") { return jsonResponse({ error: "codexDesktopAuthless boolean is required" }, 400); } - let nextServer: { - hostname: string; - port: number; - tls: OcxConfig["tls"]; - aiStudioOrigin: string | null; - } | undefined; - if (body.server !== undefined) { - if (!isPlainRecord(body.server)) return jsonResponse({ error: "server must be an object" }, 400); - const raw = body.server; - if (typeof raw.hostname !== "string" || !raw.hostname.trim()) return jsonResponse({ error: "server.hostname must be a non-empty string" }, 400); - if (typeof raw.port !== "number" || !Number.isInteger(raw.port) || raw.port < 0 || raw.port > 65535) return jsonResponse({ error: "server.port must be an integer from 0 to 65535" }, 400); - const tlsError = raw.tls === null ? null : serverTlsConfigError(raw.tls); - if (tlsError) return jsonResponse({ error: tlsError }, 400); - if (raw.aiStudioOrigin !== null && ( - typeof raw.aiStudioOrigin !== "string" - || !/^chrome-extension:\/\/[a-z]{32}$/.test(raw.aiStudioOrigin) - )) return jsonResponse({ error: "server.aiStudioOrigin must be an exact chrome-extension origin or null" }, 400); - nextServer = { - hostname: raw.hostname.trim(), - port: raw.port, - tls: raw.tls === null ? undefined : raw.tls as OcxConfig["tls"], - aiStudioOrigin: raw.aiStudioOrigin, - }; + if (body.codexClientCompaction !== undefined && typeof body.codexClientCompaction !== "boolean") { + return jsonResponse({ error: "codexClientCompaction boolean is required" }, 400); } let quotaAutoRefreshChange: { id: string; window: "fiveHour" | "weekly"; enabled: boolean } | undefined; if (body.codexQuotaAutoRefresh !== undefined) { @@ -564,94 +510,68 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon hasOauthOpenBrowser: Object.hasOwn(config, "oauthOpenBrowser"), showCodexSparkQuota: config.showCodexSparkQuota, hasShowCodexSparkQuota: Object.hasOwn(config, "showCodexSparkQuota"), - hostname: config.hostname, - hasHostname: Object.hasOwn(config, "hostname"), - port: config.port, - tls: config.tls, - hasTls: Object.hasOwn(config, "tls"), - corsAllowOrigins: config.corsAllowOrigins, - hasCorsAllowOrigins: Object.hasOwn(config, "corsAllowOrigins"), ultraFastTier: config.ultraFastTier, hasUltraFastTier: Object.hasOwn(config, "ultraFastTier"), codexMainAccountHardLock: config.codexMainAccountHardLock, hasCodexMainAccountHardLock: Object.hasOwn(config, "codexMainAccountHardLock"), codexDesktopAuthless: config.codexDesktopAuthless, hasCodexDesktopAuthless: Object.hasOwn(config, "codexDesktopAuthless"), + codexClientCompaction: config.codexClientCompaction, + hasCodexClientCompaction: Object.hasOwn(config, "codexClientCompaction"), }; const pickerWasEnabled = codexAccountPickerEnabled(config); + let pickerIsEnabled = pickerWasEnabled; const authlessWasEnabled = config.codexDesktopAuthless === true; - const applySettings = (target: OcxConfig): boolean => { + const clientCompactionWasEnabled = config.codexClientCompaction === true; + try { if (typeof body.codexAutoStart === "boolean") { - target.codexAutoStart = body.codexAutoStart; + config.codexAutoStart = body.codexAutoStart; } if (body.streamMode !== undefined) { if (body.streamMode === "auto") { - deleteConfigTopLevelKey(target, "streamMode"); + deleteConfigTopLevelKey(config, "streamMode"); } else { - target.streamMode = body.streamMode as "legacy-tee" | "eager-relay"; + config.streamMode = body.streamMode as "legacy-tee" | "eager-relay"; } } if (typeof body.appOwnedMemoryBudgetMb === "number") { - target.appOwnedMemoryBudgetMb = body.appOwnedMemoryBudgetMb; + config.appOwnedMemoryBudgetMb = body.appOwnedMemoryBudgetMb; } if (body.codexAccountPickerEnabled === true) { - target.codexAccountPickerEnabled = true; - initializeDefaultCodexAccountNamespaces(target); + config.codexAccountPickerEnabled = true; + initializeDefaultCodexAccountNamespaces(config); } else if (body.codexAccountPickerEnabled === false) { - target.codexAccountPickerEnabled = false; + config.codexAccountPickerEnabled = false; } if (typeof body.oauthOpenBrowser === "boolean") { - target.oauthOpenBrowser = body.oauthOpenBrowser; + config.oauthOpenBrowser = body.oauthOpenBrowser; } if (typeof body.showCodexSparkQuota === "boolean") { - target.showCodexSparkQuota = body.showCodexSparkQuota; + config.showCodexSparkQuota = body.showCodexSparkQuota; } - // Off deletes opt-in keys rather than persisting false, preserving the documented - // absent-is-default representation used by the rest of the settings surface. - if (body.ultraFastTier === true) target.ultraFastTier = true; - else if (body.ultraFastTier === false) deleteConfigTopLevelKey(target, "ultraFastTier"); - if (body.codexMainAccountHardLock === true) target.codexMainAccountHardLock = true; - else if (body.codexMainAccountHardLock === false) deleteConfigTopLevelKey(target, "codexMainAccountHardLock"); - if (body.codexDesktopAuthless === true) target.codexDesktopAuthless = true; - else if (body.codexDesktopAuthless === false) deleteConfigTopLevelKey(target, "codexDesktopAuthless"); + // Off deletes the key rather than persisting `false`: absent is the documented + // default, and a written `false` would survive as a decision nobody made. + if (body.ultraFastTier === true) config.ultraFastTier = true; + else if (body.ultraFastTier === false) deleteConfigTopLevelKey(config, "ultraFastTier"); + if (body.codexMainAccountHardLock === true) config.codexMainAccountHardLock = true; + else if (body.codexMainAccountHardLock === false) deleteConfigTopLevelKey(config, "codexMainAccountHardLock"); + if (body.codexDesktopAuthless === true) config.codexDesktopAuthless = true; + else if (body.codexDesktopAuthless === false) deleteConfigTopLevelKey(config, "codexDesktopAuthless"); + if (body.codexClientCompaction === true) config.codexClientCompaction = true; + else if (body.codexClientCompaction === false) deleteConfigTopLevelKey(config, "codexClientCompaction"); if (quotaAutoRefreshChange) { const { id, window, enabled } = quotaAutoRefreshChange; - const setting = { ...(target.codexQuotaAutoRefresh?.[id] ?? {}) }; + const setting = { ...(config.codexQuotaAutoRefresh?.[id] ?? {}) }; if (enabled) setting[window] = true; else delete setting[window]; - const all = { ...(target.codexQuotaAutoRefresh ?? {}) }; + const all = { ...(config.codexQuotaAutoRefresh ?? {}) }; if (Object.keys(setting).length > 0) all[id] = setting; else delete all[id]; - if (Object.keys(all).length > 0) target.codexQuotaAutoRefresh = all; - else deleteConfigTopLevelKey(target, "codexQuotaAutoRefresh"); + if (Object.keys(all).length > 0) config.codexQuotaAutoRefresh = all; + else deleteConfigTopLevelKey(config, "codexQuotaAutoRefresh"); } - if (nextServer) { - target.hostname = nextServer.hostname; - target.port = nextServer.port; - if (nextServer.tls) target.tls = nextServer.tls; - else deleteConfigTopLevelKey(target, "tls"); - const origins = (target.corsAllowOrigins ?? []).filter(origin => !origin.startsWith("chrome-extension://")); - if (nextServer.aiStudioOrigin) origins.push(nextServer.aiStudioOrigin); - if (origins.length) target.corsAllowOrigins = origins; - else deleteConfigTopLevelKey(target, "corsAllowOrigins"); - } - return codexAccountPickerEnabled(target); - }; - if (nextServer) { - const candidate = structuredClone(config); - applySettings(candidate); - const validation = validateConfigCandidate(candidate); - if (!validation.ok) return jsonResponse({ error: validation.error }, 400); - try { - assertServerAuthConfig(candidate); - } catch (error) { - return jsonResponse({ error: error instanceof Error ? error.message : String(error) }, 400); - } - } - let pickerIsEnabled = pickerWasEnabled; - try { - pickerIsEnabled = applySettings(config); - saveManagementConfig(deps, config); + pickerIsEnabled = codexAccountPickerEnabled(config); + (deps.saveConfigPreservingClaudeCode ?? saveConfigPreservingClaudeCode)(config); } catch (error) { if (previousSettings.hasCodexAutoStart) config.codexAutoStart = previousSettings.codexAutoStart; else deleteConfigTopLevelKey(config, "codexAutoStart"); @@ -675,13 +595,6 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon if (previousSettings.hasShowCodexSparkQuota) { config.showCodexSparkQuota = previousSettings.showCodexSparkQuota; } else deleteConfigTopLevelKey(config, "showCodexSparkQuota"); - if (previousSettings.hasHostname) config.hostname = previousSettings.hostname; - else deleteConfigTopLevelKey(config, "hostname"); - config.port = previousSettings.port; - if (previousSettings.hasTls) config.tls = previousSettings.tls; - else deleteConfigTopLevelKey(config, "tls"); - if (previousSettings.hasCorsAllowOrigins) config.corsAllowOrigins = previousSettings.corsAllowOrigins; - else deleteConfigTopLevelKey(config, "corsAllowOrigins"); if (previousSettings.hasUltraFastTier) { config.ultraFastTier = previousSettings.ultraFastTier; } else deleteConfigTopLevelKey(config, "ultraFastTier"); @@ -691,14 +604,22 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon if (previousSettings.hasCodexDesktopAuthless) { config.codexDesktopAuthless = previousSettings.codexDesktopAuthless; } else deleteConfigTopLevelKey(config, "codexDesktopAuthless"); + if (previousSettings.hasCodexClientCompaction) { + config.codexClientCompaction = previousSettings.codexClientCompaction; + } else deleteConfigTopLevelKey(config, "codexClientCompaction"); throw error; } if (typeof body.appOwnedMemoryBudgetMb === "number") { configureAppOwnedMemoryBudget(resolveAppOwnedMemoryBudgetBytes(body.appOwnedMemoryBudgetMb)); enforceAppOwnedMemoryBudget(); } + // Both Desktop compatibility switches change the injected config.toml shape, so converge now + // rather than waiting for the next start; the injector re-reads config and rewrites the form. const authlessIsEnabled = config.codexDesktopAuthless === true; - const catalogRefresh = pickerWasEnabled !== pickerIsEnabled || authlessWasEnabled !== authlessIsEnabled + const clientCompactionIsEnabled = config.codexClientCompaction === true; + const catalogRefresh = pickerWasEnabled !== pickerIsEnabled + || authlessWasEnabled !== authlessIsEnabled + || clientCompactionWasEnabled !== clientCompactionIsEnabled ? await convergeCodexCatalog() : undefined; const catalogRefreshPending = catalogRefresh @@ -717,10 +638,10 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon catalogRefreshPending, showCodexSparkQuota: config.showCodexSparkQuota === true, codexDesktopAuthless: authlessIsEnabled, + codexClientCompaction: clientCompactionIsEnabled, codexMainAccountHardLock: config.codexMainAccountHardLock === true, mainAccountHardLock: getMainAccountHardLockStatus(config), startupHealth: await readStartupHealth(config), - server: serverSettings(config, deps.activeServerOrigin, deps.activeServerConfig), }); } @@ -907,7 +828,6 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon : normalizeVisionReasoningForModel(model, sourceReasoning); } - const nextConfig = structuredClone(config); if (body.webSearch) { const pairTouched = body.webSearch.model !== undefined || body.webSearch.backend !== undefined; // Validate against the backend the caller SUBMITTED, across the whole @@ -933,7 +853,7 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon return jsonResponse(webSearchModelRejection("webSearch.model", effectiveBackend, effectiveModel, candidates), 400); } } - const webSearchCandidate = { ...nextConfig.webSearchSidecar }; + const webSearchCandidate = { ...config.webSearchSidecar }; if (typeof body.webSearch.model === "string") { if (body.webSearch.model === "") delete webSearchCandidate.model; else webSearchCandidate.model = body.webSearch.model; @@ -1003,63 +923,36 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon if (body.webSearch.streamRoutedModelOutput) webSearchCandidate.streamRoutedModelOutput = true; else delete webSearchCandidate.streamRoutedModelOutput; } - nextConfig.webSearchSidecar = webSearchCandidate; + config.webSearchSidecar = webSearchCandidate; } if (body.vision) { - nextConfig.visionSidecar = { ...nextConfig.visionSidecar }; + config.visionSidecar = { ...config.visionSidecar }; if (typeof body.vision.model === "string") { - if (body.vision.model === "") delete nextConfig.visionSidecar.model; - else nextConfig.visionSidecar.model = body.vision.model; + if (body.vision.model === "") delete config.visionSidecar.model; + else config.visionSidecar.model = body.vision.model; } - if (body.vision.backend === null) delete nextConfig.visionSidecar.backend; + if (body.vision.backend === null) delete config.visionSidecar.backend; else if (body.vision.backend === "openai" || body.vision.backend === "anthropic" || body.vision.backend === "routed") { - nextConfig.visionSidecar.backend = body.vision.backend; + config.visionSidecar.backend = body.vision.backend; } if (typeof body.vision.maxDescriptionsPerTurn === "number") { - nextConfig.visionSidecar.maxDescriptionsPerTurn = body.vision.maxDescriptionsPerTurn; + config.visionSidecar.maxDescriptionsPerTurn = body.vision.maxDescriptionsPerTurn; } if (typeof body.vision.enabled === "boolean") { // `true` is the default — drop the key so disable/re-enable does not rewrite the file. - if (body.vision.enabled) delete nextConfig.visionSidecar.enabled; - else nextConfig.visionSidecar.enabled = false; + if (body.vision.enabled) delete config.visionSidecar.enabled; + else config.visionSidecar.enabled = false; } if (typeof body.vision.timeoutMs === "number") { - nextConfig.visionSidecar.timeoutMs = body.vision.timeoutMs; + config.visionSidecar.timeoutMs = body.vision.timeoutMs; } if (visionReasoningTouched) { - if (normalizedVisionReasoning === undefined) delete nextConfig.visionSidecar.reasoning; - else nextConfig.visionSidecar.reasoning = normalizedVisionReasoning; + if (normalizedVisionReasoning === undefined) delete config.visionSidecar.reasoning; + else config.visionSidecar.reasoning = normalizedVisionReasoning; } } - let committedWebSearch: OcxConfig["webSearchSidecar"]; - let committedVision: OcxConfig["visionSidecar"]; - const persisted = mutateManagementConfig(deps, disk => { - if (body.webSearch) { - const latest = { ...disk.webSearchSidecar }; - for (const key of ["model", "backend", "reasoning", "streamRoutedModelOutput", "exaApiKey", "xSearch"] as const) { - if (!Object.hasOwn(body.webSearch, key)) continue; - if (Object.hasOwn(nextConfig.webSearchSidecar ?? {}, key)) latest[key] = nextConfig.webSearchSidecar![key] as never; - else delete latest[key]; - } - disk.webSearchSidecar = latest; - committedWebSearch = structuredClone(latest); - } - if (body.vision) { - const latest = { ...disk.visionSidecar }; - for (const key of ["model", "backend", "reasoning", "maxDescriptionsPerTurn", "enabled", "timeoutMs"] as const) { - if (!Object.hasOwn(body.vision, key) && !(key === "reasoning" && visionReasoningTouched)) continue; - if (Object.hasOwn(nextConfig.visionSidecar ?? {}, key)) latest[key] = nextConfig.visionSidecar![key] as never; - else delete latest[key]; - } - disk.visionSidecar = latest; - committedVision = structuredClone(latest); - } - return { changed: true, value: true }; - }); - if (persisted.status === "unavailable") return jsonResponse({ error: "management persistence unavailable" }, 500, req, config); - if (body.webSearch) config.webSearchSidecar = committedWebSearch; - if (body.vision) config.visionSidecar = committedVision; + saveConfigPreservingClaudeCode(config); const ws = config.webSearchSidecar ?? {}; const vision = await sidecarVisionResponseSettings(config); const savedWebSearchCandidates = await webSearchCandidateRows(config); @@ -1114,7 +1007,7 @@ export async function handleConfigRoutes(ctx: ManagementContext): Promise<Respon if (body.model === "") delete config.shadowCallIntercept.model; else config.shadowCallIntercept.model = body.model; } - saveManagementConfig(deps, config); + saveConfigPreservingClaudeCode(config); const sci = config.shadowCallIntercept; return jsonResponse({ ok: true, diff --git a/src/server/management/logs-usage-routes.ts b/src/server/management/logs-usage-routes.ts index c86c7f05625..104b5fb13c8 100644 --- a/src/server/management/logs-usage-routes.ts +++ b/src/server/management/logs-usage-routes.ts @@ -419,6 +419,7 @@ export async function handleLogsUsageRoutes(ctx: ManagementContext): Promise<Res bytes: result.bytes, ...(result.trashDir ? { trashDir: result.trashDir } : {}), removedPaths: result.removedPaths, + ...(result.skippedReferencedPaths?.length ? { skippedReferencedPaths: result.skippedReferencedPaths } : {}), }); } catch { return jsonResponse({ diff --git a/src/server/management/native-integration-routes.ts b/src/server/management/native-integration-routes.ts index 03693e80f33..f62cce990aa 100644 --- a/src/server/management/native-integration-routes.ts +++ b/src/server/management/native-integration-routes.ts @@ -367,13 +367,14 @@ async function handleCodexToggle(ctx: ManagementContext): Promise<Response> { } } const { restoreNativeCodexAsync } = await import("../../codex/inject"); + const { OCX_NATIVE_REPLAY_RECOVERY_NOTE } = await import("../../responses/compaction"); const restored = await restoreNativeCodexAsync({ revalidateDesiredState: true }); return jsonResponse({ ok: true, clientId: "codex", changed: durable && persisted.status === "committed", state: restored.success ? "absent" : "unsafe", desiredEnabled: enabled, message: restored.success - ? "Codex restored to its native path; the proxy is still serving other clients" + ? `Codex restored to its native path; the proxy is still serving other clients. ${OCX_NATIVE_REPLAY_RECOVERY_NOTE}` : `Codex intent saved, but restoring the native path did not complete: ${restored.message}`, ...(restored.success ? (durable ? {} : { reason: "not_durable" }) diff --git a/src/server/management/provider-routes.ts b/src/server/management/provider-routes.ts index 45ab012f8f6..0fce336631c 100644 --- a/src/server/management/provider-routes.ts +++ b/src/server/management/provider-routes.ts @@ -12,12 +12,14 @@ import { isValidProviderName, modelDisplayNamesConfigError, multiAgentGuidanceEnabled, + mutatePersistedConfig, nonBlankStringArrayConfigError, normalizeNonBlankStringArray, providerBaseUrlConfigError, providerHeadersConfigError, requestPacingConfigError, readConfigAdmissionSnapshot, + saveConfigPreservingClaudeCode, upstreamHttpVersionConfigError, validateConfigCandidate, withConfigMutationLockSync, @@ -31,17 +33,15 @@ import { submitManualLoginCode, upsertOAuthProvider, } from "../../oauth"; +import { captureConfigTopLevelRollback } from "../../config/rebase-provenance"; import { mergeModelPinnedEfforts, modelPinnedEffortsConfigError, pinnedReasoningEffortConfigError } from "../../config/provider-validation"; import { replaceProviderAccountSet } from "../../oauth/store"; import { providerDestinationResolvedError } from "../../lib/destination-policy"; -import { - antigravityOAuthDestinationConfigError, - isAntigravityOAuthProvider, -} from "../../lib/provider-tls-profile"; import { reconcileLiveStateStores } from "../../lib/state-store-registrations"; import { ProviderOutboundPolicyError, providerOutboundGet, providerOutboundPost, providerRedirectError } from "../../lib/provider-outbound"; import { fetchCursorUsableModels } from "../../adapters/cursor/live-models"; -import { DAILY_ANTIGRAVITY_HOST, PROD_ANTIGRAVITY_HOST } from "../../adapters/google-antigravity-hosts"; +import { fetchQoderModels } from "../../adapters/qoder/live-models"; +import { resolveQoderProfile } from "../../adapters/qoder/profiles"; import { parseAntigravityAvailableModels } from "../../providers/antigravity-models"; import { enrichProviderFromCatalog, listKeyLoginProviders } from "../../oauth/key-providers"; import { deriveProviderPresets, providerConfigSeed } from "../../providers/derive"; @@ -60,12 +60,11 @@ import { clearKeyCooldowns } from "../../providers/key-failover"; import { providerRequestPacingStatus } from "../../providers/request-pacing"; import { CODEX_FORWARD_BASE_URL, isCanonicalOpenAiForwardProvider } from "../../providers/openai-tiers"; import { codexAccountNamespaceProviderCollisionError } from "../../codex/account-namespace-match"; -import { comboPublicModelId } from "../../combos/types"; import { clearThreadAccountMap } from "../../codex/routing"; import { primeCodexPoolQuotas } from "../../codex/auth-api"; import { clearModelCache, getProviderDiscoveryStatus } from "../../codex/model-cache"; import { getCodexModelEntitlementStatus } from "../../codex/model-entitlements"; -import { DEFAULT_PROVIDER_CONTEXT_CAP, globalContextCapValue, providerContextCap, providerContextCaps, setAllProviderContextCaps, setGlobalContextCapValue, setProviderContextCap } from "../../providers/context-cap"; +import { DEFAULT_PROVIDER_CONTEXT_CAP, globalContextCapValue, providerContextCap, providerContextCaps, selectedProviderContextCaps, forgetProviderContextCap, setAllProviderContextCaps, setGlobalContextCapValue, setProviderContextCap } from "../../providers/context-cap"; import { modelAutoCompactTokenLimitsConfigError } from "../../providers/auto-compact-budget"; import { resolveCodexHomeDir } from "../../codex/home"; import { readUsageEntries } from "../../usage/log"; @@ -99,12 +98,7 @@ import { type ProviderEditorProviderDTO, } from "../auth-cors"; import { providerServiceTierConfigError } from "./provider-capability-config"; -import { - maxWsFrameBytesConfigError, - providerEmptyToolOutputConfigError, - wsUpstreamConfigError, -} from "../../config/provider-validation"; -import { getProviderTlsProfileStatus } from "../../lib/provider-tls-profile"; +import { providerEmptyToolOutputConfigError } from "../../config/provider-validation"; import { applySystemEnvToggle } from "../system-env"; import { LOCAL_PROVIDER_RELOAD_NAME_HEADER, @@ -118,14 +112,11 @@ import { xaiResponsesOptInState, } from "../../providers/xai-responses-opt-in"; import { dropProviderCustomModels } from "../../providers/provider-id-rewrite"; -import { apiKeyPoolEntryId } from "../../providers/api-keys"; import { isPlainRecord, parseDebugLogQuery, tokPerSecondResult, unavailableCostReason, costResult, requestLogDto, stripRegistryOnlyStaticHeaders, fetchAllModels } from "./shared"; import type { MetricUnavailableReason, TokPerSecondResult, CostEstimateReason, CostResult, MetricSource } from "./shared"; -import { mutateManagementConfig, saveManagementConfig, type ManagementContext } from "./context"; +import type { ManagementContext } from "./context"; import { readManagementJsonBody, rethrowManagementBodyTooLarge } from "./body"; -import { resolveAiStudioCredentials } from "../../oauth/aistudio-credentials"; -import { buildAiStudioHeaders, parseGoogleCookieJar } from "../../oauth/google-aistudio-auth"; type ProviderPatchApplication = | { error: string } @@ -137,111 +128,6 @@ type ProviderPatchApplication = headersTouched: boolean; }; -type ProviderMutationValue = - | { config: OcxConfig; fallbackDefault?: string; droppedCustomModels?: number } - | { error: string; code?: string; status?: number; combos?: string[]; routingProfiles?: string[] }; - -function reconcileSubmittedApiKey(provider: OcxProviderConfig): string | undefined { - if (!provider.apiKey || !provider.apiKeyPool) return; - const key = provider.apiKey.trim(); - if (!key || /[\r\n]/.test(key)) return; - if (provider.apiKeyPool.some(entry => entry.key === key)) { - provider.apiKey = key; - return; - } - const id = apiKeyPoolEntryId(key); - if (provider.apiKeyPool.some(entry => entry.id === id)) return "API-key pool ID collision"; - provider.apiKeyPool.push({ id, key, addedAt: Date.now() }); - provider.apiKey = key; -} - -function providerNamespaceCollisionError(config: OcxConfig, name: string): string | undefined { - const accountCollision = codexAccountNamespaceProviderCollisionError(config.codexAccountNamespaces, name); - if (accountCollision) return accountCollision; - const comboCollision = (name === "combo" && Object.keys(config.combos ?? {}).length > 0) - || Object.entries(config.combos ?? {}).some(([id, combo]) => { - const publicId = comboPublicModelId(id, combo); - return id === name || publicId === name || publicId.startsWith(`${name}/`); - }); - if (comboCollision) return "provider name must not collide with a configured combo namespace"; - const profileCollision = Object.values(config.routingProfiles ?? {}).some(profile => { - const alias = profile.alias?.trim(); - return alias === name || alias?.startsWith(`${name}/`); - }); - return profileCollision - ? "provider name must not collide with a configured routing profile namespace" - : undefined; -} - -function adoptCommittedConfig(target: OcxConfig, source: OcxConfig): void { - for (const key of Object.keys(target)) delete (target as unknown as Record<string, unknown>)[key]; - Object.assign(target, structuredClone(source)); -} - -function unavailableMutationResponse(reason: "missing" | "invalid" | "conflict", req: Request, config: OcxConfig): Response { - const message = reason === "conflict" ? "config changed while applying this update; retry" : `config is ${reason}`; - return jsonResponse({ error: message }, reason === "conflict" ? 409 : 500, req, config); -} - -const AI_STUDIO_REAUTH_ERROR = "Session expired or missing — re-authentication required"; -const AI_STUDIO_PROBE_TIMEOUT_MS = 8_000; -const AI_STUDIO_PROBE_MODEL = "gemini-2.5-flash"; -const AI_STUDIO_ORIGIN = "https://aistudio.google.com"; - -let aiStudioProbeFetchForTests: typeof fetch | undefined; - -export function setAiStudioProbeFetchForTests(fetchImpl?: typeof fetch): void { - aiStudioProbeFetchForTests = fetchImpl; -} - -function isAiStudioHtmlSignIn(text: string): boolean { - const lower = text.trim().toLowerCase(); - return lower.startsWith("<!doctype") || lower.startsWith("<html") || lower.includes("accounts.google.com/v3/signin"); -} - -async function probeAiStudioLiveSession( - name: string, - prov: OcxProviderConfig, -): Promise<{ ok: boolean; latencyMs: number; authState?: "connected"; message?: string; error?: string }> { - const base = (prov.baseUrl || "https://alkalimakersuite-pa.clients6.google.com").replace(/\/+$/, ""); - const url = base + "/v1internal:generateContent"; - const credentials = resolveAiStudioCredentials(prov, undefined, url); - if (credentials.kind !== "ready") return { ok: false, latencyMs: 0, error: AI_STUDIO_REAUTH_ERROR }; - const jar = parseGoogleCookieJar(credentials.cookieHeader); - const headers = await buildAiStudioHeaders(jar, AI_STUDIO_ORIGIN); - const body = JSON.stringify({ - model: AI_STUDIO_PROBE_MODEL, - contents: [{ role: "user", parts: [{ text: "ping" }] }], - generationConfig: { maxOutputTokens: 1 }, - }); - const controller = new AbortController(); - const timer = setTimeout(() => controller.abort(), AI_STUDIO_PROBE_TIMEOUT_MS); - const started = Date.now(); - try { - const outboundProvider = aiStudioProbeFetchForTests ? { ...prov, fetch: aiStudioProbeFetchForTests } : prov; - const response = await providerOutboundPost(name, outboundProvider, url, { headers, body, signal: controller.signal }); - const latencyMs = Date.now() - started; - const contentType = (response.headers.get("content-type") ?? "").toLowerCase(); - const text = await response.text().catch(() => ""); - if ((response.status >= 300 && response.status < 400) || response.status === 401 || response.status === 403) { - return { ok: false, latencyMs, error: AI_STUDIO_REAUTH_ERROR }; - } - if (contentType.includes("text/html") || isAiStudioHtmlSignIn(text)) { - return { ok: false, latencyMs, error: AI_STUDIO_REAUTH_ERROR }; - } - if (response.status !== 200) return { ok: false, latencyMs, error: "AI Studio connection probe failed" }; - try { JSON.parse(text); } catch { return { ok: false, latencyMs, error: "AI Studio connection probe failed" }; } - return { ok: true, latencyMs, authState: "connected", message: "AI Studio session verified" }; - } catch (error) { - if (error instanceof ProviderOutboundPolicyError && /\breturned 3\d\d redirect\b/.test(error.message)) { - return { ok: false, latencyMs: Date.now() - started, error: AI_STUDIO_REAUTH_ERROR }; - } - return { ok: false, latencyMs: Date.now() - started, error: "AI Studio connection probe failed" }; - } finally { - clearTimeout(timer); - } -} - const PROVIDER_ALIAS_OVERLAY_FIELDS = ["alias", "modelAliases", "defaultAliases"] as const; type ProviderAliasOverlayField = typeof PROVIDER_ALIAS_OVERLAY_FIELDS[number]; @@ -386,7 +272,7 @@ function providerEditorCandidate( candidate.providers = providers; for (const name of removedProviders) { dropProviderCustomModels(candidate, name); - setProviderContextCap(candidate, name, false); + forgetProviderContextCap(candidate, name); } const validated = validateConfigCandidate(candidate); if (!validated.ok) { @@ -412,6 +298,8 @@ function adoptProviderEditorCandidate(live: OcxConfig, persisted: OcxConfig): vo else live.customModels = structuredClone(persisted.customModels); if (persisted.providerContextCaps === undefined) delete live.providerContextCaps; else live.providerContextCaps = structuredClone(persisted.providerContextCaps); + if (persisted.providerContextCapValues === undefined) delete live.providerContextCapValues; + else live.providerContextCapValues = structuredClone(persisted.providerContextCapValues); if (persisted.disabledModels === undefined) delete live.disabledModels; else live.disabledModels = [...persisted.disabledModels]; if (persisted.modelDiscovery === undefined) delete live.modelDiscovery; @@ -506,24 +394,6 @@ function applyProviderPatchFields( return { error: "apiKeyTransport must be x-api-key, bearer, or empty to clear" }; } } - if (Object.hasOwn(rawBody, "azureCredential")) { - const value = rawBody.azureCredential; - if (value === null) { - delete next.azureCredential; - } else { - if (!isPlainRecord(value)) return { error: "azureCredential must be an object or null" }; - const credential = structuredClone(value) as Record<string, unknown>; - if (typeof credential.managedIdentityClientId === "string") { - credential.managedIdentityClientId = credential.managedIdentityClientId.trim(); - } - next.azureCredential = credential as OcxProviderConfig["azureCredential"]; - // Selecting Azure identity is an explicit credential replacement. A stale key or - // pool must not survive underneath the new keyless identity mode. - delete next.apiKey; - delete next.apiKeyPool; - } - touched = true; - } if (Object.hasOwn(rawBody, "note")) { if (typeof rawBody.note !== "string") return { error: "note must be a string" }; const note = rawBody.note.trim(); @@ -552,28 +422,6 @@ function applyProviderPatchFields( } touched = true; } - if (Object.hasOwn(rawBody, "wsUpstream")) { - const value = rawBody.wsUpstream; - if (value === null) { - delete next.wsUpstream; - } else { - const error = wsUpstreamConfigError(value); - if (error) return { error }; - next.wsUpstream = value as boolean; - } - touched = true; - } - if (Object.hasOwn(rawBody, "maxWsFrameBytes")) { - const value = rawBody.maxWsFrameBytes; - if (value === null) { - delete next.maxWsFrameBytes; - } else { - const error = maxWsFrameBytesConfigError(value); - if (error) return { error }; - next.maxWsFrameBytes = value as number; - } - touched = true; - } if (Object.hasOwn(rawBody, "xaiResponsesOptIn")) { if (name !== "xai") return { error: "xaiResponsesOptIn is valid only for provider xai" }; if (typeof rawBody.xaiResponsesOptIn !== "boolean") { @@ -603,17 +451,6 @@ function applyProviderPatchFields( } touched = true; } - if (Object.hasOwn(rawBody, "tlsProfile")) { - const value = rawBody.tlsProfile; - if (value === null || value === "") { - delete next.tlsProfile; - } else if (value === "antigravity-browser") { - next.tlsProfile = value; - } else { - return { error: "tlsProfile must be antigravity-browser or null" }; - } - touched = true; - } if (Object.hasOwn(rawBody, "upstreamHttpVersion")) { const value = rawBody.upstreamHttpVersion; if (value === null || value === "") { @@ -627,28 +464,6 @@ function applyProviderPatchFields( } touched = true; } - if (Object.hasOwn(rawBody, "wsUpstream")) { - const value = rawBody.wsUpstream; - if (value === null) { - delete next.wsUpstream; - } else { - const error = wsUpstreamConfigError(value); - if (error) return { error }; - next.wsUpstream = value as boolean; - } - touched = true; - } - if (Object.hasOwn(rawBody, "maxWsFrameBytes")) { - const value = rawBody.maxWsFrameBytes; - if (value === null) { - delete next.maxWsFrameBytes; - } else { - const error = maxWsFrameBytesConfigError(value); - if (error) return { error }; - next.maxWsFrameBytes = value as number; - } - touched = true; - } if (Object.hasOwn(rawBody, "upstreamWebsocket")) { if (typeof rawBody.upstreamWebsocket !== "boolean") return { error: "upstreamWebsocket must be a boolean" }; next.upstreamWebsocket = rawBody.upstreamWebsocket; @@ -904,7 +719,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp // Presence only (#959 review): header names and values never leave the process. hasHeaders: !!p.headers && Object.keys(p.headers).length > 0, allowPrivateNetwork: p.allowPrivateNetwork === true, - replayTransientFailures: p.replayTransientFailures === true, liveModels: p.liveModels !== false, requestPacing: p.requestPacing, models: p.models ?? [], @@ -913,8 +727,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp pinnedReasoningEffort: p.pinnedReasoningEffort, modelPinnedReasoningEfforts: p.modelPinnedReasoningEfforts, modelAutoCompactTokenLimits: p.modelAutoCompactTokenLimits, - wsUpstream: p.wsUpstream, - maxWsFrameBytes: p.maxWsFrameBytes, modelSupportsServiceTier: p.modelSupportsServiceTier, noStructuredOutputModels: p.noStructuredOutputModels, retainModels: p.retainModels, @@ -923,8 +735,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp upstreamWebsocket: p.upstreamWebsocket === true, authMode: p.authMode, apiKeyTransport: p.apiKeyTransport, - tlsProfile: p.tlsProfile, - tlsProfileStatus: p.tlsProfile === undefined ? "disabled" : getProviderTlsProfileStatus(name, p), disabled: p.disabled === true, codexAccountMode: providerCodexAccountMode(name, p), ...(name === "xai" ? { xaiResponsesOptInState: xaiResponsesOptInState(p) } : {}), @@ -1050,7 +860,7 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp if (resolvedError) return jsonResponse({ error: resolvedError, code: "invalid_provider_destination" }, 400); } - const outcome = mutateManagementConfig<ProviderEditorMutationValue>(deps, persisted => { + const outcome = mutatePersistedConfig<ProviderEditorMutationValue>(persisted => { if (!isDeepStrictEqual(providerEditorConfigDTO(persisted), baselineResult.value)) { return { changed: false, @@ -1078,7 +888,7 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp persisted.modelDiscovery = candidate.config.modelDiscovery; for (const name of candidate.removedProviders) { dropProviderCustomModels(persisted, name); - setProviderContextCap(persisted, name, false); + forgetProviderContextCap(persisted, name); } return { changed: true, @@ -1118,13 +928,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp try { body = await readManagementJsonBody(req); } catch (error) { rethrowManagementBodyTooLarge(error); return jsonResponse({ error: "invalid JSON body" }, 400); } const name = typeof body.name === "string" ? body.name.trim() : ""; if (!isPlainRecord(body.provider)) return jsonResponse({ error: "provider must be a plain object" }, 400); - const submittedProvider = body.provider as Record<string, unknown>; - const submittedCredential = isPlainRecord(submittedProvider.azureCredential) - ? submittedProvider.azureCredential as Record<string, unknown> - : undefined; - if (typeof submittedCredential?.managedIdentityClientId === "string") { - submittedCredential.managedIdentityClientId = submittedCredential.managedIdentityClientId.trim(); - } const existing = config.providers[name]; const aliasOwnershipError = providerAliasOverlayOwnershipError(body.provider, existing); if (aliasOwnershipError) return jsonResponse({ error: aliasOwnershipError }, 400); @@ -1145,9 +948,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp // reached disk and the next loadConfig() refused it. Canonicalize to absent, which is what // "clear" means everywhere else. if (prov && prov.upstreamHttpVersion === null) delete prov.upstreamHttpVersion; - if (prov && prov.wsUpstream === null) delete prov.wsUpstream; - if (prov && (prov as unknown as Record<string, unknown>).upstreamWebsocket === null) delete (prov as unknown as Record<string, unknown>).upstreamWebsocket; - if (prov && (prov as unknown as Record<string, unknown>).maxWsFrameBytes === null) delete prov.maxWsFrameBytes; if (!name || !prov?.adapter || !prov?.baseUrl) { return jsonResponse({ error: "name, provider.adapter and provider.baseUrl are required" }, 400); } @@ -1156,7 +956,7 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp if (!isValidProviderName(name)) { return jsonResponse({ error: "provider name must use letters, numbers, dot, underscore, or hyphen and cannot be a reserved object key" }, 400); } - const namespaceCollision = providerNamespaceCollisionError(config, name); + const namespaceCollision = codexAccountNamespaceProviderCollisionError(config.codexAccountNamespaces, name); if (namespaceCollision) { return jsonResponse({ error: namespaceCollision }, 409); } @@ -1185,18 +985,17 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp const submittedModelDisplayNames = Object.hasOwn(prov, "modelDisplayNames"); const submittedRequestPacing = Object.hasOwn(prov, "requestPacing"); const submittedUpstreamWebsocket = Object.hasOwn(prov, "upstreamWebsocket"); - const submittedWsUpstream = Object.hasOwn(prov, "wsUpstream"); - const submittedMaxWsFrameBytes = Object.hasOwn(prov, "maxWsFrameBytes"); // Same trap, one more field: DeepSeek carries a registry default of `true` for // annotateEmptyToolOutputs, so enrichment cannot distinguish "the client omitted it" // from "the registry supplied it" either. Without this sample, an unrelated edit that // omits the key resurrects the registry default over an operator's explicit `false`. const submittedAnnotateEmptyToolOutputs = Object.hasOwn(prov, "annotateEmptyToolOutputs"); enrichProviderFromCatalog(name, prov); + const { saveConfigPreservingClaudeCode: save } = await import("../../config"); // Overwriting an existing provider must not drop its multi-key pool: carry it over, then // let the (possibly new) apiKey join the pool as the active entry. const existingPool = config.providers[name]?.apiKeyPool; - if (existingPool && !prov.apiKeyPool && !prov.azureCredential) prov.apiKeyPool = existingPool; + if (existingPool && !prov.apiKeyPool) prov.apiKeyPool = existingPool; // The same rule applies to user-configured price overlays: the dashboard's // add/edit form does not send modelCosts, so an overwrite must not silently // erase hand-edited per-model prices from Logs/Usage estimates. @@ -1226,12 +1025,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp if (!submittedAnnotateEmptyToolOutputs && existing?.annotateEmptyToolOutputs !== undefined) { prov.annotateEmptyToolOutputs = existing.annotateEmptyToolOutputs; } - if (!submittedWsUpstream && existing?.wsUpstream !== undefined) { - prov.wsUpstream = existing.wsUpstream; - } - if (!submittedMaxWsFrameBytes && existing?.maxWsFrameBytes !== undefined) { - prov.maxWsFrameBytes = existing.maxWsFrameBytes; - } // The provider add/edit form may omit this transport option. Preserve the stored value // during a full overwrite; PATCH remains the explicit mutation path, and `!== undefined` // keeps an operator's explicit false from being treated as absent. @@ -1256,68 +1049,65 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp // completed during that wait remains authoritative instead of being overwritten by the // older ownership snapshot used to admit this POST. restorePersistedAliasOverlays(prov, config.providers[name]); - const submitted = stripRegistryOnlyStaticHeaders(name, prov); - if (typeof submitted.apiKey === "string" && submitted.apiKey.trim() === "") { - delete submitted.apiKey; - } - const outcome = mutateManagementConfig<ProviderMutationValue>(deps, fresh => { - const namespaceCollision = providerNamespaceCollisionError(fresh, name); - if (namespaceCollision) { - return { changed: false, value: { error: namespaceCollision, status: 409 } }; + // The add/edit form omits wire choices. Read after DNS so a concurrent switch + // remains authoritative, including the marker that protects it on the next boot. + if (name === "xai") { + const latest = config.providers[name]; + if (!Object.hasOwn(body.provider, "modelAdapters") && latest?.modelAdapters) { + prov.modelAdapters = { ...latest.modelAdapters }; } - const persisted = fresh.providers[name]; - const nextSubmitted = structuredClone(submitted); - // The editor omits dedicated alias and xAI wire-choice state. Re-read it under - // the persistence mutation so a concurrent switch remains authoritative. - restorePersistedAliasOverlays(nextSubmitted, persisted); - // Pins were applied to the pre-await snapshot for admission; re-apply them to - // the latest live row under the persistence mutation so a concurrent pin edit - // remains authoritative instead of being overwritten by the older snapshot. - const latestPinError = applyProviderPinFields(nextSubmitted, rawProvider, persisted); - if (latestPinError) return { changed: false, value: { error: latestPinError, status: 400 } }; - if (name === "xai") { - if (!Object.hasOwn(body.provider as object, "modelAdapters") && persisted?.modelAdapters) { - nextSubmitted.modelAdapters = { ...persisted.modelAdapters }; - } - if (persisted?.xaiResponsesDefaultVersion !== undefined) { - nextSubmitted.xaiResponsesDefaultVersion = persisted.xaiResponsesDefaultVersion; - } + if (latest?.xaiResponsesDefaultVersion !== undefined) { + prov.xaiResponsesDefaultVersion = latest.xaiResponsesDefaultVersion; } - initializeProviderModelSelection(name, nextSubmitted, persisted, fresh); - const committed = { - ...(persisted ? structuredClone(persisted) : {}), - ...nextSubmitted, - } as OcxProviderConfig; - // The credential-preserving spread must not resurrect explicit pin clears. - const committedPinError = applyProviderPinFields(committed, rawProvider, persisted); - if (committedPinError) return { changed: false, value: { error: committedPinError, status: 400 } }; - if (nextSubmitted.azureCredential) { - // Switching identity modes is an explicit credential replacement. The atomic merge - // preserves omitted secrets generally, but Azure identity cannot coexist with a stale - // key or key pool from the prior row. - delete committed.apiKey; - delete committed.apiKeyPool; + } + // Reapply pins to the latest live row after DNS/import awaits, then validate the + // complete draft before adopting any provider/default state. + const latest = config.providers[name]; + const latestPinError = applyProviderPinFields(prov, body.provider, latest); + if (latestPinError) return jsonResponse({ error: latestPinError }, 400); + const pinsOwned = Object.hasOwn(body.provider, "pinnedReasoningEffort") + || Object.hasOwn(body.provider, "modelPinnedReasoningEfforts") + || latest?.pinnedReasoningEffort !== undefined || latest?.modelPinnedReasoningEfforts !== undefined; + // New registration also edits discovery/disabled-model state; stage those + // side effects with the pin draft instead of mutating live state before validation. + const registrationDraft = pinsOwned && !latest ? { + ...config, + ...(config.modelDiscovery === undefined ? {} : { modelDiscovery: structuredClone(config.modelDiscovery) }), + } : undefined; + initializeProviderModelSelection(name, prov, latest, registrationDraft ?? config); + const candidate = stripRegistryOnlyStaticHeaders(name, prov); + if (pinsOwned) { + const draft = { ...(registrationDraft ?? config), providers: { ...config.providers, [name]: candidate }, + ...(body.setDefault === true ? { defaultProvider: name } : {}) }; + const validation = validateConfigCandidate(draft); + if (!validation.ok) return jsonResponse({ error: validation.error }, 400); + } + const previous = Object.getOwnPropertyDescriptor(config.providers, name); + const rollback = pinsOwned ? captureConfigTopLevelRollback(config, ["defaultProvider", "modelDiscovery", "disabledModels"]) : undefined; + try { + if (registrationDraft) { + for (const key of ["modelDiscovery", "disabledModels"] as const) { + if (Object.hasOwn(registrationDraft, key)) Object.defineProperty(config, key, { + value: registrationDraft[key], writable: true, enumerable: true, configurable: true, + }); + } } - const keyCollision = reconcileSubmittedApiKey(committed); - if (keyCollision) return { changed: false, value: { error: keyCollision, status: 409 } }; - fresh.providers[name] = committed; - if (body.setDefault === true) fresh.defaultProvider = name; - const pinsOwned = Object.hasOwn(rawProvider, "pinnedReasoningEffort") - || Object.hasOwn(rawProvider, "modelPinnedReasoningEfforts") - || committed.pinnedReasoningEffort !== undefined - || committed.modelPinnedReasoningEfforts !== undefined; - if (pinsOwned) { - const validation = validateConfigCandidate(structuredClone(fresh)); - if (!validation.ok) return { changed: false, value: { error: validation.error, status: 400 } }; + config.providers[name] = candidate; + if (body.setDefault === true) config.defaultProvider = name; + (deps.saveConfigPreservingClaudeCode ?? save)(config); + } catch (error) { + if (rollback) { + if (previous) Object.defineProperty(config.providers, name, previous); + else delete config.providers[name]; + rollback(); } - return { changed: true, value: { config: structuredClone(fresh) } }; - }); - if (outcome.status === "unavailable") return unavailableMutationResponse(outcome.reason, req, config); - if ("error" in outcome.value) { - return jsonResponse({ error: outcome.value.error }, outcome.value.status ?? 409, req, config); + throw error; } - adoptCommittedConfig(config, outcome.value.config); reconcileLiveStateStores(); + if (prov.apiKey && prov.apiKeyPool) { + const { addProviderApiKey } = await import("../../providers/api-keys"); + addProviderApiKey(config, name, prov.apiKey); + } const { clearModelCache } = await import("../../codex/model-cache"); clearModelCache(name); const catalogRefresh = await convergeCodexCatalog(); @@ -1338,9 +1128,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp const canonicalBudgetOnly = name === "openai" && keys.length === 1 && keys[0] === "modelAutoCompactTokenLimits"; - const canonicalEmptyToolOutputOnly = name === "openai" - && keys.length === 1 - && keys[0] === "annotateEmptyToolOutputs"; // codexAccountMode keeps its dedicated side-effect path (quota cache clear, thread map // clear, pool prime) and is mutually exclusive with every other patch field. @@ -1357,17 +1144,9 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp if (!provider || !isCanonicalOpenAiForwardProvider(provider)) { return jsonResponse({ error: "provider openai must be the canonical built-in provider" }, 400); } - const outcome = mutateManagementConfig<ProviderMutationValue>(deps, fresh => { - const persisted = fresh.providers.openai; - if (!persisted || !isCanonicalOpenAiForwardProvider(persisted)) { - return { changed: false, value: { error: "provider openai must be the canonical built-in provider", status: 409 } }; - } - fresh.providers.openai = { ...persisted, codexAccountMode: mode }; - return { changed: true, value: { config: structuredClone(fresh) } }; - }); - if (outcome.status === "unavailable") return unavailableMutationResponse(outcome.reason, req, config); - if ("error" in outcome.value) return jsonResponse({ error: outcome.value.error }, outcome.value.status ?? 409); - adoptCommittedConfig(config, outcome.value.config); + const { saveConfigPreservingClaudeCode: save } = await import("../../config"); + config.providers.openai = { ...provider, codexAccountMode: mode }; + save(config); reconcileLiveStateStores(); (deps.clearProviderQuotaCache ?? clearProviderQuotaCache)(); (deps.clearThreadAccountMap ?? clearThreadAccountMap)(); @@ -1392,19 +1171,9 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp if (config.providers[name]!.disabled) { return jsonResponse({ error: "cannot set a disabled provider as default", code: "default_provider_disabled" }, 400); } - const outcome = mutateManagementConfig<ProviderMutationValue>(deps, fresh => { - if (!hasOwnProvider(fresh.providers, name)) { - return { changed: false, value: { error: "unknown provider", status: 404 } }; - } - if (fresh.providers[name]!.disabled) { - return { changed: false, value: { error: "cannot set a disabled provider as default", code: "default_provider_disabled", status: 400 } }; - } - fresh.defaultProvider = name; - return { changed: true, value: { config: structuredClone(fresh) } }; - }); - if (outcome.status === "unavailable") return unavailableMutationResponse(outcome.reason, req, config); - if ("error" in outcome.value) return jsonResponse(outcome.value, outcome.value.status ?? 409); - adoptCommittedConfig(config, outcome.value.config); + const { saveConfigPreservingClaudeCode: save } = await import("../../config"); + config.defaultProvider = name; + save(config); reconcileLiveStateStores(); return jsonResponse({ success: true, name, defaultProvider: name }); } @@ -1421,17 +1190,15 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp const pacingOnly = keys.every(key => key === "requestPacing"); if (applied.editorTouched && !pacingOnly) { - const providerError = canonicalEmptyToolOutputOnly - ? providerEmptyToolOutputConfigError(name, next) - : canonicalBudgetOnly - ? canonicalOpenAiBudgetPatchError(next, rawBody, keys, config) - : providerManagementConfigError( + const providerError = canonicalBudgetOnly + ? canonicalOpenAiBudgetPatchError(next, rawBody, keys, config) + : providerManagementConfigError( name, providerTransportValidationCandidate(next as unknown as Record<string, unknown>), ) - ?? providerEmptyToolOutputConfigError(name, next); + ?? providerEmptyToolOutputConfigError(name, next); if (providerError) return jsonResponse({ error: providerError }, 400); - if (!canonicalBudgetOnly && !canonicalEmptyToolOutputOnly) { + if (!canonicalBudgetOnly) { const serviceTierError = providerServiceTierConfigError(name, next); if (serviceTierError) return jsonResponse({ error: serviceTierError }, 400); // Same DNS gate as POST and re-enable: the canonical built-in OpenAI forward @@ -1458,52 +1225,59 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp // mask onto the newest provider under the mutation lock right before saving, so two // concurrent PATCHes updating different fields/headers both survive instead of the // later save clobbering the earlier snapshot. - const outcome = mutateManagementConfig<ProviderMutationValue>(deps, fresh => { - if (!hasOwnProvider(fresh.providers, name)) { - return { changed: false, value: { error: "unknown provider", status: 404 } }; - } - const replay = applyProviderPatchFields(name, fresh.providers[name]!, rawBody, keys, fresh); + let replayError: string | undefined; + withConfigMutationLockSync(() => { + const replay = applyProviderPatchFields(name, config.providers[name]!, rawBody, keys, config); if ("error" in replay) { - return { changed: false, value: { error: replay.error, status: 409 } }; + replayError = replay.error; + return; } if (replay.editorTouched && !pacingOnly) { - const syncError = canonicalEmptyToolOutputOnly - ? providerEmptyToolOutputConfigError(name, replay.next) - : canonicalBudgetOnly - ? canonicalOpenAiBudgetPatchError(replay.next, rawBody, keys, fresh) - : providerManagementConfigError( + const syncError = canonicalBudgetOnly + ? canonicalOpenAiBudgetPatchError(replay.next, rawBody, keys, config) + : providerManagementConfigError( name, providerTransportValidationCandidate(replay.next as unknown as Record<string, unknown>), ) - ?? providerEmptyToolOutputConfigError(name, replay.next); + ?? providerEmptyToolOutputConfigError(name, replay.next); if (syncError) { - return { changed: false, value: { error: syncError, status: 409 } }; + replayError = syncError; + return; } - if (!canonicalBudgetOnly && !canonicalEmptyToolOutputOnly) { + if (!canonicalBudgetOnly) { const serviceTierError = providerServiceTierConfigError(name, replay.next); if (serviceTierError) { - return { changed: false, value: { error: serviceTierError, status: 409 } }; + replayError = serviceTierError; + return; } } } else if (replay.enablingOpenAi && !isCanonicalOpenAiForwardProvider(replay.next)) { - return { changed: false, value: { error: "provider openai must be the canonical built-in provider", status: 409 } }; + replayError = "provider openai must be the canonical built-in provider"; + return; } // A PATCH that managed headers owns the resulting block: the clear path restores // registry static headers, so exact-match stripping must not erase them again. const candidate = replay.headersTouched ? replay.next : stripRegistryOnlyStaticHeaders(name, replay.next); const pinsTouched = Object.hasOwn(rawBody, "pinnedReasoningEffort") || Object.hasOwn(rawBody, "modelPinnedReasoningEfforts"); if (pinsTouched) { - const draft = structuredClone(fresh); - draft.providers[name] = candidate; - const validation = validateConfigCandidate(draft); - if (!validation.ok) return { changed: false, value: { error: validation.error, status: 400 } }; + const validation = validateConfigCandidate({ ...config, providers: { ...config.providers, [name]: candidate } }); + if (!validation.ok) { replayError = validation.error; return; } + } + const previous = Object.getOwnPropertyDescriptor(config.providers, name); + const rollback = pinsTouched ? captureConfigTopLevelRollback(config, []) : undefined; + try { + config.providers[name] = candidate; + (deps.saveConfigPreservingClaudeCode ?? saveConfigPreservingClaudeCode)(config); + } catch (error) { + if (rollback) { + if (previous) Object.defineProperty(config.providers, name, previous); + else delete config.providers[name]; + rollback(); + } + throw error; } - fresh.providers[name] = candidate; - return { changed: replay.touched, value: { config: structuredClone(fresh) } }; }); - if (outcome.status === "unavailable") return unavailableMutationResponse(outcome.reason, req, config); - if ("error" in outcome.value) return jsonResponse({ error: outcome.value.error }, outcome.value.status ?? 409); - adoptCommittedConfig(config, outcome.value.config); + if (replayError !== undefined) return jsonResponse({ error: replayError }, 409); reconcileLiveStateStores(); if (applied.editorTouched && !pacingOnly) { const { clearModelCache } = await import("../../codex/model-cache"); @@ -1535,8 +1309,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp if (prov.disabled) { return jsonResponse({ ok: false, error: "Provider is disabled", latencyMs: 0 }); } - const antigravityError = antigravityOAuthDestinationConfigError(name, prov); - if (antigravityError) return jsonResponse({ ok: false, error: antigravityError, latencyMs: 0 }, 400); if (prov.authMode === "forward") { return jsonResponse({ ok: true, @@ -1544,9 +1316,6 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp message: "Passthrough provider is configured (forwards your Codex login; no upstream /models).", }); } - if (prov.googleMode === "ai-studio-web" || name === "google-aistudio") { - return jsonResponse(await probeAiStudioLiveSession(name, prov)); - } if (prov.liveModels === false) { // A static catalog has no live discovery endpoint to test. This is neither // positive connectivity evidence nor an outage, and it must stay before @@ -1554,12 +1323,12 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp return jsonResponse({ applicable: false, reason: "static_catalog", latencyMs: 0 }); } const { buildModelsRequest, getValidAccessTokenSnapshot, resolveModelsAuthToken } = await import("../../oauth"); - const antigravity = isAntigravityOAuthProvider(name, prov); + const antigravity = effectiveGoogleMode(name, prov) === "cloud-code-assist"; const snapshot = antigravity ? await getValidAccessTokenSnapshot(name).catch(() => undefined) : undefined; const apiKey = snapshot?.accessToken ?? await resolveModelsAuthToken(name, prov); - if ((prov.authMode === "oauth" || antigravity) && !apiKey) { + if (prov.authMode === "oauth" && !apiKey) { return jsonResponse({ ok: false, latencyMs: 0, error: "static catalog only — upstream not verified (not logged in)" }); } if (prov.adapter === "cursor") { @@ -1583,7 +1352,29 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp message: `Connected. ${live.models.length} models.`, }); } - const project = antigravity ? snapshot?.projectId : prov.project; + if (prov.adapter === "qoder") { + const started = Date.now(); + const profile = resolveQoderProfile(prov.baseUrl); + if (!profile) { + return jsonResponse({ ok: false, latencyMs: 0, error: "qoder discovery refused a non-canonical destination" }); + } + const live = await fetchQoderModels(profile, apiKey ?? ""); + const latencyMs = Date.now() - started; + if (!live.ok) { + return jsonResponse({ + ok: false, + latencyMs, + error: `qoder discovery ${live.error}${live.detail ? `: ${live.detail}` : ""}`, + }); + } + return jsonResponse({ + ok: true, + latencyMs, + models: live.models.length, + message: `Connected. ${live.models.length} models.`, + }); + } + const project = prov.project ?? snapshot?.projectId; if (antigravity && !project) { return jsonResponse({ ok: false, latencyMs: 0, error: "Antigravity project unavailable — re-run `ocx login google-antigravity`" }); } @@ -1657,15 +1448,11 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp }); } const models = ccaModels?.length ?? ("items" in extracted! ? extracted!.items.length : extracted!.rows.length); - const antigravityProdWarning = antigravity - && prov.baseUrl.replace(/\/+$/, "") === PROD_ANTIGRAVITY_HOST - ? ` Warning: consumer Google Antigravity accounts may receive 429 RESOURCE_EXHAUSTED on ${PROD_ANTIGRAVITY_HOST}; use ${DAILY_ANTIGRAVITY_HOST}. Keep the production endpoint only for enterprise/GCP accounts.` - : ""; return jsonResponse({ ok: true, latencyMs, models, - message: `Connected — ${models} model${models === 1 ? "" : "s"} available.${antigravityProdWarning}`, + message: `Connected — ${models} model${models === 1 ? "" : "s"} available.`, }); } catch (err) { return jsonResponse({ @@ -1708,41 +1495,13 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp combos: dependentCombos, }, 409); } - const outcome = mutateManagementConfig<ProviderMutationValue>(deps, fresh => { - if (!hasOwnProvider(fresh.providers, name)) { - return { changed: false, value: { error: "unknown provider", status: 404 } }; - } - const routingProfiles = Object.entries(fresh.routingProfiles ?? {}) - .filter(([, profile]) => profile.candidates.some(candidate => candidate.provider === name)) - .map(([id]) => id) - .sort((a, b) => a.localeCompare(b)); - if (routingProfiles.length > 0) { - return { changed: false, value: { error: `cannot delete provider "${name}" while routing profiles depend on it`, code: "provider_has_dependent_routing_profiles", routingProfiles, status: 409 } }; - } - const combos = Object.entries(fresh.combos ?? {}) - .filter(([, combo]) => combo.targets.some(target => target.provider === name)) - .map(([id]) => id) - .sort((a, b) => a.localeCompare(b)); - if (combos.length > 0) { - return { changed: false, value: { error: `cannot delete provider "${name}" while combos depend on it`, code: "provider_has_dependent_combos", combos, status: 409 } }; - } - const persistedFallback = name === fresh.defaultProvider - ? Object.entries(fresh.providers).find(([id, provider]) => id !== name && provider.disabled !== true)?.[0] - : undefined; - if (name === fresh.defaultProvider && !persistedFallback) { - return { changed: false, value: { error: "cannot delete the default provider when no enabled replacement remains", code: "last_provider", status: 409 } }; - } - if (persistedFallback) fresh.defaultProvider = persistedFallback; - delete fresh.providers[name]; - const droppedCustomModels = dropProviderCustomModels(fresh, name); - setProviderContextCap(fresh, name, false); - return { changed: true, value: { config: structuredClone(fresh), fallbackDefault: persistedFallback, droppedCustomModels } }; - }); - if (outcome.status === "unavailable") return unavailableMutationResponse(outcome.reason, req, config); - if ("error" in outcome.value) return jsonResponse(outcome.value, outcome.value.status ?? 409); - adoptCommittedConfig(config, outcome.value.config); - const committedFallbackDefault = outcome.value.fallbackDefault; - const droppedCustomModels = outcome.value.droppedCustomModels ?? 0; + const { saveConfigPreservingClaudeCode: save } = await import("../../config"); + if (fallbackDefault) config.defaultProvider = fallbackDefault; + delete config.providers[name]; + const { dropProviderCustomModels } = await import("../../providers/provider-id-rewrite"); + const droppedCustomModels = dropProviderCustomModels(config, name); + forgetProviderContextCap(config, name); + save(config); await replaceProviderAccountSet(name, null); reconcileLiveStateStores(); const { clearModelCache: clearCache } = await import("../../codex/model-cache"); @@ -1750,14 +1509,14 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp const catalogRefresh = await convergeCodexCatalog(); return jsonResponse({ success: true, - ...(committedFallbackDefault ? { defaultProvider: committedFallbackDefault } : {}), + ...(fallbackDefault ? { defaultProvider: fallbackDefault } : {}), ...(droppedCustomModels > 0 ? { droppedCustomModels } : {}), catalogRefresh, }); } if (url.pathname === "/api/provider-context-caps" && req.method === "GET") { - return jsonResponse({ cap: DEFAULT_PROVIDER_CONTEXT_CAP, value: globalContextCapValue(config), caps: providerContextCaps(config) }); + return jsonResponse({ cap: DEFAULT_PROVIDER_CONTEXT_CAP, value: globalContextCapValue(config), caps: providerContextCaps(config), values: selectedProviderContextCaps(config) }); } if (url.pathname === "/api/provider-context-caps" && req.method === "PUT") { @@ -1767,12 +1526,13 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp // property access, with the route's consistent 400 response. if (!isPlainRecord(rawBody)) return jsonResponse({ error: "provider-context-caps body must be a plain object" }, 400); const body = rawBody as { provider?: unknown; enabled?: unknown; value?: unknown; setAll?: unknown }; + const { saveConfigPreservingClaudeCode: save } = await import("../../config"); const { clearModelCache } = await import("../../codex/model-cache"); const respond = (catalogRefresh: Awaited<ReturnType<typeof convergeCodexCatalog>>) => jsonResponse({ ok: true, cap: DEFAULT_PROVIDER_CONTEXT_CAP, value: globalContextCapValue(config), - caps: providerContextCaps(config), + caps: providerContextCaps(config), values: selectedProviderContextCaps(config), catalogRefresh, }); @@ -1791,8 +1551,8 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp // Branch 1: per-provider toggle (checked first: a per-provider request may carry an // explicit `value`, which must never fall through to the global-value branch). Enable - // writes the current global default unless an explicit per-provider value is supplied; - // that value is never copied to other providers. + // restores the selected provider value, then the global default, unless an explicit + // per-provider value is supplied; that value is never copied to other providers. if (typeof body.provider === "string" && typeof body.enabled === "boolean") { const provider = body.provider.trim(); if (!isValidProviderName(provider)) { @@ -1812,7 +1572,7 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp return jsonResponse({ error: "value must be a positive number" }, 400); } setProviderContextCap(config, provider, body.enabled, perProviderValue); - saveManagementConfig(deps, config); + save(config); reconcileLiveStateStores(); clearModelCache(provider); const catalogRefresh = await convergeCodexCatalog(); @@ -1838,7 +1598,7 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp const affected = Object.keys(providerContextCaps(config)); const applyToAll = body.setAll === true; setGlobalContextCapValue(config, normalizedValue, applyToAll); - saveManagementConfig(deps, config); + save(config); reconcileLiveStateStores(); if (applyToAll) { for (const provider of affected) clearModelCache(provider); @@ -1855,7 +1615,7 @@ export async function handleProviderRoutes(ctx: ManagementContext): Promise<Resp const before = Object.keys(providerContextCaps(config)); const names = Object.keys(config.providers); setAllProviderContextCaps(config, names, body.setAll); - saveManagementConfig(deps, config); + save(config); reconcileLiveStateStores(); for (const provider of new Set([...before, ...names])) clearModelCache(provider); const catalogRefresh = await convergeCodexCatalog(); diff --git a/src/server/port-reclaim.ts b/src/server/port-reclaim.ts index d4023b2ddc9..0bd0660ff7b 100644 --- a/src/server/port-reclaim.ts +++ b/src/server/port-reclaim.ts @@ -2,11 +2,9 @@ * Reclaim a listen port after stop/update so restart can stay on the configured * port instead of hopping to an ephemeral one (Windows CLOSE_WAIT / leftover ocx). * - * Killing is never the default. A process may be killed only when the caller - * sets `killOcxHolders` and either supplies a non-empty `onlyKillPids` allowlist - * (trusted teardown PIDs, including allowlisted holders that fail ocx revalidate) - * or enables `killAllOcxOnPort` for revalidated ocx listeners. Unknown foreign - * (non-ocx, non-allowlisted) processes are never killed. + * Killing is never the default. It requires `killOcxHolders`, an allowed PID or + * `killAllOcxOnPort`, and successful ocx verification. A historical PID allowlist + * never overrides a rejected verifier result; rejected live holders stay protected. */ import { execFileSync } from "node:child_process"; import { verifyPidIdentity } from "../config/process-state"; @@ -29,6 +27,9 @@ export type ReclaimListenPortOptions = WaitForPortOptions & { /** * Explicit PIDs the caller just stopped / hard-killed. An omitted or empty * list means no process may be killed — unless {@link killAllOcxOnPort} is set. + * The allowlist only narrows kill candidates: every candidate, allowlisted or + * not, still requires verifier acceptance (`verifyOcxFn(pid) === pid`) on each + * scan, and a rejected live holder is never killed or TCP-row dropped. */ onlyKillPids?: number[]; /** @@ -36,8 +37,7 @@ export type ReclaimListenPortOptions = WaitForPortOptions & { * killed (re-checked each scan). Used by post-update restart so a Windows * service wrapper that respawns a *new* bun PID mid-reclaim cannot stay * protected just because it was absent from the pre-wait allowlist snapshot. - * Never kills foreign (non-ocx) processes — only allowlisted teardown PIDs - * and revalidated ocx listeners. + * Every candidate still requires ocx verifier acceptance before termination. */ killAllOcxOnPort?: boolean; /** @@ -174,8 +174,8 @@ export function listListenPids(port: number): number[] { * Never kills a process unless `killOcxHolders === true` and either * `onlyKillPids` is a non-empty allowlist or `killAllOcxOnPort` is set — then * revalidates immediately before each kill. - * Never kills foreign processes. Never drops TCP rows while a live foreign or - * protected ocx listener owns the port, or when the listener scan failed. + * Never overrides a rejected ocx verifier result. Never drops TCP rows while a + * rejected live or protected ocx listener owns the port, or when the scan failed. */ export async function reclaimListenPort( port: number, @@ -231,24 +231,9 @@ export async function reclaimListenPort( } const isOcx = verifyOcxFn(pid) === pid; const allowlisted = allowedKillPids.has(pid); - // Pre-update PIDs can fail verify while still LISTENing (dead owner still - // listed, or cmdline probe raced). Allowlisted teardown PIDs may be killed; - // unknown foreign claimants must remain fail-closed. if (!isOcx) { - if (mayKill && allowlisted) { - if (!killed.has(pid)) { - try { - killFn(pid); - killed.add(pid); - } catch { - // Kill failed: never SetTcpEntry while the process may still own the port. - protectedOcxListener = true; - } - } - if (!isAliveFn(pid)) killed.delete(pid); - else protectedOcxListener = true; - continue; - } + // A saved PID narrows eligible candidates; it cannot override verifier rejection. + // Dead ghost owners have already been skipped by the liveness check above. foreignLive = true; continue; } diff --git a/src/server/request-log.ts b/src/server/request-log.ts index d984e93c8b4..c68daa4208f 100644 --- a/src/server/request-log.ts +++ b/src/server/request-log.ts @@ -23,6 +23,8 @@ import { isKnownAgentKind, isKnownAdmissionKind, isKnownInboundProtocol, + isKnownTerminalSource, + isKnownTransportPhase, isKnownUsageSurface, isCodexUsageAccountLogLabel, isValidReasoningWireValue, @@ -325,6 +327,8 @@ export function requestLogEntryFromPersistedUsage(entry: PersistedUsageEntry): R ...(entry.usage ? { usage: entry.usage } : {}), ...(entry.totalTokens !== undefined ? { totalTokens: entry.totalTokens } : {}), ...(entry.attempts !== undefined ? { attempts: entry.attempts } : {}), + ...(isKnownTransportPhase(entry.transportPhase) ? { transportPhase: entry.transportPhase } : {}), + ...(isKnownTerminalSource(entry.terminalSource) ? { terminalSource: entry.terminalSource } : {}), ...(routeDecision ? { routeDecision } : {}), ...(claudeCompatibility ? { claudeCompatibility } : {}), }; @@ -447,6 +451,8 @@ export function addRequestLog(entry: RequestLogEntry) { ...(entry.usage ? { usage: entry.usage } : {}), ...(entry.totalTokens !== undefined ? { totalTokens: entry.totalTokens } : {}), ...(entry.attempts !== undefined ? { attempts: entry.attempts } : {}), + ...(isKnownTransportPhase(entry.transportPhase) ? { transportPhase: entry.transportPhase } : {}), + ...(isKnownTerminalSource(entry.terminalSource) ? { terminalSource: entry.terminalSource } : {}), ...failureDiagnostics, ...(entry.routeDecision ? { routeDecision: entry.routeDecision } : {}), ...(entry.claudeCompatibility ? { claudeCompatibility: entry.claudeCompatibility } : {}), diff --git a/src/server/responses/collaboration.ts b/src/server/responses/collaboration.ts index 6d7b8fd8a0b..ab6a9b55c9b 100644 --- a/src/server/responses/collaboration.ts +++ b/src/server/responses/collaboration.ts @@ -8,6 +8,7 @@ import { } from "../../config"; import { parseRequest } from "../../responses/parser"; import { externalTaskInputContent } from "../../responses/task-input"; +import { MULTI_AGENT_MODE_HINT_RECOMMENDATION } from "../../codex/multi-agent-mode-policy"; import { buildCompactV1Output, COMPACT_PROMPT, decodeCompactionSummary, extractCompactUserMessages } from "../../responses/compaction"; import { FORWARD_HEADERS, sanitizeReasoningInputContent } from "../../adapters/openai-responses"; import { expandPreviousResponseInput, previousResponseProviderState, rememberResponseState } from "../../responses/state"; @@ -77,7 +78,6 @@ import { registerTurn, trackStreamLifetime, unregisterTurn } from "../lifecycle" import { redactSecretString } from "../../lib/redact"; import { readBoundedResponseBody } from "../../lib/bounded-body"; import { supportedLadderFor } from "../effort-policy"; -import { resolveNativeDefaultState, type NativeDefaultState } from "../../codex/subagent-defaults"; import { beginRequestAttempt, catalogModelSupportsServiceTier, @@ -234,13 +234,10 @@ export function buildToolBridgeMaps(parsed: OcxParsedRequest, budget?: Translato -export const PROACTIVE_MULTI_AGENT_MODE_TEXT = [ - "Proactive multi-agent delegation is active.", - "Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies.", - "Delegate independent sub-tasks to sub-agents whenever parallel work would materially improve speed or quality — do not serialize work that can run concurrently.", - "Each sub-agent runs in its own context and can use all available tools; prefer spawning specialists over doing everything yourself.", - "This mode remains active until a later multi-agent mode developer message changes it.", -].join(" "); +export const PROACTIVE_MULTI_AGENT_MODE_TEXT = MULTI_AGENT_MODE_HINT_RECOMMENDATION.text; + +const OPENCODEX_SUBAGENT_GUIDANCE_OPEN_TAG = "<opencodex_subagent_guidance>"; +const OPENCODEX_SUBAGENT_GUIDANCE_CLOSE_TAG = "</opencodex_subagent_guidance>"; export function isV1CollabSurface(parsed: OcxParsedRequest): boolean { return collabSurface(parsed) === "v1"; @@ -281,18 +278,11 @@ export interface MultiAgentGuidanceOptions { subagentModels?: string[]; subagentModelFallback?: string[]; injectionPrompt?: string; - nativeDefaultState?: NativeDefaultState; - syncCodexSubagentDefaults?: boolean; } export interface MultiAgentGuidanceDeps { - resolveNativeDefaultState?: (config: { - injectionModel?: string; - injectionEffort?: string; - syncCodexSubagentDefaults?: boolean; - }) => NativeDefaultState | Promise<NativeDefaultState>; resolveEffectiveSubagentRoster?: ( configuredModels: readonly string[], surface: SpawnAgentSurface, @@ -379,8 +369,6 @@ export async function multiAgentGuidanceText( subagentModels, subagentModelFallback, injectionPrompt, - nativeDefaultState: configuredNativeDefaultState, - syncCodexSubagentDefaults, } = options; const activeAccountNamespace = codexAccountNamespace?.length ? codexAccountNamespace @@ -413,10 +401,6 @@ export async function multiAgentGuidanceText( if (catalogState.state === "stale" || catalogState.state === "unknown") { return null; } - const nativeDefaultState = configuredNativeDefaultState - ?? await (deps.resolveNativeDefaultState ?? resolveNativeDefaultState)({ - injectionModel, injectionEffort, syncCodexSubagentDefaults, - }); // codex-rs supplies the Proactive text on v2; the proxy only adds model-designation // guidance, and only when there is something concrete to designate: a configured // injectionModel and/or a roster entry that resolves in the injected catalog. @@ -482,22 +466,15 @@ export async function multiAgentGuidanceText( // fallback only for explicit routed/account-qualified ids. const promptModel = preferred?.model ?? (injectionModel?.includes("/") ? injectionModel : undefined); - return `<multi_agent_mode>${applyInjectionPlaceholders(injectionPrompt, promptModel, injectionEffort, roster, fallbackGuidance, nativeDefaultState)}</multi_agent_mode>`; + return `${OPENCODEX_SUBAGENT_GUIDANCE_OPEN_TAG}${applyInjectionPlaceholders(injectionPrompt, promptModel, injectionEffort, roster, fallbackGuidance)}${OPENCODEX_SUBAGENT_GUIDANCE_CLOSE_TAG}`; } if (!preferred && roster === "" && fallbackGuidance === "") return null; - let text = "When the active spawn_agent tool supports optional \"model\" or \"reasoning_effort\" overrides, " - + "use only models listed for this collaboration surface. " - + "When setting either override, set fork_turns to \"none\" " - + "(or a positive turn count such as \"3\"; full-history forks reject overrides) " - + "and make the task message self-contained. " - + "When specifying model overrides, preserve any caller-provided agent_type; do not replace it with \"worker\". " - + "Subagent exec runs in a pure V8 isolate without require('fs'); " - + "escape nested template literals in tools.apply_patch to prevent JavaScript syntax errors (e.g., write \\` and \\\${var})."; + let text = "OpenCodex sub-agent routing metadata for this collaboration surface. " + + "This metadata does not override Codex delegation or model-selection rules."; if (preferred) { text += ` Preferred sub-agent: model "${preferred.model}"` + (injectionEffort ? `, reasoning_effort "${injectionEffort}"` : "") - + `; nativeDefaultState: ${nativeDefaultState}.` - + " — use it unless the user names another. Confirm a different listed model for one spawn only; do not persist the exception."; + + "."; } text += fallbackGuidance; text += roster; @@ -505,27 +482,26 @@ export async function multiAgentGuidanceText( // Roster is the only unbounded part — drop it before breaking the budget. text = text.slice(0, text.length - roster.length); } - return `<multi_agent_mode>${text}</multi_agent_mode>`; + return `${OPENCODEX_SUBAGENT_GUIDANCE_OPEN_TAG}${text}${OPENCODEX_SUBAGENT_GUIDANCE_CLOSE_TAG}`; } const effort = parsed.options.reasoning; - // v1 keeps only the upstream-parity behavior: Proactive text at the top tier - // (ultra arrives as max on the wire). No designation/roster payload here. + // v1 changes only the delegation trigger at the top tier; other rules still apply. + // Ultra arrives as max on the wire. No designation/roster payload here. if (effort !== "max" && effort !== "ultra") return null; return `<multi_agent_mode>${PROACTIVE_MULTI_AGENT_MODE_TEXT}</multi_agent_mode>`; } -export const V2_GUIDANCE_CHAR_BUDGET = 1200; +export const V2_GUIDANCE_CHAR_BUDGET = 700; -export function applyInjectionPlaceholders(prompt: string, model?: string, effort?: string, roster?: string, fallback?: string, nativeDefaultState?: NativeDefaultState): string { +export function applyInjectionPlaceholders(prompt: string, model?: string, effort?: string, roster?: string, fallback?: string): string { return prompt .replaceAll("{{model}}", model ?? "") .replaceAll("{{effort}}", effort ?? "") .replaceAll("{{roster}}", roster ?? "") - .replaceAll("{{fallback}}", fallback ?? "") - .replaceAll("{{nativeDefaultState}}", nativeDefaultState ?? ""); + .replaceAll("{{fallback}}", fallback ?? ""); } @@ -563,6 +539,17 @@ function isGeneratedDeveloperItem(item: unknown, text: string): boolean { return generatedDeveloperText(item) === text; } +function generatedGuidanceFamily(text: string): "multi_agent_mode" | "opencodex_subagent_guidance" | undefined { + if (text.startsWith("<multi_agent_mode>") && text.endsWith("</multi_agent_mode>")) { + return "multi_agent_mode"; + } + if (text.startsWith(OPENCODEX_SUBAGENT_GUIDANCE_OPEN_TAG) + && text.endsWith(OPENCODEX_SUBAGENT_GUIDANCE_CLOSE_TAG)) { + return "opencodex_subagent_guidance"; + } + return undefined; +} + function isDeveloperPrefixItem(item: unknown): boolean { if (!isRecord(item)) return false; if (item.type === "additional_tools") return item.role === "developer"; @@ -602,13 +589,13 @@ export function injectDeveloperMessage(parsed: OcxParsedRequest, text: string): const devItem = { type: "message", role: "developer", content: [{ type: "input_text", text }] }; if (rawInput) { const replayPrefix = rawInput.slice(0, replayPrefixLen); - const taggedGuidance = text.startsWith("<multi_agent_mode>") && text.endsWith("</multi_agent_mode>"); - const lastTaggedGuidance = taggedGuidance + const guidanceFamily = generatedGuidanceFamily(text); + const lastTaggedGuidance = guidanceFamily ? replayPrefix.map(generatedDeveloperText) - .filter(item => item?.startsWith("<multi_agent_mode>") && item.endsWith("</multi_agent_mode>")) + .filter(item => item !== undefined && generatedGuidanceFamily(item) === guidanceFamily) .at(-1) : undefined; - if (taggedGuidance ? lastTaggedGuidance === text : replayPrefix.some(item => isGeneratedDeveloperItem(item, text))) { + if (guidanceFamily ? lastTaggedGuidance === text : replayPrefix.some(item => isGeneratedDeveloperItem(item, text))) { return; } } diff --git a/src/server/responses/combo-session-recall.ts b/src/server/responses/combo-session-recall.ts new file mode 100644 index 00000000000..84dfd8d4669 --- /dev/null +++ b/src/server/responses/combo-session-recall.ts @@ -0,0 +1,89 @@ +/** Process-local recall of the last completed combo response on an explicit session lane. */ +import { getCombo, targetKey } from "../../combos/types"; +import { captureConfigGeneration, type GenerationContext } from "../../lib/state-store-sweeper"; +import type { OcxConfig, OcxComboTarget } from "../../types"; + +interface ComboRecallEntry { + comboId: string; + target: Pick<OcxComboTarget, "provider" | "model">; + responseModel: string; + at: number; +} + +const RECALL_CAPACITY = 256; +const RECALL_TTL_MS = 30 * 60 * 1000; +const recall = new Map<string, ComboRecallEntry>(); +let lastReconciledGeneration = 0; +let liveOwners: Pick<GenerationContext, "comboIds" | "comboTargets" | "providerNames"> | undefined; + +function ownsEntry(context: Pick<GenerationContext, "comboIds" | "comboTargets" | "providerNames">, entry: ComboRecallEntry): boolean { + return context.comboIds.has(entry.comboId) + && context.providerNames.has(entry.target.provider) + && context.comboTargets.has(`${entry.comboId}::${targetKey(entry.target)}`); +} + +export function rememberComboForLane( + lane: string | undefined, + comboId: string, + target: Pick<OcxComboTarget, "provider" | "model">, + responseModel: string, + writerGeneration: number, +): void { + if (!lane || !comboId || !responseModel.trim()) return; + // Reject even a same-named recreated owner: its previous in-flight turn is obsolete. + if (writerGeneration < Math.max(lastReconciledGeneration, captureConfigGeneration())) return; + const entry = { comboId, target: { provider: target.provider, model: target.model }, responseModel, at: Date.now() }; + if (liveOwners && !ownsEntry(liveOwners, entry)) return; + recall.delete(lane); + recall.set(lane, entry); + while (recall.size > RECALL_CAPACITY) { + const oldest = recall.keys().next().value; + if (oldest === undefined) break; + recall.delete(oldest); + } +} + +export function recallComboForLane( + config: OcxConfig, + lane: string | undefined, + model: string, +): string | undefined { + if (!lane || !model || model.includes("/")) return undefined; + const entry = recall.get(lane); + if (!entry) return undefined; + const combo = getCombo(config, entry.comboId); + const provider = config.providers[entry.target.provider]; + if (Date.now() - entry.at >= RECALL_TTL_MS + || !Object.hasOwn(config.providers, entry.target.provider) + || !provider || provider.disabled === true + || !combo?.targets.some(target => targetKey(target) === targetKey(entry.target))) { + recall.delete(lane); + return undefined; + } + return entry.responseModel === model ? entry.comboId : undefined; +} + +export function reconcileComboRecall(context: GenerationContext): number { + if (context.generation <= lastReconciledGeneration) return 0; + lastReconciledGeneration = context.generation; + liveOwners = { + comboIds: new Set(context.comboIds), + comboTargets: new Set(context.comboTargets), + providerNames: new Set(context.providerNames), + }; + let removed = 0; + for (const [lane, entry] of recall) { + if (!ownsEntry(context, entry) || Date.now() - entry.at >= RECALL_TTL_MS) { + recall.delete(lane); + removed += 1; + } + } + return removed; +} + +/** Test-only reset, alongside the combo rotation/cooldown resets. */ +export function clearComboRecallForTests(): void { + recall.clear(); + lastReconciledGeneration = 0; + liveOwners = undefined; +} diff --git a/src/server/responses/compact.ts b/src/server/responses/compact.ts index 4a8590c30dd..56d487b8bf6 100644 --- a/src/server/responses/compact.ts +++ b/src/server/responses/compact.ts @@ -18,6 +18,7 @@ import { comboIdFromRawBody, concreteComboRequestBody, getCombo, + resolveComboId, isComboTargetInCooldown, NoAvailableComboTargetsError, noteComboSuccess, @@ -153,6 +154,7 @@ import { fetchWithHeaderTimeout, providerFetch, safeHostLabel, safeOriginLabel } import { mapCodexAuthContextErrorToResponse, nativeMainRefreshFailureResponse } from "./codex-auth-error"; import { decideV2NativeParentOverride } from "./v2-native-parent-override"; import { sessionLaneIdFromRequest } from "../request-log-conversation"; +import { recallComboForLane } from "./combo-session-recall"; export const COMPACT_RESPONSE_MAX_BYTES = 32 * 1024 * 1024; @@ -537,7 +539,7 @@ export async function handleResponsesCompact( // a local rather than written back to `raw.model`: assigning to the property widens it out // of the `string` narrowing the guard above just established. const compactFastRow = parseFastOnlyRowId(config, () => raw.model as string); - const compactModel = compactFastRow ? compactFastRow.baseId : raw.model; + let compactModel = compactFastRow ? compactFastRow.baseId : raw.model; if (compactFastRow) (raw as Record<string, unknown>).model = compactModel; // The client's own selector, kept for the request log: `raw.model` is rewritten to the // base id above, and logCtx.requestedModel is assigned from it further down, so without @@ -545,6 +547,22 @@ export async function handleResponsesCompact( const compactRequestedModel = compactFastRow ? compactFastRow.baseId + "--fast" : raw.model; const requestedModel = raw.model; + // Recall the last completed client-visible bare model after a combo switch (#3891). + // Configured selectors take precedence over this implicit session hint. + if (typeof compactModel === "string" && !compactModel.includes("/") && !compactFastRow + && !resolveComboId(config, compactModel)) { + const recalledComboId = recallComboForLane(config, sessionLaneIdFromRequest(req.headers), compactModel); + if (recalledComboId) { + (raw as Record<string, unknown>).model = `combo/${recalledComboId}`; + // Keep the routed identity in sync: the bare model can 404 outright (no + // canonical openai provider) or resolve straight onto a native-compact + // provider, both bypassing combo failover. The combo selector resolves + // through tryPickComboModel, whose route.combo skips the native compact + // endpoint. + compactModel = `combo/${recalledComboId}`; + } + } + let route; try { // Compact requests route through the same policy evaluation as normal diff --git a/src/server/responses/core.ts b/src/server/responses/core.ts index 17a5c65984e..9b8bbe7d9a0 100644 --- a/src/server/responses/core.ts +++ b/src/server/responses/core.ts @@ -15,6 +15,7 @@ import { nativeContextLimits } from "../../codex/catalog"; import { describeUpstreamConnectFailure } from "./upstream-error"; import type { CodexWsQuotaObserver } from "./codex-ws-metadata"; import { applyAccountQuotaFromUpstreamHeaders as applyCapturedCodexQuota } from "../../codex/quota"; +import { isCodexAccountGenerationLive } from "../../codex/account-store"; import { isCodexWsQuotaObservedResponse } from "./ws-upstream"; import { multiAgentGuidanceEnabled, @@ -62,6 +63,10 @@ import { providerContinuationRouteScope, sameProviderContinuationOwner, } from "../../responses/provider-continuation"; +import { + rememberComboForLane, + recallComboForLane, +} from "./combo-session-recall"; import { comboRouteDecisionTrace, NoEligiblePolicyCandidateError, @@ -83,6 +88,7 @@ import { comboRequestHasImageInput, concreteComboRequestBody, getCombo, + resolveComboId, isComboTargetInCooldown, NoAvailableComboTargetsError, noteComboSuccess, @@ -233,11 +239,14 @@ import { import { ForwardAdmissionCredentialError, hasForwardableCodexBearer, + isProxyAdmissionSecret, validateForwardAdmissionCredential, } from "../auth-cors"; import type { DataPlaneAdmission } from "../auth-cors"; import { createTranslatorBudget, isTranslatorBudgetExceededError, type TranslatorBudget } from "../../lib/translator-budget"; -import { listOpenAiForwardSidecarCandidates, resolveFirstUsableOpenAiSidecar, type ResolvedOpenAiForwardSidecar } from "../../providers/openai-sidecar"; +import { captureExplicitOpenAiCallerAuth, listOpenAiForwardSidecarCandidates, resolveFirstUsableOpenAiSidecar, type ExplicitOpenAiCallerAuth, type ResolvedOpenAiForwardSidecar } from "../../providers/openai-sidecar"; +import { inspectChatGptDomainClaim } from "../../oauth/chatgpt"; +import { captureCallerDirectAuth, providerConsumesCallerAuthorization, type CallerDirectAuth } from "../../providers/caller-authorization"; import { isCanonicalOpenAiForwardProvider, OPENAI_CODEX_PROVIDER_ID } from "../../providers/openai-tiers"; import { CODEX_RESERVE_HELPER_UNSUPPORTED_MESSAGE, isCodexReserveHelperUnsupported } from "../../codex/loopback-target"; import { providerContextCap } from "../../providers/context-cap"; @@ -341,6 +350,7 @@ import { consumeForInspection, consumeForResponseLogMetadata, createSseInspector, + terminalStatusFromParsed, isEagerRelaySseResponse, isNativePassthroughSseResponse, markEagerRelaySseResponse, @@ -371,6 +381,7 @@ import { } from "../responses-item-id-repair"; import { createReasoningSummaryChannelPayloadRewrite, + rewriteReasoningSummaryInJson, rewriteReasoningSummaryInJsonString, routeUsesContentChannelReasoning, } from "../responses-reasoning-summary-rewrite"; @@ -1072,8 +1083,12 @@ export function usesCodexForwardPoolAuth( function codexWsQuotaObserver(authCtx: CodexAuthContext, provider: OcxProviderConfig): CodexWsQuotaObserver | undefined { if (!isCanonicalOpenAiForwardProvider(provider) || !usesCodexForwardPoolAuth(authCtx, provider)) return undefined; const { accountId, writerGeneration } = authCtx; + const credentialGeneration = authCtx.kind === "pool" ? authCtx.generation : undefined; const mainWriter = authCtx.kind === "main-pool" ? authCtx.mainQuotaWriter : undefined; - return headers => applyCapturedCodexQuota(accountId, headers, writerGeneration, mainWriter); + return headers => { + if (credentialGeneration !== undefined && !isCodexAccountGenerationLive(accountId, credentialGeneration)) return; + applyCapturedCodexQuota(accountId, headers, writerGeneration, mainWriter); + }; } export function preAuthUpstreamHostCircuitKey( @@ -1177,7 +1192,8 @@ export async function shouldRetryCodexPoolAccountQuota( } interface CodexPoolAccountRetryArgs { - req: Request; + /** Sanitized caller input, before any selected Pool credential was materialized. */ + callerAuthHeaders: Headers; config: OcxConfig; route: { providerName: string; modelId: string; provider: OcxProviderConfig }; parsed: OcxParsedRequest; @@ -1343,7 +1359,7 @@ async function retryCodexPoolOnAlternateAccount( args: CodexPoolAccountRetryArgs, ): Promise<CodexPoolAccountRetryResult> { const { - req, config, route, parsed, logCtx, options, firstAuthCtx, firstResponse, + callerAuthHeaders, config, route, parsed, logCtx, options, firstAuthCtx, firstResponse, outcomeStatus, upstream, connectMs, passthroughEstimate, stream, } = args; const inboundWire = options.inboundWire ?? "responses"; @@ -1377,7 +1393,7 @@ async function retryCodexPoolOnAlternateAccount( } try { retryAuthCtx ??= await resolveCodexAuthContext( - req.headers, + callerAuthHeaders, config, "pool", { @@ -1385,7 +1401,7 @@ async function retryCodexPoolOnAlternateAccount( admission: options.admission, codexAuthPolicy: options.codexAuthPolicy, modelId: route.modelId, - requestScopedMainCredential: hasForwardableCodexBearer(req.headers, config), + requestScopedMainCredential: hasForwardableCodexBearer(callerAuthHeaders, config), beginCodexAccountSelection: codexAccountSelectionForTurn(options.turnAdmissionLease), resolveCodexModelEntitlements: entitlementResolver, }, @@ -1455,7 +1471,7 @@ async function retryCodexPoolOnAlternateAccount( // Only a combo reset-derived outcome is deferred. Retry-After, defaults, and // ordinary requests must block the first account before the alternate send. if (!deferFirstOutcome) recordFirstOutcome(); - const retryHeaders = headersForCodexAuthContext(req.headers, retryAuthCtx, options.codexAuthPolicy ?? config, route.modelId, options.admission); + const retryHeaders = headersForCodexAuthContext(callerAuthHeaders, retryAuthCtx, options.codexAuthPolicy ?? config, route.modelId, options.admission); const retryProvider = applyCodexAuthContextToProvider( stripCodexRuntimeProviderFields(route.provider), retryAuthCtx, @@ -1729,6 +1745,8 @@ export interface HandleResponsesOptions { onCodexAuthContextResolved?: (context: CodexAuthContext | undefined) => void; /** Internal deterministic seam for account-gated native fallback tests. */ resolveCodexModelEntitlements?: typeof resolveCodexModelEntitlements; + /** Internal: validated final client-visible model, after completed terminal success only. */ + onResponseComplete?: (model: string) => void; recordTerminalOutcomes?: boolean; setTerminalOutcomeRecorder?: (recorder: ((status: ResponsesTerminalStatus, httpStatusOverride?: number) => void) | undefined) => void; onNativePassthroughTerminal?: (status: ResponsesTerminalStatus) => void; @@ -1757,9 +1775,17 @@ export interface HandleResponsesOptions { /** * Claude replay may add native-main auth so OpenAI sidecars remain available. * Strip only that internal credential when the final route is a noncanonical - * forward destination; final routing can differ from Claude's preflight route. + * forward/caller-auth destination; final routing can differ from Claude's preflight route. */ stripClaudeMainAuthForNoncanonicalForward?: boolean; + /** In-memory credential proven by Claude's native-main turn claim; never persist or log. */ + trustedClaudeMainAuth?: { authorization: string; chatgptAccountId?: string }; + /** Sidecar-only auth captured before route changes; null means no usable original pair. */ + openAiSidecarAuth?: ExplicitOpenAiCallerAuth | null; + /** Original caller-owned native pair; separate from any claimed sidecar enrichment. */ + nativeCallerAuth?: ExplicitOpenAiCallerAuth | null; + /** Caller Direct credential under Direct\'s own predicate; restored only for the canonical OpenAI final route. */ + callerDirectAuth?: CallerDirectAuth | null; /** Internal recursion guard; callers outside this module must not set it. */ comboAttempt?: boolean; /** Internal combo handoff for one parent-validated continuation snapshot. */ @@ -1933,36 +1959,59 @@ export function createChildPassthroughCallbackGate(options: HandleResponsesOptio let state: "pending" | "committed" | "discarded" = "pending"; let pending: Pending | undefined; let accepted = false; + let pendingModel: string | undefined; + let completionAccepted = false; + let completionRejected = false; const publish = (value: Pending): void => { if (value.kind === "terminal") options.onNativePassthroughTerminal?.(value.status); else options.onNativePassthroughCancel?.(); }; + const publishCompletion = (): void => { + if (state !== "committed" || completionRejected || pendingModel === undefined) return; + const model = pendingModel; + pendingModel = undefined; + options.onResponseComplete?.(model); + }; const receive = (value: Pending): void => { if (state === "discarded" || accepted) return; accepted = true; + if (value.kind === "cancel" || value.status !== "completed") { + completionRejected = true; + pendingModel = undefined; + } if (state === "committed") return publish(value); pending ??= value; }; return { onTerminal: (status: ResponsesTerminalStatus) => receive({ kind: "terminal", status }), onCancel: () => receive({ kind: "cancel" }), + onResponseComplete: (model: string) => { + if (state === "discarded" || completionRejected || completionAccepted || !model.trim()) return; + completionAccepted = true; + pendingModel = model; + publishCompletion(); + }, commit: () => { if (state !== "pending") return; state = "committed"; if (pending) publish(pending); pending = undefined; + publishCompletion(); }, discard: () => { state = "discarded"; pending = undefined; + pendingModel = undefined; }, }; } - export function buildComboChildHeaders(parentHeaders: HeadersInit): Headers { const childHeaders = new Headers(parentHeaders); + // A provisional caller credential is not authoritative for a Combo child. + childHeaders.delete("authorization"); + childHeaders.delete("chatgpt-account-id"); // Combo children re-serialize already-decoded JSON. Keeping transport metadata from // the parent would make the child decoder treat plain JSON as compressed bytes. childHeaders.delete("content-length"); @@ -2047,7 +2096,7 @@ function canPassThroughEncryptedV2AgentTask( } type ResponsesAuthResolution = - | { ok: true; authCtx: CodexAuthContext; headers: Headers; substituteMainCredential: boolean } + | { ok: true; authCtx: CodexAuthContext; headers: Headers; callerAuthHeaders: Headers; substituteMainCredential: boolean } | { ok: false; response: Response }; /** @@ -2059,8 +2108,75 @@ async function resolveResponsesCodexAuth( config: OcxConfig, route: RouteResult, options: HandleResponsesOptions, + credentialDomainWasRewritten = false, ): Promise<ResponsesAuthResolution> { try { + const routeMayChangeCredentialDomain = options.comboAttempt === true + || route.routeKind === "policy" + || credentialDomainWasRewritten; + const trustedClaudeMainForFinalRoute = options.stripClaudeMainAuthForNoncanonicalForward === true + && isCanonicalOpenAiForwardProvider(route.provider) + ? options.trustedClaudeMainAuth : undefined; + let authInputHeaders = req.headers; + // Route-changing recursion retains typed admission, never an unscoped raw + // caller credential. Bearer admission is substituted or stripped below. + if (routeMayChangeCredentialDomain && options.admission?.source !== "bearer" + && !trustedClaudeMainForFinalRoute) { + authInputHeaders = new Headers(req.headers); + authInputHeaders.delete("authorization"); + authInputHeaders.delete("chatgpt-account-id"); + } + if (trustedClaudeMainForFinalRoute) { + authInputHeaders = new Headers(authInputHeaders); + authInputHeaders.set("authorization", trustedClaudeMainForFinalRoute.authorization); + if (trustedClaudeMainForFinalRoute.chatgptAccountId) { + authInputHeaders.set("chatgpt-account-id", trustedClaudeMainForFinalRoute.chatgptAccountId); + } else { + authInputHeaders.delete("chatgpt-account-id"); + } + } + // A caller-auth transport that is not canonical OpenAI (keyless Cursor) consumes the + // caller's Authorization as its own upstream token. Keep that contract only for a clean + // single bearer with NO ChatGPT-domain marker. A bearer marked for the ChatGPT domain — + // whether its marker is valid or malformed/conflicting — a combined/malformed value, or + // the captured explicit OpenAI pair is never a Cursor token; a foreign JWT carrying only + // a generic organizations claim is not ChatGPT-marked and keeps the legacy contract. + // chatgpt-account-id has no meaning outside the ChatGPT domain. + if (!isCanonicalOpenAiForwardProvider(route.provider) + && providerConsumesCallerAuthorization(route.provider)) { + const rawAuth = authInputHeaders.get("authorization")?.trim(); + const singleBearer = /^Bearer[\t ]+([^\s,]+)$/i.exec(rawAuth ?? "")?.[1]; + const domainClaim = singleBearer ? inspectChatGptDomainClaim(singleBearer) : { kind: "absent" as const }; + const dropBearer = options.nativeCallerAuth != null || domainClaim.kind !== "absent" + || (rawAuth !== undefined && singleBearer === undefined); + if (dropBearer || authInputHeaders.has("chatgpt-account-id")) { + const scoped = new Headers(authInputHeaders); + if (dropBearer) scoped.delete("authorization"); + scoped.delete("chatgpt-account-id"); + authInputHeaders = scoped; + } + } + // The caller's own Direct credential may cross an internal route change only to the + // canonical OpenAI transport, under a predicate deliberately STRICTER than plain + // unchanged-route Direct forwarding: a clean non-proxy bearer whose ChatGPT-domain + // marker is valid, with any explicit account header matching that marker. Unchanged + // routes keep their legacy rules; sidecar enrichment grants no primary authority. + if (options.callerDirectAuth && isCanonicalOpenAiForwardProvider(route.provider)) { + const directHeaders = new Headers({ + authorization: options.callerDirectAuth.authorization, + ...(options.callerDirectAuth.chatgptAccountId + ? { "chatgpt-account-id": options.callerDirectAuth.chatgptAccountId } : {}), + }); + if (captureCallerDirectAuth(directHeaders, config)) { + authInputHeaders = new Headers(authInputHeaders); + authInputHeaders.set("authorization", options.callerDirectAuth.authorization); + if (options.callerDirectAuth.chatgptAccountId) { + authInputHeaders.set("chatgpt-account-id", options.callerDirectAuth.chatgptAccountId); + } else { + authInputHeaders.delete("chatgpt-account-id"); + } + } + } // #1686: a caller that proved admission with a BEARER presented one of our own secrets. // Refusing it here is what made the codex-cli `env_key` contract unusable against Direct. // Admitting it is only safe because the stored main credential is substituted below, so @@ -2084,15 +2200,16 @@ async function resolveResponsesCodexAuth( // no-ChatGPT-login install keeps working. const substituteMainCredential = options.admission?.source === "bearer" && (route.codexAccountMode !== undefined || isCanonicalOpenAiForwardProvider(route.provider)); + const stripAuthorization = options.admission?.source === "bearer" && !substituteMainCredential; const requestScopedMainCredential = route.codexAccountMode !== undefined && !substituteMainCredential - && hasForwardableCodexBearer(req.headers, config); + && hasForwardableCodexBearer(authInputHeaders, config); if (route.codexAccountMode === "direct" && !substituteMainCredential) { - validateForwardAdmissionCredential(req.headers, config); + validateForwardAdmissionCredential(authInputHeaders, config); } let authCtx: CodexAuthContext; if (route.codexAccountMode) { - authCtx = await resolveCodexAuthContext(req.headers, config, route.codexAccountMode, { + authCtx = await resolveCodexAuthContext(authInputHeaders, config, route.codexAccountMode, { admission: options.admission, codexAuthPolicy: options.codexAuthPolicy, accountId: route.codexAccountId, @@ -2128,7 +2245,7 @@ async function resolveResponsesCodexAuth( // (custom-named canonical-forward providers must retain the same protection). const mainPolicyConfig = isCanonicalOpenAiForwardProvider(route.provider) ? options.codexAuthPolicy ?? config : undefined; - const headers = await materializeCodexUpstreamAuthAsync(req.headers, authCtx, { + const headers = await materializeCodexUpstreamAuthAsync(authInputHeaders, authCtx, { admission: options.admission, config: mainPolicyConfig, modelId: route.modelId, @@ -2147,10 +2264,27 @@ async function resolveResponsesCodexAuth( response: formatErrorResponse(401, "authentication_error", "Selected Codex account needs reauthentication"), }; } + if (stripAuthorization) { + headers.delete("authorization"); + headers.delete("chatgpt-account-id"); + } + if (providerConsumesCallerAuthorization(route.provider) && options.admission?.source !== undefined + && options.admission.source !== "loopback") { + validateForwardAdmissionCredential(headers, config); + } else { + // Even adapters that ignore caller auth must not retain a proxy secret for + // a later internal hop or a future transport change. + const bearer = headers.get("authorization")?.replace(/^Bearer\s+/i, "").trim(); + if (bearer && isProxyAdmissionSecret(bearer, config)) { + headers.delete("authorization"); + headers.delete("chatgpt-account-id"); + } + } return { ok: true, authCtx, headers, + callerAuthHeaders: new Headers(authInputHeaders), substituteMainCredential, }; } catch (err) { @@ -2479,7 +2613,6 @@ async function applyFinalRouteRequestNormalization(args: { subagentModels: config.subagentModels, subagentModelFallback: config.subagentModelFallback, injectionPrompt: config.injectionPrompt, - syncCodexSubagentDefaults: config.syncCodexSubagentDefaults === true, }); if (guidance) { injectDeveloperMessage(parsed, guidance); @@ -2791,9 +2924,22 @@ export async function handleComboResponses( (logCtx.attempts ??= []).push(attempt); attemptRetained = true; }; + const completedTarget = { provider: pick.target.provider, model: pick.target.model }; + const writerGeneration = pick.writerGeneration; let consumedChildFailure: ConsumedComboFailure | undefined; const callbackGate = createChildPassthroughCallbackGate({ ...options, + onResponseComplete: model => { + // The live config can change while the child is streaming. Never retain credentials. + const currentCombo = getCombo(config, comboId); + const provider = config.providers[completedTarget.provider]; + if (Object.hasOwn(config.providers, completedTarget.provider) + && provider && provider.disabled !== true + && currentCombo?.targets.some(target => targetKey(target) === targetKey(completedTarget))) { + rememberComboForLane(sessionLaneIdFromRequest(req.headers), comboId, completedTarget, model, writerGeneration); + } + options.onResponseComplete?.(model); + }, onNativePassthroughTerminal: status => { // A committed stream can acquire terminal metadata after preflight copied // the child log. Publish it before the outer logger finalizes, but only @@ -2834,6 +2980,7 @@ export async function handleComboResponses( onStoredPool401ReplayDispatched: () => { storedPool401ReplayDispatched = true; }, onNativePassthroughTerminal: callbackGate.onTerminal, onNativePassthroughCancel: callbackGate.onCancel, + onResponseComplete: callbackGate.onResponseComplete, }); } catch (error) { callbackGate.discard(); @@ -3138,6 +3285,12 @@ export async function handleResponses( try { const response = await handleResponsesInner(req, config, logCtx, { ...options, + openAiSidecarAuth: options.openAiSidecarAuth === undefined + ? captureExplicitOpenAiCallerAuth(req.headers, config) : options.openAiSidecarAuth, + nativeCallerAuth: options.nativeCallerAuth === undefined + ? captureExplicitOpenAiCallerAuth(req.headers, config) : options.nativeCallerAuth, + callerDirectAuth: options.callerDirectAuth === undefined + ? captureCallerDirectAuth(req.headers, config) : options.callerDirectAuth, // Capture before combo replay rebuilds the Request headers; children carry options. visionDescribeTerminal: options.visionDescribeTerminal === true || req.headers.get("x-opencodex-vision-describe") === "1", @@ -3273,6 +3426,23 @@ async function handleResponsesInner( effort: comboEffortRow.effort, }; } + // Compaction may send the last client-visible bare model after a combo switch. + // Configured selectors take precedence; otherwise recall before combo dispatch (#3891). + if (!options.comboAttempt && body && typeof body === "object" && !Array.isArray(body)) { + const rawModel = (body as { model?: unknown }).model; + const rawInput = (body as { input?: unknown }).input; + const isCompactionTrigger = Array.isArray(rawInput) + && rawInput.some((item: unknown) => + typeof item === "object" && item !== null && (item as { type?: string }).type === "compaction_trigger"); + if (typeof rawModel === "string" && !rawModel.includes("/") && isCompactionTrigger + && !comboRows.fastRow && !comboEffortRow + && !resolveComboId(config, rawModel)) { + const recalledComboId = recallComboForLane(config, sessionLaneIdFromRequest(req.headers), rawModel); + if (recalledComboId) { + (body as Record<string, unknown>).model = `combo/${recalledComboId}`; + } + } + } const comboId = !options.comboAttempt ? comboIdFromRawBody(body, config) : null; if (comboId && Object.hasOwn(config.combos ?? {}, comboId)) { options.onRequestBodyRead?.(); @@ -3445,6 +3615,7 @@ async function handleResponsesInner( let shadowIntercepted = false; let route: RouteResult; + let credentialDomainWasRewritten = false; try { // A `compaction_trigger` turn may name a bare native model the operator has // no canonical OpenAI route for (#2901). Only the initial compaction route @@ -3467,6 +3638,7 @@ async function handleResponsesInner( const targetRoute = resolveRoute(_sci.model); if (shouldInterceptShadowCall(parsed.modelId, _sci.sourceModels, sourceIdentity, targetRoute)) { shadowIntercepted = true; + credentialDomainWasRewritten = true; const _sciOriginal = parsed.modelId; parsed.modelId = _sci.model; if (parsed._rawBody && typeof parsed._rawBody === "object") { @@ -3625,6 +3797,7 @@ async function handleResponsesInner( if (fallback?.to && !slugsEquivalent(fallback.to, route.modelId)) { try { route = routeModel(config, fallback.to, evidenceFromBody(parsed._rawBody)); + credentialDomainWasRewritten = true; logCtx.routeDecision = route.routeDecision; } catch (err) { if (err instanceof NoAvailableComboTargetsError) { @@ -3761,6 +3934,7 @@ async function handleResponsesInner( if (fallback?.to && !slugsEquivalent(fallback.to, route.modelId)) { try { route = routeModel(config, fallback.to, evidenceFromBody(parsed._rawBody)); + credentialDomainWasRewritten = true; logCtx.routeDecision = route.routeDecision; } catch (err) { if (err instanceof NoAvailableComboTargetsError) { @@ -3801,14 +3975,16 @@ async function handleResponsesInner( // The canonical ChatGPT backend rejects previous_response_id, so a local replay miss leaves no // safe way to recover the omitted history. Fail before auth, adapter construction, or upstream // I/O instead of stripping the id and silently forwarding a context-free delta (#702). + // Codex recognizes previous_response_not_found on WebSocket errors and reconnects with its + // full input. A generic invalid_request_error instead terminates the task after cache expiry. if ( hasUnexpandedPreviousResponse && isCanonicalOpenAiForwardProvider(route.provider) ) { return formatErrorResponse( 400, - "invalid_request_error", - "OpenAI forward continuation state is unavailable or expired; start a new session instead of reusing this previous_response_id.", + "previous_response_not_found", + "OpenAI forward continuation state is unavailable or expired; resend the full conversation without previous_response_id.", ); } @@ -3927,11 +4103,13 @@ async function handleResponsesInner( } let substituteMainCredential = false; + let callerAuthHeaders: Headers; { - const finalAuth = await resolveResponsesCodexAuth(req, config, route, options); + const finalAuth = await resolveResponsesCodexAuth(req, config, route, options, credentialDomainWasRewritten); if (!finalAuth.ok) return finalAuth.response; authCtx = finalAuth.authCtx; selectedForwardHeaders = finalAuth.headers; + callerAuthHeaders = finalAuth.callerAuthHeaders; substituteMainCredential = finalAuth.substituteMainCredential; } @@ -4258,7 +4436,8 @@ async function handleResponsesInner( const ownsBearer = snapshot !== undefined && sentHeaders?.get("authorization") === `Bearer ${snapshot.accessToken}` && !sentHeaders?.has("x-api-key"); - const response = await fetchImpl(destination, dispatchInit); + // Reselection can choose a provider override instead of the supplied executor. + const response = await fetchImpl(destination, { ...dispatchInit, redirect: "manual" }); // Observe each physical response before retries replace it. The binding belongs to // this dispatch, so a manual switch cannot file A's headers against B. Header // overrides and credential replacement make ownership unprovable: skip those writes. @@ -4516,9 +4695,9 @@ async function handleResponsesInner( ); let adapterProvider = resolveWireProtocolOverride(route.providerName, route.modelId, route.provider, inboundWire); const stripClaudeMainAuth = options.stripClaudeMainAuthForNoncanonicalForward === true - && adapterProvider.adapter === "openai-responses" - && adapterProvider.authMode === "forward" - && !isCanonicalOpenAiForwardProvider(adapterProvider); + && !isCanonicalOpenAiForwardProvider(adapterProvider) + && ((adapterProvider.adapter === "openai-responses" && adapterProvider.authMode === "forward") + || providerConsumesCallerAuthorization(adapterProvider)); if (stripClaudeMainAuth) { releaseCodexAuthContextProbeLease(authCtx); authCtx = { kind: "main", accountId: null }; @@ -4649,9 +4828,18 @@ async function handleResponsesInner( const needsOpenAiSearch = shouldResolveOpenAiWebSearchSidecar(config, parsed, isPassthrough); if (needsOpenAiVision || needsOpenAiSearch) { try { + // Preserve explicit OpenAI helper auth across route changes without returning it to + // primary-provider headers or alternate-main retry. The resolver revalidates scope. + const sidecarHeaders = new Headers(req.headers); + sidecarHeaders.delete("authorization"); + sidecarHeaders.delete("chatgpt-account-id"); + if (options.openAiSidecarAuth) { + sidecarHeaders.set("authorization", options.openAiSidecarAuth.authorization); + sidecarHeaders.set("chatgpt-account-id", options.openAiSidecarAuth.chatgptAccountId); + } openAiSidecar = await resolveFirstUsableOpenAiSidecar( listOpenAiForwardSidecarCandidates(config), - req.headers, + sidecarHeaders, config, { admission: options.admission, @@ -4708,6 +4896,17 @@ async function handleResponsesInner( } const recordTerminalOutcomes = options.recordTerminalOutcomes !== false; + let responseCompletionNotified = false; + let responseCompletionCancelled = false; + const cancelResponseCompletion = (): void => { responseCompletionCancelled = true; }; + const notifyResponseComplete = (response: { status?: unknown; model?: unknown }): void => { + if (responseCompletionNotified || responseCompletionCancelled + || options.abortSignal?.aborted || req.signal.aborted + || response.status !== "completed" + || typeof response.model !== "string" || !response.model.trim()) return; + responseCompletionNotified = true; + options.onResponseComplete?.(response.model); + }; const continuationStateForResponse = ( emitted?: OcxProviderContinuationState, @@ -4992,9 +5191,26 @@ async function handleResponsesInner( // check sees nothing undeclared, and the refused turn enters continuation state anyway. So the // rejection is sticky for the whole turn, set from every parsed payload on the inspection side. let inspectionSawUndeclaredTool = false; + let inspectedTerminal: ResponsesTerminalStatus | null = null; + let inspectedCompletionSeen = false; + let firstTerminalAllowsRecall = false; const passiveQuotaObserved = hasPassiveAccountQuota(route.providerName) && route.provider.authMode === "oauth"; const noteInspectedPayload = (payload: unknown) => { + // First terminal stays authoritative even in metadata-only inspection, which + // intentionally continues parsing after a failed/incomplete terminal. + const terminal = terminalStatusFromParsed(payload); + if (inspectedTerminal === null && terminal !== null) { + inspectedTerminal = terminal; + // The client boundary accepts a terminal by event type, even without a + // response object. Such a terminal must permanently decline recall. + if (terminal === "completed" && payload && typeof payload === "object" + && "response" in payload && payload.response && typeof payload.response === "object" + && !Array.isArray(payload.response) && "model" in payload.response) { + firstTerminalAllowsRecall = typeof payload.response.model === "string" + && payload.response.model.trim().length > 0; + } + } // Meta reports subscription usage ONLY as an in-stream event; there is no endpoint // to poll (003 §E probed 17 paths, all 404). Observed here rather than behind a // dedicated inspector handler because onParsedPayload already reaches every @@ -5019,8 +5235,7 @@ async function handleResponsesInner( // Gated on the same flag as the guard itself: with no readable catalog (or a forward-auth // provider) every name looks undeclared, and flipping this would stop recording continuation // state for exactly the passthrough traffic the guard deliberately stands down for. - if (!undeclaredToolGuardActive || inspectionSawUndeclaredTool) return; - if (undeclaredToolCallName( + if (undeclaredToolGuardActive && !inspectionSawUndeclaredTool && undeclaredToolCallName( restoreAuthorizedBareNamespaceToolCalls(payload), declaredWireToolNames, declaredNamelessClientCallTypes, @@ -5028,33 +5243,61 @@ async function handleResponsesInner( ) !== undefined) { inspectionSawUndeclaredTool = true; } + // The snapshot callback opts the inspector into output reconstruction. Compaction + // has no continuation cache, so use the parsed terminal here without adding retention. + if (!rememberPassthroughResponse && payload && typeof payload === "object" + && "type" in payload && payload.type === "response.completed" + && "response" in payload && payload.response && typeof payload.response === "object" + && !Array.isArray(payload.response)) { + rememberPassthroughResponseChecked(payload.response as Record<string, unknown>); + } }; - const rememberPassthroughResponseChecked = rememberPassthroughResponse - ? (response: { id?: unknown; output?: unknown; status?: unknown }) => { - if (inspectionSawUndeclaredTool) return; - const restored = restoreRoutedCustomCalls( - restoreAuthorizedBareNamespaceToolCalls(restoreRoutedNamespaceCalls(response, routedNamespaceToolAliases).value), - routedCustomToolNames, - routedCustomToolRepairNames, + const rememberPassthroughResponseChecked = ( + response: { id?: unknown; output?: unknown; status?: unknown; model?: unknown }, + ) => { + if (inspectionSawUndeclaredTool) return; + const restored = restoreRoutedCustomCalls( + restoreAuthorizedBareNamespaceToolCalls(restoreRoutedNamespaceCalls(response, routedNamespaceToolAliases).value), + routedCustomToolNames, + routedCustomToolRepairNames, + declaredWireToolNames, + ).value; + const restoredResponse = (functionRepairSchemas.size > 0 + ? JSON.parse(normalizeFunctionCompletionJson(JSON.stringify(restored))) + : restored) as { id?: unknown; output?: unknown; status?: unknown }; + // Replay overlap compares the items the client echoes, including visible reasoning shape. + const replayResponse = parsed.options.hideThinkingSummary !== true + && routeUsesContentChannelReasoning(route.provider, route.modelId) + ? rewriteReasoningSummaryInJson(restoredResponse) as typeof restoredResponse + : restoredResponse; + if ( + undeclaredToolGuardActive + && undeclaredToolCallNameInResponse( + restoredResponse, declaredWireToolNames, - ).value; - const restoredResponse = (functionRepairSchemas.size > 0 - ? JSON.parse(normalizeFunctionCompletionJson(JSON.stringify(restored))) - : restored) as { id?: unknown; output?: unknown; status?: unknown }; - if ( - undeclaredToolGuardActive - && undeclaredToolCallNameInResponse( - restoredResponse, - declaredWireToolNames, - declaredNamelessClientCallTypes, - providerExecutedCallTypes, - ) !== undefined - ) { - return; + declaredNamelessClientCallTypes, + providerExecutedCallTypes, + ) !== undefined + ) { + return; + } + rememberPassthroughResponse?.(replayResponse); + const firstCompletion = !inspectedCompletionSeen; + inspectedCompletionSeen = true; + if (firstCompletion && (inspectedTerminal === null || firstTerminalAllowsRecall)) { + // A model-less first completion permanently declines recall; later terminal + // frames are hidden by the client boundary and cannot supply its identity. + // Native inspection sees the pre-rewrite model. Only an actual terminal + // model can seed recall; an absent model never falls back to the pick. + if (typeof response.model === "string" && response.model.trim()) { + notifyResponseComplete({ + status: response.status, + model: parsed._responseModelId !== undefined && parsed._responseModelId !== parsed.modelId + ? parsed._responseModelId : response.model, + }); } - rememberPassthroughResponse(restoredResponse); } - : undefined; + }; recordAdapterReasoning(logCtx, request); recordAdapterTier(logCtx, request); const actualHostKey = upstreamHostHealthKey( @@ -5705,7 +5948,7 @@ async function handleResponsesInner( // justify because this flag already produced the identical result. const storedReplaySpent = codex401ReplayKind === "stored"; const retry = await retryCodexPoolOnAlternateAccount({ - req, + callerAuthHeaders, config, route, parsed, @@ -6217,7 +6460,7 @@ async function handleResponsesInner( const inspector = createSseInspector({ onTerminal: reportNativeTerminal, logCtx, - onCompletedResponse: rememberPassthroughResponseChecked, + onCompletedResponse: rememberPassthroughResponse ? rememberPassthroughResponseChecked : undefined, onParsedPayload: noteInspectedPayload, onFirstOutput: options.onFirstOutput, pinCompletedResponseIdToFirstSeen: githubCopilotRepairEnabled, @@ -6247,7 +6490,10 @@ async function handleResponsesInner( reportNativeTerminal("failed", 502); } }, - onClientCancel: () => options.onNativePassthroughCancel?.(), + onClientCancel: () => { + responseCompletionCancelled = true; + options.onNativePassthroughCancel?.(); + }, onDone: () => unregisterTurn(turnAc), }, { clientGoneSignal: options.abortSignal, @@ -6309,8 +6555,11 @@ async function handleResponsesInner( turnAc.signal, () => unregisterTurn(turnAc), logCtx, - () => options.onNativePassthroughCancel?.(), - rememberPassthroughResponseChecked, + () => { + responseCompletionCancelled = true; + options.onNativePassthroughCancel?.(); + }, + rememberPassthroughResponse ? rememberPassthroughResponseChecked : undefined, options.onFirstOutput, inspectionConsumerOptions, ); @@ -6320,7 +6569,7 @@ async function handleResponsesInner( logCtx, turnAc.signal, () => unregisterTurn(turnAc), - rememberPassthroughResponseChecked, + rememberPassthroughResponse ? rememberPassthroughResponseChecked : undefined, options.onFirstOutput, inspectionConsumerOptions, ); @@ -6335,7 +6584,10 @@ async function handleResponsesInner( const clientBody = relaySseWithFailedTail( rewrittenBody, upstream, - reason => clientGone.abort(reason), + reason => { + responseCompletionCancelled = true; + clientGone.abort(reason); + }, { upstreamError: logCtx.upstreamError }, ); return markNativePassthroughSseResponse(new Response(clientBody, { @@ -6419,13 +6671,11 @@ async function handleResponsesInner( } } commitReasoningReplayServingRoute(); - if (rememberPassthroughResponseChecked) { - try { - rememberPassthroughResponseChecked( - JSON.parse(clientJson) as { id?: unknown; output?: unknown; status?: unknown }, - ); - } catch { /* non-JSON despite content-type; recording is best-effort */ } - } + try { + rememberPassthroughResponseChecked( + JSON.parse(clientJson) as { id?: unknown; output?: unknown; status?: unknown; model?: unknown }, + ); + } catch { /* non-JSON despite content-type; recording is best-effort */ } // #875: the transport-neutral reliability policy forced a bounded JSON // upstream for a client that asked for SSE. Reframe the completed JSON // as the canonical terminal SSE sequence (created → output_item.done → @@ -6776,10 +7026,12 @@ async function handleResponsesInner( continuationStateForResponse(providerState), responseStateOptions(adapterNeedsForcedContinuation(adapter.name)), ); + notifyResponseComplete(response); }, }); if (imgResponse.body) { const imgTurnAc = new AbortController(); + imgTurnAc.signal.addEventListener("abort", cancelResponseCompletion, { once: true }); return new Response(trackStreamLifetime(imgResponse.body, imgTurnAc, undefined, options.turnAdmissionLease), { status: imgResponse.status, headers: imgResponse.headers, @@ -6855,12 +7107,16 @@ async function handleResponsesInner( streamRoutedModelOutput: wsPlan.streamRoutedModelOutput, on429: rotateSidecarProviderOn429, retryOn429Policy: rateLimitRetryPolicyFor(route.provider), - onCompletedResponse: commitReasoningReplayServingRoute, + onCompletedResponse: response => { + commitReasoningReplayServingRoute(); + notifyResponseComplete(response); + }, }); // Register the sidecar stream as an active turn so drainAndShutdown waits for (or aborts) // in-flight web-search turns instead of skipping them during graceful shutdown. if (wsResponse.body) { const wsTurnAc = new AbortController(); + wsTurnAc.signal.addEventListener("abort", cancelResponseCompletion, { once: true }); return new Response(trackStreamLifetime(wsResponse.body, wsTurnAc, undefined, options.turnAdmissionLease), { status: wsResponse.status, headers: wsResponse.headers, @@ -7092,6 +7348,7 @@ async function handleResponsesInner( const sseStream = bridgeToResponsesSSE( guardedSource, parsed._responseModelId ?? parsed.modelId, toolNsMap, freeformToolNames, toolSearchToolNames, () => { + cancelResponseCompletion(); runTurnAbort.abort(); queue.close(); }, 2_000, @@ -7130,6 +7387,7 @@ async function handleResponsesInner( responseStateOptions(adapterNeedsForcedContinuation(adapter.name)), ); } + notifyResponseComplete(response); }, }, ); @@ -7208,6 +7466,7 @@ async function handleResponsesInner( if (adapterResponseReachedServingTerminal(events, json)) { commitReasoningReplayServingRoute(); } + notifyResponseComplete(json); return new Response(JSON.stringify(json), { headers: { "Content-Type": "application/json" } }); } @@ -7255,10 +7514,11 @@ async function handleResponsesInner( toolBridgeMaps.toolNsMap, toolBridgeMaps.freeformToolNames, toolBridgeMaps.toolSearchToolNames, - undefined, + cancelResponseCompletion, 2_000, { translatorBudget, + onCompletedResponse: notifyResponseComplete, ...(options.forceEmptyResponseId ? { responseId: "" } : {}), ...(options.onFirstOutput ? { onFirstOutput: options.onFirstOutput } : {}), }, @@ -7279,12 +7539,9 @@ async function handleResponsesInner( }, ); } - return new Response( - JSON.stringify(buildResponseJSON(terminalEvents, parsed._responseModelId ?? parsed.modelId, { - translatorBudget, - })), - { headers: { "Content-Type": "application/json" } }, - ); + const json = buildResponseJSON(terminalEvents, parsed._responseModelId ?? parsed.modelId, { translatorBudget }); + notifyResponseComplete(json); + return new Response(JSON.stringify(json), { headers: { "Content-Type": "application/json" } }); } // One request-scoped transient-retry budget owner, declared here so BOTH the initial send // and the later recovery refetches (429, key/account rotation, OAuth replay) share it. A @@ -8638,7 +8895,7 @@ async function handleResponsesInner( const benchmarkUsageGate = { done: false }; const sseStream = bridgeToResponsesSSE( guardedEventStream, parsed._responseModelId ?? parsed.modelId, toolNsMap, freeformToolNames, toolSearchToolNames, - () => upstream.abort(), 2_000, + () => { cancelResponseCompletion(); upstream.abort(); }, 2_000, { translatorBudget, replayCacheScope: parsed._reasoningReplayScope, @@ -8675,6 +8932,7 @@ async function handleResponsesInner( responseStateOptions(activeAdapter.name === "kiro"), ); } + notifyResponseComplete(response); }, }, ); @@ -8756,6 +9014,7 @@ async function handleResponsesInner( if (adapterResponseReachedServingTerminal(events, json)) { commitReasoningReplayServingRoute(); } + notifyResponseComplete(json); return new Response(JSON.stringify(json), { headers: { "Content-Type": "application/json" } }); } diff --git a/src/server/responses/fetch-helpers.ts b/src/server/responses/fetch-helpers.ts index 55f97baf48a..e637abe1f71 100644 --- a/src/server/responses/fetch-helpers.ts +++ b/src/server/responses/fetch-helpers.ts @@ -9,9 +9,6 @@ import type { OcxProviderConfig } from "../../types"; import type { WsData } from "../ws-bridge"; import { waitForProviderRequestSlot } from "../../providers/request-pacing"; import { withUpstreamHttpVersion } from "../../lib/upstream-http-version"; -import { providerTlsFetch } from "../../lib/provider-tls-profile"; -import { testProviderFetch } from "../../lib/test-provider-fetch"; -import { runtimeProviderFetch } from "../../lib/provider-runtime-fetch"; import type { CodexWsQuotaObserver } from "./codex-ws-metadata"; export { withUpstreamHttpVersion }; @@ -68,8 +65,6 @@ export interface ProviderFetchOptions { modelId?: string; /** One pacing slot was acquired immediately before this fetch wrapper was created. */ pacingSlotAcquired?: boolean; - /** Explicit test/integration executor; never read from serialized provider config. */ - fetch?: typeof globalThis.fetch; /** Captured selected-account observer, attached before the native WS send. */ onCodexWsQuota?: CodexWsQuotaObserver; /** Synchronous admission at actual credential dispatch, after pacing/backoff. */ @@ -83,24 +78,24 @@ export function providerFetch( runtime: BunRuntimeGateInput = currentBunRuntimeIdentity(), options: ProviderFetchOptions = {}, ): ProviderFetch { - const base = options.fetch - ?? testProviderFetch(provider) - ?? runtimeProviderFetch(provider, options.providerName) - ?? (provider as OcxProviderConfig & { fetch?: typeof globalThis.fetch }).fetch - ?? globalThis.fetch; + const base = (provider as OcxProviderConfig & { fetch?: typeof globalThis.fetch }).fetch ?? globalThis.fetch; const preconnect = (...args: Parameters<typeof globalThis.fetch.preconnect>): void => { base.preconnect?.(...args); }; - const transport = options.providerName - ? providerTlsFetch(options.providerName, provider, base) - : base; + // Rebuilt dispatches must use the same physical-send boundary as ordinary HTTP sends. + // Return the original 3xx so the response owner retains its retry/health/relay contract. + const dispatch = Object.assign( + (input: Parameters<typeof globalThis.fetch>[0], init?: RequestInit) => + base(input, { ...init, redirect: "manual" }), + { preconnect }, + ) as typeof globalThis.fetch; const httpFetch = Object.assign( async (input: Parameters<typeof globalThis.fetch>[0], init?: RequestInit) => { options.beforeDispatch?.(new Headers(init?.headers ?? (input instanceof Request ? input.headers : undefined))); const dispatchInit = { ...withUpstreamHttpVersion(input, init, provider), timeout: 0 }; return options.dispatchOverride - ? options.dispatchOverride(input, dispatchInit, transport) - : transport(input, dispatchInit); + ? options.dispatchOverride(input, dispatchInit, dispatch) + : dispatch(input, dispatchInit); }, { preconnect }, ) as typeof globalThis.fetch; @@ -109,19 +104,12 @@ export function providerFetch( // else keeps the provider's HTTP fetch. See ws-upstream.ts for the details. const unpaced = async (input: Parameters<typeof globalThis.fetch>[0], init?: RequestInit) => { const upstreamWebsocket = provider.upstreamWebsocket === true; - const wsOpts = { - // Keep the canonical ChatGPT fast lane independent: upstreamWebsocket opts a - // configured HTTPS /responses endpoint in, but must not silently enable Codex WS. - wsUpstream: provider.wsUpstream, - maxWsFrameBytes: provider.maxWsFrameBytes, - upstreamWebsocket, - }; - if (typeof input === "string" && init && shouldUseCodexWsUpstream(input, init, runtime, wsOpts)) { + if (typeof input === "string" && init && shouldUseCodexWsUpstream(input, init, runtime, upstreamWebsocket)) { // The fallback has to be the same HTTP fetch the non-WS branch would have // used, protocol pin included: a WS turn that falls back is serving the // request over HTTP, and dropping the provider's `upstreamHttpVersion` // there would silently negotiate a transport the operator ruled out. - return codexWsUpstreamFetch(input, init, httpFetch, runtime, wsOpts, options.onCodexWsQuota, options.beforeDispatch); + return codexWsUpstreamFetch(input, init, httpFetch, runtime, options.onCodexWsQuota, options.beforeDispatch); } return httpFetch(input, init); }; @@ -190,6 +178,10 @@ export function storedPoolReplayDispatchNotifier( }) as ProviderFetch; } +/** + * Fetch through the header deadline with redirects always manual. + * @param _manualRedirect Ignored; retained for call compatibility. Even false uses manual. + */ export async function fetchWithHeaderTimeout( url: string, init: Omit<RequestInit, "signal">, @@ -197,7 +189,8 @@ export async function fetchWithHeaderTimeout( timeoutMs: number, preferIdentityEncoding = false, executor: typeof globalThis.fetch = globalThis.fetch, - _manualRedirect = true, + // Retained for existing callers; credential-bearing transport no longer opts out. + _manualRedirect = false, ): Promise<Response> { const pacing = executor as ProviderFetch; await pacing.waitForPacing?.(abortSignal); @@ -216,9 +209,9 @@ export async function fetchWithHeaderTimeout( const response = await fetchExecutor(url, { ...init, headers, - // Upstream URLs are configuration, not navigation. Refuse every redirect - // so POST bodies and provider headers are never replayed to another hop. - redirect: "manual" as const, + // Never replay provider credentials or request bodies to a redirect destination. + // Preserve the 3xx for the owner's existing response/health policy (#914, #1471). + redirect: "manual", signal: AbortSignal.any([abortSignal, timeout.signal]), timeout: 0, }); diff --git a/src/server/responses/policy-fallback.ts b/src/server/responses/policy-fallback.ts index a4f06d0fa63..a6f1d425d80 100644 --- a/src/server/responses/policy-fallback.ts +++ b/src/server/responses/policy-fallback.ts @@ -6,6 +6,8 @@ import type { OcxConfig } from "../../types"; import type { RouteCandidateTrace, RouteDecisionTraceV1 } from "../../routing/trace"; import { handleResponses as handleResponsesCore } from "./core"; import { requestPacingOverloadResponse } from "./pacing-overload"; +import { captureExplicitOpenAiCallerAuth } from "../../providers/openai-sidecar"; +import { captureCallerDirectAuth } from "../../providers/caller-authorization"; type CoreHandler = typeof handleResponsesCore; type CoreOptions = Parameters<CoreHandler>[3]; @@ -47,6 +49,10 @@ function requestWithCandidate( candidate: Pick<RouteCandidateTrace, "provider" | "model">, ): Request { const headers = new Headers(req.headers); + // The next candidate owns a different physical credential domain. Typed + // admission and any claimed Claude snapshot stay in caller-owned CoreOptions. + headers.delete("authorization"); + headers.delete("chatgpt-account-id"); headers.delete("content-encoding"); headers.delete("content-length"); headers.set("content-type", "application/json"); @@ -119,6 +125,12 @@ export async function handleResponsesWithPolicyFallback( let storedPool401ReplayDispatched = false; const coreOptions: CoreOptions = { ...options, + openAiSidecarAuth: options.openAiSidecarAuth === undefined + ? captureExplicitOpenAiCallerAuth(req.headers, config) : options.openAiSidecarAuth, + nativeCallerAuth: options.nativeCallerAuth === undefined + ? captureExplicitOpenAiCallerAuth(req.headers, config) : options.nativeCallerAuth, + callerDirectAuth: options.callerDirectAuth === undefined + ? captureCallerDirectAuth(req.headers, config) : options.callerDirectAuth, ...(options.onRequestBodyRead ? { onRequestBodyRead: () => { if (requestBodyReadNotified) return; diff --git a/src/server/responses/ws-upstream.ts b/src/server/responses/ws-upstream.ts index 6199a11dd60..87b3767d2b6 100644 --- a/src/server/responses/ws-upstream.ts +++ b/src/server/responses/ws-upstream.ts @@ -4,8 +4,8 @@ // a measurably faster queue than the plain SSE POST path. Measured 2026-08-12 // KST (same account, same payload, strictly sequential): gpt-5.6-luna TTFT p50 // ~1.0s over WS vs ~3.9s over SSE. Codex CLI itself defaults to the WS -// transport; opencodex keeps HTTP/SSE as its reliable default and allows -// operators to opt into WS when the lower latency is worth the risk. +// transport; opencodex previously always POSTed SSE, which is where its extra +// 2-3s of TTFT came from. // // The wrapper only swaps the transport. It dials wss:// with the same headers, // sends the JSON body as a single `response.create` frame, and re-encodes the @@ -19,11 +19,12 @@ import { CODEX_RESPONSES_HTTP_URL, CODEX_RESPONSES_WS_URL, prepareCodexHttpInit, import { codexWsExchange } from "./codex-ws-exchange"; import { CodexWsSession } from "./codex-ws-session"; import { codexWsPool, codexWsReuseIdentity } from "./codex-ws-pool"; -import { CODEX_WS_CREATE_FRAME_LIMIT_BYTES, codexWsCreateFrameExceedsLimit } from "./codex-ws-wire"; +import { codexWsCreateFrameExceedsLimit } from "./codex-ws-wire"; export { CODEX_WS_RESPONSE_PRELUDE_TIMEOUT_MS, MAX_CODEX_WS_FRAME_BYTES, MAX_CODEX_WS_QUEUE_BYTES, MAX_CODEX_WS_CREATE_FRAME_BYTES, CODEX_WS_CREATE_FRAME_LIMIT_BYTES, codexWsCreateFrameExceedsLimit, isCodexWsQuotaObservedResponse, isCodexWsUpstreamResponse } from "./codex-ws-wire"; export const MIN_BOUNDED_CODEX_WS_BUN_VERSION = "1.4.0"; + /** * Dial URL for a request URL. The canonical ChatGPT backend keeps its constant; * an operator-opted OpenAI-compatible upstream swaps https for wss on the same @@ -32,7 +33,7 @@ export const MIN_BOUNDED_CODEX_WS_BUN_VERSION = "1.4.0"; * a provider WS handshake would otherwise send credentials and request data * without transport encryption. */ -export function wsUpstreamUrlFor(httpUrl: string): string { +function wsUpstreamUrlFor(httpUrl: string): string { if (httpUrl === CODEX_RESPONSES_HTTP_URL) return CODEX_RESPONSES_WS_URL; return httpUrl.replace(/^http(s?):/, "ws$1:"); } @@ -43,14 +44,15 @@ export function wsUpstreamUrlFor(httpUrl: string): string { * and every downstream consumer (adapter parsers, usage sniffing, SSE relay) * assumes that wire. Other paths (chat completions, images, search) stay HTTP. */ -export function isResponsesWebsocketEligibleUrl(url: string): boolean { +function isResponsesWebsocketEligibleUrl(url: string): boolean { let parsed: URL; try { parsed = new URL(url); } catch { return false; } - return parsed.protocol === "https:" && parsed.pathname.endsWith("/responses"); + return parsed.protocol === "https:" + && parsed.pathname.endsWith("/responses"); } export type BunRuntimeIdentity = { version: string; @@ -59,29 +61,6 @@ export type BunRuntimeIdentity = { export type BunRuntimeGateInput = string | BunRuntimeIdentity; -export interface CodexWsUpstreamOptions { - wsUpstream?: boolean; - maxWsFrameBytes?: number; - upstreamWebsocket?: boolean; -} - -export function isCodexWsUpstreamDisabled(options?: CodexWsUpstreamOptions): boolean { - if (options?.wsUpstream !== undefined) return options.wsUpstream !== true; - const env = process.env.OCX_CODEX_WS_UPSTREAM; - return env !== "true" && env !== "1"; -} - -export function resolveCodexWsMaxFrameBytes(options?: CodexWsUpstreamOptions): number { - if (typeof options?.maxWsFrameBytes === "number" && Number.isFinite(options.maxWsFrameBytes) && options.maxWsFrameBytes > 0) { - return Math.min(options.maxWsFrameBytes, CODEX_WS_CREATE_FRAME_LIMIT_BYTES); - } - const envVal = process.env.OCX_CODEX_WS_MAX_FRAME_BYTES; - if (envVal) { - const parsed = Number.parseInt(envVal, 10); - if (Number.isFinite(parsed) && parsed > 0) return Math.min(parsed, CODEX_WS_CREATE_FRAME_LIMIT_BYTES); - } - return CODEX_WS_CREATE_FRAME_LIMIT_BYTES; -} export function currentBunRuntimeIdentity(): BunRuntimeIdentity { return { version: Bun.version, @@ -122,26 +101,11 @@ export function shouldUseCodexWsUpstream( url: string, init?: RequestInit, runtime: BunRuntimeGateInput = currentBunRuntimeIdentity(), - options?: CodexWsUpstreamOptions | boolean, + upstreamWebsocketConfigured = false, ): boolean { - // Union: accept boolean legacy (vendor upstreamWebsocketConfigured) and object (fork CodexWsUpstreamOptions). - let opts: CodexWsUpstreamOptions | undefined; - let upstreamWebsocketConfigured = false; - if (typeof options === "boolean") { - upstreamWebsocketConfigured = options; - } else { - opts = options; - upstreamWebsocketConfigured = opts?.upstreamWebsocket === true; - } if (!bunSupportsBoundedCodexWsRelay(runtime)) return false; - if (url === CODEX_RESPONSES_HTTP_URL) { - // A custom-upstream opt-in never enables the canonical ChatGPT fast lane. - if (typeof options !== "boolean" && isCodexWsUpstreamDisabled(opts)) return false; - } else if (upstreamWebsocketConfigured) { - if (!isResponsesWebsocketEligibleUrl(url)) return false; - } else { - return false; - } + if (url !== CODEX_RESPONSES_HTTP_URL && !upstreamWebsocketConfigured) return false; + if (upstreamWebsocketConfigured && !isResponsesWebsocketEligibleUrl(url)) return false; if ((init?.method ?? "GET").toUpperCase() !== "POST") return false; const body = init?.body; if (typeof body !== "string") return false; @@ -163,18 +127,15 @@ export function codexWsUpstreamFetch( init: RequestInit, sseFallback: typeof globalThis.fetch, runtime: BunRuntimeGateInput = currentBunRuntimeIdentity(), - options?: CodexWsUpstreamOptions | boolean, onQuota?: CodexWsQuotaObserver, beforeDispatch?: (headers: Headers) => void, ): Promise<Response> { - const opts = typeof options === "boolean" ? undefined : options; - const customUpstream = options === true || opts?.upstreamWebsocket === true; - if ((!customUpstream && isCodexWsUpstreamDisabled(opts)) || !bunSupportsBoundedCodexWsRelay(runtime)) { - return sseFallback(url, prepareCodexHttpInit(url, init)); - } const prepared = prepareCodexWsRequest(url, init); if (!prepared) return sseFallback(url, prepareCodexHttpInit(url, init)); init = prepared.httpInit; + if (!bunSupportsBoundedCodexWsRelay(runtime)) { + return sseFallback(url, init); + } const signal = init.signal ?? undefined; if (signal?.aborted) { return Promise.reject(signal.reason ?? new DOMException("The operation was aborted.", "AbortError")); @@ -186,8 +147,7 @@ export function codexWsUpstreamFetch( // streaming Response, so the oversized close can only be surfaced as a stream // error — and a resend at that point could double-generate. Measuring the // frame we are about to send keeps the whole failure mode unreachable. - const maxFrameBytes = resolveCodexWsMaxFrameBytes(opts); - if (codexWsCreateFrameExceedsLimit(frameText, maxFrameBytes)) { + if (codexWsCreateFrameExceedsLimit(frameText)) { return sseFallback(url, init); } @@ -195,7 +155,6 @@ export function codexWsUpstreamFetch( const proxyRoute = resolveProxyRoute(new URL(wsUrl)); if (proxyRoute.kind === "fallback") return sseFallback(url, init); const proxy = proxyRoute.kind === "proxy" ? proxyRoute.proxy : undefined; - // A genuine caller `originator` is already in these headers via the forward // set. Never fabricate one here: pool/forward traffic must not impersonate // Codex CLI, per the metadata-integrity contract. (The backend's fast lane diff --git a/src/service.ts b/src/service.ts index fa8770ec55c..1fa97c424db 100644 --- a/src/service.ts +++ b/src/service.ts @@ -16,6 +16,13 @@ import { restoreNativeCodex, restoreNativeCodexAsync } from "./codex/inject"; import { stripGrokConfig } from "./grok/inject"; import { isWslRuntime, resolveCodexHomeDir, type CodexHomeDeps } from "./codex/home"; import { BUN_RUNTIME_PATH_ENV, BUN_RUNTIME_SOURCE_ENV, durableBunRuntime } from "./lib/bun-runtime"; + +/** + * Written only by the launchd plist and the systemd unit. `OCX_SERVICE=1` cannot stand in + * for it: `ocx claude` and `ocx opencode` set that on the proxies they spawn to borrow its + * routing-preservation meaning, so a proxy carrying it is not necessarily the managed job. + */ +export const SERVICE_MANAGED_ENV = "OCX_SERVICE_MANAGED"; import type { BunRuntimeSource, DurableBunRuntime } from "./lib/bun-runtime"; import { isProcessAlive, stopProxy } from "./lib/process-control"; import { serviceApiTokenFilePath } from "./lib/service-secrets"; @@ -508,6 +515,11 @@ export function buildPlist( const opencodexHome = process.env.OPENCODEX_HOME?.trim(); const envLines = [ ` <key>OCX_SERVICE</key><string>1</string>`, + // OCX_SERVICE alone cannot identify the managed job: `ocx claude` and `ocx opencode` + // also set it on the proxies they spawn, to borrow its routing-preservation meaning + // (src/cli/index.ts preserveRouting). Only the wrapper writes this second marker, so + // the dashboard-stop refusal below can tell a real launchd job from an ordinary child. + ` <key>${SERVICE_MANAGED_ENV}</key><string>1</string>`, ...(launcher ? [] : [ ` <key>${BUN_RUNTIME_SOURCE_ENV}</key><string>${bunRuntimeSource}</string>`, ` <key>${BUN_RUNTIME_PATH_ENV}</key><string>${plistString(bun)}</string>`, @@ -3328,6 +3340,7 @@ export function buildUnit( const opencodexHome = systemdEnvironmentAssignment("OPENCODEX_HOME", process.env.OPENCODEX_HOME?.trim()); const envLines = [ systemdEnvironmentAssignment("OCX_SERVICE", "1"), + systemdEnvironmentAssignment(SERVICE_MANAGED_ENV, "1"), ...(launcher ? [] : [ systemdEnvironmentAssignment(BUN_RUNTIME_SOURCE_ENV, bunRuntimeSource), systemdEnvironmentAssignment(BUN_RUNTIME_PATH_ENV, bun), @@ -3860,10 +3873,31 @@ export async function installFreshWindowsSchedulerSafely( export function installedServiceRespawnRisk( probe: () => WindowsSchedulerTaskProbe = probeWindowsSchedulerTask, platform: NodeJS.Platform = process.platform, -): "none" | "respawnable" | "unknown" { + io: { env?: NodeJS.ProcessEnv; exists?: (path: string) => boolean } = {}, +): "none" | "respawnable" | "unknown" | "self-unload" { // launchd, systemd and WinSW are down when they report stopped; only the Task Scheduler // wrapper survives its task ending (#764). - if (platform !== "win32") return "none"; + // + // "Down when they report stopped" answers the RESPAWN question but not the SELF-UNLOAD + // one (#4023). When the proxy is itself the managed job, `launchctl unload` / + // `systemctl stop` terminate this very process, so the manager stop can kill the request + // handler before the shared teardown restores the native Codex config keys — leaving + // `openai_base_url`, `experimental_realtime_ws_base_url` and `model_catalog_json` + // pointed at a proxy that is gone. Reordering teardown ahead of the manager stop is not + // available here: the #3008 contract requires the manager to be proven stopped first. + // So refuse, exactly as Windows does, and send the operator to `ocx stop`, which stops + // the proxy from the outside and owns the teardown through its receipt. + if (platform !== "win32") { + const env = io.env ?? process.env; + // Discriminate on the wrapper-only marker, not on OCX_SERVICE: `ocx claude` and + // `ocx opencode` set OCX_SERVICE=1 on the proxies they spawn (for preserveRouting), + // and refusing their dashboard stop would break a proxy that no manager supervises. + if (env[SERVICE_MANAGED_ENV] !== "1") return "none"; + const exists = io.exists ?? existsSync; + if (platform === "darwin") return exists(plistPath()) ? "self-unload" : "none"; + if (platform === "linux") return exists(unitPath()) ? "self-unload" : "none"; + return "none"; + } try { // `probeWindowsSchedulerTask` returns "unknown" as an ordinary value when its queries // fail — it does not throw — so testing for "present" let an unanswerable probe diff --git a/src/storage/cleanup.ts b/src/storage/cleanup.ts index e44f7d7b5cd..adefc25443f 100644 --- a/src/storage/cleanup.ts +++ b/src/storage/cleanup.ts @@ -96,6 +96,7 @@ export interface CleanupResult { trashDir?: string; error?: CleanupErrorCode; removedPaths: string[]; + skippedReferencedPaths?: string[]; } const STATE_DB_FILE = /^state_(\d+)\.sqlite$/; @@ -684,52 +685,59 @@ function loadMatchingThreads(db: Database, candidates: ArchivedCandidate[], code } /** - * True when any matched thread is still linked to a thread outside the delete set - * (spawn edges) or uses paginated history that other live threads may depend on via fork. - * Throws real DB errors (busy/corruption) so callers can refuse cleanup. + * Partition matched threads into deletable and referenced snapshots. Linked spawn/fork + * history and paginated histories stay in the skipped set. Throws real DB errors. */ -function findReferencedHistory( +function filterReferencedHistory( db: Database, threads: ThreadSnapshot[], -): boolean { - if (threads.length === 0) return false; - const ids = threads.map(t => t.id); - const idSet = new Set(ids); - - // Paginated history keeps durable projections tied to the rollout — refuse cleanup. - if (threads.some(t => (t.history_mode ?? "").toLowerCase() === "paginated")) { - return true; - } - - // Spawn edges that cross the delete boundary keep history reachable. - if (tableExists(db, "thread_spawn_edges")) { - for (const chunk of chunkIds(ids, SQLITE_ID_CHUNK)) { +): { safe: ThreadSnapshot[]; skipped: ThreadSnapshot[] } { + let safe = threads.filter(t => (t.history_mode ?? "").toLowerCase() !== "paginated"); + const skipped = new Map(threads + .filter(t => (t.history_mode ?? "").toLowerCase() === "paginated") + .map(t => [t.id, t])); + + while (safe.length > 0) { + const idSet = new Set(safe.map(t => t.id)); + const unsafeIds = new Set<string>(); + + // Spawn edges that cross the delete boundary keep history reachable. + if (tableExists(db, "thread_spawn_edges")) { + for (const chunk of chunkIds([...idSet], SQLITE_ID_CHUNK)) { const placeholders = chunk.map(() => "?").join(","); const edges = db.query<{ parent_thread_id: string; child_thread_id: string }, string[]>( `SELECT parent_thread_id, child_thread_id FROM thread_spawn_edges WHERE parent_thread_id IN (${placeholders}) OR child_thread_id IN (${placeholders})`, ).all(...chunk, ...chunk); for (const edge of edges) { - if (!idSet.has(edge.parent_thread_id) || !idSet.has(edge.child_thread_id)) { - return true; + if (!idSet.has(edge.parent_thread_id)) unsafeIds.add(edge.child_thread_id); + if (!idSet.has(edge.child_thread_id)) unsafeIds.add(edge.parent_thread_id); + } + } + } + + // Other threads that list one of ours as forked_from / parent (when columns exist). + for (const column of ["forked_from_id", "parent_thread_id", "source_thread_id"] as const) { + if (!columnExists(db, "threads", column)) continue; + for (const chunk of chunkIds([...idSet], SQLITE_ID_CHUNK * 2)) { + const placeholders = chunk.map(() => "?").join(","); + const rows = db.query<{ id: string; ref: string }, string[]>( + `SELECT id, ${column} AS ref FROM threads WHERE ${column} IN (${placeholders})`, + ).all(...chunk); + for (const row of rows) { + if (!idSet.has(row.id)) unsafeIds.add(row.ref); } } } - } - // Other threads that list one of ours as forked_from / parent (when columns exist). - for (const column of ["forked_from_id", "parent_thread_id", "source_thread_id"] as const) { - if (!columnExists(db, "threads", column)) continue; - for (const chunk of chunkIds(ids, SQLITE_ID_CHUNK * 2)) { - const placeholders = chunk.map(() => "?").join(","); - const rows = db.query<{ id: string }, string[]>( - `SELECT id FROM threads WHERE ${column} IN (${placeholders})`, - ).all(...chunk); - if (rows.some(r => !idSet.has(r.id))) return true; + if (unsafeIds.size === 0) break; + for (const thread of safe) { + if (unsafeIds.has(thread.id)) skipped.set(thread.id, thread); } + safe = safe.filter(thread => !unsafeIds.has(thread.id)); } - return false; + return { safe, skipped: [...skipped.values()] }; } function tableExists(db: Database, name: string): boolean { @@ -778,6 +786,7 @@ function deleteThreadsAndDependents(db: Database, threadIds: string[]): void { interface ReconcileOk { ok: true; threads: ThreadSnapshot[]; + skipped: ThreadSnapshot[]; } interface ReconcileErr { ok: false; @@ -1463,14 +1472,14 @@ function withWritableDb( } } -/** Load matching archived threads and refuse referenced history — no deletes yet. */ +/** Load matching archived threads and retain referenced history — no deletes yet. */ function loadThreadsForCleanup( stateDbPath: string, candidates: ArchivedCandidate[], codexHome: string, busyTimeoutMs: number, ): ReconcileOk | ReconcileErr { - if (!stateDbPath || !existsSync(stateDbPath)) return { ok: true, threads: [] }; + if (!stateDbPath || !existsSync(stateDbPath)) return { ok: true, threads: [], skipped: [] }; let db: Database | undefined; try { db = openDbWritable(stateDbPath, busyTimeoutMs); @@ -1478,10 +1487,8 @@ function loadThreadsForCleanup( if (threads.some(t => Number(t.is_pinned ?? 0) === 1)) { return { ok: false, error: "pinned_thread" }; } - if (findReferencedHistory(db, threads)) { - return { ok: false, error: "referenced_history" }; - } - return { ok: true, threads }; + const filtered = filterReferencedHistory(db, threads); + return { ok: true, threads: filtered.safe, skipped: filtered.skipped }; } catch (error) { return { ok: false, error: mapDbError(error) }; } finally { @@ -1504,7 +1511,7 @@ function reconcileDeletedThreads( stageDir: string, hooks?: ReconcileTestHooks, ): ReconcileOk | ReconcileErr { - if (!paths.state || !existsSync(paths.state)) return { ok: true, threads: [] }; + if (!paths.state || !existsSync(paths.state)) return { ok: true, threads: [], skipped: [] }; if (hooks?.beforeReconcileLock) hooks.beforeReconcileLock(); @@ -1546,7 +1553,7 @@ function reconcileDeletedThreads( stateDb.exec("ROLLBACK"); return { ok: false, error: "pinned_thread" }; } - if (findReferencedHistory(stateDb, threads)) { + if (filterReferencedHistory(stateDb, threads).safe.length !== threads.length) { stateDb.exec("ROLLBACK"); return { ok: false, error: "referenced_history" }; } @@ -1582,7 +1589,7 @@ function reconcileDeletedThreads( if (hooks?.afterSatelliteMutations) hooks.afterSatelliteMutations(); // Re-check under the same lock before committing state deletes. - if (findReferencedHistory(stateDb, threads)) { + if (filterReferencedHistory(stateDb, threads).safe.length !== threads.length) { stateDb.exec("ROLLBACK"); return failWithRestore("referenced_history"); } @@ -1590,7 +1597,7 @@ function reconcileDeletedThreads( if (hooks?.failBeforeStateCommit) throw new Error("test_fail_before_state_commit"); stateDb.exec("COMMIT"); // Keep satellite-backup.json for quarantine restore; permanent purge removes the stage. - return { ok: true, threads }; + return { ok: true, threads, skipped: [] }; } catch (error) { if (satelliteLocks) rollbackAllSatelliteLocks(satelliteLocks); throw error; @@ -1895,7 +1902,30 @@ export function executeArchivedCleanup(options: ExecuteCleanupOptions): CleanupR const normalized = normalizeArchivedRolloutPath(thread.rollout_path, codexHome); if (normalized) threadByRelPath.set(normalized, thread); } - const manifestEntries: CleanupManifestEntry[] = preview.candidates.map(candidate => { + const skippedReferencedPaths = loaded.skipped + .map(thread => normalizeArchivedRolloutPath(thread.rollout_path, codexHome)) + .filter((path): path is string => path !== null); + const matchedPaths = new Set([ + ...threadByRelPath.keys(), + ...skippedReferencedPaths, + ]); + const candidates = preview.candidates.filter(candidate => { + return !matchedPaths.has(candidate.relPath) || threadByRelPath.has(candidate.relPath); + }); + if (candidates.length === 0) { + removeStageIfEmpty(stageDir, []); + removeEmptyTrashRoot(codexHome); + return { + ok: true, + mode, + percent, + count: 0, + bytes: 0, + removedPaths: [], + ...(skippedReferencedPaths.length ? { skippedReferencedPaths } : {}), + }; + } + const manifestEntries: CleanupManifestEntry[] = candidates.map(candidate => { const thread = threadByRelPath.get(candidate.relPath); return { relPath: candidate.relPath, @@ -1936,7 +1966,7 @@ export function executeArchivedCleanup(options: ExecuteCleanupOptions): CleanupR return fail(mode, percent, "fs_failed"); } - const stageResult = stageCandidates(codexHome, preview.candidates, stageDir, { + const stageResult = stageCandidates(codexHome, candidates, stageDir, { blockDestBasenames: blockStageDest.size > 0 ? blockStageDest : undefined, }); if (!stageResult.ok) { @@ -1956,7 +1986,7 @@ export function executeArchivedCleanup(options: ExecuteCleanupOptions): CleanupR const deleted = reconcileDeletedThreads( paths, - preview.candidates, + candidates, codexHome, busyTimeoutMs, stageDir, @@ -1973,8 +2003,8 @@ export function executeArchivedCleanup(options: ExecuteCleanupOptions): CleanupR return fail(mode, percent, deleted.error, keepTrash ? { trashDir } : undefined); } - const removedPaths = preview.candidates.map(c => c.relPath); - const bytes = preview.candidates.reduce((sum, c) => sum + c.bytes, 0); + const removedPaths = candidates.map(c => c.relPath); + const bytes = candidates.reduce((sum, c) => sum + c.bytes, 0); if (mode === "quarantine") { return { @@ -1985,6 +2015,7 @@ export function executeArchivedCleanup(options: ExecuteCleanupOptions): CleanupR bytes, trashDir, removedPaths, + ...(skippedReferencedPaths.length ? { skippedReferencedPaths } : {}), }; } @@ -2038,6 +2069,7 @@ export function executeArchivedCleanup(options: ExecuteCleanupOptions): CleanupR count: removedPaths.length, bytes, removedPaths, + ...(skippedReferencedPaths.length ? { skippedReferencedPaths } : {}), }; } diff --git a/src/types/config.ts b/src/types/config.ts index 5a334199855..f0ef5dff0bc 100644 --- a/src/types/config.ts +++ b/src/types/config.ts @@ -506,8 +506,8 @@ export interface OcxConfig { */ syncCodexSubagentDefaults?: boolean; /** - * Optional reasoning effort the delegation prompt tells the agent to pass in spawn_agent calls - * (`reasoning_effort` argument). Only meaningful while `injectionModel` is set; validated against + * Optional reasoning effort reported as advisory metadata in v2 sub-agent guidance. + * It does not prescribe spawn overrides. Only meaningful while `injectionModel` is set; validated against * the Codex ladder (src/reasoning-effort.ts CODEX_REASONING_LEVELS) at the API boundary. */ injectionEffort?: string; @@ -550,7 +550,7 @@ export interface OcxConfig { streamMode?: "auto" | "legacy-tee" | "eager-relay"; /** * Custom override for the injected v2 multi-agent guidance body (the text inside - * the <multi_agent_mode> tags). After guidance is enabled and the v2 surface and + * the <opencodex_subagent_guidance> tags). After guidance is enabled and the v2 surface and * catalog-state gates pass, a configured injectionModel is sufficient to render it; * otherwise an eligible roster or fallback is required. Placeholders: `{{model}}` -> the * effective preferred model for the request (a bare native model is account-qualified @@ -736,6 +736,12 @@ export interface OcxConfig { * non-loopback binds, whose admission token contract is unchanged. */ codexDesktopAuthless?: boolean; + /** + * Opt into Codex-owned client compaction while keeping OpenCodex routing. On an authenticated + * loopback bind, inject the dedicated `opencodex` model provider instead of overriding the + * built-in `openai` provider, so Codex does not select native remote compaction. Default off. + */ + codexClientCompaction?: boolean; /** * Compatibility mode: temporarily rewrite Codex resume-history metadata while the proxy is active * so Codex App can show old OpenAI chats and opencodex-created exec chats under its default @@ -796,7 +802,7 @@ export interface OcxConfig { */ codexAccountPickerEnabled?: boolean; /** - * Show the GPT-5.3-Codex-Spark weekly window on Codex quota surfaces. Default false. + * Show the GPT-5.3-Codex-Spark 5-hour and weekly windows on Codex quota surfaces. Default false. * * Spark is a single-model window that reads 0% for most operators, and on a multi-account * pool it doubles the bar count for information almost nobody acts on. Hidden by default and diff --git a/src/usage/log.ts b/src/usage/log.ts index 6868a664905..18b281faac5 100644 --- a/src/usage/log.ts +++ b/src/usage/log.ts @@ -10,7 +10,6 @@ import type { AttemptTierOutcome, OcxUsage } from "../types"; import { normalizeRouteDecisionTrace, type RouteDecisionTraceV1 } from "../routing/trace"; import { ACCOUNT_LOG_LABEL_RE, CODEX_ACCOUNT_LOG_LABEL_RE } from "../codex/account-label"; import type { AgentKind } from "../server/effort-policy"; -import type { TurnProgressTelemetry } from "../types/progress"; import { claudeCompatibilityReason, normalizeClaudeFeatureCodes, type ClaudeFeatureCode } from "../claude/compatibility"; export interface PersistedClaudeCompatibilityLog { @@ -31,22 +30,29 @@ export function normalizeClaudeCompatibilityUsageLog(value: unknown): PersistedC } export type UsageStatus = "reported" | "unreported" | "unsupported" | "estimated"; +/** + * A persisted account label: a Codex pool account (`main`/`p<hex6>`) or a non-Codex OAuth + * provider account (`o<hex6>`, #2699). + * + * The old name `CodexUsageAccountLogLabel` is kept as an alias because it is exported and used + * across modules; the two predicates below are what callers should choose between. + */ export type UsageAccountLogLabel = "main" | `p${string}` | `o${string}`; export type CodexUsageAccountLogLabel = UsageAccountLogLabel; -export const OAUTH_ACCOUNT_LOG_LABEL_RE = /^[a-f0-9]{8,64}(?:-\d+)?$/; - -export function isPersistableAccountLogLabel(value: unknown): value is string { - return ( - typeof value === "string" - && (ACCOUNT_LOG_LABEL_RE.test(value) || OAUTH_ACCOUNT_LOG_LABEL_RE.test(value)) - ); -} - +/** + * Accepts EITHER label family. This is the predicate the persistence writers use, so widening + * it here is what stops six separate call sites from silently dropping an `o`-label -- including + * two in the live request path (`request-log.ts:972` and `:1187`). + * + * The name is unchanged deliberately: renaming it would touch every call site for no behavior, + * and the widened contract is what every one of those sites wanted. + */ export function isCodexUsageAccountLogLabel(value: unknown): value is UsageAccountLogLabel { - return typeof value === "string" && ACCOUNT_LOG_LABEL_RE.test(value); + return value === "main" || (typeof value === "string" && ACCOUNT_LOG_LABEL_RE.test(value)); } +/** Strictly a Codex pool label. Use when the Codex-only distinction actually matters. */ export function isCodexPoolAccountLogLabel(value: unknown): value is "main" | `p${string}` { return value === "main" || (typeof value === "string" && CODEX_ACCOUNT_LOG_LABEL_RE.test(value)); } @@ -68,12 +74,7 @@ export type AttemptRecoveryKind = | "oauth-account-429" | "image-413" | "opaque-blob-rejection" - | "empty-completion" - | "cursor-envelope-echo" - | "cursor-routing-commentary" - | "cursor-duplicate-tool-call" - | "cursor-overflow-remint" - | "cursor-invalid-argument"; + | "empty-completion"; /** Request-time upstream credential class, never a credential or account identifier. */ export type UsageCredentialSource = "grok-oauth" | "xai-api-key"; @@ -105,8 +106,8 @@ export interface PersistedUsageAttempt { * one of them that was missed. Absent on ordinary attempts so old rows keep their exact shape. */ locallyAnswered?: boolean; - /** Stable non-PII identity for the account that served this attempt. */ - accountLogLabel?: string; + /** Stable non-PII identity for the Codex pool account that served this attempt. */ + accountLogLabel?: CodexUsageAccountLogLabel; inputTokenEstimate?: number; usage?: OcxUsage; totalTokens?: number; @@ -137,16 +138,10 @@ export interface PersistedUsageEntry { admissionKind?: "configured" | "environment" | "loopback"; /** The inbound wire, not the client product — see `surface`. */ inboundProtocol?: "responses" | "chat" | "messages"; - v2BridgeScope?: "root" | "child"; - v2BridgeDecision?: "active" | "disabled" | "not_v2" | "non_native_route" - | "maintenance_turn" | "no_collaboration_catalog" | "combo" | "compaction" | "shadow_route"; - v2BridgeStateDurability?: "standard" | "encrypted" | "memory-only"; - /** Stable non-PII identity for the account that served this request. */ - accountLogLabel?: string; + /** Stable non-PII identity for Codex Pool usage; absent for Direct/non-Codex traffic. */ + accountLogLabel?: CodexUsageAccountLogLabel; /** Best-effort chat/session correlation for Logs grouping (#330). */ conversationId?: string; - /** Protocol-only per-call progress counters; contains no text, arguments, or identifiers. */ - turnProgress?: TurnProgressTelemetry; resolvedModel?: string; requestedModel?: string; /** Original bare helper model when the opt-in shadow-call route rewrote this request. */ @@ -182,6 +177,10 @@ export interface PersistedUsageEntry { closeReason?: "terminal" | "client_cancel" | "non_stream" | "body_stall" | "body_overflow"; /** Already redacted + capped at capture (request-log.ts redactSecretString().slice(0,500)). */ upstreamError?: string; + /** Where the terminal/failure was observed; absent on historic rows. */ + transportPhase?: "pre_headers" | "mid_stream" | "terminal_sse"; + /** Whether the terminal came from upstream or a proxy-generated tail. */ + terminalSource?: "upstream" | "synthetic"; /** * Bounded route-decision trace (RI-01): why this provider/model/account was * selected. Additive field; old rows without it parse unchanged. Never @@ -216,14 +215,6 @@ const KNOWN_ADMISSION_KINDS = new Set<NonNullable<PersistedUsageEntry["admission const KNOWN_INBOUND_PROTOCOLS = new Set<NonNullable<PersistedUsageEntry["inboundProtocol"]>>([ "responses", "chat", "messages", ]); -const KNOWN_V2_BRIDGE_SCOPES = new Set<NonNullable<PersistedUsageEntry["v2BridgeScope"]>>(["root", "child"]); -const KNOWN_V2_BRIDGE_DECISIONS = new Set<NonNullable<PersistedUsageEntry["v2BridgeDecision"]>>([ - "active", "disabled", "not_v2", "non_native_route", "maintenance_turn", - "no_collaboration_catalog", "combo", "compaction", "shadow_route", -]); -const KNOWN_V2_BRIDGE_DURABILITIES = new Set<NonNullable<PersistedUsageEntry["v2BridgeStateDurability"]>>([ - "standard", "encrypted", "memory-only", -]); const KNOWN_AGENT_KINDS = new Set<AgentKind>(["main", "subagent", "internal"]); export function isKnownAgentKind(value: unknown): value is AgentKind { @@ -240,16 +231,20 @@ export function isKnownInboundProtocol(value: unknown): value is NonNullable<Per return typeof value === "string" && KNOWN_INBOUND_PROTOCOLS.has(value as NonNullable<PersistedUsageEntry["inboundProtocol"]>); } -export function isKnownV2BridgeScope(value: unknown): value is NonNullable<PersistedUsageEntry["v2BridgeScope"]> { - return typeof value === "string" && KNOWN_V2_BRIDGE_SCOPES.has(value as NonNullable<PersistedUsageEntry["v2BridgeScope"]>); -} +const KNOWN_TRANSPORT_PHASES = new Set<NonNullable<PersistedUsageEntry["transportPhase"]>>([ + "pre_headers", "mid_stream", "terminal_sse", +]); -export function isKnownV2BridgeDecision(value: unknown): value is NonNullable<PersistedUsageEntry["v2BridgeDecision"]> { - return typeof value === "string" && KNOWN_V2_BRIDGE_DECISIONS.has(value as NonNullable<PersistedUsageEntry["v2BridgeDecision"]>); +export function isKnownTransportPhase(value: unknown): value is NonNullable<PersistedUsageEntry["transportPhase"]> { + return typeof value === "string" && KNOWN_TRANSPORT_PHASES.has(value as NonNullable<PersistedUsageEntry["transportPhase"]>); } -export function isKnownV2BridgeStateDurability(value: unknown): value is NonNullable<PersistedUsageEntry["v2BridgeStateDurability"]> { - return typeof value === "string" && KNOWN_V2_BRIDGE_DURABILITIES.has(value as NonNullable<PersistedUsageEntry["v2BridgeStateDurability"]>); +const KNOWN_TERMINAL_SOURCES = new Set<NonNullable<PersistedUsageEntry["terminalSource"]>>([ + "upstream", "synthetic", +]); + +export function isKnownTerminalSource(value: unknown): value is NonNullable<PersistedUsageEntry["terminalSource"]> { + return typeof value === "string" && KNOWN_TERMINAL_SOURCES.has(value as NonNullable<PersistedUsageEntry["terminalSource"]>); } export function usageLogPath(configDir?: string): string { @@ -328,11 +323,6 @@ const ATTEMPT_RECOVERY_KINDS = new Set<AttemptRecoveryKind>([ "image-413", "opaque-blob-rejection", "empty-completion", - "cursor-envelope-echo", - "cursor-routing-commentary", - "cursor-duplicate-tool-call", - "cursor-overflow-remint", - "cursor-invalid-argument", ]); const USAGE_STATUSES = new Set<UsageStatus>([ "reported", @@ -483,7 +473,7 @@ function normalizeUsageAttempt(raw: unknown): PersistedUsageAttempt | null { sendCount: attempt.sendCount as number, recoveryKinds, usageStatus: attempt.usageStatus as UsageStatus, - ...(isPersistableAccountLogLabel(attempt.accountLogLabel) + ...(isCodexUsageAccountLogLabel(attempt.accountLogLabel) ? { accountLogLabel: attempt.accountLogLabel } : {}), ...(isNonNegativeFiniteNumber(attempt.inputTokenEstimate) @@ -536,64 +526,6 @@ function normalizedAttempts(raw: unknown): PersistedUsageAttempt[] { .filter((attempt): attempt is PersistedUsageAttempt => attempt !== null); } -function normalizeTurnProgress(raw: unknown): TurnProgressTelemetry | undefined { - if (!raw || typeof raw !== "object" || Array.isArray(raw)) return undefined; - const value = raw as Record<string, unknown>; - const integer = (key: keyof TurnProgressTelemetry): number | undefined => { - const candidate = value[key]; - return typeof candidate === "number" && Number.isSafeInteger(candidate) && candidate >= 0 - ? candidate - : undefined; - }; - const required = { - logicalCallOrdinal: integer("logicalCallOrdinal"), - consecutive429sBeforeCall: integer("consecutive429sBeforeCall"), - logicalCallsSinceToolCompletion: integer("logicalCallsSinceToolCompletion"), - textDeltaCount: integer("textDeltaCount"), - textBytes: integer("textBytes"), - commentaryTextBytes: integer("commentaryTextBytes"), - finalTextBytes: integer("finalTextBytes"), - thinkingDeltaCount: integer("thinkingDeltaCount"), - toolCallsStarted: integer("toolCallsStarted"), - toolCallsCompleted: integer("toolCallsCompleted"), - assistantBoundaries: integer("assistantBoundaries"), - terminalEvents: integer("terminalEvents"), - }; - if (Object.values(required).some(candidate => candidate === undefined)) return undefined; - return { - logicalCallOrdinal: required.logicalCallOrdinal!, - consecutive429sBeforeCall: required.consecutive429sBeforeCall!, - logicalCallsSinceToolCompletion: required.logicalCallsSinceToolCompletion!, - textDeltaCount: required.textDeltaCount!, - textBytes: required.textBytes!, - commentaryTextBytes: required.commentaryTextBytes!, - finalTextBytes: required.finalTextBytes!, - preToolTextBytes: integer("preToolTextBytes") ?? 0, - thinkingDeltaCount: required.thinkingDeltaCount!, - toolCallsStarted: required.toolCallsStarted!, - toolCallsCompleted: required.toolCallsCompleted!, - assistantBoundaries: required.assistantBoundaries!, - terminalEvents: required.terminalEvents!, - ...(typeof value.exactOutputRepeat === "boolean" ? { exactOutputRepeat: value.exactOutputRepeat } : {}), - ...(typeof value.normalizedCommentaryRepeat === "boolean" - ? { normalizedCommentaryRepeat: value.normalizedCommentaryRepeat } - : {}), - ...(typeof value.normalizedPreToolTextRepeat === "boolean" - ? { normalizedPreToolTextRepeat: value.normalizedPreToolTextRepeat } - : {}), - ...(typeof value.repeatedPreToolNarration === "boolean" - ? { repeatedPreToolNarration: value.repeatedPreToolNarration } - : {}), - ...(typeof value.suppressedRepeatedPreToolText === "boolean" - ? { suppressedRepeatedPreToolText: value.suppressedRepeatedPreToolText } - : {}), - ...(typeof value.commentaryOnlyRound === "boolean" ? { commentaryOnlyRound: value.commentaryOnlyRound } : {}), - ...(typeof value.emptyProtocolRound === "boolean" ? { emptyProtocolRound: value.emptyProtocolRound } : {}), - ...(typeof value.rateLimitCircuitOpen === "boolean" ? { rateLimitCircuitOpen: value.rateLimitCircuitOpen } : {}), - ...(typeof value.repetitionCircuitOpen === "boolean" ? { repetitionCircuitOpen: value.repetitionCircuitOpen } : {}), - }; -} - const MAX_METADATA_STRING_LEN = 64; function capMetadataString(s: string): string { return s.length > MAX_METADATA_STRING_LEN ? s.slice(0, MAX_METADATA_STRING_LEN) : s; @@ -611,16 +543,16 @@ function normalizeUsageEntry(entry: PersistedUsageEntry): PersistedUsageEntry { const responseServiceTier = sanitizeLogMetadataString(entry.responseServiceTier); const shadowCallRewrittenFrom = sanitizeLogMetadataString(entry.shadowCallRewrittenFrom); const claudeCompatibility = normalizeClaudeCompatibilityUsageLog(entry.claudeCompatibility); + const transportPhase = isKnownTransportPhase(entry.transportPhase) ? entry.transportPhase : undefined; + const terminalSource = isKnownTerminalSource(entry.terminalSource) ? entry.terminalSource : undefined; const routeDecision = entry.routeDecision ? normalizeRouteDecisionTrace(entry.routeDecision) : undefined; - const turnProgress = normalizeTurnProgress(entry.turnProgress); return { requestId: entry.requestId, timestamp: entry.timestamp, provider: entry.provider, model: entry.model, - ...(isKnownAgentKind(entry.agentKind) ? { agentKind: entry.agentKind } : {}), ...(isKnownUsageSurface(entry.surface) ? { surface: entry.surface } : {}), ...(typeof entry.apiKeyId === "string" && entry.apiKeyId.trim() // Deliberately NOT capped. `capMetadataString` protects free-form metadata @@ -631,18 +563,12 @@ function normalizeUsageEntry(entry: PersistedUsageEntry): PersistedUsageEntry { : {}), ...(isKnownAdmissionKind(entry.admissionKind) ? { admissionKind: entry.admissionKind } : {}), ...(isKnownInboundProtocol(entry.inboundProtocol) ? { inboundProtocol: entry.inboundProtocol } : {}), - ...(isKnownV2BridgeScope(entry.v2BridgeScope) ? { v2BridgeScope: entry.v2BridgeScope } : {}), - ...(isKnownV2BridgeDecision(entry.v2BridgeDecision) ? { v2BridgeDecision: entry.v2BridgeDecision } : {}), - ...(isKnownV2BridgeStateDurability(entry.v2BridgeStateDurability) - ? { v2BridgeStateDurability: entry.v2BridgeStateDurability } - : {}), - ...(isPersistableAccountLogLabel(entry.accountLogLabel) + ...(isCodexUsageAccountLogLabel(entry.accountLogLabel) ? { accountLogLabel: entry.accountLogLabel } : {}), ...(typeof entry.conversationId === "string" && entry.conversationId.trim() ? { conversationId: entry.conversationId.trim().slice(0, 128) } : {}), - ...(turnProgress ? { turnProgress } : {}), ...(entry.resolvedModel ? { resolvedModel: entry.resolvedModel } : {}), ...(entry.requestedModel ? { requestedModel: entry.requestedModel } : {}), ...(shadowCallRewrittenFrom ? { shadowCallRewrittenFrom } : {}), @@ -687,6 +613,8 @@ function normalizeUsageEntry(entry: PersistedUsageEntry): PersistedUsageEntry { ...(entry.usage ? { usage: normalizeUsageValue(entry.usage) } : {}), ...(typeof entry.totalTokens === "number" ? { totalTokens: entry.totalTokens } : {}), ...(Array.isArray(entry.attempts) ? { attempts } : {}), + ...(transportPhase ? { transportPhase } : {}), + ...(terminalSource ? { terminalSource } : {}), ...(entry.errorCode ? { errorCode: entry.errorCode } : {}), ...(entry.terminalStatus ? { terminalStatus: entry.terminalStatus } : {}), ...(entry.closeReason ? { closeReason: entry.closeReason } : {}), @@ -771,15 +699,6 @@ let managementUsageReadInflight: { abort: AbortController; } | null = null; -/** Test seam for the same-ledger shrink branch without mutating an open Windows file. */ -export function setManagementUsageReadOpenedSizeForTests(openedSize: number): void { - if (!Number.isSafeInteger(openedSize) || openedSize < 0) { - throw new RangeError("management usage opened size must be a non-negative safe integer"); - } - if (!managementUsageReadInflight) throw new Error("no management usage read is in flight"); - managementUsageReadInflight.openedSize = openedSize; -} - /** * Append-tolerant snapshot of the last management read. * diff --git a/src/vision/anthropic-describe.ts b/src/vision/anthropic-describe.ts index 280096f0336..4ca6ae00faa 100644 --- a/src/vision/anthropic-describe.ts +++ b/src/vision/anthropic-describe.ts @@ -200,6 +200,7 @@ export async function describeImageAnthropic( const res = await fetchWithResetRetry( recovery => fetch(`${base}/v1/messages`, applyUpstreamRecoveryInit({ method: "POST", + redirect: "manual", headers, body: JSON.stringify(body), signal: linkedSignal.signal, diff --git a/src/web-search/anthropic-executor.ts b/src/web-search/anthropic-executor.ts index cd3893900ca..4b62702f0e6 100644 --- a/src/web-search/anthropic-executor.ts +++ b/src/web-search/anthropic-executor.ts @@ -210,6 +210,7 @@ export async function runAnthropicWebSearch( // ignored a bare `Connection: close` (oven-sh/bun#20492). recovery => fetch(url, applyUpstreamRecoveryInit({ method: "POST", + redirect: "manual", headers, body: JSON.stringify(body), signal: linkedSignal.signal, diff --git a/src/web-search/loop.ts b/src/web-search/loop.ts index bd88717f316..21f660ff15f 100644 --- a/src/web-search/loop.ts +++ b/src/web-search/loop.ts @@ -483,6 +483,7 @@ export async function runWithWebSearch(deps: WebSearchLoopDeps): Promise<Respons // replay on this leg eligible for the same dead socket the reset came from. return requestFetch(request.url, applyUpstreamRecoveryInit({ method: request.method, + redirect: "manual", headers: h, body: request.body, signal: headerDeadline.signal, diff --git a/structure/01_runtime.md b/structure/01_runtime.md index 1601e5762bb..7e529ea503d 100644 --- a/structure/01_runtime.md +++ b/structure/01_runtime.md @@ -16,6 +16,7 @@ | `src/server/ports.ts` | Owns bind availability and ephemeral-port selection. Temporary probes dispose accepted peers and wait for listener close before reporting success. | | `src/cli/status.ts` / `src/cli/status-probes.ts` | Status snapshot assembly and the shared read-only health/stale-process probes used by status and doctor. Probe evidence keeps recorded-port choice, before/after snapshots and per-call timer cleanup together. | | `src/router.ts` | Provider/model selection before adapter dispatch. Policy execution and ordinary management dry-run share effective-provider capability evidence; unresolved, missing, and disabled providers are excluded before scoring. | +| `src/providers/api-key-selection-capture.ts` | Pure request-owned snapshot of the configured key entry, reference, and revision. The router and stateful selection module share this leaf with type-only dependencies; `api-key-selection.ts` retains the compatibility export and owns persisted selection changes and route resolution. | | `src/types.ts` | Shared config, parsed request, adapter, and event types. | | `src/reasoning-effort.ts` | Codex reasoning-level definitions (`low`/`medium`/`high`/`xhigh`), per-model effort mapping, and catalog effort sanitization. | | `src/codex/shim.ts` | Codex autostart shim: replaces the `codex` binary with a wrapper that auto-starts the proxy on demand. It skips startup for management subcommands even when value-taking global flags precede the subcommand, and transactionally restores complete, stable external launcher replacements without a watcher or PATH rediscovery. | @@ -79,6 +80,12 @@ Callers must not replace the latter with the former merely to avoid the Windows probe. Expected-PID and snapshot removal helpers are the TOCTOU boundary when a replacement proxy can write new state during a probe. +Port reclamation must honor a rejected OCX verifier result even for a PID captured before stop or +update. A rejected live holder prevents both termination and TCP-row deletion for that scan; later +scans may proceed if verification succeeds or the holder exits. The allowlist narrows termination +eligibility and supplies no identity evidence by itself. This contract uses the existing verifier; +it does not add process-instance proof or change the classification cache. + [Decision Log] - 목적과 의도: Separate proxy process ownership from persisted configuration without changing lifecycle behavior. - 기존 구현 및 제약 조건: `src/config.ts` mixed config transactions with cross-platform PID identity, runtime-port attestation, and stale-state cleanup; process writes still require the same config-home and atomic-write protections. diff --git a/structure/02_config-and-codex-home.md b/structure/02_config-and-codex-home.md index 9478343d199..9ab5cf2bba7 100644 --- a/structure/02_config-and-codex-home.md +++ b/structure/02_config-and-codex-home.md @@ -20,6 +20,16 @@ $CODEX_HOME/.opencodex-native-main-profiles/ Never assume macOS-only paths. Windows, service installs, and app-launched Codex can all depend on the resolved `CODEX_HOME`. +Journal restoration compares config and profile independently against their saved originals and +recorded injected hashes. If either changed artifact lacks its injected hash, the config/profile +pair and journal remain untouched and the result is explicitly unverified; callers must not +convert that refusal into successful fallback cleanup. Already-original bytes need no rewrite, +and absence is distinct from an empty file. The injector checks a retained hashless journal against +the same `baselineContent` it snapshots, plus the current profile, before writing or assigning a new +injected hash. Native content can establish a fresh snapshot; routed content cannot promote an +unverified older original. Existing hash-backed edit preservation and external-provider opt-out +remain separate paths. + The source-built Docker image explicitly keeps `CODEX_HOME=/home/bun/.codex` separate from `OPENCODEX_HOME=/home/bun/.opencodex`. Compose persists them in `codex-state` and `ocx-state` respectively, retaining a read-only root. The image creates owner-only @@ -284,6 +294,12 @@ and publication followed by a later failure can leave a complete config or priva foreign winner's ownership under future uninstall; the existing ownership manifest and global CLI shim preflight keep their separate contracts. +Initial publication diagnostics distinguish required permission-hardening failures from denied +hard-link publication without exposing raw filesystem causes. Both identify `OPENCODEX_HOME` +as the supported-location recovery path; uncertain publication and cleanup warnings remain in +the CLI. The quickstart documents inspection before retry, private-permission requirements, +and fresh-location examples. Diagnostics do not introduce a fallback or alter file I/O ordering. + `src/config/paths.ts` is the single owner of `OPENCODEX_HOME` expansion and resolution. It exposes the config directory and `config.json` path and retains the existing cache rule: a relative home is resolved once for each distinct raw environment value, so a later working-directory change cannot diff --git a/structure/03_catalog-and-subagents.md b/structure/03_catalog-and-subagents.md index b64cb4bce1b..9769012e1db 100644 --- a/structure/03_catalog-and-subagents.md +++ b/structure/03_catalog-and-subagents.md @@ -346,6 +346,11 @@ wire-clamps ultra/max to each model's real top rung (e.g. gpt-5.5 ultra → xhig (`src/server/effort-policy.ts`): they lower or preserve the requested effort rather than rejecting the request, and they never raise it. +The `ocx effort` CLI accepts only the same canonical cap ladder before live probing or persistence. +Its status output preserves unsupported legacy cap values and reports that those fields are ignored; +the read does not normalize or migrate them, and an ignored subagent field does not disable a valid +main cap. Injection-effort input remains a separate contract. + Operator-owned `pinnedReasoningEffort`, `modelPinnedReasoningEfforts`, and root `modelPinnedEfforts` resolve before applicable effort caps at the final destination. Provider model pins precede provider-wide pins, then global selector/destination pins. @@ -465,6 +470,33 @@ cause delegation. The TOML edit owns only marker-tagged values, preserves existi user-owned `[agents]` defaults rather than overwriting them, and rejects ambiguous table shapes without changing the file. +V2 proxy guidance uses `<opencodex_subagent_guidance>` for both built-in metadata and +custom `injectionPrompt` bodies. The built-in text reports the resolved preferred model, +effort, roster and fallback chain without prescribing delegation, spawn overrides or +`fork_turns`. Custom bodies retain their placeholder behavior. The guidance switch and +catalog-state gates still apply; stale or unknown catalog state suppresses proxy guidance. +V1 uses the shared `MULTI_AGENT_MODE_HINT_RECOMMENDATION.text` inside `<multi_agent_mode>` +at `max` or `ultra`. Only the separate explicit delegation-request trigger changes; user, +authority, task-scope and collaboration-tool rules remain applicable. This is guidance, +not an enforcement mechanism or a change to native settings or tool access. + +Replay deduplication compares the latest exact generated developer text separately for +each tag family, preserving built-in → custom → built-in transitions without duplicating +unchanged proxy metadata after a native policy change. Native and legacy-tagged history +remain intact: tags do not establish historical authorship or revoke old instructions, +and mixed-version transition detection is not guaranteed. + +The native mode hint is separate from proxy guidance and native `[agents]` defaults. +`src/codex/multi-agent-mode-policy.ts` owns the proactive recommendation; the dashboard +obtains it from `/api/v2` rather than maintaining its own preset. An explicit dashboard, +API or CLI hint write passes through `setMultiAgentModeHintText`, which replaces only +the two byte-exact released OpenCodex presets with the current recommendation. Other +valid custom text, including whitespace variants, is preserved. Reads, unrelated writes +and upgrades do not migrate stored hints. The writer retains its native capability check +and stores only `features.multi_agent_v2.multi_agent_mode_hint_text` in Codex TOML; +`null` removes that key. The hint affects new native Codex sessions when their v2 surface +is active, without changing reasoning effort or the proxy guidance switch. + Claude Code `ocx-*` agent definitions consume the same effective `claudeCode.blockedSkills` policy as inbound bundle elision. When the list is non-empty (default: `claude-api`), generated definitions whose marker-stripped model resolves to a routed id receive a preventive instruction not to invoke diff --git a/structure/04_transports-and-sidecars.md b/structure/04_transports-and-sidecars.md index 256bd1eae50..b16fa96b5b7 100644 --- a/structure/04_transports-and-sidecars.md +++ b/structure/04_transports-and-sidecars.md @@ -90,6 +90,17 @@ executor contract. Main-request migration must not treat that branch as fixed-tr provider, lets the selected adapter speak the upstream protocol, then bridges adapter events back to Responses-compatible streaming output. +### Credential-bearing HTTP redirects + +Credential/body-bearing HTTP sends use `redirect: "manual"` at the final executor boundary, +including dispatch overrides and adapter/sidecar retries. `fetchWithHeaderTimeout` retains its +legacy final argument for callers but no longer permits default-follow sends. Both same-origin +and cross-origin redirects remain observable responses: retry helpers must not synthesize a 502 +before the owning route can apply its existing response and health policy. Native Responses and +compact retain their 3xx/Location relay contract; image and search sidecar owners consume 3xx +through their existing upstream-error path without relaying Location. This server policy does not govern client-side +redirect following; providers requiring a redirect must be configured with their final API URL. + ### Fetch-helper import boundary `src/server/responses/fetch-helpers.ts` is a transport leaf shared by Responses, compact, and native @@ -242,6 +253,13 @@ alone never opt a gateway in. and before the `/v1/*` guard. Unknown `/v1/*` paths return JSON 404 errors instead of falling through to GUI static serving. +Combo compaction recall uses accepted completed-response callbacks to record the final client-visible +model and originating combo target. The existing child callback gate defers publication until an +attempt is accepted and drops discarded/failed attempts. Both compaction entry points preserve +explicit configured selectors before consulting bounded lane state. The existing state-store +reconciliation owns removal of obsolete targets and generation fencing; core imports no registration +composition root or Lab code. Recall retains routing identity only, never account credentials. + [Decision Log] - 목적과 의도: Complete Cursor turns at the protocol terminal instead of waiting for a separate HTTP-body EOF that may never arrive. - 기존 구현 및 제약 조건: Cursor can send turnEnded followed by a clean Connect END_STREAM envelope while RunSSE remains open or later closes through an abort-shaped transport error. The adapter logged the clean envelope but did not settle its terminal owner, so a completed-looking turn could remain open until the Responses stall watchdog. @@ -366,6 +384,22 @@ have no exec-result seam today and are not annotated. - 다른 대안 대신 이 방식을 선택한 이유: One-field stripping exposes the next schema mismatch and turning `external_web_access:false` into xAI live search widens the caller's network policy; destination scoping leaves custom gateways and canonical OpenAI byte-shape native. - 장점, 단점 및 영향: Grok 4.5/4.6 no longer fail every default Codex turn with an unsupported-argument 400; live search remains available when explicitly enabled, while cached search degrades to no hosted search on xAI rather than silently going live. +### xAI string agent-message continuation + +`normalizeRoutedAgentMessages` owns raw Responses `agent_message` lowering. Its existing +nonempty all-readable array behavior remains shared by non-forward destinations. The optional +`allowStringContent` argument defaults to false and is enabled only by the non-forward adapter +call when `isXaiResponsesDestination` recognizes HTTPS `api.x.ai` or `cli-chat-proxy.grok.com` +on the standard port. A nonblank string becomes one `input_text` part with the original text; +the same author/recipient attribution is retained and the private transport item id is removed. + +This addresses readable child-result delivery (#3907), not scheduling or decryption. Blank, +malformed, ciphertext-only and mixed unknown/encrypted content retains the existing fail-closed +path. Forward destinations never enable the option. The parser and encrypted-task recovery +owners are unchanged, and no broad content-schema validation or adapter-wide string conversion +is introduced. Mocked server fixtures cover parent, child, and parent-result continuation over +SSE and JSON while preserving actual tool-call/result pairs. + OpenCode Go documents `gpt-5.6-luna` on `/zen/go/v1/responses` while sibling models use its Chat or Anthropic endpoints. The built-in preset therefore selects `openai-responses` only for Luna and keeps the provider-wide `openai-chat` default for other non-pinned models. This endpoint correction @@ -373,6 +407,32 @@ does not set `modelResponsesUpstreamStreaming`: client `stream: true` remains re streaming until a current-runtime reproduction justifies a separate bounded-JSON compatibility policy. +Go's non-forward Responses request path moves valid `additional_tools` wrappers into top-level +`tools` through `src/adapters/opencode-go-additional-tools.ts`. Placement runs after existing +custom/search/namespace lowering and before code-mode, compaction and final hosted-tool pruning. +It does not recalculate wire identities or response aliases. The matcher reads the constructed +send URL, resolving it with URL semantics, and requires HTTPS `opencode.ai`, the standard port +and exact `/zen/go/v1/responses`. Normal and endpoint-inclusive bases or split `responsesPath` +configurations agree; a custom path resolving to Zen or elsewhere does not acquire Go placement. +Credentials, query, fragment, foreign hosts and other resource paths are excluded. The existing +URL constructor canonicalizes trailing base slashes before this check. Malformed wrappers remain unchanged and +the shared mixed-ciphertext agent-message gate remains fail-closed. + +The canonical `opencode-go` registry entry defaults to `statelessResponses: true` because Go +rejects reasoning ciphertext combined with `previous_response_id` (#3838). Existing derive +logic fills absent values and preserves explicit false; renamed custom configurations receive +no new destination-based migration. The existing stateless pass sets `store: false`, removes +stored continuation parameters, and repairs orphan calls/results without claiming execution +success. A local replay-cache hit supplies history; a miss cannot reconstruct it, so callers +must resend complete history without `previous_response_id`. This flag also enables the existing +visible content-to-summary rewrite for SSE and JSON; summary-channel items and opaque reasoning +blobs keep their existing response handling. The shared recording callback applies the same +reasoning rewrite under the exact client-visible predicate before caching output, after tool +restoration and function normalization. This keeps full-content replay fingerprints comparable +for both full-history-plus-ID and delta continuations without weakening identity checks. Hidden +summaries and opaque blobs keep their existing cache representation. It does not change streaming selection or Chat +model routes. Go fixtures cover Luna, Grok and Muse against both response formats. + The canonical OpenCode Go transport also derives `x-opencode-session` from the existing hashed session lane before per-model wire selection. One conversation keeps one opaque affinity value across Responses, Chat, retries, and key rotation, while sibling subagents remain distinct. An @@ -1778,3 +1838,13 @@ The field is omitted when no classified recovery result exists, and existing com branches that return the original target failure keep that response. `recovery_unavailable` includes cache/singleflight capacity and does not prove an upstream request was attempted. No retry or broader envelope acceptance is enabled. + +## Voice diagnostic metadata + +`src/server/live.ts` owns optional `OCX_LIVE_FRAME_LOG` diagnostics for both sideband directions. +The JSONL schema contains only `ts`, `dir`, `kind`, `bytes`, and `fffd`. It never stores frame +content or transcript excerpts, and logging failures do not affect transparent frame delivery. +Binary detection decodes only the supplied buffer view; malformed UTF-8 can itself produce U+FFFD, +so the flag does not identify the peer responsible for corruption. Existing diagnostic files are +not rewritten. Audio devices, WebRTC media negotiation, captions and spoken handoff delivery remain +client responsibilities. diff --git a/structure/05_gui-and-management-api.md b/structure/05_gui-and-management-api.md index c1562df4ec2..2c21897855d 100644 --- a/structure/05_gui-and-management-api.md +++ b/structure/05_gui-and-management-api.md @@ -126,7 +126,7 @@ this document owns is which module holds which area and what invariant that area | Key providers | `GET /api/key-providers` exposes API-key provider presets for setup and dashboard flows, and `GET/POST/DELETE /api/keys` owns the proxy's own admission keys. Multi-key pool per key-auth provider: `GET /api/providers/keys`, `POST /api/providers/keys`, `PUT /api/providers/keys/active`, `PUT /api/providers/keys/alias`, `DELETE /api/providers/keys` masked list, add (upsert + activate), switch, rename, and remove keys. `provider.apiKey` always mirrors the active pool entry so routing stays single-key. | | OpenAI account mode | Report one OpenAI Codex card with Pool/Direct controls and one API-key card. Mode PATCH persists live without restart or catalog identity changes; Pool owns account/quota controls and Direct uses caller/main login only. Main-account DTOs report real credential presence and terminal `needsReauth` state instead of treating missing/invalid native auth as an unknown quota. Selection order has its own route: `PUT /api/codex-auth/accounts/priority` takes `{ id, priority }`, where `priority` is an integer -100..100 or `null` to restore the default, accepts `__main__`, 404s an unknown id, and echoes the stored value. Re-ordering never clears thread affinity, so the response carries no `appliesImmediately`, but it does release any pin — see [`08_openai-provider-tiers.md`](08_openai-provider-tiers.md) for why. `PUT /api/codex-auth/active` with a null id releases one too, but that drops the operator's account selection along with it, so this route is the only operator-facing way to clear a pin while leaving the selected account in place. `GET /api/codex-auth/active` reports `pinned`, true only while the manually selected account is still the effective active one, plus `pinnedAccountId`, which names the pinned account whether or not it is the active one. Surfaces should render `pinnedAccountId`: under round-robin and fill-first the pin caps the tier ceiling at its own tier while the strategy cursor moves freely inside that tier, so `pinned` goes false on a sibling's turn even though the pin is still suppressing every higher tier — which is why the dashboard badges `pinnedAccountId` and the GUI controller tracks only the id. `pinned` answers the narrower question of whether routing is *currently* on the operator's choice; no surface in this repo asks it, and a new one almost certainly wants the id instead. | | Subagents | Read/write the featured `subagentModels` list capped at five ids. `GET/PUT /api/injection-model` manages the shared delegation model/effort selection, the independent OpenCodex guidance switch, and the default-off `syncCodexSubagentDefaults` opt-in for native Codex subagent defaults. When OpenCodex owns the active Codex routing, native `[agents]` defaults apply to newly created Codex tasks after sync/restart; external user-managed provider configs remain untouched. The defaults do not cause delegation and preserve existing user-owned defaults rather than overwriting them. PUT is partial-update: absent keys are unchanged, `null` clears, and non-object bodies are rejected with 400 before field validation. `syncCodexSubagentDefaults: true` requires a nonblank `model` and a supported Codex reasoning effort when effort is set; clearing `model` (null/empty) always clears effort and disables native-default sync even when the stored effort was invalid. | -| V2 / Multi-agent mode | `GET/PUT /api/v2` — reports/sets the codex `multi_agent_v2` feature flag, the 3-state `multiAgentMode` override (`v1`/`default`/`v2`), the `keepNativeChatGptOnV1` hybrid pin, and the logical maximum thread count. Selecting `v2` normally enables the native flag; with the hybrid pin it disables that global override so native rows can resolve to v1 while routed rows resolve to v2. Selecting `v1` disables the flag; `default` leaves it unchanged. PUT rejects an explicit enabled flag that conflicts with the selected mode or hybrid pin. Every transition preserves the logical thread limit, is rollback-safe, and resyncs the catalog. | +| V2 / Multi-agent mode | `GET/PUT /api/v2` — reports/sets the codex `multi_agent_v2` feature flag, the 3-state `multiAgentMode` override (`v1`/`default`/`v2`), the `keepNativeChatGptOnV1` hybrid pin, and the logical maximum thread count. Selecting `v2` normally enables the native flag; with the hybrid pin it disables that global override so native rows can resolve to v1 while routed rows resolve to v2. Selecting `v1` disables the flag; `default` leaves it unchanged. PUT rejects an explicit enabled flag that conflicts with the selected mode or hybrid pin. Every transition preserves the logical thread limit, is rollback-safe, and resyncs the catalog. GET and successful PUT also return stored `multiAgentModeHintText` plus response-only `multiAgentModeHintRecommendation: { text, revision }`; the recommendation is not a writable or persisted config field. | | Logs & Debug | One sidebar entry (`/#logs`) with two tabs. Logs tab: request/runtime logs for local diagnosis. `LogsFilterBar` owns controls over the shared `LogFilterState`; `filterLogs` composes filters over the loaded ring. The logs envelope adds `generatedAt` (proxy epoch milliseconds); the page advances that sample with monotonic elapsed time and retains a browser-clock fallback for older proxies. Reset returns focus to the stable All surface radio. Provider/model options include attempts, model choices match normalized complete identities, and relative-time filtering refreshes every 30 seconds while the Logs tab is active, independently of network auto-refresh. Debug tab (`/#logs/debug`; legacy `/#debug` deep links redirect there): provider + usage toggles, refresh/follow log viewer. `GET/PUT /api/debug`; `GET /api/debug/logs` and `GET /api/debug/usage-logs` (monotonic `after` cursor, legacy `since` accepted). CLI: `ocx debug provider|usage …` (both streams via running proxy API). | | Usage | `GET /api/usage` aggregate read-only summary derived from the complete `~/.opencodex/usage.jsonl`; the ledger is streamed in fixed 1 MiB chunks, so the former read-byte and parsed-row caps cannot omit its prefix. The response includes measured / reported / unreported / unsupported / estimated counts, a daily zero-filled grid, and model and provider breakdowns. Never exposes prompts. | | System | `POST /api/system/restart` restarts the proxy in place. Local CLI/tray callers first attest the exact runtime PID and port, then send a process-scoped HMAC capability bound to that method, path, PID, and port; the capability authorizes no other management route and is invalid after replacement. The caller observes one absolute deadline and accepts success only after a different runtime PID is healthy on the same port. `GET /api/system/health` is the authenticated scalar-only identity used by shared-plane Dashboard status and restart reconnect polling; it does not widen a Remote Hub management ingress to unauthenticated `/healthz`. `GET /api/system/memory` — service-process runtime/memory identity (pid, Bun version/revision, optional `bunRuntimeSource` provenance, platform, RSS/heap/external/ArrayBuffers scalars, observed memory = max(RSS, external, ArrayBuffers), `bun:jsc` heap context, streamMode + eager-relay gate decision, watchdog snapshot sliced to the last 60 samples) plus privacy-safe `appOwnedBytes` retained-store totals/counters under static store ids. Its response-state block also reports spill-write `initial`/`healthy`/`degraded` status, a consecutive-failure streak, fixed error class, and failure/success timestamps. A successful publication clears the streak in the same process; raw error text and paths never enter this surface. Scalar-only payload; dashboard/admin callers use the standard management gate, while `ocx doctor` may use only the exact process-scoped local-read capability. It must never move to unauthenticated `/healthz`. | @@ -319,6 +319,14 @@ and catalog invariants documented in this folder rather than inventing parallel ## Dashboard surfaces +Provider Overview consumes the existing shared `add-provider-presets` resource for sponsor +presentation. `matchingWorkspacePreset` requires the configured id, adapter and normalized +endpoint to match; a custom endpoint or absent sponsor metadata suppresses the introduction. +`ProviderSponsor` keeps localized promotional copy and outbound HTTP(S) links separate from +operator notes. Notes remain complete and editable once in the main column; stats and current +account quota remain in the side column. This presentation does not write provider configuration +or participate in routing. + The sidebar exposes eleven pages (`gui/src/App.tsx` `NAV`). Several are workspace shells rather than single forms, and the shell pattern is the part worth keeping stable: @@ -377,6 +385,20 @@ Subagent fallback settings load independently of the main roster. Their failure fallback controls and provides a retry; available fallback options come from that endpoint's availability list while already-configured stale values remain editable. +Subagents → Advanced uses the current API server's recommendation for **Always proactive +delegation** (formerly Ultra mode). Enabling requires the native v2 flag, explicit v2 mode +and a recommendation with nonblank string text and revision. Missing or malformed +recommendations disable preset installation and restoration while existing custom hints +remain editable and clearable. Restore changes only the editor draft; Save writes it. +Recommendation-only refreshes preserve unsaved drafts. Switching API servers hides the +previous hint and blocks mode writes until the new server's settings arrive. + +An explicit `multiAgentModeHintText` write canonicalizes only the two byte-exact legacy +OpenCodex presets; other valid custom text keeps its bytes. GET, unrelated PUTs and upgrades +leave stored hints unchanged. `null` clears the hint, blank strings are rejected, and the +existing native capability check still precedes writes. The text and revision recommendation +is supplied independently of stored TOML and is not evidence of native runtime support. + Account quota discovery is capability-based. Cheap OAuth and provider-key lists include `quotaMode` (`probe`, `passive`, or `unsupported`) without contacting upstream quota APIs. `GET /api/oauth/accounts?provider=..."a=1` and diff --git a/structure/06_docs-and-release.md b/structure/06_docs-and-release.md index 92b25c36014..a840d8909c4 100644 --- a/structure/06_docs-and-release.md +++ b/structure/06_docs-and-release.md @@ -221,15 +221,19 @@ separate channel-aware invariant and release-note baseline design. ### Release notes -Release notes are rendered OpenAI-Codex-style by `scripts/release-notes.ts render` inside -`.github/workflows/release.yml`: `## New Features` / `## Bug Fixes` / `## Documentation` / -`## Chores` / `## Other Changes` sections with prefix-free, scope-grouped summary bullets -(`- Providers: Add X; Add Y (#1, #2)`), followed by a `## Changelog` section listing every PR -as `- #N <title> @author`; when a comparison baseline exists, that section also includes a -compare link. Carried preview changelogs and the since-preview delta feed the same renderer, -so stable notes are the aggregate of their preview train. The raw commit dump is -intentionally gone — non-PR commits stay reachable via the Full Changelog compare link when -that link is available. +The release workflow invokes `scripts/build-release-changelog.ts`, which builds notes from +the actual Git range and uses generated PR notes as enrichment. Its categorized summaries +contain one bullet per PR or direct commit, followed by `## Changelog` entries retaining PR +titles and authors or sanitized direct-commit text. A comparison baseline adds a compare link. +Preview notes are incremental; stable notes cover the range since the previous stable tag. +The standalone `scripts/release-notes.ts render` command retains its separate scope-grouped +summary and carried-preview rendering behavior. + +Both renderers strip the exact leading `[WRONG BRANCH]` marker followed by one ASCII space +from PR summary bullets and full-changelog titles. Other bracketed text is preserved. +Summary bullets remove conventional commit prefixes; PR changelog entries keep those prefixes, +PR numbers, and author attribution. This normalization does not change category selection, +direct-commit coverage, or PR-target enforcement. The deterministic renderer produces the structure but not curated prose. Maintainers who want the OpenAI-style grouped summaries can run the optional local polish step against the rendered diff --git a/structure/08_openai-provider-tiers.md b/structure/08_openai-provider-tiers.md index 834cbd46eec..f53cdb9b0c3 100644 --- a/structure/08_openai-provider-tiers.md +++ b/structure/08_openai-provider-tiers.md @@ -18,6 +18,39 @@ engine. Direct short-circuits that engine before pool state is read or mutated a current caller/main-login bearer. Neither mode may fall through to `openai-apikey`, and the API provider may not fall through to Codex-login credentials. +Caller credentials stay scoped to the selected physical route. Typed proxy admission survives +Combo/policy recursion, but raw Authorization and ChatGPT account headers are removed from +rebuilt requests at those selections or actual shadow/thread-spawn rewrites. An original caller's +Direct credential — a clean non-proxy bearer carrying a locally decoded ChatGPT account claim +(routing evidence, not signature verification), with any explicit account header matching that +claim — is captured separately and may be +restored only for the final canonical OpenAI route, under the existing Direct/Pool, native-main +claim, and entitlement rules. This restore is deliberately stricter than unchanged-route Direct +forwarding, which keeps its legacy rules. The stricter explicit-pair snapshot (JWT with matching account +header) additionally feeds optional OpenAI sidecars and is also +withheld from an unchanged keyless Cursor route; an independently supplied Cursor bearer +remains supported. A noncanonical caller-auth transport keeps only a clean single bearer with +no ChatGPT account claim: a bearer carrying a ChatGPT account claim, a combined or malformed +Authorization value, and the chatgpt-account-id header are withheld from it. Key-auth and noncanonical routes use +their own configured key or provider-owned OAuth credential. Canonical unqualified `openai` +forwarding preserves the sanitized caller/main-login bearer in Direct mode and may select a +stored native credential in Pool mode. An explicit account-qualified sidecar may select its +stored account even when the provider default is Direct. A thread-spawn marker without a rewrite +preserves the caller credential. Bearer admission can still select stored native credentials under +the existing turn claim. Claude replay may reconstruct its claimed main snapshot only for a final canonical +ChatGPT target. Alternate-account retry retains the sanitized caller input separately from the +selected Pool headers, so neither a discarded source bearer nor a Pool token becomes caller-main +authority during retry. + +Explicit OpenAI sidecar authentication is retained separately in request-local memory before +Combo or policy headers are rewritten. Only the canonical sidecar resolver can restore that +single bearer and matching explicit account pair; it revalidates the existing credential and +destination rules. A recorded absence is not recaptured from a later provider request, and +combined Authorization values are rejected. This snapshot never becomes primary-provider or +alternate-main retry authentication; the original caller's native snapshot is separate. +Optional Chat/Claude stored-main enrichment still requires +the native-main turn claim. + The two routes also keep separate request-compatibility contracts. The canonical ChatGPT Codex forward destination removes public `prompt_cache_options` because that backend rejects the field before inference; `prompt_cache_key` remains supported. `openai-apikey` and noncanonical/custom @@ -72,6 +105,20 @@ requests keep their captured credential. An all-paused pool fails closed. The dashboard's bulk pause action refreshes all account quotas and mutates only accounts whose plan-relevant window is freshly confirmed at exactly 100%; unknown and failed refreshes are skipped. +A confirmed manual reset-credit consumption may immediately reconcile that account's +eligible pre-existing ordinary reset-derived cooldown after a complete, non-exhausted usage +observation started after the reset. Paused or reauthentication-required accounts and +cooldowns held by another in-flight probe remain excluded; their cooldowns are retained. +Recovery owns the specific cooldown and authenticates +main and added Pool accounts through their respective credential contracts. Main usage +publication keeps the latest successfully published observation authoritative. Pool recovery +across a credential refresh requires the actual self/joined refresh lineage, not matching +replacement timestamps. It preserves +newer failures, independent Spark/Reserve scopes, explicit Retry-After, pause, pin and +selection state. Replay and `already_redeemed` are not new-reset evidence. Failed usage +recovery leaves the cooldown in place and preserves the confirmed consume success; +retrying usage must not require another credit. + `codexQuotaAutoRefresh` is a separate default-off spending intent. For each explicitly enabled account/window, the one-minute state sweep compares the cached upstream reset timestamp, sends the existing minimal non-stored warmup through that exact account once the timestamp is due, then @@ -146,6 +193,17 @@ workspace already observed under native ownership; an unrelated or unmatched key is not attributed to stored main and introduces no physical-main read. Credential equality tags remain process-local and never enter disk, logs, or management DTOs. +When protection is enabled, owned startup rebuilds this binding from its pinned auth path under +the native owner and exclusive claim, after journal recovery and stage cleanup, before publishing +ready. Caller-owned Direct, exact-main, fallback, and main-pin admission stays temporarily fenced +during that initialization; stored Pool alternatives remain eligible. Foreign/unknown service-home +paths neither initialize the binding nor trigger an ownership reprobe from caller-owned admission. +A new listener with protection enabled rearms the same guarded path on an existing ready lifecycle, +including when the physical credential was replaced after the earlier listener started. +Failed initialization creates no new binding. A previously verified same-process binding and its +safety state remain until a valid replacement observation or confirmed account transition; malformed +or conflicting input alone is not replacement evidence. + This is not a reservation of the last 1%: already-admitted, parallel, unmatched-keyring, or direct upstream traffic can still reach exhaustion. While blocked, main cannot use Luna reserve either. Keeping ordinary usage below exhaustion may prevent Reserve activation; the policy never changes diff --git a/tests/adapters/adapter-buffered-tool-conformance.test.ts b/tests/adapters/adapter-buffered-tool-conformance.test.ts index 81a736bee98..fd56fc6e259 100644 --- a/tests/adapters/adapter-buffered-tool-conformance.test.ts +++ b/tests/adapters/adapter-buffered-tool-conformance.test.ts @@ -23,6 +23,7 @@ const WIRE_MODELS: Record<AdapterWire, string> = { kiro: "claude-sonnet-4.5", "openai-responses": "deepseek-v4-flash", cursor: "cursor/auto", + codebuddy: "glm-5.3", }; function providerFixture(adapterId: string, wire: AdapterWire): OcxProviderConfig { @@ -35,6 +36,7 @@ function providerFixture(adapterId: string, wire: AdapterWire): OcxProviderConfi kiro: "https://runtime.us-east-1.kiro.dev", "openai-responses": "https://api.deepseek.com", cursor: "https://api2.cursor.sh", + codebuddy: "https://www.codebuddy.ai", }; const baseUrl = adapterId === "mimo-free" ? "https://api.xiaomimimo.com/api/free-ai/openai/chat" diff --git a/tests/adapters/adapter-registry-authority.test.ts b/tests/adapters/adapter-registry-authority.test.ts index 3d19f8132e3..d7bac03afe2 100644 --- a/tests/adapters/adapter-registry-authority.test.ts +++ b/tests/adapters/adapter-registry-authority.test.ts @@ -10,6 +10,7 @@ import type { OcxParsedRequest, OcxProviderConfig } from "../../src/types"; import { withTestTranslatorBudget } from "../helpers/translator-budget"; const EXPECTED_ADAPTER_NAMES = { + codebuddy: "codebuddy", "command-code": "command-code", "openai-chat": "openai-chat", "ollama-native": "ollama-native", @@ -21,6 +22,7 @@ const EXPECTED_ADAPTER_NAMES = { "azure-openai": "azure-openai", cursor: "cursor", "mimo-free": "mimo-free", + qoder: "qoder", } as const; function provider(adapter: string): OcxProviderConfig { @@ -30,11 +32,15 @@ function provider(adapter: string): OcxProviderConfig { // adapter accepts the placeholder URL. baseUrl: adapter === "mimo-free" ? "https://api.xiaomimimo.com/api/free-ai/openai/chat" - // ollama-native refuses a bare /v1 path on a host it does not recognise, rather than - // guessing that an arbitrary destination speaks Ollama's compatibility surface. - : adapter === "ollama-native" - ? "https://example.invalid/api" - : "https://example.invalid/v1", + : adapter === "codebuddy" + ? "https://www.codebuddy.ai" + : adapter === "qoder" + ? "https://qoder.com" + // ollama-native refuses a bare /v1 path on a host it does not recognise, rather than + // guessing that an arbitrary destination speaks Ollama's compatibility surface. + : adapter === "ollama-native" + ? "https://example.invalid/api" + : "https://example.invalid/v1", authMode: "key", apiKey: "test-key", defaultMaxOutputTokens: 4096, diff --git a/tests/adapters/adapter-tool-conformance.test.ts b/tests/adapters/adapter-tool-conformance.test.ts index 8ebfad627ff..91fd5a399bb 100644 --- a/tests/adapters/adapter-tool-conformance.test.ts +++ b/tests/adapters/adapter-tool-conformance.test.ts @@ -34,6 +34,7 @@ const WIRE_MODELS: Record<AdapterWire, string> = { kiro: "claude-sonnet-4.5", "openai-responses": "deepseek-v4-flash", cursor: "cursor/auto", + codebuddy: "glm-5.3", }; function providerFixture(adapterId: string, wire: AdapterWire): OcxProviderConfig { @@ -46,6 +47,7 @@ function providerFixture(adapterId: string, wire: AdapterWire): OcxProviderConfi kiro: "https://runtime.us-east-1.kiro.dev", "openai-responses": "https://api.deepseek.com", cursor: "https://api2.cursor.sh", + codebuddy: "https://www.codebuddy.ai", }; // Semantic wrappers with provider-specific URL shapes must override the wire-family default here. const baseUrl = adapterId === "mimo-free" @@ -417,8 +419,11 @@ describe("registry-derived routed tool conformance", () => { } }); + const TOOL_LESS_ADAPTERS = new Set(["codebuddy", "qoder"]); + test("every registered adapter keeps the nested apply_patch helper in its final request", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); const body = await outbound(adapterId, codeModeParsed(contract.wire)); const advertised = advertisedToolNames(contract.wire, body); @@ -432,6 +437,7 @@ describe("registry-derived routed tool conformance", () => { test("tool_choice none disables every registered adapter's callable tool surface", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); const enabledBody = await outbound(adapterId, toolChoiceParsed(contract.wire)); expect(advertisedToolNames(contract.wire, enabledBody).length, `${adapterId}:enabled`).toBeGreaterThan(0); @@ -442,6 +448,7 @@ describe("registry-derived routed tool conformance", () => { test("every parsed streaming wire restores hostile freeform input exactly", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); const driver = TOOL_WIRE_DRIVERS[contract.wire]; if (!driver.streamingToolCall) { @@ -456,6 +463,7 @@ describe("registry-derived routed tool conformance", () => { test("every buffered adapter preserves same-name tools from different namespaces", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); if (contract.wire === "openai-responses" || contract.wire === "cursor") { // Native Responses passthrough and Cursor's protobuf transport do not use the routed @@ -470,6 +478,7 @@ describe("registry-derived routed tool conformance", () => { test("every routed adapter fails closed for an ambiguous bare selector", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); if (contract.wire === "openai-responses" || contract.wire === "cursor") continue; const parsed = namespacedCollisionParsed(contract.wire); @@ -495,6 +504,7 @@ describe("registry-derived routed tool conformance", () => { test("every streaming adapter restores namespaced custom/function collisions distinctly", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); const driver = TOOL_WIRE_DRIVERS[contract.wire]; if (!driver.streamingToolCall || !driver.extractWireToolName) { @@ -537,6 +547,7 @@ describe("registry-derived routed tool conformance", () => { test("every registered adapter replays the exact apply_patch input on continuation", async () => { for (const [adapterId] of adapterDefinitions()) { + if (TOOL_LESS_ADAPTERS.has(adapterId)) continue; const contract = effectiveAdapterContract(adapterId); const body = await outbound(adapterId, continuationParsed(contract.wire)); expect(continuationInput(contract.wire, body), adapterId).toBe(PATCH); diff --git a/tests/adapters/anthropic/anthropic-error-stop-reason.test.ts b/tests/adapters/anthropic/anthropic-error-stop-reason.test.ts index b30cb9641d2..52a0a8309b6 100644 --- a/tests/adapters/anthropic/anthropic-error-stop-reason.test.ts +++ b/tests/adapters/anthropic/anthropic-error-stop-reason.test.ts @@ -13,6 +13,70 @@ const provider: OcxProviderConfig = { apiKey: "test-key", }; +describe("Anthropic usage numeric boundary", () => { + test("preserves empty usage and absent usage as distinct states", async () => { + for (const usage of [{}, undefined]) { + const events = await createAnthropicAdapter(provider).parseResponse!(Response.json({ + content: [{ type: "text", text: "ok" }], stop_reason: "end_turn", ...(usage ? { usage } : {}), + })) as AdapterEvent[]; + const done = events.find(event => event.type === "done"); + expect(done && "usage" in done ? done.usage : undefined) + .toEqual(usage ? { inputTokens: 0, outputTokens: 0 } : undefined); + } + }); + + test("preserves inclusive cache input and cumulative streaming output", async () => { + const frames = [ + { type: "message_start", message: { usage: { input_tokens: 10, cache_read_input_tokens: 3, cache_creation_input_tokens: 2 } } }, + { type: "message_delta", delta: { stop_reason: "end_turn" }, usage: { output_tokens: 4 } }, + { type: "message_stop" }, + ].map(frame => `event: ${frame.type}\ndata: ${JSON.stringify(frame)}\n\n`).join(""); + const events: AdapterEvent[] = []; + for await (const event of createAnthropicAdapter(provider).parseStream(new Response(frames))) events.push(event); + const done = events.find(event => event.type === "done"); + expect(done && "usage" in done ? done.usage : undefined).toEqual({ + inputTokens: 15, outputTokens: 4, cachedInputTokens: 3, cacheReadInputTokens: 3, cacheCreationInputTokens: 2, + }); + }); + + test.each(["input_tokens", "output_tokens", "cache_read_input_tokens", "cache_creation_input_tokens"])( + "does not emit malformed %s as reported usage", async key => { + for (const invalid of ["\x1b[2J", "42", null, -1, true, {}, []]) { + const response = Response.json({ content: [{ type: "text", text: "ok" }], stop_reason: "end_turn", + usage: { input_tokens: 10, output_tokens: 4, [key]: invalid } }); + const events = await createAnthropicAdapter(provider).parseResponse!(response) as AdapterEvent[]; + const done = events.find(event => event.type === "done"); + expect(done).toBeDefined(); + expect(done && "usage" in done ? done.usage : undefined).toBeUndefined(); + } + }, + ); + + test("rejects an overflowing inclusive input total", async () => { + const response = Response.json({ content: [{ type: "text", text: "ok" }], stop_reason: "end_turn", + usage: { input_tokens: Number.MAX_VALUE, cache_read_input_tokens: Number.MAX_VALUE, output_tokens: 4 } }); + const events = await createAnthropicAdapter(provider).parseResponse!(response) as AdapterEvent[]; + const done = events.find(event => event.type === "done"); + expect(done && "usage" in done ? done.usage : undefined).toBeUndefined(); + }); + + test("streaming rejects a malformed cumulative update without changing content", async () => { + const frames = [ + { type: "message_start", message: { usage: { input_tokens: 10 } } }, + { type: "content_block_start", index: 0, content_block: { type: "text", text: "" } }, + { type: "content_block_delta", index: 0, delta: { type: "text_delta", text: "ok" } }, + { type: "message_delta", delta: { stop_reason: "end_turn" }, usage: { output_tokens: "\x1b[2J" } }, + { type: "message_stop" }, + ].map(frame => `event: ${frame.type}\ndata: ${JSON.stringify(frame)}\n\n`).join(""); + const events: AdapterEvent[] = []; + for await (const event of createAnthropicAdapter(provider).parseStream(new Response(frames))) events.push(event); + const done = events.find(event => event.type === "done"); + expect(done).toBeDefined(); + expect(done && "usage" in done ? done.usage : undefined).toBeUndefined(); + expect(JSON.stringify(buildResponseJSON(events, "anthropic/claude-test"))).toContain("ok"); + }); +}); + /** * These drive the REAL adapter parsers. An earlier version of this suite constructed the * downstream error event by hand, so it stayed green while the adapter itself still emitted a diff --git a/tests/adapters/anthropic/anthropic-quota-dispatch.test.ts b/tests/adapters/anthropic/anthropic-quota-dispatch.test.ts index 46b557142ff..301822a8feb 100644 --- a/tests/adapters/anthropic/anthropic-quota-dispatch.test.ts +++ b/tests/adapters/anthropic/anthropic-quota-dispatch.test.ts @@ -1,5 +1,5 @@ /** Physical response attribution through the real adapter and response/search loops. */ -import { afterEach, beforeEach, expect, test } from "bun:test"; +import { afterEach, beforeEach, expect, mock, test } from "bun:test"; import { mkdtempSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; @@ -12,6 +12,27 @@ import { handleResponses } from "../../../src/server/responses"; import type { OcxConfig, OcxProviderConfig } from "../../../src/types"; import { removeTreeWithRetry } from "../../helpers/remove-tree"; +const actualResolver = await import("../../../src/server/adapter-resolve"); +const actualResolveAdapter = actualResolver.resolveAdapter; +let adapterRequestsFollow = false; +mock.module("../../../src/server/adapter-resolve", () => ({ + ...actualResolver, + resolveAdapter(...args: Parameters<typeof actualResolveAdapter>) { + const adapter = actualResolveAdapter(...args); + if (!adapterRequestsFollow) return adapter; + return { + ...adapter, + // Exercise the production OAuth dispatch callback with adapter-owned request options. + // Keep the real request builder/parser; only this caller asks for default-follow. + fetchResponse: (request: Parameters<NonNullable<typeof adapter.fetchResponse>>[0], context: Parameters<NonNullable<typeof adapter.fetchResponse>>[1]) => + context!.executor!(request.url, { + method: request.method, headers: request.headers, body: request.body, + signal: context?.abortSignal, redirect: "follow", + }), + }; + }, +})); + const originalHome = process.env.OPENCODEX_HOME; let originalFetch: typeof globalThis.fetch; let unexpectedGlobalFetches = 0; @@ -19,6 +40,7 @@ let home: string; let sent: { authorization: string | null; apiKey: string | null; body: Record<string, unknown> }[]; beforeEach(() => { + adapterRequestsFollow = false; home = ""; originalFetch = globalThis.fetch; unexpectedGlobalFetches = 0; @@ -38,6 +60,7 @@ beforeEach(() => { }); afterEach(() => { + adapterRequestsFollow = false; try { // Provider code may catch the guard's rejection; the attempted network call still fails the test. expect(unexpectedGlobalFetches).toBe(0); @@ -145,6 +168,43 @@ function deferred<T>() { return { promise, resolve }; } +test.each([307, 308])("OAuth provider override pins manual dispatch after adapter init for %i", async status => { + await seed(1); + adapterRequestsFollow = true; + let targetHits = 0; + let originHits = 0; + const redirects: Array<RequestRedirect | undefined> = []; + const statuses: number[] = []; + const target = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + targetHits++; + return answer(false); + } }); + const origin = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + originHits++; + return new Response("redirect", { status, headers: { location: `http://127.0.0.1:${target.port}/target` } }); + } }); + const config = configFor(() => { throw new Error("unused canned transport"); }); + (config.providers.anthropic as OcxProviderConfig & { fetch: typeof fetch }).fetch = (async (input, init) => { + expect(new URL(String(input)).hostname).toBe("anthropic-quota.test"); + redirects.push(init?.redirect); + // Remap only the URL; the production callback must supply the safe request options. + const result = await originalFetch(`http://127.0.0.1:${origin.port}/messages`, init); + statuses.push(result.status); + return result; + }) as typeof fetch; + try { + const response = await post(config); + await response.text(); + expect(targetHits).toBe(0); + expect(originHits).toBe(1); + expect(redirects).toEqual(["manual"]); + expect(statuses).toEqual([status]); + } finally { + await origin.stop(true); + await target.stop(true); + } +}); + test("main A429 -> B200 records both physical responses against their sending accounts", async () => { const [a, b] = await seed(); const config = configFor(body => { diff --git a/tests/adapters/google/google-claude-prefill-guard.test.ts b/tests/adapters/google/google-claude-prefill-guard.test.ts index 72dbd1d0e4a..bbaf30bf731 100644 --- a/tests/adapters/google/google-claude-prefill-guard.test.ts +++ b/tests/adapters/google/google-claude-prefill-guard.test.ts @@ -78,14 +78,39 @@ describe("google claude prefill guard", () => { expect(JSON.stringify(contents.at(-1))).not.toContain("(continue)"); }); - test("does not append nudge for non-Claude models on Antigravity", async () => { + test("appends a user continue nudge when Gemini context ends with model turn", async () => { const contents = await envelopeContents(parsed([ { role: "user", content: "start", timestamp: 0 }, { role: "assistant", content: [{ type: "text", text: "answer" }], model: "gemini", timestamp: 0 }, ], "gemini-3.7-flash")); - // Gemini natively accepts model-tail; no nudge - expect(contents.at(-1)!.role).toBe("model"); - expect(JSON.stringify(contents)).not.toContain("(continue)"); + // Google Gemini strictly rejects requests ending with a model turn with HTTP 400 + // "Requests ending with a model turn are not supported." A user continue nudge is required. + expect(contents.at(-1)).toEqual({ role: "user", parts: [{ text: "(continue)" }] }); + }); + + test("appends a user continue nudge for Gemini 3.8 Flash on Antigravity", async () => { + const contents = await envelopeContents(parsed([ + { role: "user", content: "start", timestamp: 0 }, + { role: "assistant", content: [{ type: "text", text: "answer" }], model: "gemini", timestamp: 0 }, + ], "gemini-3.8-flash")); + + expect(contents.at(-1)).toEqual({ role: "user", parts: [{ text: "(continue)" }] }); + }); + + test("appends a user continue nudge in AI Studio mode", async () => { + const aiStudioProvider = { + adapter: "google", + baseUrl: "https://generativelanguage.googleapis.com", + apiKey: "key-123", + } as OcxProviderConfig; + + const { body } = await createGoogleAdapter(aiStudioProvider).buildRequest(parsed([ + { role: "user", content: "hello", timestamp: 0 }, + { role: "assistant", content: [{ type: "text", text: "assistant reply" }], model: "gemini", timestamp: 0 }, + ], "gemini-2.5-flash")); + + const payload = JSON.parse(body); + expect(payload.contents.at(-1)).toEqual({ role: "user", parts: [{ text: "(continue)" }] }); }); }); diff --git a/tests/adapters/openai/openai-chat-hardening.test.ts b/tests/adapters/openai/openai-chat-hardening.test.ts index c5050a3ced3..2279e4937ea 100644 --- a/tests/adapters/openai/openai-chat-hardening.test.ts +++ b/tests/adapters/openai/openai-chat-hardening.test.ts @@ -1,6 +1,6 @@ import { afterEach, describe, expect, test } from "bun:test"; import { buildOpenAIChatPassthroughRequest, createOpenAIChatAdapter as createOpenAIChatAdapterProduction } from "../../../src/adapters/openai-chat"; -import { stripResponsesOnlyEncryptedMarker } from "../../../src/adapters/responses-tool-schema"; +import { stripResponsesOnlyEncryptedMarker, stripUnicodePropertyPatterns } from "../../../src/adapters/responses-tool-schema"; import { getDebugLogEntries, resetDebugLogBufferForTests } from "../../../src/lib/debug-log-buffer"; import { resetDebugSettingsForTests } from "../../../src/lib/debug-settings"; import { routeModel } from "../../../src/router"; @@ -286,6 +286,336 @@ describe("openai-chat request hardening", () => { }); }); +describe("unicode property-escape pattern stripping", () => { + // Claude Code 2.1.265 ships this on the `field` parameter of its built-in Artifact tool. + const artifactFieldPattern = '^(?!__.*__$)[^\\p{Cc}\\p{Cf}\\p{Zl}\\p{Zp}"\\\\./[\\]]{1,200}$'; + + test("drops a pattern Python `re` cannot compile and keeps one it can", () => { + const stripped = stripUnicodePropertyPatterns({ + type: "object", + properties: { + field: { type: "string", pattern: artifactFieldPattern, description: "keep me" }, + // Python `re` supports lookaheads, so this one is compilable and must survive. + collection: { type: "string", pattern: "^(?!\\.\\.?(?:/|$))[A-Za-z0-9_\\-.~:@+]{1,200}$" }, + plain: { type: "string", pattern: "^[a-z0-9_-]{1,64}$" }, + }, + }) as Record<string, Record<string, Record<string, unknown>>>; + + expect(stripped.properties.field.pattern).toBeUndefined(); + expect(stripped.properties.field.type).toBe("string"); + expect(stripped.properties.field.description).toBe("keep me"); + expect(stripped.properties.collection.pattern).toBe("^(?!\\.\\.?(?:/|$))[A-Za-z0-9_\\-.~:@+]{1,200}$"); + expect(stripped.properties.plain.pattern).toBe("^[a-z0-9_-]{1,64}$"); + }); + + test("an escaped backslash before `p{` is a literal, not a property escape", () => { + // `\\p{2}` is a literal backslash followed by a quantified `p`; Python compiles it, so a + // substring scan for `\p{` would throw away a working pattern. + const before = { type: "string", pattern: "^\\\\p{2}$" }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("`\\P{…}` is dropped as well as `\\p{…}`", () => { + const stripped = stripUnicodePropertyPatterns({ type: "string", pattern: "^\\P{L}+$" }) as Record<string, unknown>; + expect(stripped.pattern).toBeUndefined(); + expect(stripped.type).toBe("string"); + }); + + test("a property or literal payload named `pattern` is data, not a keyword", () => { + const before = { + type: "object", + properties: { + // A caller-chosen property name that happens to be `pattern`: its schema survives whole. + pattern: { type: "string", pattern: "^[a-z]+$" }, + }, + $defs: { pattern: { type: "string" } }, + patternProperties: { "^x-": { type: "string" } }, + const: { pattern: artifactFieldPattern }, + default: { pattern: artifactFieldPattern }, + enum: [{ pattern: artifactFieldPattern }], + examples: [{ pattern: artifactFieldPattern }], + }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("returns the input itself when nothing is dropped", () => { + const before = { type: "object", properties: { a: { type: "string" } } }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("patternProperties matchers and their value schemas are preserved", () => { + // Matcher keys determine evaluation and may be referenced by ancestor closures. + // Keep them even when this local object appears open. + const stripped = stripUnicodePropertyPatterns({ + type: "object", + patternProperties: { + "^\\p{L}+$": { type: "string" }, + "^\\P{N}+$": { type: "string" }, + // Python `re` compiles these, so they survive with their schemas intact. + "^x-": { type: "string", description: "keep me" }, + "^(?!__).+$": { type: "number" }, + }, + }) as Record<string, Record<string, Record<string, unknown>>>; + + // Key order is not part of the schema contract, so compare the set. The point is which + // matchers survive and that their schemas come through intact. + expect(Object.keys(stripped.patternProperties).sort()).toEqual(["^\\p{L}+$", "^\\P{N}+$", "^(?!__).+$", "^x-"].sort()); + expect(stripped.patternProperties["^x-"].description).toBe("keep me"); + expect(stripped.patternProperties["^(?!__).+$"].type).toBe("number"); + }); + + test("an ordinary name bag keeps a property literally named like a property escape", () => { + // Only `patternProperties` keys are matchers. Elsewhere the key is just a name, so a + // property called `\\p{L}` is data and must survive. + const before = { + type: "object", + properties: { "\\p{L}": { type: "string" } }, + $defs: { "\\p{L}": { type: "string" } }, + }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("nested patternProperties preserve every matcher", () => { + const stripped = stripUnicodePropertyPatterns({ + type: "object", + properties: { + nested: { + type: "object", + patternProperties: { "^\\p{Lu}$": { type: "string" }, "^ok$": { type: "string" } }, + }, + }, + }) as Record<string, Record<string, Record<string, Record<string, unknown>>>>; + + expect(Object.keys(stripped.properties.nested.patternProperties).sort()).toEqual(["^\\p{Lu}$", "^ok$"].sort()); + expect(stripped.properties.nested.patternProperties["^ok$"].type).toBe("string"); + }); + + test("a closed object keeps its regex matcher, because dropping it would narrow the object", () => { + // `additionalProperties: false` means the matcher decides which keys exist at all. Dropping + // it would forbid every key it covered, and with `minProperties: 1` the object could then + // admit nothing — a dictionary tool turned into an empty-object-only tool. Leaving it alone + // keeps the schema valid on a destination that compiles ECMA regexes, and lets one that + // cannot report the regex itself. + const before = { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" } }, + additionalProperties: false, + minProperties: 1, + }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("`additionalProperties` as a schema also blocks the drop", () => { + // The covered keys would have to satisfy that schema instead of their own value schema, + // which is a different constraint rather than a relaxed one. + const before = { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" } }, + additionalProperties: { type: "number" }, + }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("`unevaluatedProperties: false` closes the object the same way", () => { + const before = { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" } }, + unevaluatedProperties: false, + }; + expect(stripUnicodePropertyPatterns(before)).toBe(before); + }); + + test("an explicitly open object also preserves its matchers", () => { + // Local openness does not establish the meaning of this schema under composition. + const stripped = stripUnicodePropertyPatterns({ + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" }, "^x-": { type: "string" } }, + additionalProperties: true, + }) as Record<string, Record<string, unknown>>; + + expect(Object.keys(stripped.patternProperties).sort()).toEqual(["^\\p{L}+$", "^x-"].sort()); + expect(stripped.additionalProperties).toBe(true); + }); + + test("open and closed sibling objects both retain their matchers", () => { + const stripped = stripUnicodePropertyPatterns({ + type: "object", + properties: { + closed: { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" } }, + additionalProperties: false, + }, + open: { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" }, "^ok$": { type: "string" } }, + }, + }, + }) as Record<string, Record<string, Record<string, Record<string, unknown>>>>; + + expect(Object.keys(stripped.properties.closed.patternProperties)).toEqual(["^\\p{L}+$"]); + expect(Object.keys(stripped.properties.open.patternProperties).sort()).toEqual(["^\\p{L}+$", "^ok$"].sort()); + }); + + test.each(["not", "oneOf", "if", "contains", "$defs", "definitions"] as const)( + "preserves scalar patterns in %s without changing an ordinary sibling repair", + key => { + const pattern = "^\\p{L}+$"; + const nested = key === "oneOf" ? [{ type: "string", pattern }, { type: "number" }] + : key === "$defs" || key === "definitions" ? { Value: { type: "string", pattern } } + : { type: "string", pattern }; + const before = { type: "object", [key]: nested, properties: { ordinary: { type: "string", pattern } } }; + const original = JSON.stringify(before); + const result = stripUnicodePropertyPatterns(before) as Record<string, unknown>; + expect(result[key]).toEqual(JSON.parse(original)[key]); + expect(result.properties).toEqual({ ordinary: { type: "string" } }); + expect(JSON.stringify(before)).toBe(original); + }, + ); + + test("a deeply nested schema is stripped without exhausting the stack", () => { + // Same reasoning as the encrypted-marker walk: schema depth is caller-controlled. + const depth = 50_000; + const root: Record<string, unknown> = { type: "object", pattern: artifactFieldPattern }; + let cursor = root; + for (let i = 0; i < depth; i++) { + const child: Record<string, unknown> = { type: "object", pattern: artifactFieldPattern }; + cursor.properties = { pattern: child }; + cursor = child; + } + + const stripped = stripUnicodePropertyPatterns(root) as Record<string, unknown>; + expect(stripped.pattern).toBeUndefined(); + let walk = stripped; + for (let i = 0; i < depth; i++) { + // Each level keeps the property literally named `pattern` and drops the keyword. + walk = (walk.properties as Record<string, Record<string, unknown>>).pattern; + expect(walk.pattern).toBeUndefined(); + expect(walk.type).toBe("object"); + } + }); + + test("the chat wire drops the uncompilable pattern and keeps the compilable sibling", () => { + // The tests above call the helper directly, so they stay green even if the + // chat serializer stops calling it. This one goes through buildRequest and + // asserts the bytes a provider would receive, which is the seam that was + // actually broken: toolsToChatFormat in src/adapters/openai-chat.ts. + const compilableSibling = "^(?!\\.\\.?(?:/|$))[A-Za-z0-9_\\-.~:@+]{1,200}$"; + const request = createOpenAIChatAdapter(provider()).buildRequest({ + ...parsed(), + context: { + messages: [{ role: "user", content: "make an artifact", timestamp: 0 }], + tools: [{ + name: "Artifact", + namespace: "collaboration", + description: "Create an artifact", + parameters: { + type: "object", + properties: { + field: { type: "string", pattern: artifactFieldPattern, description: "Artifact field" }, + collection: { type: "string", pattern: compilableSibling }, + }, + required: ["field"], + }, + }], + }, + }); + + const body = JSON.parse(request.body) as { + tools: Array<{ function: { parameters: { properties: Record<string, Record<string, unknown>>; required: string[] } } }>; + }; + const wire = body.tools[0].function.parameters; + + expect(wire.properties.field.pattern).toBeUndefined(); + expect(wire.properties.field.type).toBe("string"); + expect(wire.properties.field.description).toBe("Artifact field"); + expect(wire.properties.collection.pattern).toBe(compilableSibling); + expect(wire.required).toEqual(["field"]); + }); + + test("chat wire: a closed dictionary tool passes through, never becoming an empty-object tool", () => { + // This seam normalizes for every destination, including ones that compile ECMA regexes. + // Dropping the matcher would leave `additionalProperties: false` forbidding the keys it + // covered, and `minProperties: 1` would then admit nothing at all. + const parameters = { + type: "object", + description: "Arbitrary letter-keyed labels", + patternProperties: { "^\\p{L}+$": { type: "string" } }, + additionalProperties: false, + minProperties: 1, + }; + const request = createOpenAIChatAdapter(provider()).buildRequest({ + ...parsed(), + context: { + messages: [{ role: "user", content: "label it", timestamp: 0 }], + tools: [{ name: "Label", namespace: "collaboration", description: "Label things", parameters }], + }, + }); + + const body = JSON.parse(request.body) as { tools: Array<{ function: { parameters: unknown } }> }; + // Byte-identical to what the caller supplied: matcher, closure and lower bound all intact. + expect(body.tools[0].function.parameters).toEqual(parameters); + }); + + test("chat wire: an open dictionary tool preserves its matcher contract", () => { + const request = createOpenAIChatAdapter(provider()).buildRequest({ + ...parsed(), + context: { + messages: [{ role: "user", content: "label it", timestamp: 0 }], + tools: [{ + name: "Label", + namespace: "collaboration", + description: "Label things", + parameters: { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" }, "^x-": { type: "string" } }, + minProperties: 1, + }, + }], + }, + }); + + const body = JSON.parse(request.body) as { + tools: Array<{ function: { parameters: { patternProperties: Record<string, unknown>; minProperties: number } } }>; + }; + const wire = body.tools[0].function.parameters; + // Retaining the matcher also preserves its value constraint and evaluation annotation. + expect(Object.keys(wire.patternProperties).sort()).toEqual(["^\\p{L}+$", "^x-"].sort()); + expect(wire.minProperties).toBe(1); + }); + test.each(["allOf", "not", "oneOf"] as const)("chat wire preserves composed %s argument constraints", kind => { + const matcher = "^\\p{L}+$"; + const parameters = kind === "allOf" ? { + type: "object", minProperties: 1, unevaluatedProperties: false, + allOf: [{ patternProperties: { [matcher]: { type: "string" } } }], + } : kind === "not" ? { + type: "object", required: ["value"], + properties: { value: { not: { type: "string", pattern: matcher } } }, + } : { + type: "object", required: ["value"], + properties: { value: { oneOf: [{ type: "string", pattern: matcher }, { const: "123" }] } }, + }; + const original = JSON.stringify(parameters); + // Witnesses are accepted before normalization: {name:"ok"} evaluates its sole key in + // allOf; {value:"123"} fails the letter pattern, satisfying not or exactly one branch. + expect(new RegExp(matcher, "u").test("name")).toBe(true); + expect(new RegExp(matcher, "u").test("123")).toBe(false); + + const request = createOpenAIChatAdapter(provider()).buildRequest({ + ...parsed(), + context: { + messages: [{ role: "user", content: "keep the argument contract", timestamp: 0 }], + tools: [{ name: "Composed", description: "Composed schema", parameters }], + }, + }); + const wire = JSON.parse(request.body) as { tools: Array<{ function: { parameters: unknown } }> }; + expect(wire.tools).toHaveLength(1); + expect(wire.tools[0].function.parameters).toEqual(JSON.parse(original)); + expect(JSON.stringify(parameters)).toBe(original); + }); + +}); + describe("openai-chat non-stream response hardening", () => { test("surfaces an upstream error envelope message", async () => { const adapter = createOpenAIChatAdapter(provider()); diff --git a/tests/providers/opencode-go-agent-messages.test.ts b/tests/adapters/routed-agent-messages.test.ts similarity index 50% rename from tests/providers/opencode-go-agent-messages.test.ts rename to tests/adapters/routed-agent-messages.test.ts index f79f529a5eb..2a44d118622 100644 --- a/tests/providers/opencode-go-agent-messages.test.ts +++ b/tests/adapters/routed-agent-messages.test.ts @@ -1,6 +1,6 @@ import { expect, test } from "bun:test"; import { createResponsesPassthroughAdapter } from "../../src/adapters/openai-responses"; -import { isOpenCodeGo, normalizeOpenCodeGoAgentMessages } from "../../src/adapters/opencode-go"; +import { normalizeRoutedAgentMessages } from "../../src/adapters/routed-agent-messages"; import { parseRequest } from "../../src/responses/parser"; import { routeModel } from "../../src/router"; import { createTranslatorBudget } from "../../src/lib/translator-budget"; @@ -26,17 +26,113 @@ test("Responses converts plaintext task and peer messages without mutating repla test("ciphertext and unknown content are never reclassified as plaintext", () => { for (const part of [{ type: "encrypted_content", encrypted_content: "opaque" }, { type: "future_type", text: "opaque" }]) { const raw = { input: [{ type: "agent_message", content: [part] }] }; - expect(normalizeOpenCodeGoAgentMessages(raw)).toBe(raw); + expect(normalizeRoutedAgentMessages(raw)).toBe(raw); + } +}); + +test("string agent messages require an explicit opt-in and preserve exact text", () => { + const text = " Child result\nwith a trailing line.\n "; + const message = Object.freeze({ type: "agent_message", id: "amsg_string", content: text }); + const raw = Object.freeze({ input: Object.freeze([message]) }); + expect(normalizeRoutedAgentMessages(raw)).toBe(raw); + expect(normalizeRoutedAgentMessages(raw, { allowStringContent: false })).toBe(raw); + expect(normalizeRoutedAgentMessages(raw, { allowStringContent: true })).toEqual({ input: [{ + type: "message", role: "user", content: [{ type: "input_text", text }], + }] }); + expect(raw.input[0]).toBe(message); + expect(message.content).toBe(text); +}); + +for (const baseUrl of ["https://api.x.ai/v1", "https://cli-chat-proxy.grok.com/v1"]) { + test.each(["key", "oauth"] as const)(`${baseUrl} lowers string child results with %s auth`, async authMode => { + const raw = { model: "grok-4.6", stream: true, input: [{ + type: "agent_message", id: "amsg_string", author: "/root/worker", recipient: "/root", + content: " Complete child result\nSecond line.\n ", + }] }; + const original = structuredClone(raw); + const parsed = parseRequest(raw); + const budget = createTranslatorBudget(); + try { + const request = await createResponsesPassthroughAdapter({ ...base, baseUrl, authMode }).buildRequest(parsed, { + headers: new Headers(), translatorBudget: budget, + }); + const sent = JSON.parse(request.body as string); + expect(sent.input).toEqual([{ + type: "message", role: "user", content: [ + { type: "input_text", text: 'Agent message {"author":"/root/worker","recipient":"/root"}' }, + { type: "input_text", text: original.input[0]!.content }, + ], + }]); + expect(parsed._rawBody).toBe(raw); + expect(raw).toEqual(original); + } finally { + budget.dispose(); + } + }); +} + +test.each([ + { baseUrl: "https://chatgpt.com/backend-api/codex", authMode: "forward" as const }, + { baseUrl: "https://api.x.ai/v1", authMode: "forward" as const }, + { baseUrl: "https://cli-chat-proxy.grok.com/v1", authMode: "forward" as const }, + { baseUrl: "https://custom.test/v1", authMode: "forward" as const }, + { baseUrl: "https://opencode.ai/zen/go/v1", authMode: "key" as const }, + { baseUrl: "https://example.test/v1", authMode: "key" as const }, + { baseUrl: "https://api.x.ai.evil.test/v1", authMode: "key" as const }, + { baseUrl: "https://cli-chat-proxy.grok.com.evil.test/v1", authMode: "key" as const }, + { baseUrl: "http://api.x.ai/v1", authMode: "key" as const }, + { baseUrl: "https://api.x.ai:444/v1", authMode: "key" as const }, +])("preserves string messages for $authMode at $baseUrl", async destination => { + const raw = { model: "grok-4.6", input: [{ type: "agent_message", content: "Child result" }] }; + const original = structuredClone(raw); + const budget = createTranslatorBudget(); + try { + const request = await createResponsesPassthroughAdapter({ ...base, ...destination }).buildRequest(parseRequest(raw), { + headers: new Headers(), translatorBudget: budget, + }); + expect(JSON.parse(request.body as string).input).toEqual(original.input); + expect(raw).toEqual(original); + } finally { + budget.dispose(); + } +}); + +test.each([ + "", " \n\t", null, 42, { text: "not a content string" }, [], + [{ type: "encrypted_content", encrypted_content: "opaque" }], + [{ type: "input_text", text: "Routing header" }, { type: "encrypted_content", encrypted_content: "opaque" }], + [{ type: "input_text", text: "Known prefix" }, { type: "future_type", text: "Unknown suffix" }], +].map(content => ({ content })))("xAI string opt-in leaves incomplete or unreadable content unchanged: %j", async ({ content }) => { + const raw = { model: "grok-4.6", input: [{ type: "agent_message", content }] }; + const original = structuredClone(raw); + expect(normalizeRoutedAgentMessages(raw, { allowStringContent: true })).toBe(raw); + const budget = createTranslatorBudget(); + try { + const request = await createResponsesPassthroughAdapter({ ...base, baseUrl: "https://api.x.ai/v1" }).buildRequest(parseRequest(raw), { + headers: new Headers(), translatorBudget: budget, + }); + expect(JSON.parse(request.body as string).input).toEqual(original.input); + expect(raw).toEqual(original); + } finally { + budget.dispose(); } }); test("image parts stay intact beside the assignment", () => { const image = { type: "input_image", image_url: "data:image/png;base64,AAAA", detail: "high" }; const raw = { input: [{ type: "agent_message", content: [{ type: "input_text", text: "Inspect image" }, image] }] }; - const result = normalizeOpenCodeGoAgentMessages(raw) as typeof raw; + const result = normalizeRoutedAgentMessages(raw) as typeof raw; expect(result.input[0]!.content[1]).toBe(image); }); +test("a body with no agent messages keeps its exact reference", () => { + const raw = { input: [{ type: "message", role: "user", content: [{ type: "input_text", text: "hi" }] }] }; + expect(normalizeRoutedAgentMessages(raw)).toBe(raw); + for (const shape of [null, "a string", [1, 2], { input: "not an array" }]) { + expect(normalizeRoutedAgentMessages(shape)).toBe(shape); + } +}); + test("native forward keeps agent_message and auth/session headers unchanged", async () => { const budget = createTranslatorBudget(); const provider = { ...base, baseUrl: "https://chatgpt.com/backend-api/codex", authMode: "forward" as const }; @@ -48,14 +144,43 @@ test("native forward keeps agent_message and auth/session headers unchanged", as budget.dispose(); }); -test("other destinations do not get Go normalization or session identity", async () => { +test("an arbitrary routed destination converts too, and gains no session identity", async () => { + // The 422 this guards against is not destination-specific: `agent_message` is private to + // the ChatGPT Codex backend, so any routed Responses target rejects the whole body. const budget = createTranslatorBudget(); - const request = await createResponsesPassthroughAdapter({ ...base, baseUrl: "https://example.test/v1" }).buildRequest(parseRequest(body()), { headers: new Headers({ "session-id": "child-id" }), translatorBudget: budget }); - expect(JSON.parse(request.body as string).input[0].type).toBe("agent_message"); + const raw = body(); + const original = structuredClone(raw); + const parsed = parseRequest(raw); + const request = await createResponsesPassthroughAdapter({ ...base, baseUrl: "https://example.test/v1" }).buildRequest(parsed, { headers: new Headers({ "session-id": "child-id" }), translatorBudget: budget }); + const sent = JSON.parse(request.body as string); + expect(sent.input[0]).toMatchObject({ type: "message", role: "user" }); + expect(sent.input[0].content.slice(1)).toEqual(original.input[0]!.content); expect(new Headers(request.headers).get("x-opencode-session")).toBeNull(); + expect(parsed._rawBody).toBe(raw); + expect(raw).toEqual(original); budget.dispose(); }); +test("an OAuth destination converts as well, since the gate reads authMode rather than the URL", async () => { + // The reported xAI/Grok failure (#3907) is an OAuth pool destination, not a key-auth + // one, and the gate is `authMode !== "forward"`. Pin a mode other than key/forward so + // a future narrowing of the gate back toward key-only cannot pass unnoticed. + const budget = createTranslatorBudget(); + const raw = body(); + const original = structuredClone(raw); + try { + const request = await createResponsesPassthroughAdapter({ + ...base, baseUrl: "https://api.x.ai/v1", authMode: "oauth" as const, + }).buildRequest(parseRequest(raw), { headers: new Headers(), translatorBudget: budget }); + const sent = JSON.parse(request.body as string); + expect(sent.input[0]).toMatchObject({ type: "message", role: "user" }); + expect(sent.input[0].content.slice(1)).toEqual(original.input[0]!.content); + expect(raw).toEqual(original); + } finally { + budget.dispose(); + } +}); + test("canonical Go forward auth preserves private agent messages and the raw replay body", async () => { const raw = body(); const original = structuredClone(raw); @@ -108,18 +233,21 @@ test.each([ "http://opencode.ai/zen/go/v1", "https://opencode.ai/zen/v1", "https://opencode.ai/zen/go/v10", -])("Go-like destination %s preserves private agent messages", async baseUrl => { +])("Go-like destination %s converts without inheriting any Go-specific handling", async baseUrl => { + // A spoofed or malformed Go URL is just another routed destination now. It gets the same + // conversion every routed target gets, and still no Go session identity. const raw = body(); const original = structuredClone(raw); const parsed = parseRequest(raw); const budget = createTranslatorBudget(); try { const request = await createResponsesPassthroughAdapter({ ...base, baseUrl }).buildRequest(parsed, { - headers: new Headers(), translatorBudget: budget, - }); - expect(JSON.parse(request.body as string).input[0]).toMatchObject({ - type: "agent_message", content: original.input[0]!.content, + headers: new Headers({ "session-id": "child-id" }), translatorBudget: budget, }); + const sent = JSON.parse(request.body as string); + expect(sent.input[0]).toMatchObject({ type: "message", role: "user" }); + expect(sent.input[0].content.slice(1)).toEqual(original.input[0]!.content); + expect(new Headers(request.headers).get("x-opencode-session")).toBeNull(); expect(parsed._rawBody).toBe(raw); expect(raw).toEqual(original); } finally { @@ -127,12 +255,7 @@ test.each([ } }); -test.each(["not a URL", "https://", "/zen/go/v1"])( - "malformed destination %s is not classified as Go", - baseUrl => expect(isOpenCodeGo(baseUrl)).toBe(false), -); - -test("Go conversion preserves file payloads beside text without mutating raw replay", async () => { +test("conversion preserves file payloads beside text without mutating raw replay", async () => { const file = { type: "input_file", filename: "assignment.txt", file_data: "data:text/plain;base64,SGVsbG8=" }; const message = body().input[0]!; const raw = { ...body(), input: [{ ...message, content: [...message.content, file] }] }; @@ -161,10 +284,10 @@ for (const { name, content } of [ { name: "text mixed with ciphertext", content: [ { type: "input_text", text: "Routing header" }, { type: "encrypted_content", encrypted_content: "opaque" }, ] }, -]) test(`Go preserves ${name} without partially converting it`, async () => { +]) test(`routed destinations preserve ${name} without partially converting it`, async () => { const raw = { ...body(), input: [{ ...body().input[0]!, content }] }; const original = structuredClone(raw); - expect(normalizeOpenCodeGoAgentMessages(raw)).toBe(raw); + expect(normalizeRoutedAgentMessages(raw)).toBe(raw); const parsed = parseRequest(raw); const budget = createTranslatorBudget(); try { diff --git a/tests/ci-workflows/build-release-changelog.test.ts b/tests/ci-workflows/build-release-changelog.test.ts index c749c978e64..886e935c76d 100644 --- a/tests/ci-workflows/build-release-changelog.test.ts +++ b/tests/ci-workflows/build-release-changelog.test.ts @@ -41,6 +41,42 @@ const generatedBugFix = [ "**Full Changelog**: https://github.com/lidge-jun/opencodex/compare/v1.0.0...v1.1.0", ].join("\n"); +describe("active release builder enforcement markers", () => { + test.each(["generated", "associated"])("normalizes summary and changelog titles from %s PRs", source => { + const title = "[WRONG BRANCH] fix(api): preserve release coverage"; + const result = buildReleaseNotes({ + version: "1.1.0", tags: ["v1.0.0"], npmMetadata: "", repository: "lidge-jun/opencodex", + generatedNotes: source === "generated" + ? `## What's Changed\n### Bug Fixes\n* ${title} by @alice in https://github.com/lidge-jun/opencodex/pull/10` + : "", + commits: [commit("a", "fix(api): preserve release coverage (#10)", [ + { number: 10, title, author: "alice", labels: ["bug"], merged: true }, + ])], + }); + expect(result.errors).toEqual([]); + expect(result.releasableCommitCount).toBe(1); + expect(result.body).toContain("- Preserve release coverage (#10)"); + expect(result.body).toContain("- #10 fix(api): preserve release coverage @alice"); + expect(result.body).not.toContain("[WRONG BRANCH]"); + }); + + test.each([ + "[Preview] fix(api): retain this marker", + "fix(api): explain [WRONG BRANCH] markers", + "[WRONG BRANCH]ish: retain this title", + ])("retains meaningful changelog title text: %s", title => { + const result = buildReleaseNotes({ + version: "1.1.0", tags: ["v1.0.0"], npmMetadata: "", repository: "lidge-jun/opencodex", + generatedNotes: "", + commits: [commit("a", "fix(api): preserve release coverage (#10)", [ + { number: 10, title, author: "alice", labels: ["bug"], merged: true }, + ])], + }); + expect(result.errors).toEqual([]); + expect(result.body).toContain(`- #10 ${title} @alice`); + }); +}); + describe("selectReleaseBaseline", () => { test("skips a newer release that is not reachable from the target", () => { // A preview lives on its own lineage. Selecting the newest tag regardless of diff --git a/tests/ci-workflows/install-scripts.test.ts b/tests/ci-workflows/install-scripts.test.ts index c78d56f3d90..66ec5981e46 100644 --- a/tests/ci-workflows/install-scripts.test.ts +++ b/tests/ci-workflows/install-scripts.test.ts @@ -65,10 +65,10 @@ describe("install scripts", () => { expect(pkg.main).toBe("./bin/package-main.mjs"); expect(pkg.exports?.["."]?.bun).toBe("./src/index.ts"); expect(pkg.exports?.["."]?.default).toBe("./bin/package-main.mjs"); - expect(pkg.dependencies?.bun).toBe("1.4.0"); + expect(pkg.dependencies?.bun).toBe("1.4.2"); expect(pkg.dependencies?.zod).toBe("4.4.3"); expect(pkg.devDependencies?.typescript).toBe("7.0.2"); - expect(pkg.devDependencies?.["@types/bun"]).toBe("1.4.0"); + expect(pkg.devDependencies?.["@types/bun"]).toBe("1.4.2"); expect(pkg.scripts?.dev).toBe("bun run src/cli/index.ts start"); expect(pkg.scripts?.["dev:proxy"]).toBe("bun run src/cli/index.ts start"); expect(pkg.scripts?.["dev:gui"]).toBe("cd gui && bun run dev"); diff --git a/tests/ci-workflows/release-notes.test.ts b/tests/ci-workflows/release-notes.test.ts index 11196108d73..d270360081c 100644 --- a/tests/ci-workflows/release-notes.test.ts +++ b/tests/ci-workflows/release-notes.test.ts @@ -455,6 +455,20 @@ describe("rewriteTakeoverCredits", () => { }); describe("cleanPrTitle", () => { + test("removes the enforcement marker before extracting scope and sentence casing", () => { + expect(cleanPrTitle(" [WRONG BRANCH] chore(release): promote validated 2.45.0 to main (#3813) ", 3813)).toEqual({ + scope: "release", + text: "Promote validated 2.45.0 to main", + }); + }); + + test.each([ + ["[Preview] chore(release): keep this marker", "[Preview] chore(release): keep this marker"], + ["fix: document [WRONG BRANCH] markers", "Document [WRONG BRANCH] markers"], + ["[WRONG BRANCH]ish: keep this title", "[WRONG BRANCH]ish: keep this title"], + ])("preserves meaningful title text: %s", (title, text) => { + expect(cleanPrTitle(title).text).toBe(text); + }); test("strips conventional prefix, keeps scope, and sentence-cases the title", () => { expect(cleanPrTitle("feat(providers): add Baseten Model APIs preset", 653)).toEqual({ scope: "providers", @@ -488,6 +502,55 @@ describe("cleanPrTitle", () => { }); describe("renderReleaseNotes", () => { + test.each(["delta", "carried"])("removes the bot marker from summaries and full changelogs (%s)", source => { + const body = [ + "## What's Changed", + "### Chores", + "* [WRONG BRANCH] chore(release): promote validated 2.45.0 to main by @lidge-jun in https://github.com/lidge-jun/opencodex/pull/3813", + ].join("\n"); + const notes = renderReleaseNotes({ + npmMetadata: "", + ...(source === "delta" ? { deltaPrNotes: body } : { carriedPreviewNotes: [ + "## Chores", "", + "- [WRONG BRANCH] chore(release): promote validated 2.45.0 to main (#3813)", "", + "## Changelog", "", + "- #3813 [WRONG BRANCH] chore(release): promote validated 2.45.0 to main @lidge-jun", + ].join("\n") }), + }); + expect(notes).toBe([ + "## Chores", "", + "- Promote validated 2.45.0 to main (#3813)", "", + "## Changelog", "", + "- #3813 chore(release): promote validated 2.45.0 to main @lidge-jun", "", + ].join("\n")); + }); + + test("groups a bot-prefixed title with ordinary titles of the same scope", () => { + const notes = renderReleaseNotes({ + npmMetadata: "", + deltaPrNotes: [ + "## What's Changed", "### Chores", + "* [WRONG BRANCH] chore(release): promote verified version by @maintainer in https://github.com/lidge-jun/opencodex/pull/10", + "* chore(release): update notes by @contributor in https://github.com/lidge-jun/opencodex/pull/11", + ].join("\n"), + }); + expect(notes).toContain("- Release: Promote verified version; Update notes (#10, #11)"); + expect(notes).toContain("- #10 chore(release): promote verified version @maintainer"); + expect(notes).toContain("- #11 chore(release): update notes @contributor"); + expect(notes).not.toContain("[WRONG BRANCH]"); + }); + + test.each([ + "[Preview] chore(release): retain the preview marker", + "fix: document [WRONG BRANCH] markers (#99)", + "[WRONG BRANCH]ish: retain this title", + ])("preserves meaningful full-changelog title text: %s", title => { + const notes = renderReleaseNotes({ + npmMetadata: "", + deltaPrNotes: `## What's Changed\n### Chores\n* ${title} by @contributor in https://github.com/lidge-jun/opencodex/pull/12`, + }); + expect(notes).toContain(`- #12 ${title} @contributor`); + }); const carried = [ "<!-- Release notes generated using configuration in .github/release.yml at abc -->", "", diff --git a/tests/ci-workflows/test-home-guard.test.ts b/tests/ci-workflows/test-home-guard.test.ts index 5764e234ebc..47369ed663b 100644 --- a/tests/ci-workflows/test-home-guard.test.ts +++ b/tests/ci-workflows/test-home-guard.test.ts @@ -9,8 +9,8 @@ * * Incident: devlog/_fin/260730_codex_rs_upstream_v2_live_handoff/070. */ -import { describe, expect, test } from "bun:test"; -import { mkdtempSync, mkdirSync, readFileSync, rmSync, statSync, symlinkSync, writeFileSync } from "node:fs"; +import { describe, expect, spyOn, test } from "bun:test"; +import { existsSync, mkdtempSync, mkdirSync, readFileSync, statSync, symlinkSync, writeFileSync } from "node:fs"; import { homedir, tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath, pathToFileURL } from "node:url"; @@ -18,6 +18,8 @@ import { assertNotRealHomeUnderTest, isTestHomeGuardArmed, protectedHomeForTests import { getConfigDir } from "../../src/config"; import { removeTreeWithRetry } from "../helpers/remove-tree"; import { repoRoot } from "../helpers/repo-root"; +import { watchdogMs } from "../helpers/ci-watchdog"; +import { captureTestOutput } from "../../scripts/test"; /** * Two different things are needed from the repo root, and conflating them is @@ -38,46 +40,211 @@ const REPO_ROOT = repoRoot(); */ const REPO_ROOT_URL = pathToFileURL(repoRoot() + "/").href; -/** - * Run a probe in a child process so we control OCX_REAL_HOME at STARTUP — the guard - * captures its protected path at module load, which is exactly the property under test. - */ -function runProbe(source: string, env: Record<string, string | undefined>): { code: number; stdout: string; stderr: string } { - const dir = mkdtempSync(join(tmpdir(), "ocx-guard-probe-")); - const file = join(dir, "probe.ts"); - writeFileSync(file, source, "utf8"); - const childEnv: Record<string, string> = {}; - for (const [key, value] of Object.entries({ ...process.env, ...env })) { - if (value !== undefined) childEnv[key] = value; +// Scale only execution: cleanup retains room below CI's existing 60-second ceiling. +const PROBE_EXECUTION_MS = watchdogMs(5_000); +const PROBE_TERM_MS = 5_000; +const PROBE_REAP_MS = 2_000; +const PROBE_DRAIN_MS = 1_000; + +function beginProbe(id: string): string { + console.warn(`[home-guard:${id}] 01 fixture setup`); + return id; +} + +async function waitForProbe(promise: Promise<void>, timeoutMs: number): Promise<boolean> { + let timer: ReturnType<typeof setTimeout> | undefined; + try { + return await Promise.race([ + promise.then(() => true), + new Promise<boolean>(resolve => { timer = setTimeout(() => resolve(false), timeoutMs); }), + ]); + } finally { + clearTimeout(timer); } - const result = Bun.spawnSync([process.execPath, "run", file], { cwd: REPO_ROOT, env: childEnv, stdout: "pipe", stderr: "pipe" }); - return { - code: result.exitCode ?? 1, - stdout: new TextDecoder().decode(result.stdout), - stderr: new TextDecoder().decode(result.stderr), - }; } -function runShardProbe(testSource: string, env: Record<string, string | undefined>): { code: number; stdout: string; stderr: string } { - const dir = mkdtempSync(join(tmpdir(), "ocx-shard-guard-probe-")); - const file = join(dir, "probe.test.ts"); - writeFileSync(file, testSource, "utf8"); - const childEnv: Record<string, string> = {}; - for (const [key, value] of Object.entries({ ...process.env, ...env })) { - if (value !== undefined) childEnv[key] = value; +type ProbeOutcome = { + pid: number | null; + code: number | null; + signal: NodeJS.Signals | null; + reaped: boolean; + complete: boolean; + stdout: string; + stderr: string; + root: string | undefined; +}; + +class ProbeFailure extends Error { + constructor(readonly id: string, readonly failures: string[], readonly outcome: ProbeOutcome) { + super(`[home-guard:${id}] ${failures.join(", ")}; pid=${outcome.pid} exit=${outcome.code} signal=${outcome.signal} reaped=${outcome.reaped} complete=${outcome.complete}`); + this.name = "ProbeFailure"; } - const result = Bun.spawnSync( - [process.execPath, "run", join(REPO_ROOT, "scripts/test.ts"), "--shard=1/1", file], - { cwd: REPO_ROOT, env: childEnv, stdout: "pipe", stderr: "pipe" }, - ); - rmSync(dir, { recursive: true, force: true }); - return { - code: result.exitCode ?? 1, - stdout: new TextDecoder().decode(result.stdout), - stderr: new TextDecoder().decode(result.stderr), +} + +/** Keep the startup home contract; own execution, reaping and pipe draining separately. */ +async function runProbe(id: string, source: string, env: Record<string, string | undefined>): Promise<ProbeOutcome> { + const outcome: ProbeOutcome = { + pid: null, code: null, signal: null, reaped: false, complete: false, + stdout: "", stderr: "", root: undefined, }; + const failures: string[] = []; + let child: Bun.Subprocess<"ignore", "pipe", "pipe"> | undefined; + let exited: Promise<void> | undefined; + let capture: ReturnType<typeof captureTestOutput> | undefined; + const stage = (message: string) => console.warn(`[home-guard:${id}] ${message}`); + try { + stage("02 probe file setup"); + outcome.root = mkdtempSync(join(tmpdir(), "ocx-guard-probe-")); + const file = join(outcome.root, "probe.ts"); + writeFileSync(file, source, "utf8"); + const childEnv: Record<string, string> = {}; + for (const [key, value] of Object.entries({ ...process.env, ...env })) { + if (value !== undefined) childEnv[key] = value; + } + stage("03 spawn requested"); + child = Bun.spawn([process.execPath, "run", file], { cwd: REPO_ROOT, env: childEnv, stdout: "pipe", stderr: "pipe" }); + const owned = child; + outcome.pid = owned.pid; + stage(`04 pid=${owned.pid}`); + // Rejection is an observation failure, never evidence that the process was reaped. + exited = owned.exited.then(code => { + outcome.code = code; + outcome.signal = owned.signalCode ?? null; + outcome.reaped = true; + stage(`08 exit pid=${owned.pid} code=${code} signal=${outcome.signal}`); + }, () => { + failures.push("exit-observation-failed"); + stage(`08 exit observation failed pid=${owned.pid}`); + }); + capture = captureTestOutput(owned.stdout, owned.stderr); + if (!await waitForProbe(exited, PROBE_EXECUTION_MS)) { + failures.push("execution-timeout"); + stage(`05 execution timeout pid=${owned.pid}`); + } + } catch { + failures.push("setup-or-observation-failed"); + } finally { + if (child && !outcome.reaped) { + stage(`06 TERM pid=${child.pid}`); + try { child.kill("SIGTERM"); } catch { stage("06 TERM request failed"); } + if (exited) await waitForProbe(exited, PROBE_TERM_MS); + if (!outcome.reaped) { + stage(`07 KILL pid=${child.pid}`); + try { child.kill("SIGKILL"); } catch { stage("07 KILL request failed"); } + if (exited) await waitForProbe(exited, PROBE_REAP_MS); + } + if (!outcome.reaped) failures.push("reap-timeout"); + } + if (capture) { + try { Object.assign(outcome, await capture.finish(PROBE_DRAIN_MS)); } + catch { failures.push("capture-failed"); } + stage(`09 capture complete=${outcome.complete}`); + if (!outcome.complete) failures.push("incomplete-output"); + } + if (outcome.root && (!child || outcome.reaped)) { + try { + removeTreeWithRetry(outcome.root); + stage("10 probe files removed"); + } catch { + failures.push("cleanup-failed"); + stage("10 probe cleanup failed"); + } + } else if (outcome.root) { + stage(`10 probe files retained: child unreaped pid=${outcome.pid}`); + } + } + if (outcome.code !== 0) failures.push("nonzero-exit"); + if (outcome.signal !== null) failures.push("signal-exit"); + // A timeout remains a failure even if TERM subsequently permits a natural exit 0. + if (failures.length) throw new ProbeFailure(id, failures, { ...outcome }); + return outcome; +} + +async function probeFailure(pending: Promise<ProbeOutcome>): Promise<ProbeFailure> { + const failure: unknown = await pending.then(() => undefined, error => error); + expect(failure).toBeInstanceOf(ProbeFailure); + if (!(failure instanceof ProbeFailure)) throw new Error("Expected a failed guard probe"); + return failure; +} + +function expectOwnedProbeGone(outcome: ProbeOutcome): void { + expect(outcome.reaped).toBe(true); + if (outcome.pid === null || outcome.root === undefined) throw new Error("Probe never spawned"); + expect(outcome.pid).toBeGreaterThan(0); + let code: string | undefined; + try { process.kill(outcome.pid, 0); } + catch (error) { code = (error as NodeJS.ErrnoException).code; } + expect(code).toBe("ESRCH"); + expect(existsSync(outcome.root)).toBe(false); } +describe("guard probe lifecycle", () => { + test("nonzero exit retains output, reports failure and reaps the owned child", async () => { + const failure = await probeFailure(runProbe(beginProbe("control-nonzero"), ` + console.log("OCX_GUARD_NONZERO"); + process.exitCode = 23; + `, {})); + expect(failure.failures).toEqual(["nonzero-exit"]); + expect(failure.outcome.code).toBe(23); + expect(failure.outcome.signal).toBeNull(); + expect(failure.outcome.complete).toBe(true); + expect(failure.outcome.stdout.trim()).toBe("OCX_GUARD_NONZERO"); + expectOwnedProbeGone(failure.outcome); + }); + + test("a referenced handle times out and is reaped even if TERM permits exit zero", async () => { + const failure = await probeFailure(runProbe(beginProbe("control-hanging"), ` + const keepAlive = setInterval(() => {}, 1000); + const stop = () => { + clearInterval(keepAlive); + process.off("SIGTERM", stop); + }; + process.on("SIGTERM", stop); + console.log("OCX_GUARD_HANG_READY"); + `, {})); + expect(failure.failures).toContain("execution-timeout"); + expect(failure.failures).not.toContain("reap-timeout"); + expect(failure.outcome.stdout.trim()).toBe("OCX_GUARD_HANG_READY"); + expect(failure.outcome.complete).toBe(true); + // POSIX can handle TERM and exit naturally; Windows may terminate directly. + if (process.platform !== "win32") { + expect(failure.outcome.code).toBe(0); + expect(failure.outcome.signal).toBeNull(); + } + expectOwnedProbeGone(failure.outcome); + }, 60_000); // Match the existing CI ceiling; include bounded TERM/reap/drain locally too. + + test("exit zero with an open output pipe is incomplete, never a successful probe", async () => { + let cancelled = false; + const stdout = new ReadableStream<Uint8Array>({ + start(controller) { controller.enqueue(new TextEncoder().encode("OCX_GUARD_PARTIAL\n")); }, + cancel() { cancelled = true; }, + }); + const stderr = new ReadableStream<Uint8Array>({ start(controller) { controller.close(); } }); + // Exercise runProbe's integration with real capture; no unmanaged descendant is needed. + const spawn = spyOn(Bun, "spawn").mockReturnValue({ + pid: 0, stdout, stderr, exited: Promise.resolve(0), signalCode: null, + kill() { throw new Error("Exited synthetic child must not be killed"); }, + } as unknown as ReturnType<typeof Bun.spawn>); + try { + const pending = runProbe(beginProbe("control-open-pipe"), "", {}); + spawn.mockRestore(); // runProbe spawns synchronously before its first await. + const failure = await probeFailure(pending); + expect(failure.failures).toEqual(["incomplete-output"]); + expect(failure.outcome.code).toBe(0); + expect(failure.outcome.signal).toBeNull(); + expect(failure.outcome.reaped).toBe(true); + expect(failure.outcome.complete).toBe(false); + expect(failure.outcome.stdout).toBe("OCX_GUARD_PARTIAL\n"); + expect(cancelled).toBe(true); + expect(failure.outcome.root).toBeDefined(); + expect(existsSync(failure.outcome.root!)).toBe(false); + } finally { + spawn.mockRestore(); + } + }); +}); + /** A fake "real home" the guard will protect, so no deny case aims at the true one. */ function sentinelHome(): { realHome: string; opencodexHome: string; codexHome: string } { const realHome = mkdtempSync(join(tmpdir(), "ocx-sentinel-home-")); @@ -90,39 +257,6 @@ function sentinelHome(): { realHome: string; opencodexHome: string; codexHome: s describe("real-home write guard", () => { - // This deliberately starts a nested copy of the repository test wrapper. Keep it in the - // main worker lane so the child can join the active run lock, and allow startup headroom - // when the other workers are compiling large suites. - test("the shard wrapper arms the real writer guard without inherited preload state", () => { - const { realHome, opencodexHome } = sentinelHome(); - const configPath = join(opencodexHome, "config.json"); - const sentinel = '{"providers":{"openai":{"name":"sentinel"}},"defaultProvider":"openai"}'; - writeFileSync(configPath, sentinel, "utf8"); - const probe = runShardProbe(` - import { test } from "bun:test"; - test("refuses the protected config", async () => { - process.env.OPENCODEX_HOME = process.env.OCX_REAL_HOME + "/.opencodex"; - const { saveConfig } = await import("${REPO_ROOT_URL}src/config"); - try { - saveConfig({ providers: {}, defaultProvider: "openai", port: 10100 } as never); - throw new Error("writer unexpectedly succeeded"); - } catch (error) { - if (!String(error).includes("refusing to write the real OpenCodex home")) throw error; - } - }); - `, { - // The probe intentionally starts a second wrapper while its parent wrapper owns the - // user-level test lock. Declare that overlap explicitly so it cannot queue behind itself. - OCX_TEST_NO_QUEUE: "1", - OCX_TEST_HOME_GUARD: undefined, - OCX_TEST_PRELOAD_PID: undefined, - OCX_REAL_HOME: realHome, - }); - - expect(probe.code).toBe(0); - expect(readFileSync(configPath, "utf8")).toBe(sentinel); - }, 15_000); - /** * Windows without Developer Mode or admin cannot create symlinks (EPERM). The * escape cases below need a real link to prove the guard resolves through one, so @@ -140,9 +274,10 @@ const canSymlink = (() => { removeTreeWithRetry(probeDir); } })(); - test("armed + the protected home: all three writers throw", () => { + test("armed + the protected home: all three writers throw", async () => { + const probeId = beginProbe("01-protected-writers"); const { realHome, opencodexHome } = sentinelHome(); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { saveConfig } from "${REPO_ROOT_URL}src/config"; import { mutateStore } from "${REPO_ROOT_URL}src/oauth/store"; import { saveCodexAccountCredential } from "${REPO_ROOT_URL}src/codex/account-store"; @@ -168,9 +303,10 @@ const canSymlink = (() => { expect(() => readFileSync(join(opencodexHome, "codex-accounts.json"))).toThrow(); }); - test("armed native credential writes reject the protected Codex home", () => { + test("armed native credential writes reject the protected Codex home", async () => { + const probeId = beginProbe("02-native-credentials"); const { realHome, codexHome } = sentinelHome(); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { assertNotRealCodexHomeUnderTest } from "${REPO_ROOT_URL}src/lib/test-home-guard"; try { // JSON.stringify, not raw interpolation: a Windows temp path is @@ -189,7 +325,8 @@ const canSymlink = (() => { expect(probe.stdout).not.toContain("WRITE_ALLOWED"); }); - test.skipIf(!canSymlink)("armed + a symlink escaping a temp home into the protected home: refused", () => { + test.skipIf(!canSymlink)("armed + a symlink escaping a temp home into the protected home: refused", async () => { + const probeId = beginProbe("03-symlink-file"); // Atomic writes resolve their destination through symlinks, so a temp home whose // config.json points into the protected home would otherwise pass the caller's // dir-level check and then write the real file anyway. @@ -199,7 +336,7 @@ const canSymlink = (() => { const dir = mkdtempSync(join(tmpdir(), "ocx-escape-home-")); symlinkSync(protectedFile, join(dir, "config.json")); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { saveConfig } from "${REPO_ROOT_URL}src/config"; const REFUSAL = "refusing to write the real OpenCodex home"; try { @@ -215,10 +352,11 @@ const canSymlink = (() => { expect(readFileSync(protectedFile, "utf8")).toBe('{"sentinel":true}'); }); - test("armed + an unregistered temp home: writers succeed", () => { + test("armed + an unregistered temp home: writers succeed", async () => { + const probeId = beginProbe("04-unregistered-home"); // The 54 suites that mkdtemp their own home must keep working with no opt-in. const dir = mkdtempSync(join(tmpdir(), "ocx-plain-home-")); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { saveConfig } from "${REPO_ROOT_URL}src/config"; saveConfig({ providers: {}, defaultProvider: "openai", port: 10100 } as never); console.log("wrote"); @@ -228,7 +366,8 @@ const canSymlink = (() => { expect(JSON.parse(readFileSync(join(dir, "config.json"), "utf8")).port).toBe(10100); }); - test.skipIf(!canSymlink)("armed + a first write beneath a symlinked PARENT escaping into the protected home: refused", () => { + test.skipIf(!canSymlink)("armed + a first write beneath a symlinked PARENT escaping into the protected home: refused", async () => { + const probeId = beginProbe("05-symlink-parent"); // The file does not exist yet, so resolveWriteTarget returns the literal // path and target === path; the guard must resolve the parent directory // instead of skipping (review: symlinked config dir + absent destination). @@ -238,7 +377,7 @@ const canSymlink = (() => { symlinkSync(opencodexHome, linkDir); const modeBefore = statSync(opencodexHome).mode; - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { atomicWriteFile, writePid } from "${REPO_ROOT_URL}src/config"; const REFUSAL = "refusing to write the real OpenCodex home"; try { @@ -268,9 +407,10 @@ const canSymlink = (() => { expect(statSync(opencodexHome).mode).toBe(modeBefore); }); - test("disarmed: the protected home is allowed (production stays inert)", () => { + test("disarmed: the protected home is allowed (production stays inert)", async () => { + const probeId = beginProbe("06-disarmed"); const { realHome, opencodexHome } = sentinelHome(); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { saveConfig } from "${REPO_ROOT_URL}src/config"; saveConfig({ providers: {}, defaultProvider: "openai", port: 10100 } as never); console.log("wrote"); @@ -279,12 +419,13 @@ const canSymlink = (() => { expect(probe.stdout).toContain("wrote"); }); - test("the protected path comes from OCX_REAL_HOME, not the sandboxed HOME", () => { + test("the protected path comes from OCX_REAL_HOME, not the sandboxed HOME", async () => { + const probeId = beginProbe("07-captured-home"); // The inversion this guards against: if the guard read homedir() after the harness // replaced HOME, it would protect the sandbox and leave the real home writable. const { realHome } = sentinelHome(); const decoyHome = mkdtempSync(join(tmpdir(), "ocx-decoy-home-")); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { protectedHomeForTests } from "${REPO_ROOT_URL}src/lib/test-home-guard"; console.log(protectedHomeForTests()); `, { OCX_TEST_HOME_GUARD: "1", OCX_REAL_HOME: realHome, HOME: decoyHome }); @@ -293,12 +434,13 @@ const canSymlink = (() => { expect(probe.stdout).not.toContain("ocx-decoy-home-"); }); - test.skipIf(!canSymlink)("a symlink pointing at the protected home is rejected", () => { + test.skipIf(!canSymlink)("a symlink pointing at the protected home is rejected", async () => { + const probeId = beginProbe("08-symlink-home"); const { realHome, opencodexHome } = sentinelHome(); const linkDir = mkdtempSync(join(tmpdir(), "ocx-symlink-")); const link = join(linkDir, "looks-like-temp"); symlinkSync(opencodexHome, link); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { assertNotRealHomeUnderTest } from "${REPO_ROOT_URL}src/lib/test-home-guard"; try { assertNotRealHomeUnderTest(${JSON.stringify(link)}); console.log("allowed"); } catch { console.log("rejected"); } @@ -307,12 +449,13 @@ const canSymlink = (() => { expect(probe.stdout.trim()).toBe("rejected"); }); - test("/var and /private/var spellings of one path agree", () => { + test("/var and /private/var spellings of one path agree", async () => { + const probeId = beginProbe("09-path-alias"); // macOS hands out /var/folders/... whose realpath is /private/var/folders/...; // a lexical comparison would disagree with itself across those two spellings. const { realHome } = sentinelHome(); const aliased = realHome.startsWith("/var/") ? join("/private", realHome) : realHome.replace(/^\/private/, ""); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { assertNotRealHomeUnderTest } from "${REPO_ROOT_URL}src/lib/test-home-guard"; const results: string[] = []; for (const path of [${JSON.stringify(join(realHome, ".opencodex"))}, ${JSON.stringify(join(aliased, ".opencodex"))}]) { @@ -380,9 +523,10 @@ const canSymlink = (() => { * And the guard has to hold for a process that never reached the lock at all, which is the * state the timed-out worker was actually in. */ - test("a process that arms the guard is protected even with no lock and a real HOME", () => { + test("a process that arms the guard is protected even with no lock and a real HOME", async () => { + const probeId = beginProbe("10-no-lock"); const { realHome } = sentinelHome(); - const probe = runProbe(` + const probe = await runProbe(probeId, ` import { assertNotRealHomeUnderTest, isTestHomeGuardArmed } from "${REPO_ROOT_URL}src/lib/test-home-guard"; let rejected = false; try { assertNotRealHomeUnderTest(${JSON.stringify(join(realHome, ".opencodex"))}); } catch { rejected = true; } diff --git a/tests/ci-workflows/test-runner.test.ts b/tests/ci-workflows/test-runner.test.ts index edc0fe86175..90bcb7bb4b0 100644 --- a/tests/ci-workflows/test-runner.test.ts +++ b/tests/ci-workflows/test-runner.test.ts @@ -1,10 +1,11 @@ -import { describe, expect, test } from "bun:test"; +import { describe, expect, spyOn, test } from "bun:test"; import { spawnSync } from "node:child_process"; import { existsSync, mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { basename, dirname, isAbsolute, join, posix, win32 } from "node:path"; import { changedSelectionFailure, + captureTestOutput, createIsolatedTestEnvironment, DEDICATED_FULL_SUITE_FILES, ensureGuiDependencies, @@ -12,6 +13,7 @@ import { runTestLaneForTests, resolveBunTestArgs, resolveBunTestPlan, + runTestLane, selectChangedComparisonRef, SERIAL_FULL_SUITE_FILES, terminateTestProcessForTests, @@ -137,6 +139,150 @@ function initChangedRunFixture(): { cwd: string; base: string } { return { cwd, base }; } +describe("test runner captured output", () => { + test("preserves both streams and UTF-8 characters split across chunks", async () => { + const bytes = new TextEncoder().encode("before 한글 after\n"); + const stdout = new ReadableStream<Uint8Array>({ + start(controller) { + controller.enqueue(bytes.slice(0, 8)); + controller.enqueue(bytes.slice(8)); + controller.close(); + }, + }); + const stderr = new ReadableStream<Uint8Array>({ + start(controller) { + controller.enqueue(new TextEncoder().encode("diagnostic\n")); + controller.close(); + }, + }); + expect(await captureTestOutput(stdout, stderr).finish(1_000)).toEqual({ + stdout: "before 한글 after\n", stderr: "diagnostic\n", complete: true, + }); + }); + + test.each(["pending", "rejected"] as const)( + "bounds an open pipe even when cancellation is %s", + async cancellation => { + let controller!: ReadableStreamDefaultController<Uint8Array>; + let cancelled = false; + const stdout = new ReadableStream<Uint8Array>({ + start(value) { + controller = value; + value.enqueue(new TextEncoder().encode("retained prefix\n")); + }, + cancel() { + cancelled = true; + return cancellation === "pending" + ? new Promise<void>(() => {}) + : Promise.reject(new Error("fixture cancellation failure")); + }, + }); + const stderr = new ReadableStream<Uint8Array>({ start(value) { value.close(); } }); + let timer: ReturnType<typeof setTimeout> | undefined; + try { + const result = await Promise.race([ + captureTestOutput(stdout, stderr).finish(20), + new Promise<null>(resolve => { timer = setTimeout(() => resolve(null), 2_000); }), + ]); + expect(result).toEqual({ stdout: "retained prefix\n", stderr: "", complete: false }); + expect(cancelled).toBe(true); + } finally { + clearTimeout(timer); + try { controller.close(); } catch { /* cancellation already closed it */ } + } + }, + ); + + test("retains a prefix when reading the pipe fails", async () => { + let reads = 0; + const stdout = new ReadableStream<Uint8Array>({ + pull(controller) { + if (reads++ === 0) controller.enqueue(new TextEncoder().encode("before error\n")); + else controller.error(new Error("fixture read failure")); + }, + }); + const stderr = new ReadableStream<Uint8Array>({ start(controller) { controller.close(); } }); + expect(await captureTestOutput(stdout, stderr).finish(1_000)).toEqual({ + stdout: "before error\n", stderr: "", complete: false, + }); + }); + + test("an exited child with an open pipe reports incomplete capture instead of success", async () => { + let cancelled = false; + const stdout = new ReadableStream<Uint8Array>({ + start(controller) { controller.enqueue(new TextEncoder().encode("partial output\n")); }, + cancel() { cancelled = true; }, + }); + const stderr = new ReadableStream<Uint8Array>({ start(controller) { controller.close(); } }); + const spawn = spyOn(Bun, "spawn").mockReturnValue({ + pid: 0, + stdout, + stderr, + exited: Promise.resolve(0), + kill() { throw new Error("the fixture child already exited"); }, + } as unknown as ReturnType<typeof Bun.spawn>); + const emitted: string[] = []; + try { + const pending = runTestLane( + { label: "open pipe fixture", args: [], timeoutMs: 2_000 }, + "capture-fixture", + undefined, + true, + { stdout: value => { emitted.push(value); }, stderr: value => { emitted.push(value); } }, + ); + // Only the synchronous spawn is mocked; no other test or later subprocess uses it. + spawn.mockRestore(); + expect(await pending).toEqual({ exitCode: 1, output: "partial output\n\n" }); + expect(emitted).toEqual(["partial output\n"]); + expect(cancelled).toBe(true); + } finally { + spawn.mockRestore(); + } + }); + + test.each(["pass", "fail", "timeout"] as const)( + "returns and prints a %s lane's output exactly once", + async outcome => { + const root = mkdtempSync(join(tmpdir(), "opencodex-capture-lane-")); + const fixture = join(root, "capture.test.ts"); + const stdout: string[] = []; + const stderr: string[] = []; + writeFileSync(fixture, ` + import { test } from "bun:test"; + test("capture fixture", async () => { + process.stdout.write("OCX_CAPTURE_STDOUT_MARKER\\n"); + process.stderr.write("OCX_CAPTURE_STDERR_MARKER\\n"); + ${outcome === "timeout" ? "await new Promise(() => {});" : ""} + ${outcome === "fail" ? 'throw new Error("fixture assertion failure");' : ""} + }, 60_000); + `); + try { + const runId = process.env[TEST_RUN_ID_ENV]!; + const result = await runTestLane( + { label: "capture fixture", args: [fixture], timeoutMs: INTERNAL_DEADLINE_MS }, + runId, + resolveInheritedTestRunLock({ wrappedRunId: runId, env: process.env }), + true, + { stdout: value => { stdout.push(value); }, stderr: value => { stderr.push(value); } }, + ); + expect(result.exitCode).toBe(outcome === "timeout" ? 124 : outcome === "fail" ? 1 : 0); + expect(result.output).toContain("OCX_CAPTURE_STDOUT_MARKER\n"); + expect(result.output).toContain("OCX_CAPTURE_STDERR_MARKER\n"); + // A failed Bun assertion may quote the fixture source containing the marker. + // Count emitted marker lines, not mentions inside the error's code frame. + expect(stdout.join("").split(/\r?\n/).filter(line => line === "OCX_CAPTURE_STDOUT_MARKER")) + .toHaveLength(1); + expect(stderr.join("").split(/\r?\n/).filter(line => line === "OCX_CAPTURE_STDERR_MARKER")) + .toHaveLength(1); + expect(result.output).toBe(stdout.join("") + "\n" + stderr.join("")); + } finally { + removeTreeWithRetry(root); + } + }, + { timeout: SPAWN_BUDGET_MS }, + ); +}); + describe("test runner isolation", () => { test("redirects user homes to a disposable root", () => { const isolated = createIsolatedTestEnvironment({ PATH: "/test/bin", HOME: "/real/home" }); diff --git a/tests/claude-integration/claude-inbound.test.ts b/tests/claude-integration/claude-inbound.test.ts index 97bea29ecf9..d3081e1c09d 100644 --- a/tests/claude-integration/claude-inbound.test.ts +++ b/tests/claude-integration/claude-inbound.test.ts @@ -5,6 +5,9 @@ import { repoPath } from "../helpers/repo-root"; import { AnthropicRequestError, anthropicToResponsesBody, anthropicToResponsesTranslation, effortForThinkingBudget, extractOcxEffortDirective, resolveInboundModel } from "../../src/claude/inbound"; import { parseRequest } from "../../src/responses/parser"; import { responsesRequestSchema } from "../../src/responses/schema"; +import { createResponsesPassthroughAdapter } from "../../src/adapters/openai-responses"; +import { withTestTranslatorBudget } from "../helpers/translator-budget"; +import type { OcxProviderConfig } from "../../src/types"; // Full Claude Code-shaped request: system array, tool cycle, image, thinking, options. function claudeCodeRequest(): Record<string, unknown> { @@ -80,6 +83,7 @@ describe("claude inbound translation", () => { expect(tools[0]).toEqual({ type: "function", name: "Read", description: "Read a file", parameters: { type: "object", properties: { file_path: { type: "string" } }, required: ["file_path"] }, + strict: false, }); expect(tools[1]).toEqual({ type: "web_search" }); @@ -795,3 +799,97 @@ test("inbound leaves preserve the tool_choice error identity and avoid facade ba .not.toMatch(/from\s+["']\.\/inbound["']/); } }); + + +/** + * #3922: Anthropic enables strict tool use by setting strict: true, while Responses + * reads an omitted strict as permission to normalize the schema into strict mode. + * Translating without the field therefore made every optional input_schema parameter + * behave as required upstream, so a call that omitted one failed. The translated tool + * now carries the source intent, and the value has to survive to the serialized wire + * body rather than only to the translator's return. + */ +describe("#3922 translated tools carry the source strict intent", () => { + const schema = { + type: "object", + properties: { + prompt: { type: "string" }, + isolation: { type: "string", enum: ["worktree", "remote"] }, + options: { type: "object", properties: { enabled: { type: "boolean" } } }, + }, + required: ["prompt"], + additionalProperties: false, + }; + const request = (tool: Record<string, unknown>) => ({ + model: "openai/gpt-5.4", + max_tokens: 32, + messages: [{ role: "user", content: "Run a local agent." }], + tools: [tool], + }); + const agent = (extra: Record<string, unknown> = {}) => ({ + name: "Agent", description: "Run an agent", input_schema: schema, ...extra, + }); + const translatedTool = (tool: Record<string, unknown>) => + (anthropicToResponsesBody(request(tool)).tools as Record<string, unknown>[])[0]!; + + test("an omitted strict becomes an explicit false instead of an implicit strict request", () => { + expect(translatedTool(agent()).strict).toBe(false); + }); + + test("an explicit strict survives in both directions", () => { + expect(translatedTool(agent({ strict: true })).strict).toBe(true); + expect(translatedTool(agent({ strict: false })).strict).toBe(false); + }); + + test("a non-boolean strict cannot opt the tool into strict mode", () => { + expect(translatedTool(agent({ strict: "true" })).strict).toBe(false); + }); + + test("the source input_schema is forwarded unchanged", () => { + for (const extra of [{}, { strict: true }, { strict: false }]) { + const tool = agent(extra); + // Compare against a detached copy: the expected value must not be the very + // object under test, or an in-place mutation would move both sides together. + const expectedSchema = structuredClone(tool.input_schema); + expect(translatedTool(tool).parameters).toEqual(expectedSchema); + expect(tool.input_schema).toEqual(expectedSchema); + } + }); + + test("hosted web_search gains no strict field", () => { + const body = anthropicToResponsesBody(request({ type: "web_search_20250305", name: "web_search" })); + expect((body.tools as Record<string, unknown>[])[0]).toEqual({ type: "web_search" }); + }); + + test("strict intent and schema survive into the serialized Responses body", async () => { + // parsed._rawBody is the translator's own object, so reading it back proves + // nothing about the wire. Build the actual outbound request instead. + const adapter = withTestTranslatorBudget(createResponsesPassthroughAdapter({ + adapter: "openai-responses", + authMode: "key", + baseUrl: "https://api.openai.com/v1", + apiKey: "test-key", + } as OcxProviderConfig)); + + for (const [tool, expected] of [ + [agent(), false], + [agent({ strict: true }), true], + [agent({ strict: false }), false], + ] as const) { + const expectedSchema = structuredClone(tool.input_schema); + const parsed = parseRequest({ ...anthropicToResponsesBody(request(tool)), model: "gpt-5.4" }); + expect(parsed.context.tools?.[0]?.strict).toBe(expected); + + const outbound = await adapter.buildRequest(parsed); + try { + const wire = JSON.parse(String(outbound.body)) as { tools: { strict?: boolean; parameters?: unknown }[] }; + expect(wire.tools).toHaveLength(1); + expect(wire.tools[0]?.strict).toBe(expected); + expect(wire.tools[0]?.parameters).toEqual(expectedSchema); + expect(tool.input_schema).toEqual(expectedSchema); + } finally { + outbound.releaseBodyObservation?.(); + } + } + }); +}); diff --git a/tests/cli/cli-effort.test.ts b/tests/cli/cli-effort.test.ts index cb558d42b60..09c42824743 100644 --- a/tests/cli/cli-effort.test.ts +++ b/tests/cli/cli-effort.test.ts @@ -114,6 +114,112 @@ describe("ocx effort offline config operations", () => { expect(parsed.subagentEffortCap).toBeNull(); expect(parsed.efforts).toContain("low"); expect(parsed.efforts).toContain("ultra"); + expect(parsed.warnings).toEqual([]); + }); + + for (const value of ["none", "minimal"]) { + for (const target of ["shorthand", "--main", "--subagent"]) { + test(`rejects unsupported cap ${value} through ${target} before probing or saving`, async () => { + const args = target === "shorthand" ? [value] : ["set", target, value]; + const { deps, logs, errors } = fakeDeps(args); + const configBefore = readFileSync(join(tempHome!, "config.json"), "utf8"); + let probes = 0; + deps.findLiveProxy = async () => { probes += 1; return null; }; + expect(await handleEffortCommand(args, deps)).toBe(2); + expect(errors.join("\n")).toContain('unknown reasoning effort "' + value + '"'); + expect(errors.join("\n")).toContain("allowed: low, medium, high, xhigh, max, ultra, -"); + expect(probes).toBe(0); + expect(logs).toEqual([]); + expect(readFileSync(join(tempHome!, "config.json"), "utf8")).toBe(configBefore); + }); + } + + test(`offline injection still accepts ${value} without treating it as a cap`, async () => { + const { deps } = fakeDeps(); + expect(await handleEffortCommand(["set", "--injection", value], deps)).toBe(0); + expect(readTestConfig().injectionEffort).toBe(value); + expect(readTestConfig().effortCap).toBeUndefined(); + expect(readTestConfig().subagentEffortCap).toBeUndefined(); + }); + } + + test("rejects unsupported cap spelling without advertising sentinel cap values", async () => { + const { deps, errors } = fakeDeps(); + expect(await handleEffortCommand(["set", "--main", "bogus"], deps)).toBe(2); + expect(errors.join("\n")).toContain("allowed: low, medium, high, xhigh, max, ultra, -"); + expect(errors.join("\n")).not.toContain("ultra, none, minimal"); + }); + + for (const source of ["config", "runtime"] as const) { + for (const wantsJson of [false, true]) { + test(`legacy unsupported cap diagnostics preserve ${source} values (${wantsJson ? "json" : "human"})`, async () => { + const conf = { ...readTestConfig(), effortCap: "none", subagentEffortCap: "minimal", injectionEffort: "none" }; + const configPath = join(tempHome!, "config.json"); + writeFileSync(configPath, JSON.stringify(conf, null, 2), "utf8"); + const configBefore = readFileSync(configPath, "utf8"); + const { deps, logs } = fakeDeps(); + const methods: string[] = []; + const main = source === "config" ? "none" : "minimal"; + const subagent = source === "config" ? "minimal" : "none"; + const runtime = source === "runtime" ? { + baseUrl: "http://127.0.0.1:10100", + fetchImpl: async (url: string | URL | Request, init?: RequestInit) => { + methods.push(init?.method ?? "GET"); + const body = new URL(url.toString()).pathname === "/api/effort-caps" + ? { effortCap: main, subagentEffortCap: subagent } + : { effort: "none" }; + return new Response(JSON.stringify(body), { headers: { "Content-Type": "application/json" } }); + }, + } : {}; + const args = wantsJson ? ["status", "--json"] : ["status"]; + expect(await handleEffortCommand(args, { ...deps, ...runtime })).toBe(0); + let warnings: string[]; + if (wantsJson) { + const result = JSON.parse(logs.join("\n")); + expect(result.source).toBe(source); + expect(result.effortCap).toBe(main); + expect(result.subagentEffortCap).toBe(subagent); + expect(result.injectionEffort).toBe("none"); + expect(result.warnings).toHaveLength(2); + warnings = result.warnings; + } else { + expect(logs.join("\n")).toContain(`Main agent effort cap: ${main}`); + warnings = logs; + } + expect(warnings.join("\n")).toContain(`effortCap="${main}" is invalid and is not applied`); + expect(warnings.join("\n")).toContain(`subagentEffortCap="${subagent}" is invalid and is not applied`); + expect(warnings.join("\n")).toContain("ocx effort set --main"); + expect(warnings.join("\n")).toContain("ocx effort set --subagent"); + expect(methods).toEqual(source === "runtime" ? ["GET", "GET"] : []); + expect(readFileSync(configPath, "utf8")).toBe(configBefore); + }); + } + } + + test("invalid legacy cap diagnostics do not normalize stored whitespace or casing", async () => { + const conf = { ...readTestConfig(), effortCap: " high ", subagentEffortCap: "HIGH" }; + const configPath = join(tempHome!, "config.json"); + writeFileSync(configPath, JSON.stringify(conf, null, 2), "utf8"); + const before = readFileSync(configPath, "utf8"); + const { deps, logs } = fakeDeps(); + expect(await handleEffortCommand(["status", "--json"], deps)).toBe(0); + const result = JSON.parse(logs.join("\n")); + expect(result.effortCap).toBe(" high "); + expect(result.subagentEffortCap).toBe("HIGH"); + expect(result.warnings).toHaveLength(2); + expect(readFileSync(configPath, "utf8")).toBe(before); + }); + + test("an ignored subagent cap warning preserves the valid main cap", async () => { + const conf = { ...readTestConfig(), effortCap: "high", subagentEffortCap: "minimal" }; + writeFileSync(join(tempHome!, "config.json"), JSON.stringify(conf, null, 2), "utf8"); + const { deps, logs } = fakeDeps(); + expect(await handleEffortCommand(["status", "--json"], deps)).toBe(0); + const result = JSON.parse(logs.join("\n")); + expect(result.effortCap).toBe("high"); + expect(result.warnings).toHaveLength(1); + expect(result.warnings[0].startsWith('subagentEffortCap="minimal"')).toBe(true); + expect(readTestConfig()).toEqual(conf); }); test("ocx effort <level> sets main effort cap offline", async () => { @@ -233,6 +339,26 @@ describe("ocx effort offline config operations", () => { }); describe("ocx effort online live-proxy integration & negative regressions", () => { + for (const value of ["none", "minimal"]) { + test(`invalid cap values reject a mixed live update before any request (${value})`, async () => { + const { deps, logs } = fakeDeps(); + const before = readFileSync(join(tempHome!, "config.json"), "utf8"); + let requests = 0; + let probes = 0; + const code = await handleEffortCommand(["set", "--main", "high", "--subagent", value, "--injection", "medium"], { + ...deps, + baseUrl: "http://127.0.0.1:10100", + findLiveProxy: async () => { probes += 1; return null; }, + fetchImpl: async () => { requests += 1; return new Response("{}"); }, + }); + expect(code).toBe(2); + expect(probes).toBe(0); + expect(requests).toBe(0); + expect(logs).toEqual([]); + expect(readFileSync(join(tempHome!, "config.json"), "utf8")).toBe(before); + }); + } + test("live status read failures never substitute offline config", async () => { const { logs, errors } = fakeDeps(["status", "--json"]); const configBefore = readTestConfig(); diff --git a/tests/cli/cli-headless-parity.test.ts b/tests/cli/cli-headless-parity.test.ts index 45289517ff1..f7a822d25bf 100644 --- a/tests/cli/cli-headless-parity.test.ts +++ b/tests/cli/cli-headless-parity.test.ts @@ -13,12 +13,30 @@ import { handleProviderRuntimeCommand } from "../../src/cli/provider-runtime"; import { providerQuotaLine } from "../../src/cli/account-extended"; import { formatAccountTable } from "../../src/cli/account"; import { handleConnectCommand } from "../../src/cli/connect"; +import { handleSystemCommand } from "../../src/cli/system-command"; import { removeTreeWithRetry } from "../helpers/remove-tree"; import { repoPath } from "../helpers/repo-root"; type Recorded = { path: string; method: string; body: unknown }; const servers: Array<ReturnType<typeof Bun.serve>> = []; +describe("ocx system settings client compaction", () => { + test("persists the explicit boolean through the shared settings endpoint", async () => { + const { requests, deps } = fakeRuntime((_req, body) => ({ ok: true, ...body })); + const logSpy = spyOn(console, "log").mockImplementation(() => {}); + try { + expect(await handleSystemCommand(["settings", "--client-compaction", "on"], deps)).toBe(0); + expect(requests).toEqual([{ + path: "/api/settings", + method: "PUT", + body: { codexClientCompaction: true }, + }]); + } finally { + logSpy.mockRestore(); + } + }); +}); + describe("ocx agent sidecar --list (#2188)", () => { test("web --list prints the server's webSearchModels — the GUI's exact list", async () => { const { requests, deps } = fakeRuntime(req => { diff --git a/tests/cli/cli-help.test.ts b/tests/cli/cli-help.test.ts index 93e0b116272..6851ad15d0d 100644 --- a/tests/cli/cli-help.test.ts +++ b/tests/cli/cli-help.test.ts @@ -1,6 +1,6 @@ import { describe, expect, setDefaultTimeout, test } from "bun:test"; import { spawnSync } from "node:child_process"; -import { chmodSync, existsSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs"; +import { chmodSync, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; @@ -305,8 +305,8 @@ describe("CLI subcommand help", () => { expectSpawnFinished(result, "ocx recover-history --help"); expect(result.status).toBe(0); - expect(result.stdout).toContain("Usage: ocx recover-history --legacy-openai --yes"); - expect(result.stdout).toContain("Force all user-message opencodex rows to OpenAI"); + expect(result.stdout).toContain("Usage: ocx recover-history (--legacy-openai | --ocx-compaction <thread-id>) --yes"); + expect(result.stdout).toContain("Recover legacy provider metadata or one OpenCodeX-compacted thread"); expect(result.stdout).not.toContain("Recovered"); expect(result.stderr).toBe(""); expect(existsSync(statePath)).toBe(false); @@ -362,6 +362,48 @@ describe("CLI subcommand help", () => { } }); + test("recover-history repairs one explicitly selected ocx1-compacted thread", () => { + const codexHome = mkdtempSync(join(tmpdir(), "ocx-recover-compaction-")); + const opencodexHome = mkdtempSync(join(tmpdir(), "ocx-recover-compaction-state-")); + try { + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5"\n', "utf8"); + const threadId = "01a018e6-242f-7801-81b8-ffc0a5c6d589"; + const rolloutDir = join(codexHome, "sessions", "2026", "09", "07"); + mkdirSync(rolloutDir, { recursive: true }); + const rollout = join(rolloutDir, `rollout-fixture-${threadId}.jsonl`); + const summary = `ocx1:${Buffer.from("portable summary", "utf8").toString("base64")}`; + writeFileSync(rollout, `${JSON.stringify({ + type: "compacted", + payload: { + replacement_history: [{ type: "compaction", id: "cmp_fixture", encrypted_content: summary }], + }, + })}\n`, "utf8"); + const statePath = join(codexHome, "state_5.sqlite"); + const db = new Database(statePath, { create: true }); + db.exec("CREATE TABLE threads (id TEXT PRIMARY KEY, rollout_path TEXT NOT NULL)"); + db.query("INSERT INTO threads (id, rollout_path) VALUES (?, ?)").run(threadId, rollout); + db.close(); + + const result = runCli( + ["recover-history", "--ocx-compaction", threadId, "--yes"], + { CODEX_HOME: codexHome, OPENCODEX_HOME: opencodexHome, CI: "1" }, + ); + + expectSpawnFinished(result, "ocx recover-history --ocx-compaction"); + expect(result.status).toBe(0); + expect(result.stdout).toContain("Recovered 1 ocx1 compaction item(s)"); + expect(readFileSync(rollout, "utf8")).toContain("portable summary"); + expect(readFileSync(rollout, "utf8")).not.toContain("ocx1:"); + const backupDir = join(opencodexHome, "history-recovery-backups", threadId); + const backups = readdirSync(backupDir); + expect(backups).toHaveLength(1); + expect(readFileSync(join(backupDir, backups[0]), "utf8")).toContain("ocx1:"); + } finally { + removeTreeWithRetry(opencodexHome); + removeTreeWithRetry(codexHome); + } + }); + test("start rejects unknown and partially numeric port arguments", () => { const cases = [ { args: ["start", "--port", "123abc"], expected: "Invalid port number" }, diff --git a/tests/cli/cli-management-auth.test.ts b/tests/cli/cli-management-auth.test.ts index 24f90bf33d7..263af330a5b 100644 --- a/tests/cli/cli-management-auth.test.ts +++ b/tests/cli/cli-management-auth.test.ts @@ -65,7 +65,7 @@ describe("CLI management authentication", () => { }, fetchFn: async (_input, init) => { token = new Headers(init?.headers).get("x-opencodex-api-key"); - return new Response(null, { status: 200 }); + return Response.json({ success: true, sharedTeardown: "performed" }); }, }); expect(result).toBe(true); diff --git a/tests/cli/cli-restart-health.test.ts b/tests/cli/cli-restart-health.test.ts index ac2dfae50d9..3b9498707f8 100644 --- a/tests/cli/cli-restart-health.test.ts +++ b/tests/cli/cli-restart-health.test.ts @@ -1,10 +1,11 @@ import { describe, expect, test } from "bun:test"; -import { spawnSync } from "node:child_process"; -import { mkdtempSync, writeFileSync } from "node:fs"; +import { existsSync, mkdtempSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; import { removeTreeWithRetry } from "../helpers/remove-tree"; +import { watchdogMs } from "../helpers/ci-watchdog"; +import { captureTestOutput } from "../../scripts/test"; const repoRoot = dirname(fileURLToPath(new URL("../../package.json", import.meta.url))); const cliPath = join(repoRoot, "src", "cli", "index.ts"); @@ -16,20 +17,144 @@ const cliPath = join(repoRoot, "src", "cli", "index.ts"); * network/no-proxy/argument-validation ready tests live as injected tests in * tests/cli/cli-ready.test.ts (no real loopback/home). */ -function runCli(args: string[], env: Record<string, string> = {}) { - return spawnSync(process.execPath, [cliPath, ...args], { - cwd: repoRoot, - env: { ...process.env, ...env }, - encoding: "utf8", - timeout: 10000, - }); +// These are correctness watchdogs, not startup latency assertions. Scale only execution. +const CLI_BUDGET = { execution: watchdogMs(10_000), term: 5_000, reap: 2_000, drain: 1_000 }; +const CLI_TEST_TIMEOUT = CLI_BUDGET.execution + CLI_BUDGET.term + CLI_BUDGET.reap + CLI_BUDGET.drain + 3_000; +type CliChild = Pick<Bun.Subprocess<"ignore", "pipe", "pipe">, "pid" | "exited" | "signalCode" | "stdout" | "stderr" | "kill">; +type CliSpawn = (argv: string[], options: { + cwd: string; env: NodeJS.ProcessEnv; stdout: "pipe"; stderr: "pipe"; +}) => CliChild; +type CliState = { + id: string; startedAt: number; pid: number | null; reaped: boolean; + status: number | null; signal: NodeJS.Signals | null; + stdout: string; stderr: string; complete: boolean; +}; +const cliHomes = new Map<string, CliState>(); + +function cliStage(state: CliState, stage: string): void { + console.warn(`[cli-probe:${state.id}] ${stage} elapsedMs=${Date.now() - state.startedAt} pid=${state.pid}`); +} + +function errorTag(error: unknown): string { + const name = error instanceof Error ? error.name : "UnknownError"; + const code = error && typeof error === "object" && "code" in error ? String(error.code) : ""; + // Error messages can contain argv or environment. Log only conventional name/code tags. + return `${/^[A-Za-z]+$/.test(name) ? name : "Error"}${/^[A-Z0-9_]+$/.test(code) ? `:${code}` : ""}`; +} + +class CliHarnessError extends Error { + constructor(readonly failures: string[], readonly outcome: CliState) { + super(`[cli-probe:${outcome.id}] ${failures.join(", ")} pid=${outcome.pid} status=${outcome.status} signal=${outcome.signal} reaped=${outcome.reaped} complete=${outcome.complete}`); + this.name = "CliHarnessError"; + } +} + +async function waitForCliExit(exited: Promise<void>, milliseconds: number): Promise<boolean> { + let timer: ReturnType<typeof setTimeout> | undefined; + try { + return await Promise.race([ + exited.then(() => true), + new Promise<boolean>(resolve => { timer = setTimeout(() => resolve(false), milliseconds); }), + ]); + } finally { + clearTimeout(timer); + } +} + +async function runCli(args: string[], env: Record<string, string> = {}, control?: { + spawn: CliSpawn; budget: typeof CLI_BUDGET; +}): Promise<{ status: number; stdout: string; stderr: string }> { + const state = cliHomes.get(env.OPENCODEX_HOME); + if (!state) throw new Error("CLI probe requires an owned isolated home"); + const budget = control?.budget ?? CLI_BUDGET; + const spawn: CliSpawn = control?.spawn ?? ((argv, options) => Bun.spawn(argv, options)); + const failures: string[] = []; + let child: CliChild | undefined; + let exited: Promise<void> | undefined; + let capture: ReturnType<typeof captureTestOutput> | undefined; + let boundary = "spawn"; + try { + cliStage(state, "03 spawn requested"); + child = spawn([process.execPath, cliPath, ...args], { + cwd: repoRoot, env: { ...process.env, ...env }, stdout: "pipe", stderr: "pipe", + }); + state.pid = child.pid; // Establish ownership before any observation or capture can fail. + const owned = child; + exited = owned.exited.then(status => { + state.reaped = true; + state.status = status; + state.signal = owned.signalCode ?? null; + cliStage(state, `08 exit status=${status} signal=${state.signal}`); + }).catch(error => { + failures.push(`exit-observation-error:${errorTag(error)}`); + cliStage(state, `08 ${failures[failures.length - 1]}`); + }); + cliStage(state, "04 child owned"); + boundary = "capture"; + capture = captureTestOutput(owned.stdout, owned.stderr); + boundary = "execution"; + if (!await waitForCliExit(exited, budget.execution)) { + failures.push("execution-timeout"); + cliStage(state, "05 execution timeout"); + } + } catch (error) { + failures.push(`${boundary}-error:${errorTag(error)}`); + } finally { + if (child && !state.reaped) { + cliStage(state, "06 TERM"); + try { child.kill("SIGTERM"); } catch (error) { cliStage(state, `06 TERM error=${errorTag(error)}`); } + if (exited) await waitForCliExit(exited, budget.term); + if (!state.reaped) { + cliStage(state, "07 KILL"); + try { child.kill("SIGKILL"); } catch (error) { cliStage(state, `07 KILL error=${errorTag(error)}`); } + if (exited) await waitForCliExit(exited, budget.reap); + } + if (!state.reaped) failures.push("reap-timeout"); + } + if (capture) { + try { Object.assign(state, await capture.finish(budget.drain)); } + catch (error) { failures.push(`capture-error:${errorTag(error)}`); } + cliStage(state, `09 capture complete=${state.complete}`); + if (!state.complete) failures.push("incomplete-output"); + } + } + if (!state.reaped || state.status === null || !Number.isInteger(state.status)) failures.push("exit-not-observed"); + if (state.signal !== null) failures.push("signal-exit"); + // Never turn timeout/incomplete capture into status 1: health legitimately expects 1. + if (failures.length) throw new CliHarnessError([...failures], { ...state }); + return { status: state.status!, stdout: state.stdout, stderr: state.stderr }; } function isolatedHome(prefix: string): string { - return mkdtempSync(join(tmpdir(), prefix)); + const state: CliState = { + id: prefix, startedAt: Date.now(), pid: null, reaped: false, + status: null, signal: null, stdout: "", stderr: "", complete: false, + }; + cliStage(state, "01 home setup"); + const dir = mkdtempSync(join(tmpdir(), prefix)); + cliHomes.set(dir, state); + return dir; +} + +function cleanupCliHome(dir: string, primaryFailed = false): void { + const state = cliHomes.get(dir); + if (!state) throw new Error("Cannot clean an unowned CLI home"); + if (state.pid !== null && !state.reaped) { + cliStage(state, "10 home retained: child unreaped"); + return; + } + try { + removeTreeWithRetry(dir); + cliHomes.delete(dir); + cliStage(state, "10 home removed"); + } catch (error) { + cliStage(state, `10 cleanup error=${errorTag(error)}`); + if (!primaryFailed) throw error; + } } function writeIsolatedConfig(dir: string): void { + cliStage(cliHomes.get(dir)!, "02 config setup"); writeFileSync(join(dir, "config.json"), JSON.stringify({ port: 19999, providers: { openai: { adapter: "openai-responses", baseUrl: "https://chatgpt.com/backend-api/codex", authMode: "forward" } }, @@ -38,104 +163,227 @@ function writeIsolatedConfig(dir: string): void { }), "utf8"); } +describe("CLI subprocess lifecycle", () => { + const budget = { execution: 10, term: 10, reap: 10, drain: 10 }; + const scenarios: Array<{ + name: string; mode: "exit" | "timeout" | "unreaped" | "spawn-error" | "exit-error"; + status: number | null; signal?: NodeJS.Signals; open?: boolean; + failures: string[]; signals: NodeJS.Signals[]; reaped: boolean; retained?: boolean; + }> = [ + { name: "returns exit 0", mode: "exit", status: 0, failures: [], signals: [], reaped: true }, + { name: "returns health exit 1", mode: "exit", status: 1, failures: [], signals: [], reaped: true }, + { name: "preserves exit 23", mode: "exit", status: 23, failures: [], signals: [], reaped: true }, + { name: "timeout stays failed after TERM yields exit 0", mode: "timeout", status: 0, + failures: ["execution-timeout"], signals: ["SIGTERM"], reaped: true }, + { name: "open output after exit 0 fails", mode: "exit", status: 0, open: true, + failures: ["incomplete-output"], signals: [], reaped: true }, + { name: "open output after exit 1 fails", mode: "exit", status: 1, open: true, + failures: ["incomplete-output"], signals: [], reaped: true }, + { name: "unreaped child retains its home after TERM and KILL", mode: "unreaped", status: null, + failures: ["execution-timeout", "reap-timeout", "exit-not-observed"], + signals: ["SIGTERM", "SIGKILL"], reaped: false, retained: true }, + { name: "spawn error is not command exit 1", mode: "spawn-error", status: null, + failures: ["spawn-error:Error:ENOENT", "exit-not-observed"], signals: [], reaped: false }, + { name: "rejected observation is not reaping", mode: "exit-error", status: null, + failures: ["exit-observation-error:Error:EPIPE", "reap-timeout", "exit-not-observed"], + signals: ["SIGTERM", "SIGKILL"], reaped: false, retained: true }, + { name: "signal exit is not a completed command", mode: "exit", status: 0, signal: "SIGTERM", + failures: ["signal-exit"], signals: [], reaped: true }, + ]; + + for (const scenario of scenarios) test(scenario.name, async () => { + const dir = isolatedHome(`ocx-cli-control-${scenario.name.replace(/[^a-z0-9]+/gi, "-")}-`); + const state = cliHomes.get(dir)!; + let resolveExit!: (status: number) => void; + let rejectExit!: (error: Error) => void; + const exited = new Promise<number>((resolve, reject) => { resolveExit = resolve; rejectExit = reject; }); + const signals: Array<NodeJS.Signals | number | undefined> = []; + let cancelled = false; + const child: CliChild = { + pid: 424242, exited, signalCode: scenario.signal ?? null, + stdout: new ReadableStream<Uint8Array>({ + start(controller) { + controller.enqueue(new TextEncoder().encode("CLI_CONTROL_STDOUT\n")); + if (!scenario.open) controller.close(); + }, + cancel() { cancelled = true; }, + }), + stderr: new ReadableStream<Uint8Array>({ + start(controller) { controller.enqueue(new TextEncoder().encode("CLI_CONTROL_STDERR\n")); controller.close(); }, + }), + kill(signal) { + signals.push(signal); + if (scenario.mode === "timeout") resolveExit(0); + }, + }; + const spawn: CliSpawn = (argv, options) => { + expect(argv).toEqual([process.execPath, cliPath, "health"]); + expect(options.cwd).toBe(repoRoot); + expect(options.env.OPENCODEX_HOME).toBe(dir); + if (scenario.mode === "spawn-error") throw Object.assign(new Error("fixture"), { code: "ENOENT" }); + if (scenario.mode === "exit-error") rejectExit(Object.assign(new Error("fixture"), { code: "EPIPE" })); + if (scenario.mode === "exit") resolveExit(scenario.status!); + return child; + }; + try { + const result: unknown = await runCli(["health"], { OPENCODEX_HOME: dir }, { spawn, budget }) + .then(value => value, error => error); + if (scenario.failures.length) { + expect(result).toBeInstanceOf(CliHarnessError); + if (!(result instanceof CliHarnessError)) throw new Error("Expected CLI harness failure"); + expect(result.failures).toEqual(scenario.failures); + if (scenario.open) expect(result.outcome.stdout).toBe("CLI_CONTROL_STDOUT\n"); + } else { + expect(result).toEqual({ status: scenario.status, stdout: "CLI_CONTROL_STDOUT\n", stderr: "CLI_CONTROL_STDERR\n" }); + } + expect(state.status).toBe(scenario.status); + expect(state.pid).toBe(scenario.mode === "spawn-error" ? null : 424242); + expect(state.signal).toBe(scenario.signal ?? null); + expect(state.reaped).toBe(scenario.reaped); + expect(state.complete).toBe(scenario.mode !== "spawn-error" && !scenario.open); + expect(signals).toEqual(scenario.signals); + expect(cancelled).toBe(Boolean(scenario.open)); + cleanupCliHome(dir, scenario.failures.length > 0); + expect(existsSync(dir)).toBe(Boolean(scenario.retained)); + expect(cliHomes.has(dir)).toBe(Boolean(scenario.retained)); + } finally { + // The seam never launched an OS process; only this test owns the retained fake home. + cliHomes.delete(dir); + removeTreeWithRetry(dir); + } + }); +}); + describe("ocx restart", () => { - test("restart --help prints usage", () => { + test("restart --help prints usage", async () => { const dir = isolatedHome("ocx-restart-help-"); + let failed = false; try { - const result = runCli(["restart", "--help"], { OPENCODEX_HOME: dir }); + const result = await runCli(["restart", "--help"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(0); expect(result.stdout).toContain("ocx restart"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); - test("help restart shows restart help entry", () => { + test("help restart shows restart help entry", async () => { const dir = isolatedHome("ocx-restart-help-entry-"); + let failed = false; try { - const result = runCli(["help", "restart"], { OPENCODEX_HOME: dir }); + const result = await runCli(["help", "restart"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(0); expect(result.stdout).toContain("Stop the proxy and restart"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); }); describe("ocx health", () => { - test("health --help prints usage", () => { + test("health --help prints usage", async () => { const dir = isolatedHome("ocx-health-help-"); + let failed = false; try { - const result = runCli(["health", "--help"], { OPENCODEX_HOME: dir }); + const result = await runCli(["health", "--help"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(0); expect(result.stdout).toContain("ocx health"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); - test("help health shows health help entry", () => { + test("help health shows health help entry", async () => { const dir = isolatedHome("ocx-health-help-entry-"); + let failed = false; try { - const result = runCli(["help", "health"], { OPENCODEX_HOME: dir }); + const result = await runCli(["help", "health"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(0); expect(result.stdout).toContain("Check proxy health"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); - test("health exits 1 with no proxy running (isolated home)", () => { + test("health exits 1 with no proxy running (isolated home)", async () => { const dir = isolatedHome("ocx-health-"); - writeIsolatedConfig(dir); + let failed = false; try { - const result = runCli(["health"], { OPENCODEX_HOME: dir }); + writeIsolatedConfig(dir); + const result = await runCli(["health"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(1); expect(result.stdout).toContain("not healthy"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); - test("health --json exits 1 with valid JSON when no proxy", () => { + test("health --json exits 1 with valid JSON when no proxy", async () => { const dir = isolatedHome("ocx-health-json-"); - writeIsolatedConfig(dir); + let failed = false; try { - const result = runCli(["health", "--json"], { OPENCODEX_HOME: dir }); + writeIsolatedConfig(dir); + const result = await runCli(["health", "--json"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(1); const parsed = JSON.parse(result.stdout); expect(parsed.ok).toBe(false); expect(parsed.pid).toBeNull(); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); }); describe("ocx ready", () => { // Only the help-routing subprocess checks live here. The default-probe, // --json, --wait, --timeout, and argument-validation cases are injected tests // in tests/cli/cli-ready.test.ts (no real loopback/home). - test("ready --help prints usage (exit 0)", () => { + test("ready --help prints usage (exit 0)", async () => { const dir = isolatedHome("ocx-ready-help-"); + let failed = false; try { - const result = runCli(["ready", "--help"], { OPENCODEX_HOME: dir }); + const result = await runCli(["ready", "--help"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(0); expect(result.stdout).toContain("ocx ready"); expect(result.stdout).toContain("--wait"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); - test("help ready shows the ready help entry", () => { + test("help ready shows the ready help entry", async () => { const dir = isolatedHome("ocx-ready-help-entry-"); + let failed = false; try { - const result = runCli(["help", "ready"], { OPENCODEX_HOME: dir }); + const result = await runCli(["help", "ready"], { OPENCODEX_HOME: dir }); expect(result.status).toBe(0); expect(result.stdout).toContain("post-sync readiness"); + } catch (error) { + failed = true; + throw error; } finally { - removeTreeWithRetry(dir); + cleanupCliHome(dir, failed); } - }); + }, CLI_TEST_TIMEOUT); }); diff --git a/tests/cli/cli-restore-back.test.ts b/tests/cli/cli-restore-back.test.ts index 04051a4b107..a750ae8ee92 100644 --- a/tests/cli/cli-restore-back.test.ts +++ b/tests/cli/cli-restore-back.test.ts @@ -45,6 +45,7 @@ describe("ocx restore back", () => { expect(result.status).toBe(0); expect(JSON.parse(readFileSync(join(ocxHome, "config.json"), "utf8")).clientIntegrations.codex).toBe(false); expect(`${result.stdout}\n${result.stderr}`).toContain("Codex integration is OFF and plain `codex` now runs natively."); + expect(result.stdout).toContain("ocx recover-history --ocx-compaction <thread-id> --yes"); } finally { removeTreeWithRetry(codexHome); removeTreeWithRetry(ocxHome); diff --git a/tests/cli/cli-start-journal-order.test.ts b/tests/cli/cli-start-journal-order.test.ts index e565451e89d..2b3264be9a1 100644 --- a/tests/cli/cli-start-journal-order.test.ts +++ b/tests/cli/cli-start-journal-order.test.ts @@ -1,4 +1,5 @@ import { afterEach, describe, expect, test } from "bun:test"; +import { createHash } from "node:crypto"; import { existsSync, mkdirSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join, resolve } from "node:path"; @@ -85,6 +86,8 @@ function arrangeRecoverableJournal(fx: Fixture): { original: string; injected: s version: 1, originalConfig: Buffer.from(original).toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, pid: 999_999, timestamp: new Date().toISOString(), })); @@ -185,6 +188,8 @@ describe("start and ensure journal ownership (#1230)", () => { version: 1, originalConfig: Buffer.from(original).toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, owner: { kind: "client", apiKeyId: "client-key-1" }, pid: 999_999, timestamp: new Date().toISOString(), diff --git a/tests/cli/cli-usage-report.test.ts b/tests/cli/cli-usage-report.test.ts index 3342aab2ea7..5399137a57d 100644 --- a/tests/cli/cli-usage-report.test.ts +++ b/tests/cli/cli-usage-report.test.ts @@ -52,6 +52,38 @@ async function run(argv: string[], body: unknown): Promise<{ code: number; out: } describe("formatUsageReport", () => { + test("keeps malformed token counts and every human line inert", () => { + const control = "before\x1b[2J\x07\u2028after\u2029"; + const body = payload({ + range: control, + summary: { requests: 1, totalTokens: control, inputTokens: Infinity, outputTokens: control }, + providers: [{ provider: null, requests: 1, totalTokens: control }], + accounts: [{ accountLogLabel: control, requests: 1, totalTokens: control }], + }); + const lines = formatUsageReport(body as never); + expect(lines.every(line => !/[\x00-\x1f\x7f-\x9f\u2028\u2029]/.test(line))).toBe(true); + expect(lines.join("\n")).toContain("before\\x1b[2J\\x07\\u2028after\\u2029"); + expect(lines.find(line => line.startsWith("Tokens"))).toBe("Tokens — (in — / out —)"); + expect(body.summary).toEqual({ requests: 1, totalTokens: control, inputTokens: Infinity, outputTokens: control }); + }); + + test("escapes Unicode line separators on the no-match return too", () => { + const lines = formatUsageReport(payload({ + filter: { provider: "before\u2028after", model: null, matched: false, comboOverlap: false }, + }) as never); + expect(lines.every(line => !/[\x00-\x1f\x7f-\x9f\u2028\u2029]/.test(line))).toBe(true); + expect(lines.join("\n")).toContain("before\\u2028after"); + }); + + test("preserves ordinary per-account totals and keeps JSON unchanged", async () => { + const body = payload({ accounts: [{ accountLogLabel: "account-1", requests: 12, totalTokens: 345, estimatedCostUsd: 0.125 }] }); + expect(formatUsageReport(body as never).join("\n")).toMatch(/account-1\s+12\s+345\s+~\$0\.1250/); + const malformed = payload({ summary: { requests: 1, outputTokens: "\x1b[2J" } }); + const { code, out } = await run(["usage", "--json"], malformed); + expect(code).toBe(0); + expect(JSON.parse(out)).toEqual(malformed); + }); + test("prints per-provider and per-model cost, not an item count", () => { const out = formatUsageReport(payload() as never).join("\n"); expect(out).toContain("~$12.3456"); diff --git a/tests/clients/client-connect.test.ts b/tests/clients/client-connect.test.ts index 66bf5d4bf97..3835f463bcc 100644 --- a/tests/clients/client-connect.test.ts +++ b/tests/clients/client-connect.test.ts @@ -14,7 +14,7 @@ import { import { handleConnectCommand } from "../../src/cli/connect"; import { removeTreeWithRetry } from "../helpers/remove-tree"; import { repoRoot as findRepoRoot } from "../helpers/repo-root"; -import { INTERNAL_DEADLINE_MS } from "../helpers/test-budget"; +import { INTERNAL_DEADLINE_MS, SPAWN_BUDGET_MS } from "../helpers/test-budget"; const repoRoot = findRepoRoot(); @@ -316,7 +316,10 @@ describe("remote hub client boundary", () => { /** A catalog the user already had before ever connecting. */ const PRIOR_CATALOG_BYTES = '{"models":[{"slug":"local/only-model"}]}'; -function runTransactionScenario(stage: "success" | "catalog" | "preflight" | "commit" | "prior-catalog" | "coordinator") { +function runTransactionScenario( + stage: "success" | "catalog" | "preflight" | "commit" | "prior-catalog" | "coordinator", + options: { script?: string; timeoutMs?: number } = {}, +) { const opencodexHome = mkdtempSync(join(tmpdir(), "ocx-client-connect-home-")); const codexHome = mkdtempSync(join(tmpdir(), "ocx-client-connect-codex-")); const configPath = join(opencodexHome, "config.json"); @@ -335,7 +338,7 @@ function runTransactionScenario(stage: "success" | "catalog" | "preflight" | "co const { mkdirSync } = require("node:fs") as typeof import("node:fs"); mkdirSync(join(opencodexHome, "config-mutation.sqlite")); } - const script = ` + const script = options.script ?? ` const { existsSync, readFileSync } = require("node:fs"); const { createHash } = require("node:crypto"); const { connectClient, disconnectClient } = require("./src/client/connect"); @@ -396,26 +399,110 @@ function runTransactionScenario(stage: "success" | "catalog" | "preflight" | "co console.log(JSON.stringify({ connected, error, beforeDisconnect, artifacts, disconnected, catalogAfter, after: readClientConnectionState(), calls, commitFaultTriggered })); })(); `; - const result = spawnSync(process.execPath, ["--eval", script], { - cwd: repoRoot, - env: { ...process.env, OPENCODEX_HOME: opencodexHome, CODEX_HOME: codexHome, OPENCODEX_CLAUDE_DESKTOP_CONFIG_DIR: join(opencodexHome, "desktop") }, - encoding: "utf8", - }); - const output = result.stdout.trim().split("\n").at(-1) ?? "{}"; - const parsed = JSON.parse(output) as Record<string, any>; - return { - status: result.status, - stderr: result.stderr, - parsed, - configBytes: readFileSync(configPath, "utf8"), - cleanup: () => { - removeTreeWithRetry(opencodexHome); - removeTreeWithRetry(codexHome); - }, + const cleanup = () => { + const failures: unknown[] = []; + for (const home of [opencodexHome, codexHome]) { + try { removeTreeWithRetry(home); } + catch (error) { failures.push(error); } + } + if (failures.length) throw new AggregateError(failures, "Could not clean client transaction homes"); }; + try { + const result = spawnSync(process.execPath, ["--eval", script], { + cwd: repoRoot, + env: { ...process.env, OPENCODEX_HOME: opencodexHome, CODEX_HOME: codexHome, OPENCODEX_CLAUDE_DESKTOP_CONFIG_DIR: join(opencodexHome, "desktop") }, + encoding: "utf8", + timeout: options.timeoutMs ?? INTERNAL_DEADLINE_MS, + killSignal: "SIGKILL", + }); + if (result.error || result.status !== 0 || result.signal !== null) { + throw new ClientStateProbeError(result.pid, result.status, result.signal, (result.error as NodeJS.ErrnoException | undefined)?.code === "ETIMEDOUT"); + } + let parsed: Record<string, any>; + try { parsed = JSON.parse(result.stdout.trim().split("\n").at(-1) ?? "{}"); } + catch { throw new ClientStateProbeError(result.pid, result.status, result.signal, false); } + return { status: result.status, stderr: result.stderr, parsed, configBytes: readFileSync(configPath, "utf8"), cleanup }; + } catch (error) { + try { cleanup(); } + catch (cleanupError) { throw new AggregateError([error, cleanupError], "Client transaction failed and fixture cleanup failed"); } + throw error; + } } describe("connect transaction and offline disconnect", () => { + test("transaction fixture stops a child retained after valid output", async () => { + const proofHome = mkdtempSync(join(tmpdir(), "ocx-transaction-child-proof-")); + const markerPath = join(proofHome, "child-started.json"); + const naturalExitPath = join(proofHome, "natural-exit"); + const script = ` + const fs = require("node:fs"); + fs.writeFileSync(${JSON.stringify(markerPath)}, JSON.stringify({ + pid: process.pid, home: process.env.OPENCODEX_HOME, codexHome: process.env.CODEX_HOME, + })); + fs.writeSync(1, '{"ok":true}\\n'); + setTimeout(() => { fs.writeFileSync(${JSON.stringify(naturalExitPath)}, "exited"); }, 5_000); + `; + let run: Awaited<ReturnType<typeof runTransactionScenario>> | undefined; + try { + let failure: unknown; + const startedAt = performance.now(); + try { run = await runTransactionScenario("coordinator", { script, timeoutMs: 2_000 }); } + catch (error) { failure = error; } + expect(performance.now() - startedAt).toBeLessThan(10_000); + expect(failure).toBeInstanceOf(ClientStateProbeError); + if (!(failure instanceof ClientStateProbeError)) throw new Error("Expected bounded transaction child failure"); + expect(failure.timedOut).toBe(true); + expect(existsSync(naturalExitPath)).toBe(false); + const proof = JSON.parse(readFileSync(markerPath, "utf8")) as { pid: number; home: string; codexHome: string }; + expect(proof.pid).toBe(failure.pid); + expect(existsSync(proof.home)).toBe(false); + expect(existsSync(proof.codexHome)).toBe(false); + let exitCode: string | undefined; + try { process.kill(proof.pid, 0); } + catch (error) { exitCode = (error as NodeJS.ErrnoException).code; } + expect(exitCode).toBe("ESRCH"); + } finally { + run?.cleanup(); + removeTreeWithRetry(proofHome); + } + }, SPAWN_BUDGET_MS); + + for (const [mode, output, status] of [ + ["nonzero exit", '{"ok":true}', 7], + ["invalid JSON", "private-child-output", 0], + ] as const) { + test(`transaction fixture cleans homes after ${mode}`, () => { + const proofHome = mkdtempSync(join(tmpdir(), "ocx-transaction-child-proof-")); + const markerPath = join(proofHome, "child-started.json"); + const script = ` + const fs = require("node:fs"); + fs.writeFileSync(${JSON.stringify(markerPath)}, JSON.stringify({ + pid: process.pid, home: process.env.OPENCODEX_HOME, codexHome: process.env.CODEX_HOME, + })); + fs.writeSync(1, ${JSON.stringify(output)}); + process.exit(${status}); + `; + let run: ReturnType<typeof runTransactionScenario> | undefined; + try { + let failure: unknown; + try { run = runTransactionScenario("coordinator", { script }); } + catch (error) { failure = error; } + expect(failure).toBeInstanceOf(ClientStateProbeError); + if (!(failure instanceof ClientStateProbeError)) throw new Error("Expected transaction child failure"); + expect(failure.status).toBe(status); + expect(failure.timedOut).toBe(false); + expect(failure.message).not.toContain(output); + const proof = JSON.parse(readFileSync(markerPath, "utf8")) as { pid: number; home: string; codexHome: string }; + expect(failure.pid).toBe(proof.pid); + expect(existsSync(proof.home)).toBe(false); + expect(existsSync(proof.codexHome)).toBe(false); + } finally { + try { run?.cleanup(); } + finally { removeTreeWithRetry(proofHome); } + } + }, SPAWN_BUDGET_MS); + } + test("an unavailable config coordinator refuses before issuing any hub key", () => { const run = runTransactionScenario("coordinator"); try { @@ -493,6 +580,7 @@ function runConnectedStateScenario(mode: "sync-401" | "sync-503" | "disconnect-c const fingerprint = createHash("sha256").update(token).digest("hex"); const catalog = '{"models":[]}'; const catalogFingerprint = createHash("sha256").update(catalog).digest("base64url"); + const injected = 'model_provider = "opencodex"\n'; const isDisconnect = mode === "disconnect-conflict" || mode === "disconnect-process-journal"; const selectedClients = isDisconnect ? ["codex"] : ["claude"]; writeFileSync(join(opencodexHome, "config.json"), JSON.stringify({ @@ -517,13 +605,15 @@ function runConnectedStateScenario(mode: "sync-401" | "sync-503" | "disconnect-c writeFileSync(join(opencodexHome, "service-api-token"), `${token}\n`, { mode: 0o600 }); writeFileSync(join(codexHome, "opencodex-catalog.json"), catalog, "utf8"); writeFileSync(join(codexHome, "config.toml"), isDisconnect - ? 'model_provider = "opencodex"\n' + ? injected : 'model_provider = "openai"\n', "utf8"); if (mode === "disconnect-conflict") { writeFileSync(join(codexHome, "opencodex-journal.json"), JSON.stringify({ version: 1, originalConfig: Buffer.from('model_provider = "openai"\n').toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, owner: { kind: "client", apiKeyId: "different-key" }, pid: 999_999, timestamp: "2026-08-28T00:00:00.000Z", @@ -538,6 +628,8 @@ function runConnectedStateScenario(mode: "sync-401" | "sync-503" | "disconnect-c version: 1, originalConfig: Buffer.from('model_provider = "openai"\n').toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, owner: { kind: "process", pid: 999_999 }, pid: 999_999, timestamp: "2026-08-28T00:00:00.000Z", @@ -890,6 +982,8 @@ function runDesktopLifecycleScenario(mode: string) { fs.writeFileSync(path.join(process.env.CODEX_HOME, "config.toml"), 'model_provider = "opencodex"'); fs.writeFileSync(journal.JOURNAL_PATH, JSON.stringify({ version: 1, originalConfig: Buffer.from('model_provider = "openai"').toString("base64"), originalProfile: null, + injectedConfigHash: hash(fs.readFileSync(path.join(process.env.CODEX_HOME, "config.toml"), "utf8")), + injectedProfileHash: null, owner: { kind: "client", apiKeyId: owner.apiKeyId }, })); const actualRestore = journal.restoreJournalState; diff --git a/tests/clients/integrations-state.test.ts b/tests/clients/integrations-state.test.ts index 56093b3dd66..b2d4f530ccc 100644 --- a/tests/clients/integrations-state.test.ts +++ b/tests/clients/integrations-state.test.ts @@ -699,12 +699,31 @@ describe("ownership is scoped to recorded fragments", () => { expect(result).toEqual({ state: "stale" }); }); + test("Hermes also ignores whole-file edits outside its registry-declared fragment", () => { + // Hermes declares sourcePreservingYaml: { path: ["providers", "opencodex"] }. + const contribution = { ...ownedContribution, clientId: "hermes" as const }; + const clientRecord: OwnershipRecord = { + ...record, + clientId: "hermes", + configPath: "/tmp/hermes-config.yaml", + blockFingerprint: fingerprint(canonicalContribution(contribution)), + }; + const result = classifyIntegration({ + fileText: textWithExtra, + fileIsRegular: true, + parsed: documentWithExtra, + record: clientRecord, + contribution, + }); + expect(result).toEqual({ state: "current" }); + }); + // Re-serializing a whole document in these formats would drop any comments // the user keeps next to our block, so file-level drift stays a hard // conflict for every one of them — a regression that narrowed the condition // (say, to yaml only) must fail here, not in a user's config. for (const { clientId, configPath } of [ - { clientId: "hermes" as const, configPath: "/tmp/hermes-config.yaml" }, + { clientId: "gajae" as const, configPath: "/tmp/gajae-models.yaml" }, { clientId: "openclaw" as const, configPath: "/tmp/openclaw.json5" }, { clientId: "kimi" as const, configPath: "/tmp/kimi-config.toml" }, ]) { diff --git a/tests/clients/integrations-writer.test.ts b/tests/clients/integrations-writer.test.ts index de2f1647102..f2f69f42676 100644 --- a/tests/clients/integrations-writer.test.ts +++ b/tests/clients/integrations-writer.test.ts @@ -117,6 +117,14 @@ function installOpencode(): string { return configPath; } +function installGajae(): string { + const spec = INTEGRATION_CLIENTS.gajae; + mkdirSync(spec.detectDir(TEST_ENV, home), { recursive: true }); + const configPath = spec.configPath(TEST_ENV, home); + mkdirSync(dirname(configPath), { recursive: true }); + return configPath; +} + function input(overrides: Partial<IntegrationWriteInput> = {}): IntegrationWriteInput { return { clientId: "hermes", @@ -683,11 +691,11 @@ describe("apply", () => { }); test("yaml clients still refuse a sibling edit rather than risk user comments", () => { - const configPath = installHermes(); - expect(applyIntegration(input()).ok).toBe(true); + const configPath = installGajae(); + expect(applyIntegration(input({ clientId: "gajae" })).ok).toBe(true); writeFileSync(configPath, `${readFileSync(configPath, "utf8")}unknown_top: added-later\n`); - const result = applyIntegration(input()); + const result = applyIntegration(input({ clientId: "gajae" })); expect(result.ok).toBe(false); if (!result.ok) expect(result.reason).toBe("conflict"); expect(readFileSync(configPath, "utf8")).toContain("unknown_top: added-later"); @@ -992,6 +1000,40 @@ describe("DSH source preservation", () => { }); }); +describe("Hermes source preservation", () => { + test("preserves defaults, providers, comments, and formatting through refresh and disable", () => { + const configPath = installHermes(); + const original = [ + "# user header", + "model:", + " default: meituan/LongCat-2.0:free", + "providers:", + " commandcode-oauth: # keep provider comment", + " models:", + " - meituan/LongCat-2.0:free", + "", + ].join("\n"); + writeFileSync(configPath, original); + + expect(applyIntegration(input({ clientId: "hermes" })).ok).toBe(true); + const applied = readFileSync(configPath, "utf8"); + expect(applied).toContain("commandcode-oauth:"); + expect(applied).toContain("opencodex:"); + expect(applied).toContain("# keep provider comment"); + expect(applied).toContain("default: meituan/LongCat-2.0:free"); + + expect(disableIntegration(input({ clientId: "hermes" })).ok).toBe(true); + expect(readFileSync(configPath, "utf8")).toBe(original); + }); + + test("disables a generated Hermes config without leaving its created container", () => { + const configPath = installHermes(); + expect(applyIntegration(input({ clientId: "hermes" })).ok).toBe(true); + expect(disableIntegration(input({ clientId: "hermes" })).ok).toBe(true); + expect(readFileSync(configPath, "utf8")).toBe(""); + }); +}); + describe("restore", () => { test("undoes an apply back to the exact prior bytes", () => { const configPath = installHermes(); @@ -1017,29 +1059,29 @@ describe("restore", () => { }); test("refuses to replace post-operation edits without confirmation", () => { - const configPath = installHermes(); + const configPath = installGajae(); writeFileSync(configPath, "providers: {}\n"); - expect(applyIntegration(input()).ok).toBe(true); - const opId = store.listOperations("hermes")[0]!.opId; + expect(applyIntegration(input({ clientId: "gajae" })).ok).toBe(true); + const opId = store.listOperations("gajae")[0]!.opId; writeFileSync(configPath, `${readFileSync(configPath, "utf8")}# later edit\n`); - const refused = restoreIntegration({ ...input(), opId }); + const refused = restoreIntegration({ ...input({ clientId: "gajae" }), opId }); expect(refused.ok).toBe(false); if (!refused.ok) expect(refused.reason).toBe("drift_requires_confirm"); expect(readFileSync(configPath, "utf8")).toContain("# later edit"); }); test("a confirmed drift-restore keeps the replaced version recoverable", () => { - const configPath = installHermes(); + const configPath = installGajae(); writeFileSync(configPath, "providers: {}\n"); - expect(applyIntegration(input()).ok).toBe(true); - const opId = store.listOperations("hermes")[0]!.opId; + expect(applyIntegration(input({ clientId: "gajae" })).ok).toBe(true); + const opId = store.listOperations("gajae")[0]!.opId; writeFileSync(configPath, `${readFileSync(configPath, "utf8")}# later edit\n`); - const restored = restoreIntegration({ ...input(), opId, confirmDrift: true }); + const restored = restoreIntegration({ ...input({ clientId: "gajae" }), opId, confirmDrift: true }); expect(restored.ok).toBe(true); // The edit we replaced is in the newest snapshot, so nothing was lost. - const newest = store.listOperations("hermes")[0]!; + const newest = store.listOperations("gajae")[0]!; expect(newest.kind).toBe("restore"); const snapshot = store.readSnapshot(newest); expect(snapshot.kind).toBe("stored"); @@ -1047,14 +1089,14 @@ describe("restore", () => { }); test("refuses an operation whose snapshot was collected", () => { - const configPath = installHermes(); + const configPath = installGajae(); writeFileSync(configPath, "providers: {}\n"); - expect(applyIntegration(input()).ok).toBe(true); - const row = store.listOperations("hermes")[0]!; + expect(applyIntegration(input({ clientId: "gajae" })).ok).toBe(true); + const row = store.listOperations("gajae")[0]!; // Simulate GC having removed the bytes. - rmSync(join(storeRoot, "snapshots", "hermes", row.opId), { force: true }); + rmSync(join(storeRoot, "snapshots", "gajae", row.opId), { force: true }); - const result = restoreIntegration({ ...input(), opId: row.opId }); + const result = restoreIntegration({ ...input({ clientId: "gajae" }), opId: row.opId }); expect(result.ok).toBe(false); if (!result.ok) expect(result.reason).toBe("snapshot_expired"); }); @@ -1073,7 +1115,7 @@ describe("nothing leaks", () => { }); test("a failed record write rolls the file back and says so", () => { - const configPath = installHermes(); + const configPath = installGajae(); const original = "providers: {}\n"; writeFileSync(configPath, original); const io: IntegrationIO = { @@ -1083,7 +1125,7 @@ describe("nothing leaks", () => { dropRecord: clientId => store.dropRecord(clientId), }; - const result = applyIntegration(input({ io })); + const result = applyIntegration(input({ clientId: "gajae", io })); expect(result.ok).toBe(false); if (!result.ok) { expect(result.reason).toBe("write_failed"); @@ -1091,11 +1133,11 @@ describe("nothing leaks", () => { } // The file is back to what it was; no half-applied state survives. expect(readFileSync(configPath, "utf8")).toBe(original); - expect(store.listOperations("hermes")).toHaveLength(0); + expect(store.listOperations("gajae")).toHaveLength(0); }); test("a failed journal append rolls back and leaves no phantom row", () => { - const configPath = installHermes(); + const configPath = installGajae(); const original = "providers: {}\n"; writeFileSync(configPath, original); const io: IntegrationIO = { @@ -1105,17 +1147,17 @@ describe("nothing leaks", () => { dropRecord: clientId => store.dropRecord(clientId), }; - const result = applyIntegration(input({ io })); + const result = applyIntegration(input({ clientId: "gajae", io })); expect(result.ok).toBe(false); expect(readFileSync(configPath, "utf8")).toBe(original); // The row is written last precisely so this cannot leave one behind. - expect(store.listOperations("hermes")).toHaveLength(0); + expect(store.listOperations("gajae")).toHaveLength(0); // And the record it wrote first is gone again. - expect(store.readRecords().hermes).toBeUndefined(); + expect(store.readRecords().gajae).toBeUndefined(); }); test("when compensation itself fails, the result says residual instead of claiming a rollback", () => { - installHermes(); + installGajae(); let writes = 0; const io: IntegrationIO = { ...fileIO(), @@ -1129,10 +1171,10 @@ describe("nothing leaks", () => { putRecord: record => store.putRecord(record), dropRecord: clientId => store.dropRecord(clientId), }; - const configPath = installHermes(); + const configPath = installGajae(); writeFileSync(configPath, "providers: {}\n"); - const result = applyIntegration(input({ io })); + const result = applyIntegration(input({ clientId: "gajae", io })); expect(result.ok).toBe(false); if (!result.ok) { expect(result.residual).toBe(true); @@ -1193,10 +1235,10 @@ describe("nothing leaks", () => { test("an empty container the user wrote survives disable", () => { // `providers: {}` is the user's line, not ours. Pruning it because it went // empty would delete something we never owned. - const configPath = installHermes(); + const configPath = installGajae(); writeFileSync(configPath, "providers: {}\n"); - expect(applyIntegration(input()).ok).toBe(true); - expect(disableIntegration(input()).ok).toBe(true); + expect(applyIntegration(input({ clientId: "gajae" })).ok).toBe(true); + expect(disableIntegration(input({ clientId: "gajae" })).ok).toBe(true); const doc = Bun.YAML.parse(readFileSync(configPath, "utf8")) as Record<string, unknown>; expect(doc).toEqual({ providers: {} }); diff --git a/tests/codex-integration/bearer-admission-routed-provider.test.ts b/tests/codex-integration/bearer-admission-routed-provider.test.ts index e74cd0ce216..5b873186262 100644 --- a/tests/codex-integration/bearer-admission-routed-provider.test.ts +++ b/tests/codex-integration/bearer-admission-routed-provider.test.ts @@ -1,9 +1,13 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test"; import { mkdtempSync, writeFileSync } from "node:fs"; +import http2 from "node:http2"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { saveConfig } from "../../src/config"; +import { clearComboTargetCooldowns } from "../../src/combos/failover"; import { startServer } from "../../src/server"; +import { noteSubagentModelFailure, resetSubagentModelFallbackStateForTests } from "../../src/codex/subagent-model-fallback"; +import { closeRequestHistoryIndex } from "../../src/routing/history/indexer"; import { acquireNativeMainProfileDrain, getNativeMainProfileRequestCount, @@ -14,6 +18,8 @@ import type { NativeProfileManager } from "../../src/codex/native-profile-manage import type { OcxConfig } from "../../src/types"; import { ownedServiceHomeInspection } from "../helpers/owned-service-home-inspection"; import { removeTreeWithRetry } from "../helpers/remove-tree"; +import { fakeChatGptJwt } from "../helpers/fake-chatgpt-jwt"; +import { resetVisionDescriptionCache } from "../../src/vision"; /** * Issue #2132: bearer admission must not require a stored ChatGPT credential. @@ -34,11 +40,13 @@ const originalFetch = globalThis.fetch; const previousOcxHome = process.env.OPENCODEX_HOME; const previousCodexHome = process.env.CODEX_HOME; const previousDataToken = process.env.OPENCODEX_API_AUTH_TOKEN; +const previousCursorTestToken = process.env.OPENCODEX_CURSOR_TEST_TOKEN; let ocxHome = ""; let codexHome = ""; let routedAuth: Array<string | null> = []; let nativeAuth: Array<string | null> = []; +let nativeAccountIds: Array<string | null> = []; const ADMISSION_SECRET = "ocx_data_2132secret"; const ROUTED_KEY = "sk-routed-provider-key"; @@ -83,7 +91,71 @@ function mixedConfig(): OcxConfig { } as OcxConfig; } +function cursorForwardConfig(baseUrl: string, apiKey?: string): OcxConfig { + return { + port: 0, + hostname: "0.0.0.0", + defaultProvider: "cursorcustom", + providers: { + cursorcustom: { + adapter: "cursor", + baseUrl, + allowPrivateNetwork: true, + authMode: "forward", + ...(apiKey ? { apiKey } : {}), + liveModels: false, + models: ["auto"], + defaultModel: "auto", + }, + }, + apiKeys: [ + { id: "env-key", name: "env_key", key: ADMISSION_SECRET, createdAt: "2026-08-20T00:00:00.000Z" }, + ], + } as OcxConfig; +} + +async function withCursorCaptureServer<T>( + run: (baseUrl: string, capturedAuth: Array<string | null>) => Promise<T>, +): Promise<T> { + const capturedAuth: Array<string | null> = []; + const sessions = new Set<http2.ServerHttp2Session>(); + const server = http2.createServer(); + server.on("session", session => { + sessions.add(session); + session.once("close", () => sessions.delete(session)); + }); + server.on("stream", (stream, headers) => { + const auth = headers.authorization; + capturedAuth.push(typeof auth === "string" ? auth : null); + stream.respond({ + ":status": typeof auth === "string" ? 200 : 401, + "content-type": "application/connect+proto", + }); + stream.end(); + }); + await new Promise<void>((resolve, reject) => { + const onError = (error: Error) => reject(error); + server.once("error", onError); + server.listen(0, "127.0.0.1", () => { + server.off("error", onError); + resolve(); + }); + }); + const address = server.address(); + if (!address || typeof address === "string") throw new Error("Cursor capture fixture did not bind"); + try { + return await run(`http://127.0.0.1:${address.port}`, capturedAuth); + } finally { + for (const session of sessions) session.destroy(); + await new Promise<void>(resolve => server.close(() => resolve())); + } +} + beforeEach(() => { + resetVisionDescriptionCache(); + clearComboTargetCooldowns(); + resetSubagentModelFallbackStateForTests(); + delete process.env.OPENCODEX_CURSOR_TEST_TOKEN; ocxHome = mkdtempSync(join(tmpdir(), "ocx-2132-home-")); codexHome = mkdtempSync(join(tmpdir(), "ocx-2132-codex-")); process.env.OPENCODEX_HOME = ocxHome; @@ -91,6 +163,7 @@ beforeEach(() => { delete process.env.OPENCODEX_API_AUTH_TOKEN; routedAuth = []; nativeAuth = []; + nativeAccountIds = []; globalThis.fetch = (async (input, init) => { const raw = input instanceof Request ? input.url : String(input); const url = new URL(raw); @@ -107,6 +180,7 @@ beforeEach(() => { } if (url.hostname === "chatgpt.com" || url.hostname === "api.openai.com") { nativeAuth.push(headers.get("authorization")); + nativeAccountIds.push(headers.get("chatgpt-account-id")); return Response.json({ id: "resp_2132", object: "response", status: "completed", output: [] }); } return originalFetch(input, init); @@ -114,6 +188,12 @@ beforeEach(() => { }); afterEach(() => { + resetVisionDescriptionCache(); + closeRequestHistoryIndex(); + clearComboTargetCooldowns(); + resetSubagentModelFallbackStateForTests(); + if (previousCursorTestToken === undefined) delete process.env.OPENCODEX_CURSOR_TEST_TOKEN; + else process.env.OPENCODEX_CURSOR_TEST_TOKEN = previousCursorTestToken; globalThis.fetch = originalFetch; if (previousOcxHome === undefined) delete process.env.OPENCODEX_HOME; else process.env.OPENCODEX_HOME = previousOcxHome; @@ -127,14 +207,60 @@ afterEach(() => { codexHome = ""; }); -async function postResponses(url: string | URL, model: string): Promise<Response> { +async function postResponses( + url: string | URL, + model: string, + authHeaders: HeadersInit = { authorization: `Bearer ${ADMISSION_SECRET}` }, +): Promise<Response> { + const headers = new Headers(authHeaders); + headers.set("content-type", "application/json"); return originalFetch(new URL("/v1/responses", url), { method: "POST", - headers: { "content-type": "application/json", authorization: `Bearer ${ADMISSION_SECRET}` }, + headers, body: JSON.stringify({ model, input: "hi", stream: false }), }); } +async function postChatCompletions( + url: string | URL, + model: string, + authHeaders: HeadersInit, +): Promise<Response> { + const headers = new Headers(authHeaders); + headers.set("content-type", "application/json"); + return originalFetch(new URL("/v1/chat/completions", url), { + method: "POST", + headers, + body: JSON.stringify({ model, messages: [{ role: "user", content: "hi" }], stream: false }), + }); +} + +async function postClaudeMessages( + url: string | URL, + model: string, +): Promise<Response> { + return originalFetch(new URL("/v1/messages", url), { + method: "POST", + headers: { + "content-type": "application/json", + "x-api-key": ADMISSION_SECRET, + "anthropic-version": "2023-06-01", + }, + body: JSON.stringify({ + model, + max_tokens: 16, + messages: [{ role: "user", content: "hi" }], + stream: false, + }), + }); +} + +async function startOwnedServer(): Promise<ReturnType<typeof startServer>> { + const server = startServer(0, { inspectNativeCodexOwnership }); + await waitForNativeMainStartupGate(); + return server; +} + describe("#2132 bearer admission does not require a ChatGPT credential for routed providers", () => { test("a key-authenticated route is served with no stored main credential", async () => { saveConfig(mixedConfig()); @@ -198,6 +324,698 @@ describe("#2132 bearer admission does not require a ChatGPT credential for route }); }); +describe("bearer admission is not reused as a Cursor upstream credential", () => { + test("a bearer admission secret is stripped before Cursor token fallback", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + const response = await postResponses(server.url, "cursorcustom/auto"); + // The runTurn adapter reports its pre-dispatch failure in a Responses terminal. + expect(await response.json()).toMatchObject({ status: "failed" }); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + test("dedicated admission preserves a separate Cursor bearer", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + await postResponses(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer cursor-upstream-token", + }); + expect(capturedAuth).toEqual(["Bearer cursor-upstream-token"]); + } finally { + await server.stop(true); + } + }); + }); + + test("bearer admission still uses a configured Cursor credential", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl, "cursor-configured-token")); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + await postResponses(server.url, "cursorcustom/auto"); + expect(capturedAuth).toEqual(["Bearer cursor-configured-token"]); + } finally { + await server.stop(true); + } + }); + }); + + test("dedicated admission refuses another proxy secret as Cursor auth", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + const response = await postResponses(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: `Bearer ${ADMISSION_SECRET}`, + }); + expect(response.status).toBe(401); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + test("configured Cursor auth still wins when dedicated admission carries a proxy bearer", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl, "cursor-configured-token")); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + await postResponses(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: `Bearer ${ADMISSION_SECRET}`, + }); + expect(capturedAuth).toEqual(["Bearer cursor-configured-token"]); + } finally { + await server.stop(true); + } + }); + }); + + test("Chat dedicated admission preserves its separate Cursor bearer over stored main auth", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ + tokens: { access_token: liveJwt(), account_id: "stored_main_acc" }, + })); + + const server = await startOwnedServer(); + try { + await postChatCompletions(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer cursor-upstream-token", + }); + expect(capturedAuth).toEqual(["Bearer cursor-upstream-token"]); + } finally { + await server.stop(true); + } + }); + }); + + test.each(["owned", "fenced"])("Chat Cursor keeps stored vision auth off its primary wire (%s)", async ownership => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.providers.cursorcustom!.noVisionModels = ["auto"]; + config.providers.openai = { + adapter: "openai-responses", baseUrl: "https://chatgpt.com/backend-api/codex", + authMode: "forward", codexAccountMode: "direct", + }; + // Keep this auth fixture independent of the legacy sidecar model migration. + config.visionSidecar = { enabled: true, backend: "openai", model: "gpt-5.6-luna" }; + saveConfig(config); + const stored = fakeChatGptJwt({ chatgpt_account_id: "stored_main_acc", exp: Math.floor(Date.now() / 1000) + 3600 }); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ + tokens: { access_token: stored, account_id: "stored_main_acc" }, + })); + const sidecar: Array<{ authorization: string | null; account: string | null; claimed: boolean }> = []; + globalThis.fetch = (async (input, init) => { + const url = new URL(input instanceof Request ? input.url : String(input)); + if (url.hostname === "chatgpt.com") { + const headers = new Headers(input instanceof Request ? input.headers : init?.headers); + sidecar.push({ authorization: headers.get("authorization"), account: headers.get("chatgpt-account-id"), + claimed: getNativeMainProfileRequestCount() > 0 }); + return new Response(`data: ${JSON.stringify({ type: "response.output_text.delta", delta: "A red square." })}\n\ndata: [DONE]\n\n`, { + headers: { "content-type": "text/event-stream" }, + }); + } + return originalFetch(input, init); + }) as typeof fetch; + const server = ownership === "owned" ? await startOwnedServer() : startServer(0, { + inspectNativeCodexOwnership: () => ({ ownership: "foreign", reason: "fixture owned by another service" }), + }); + try { + if (ownership === "fenced") expect(await waitForNativeMainStartupGate()).toMatchObject({ status: "blocked" }); + const response = await originalFetch(new URL("/v1/chat/completions", server.url), { + method: "POST", + headers: { "content-type": "application/json", "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer cursor-upstream-token" }, + body: JSON.stringify({ model: "cursorcustom/auto", stream: false, messages: [{ role: "user", content: [ + { type: "text", text: "Describe this image" }, + { type: "image_url", image_url: { url: "data:image/png;base64,aGVsbG8taW1hZ2UtYnl0ZXM=" } }, + ] }] }), + }); + await response.text(); + // The capture-only Cursor fixture ends without a completion frame. + expect(response.status).toBe(502); + expect(sidecar).toEqual(ownership === "owned" + ? [{ authorization: `Bearer ${stored}`, account: "stored_main_acc", claimed: true }] : []); + expect(capturedAuth).toEqual(["Bearer cursor-upstream-token"]); + } finally { + await server.stop(true); + } + expect(getNativeMainProfileRequestCount()).toBe(0); + }); + }); + + test("Chat never falls back from missing Cursor auth to stored main auth", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ + tokens: { access_token: liveJwt(), account_id: "stored_main_acc" }, + })); + + const server = await startOwnedServer(); + try { + const response = await postChatCompletions(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + }); + expect(response.status).not.toBe(200); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + test("Chat bearer admission is stripped before Cursor token fallback", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ + tokens: { access_token: liveJwt(), account_id: "stored_main_acc" }, + })); + + const server = await startOwnedServer(); + try { + const response = await postChatCompletions(server.url, "cursorcustom/auto", { + authorization: `Bearer ${ADMISSION_SECRET}`, + }); + expect(response.status).not.toBe(200); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + test.each(["Responses", "Chat"])("%s keeps an explicit OpenAI pair off an unchanged Cursor route", async surface => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + const server = await startOwnedServer(); + try { + const headers = { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: `Bearer ${fakeChatGptJwt({ chatgpt_account_id: "caller-openai" })}`, + "chatgpt-account-id": "caller-openai", + }; + const response = surface === "Chat" + ? await postChatCompletions(server.url, "cursorcustom/auto", headers) + : await postResponses(server.url, "cursorcustom/auto", headers); + if (surface === "Responses") { + expect(await response.json()).toMatchObject({ status: "failed" }); + } else { + expect(response.status).not.toBe(200); + await response.text(); + } + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + test.each(["Responses", "Chat"])("%s never treats a ChatGPT-claimed or combined bearer as a Cursor token", async surface => { + const chatGptJwt = fakeChatGptJwt({ chatgpt_account_id: "caller-openai" }); + const cases: Array<Record<string, string>> = [ + // A ChatGPT JWT without the matching account header is still the ChatGPT domain. + { authorization: `Bearer ${chatGptJwt}` }, + // A mismatched explicit account does not reclassify the token. + { authorization: `Bearer ${chatGptJwt}`, "chatgpt-account-id": "other-account" }, + // A combined value is not a single Cursor token. + { authorization: `Bearer ${chatGptJwt}, Bearer other` }, + // Conflicting ChatGPT markers are ChatGPT-marked but untrustworthy, not foreign-allowed. + { authorization: `Bearer ${fakeChatGptJwt({ chatgpt_account_id: "caller-openai", "https://api.openai.com/auth": { chatgpt_account_id: "other-claim" } })}` }, + // A malformed ChatGPT marker is still ChatGPT-marked. + { authorization: `Bearer ${fakeChatGptJwt({ chatgpt_account_id: 123 })}` }, + // A blank account id is not a usable id. + { authorization: `Bearer ${fakeChatGptJwt({ chatgpt_account_id: " " })}` }, + // The reserved namespace is a marker by its presence, whatever shape it carries: + // a primitive, null, an array, or an object without the claim all stay ChatGPT-marked. + { authorization: `Bearer ${fakeChatGptJwt({ "https://api.openai.com/auth": "not-an-object" })}` }, + { authorization: `Bearer ${fakeChatGptJwt({ "https://api.openai.com/auth": null })}` }, + { authorization: `Bearer ${fakeChatGptJwt({ "https://api.openai.com/auth": [] })}` }, + { authorization: `Bearer ${fakeChatGptJwt({ "https://api.openai.com/auth": {} })}` }, + { authorization: `Bearer ${fakeChatGptJwt({ "https://api.openai.com/auth": { user_id: "u_1" } })}` }, + ]; + for (const extra of cases) { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + const server = await startOwnedServer(); + try { + const headers = { "x-opencodex-api-key": ADMISSION_SECRET, ...extra }; + const response = surface === "Chat" + ? await postChatCompletions(server.url, "cursorcustom/auto", headers) + : await postResponses(server.url, "cursorcustom/auto", headers); + if (surface === "Responses") { + expect(await response.json()).toMatchObject({ status: "failed" }); + } else { + expect(response.status).not.toBe(200); + await response.text(); + } + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + } + }); + + test.each(["Responses", "Chat"])("%s keeps an unmarked JWT as the Cursor credential", async surface => { + // Neither a generic organizations claim nor a payload that is not a JSON object is + // ChatGPT-domain evidence: the legacy keyless Cursor contract keeps forwarding such a + // bearer (the account header, a ChatGPT-only header, is still dropped). The primitive + // payload also proves the domain inspector stays total instead of throwing. + const orgJwt = fakeChatGptJwt({ organizations: [{ id: "org-foreign" }] }); + const primitivePayloadJwt = `eyJhbGciOiJub25lIn0.${Buffer.from("true").toString("base64url")}.fakesig`; + for (const [bearer, extra] of [ + [orgJwt, {}], + [orgJwt, { "chatgpt-account-id": "org-foreign" }], + [primitivePayloadJwt, {}], + ] as Array<[string, Record<string, string>]>) { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + const server = await startOwnedServer(); + try { + const headers = { "x-opencodex-api-key": ADMISSION_SECRET, authorization: `Bearer ${bearer}`, ...extra }; + const response = surface === "Chat" + ? await postChatCompletions(server.url, "cursorcustom/auto", headers) + : await postResponses(server.url, "cursorcustom/auto", headers); + await response.text(); + expect(capturedAuth).toEqual([`Bearer ${bearer}`]); + } finally { + await server.stop(true); + } + }); + } + }); + + test.each([false, true])("Chat combos never assign caller auth to a Cursor target (OpenAI pair: %s)", async openAiPair => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.combos = { + free: { strategy: "failover", targets: [{ provider: "cursorcustom", model: "auto" }] }, + }; + saveConfig(config); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ + tokens: { access_token: liveJwt(), account_id: "stored_main_acc" }, + })); + + const server = await startOwnedServer(); + try { + const response = await postChatCompletions(server.url, "combo/free", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: `Bearer ${openAiPair ? fakeChatGptJwt({ chatgpt_account_id: "caller-openai" }) : "cursor-upstream-token"}`, + ...(openAiPair ? { "chatgpt-account-id": "caller-openai" } : {}), + }); + expect(response.status).not.toBe(200); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + test.each([false, true])("Responses combos never assign caller auth to a Cursor target (OpenAI pair: %s)", async openAiPair => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.combos = { + free: { strategy: "failover", targets: [{ provider: "cursorcustom", model: "auto" }] }, + }; + saveConfig(config); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + const response = await postResponses(server.url, "combo/free", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: `Bearer ${openAiPair ? fakeChatGptJwt({ chatgpt_account_id: "caller-openai" }) : "cursor-upstream-token"}`, + ...(openAiPair ? { "chatgpt-account-id": "caller-openai" } : {}), + }); + expect(response.status).not.toBe(200); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); + + // A present reserved namespace carries the marker whatever its shape, so every broken + // shape is untrustworthy rather than foreign, and is denied restore. + const brokenNamespaces: Record<string, unknown> = { + "namespace-empty-object": {}, + "namespace-primitive": "not-an-object", + "namespace-null": null, + "namespace-array": [], + "namespace-without-claim": { user_id: "u_1" }, + }; + + const callerBearers: Record<string, string> = { + "opaque-with-account": "opaque-caller-direct-token", + // The namespaced marker alone is a valid ChatGPT-domain claim. + "ns-claim-only": fakeChatGptJwt({ "https://api.openai.com/auth": { chatgpt_account_id: "caller-openai" } }), + // A generic organizations claim is not ChatGPT-domain evidence. + "org-only-jwt": fakeChatGptJwt({ organizations: [{ id: "org-foreign" }] }), + "conflicting-claims": fakeChatGptJwt({ chatgpt_account_id: "caller-openai", "https://api.openai.com/auth": { chatgpt_account_id: "other-claim" } }), + "blank-account-id": fakeChatGptJwt({ chatgpt_account_id: " " }), + "numeric-account-id": fakeChatGptJwt({ chatgpt_account_id: 123 }), + ...Object.fromEntries(Object.entries(brokenNamespaces) + .map(([name, shape]) => [name, fakeChatGptJwt({ "https://api.openai.com/auth": shape })])), + }; + + test("a bearer-admitted Responses combo still substitutes stored main on its final Direct target", async () => { + const config = mixedConfig(); + config.combos = { + native: { strategy: "failover", targets: [{ provider: "openai", model: "gpt-5.6-luna" }] }, + }; + const stored = liveJwt(); + saveConfig(config); + writeFileSync( + join(codexHome, "auth.json"), + JSON.stringify({ tokens: { access_token: stored, account_id: "stored_main_acc" } }), + ); + + const server = await startOwnedServer(); + try { + const response = await postResponses(server.url, "combo/native"); + expect(response.status).toBe(200); + expect(nativeAuth).toEqual([`Bearer ${stored}`]); + expect(nativeAuth.join("|")).not.toContain(ADMISSION_SECRET); + } finally { + await server.stop(true); + } + }); + + test.each(["jwt-only", "jwt-with-account", "ns-claim-only", "opaque-with-account", "jwt-mismatched-account", "org-only-jwt", "conflicting-claims", "namespace-empty-object", "namespace-primitive", "namespace-null", "namespace-array", "namespace-without-claim", "blank-account-id", "numeric-account-id"])( + "a dedicated-admission Responses combo scopes caller auth (%s) to its final Direct target", + async form => { + const config = mixedConfig(); + config.combos = { + native: { strategy: "failover", targets: [{ provider: "openai", model: "gpt-5.6-luna" }] }, + }; + saveConfig(config); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + const callerBearer = callerBearers[form] ?? fakeChatGptJwt({ chatgpt_account_id: "caller-openai" }); + const accountHeader = form === "jwt-only" || form === "ns-claim-only" ? undefined + : form === "jwt-mismatched-account" ? "other-account" + : form === "org-only-jwt" ? "org-foreign" + : "caller-openai"; + + const server = await startOwnedServer(); + try { + const response = await postResponses(server.url, "combo/native", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: `Bearer ${callerBearer}`, + ...(accountHeader ? { "chatgpt-account-id": accountHeader } : {}), + }); + const body = await response.json() as { status?: string }; + if (form === "jwt-only" || form === "jwt-with-account" || form === "ns-claim-only") { + expect(response.status).toBe(200); + expect(body).toMatchObject({ status: "completed" }); + expect(nativeAuth).toEqual([`Bearer ${callerBearer}`]); + expect(nativeAccountIds).toEqual(["caller-openai"]); + } else { + expect(response.status >= 400 || body.status === "failed").toBe(true); + expect(nativeAuth).toEqual([]); + expect(nativeAccountIds).toEqual([]); + } + } finally { + await server.stop(true); + } + }, + ); + + test("Chat thread-spawn fallback never carries the provisional Cursor bearer into Direct", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.providers.openai = { + adapter: "openai-responses", + baseUrl: "https://chatgpt.com/backend-api/codex", + authMode: "forward", + codexAccountMode: "direct", + defaultModel: "gpt-5.6-luna", + }; + config.subagentModelFallback = ["gpt-5.6-luna"]; + const stored = liveJwt(); + saveConfig(config); + noteSubagentModelFailure("cursorcustom/auto", "429", config); + writeFileSync( + join(codexHome, "auth.json"), + JSON.stringify({ tokens: { access_token: stored, account_id: "stored_main_acc" } }), + ); + + const server = await startOwnedServer(); + try { + const response = await postChatCompletions(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer cursor-upstream-token", + "x-openai-subagent": "collab_spawn", + }); + expect(capturedAuth).toEqual([]); + expect(nativeAuth).toEqual([]); + expect(response.status).toBe(401); + } finally { + await server.stop(true); + } + }); + }); + + test("Responses thread-spawn fallback never carries the provisional Cursor bearer into Direct", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.providers.openai = { + adapter: "openai-responses", + baseUrl: "https://chatgpt.com/backend-api/codex", + authMode: "forward", + codexAccountMode: "direct", + defaultModel: "gpt-5.6-luna", + }; + config.subagentModelFallback = ["gpt-5.6-luna"]; + const stored = liveJwt(); + saveConfig(config); + noteSubagentModelFailure("cursorcustom/auto", "429", config); + writeFileSync( + join(codexHome, "auth.json"), + JSON.stringify({ tokens: { access_token: stored, account_id: "stored_main_acc" } }), + ); + + const server = await startOwnedServer(); + try { + const response = await postResponses(server.url, "cursorcustom/auto", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer cursor-upstream-token", + "x-openai-subagent": "collab_spawn", + }); + expect(capturedAuth).toEqual([]); + expect(nativeAuth).toEqual([]); + expect(response.status).toBe(401); + } finally { + await server.stop(true); + } + }); + }); + + test("Chat thread marker without a route rewrite preserves the caller's native credential", async () => { + saveConfig(mixedConfig()); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = await startOwnedServer(); + try { + const response = await postChatCompletions(server.url, "gpt-5.6-luna", { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer caller-native-token", + "x-openai-subagent": "collab_spawn", + }); + expect(response.status).toBe(200); + expect(nativeAuth).toEqual(["Bearer caller-native-token"]); + expect(routedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + + for (const surface of ["Chat", "Responses"] as const) { + test(`${surface} policy routes never assign one provisional bearer to a selected provider`, async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.routingProfiles = { + cursor: { candidates: [{ provider: "cursorcustom", model: "auto" }] }, + }; + saveConfig(config); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + const authHeaders = { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer cursor-upstream-token", + }; + const response = surface === "Chat" + ? await postChatCompletions(server.url, "policy/cursor", authHeaders) + : await postResponses(server.url, "policy/cursor", authHeaders); + const status = response.status; + await response.arrayBuffer(); + expect(capturedAuth).toEqual([]); + // Chat returns a pre-stream provider failure; Responses may encode the same terminal + // failure inside its normal response envelope. The wire observation is authoritative. + expect([200, 502]).toContain(status); + } finally { + await server.stop(true); + } + }); + }); + } + + test("Claude policy routing preserves trusted main auth only for its final Direct target", async () => { + const config = mixedConfig(); + config.routingProfiles = { + native: { candidates: [{ provider: "openai", model: "gpt-5.6-luna" }] }, + }; + const stored = liveJwt(); + saveConfig(config); + writeFileSync( + join(codexHome, "auth.json"), + JSON.stringify({ tokens: { access_token: stored, account_id: "stored_main_acc" } }), + ); + + const server = await startOwnedServer(); + try { + const response = await postClaudeMessages(server.url, "policy/native"); + expect(response.status).toBe(200); + expect(nativeAuth).toEqual([`Bearer ${stored}`]); + } finally { + await server.stop(true); + } + }); + + test("Claude Combo routing reconstructs trusted main auth for its final Direct target", async () => { + const config = mixedConfig(); + config.combos = { + native: { strategy: "failover", targets: [{ provider: "openai", model: "gpt-5.6-luna" }] }, + }; + const stored = liveJwt(); + saveConfig(config); + writeFileSync( + join(codexHome, "auth.json"), + JSON.stringify({ tokens: { access_token: stored, account_id: "stored_main_acc" } }), + ); + + const server = await startOwnedServer(); + try { + const response = await postClaudeMessages(server.url, "combo/native"); + expect(response.status).toBe(200); + expect(nativeAuth).toEqual([`Bearer ${stored}`]); + } finally { + await server.stop(true); + } + }); + + test("Claude Combo routing cannot reconstruct main auth when the profile claim was fenced", async () => { + const config = mixedConfig(); + config.combos = { + native: { strategy: "failover", targets: [{ provider: "openai", model: "gpt-5.6-luna" }] }, + }; + saveConfig(config); + writeFileSync( + join(codexHome, "auth.json"), + JSON.stringify({ tokens: { access_token: liveJwt(), account_id: "stored_main_acc" } }), + ); + + const server = startServer(0, { + inspectNativeCodexOwnership: () => ({ ownership: "foreign", reason: "fixture-owned by another service" }), + }); + try { + expect(await waitForNativeMainStartupGate()).toMatchObject({ + status: "blocked", + reason: "foreign-ownership", + }); + const response = await postClaudeMessages(server.url, "combo/native"); + expect(response.status).toBe(401); + expect(nativeAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + + for (const surface of ["Chat", "Responses"] as const) { + test(`${surface} shadow-call rewrites never carry the source route bearer into Cursor`, async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + const config = cursorForwardConfig(baseUrl); + config.providers.openai = { + adapter: "openai-responses", + baseUrl: "https://chatgpt.com/backend-api/codex", + authMode: "forward", + codexAccountMode: "direct", + defaultModel: "gpt-5.6-luna", + }; + config.shadowCallIntercept = { + enabled: true, + model: "cursorcustom/auto", + sourceModels: ["gpt-5.6-luna"], + }; + saveConfig(config); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ tokens: {} })); + + const server = startServer(0, { inspectNativeCodexOwnership }); + try { + const authHeaders = { + "x-opencodex-api-key": ADMISSION_SECRET, + authorization: "Bearer source-route-token", + }; + const response = surface === "Chat" + ? await postChatCompletions(server.url, "gpt-5.6-luna", authHeaders) + : await postResponses(server.url, "gpt-5.6-luna", authHeaders); + const status = response.status; + await response.arrayBuffer(); + expect(capturedAuth).toEqual([]); + expect([200, 401, 502]).toContain(status); + } finally { + await server.stop(true); + } + }); + }); + } + + test("Claude replay never treats stored main auth as a Cursor credential", async () => { + await withCursorCaptureServer(async (baseUrl, capturedAuth) => { + saveConfig(cursorForwardConfig(baseUrl)); + writeFileSync(join(codexHome, "auth.json"), JSON.stringify({ + tokens: { access_token: liveJwt(), account_id: "stored_main_acc" }, + })); + + const server = await startOwnedServer(); + try { + const response = await postClaudeMessages(server.url, "cursorcustom/auto"); + expect(response.status).toBe(502); + expect(capturedAuth).toEqual([]); + } finally { + await server.stop(true); + } + }); + }); +}); + /** * The predicate above must be keyed on TRANSPORT, not on the provider's name. * diff --git a/tests/codex-integration/catalog-hub-context-window.test.ts b/tests/codex-integration/catalog-hub-context-window.test.ts new file mode 100644 index 00000000000..fb44a64dd13 --- /dev/null +++ b/tests/codex-integration/catalog-hub-context-window.test.ts @@ -0,0 +1,71 @@ +import { describe, expect, test } from "bun:test"; +import { catalogHintsFromModelsApiItem } from "../../src/codex/catalog/provider-fetch"; + +/** + * Regression coverage for #4032 (chained clients / provider hub). + * + * A hub that re-serves an upstream catalog reports the per-model window under + * `capabilities.context_length`. `catalogHintsFromModelsApiItem` already read that + * same record for `max_output_tokens`, but never for the context window, so every + * routed row fell through to the 128k compatibility floor in parsing.ts while local + * forward rows kept their real values. + * + * The capability field is appended AFTER the recognized metadata/limits fields and + * after the Copilot-specific `capabilities.limits.max_context_window_tokens`, so no + * provider that already resolved a window changes behaviour. + */ + +const HUB_MODELS_ITEM = { + id: "anthropic/claude-opus-5", + object: "model" as const, + owned_by: "opencodex-hub", + capabilities: { + context_length: 922000, + max_output_tokens: 64000, + }, +}; + +describe("provider-hub capabilities.context_length (#4032)", () => { + test("absorbs capabilities.context_length from a hub-shaped /v1/models item", () => { + const hints = catalogHintsFromModelsApiItem("hub", HUB_MODELS_ITEM); + expect(hints.contextWindow).toBe(922000); + }); + + test("the same record still yields max_output_tokens (asymmetry is gone)", () => { + const hints = catalogHintsFromModelsApiItem("hub", HUB_MODELS_ITEM); + expect(hints.maxOutputTokens).toBe(64000); + }); + + test("reads the capability record from metadata.capabilities too", () => { + const hints = catalogHintsFromModelsApiItem("hub", { + id: "meta-shaped", + metadata: { capabilities: { context_length: 400000 } }, + }); + expect(hints.contextWindow).toBe(400000); + }); + + test("a recognized context field still wins over the capability record", () => { + // Contested on purpose: the capability field is appended last so no provider + // already supplying a recognized field changes behaviour. + const hints = catalogHintsFromModelsApiItem("hub", { + id: "both", + context_length: 32768, + capabilities: { context_length: 922000 }, + }); + expect(hints.contextWindow).toBe(32768); + }); + + test("Copilot's max_context_window_tokens still wins over the capability record", () => { + const hints = catalogHintsFromModelsApiItem("copilot", { + id: "gpt-5.6-sol", + capabilities: { context_length: 922000, limits: { max_context_window_tokens: 128000 } }, + }); + expect(hints.contextWindow).toBe(128000); + }); + + test("a non-positive or non-integer capability window is ignored", () => { + expect(catalogHintsFromModelsApiItem("hub", { id: "zero", capabilities: { context_length: 0 } }).contextWindow).toBeUndefined(); + expect(catalogHintsFromModelsApiItem("hub", { id: "neg", capabilities: { context_length: -1 } }).contextWindow).toBeUndefined(); + expect(catalogHintsFromModelsApiItem("hub", { id: "str", capabilities: { context_length: "922000" } }).contextWindow).toBeUndefined(); + }); +}); diff --git a/tests/codex-integration/codex-auth-api.test.ts b/tests/codex-integration/codex-auth-api.test.ts index 04eba75533f..fea1be50329 100644 --- a/tests/codex-integration/codex-auth-api.test.ts +++ b/tests/codex-integration/codex-auth-api.test.ts @@ -24,19 +24,28 @@ import { getCodexAccountCredential, listCodexAccountIds, readCodexAccountRecord, + removeCodexAccountCredential, saveCodexAccountCredential, } from "../../src/codex/account-store"; import * as accountStoreModule from "../../src/codex/account-store"; import * as reserveAvailabilityModule from "../../src/codex/reserve-availability"; import { getMainAccountInfoCache, observeMainQuotaCredential } from "../../src/codex/main-account-cache"; +import { openManualResetCreditOperation } from "../../src/codex/reset-credit-operation-ledger"; +import { quotaRecoveryRecordForTests, resetQuotaRecoveryForTests } from "../../src/codex/quota-401-recovery"; +import { watchdogMs } from "../helpers/ci-watchdog"; import { clearCodexUpstreamHealth, + clearCodexUpstreamHealthForAccount, + getCodexQuotaHealthSnapshot, + claimManualResetCooldowns, + settleManualResetCooldown, clearThreadAccountMap, getCodexUpstreamHealth, recordCodexUpstreamOutcome, resetCodexRoutingForManualSelection, resolveCodexAccountForThread, } from "../../src/codex/routing"; +import { pinnedCodexAccountId, setCodexAccountPin } from "../../src/codex/account-priority"; import { clearPoolRotationState } from "../../src/codex/pool-rotation"; import { clearCodexWebSocketRegistry, @@ -47,6 +56,8 @@ import type { OcxConfig } from "../../src/types"; import type { WsData } from "../../src/server/ws-bridge"; import { handleNativeProfileAPI } from "../../src/codex/native-profile-api"; import type { NativeProfileManager } from "../../src/codex/native-profile-manager"; +import { getMainPolicyQuota } from "../../src/codex/quota"; +import { getMainAccountHardLockStatus } from "../../src/codex/main-account-hard-lock"; import { MAIN_CODEX_ACCOUNT_ID, setMainAccountPlan } from "../../src/codex/main-account"; import { reconcileCodexPlansFromTokens, resetJwtPlanNotesForTests } from "../../src/codex/plan-from-token"; import { @@ -542,6 +553,7 @@ beforeEach(() => { clearCodexWebSocketRegistry(); resetMainCodexAccountIdentityTrackingForTests(); resetJwtPlanNotesForTests(); + resetQuotaRecoveryForTests(); }); afterEach(async () => { @@ -557,6 +569,7 @@ afterEach(async () => { clearPoolRotationState(); clearCodexWebSocketRegistry(); globalThis.fetch = previousFetch; + resetQuotaRecoveryForTests(); if (previousOpencodexHome === undefined) delete process.env.OPENCODEX_HOME; else process.env.OPENCODEX_HOME = previousOpencodexHome; if (previousCodexHome === undefined) delete process.env.CODEX_HOME; @@ -971,13 +984,27 @@ describe("codex-auth API", () => { } }); - test("busy pool-quota probe maps reset-credit refresh to 503 server_busy with Retry-After 1", async () => { + test("busy usage observation preserves confirmed reset success without a retry directive", async () => { const config = makeConfig(); seedPoolAccount(config, { id: "quota-reset-busy", email: "busy@example.test" }); + // Adapted from #3995 (e172453052bf7bbc4a0ae5aa24592982c0c64b15). + recordCodexUpstreamOutcome(config, "quota-reset-busy", 429, { + now: Date.now(), resetAt: Date.now() + 3_600_000, modelId: "gpt-5.6-sol", fixedAccount: true, + }); + const cooldown = getCodexQuotaHealthSnapshot("quota-reset-busy", "shared"); + expect(cooldown).not.toBeNull(); const cleanup = seedCodexAuthAdmissionForTests({ quotaFlights: 16 }); - globalThis.fetch = (async (input: RequestInfo | URL) => String(input).includes("/consume") - ? Response.json({ code: "reset" }) - : previousFetch(input)) as typeof fetch; + let consumeCalls = 0; let usageCalls = 0; + const urls: string[] = []; + globalThis.fetch = (async (input: RequestInfo | URL) => { + const url = String(input); urls.push(url); + if (url === "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume") { + consumeCalls += 1; + return Response.json({ code: "reset" }); + } + if (url === "https://chatgpt.com/backend-api/wham/usage") usageCalls += 1; + throw new Error("unexpected mock URL"); + }) as typeof fetch; try { const req = new Request("http://localhost/api/codex-auth/reset-credits/consume", { method: "POST", @@ -985,9 +1012,16 @@ describe("codex-auth API", () => { body: JSON.stringify({ accountId: "quota-reset-busy" }), }); const response = await handleCodexAuthAPI(req, new URL(req.url), config); - expect(response?.status).toBe(503); - expect(response?.headers.get("Retry-After")).toBe("1"); - expect(await response?.json()).toMatchObject({ code: "server_busy" }); + expect(response?.status).toBe(200); + expect(response?.headers.get("Retry-After")).toBeNull(); + expect(await response?.json()).toEqual({ code: "reset" }); + expect(consumeCalls).toBe(1); + expect(usageCalls).toBe(0); + expect(urls).toEqual(["https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"]); + expect(getCodexQuotaHealthSnapshot("quota-reset-busy", "shared")).toEqual(cooldown); + const claims = claimManualResetCooldowns(config, "quota-reset-busy"); + try { expect(claims).toHaveLength(1); } + finally { for (const claim of claims) settleManualResetCooldown(config, claim, false); } } finally { cleanup(); } @@ -3047,6 +3081,42 @@ describe("codex-auth API", () => { } }); + // Adapted from luvs01's #3995, e172453052bf7bbc4a0ae5aa24592982c0c64b15. + test.each(["reset", "already_redeemed"])("cold main %s returns fresh WHAM credits without a prior lookup", async code => { + writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ + tokens: { access_token: "cold-main-reset-token", account_id: "cold-main-reset-account" }, + })); + // Intentionally no listing, reconciliation, writer observation or quota seed. + let consumeCalls = 0; let usageCalls = 0; + const urls: string[] = []; + const originalFetch = globalThis.fetch; + globalThis.fetch = (async (input: RequestInfo | URL) => { + const url = String(input); urls.push(url); + if (url === "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume") { + consumeCalls += 1; + return Response.json({ code, remaining: 99 }); + } + if (url === "https://chatgpt.com/backend-api/wham/usage") { + usageCalls += 1; + return Response.json({ plan_type: "team", rate_limit: { secondary_window: { used_percent: 12 } }, + rate_limit_reset_credits: { available_count: 1 } }); + } + throw new Error("unexpected mock URL"); + }) as typeof fetch; + try { + const req = new Request("http://localhost/api/codex-auth/reset-credits/consume", { + method: "POST", headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ accountId: MAIN_CODEX_ACCOUNT_ID }), + }); + const response = await handleCodexAuthAPI(req, new URL(req.url), makeConfig()); + expect(response?.status).toBe(200); + expect(await response?.json()).toEqual({ code, remaining: 1 }); + expect(consumeCalls).toBe(1); expect(usageCalls).toBe(1); + expect(urls).toEqual(["https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume", + "https://chatgpt.com/backend-api/wham/usage"]); + } finally { globalThis.fetch = originalFetch; } + }); + test("reset-credit consume returns remaining from fresh main WHAM credits", async () => { writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ tokens: { access_token: "main-reset-ok", account_id: "acct-main-reset-ok" }, @@ -3280,12 +3350,61 @@ describe("codex-auth API", () => { config, ); expect(retried!.status).toBe(200); + const replayed = await handleCodexAuthAPI( + consumeRequest({ accountId: "pool-alias", operationId: OTHER_OP_ID }), + new URL("http://localhost/api/codex-auth/reset-credits/consume"), + config, + ); + expect(replayed!.status).toBe(200); + expect(await replayed!.json()).toEqual({ code: "reset", replayed: true }); expect(upstream.redeemRequestIds).toEqual([OP_ID, OP_ID]); } finally { globalThis.fetch = previousFetch; } }); + for (const failure of ["throw", "non-2xx", "unknown-code"] as const) { + test(`an alias marks a pending canonical operation ambiguous after ${failure}`, async () => { + const config = makeConfig(); + const accountId = "pool-pending-alias"; + const chatgptAccountId = "physical-pending-alias"; + seedPoolAccount(config, { id: accountId, email: "pending@example.test", chatgptAccountId }); + expect(openManualResetCreditOperation({ accountId, chatgptAccountId, operationId: OP_ID })) + .toMatchObject({ kind: "execute", operationId: OP_ID }); + const readOperation = () => { + const database = new Database(join(TEST_DIR, "config-mutation.sqlite"), { readonly: true }); + try { + return database.query<{ account_key: string; operation_id: string; state: string; code: string | null }, []>( + "SELECT account_key, operation_id, state, code FROM reset_credit_operations WHERE operation_kind = 'manual'", + ).get(); + } finally { + database.close(); + } + }; + const pending = readOperation(); + expect(pending).toMatchObject({ operation_id: OP_ID, state: "pending", code: null }); + const upstream = stubUpstream(() => { + if (failure === "throw") throw new Error("fixture consume failure"); + return failure === "non-2xx" + ? new Response("fixture unavailable", { status: 503 }) + : Response.json({ code: "weird" }); + }); + try { + const response = await handleCodexAuthAPI( + consumeRequest({ accountId, operationId: OTHER_OP_ID }), + new URL("http://localhost/api/codex-auth/reset-credits/consume"), + config, + ); + expect(response!.status).toBe(failure === "throw" ? 500 : failure === "non-2xx" ? 503 : 200); + expect(readOperation()).toEqual({ ...pending!, state: "ambiguous" }); + expect(upstream.redeemRequestIds).toEqual([OP_ID]); + expect(getCodexAccountCredential(accountId)?.chatgptAccountId).toBe(chatgptAccountId); + } finally { + globalThis.fetch = previousFetch; + } + }); + } + test("an unknown upstream code stays ambiguous instead of settling the ledger", async () => { const config = makeConfig(); seedPoolAccount(config, { id: "pool-weird", email: "weird@example.test" }); @@ -5404,3 +5523,539 @@ describe("codex-auth helpers", () => { expect(isAccountNeedsReauth(id)).toBe(false); }); }); + + +describe("manual reset cooldown recovery (#3973)", () => { + const USAGE = "https://chatgpt.com/backend-api/wham/usage"; + const CONSUME = "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"; + const OP = "be810596-310c-4c21-95cb-e47f984398a0"; + function gate() { + let release!: () => void; + const promise = new Promise<void>(resolve => { release = resolve; }); + return { promise, release }; + } + function usage(percent = 12) { + return { plan_type: "team", rate_limit: { secondary_window: { used_percent: percent } }, + rate_limit_reset_credits: { available_count: 2 } }; + } + function setup() { + const config = makeConfig({ activeCodexAccountId: "manual-a", accountPoolStrategy: "fill-first" }); + seedPoolAccount(config, { id: "manual-a", email: "manual@example.test", plan: "team" }); + setCodexAccountPin(config, "manual-a"); + cool(config, "manual-a"); + return config; + } + function cool(config: OcxConfig, id: string, modelId = "gpt-5.6-sol", now = Date.now()) { + recordCodexUpstreamOutcome(config, id, 429, { now, resetAt: now + 3_600_000, modelId, fixedAccount: true }); + } + function consume(config: OcxConfig, id = "manual-a", operationId = OP) { + const req = new Request("http://localhost/api/codex-auth/reset-credits/consume", { + method: "POST", headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ accountId: id, operationId }), + }); + return handleCodexAuthAPI(req, new URL(req.url), config); + } + function mock(consumeResponse: () => Response | Promise<Response>, usageResponse: () => Response | Promise<Response>) { + const urls: string[] = []; + globalThis.fetch = (async input => { + const url = String(input); + urls.push(url); + if (url === CONSUME) return consumeResponse(); + if (url === USAGE) return usageResponse(); + throw new Error("unexpected mock URL"); + }) as typeof fetch; + return urls; + } + + test.each(["reset", "already_redeemed", "nothing_to_reset", "no_credit", "unknown"])( + "only a new reset recovers, preserving pin/selection and other scopes: %s", async code => { + const config = setup(); + cool(config, "manual-a", "gpt-5.3-codex-spark"); + cool(config, "manual-a", "gpt-reserve"); + const spark = getCodexQuotaHealthSnapshot("manual-a", "spark"); + const reserve = getCodexQuotaHealthSnapshot("manual-a", "reserve"); + const urls = mock(() => Response.json({ code }), () => Response.json(usage())); + const result = await consume(config); + expect(result?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared") === null).toBe(code === "reset"); + expect(getCodexQuotaHealthSnapshot("manual-a", "spark")).toEqual(spark); + expect(getCodexQuotaHealthSnapshot("manual-a", "reserve")).toEqual(reserve); + expect(config.activeCodexAccountId).toBe("manual-a"); + expect(pinnedCodexAccountId(config)).toBe("manual-a"); + expect(urls).toEqual(code === "reset" || code === "already_redeemed" ? [CONSUME, USAGE] : [CONSUME]); + if (code === "reset") { + cool(config, "manual-a"); + const replay = await consume(config); + expect(await replay?.json()).toEqual({ code: "reset", replayed: true }); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).not.toBeNull(); + expect(urls).toEqual([CONSUME, USAGE]); + } + }, + ); + + test.each(["credits-only", "exhausted", "short-exhausted", "tertiary-only", "empty", "non-2xx", "malformed", "timeout"])( + "confirmed reset stays successful but incomplete/failed observation retains cooldown: %s", async kind => { + const config = setup(); + const urls = mock(() => Response.json({ code: "reset" }), () => { + if (kind === "timeout") throw new DOMException("fixture", "TimeoutError"); + if (kind === "non-2xx") return new Response("fixture", { status: 503 }); + if (kind === "malformed") return new Response("not-json"); + if (kind === "empty") return Response.json({}); + if (kind === "credits-only") return Response.json({ rate_limit_reset_credits: { available_count: 2 } }); + if (kind === "tertiary-only") return Response.json({ plan_type: "team", rate_limit: { tertiary_window: { used_percent: 5 } } }); + if (kind === "short-exhausted") return Response.json({ ...usage(), rate_limit: { + primary_window: { used_percent: 100, limit_window_seconds: 18_000 }, secondary_window: { used_percent: 12 }, + } }); + return Response.json(usage(100)); + }); + expect((await consume(config))?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).not.toBeNull(); + const nextClaims = claimManualResetCooldowns(config, "manual-a"); + expect(nextClaims).toHaveLength(1); + for (const claim of nextClaims) settleManualResetCooldown(config, claim, false); + expect(await (await consume(config))?.json()).toEqual({ code: "reset", replayed: true }); + expect(urls).toEqual([CONSUME, USAGE]); + }, + ); + + test("recovery never follows a physical-account match to another local alias", async () => { + const config = setup(); + seedPoolAccount(config, { id: "manual-alias", email: "alias@example.test", plan: "team", chatgptAccountId: "acct-manual-a" }); + cool(config, "manual-alias"); + const untouched = getCodexQuotaHealthSnapshot("manual-alias", "shared"); + const urls = mock(() => Response.json({ code: "reset" }), () => Response.json(usage())); + expect((await consume(config))?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + expect(getCodexQuotaHealthSnapshot("manual-alias", "shared")).toEqual(untouched); + expect(urls).toEqual([CONSUME, USAGE]); + }); + + test.each(["team", "go", "free"])("monthly governing usage can recover %s", async plan => { + const config = setup(); + const urls = mock(() => Response.json({ code: "reset" }), () => Response.json({ plan_type: plan, + rate_limit: { primary_window: { used_percent: 4, limit_window_seconds: 2_628_000 } }, + })); + expect((await consume(config))?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + expect(urls).toEqual([CONSUME, USAGE]); + }); + + test.each(["throw", "non-2xx", "unknown"])("ambiguous consume releases only its own cooldown claim: %s", async failure => { + const config = setup(); + const urls = mock(() => { + if (failure === "throw") throw new Error("fixture"); + return failure === "non-2xx" ? new Response("fixture", { status: 503 }) : Response.json({ code: "unknown" }); + }, () => Response.json(usage())); + const response = await consume(config); + expect(response?.status).toBe(failure === "throw" ? 500 : failure === "non-2xx" ? 503 : 200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).not.toBeNull(); + const claims = claimManualResetCooldowns(config, "manual-a"); + expect(claims).toHaveLength(1); + for (const claim of claims) settleManualResetCooldown(config, claim, false); + expect(urls).toEqual([CONSUME]); + }); + + test("post-reset 401 refresh carries the successful replay's dispatch and credential proof", async () => { + const config = setup(); const generation = readCodexAccountRecord("manual-a")!.generation; + const urls: string[] = []; let reads = 0; + globalThis.fetch = (async input => { + const url = String(input); urls.push(url); + if (url === CONSUME) return Response.json({ code: "reset" }); + if (url === USAGE) return ++reads === 1 ? new Response("{}", { status: 401 }) : Response.json(usage()); + if (url === "https://auth.openai.com/oauth/token") return Response.json({ + access_token: "refreshed-access", refresh_token: "refreshed-refresh", expires_in: 3600, + }); + throw new Error("unexpected mock URL"); + }) as typeof fetch; + expect((await consume(config))?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + expect(readCodexAccountRecord("manual-a")!.generation).toBe(generation + 1); + expect(urls).toEqual([CONSUME, USAGE, "https://auth.openai.com/oauth/token", USAGE]); + }); + + test("same-tick external G+1 adopted by 401 replay cannot settle manual recovery", async () => { + const now = Date.now(); const clock = spyOn(Date, "now").mockReturnValue(now); + const firstUsage = gate(); const release401 = gate(); + let pending: ReturnType<typeof consume> | undefined; + const forceRefresh = accountStoreModule.forceRefreshCodexPoolToken; + let observedProvenance: string | undefined; + const refreshSpy = spyOn(accountStoreModule, "forceRefreshCodexPoolToken").mockImplementation(async (id, options) => { + const result = await forceRefresh(id, options); + observedProvenance = result.provenance; + return result; + }); + try { + expect(quotaRecoveryRecordForTests("manual-a")).toBeUndefined(); + const config = setup(); + const original = getCodexAccountCredential("manual-a")!; + // Establish a non-undefined replacement stamp before the manual claim. + saveCodexAccountCredential("manual-a", original); + const before = readCodexAccountRecord("manual-a")!; + expect(before.replacedAt).toBe(now); + let reads = 0; + const urls = mock(() => Response.json({ code: "reset" }), async () => { + if (++reads === 1) { firstUsage.release(); await release401.promise; return new Response("{}", { status: 401 }); } + return Response.json(usage()); + }); + pending = consume(config); + await firstUsage.promise; + saveCodexAccountCredential("manual-a", { ...original, accessToken: "external-access", refreshToken: "external-refresh" }); + const replacement = readCodexAccountRecord("manual-a")!; + expect(replacement.generation).toBe(before.generation + 1); + expect(replacement.replacedAt).toBe(before.replacedAt); + release401.release(); + expect(await (await pending)?.json()).toEqual({ code: "reset", remaining: 2 }); + expect(observedProvenance).toBe("external-replacement"); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).not.toBeNull(); + // No OAuth call: forceRefresh adopted the time-valid external replacement. + expect(urls).toEqual([CONSUME, USAGE, USAGE]); + const claims = claimManualResetCooldowns(config, "manual-a"); + expect(claims).toHaveLength(1); + for (const claim of claims) settleManualResetCooldown(config, claim, false); + } finally { + release401.release(); + try { if (pending) await pending; } + finally { refreshSpy.mockRestore(); clock.mockRestore(); } + } + }); + + test("manual 401 can join a genuine owned refresh and retain its +1 lineage", async () => { + const config = setup(); const before = readCodexAccountRecord("manual-a")!; + const firstUsage = gate(); const release401 = gate(); const oauthStarted = gate(); const releaseOAuth = gate(); const joined = gate(); + const forceRefresh = accountStoreModule.forceRefreshCodexPoolToken; + let refreshCalls = 0; + let joinedProvenance: string | undefined; + const spy = spyOn(accountStoreModule, "forceRefreshCodexPoolToken").mockImplementation(async (id, options) => { + const result = forceRefresh(id, options); + const isJoiner = ++refreshCalls === 2; + if (isJoiner) joined.release(); + const resolved = await result; + if (isJoiner) joinedProvenance = resolved.provenance; + return resolved; + }); + const urls: string[] = []; let reads = 0; + globalThis.fetch = (async input => { + const url = String(input); urls.push(url); + if (url === CONSUME) return Response.json({ code: "reset" }); + if (url === USAGE) { + if (++reads === 1) { firstUsage.release(); await release401.promise; return new Response("{}", { status: 401 }); } + return Response.json(usage()); + } + if (url === "https://auth.openai.com/oauth/token") { + oauthStarted.release(); await releaseOAuth.promise; + return Response.json({ access_token: "joined-access", refresh_token: "joined-refresh", expires_in: 3600 }); + } + throw new Error("unexpected mock URL"); + }) as typeof fetch; + const pending = consume(config); + let owner: ReturnType<typeof forceRefresh> | undefined; + try { + await firstUsage.promise; + owner = accountStoreModule.forceRefreshCodexPoolToken("manual-a", { + rejectedGeneration: before.generation, rejectedAccessToken: before.credential!.accessToken, + }); + await oauthStarted.promise; + release401.release(); await joined.promise; + releaseOAuth.release(); + expect((await owner).provenance).toBe("self-refresh"); + expect((await pending)?.status).toBe(200); + expect(joinedProvenance).toBe("joined-lineage"); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + expect(readCodexAccountRecord("manual-a")!.generation).toBe(before.generation + 1); + expect(urls).toEqual([CONSUME, USAGE, "https://auth.openai.com/oauth/token", USAGE]); + } finally { + release401.release(); releaseOAuth.release(); + if (owner) await owner; await pending; + spy.mockRestore(); + } + }); + + test.each(["consume", "usage"])("new 429 during %s survives the old reset claim", async stage => { + const config = setup(); + const started = gate(); const finish = gate(); + let later: ReturnType<typeof getCodexQuotaHealthSnapshot>; + mock(async () => { + if (stage === "consume") { started.release(); await finish.promise; } + return Response.json({ code: "reset" }); + }, async () => { + if (stage === "usage") { started.release(); await finish.promise; } + return Response.json(usage()); + }); + const pending = consume(config); + try { + await started.promise; + cool(config, "manual-a", "gpt-5.6-sol", Date.now() + 1); + later = getCodexQuotaHealthSnapshot("manual-a", "shared"); + } finally { finish.release(); } + expect((await pending)?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toEqual(later!); + }); + + test.each(["replace", "remove", "readd", "pause", "recreate"])("usage cannot recover after %s", async change => { + const config = setup(); const started = gate(); const finish = gate(); + mock(() => Response.json({ code: "reset" }), async () => { + started.release(); await finish.promise; return Response.json(usage()); + }); + const pending = consume(config); + try { + await started.promise; + if (change === "replace") saveCodexAccountCredential("manual-a", { + accessToken: "replacement", refreshToken: "replacement-refresh", expiresAt: Date.now() + 3_600_000, + chatgptAccountId: "replacement-account", + }); + if (change === "remove") config.codexAccounts = []; + if (change === "readd") { + removeCodexAccountCredential("manual-a"); + saveCodexAccountCredential("manual-a", { accessToken: "readded-access", refreshToken: "readded-refresh", + expiresAt: Date.now() + 3_600_000, chatgptAccountId: "acct-manual-a" }); + } + if (change === "pause") config.pausedCodexAccountIds = ["manual-a"]; + if (change === "recreate") { clearCodexUpstreamHealthForAccount("manual-a"); cool(config, "manual-a"); } + } finally { finish.release(); } + expect((await pending)?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).not.toBeNull(); + if (change === "pause") expect(config.pausedCodexAccountIds).toEqual(["manual-a"]); + }); + + test.each([false, true])("old usage cannot prove reset or overwrite a newer observation (old finishes first=%s)", async oldFirst => { + const config = setup(); const oldStarted = gate(); const oldFinish = gate(); + const freshStarted = gate(); const freshFinish = gate(); let reads = 0; + const urls = mock(() => Response.json({ code: "reset" }), async () => { + reads += 1; + if (reads === 1) { oldStarted.release(); await oldFinish.promise; return Response.json(usage(99)); } + freshStarted.release(); await freshFinish.promise; return Response.json(usage(12)); + }); + const frozenNow = Date.now(); + const clock = spyOn(Date, "now").mockReturnValue(frozenNow); + const old = listCodexAuthAccounts(config, true); + let reset: ReturnType<typeof consume> | undefined; + try { + await oldStarted.promise; + reset = consume(config); + await freshStarted.promise; + if (oldFirst) { + oldFinish.release(); await old; + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).not.toBeNull(); + } + freshFinish.release(); + expect((await reset)?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + oldFinish.release(); await old; + expect(getAccountQuota("manual-a")?.weeklyPercent).toBe(12); + expect(urls).toEqual([USAGE, CONSUME, USAGE]); + } finally { + oldFinish.release(); freshFinish.release(); + await old; if (reset) await reset; + clock.mockRestore(); + } + }); + + // Adapt #3995/e172453052's two-flight convergence to fresh-before-old scheduling. + test("reset publishes a fourth usage request before two old current-generation flights complete", async () => { + const config = setup(); + const oldCredential = getCodexAccountCredential("manual-a")!; + const oldGeneration = readCodexAccountRecord("manual-a")!.generation; + const firstStarted = gate(); const release401 = gate(); const secondStarted = gate(); const secondFinish = gate(); + const replayStarted = gate(); const replayFinish = gate(); const freshStarted = gate(); + const latches = [firstStarted, release401, secondStarted, secondFinish, replayStarted, replayFinish, freshStarted]; + const pending: Promise<unknown>[] = []; + const urls: string[] = []; const usageBearers: Array<string | null> = []; + let usageCalls = 0; let consumeCalls = 0; let completedOldResponses = 0; + let rejectDeadline!: (error: Error) => void; + const deadline = new Promise<never>((_resolve, reject) => { rejectDeadline = reject; }); + // Failure bound only: success is synchronized on dispatch latches, never elapsed time. + const timeout = setTimeout(() => rejectDeadline(new Error("mock dispatch did not reach its expected phase")), watchdogMs(10_000)); + const originalFetch = globalThis.fetch; + globalThis.fetch = (async (input: RequestInfo | URL, init?: RequestInit) => { + const url = String(input); urls.push(url); + if (url === CONSUME) { consumeCalls += 1; return Response.json({ code: "reset" }); } + if (url !== USAGE) throw new Error("unexpected mock URL"); + usageBearers.push(new Headers(init?.headers).get("Authorization")); + switch (++usageCalls) { + case 1: + firstStarted.release(); await release401.promise; + return new Response("{}", { status: 401 }); + case 2: + secondStarted.release(); await secondFinish.promise; completedOldResponses += 1; + return Response.json({ ...usage(88), rate_limit_reset_credits: { available_count: 66 } }); + case 3: + replayStarted.release(); await replayFinish.promise; completedOldResponses += 1; + return Response.json({ ...usage(99), rate_limit_reset_credits: { available_count: 77 } }); + case 4: + freshStarted.release(); return Response.json(usage(12)); + default: throw new Error("unexpected mock usage dispatch"); + } + }) as typeof fetch; + try { + const first = listCodexAuthAccounts(config, true); pending.push(first); + void first.catch(rejectDeadline); + await Promise.race([firstStarted.promise, deadline]); + // A fresh external generation starts its own ordinary flight while P's old 401 is held. + saveCodexAccountCredential("manual-a", { ...oldCredential, accessToken: "converged-access", refreshToken: "converged-refresh" }); + expect(readCodexAccountRecord("manual-a")!.generation).toBe(oldGeneration + 1); + const second = listCodexAuthAccounts(config, true); pending.push(second); + void second.catch(rejectDeadline); + await Promise.race([secondStarted.promise, deadline]); + release401.release(); + await Promise.race([replayStarted.promise, deadline]); + // Both old flights now use the current generation; neither response has completed. + expect(usageBearers).toEqual([`Bearer ${oldCredential.accessToken}`, "Bearer converged-access", "Bearer converged-access"]); + expect(completedOldResponses).toBe(0); + const reset = consume(config); pending.push(reset); + void reset.catch(rejectDeadline); + await Promise.race([freshStarted.promise, deadline]); + const response = await Promise.race([reset, deadline]); + expect(response?.status).toBe(200); + expect(await response?.json()).toEqual({ code: "reset", remaining: 2 }); + expect(completedOldResponses).toBe(0); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + const fresh = structuredClone(getAccountQuota("manual-a")); + expect(fresh).toMatchObject({ weeklyPercent: 12, resetCredits: 2 }); + secondFinish.release(); replayFinish.release(); + await Promise.all([first, second]); + expect(completedOldResponses).toBe(2); + expect(getAccountQuota("manual-a")).toEqual(fresh); + expect(getCodexQuotaHealthSnapshot("manual-a", "shared")).toBeNull(); + expect(consumeCalls).toBe(1); expect(usageCalls).toBe(4); + expect(usageBearers).toEqual([`Bearer ${oldCredential.accessToken}`, "Bearer converged-access", "Bearer converged-access", "Bearer converged-access"]); + expect(urls).toEqual([USAGE, USAGE, USAGE, CONSUME, USAGE]); + } finally { + clearTimeout(timeout); + for (const latch of latches) latch.release(); + const results = await Promise.allSettled(pending); + globalThis.fetch = originalFetch; + for (const result of results) if (result.status === "rejected") throw result.reason; + } + }, 60_000); + + test("main Q-first/P-last publication preserves post-reset cache, credits and hard-lock readiness", async () => { + const config = makeConfig({ codexMainAccountHardLock: true }); + const accessToken = "ordered-main-token"; const accountId = "ordered-main-account"; + writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ tokens: { access_token: accessToken, account_id: accountId } })); + reconcileMainCodexAccountRuntimeState(); + const writer = observeMainQuotaCredential(accessToken, accountId)!; + setAccountQuotaFromParsed(MAIN_CODEX_ACCOUNT_ID, { weeklyPercent: 100, resetCredits: 5 }, captureConfigGeneration(), writer); + expect(getMainAccountHardLockStatus(config).state).toBe("blocked"); + cool(config, MAIN_CODEX_ACCOUNT_ID); + const oldStarted = gate(); const oldFinish = gate(); let reads = 0; + const urls = mock(() => Response.json({ code: "reset" }), () => { + if (++reads === 1) return new Response(new ReadableStream<Uint8Array>({ + async start(controller) { + oldStarted.release(); await oldFinish.promise; + controller.enqueue(new TextEncoder().encode(JSON.stringify({ ...usage(100), + rate_limit_reset_credits: { available_count: 7 } }))); + controller.close(); + }, + }), { headers: { "Content-Type": "application/json" } }); + if (reads === 2) return Response.json(usage(12)); + // Later omission also verifies the private retained-credit slot was not overwritten by P. + return Response.json({ plan_type: "team", rate_limit: { secondary_window: { used_percent: 14 } } }); + }); + const old = fetchMainAccountInfoSnapshot(true); + try { + await oldStarted.promise; + const reset = await consume(config, MAIN_CODEX_ACCOUNT_ID); + expect(await reset?.json()).toEqual({ code: "reset", remaining: 2 }); + expect(getCodexQuotaHealthSnapshot(MAIN_CODEX_ACCOUNT_ID, "shared")).toBeNull(); + const freshCache = structuredClone(getMainAccountInfoCache()); + const freshShared = structuredClone(getAccountQuota(MAIN_CODEX_ACCOUNT_ID)); + const freshPolicy = structuredClone(getMainPolicyQuota()); + expect(freshCache?.quota).toMatchObject({ weeklyPercent: 12, resetCredits: 2 }); + expect(getMainAccountHardLockStatus(config).state).toBe("ready"); + oldFinish.release(); + const stale = await old; + expect(stale.quotaRefresh).toBeUndefined(); + expect(getMainAccountInfoCache()).toEqual(freshCache); + expect(getAccountQuota(MAIN_CODEX_ACCOUNT_ID)).toEqual(freshShared); + expect(getMainPolicyQuota()).toEqual(freshPolicy); + expect(getMainAccountHardLockStatus(config).state).toBe("ready"); + const displayed = (await listCodexAuthAccounts(config, false)).find(account => account.isMain)!; + expect(displayed.quota).toMatchObject({ weeklyPercent: 12, resetCredits: 2 }); + await fetchMainAccountInfoSnapshot(true); + const afterOmission = (await listCodexAuthAccounts(config, false)).find(account => account.isMain)!; + expect(afterOmission.quota?.resetCredits).toBe(2); + expect(getMainAccountHardLockStatus(config).state).toBe("ready"); + expect(urls).toEqual([USAGE, CONSUME, USAGE, USAGE]); + } finally { oldFinish.release(); await old; } + }); + + test("a newer failed main read does not outrank an older successful publication", async () => { + writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ + tokens: { access_token: "publication-main-token", account_id: "publication-main-account" }, + })); + reconcileMainCodexAccountRuntimeState(); + const started = gate(); const finish = gate(); let reads = 0; + const urls = mock(() => { throw new Error("consume is not expected"); }, async () => { + if (++reads === 1) { started.release(); await finish.promise; return Response.json(usage()); } + return new Response("fixture unavailable", { status: 503 }); + }); + const old = fetchMainAccountInfoSnapshot(true); + try { + await started.promise; + expect((await fetchMainAccountInfoSnapshot(true)).quotaRefresh).toEqual({ status: "http_error", httpStatus: 503 }); + finish.release(); + expect((await old).quotaRefresh).toEqual({ status: "ok" }); + expect(getMainAccountInfoCache()?.quota).toMatchObject({ weeklyPercent: 12, resetCredits: 2 }); + expect(getMainPolicyQuota()?.weeklyPercent).toBe(12); + expect(getMainAccountHardLockStatus({ codexMainAccountHardLock: true }).state).toBe("ready"); + expect(urls).toEqual([USAGE, USAGE]); + } finally { finish.release(); await old; } + }); + + test("main reset usage does not erase an existing reauth quarantine", async () => { + const config = makeConfig(); + writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ + tokens: { access_token: "manual-main-token", account_id: "manual-main-account" }, + })); + reconcileMainCodexAccountRuntimeState(); + cool(config, MAIN_CODEX_ACCOUNT_ID); + markAccountNeedsReauth(MAIN_CODEX_ACCOUNT_ID); + const urls = mock(() => Response.json({ code: "reset" }), () => Response.json(usage())); + expect((await consume(config, MAIN_CODEX_ACCOUNT_ID))?.status).toBe(200); + expect(isAccountNeedsReauth(MAIN_CODEX_ACCOUNT_ID)).toBe(true); + expect(getCodexQuotaHealthSnapshot(MAIN_CODEX_ACCOUNT_ID, "shared")).not.toBeNull(); + expect(urls).toEqual([CONSUME, USAGE]); + }); + + test("conflicting main token/header identity supplies no recovery proof", async () => { + const config = makeConfig(); + const payload = Buffer.from(JSON.stringify({ "https://api.openai.com/auth": { chatgpt_account_id: "token-account" } })).toString("base64url"); + writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ + tokens: { access_token: "manual-main-token", id_token: `e30.${payload}.sig`, account_id: "header-account" }, + })); + reconcileMainCodexAccountRuntimeState(); cool(config, MAIN_CODEX_ACCOUNT_ID); + const urls = mock(() => Response.json({ code: "reset" }), () => Response.json(usage())); + expect(await (await consume(config, MAIN_CODEX_ACCOUNT_ID))?.json()).toEqual({ code: "reset" }); + expect(getCodexQuotaHealthSnapshot(MAIN_CODEX_ACCOUNT_ID, "shared")).not.toBeNull(); + expect(urls).toEqual([CONSUME]); + }); + + test.each(["same", "bearer", "other-account", "aba"])("main recovery uses its own live credential proof: %s", async change => { + const config = makeConfig(); + const writeMain = (accountId: string, accessToken = "manual-main-token") => { + writeFileSync(join(TEST_CODEX_HOME, "auth.json"), JSON.stringify({ tokens: { access_token: accessToken, account_id: accountId } })); + }; + writeMain("manual-main-account"); reconcileMainCodexAccountRuntimeState(); + cool(config, MAIN_CODEX_ACCOUNT_ID); + const started = gate(); const finish = gate(); let usageCalls = 0; + mock(() => Response.json({ code: "reset" }), async () => { + usageCalls += 1; + if (usageCalls === 1) { started.release(); await finish.promise; } + return Response.json(usage()); + }); + const pending = consume(config, MAIN_CODEX_ACCOUNT_ID); + try { + await started.promise; + expect(getNativeMainProfileRequestCount()).toBe(1); + if (change === "bearer") writeMain("manual-main-account", "replacement-main-token"); + if (change === "other-account" || change === "aba") { + writeMain("other-main-account"); reconcileMainCodexAccountRuntimeState(); + if (change === "aba") { writeMain("manual-main-account"); reconcileMainCodexAccountRuntimeState(); } + cool(config, MAIN_CODEX_ACCOUNT_ID); + } + } finally { finish.release(); } + expect((await pending)?.status).toBe(200); + expect(getCodexQuotaHealthSnapshot(MAIN_CODEX_ACCOUNT_ID, "shared") === null).toBe(change === "same"); + expect(getNativeMainProfileRequestCount()).toBe(0); + }); +}); diff --git a/tests/codex-integration/codex-auth-context.test.ts b/tests/codex-integration/codex-auth-context.test.ts index 65d0adcd0c3..d06c58d5721 100644 --- a/tests/codex-integration/codex-auth-context.test.ts +++ b/tests/codex-integration/codex-auth-context.test.ts @@ -55,6 +55,7 @@ import { CODEX_QUOTA_PROBE_INTERVAL_MS, clearCodexUpstreamHealth, clearThreadAccountMap, + getCodexQuotaHealthSnapshot, recordCodexUpstreamOutcome, resetCodexRoutingForManualSelection, } from "../../src/codex/routing"; @@ -1267,6 +1268,147 @@ describe("Codex auth context", () => { expect(directEntitlementChecks).toBe(1); }); + test("a fresh request can reuse caller main after the selected Pool account enters cooldown", async () => { + const cfg = { ...config(), autoSwitchThreshold: 0 }; + const now = 1_800_000_000_000; + const originalNow = Date.now; + const inbound = new Headers({ + authorization: "Bearer caller-keyring-token", + "chatgpt-account-id": "caller-keyring-account", + }); + saveCodexAccountCredential("pool-a", { + accessToken: "pool_token", refreshToken: "pool_refresh", + expiresAt: now + 24 * 60 * 60_000, chatgptAccountId: "pool_acc", + }); + try { + Date.now = () => now; + recordCodexUpstreamOutcome(cfg, "pool-a", 429, { + now, modelId: "gpt-5.6-terra", resetAt: now + 600_000, fixedAccount: true, + }); + const cooldown = getCodexQuotaHealthSnapshot("pool-a", "shared"); + expect(cooldown).not.toBeNull(); + Date.now = () => now + 1_000; + const options = { requestScopedMainCredential: true, modelId: "gpt-5.6-terra" }; + await expect(resolveCodexAuthContext(inbound, cfg, "pool", { + ...options, excludeAccountId: "pool-a", + })).resolves.toMatchObject({ kind: "main", accountId: null }); + + const context = await resolveCodexAuthContext(inbound, cfg, "pool", options); + expect(context).toMatchObject({ kind: "main", accountId: null }); + const forwarded = headersForCodexAuthContext(inbound, context); + expect(forwarded.get("authorization")).toBe("Bearer caller-keyring-token"); + expect(forwarded.get("chatgpt-account-id")).toBe("caller-keyring-account"); + expect(cfg.activeCodexAccountId).toBe("pool-a"); + expect(cfg.activeCodexAccountPinned).toBeUndefined(); + expect(getCodexQuotaHealthSnapshot("pool-a", "shared")).toEqual(cooldown); + } finally { + Date.now = originalNow; + } + }); + + test("cooldown caller-main fallback never resurrects the cooled subscription", async () => { + const now = 1_800_000_000_000; + const originalNow = Date.now; + const cfg = { ...config(), autoSwitchThreshold: 0 }; + // config() registers pool-a with email pool@example.test and workspace account pool_acc. + const callerJwt = (email?: string) => `header.${Buffer.from(JSON.stringify({ + exp: Math.floor(now / 1000) + 86_400, + ...(email ? { email } : {}), + "https://api.openai.com/auth": { chatgpt_account_id: "pool_acc" }, + })).toString("base64url")}.signature`; + saveCodexAccountCredential("pool-a", { + accessToken: "pool_token", refreshToken: "pool_refresh", + expiresAt: now + 24 * 60 * 60_000, chatgptAccountId: "pool_acc", + }); + try { + Date.now = () => now; + recordCodexUpstreamOutcome(cfg, "pool-a", 429, { + now, modelId: "gpt-5.6-terra", resetAt: now + 600_000, fixedAccount: true, + }); + const cooldown = getCodexQuotaHealthSnapshot("pool-a", "shared"); + expect(cooldown).not.toBeNull(); + Date.now = () => now + 1_000; + const options = { requestScopedMainCredential: true, modelId: "gpt-5.6-terra" }; + const resolve = (headers: Headers) => resolveCodexAuthContext(headers, cfg, "pool", options); + + // The cooled account's exact materialized credential cannot use the fallback. + await expect(resolve(new Headers({ + authorization: "Bearer pool_token", "chatgpt-account-id": "pool_acc", + }))).rejects.toBeInstanceOf(CodexAccountCooldownError); + // A rotated token of the same account (same workspace id and email) is still that subscription. + await expect(resolve(new Headers({ + authorization: `Bearer ${callerJwt("pool@example.test")}`, + }))).rejects.toBeInstanceOf(CodexAccountCooldownError); + // A distinct team member on the shared workspace account id may serve the request. + await expect(resolve(new Headers({ + authorization: `Bearer ${callerJwt("teammate@example.test")}`, + }))).resolves.toMatchObject({ kind: "main", accountId: null }); + // An unreadable caller identity fails closed. + await expect(resolve(new Headers({ + authorization: "Bearer opaque-caller-token", + }))).rejects.toBeInstanceOf(CodexAccountCooldownError); + // The workspace account id without a readable email cannot be distinguished: fail closed. + await expect(resolve(new Headers({ + authorization: `Bearer ${callerJwt()}`, + }))).rejects.toBeInstanceOf(CodexAccountCooldownError); + + // Nothing mutated the cooldown or the Pool selection. + expect(cfg.activeCodexAccountId).toBe("pool-a"); + expect(getCodexQuotaHealthSnapshot("pool-a", "shared")).toEqual(cooldown); + } finally { + Date.now = originalNow; + } + }); + + test("cooldown caller-main fallback follows the stable user id, not the recorded email", async () => { + const now = 1_800_000_000_000; + const originalNow = Date.now; + const cfg = { ...config(), autoSwitchThreshold: 0 }; + // config() registers pool-a with email pool@example.test on workspace account pool_acc. + const jwt = (claims: Record<string, unknown>, email?: string) => `header.${Buffer.from(JSON.stringify({ + exp: Math.floor(now / 1000) + 86_400, + ...(email ? { email } : {}), + "https://api.openai.com/auth": { chatgpt_account_id: "pool_acc", ...claims }, + })).toString("base64url")}.signature`; + const storeCooled = (accessToken: string) => saveCodexAccountCredential("pool-a", { + accessToken, refreshToken: "pool_refresh", + expiresAt: now + 24 * 60 * 60_000, chatgptAccountId: "pool_acc", + }); + storeCooled(jwt({ chatgpt_user_id: "user-cooled" }, "pool@example.test")); + try { + Date.now = () => now; + recordCodexUpstreamOutcome(cfg, "pool-a", 429, { + now, modelId: "gpt-5.6-terra", resetAt: now + 600_000, fixedAccount: true, + }); + const cooldown = getCodexQuotaHealthSnapshot("pool-a", "shared"); + expect(cooldown).not.toBeNull(); + Date.now = () => now + 1_000; + const options = { requestScopedMainCredential: true, modelId: "gpt-5.6-terra" }; + const resolve = (headers: Headers) => resolveCodexAuthContext(headers, cfg, "pool", options); + + // Distinct members of one workspace account, with no email claim anywhere to separate them. + await expect(resolve(new Headers({ + authorization: `Bearer ${jwt({ chatgpt_user_id: "user-teammate" })}`, + }))).resolves.toMatchObject({ kind: "main", accountId: null }); + // The same user stays inside its own cooldown after an email change and a token rotation. + await expect(resolve(new Headers({ + authorization: `Bearer ${jwt({ chatgpt_user_id: "user-cooled" }, "renamed@example.test")}`, + }))).rejects.toBeInstanceOf(CodexAccountCooldownError); + + // A stored credential whose own user-id claims disagree identifies nobody, so even a caller + // the email rule would have waved through as a teammate fails closed. + storeCooled(jwt({ chatgpt_user_id: "user-cooled", user_id: "user-other" }, "pool@example.test")); + await expect(resolve(new Headers({ + authorization: `Bearer ${jwt({ chatgpt_user_id: "user-teammate" }, "teammate@example.test")}`, + }))).rejects.toBeInstanceOf(CodexAccountCooldownError); + + expect(cfg.activeCodexAccountId).toBe("pool-a"); + expect(getCodexQuotaHealthSnapshot("pool-a", "shared")).toEqual(cooldown); + } finally { + Date.now = originalNow; + } + }); + test("selects pool auth independently of the routed provider", async () => { saveCodexAccountCredential("pool-a", { accessToken: "pool_token", @@ -1452,8 +1594,9 @@ describe("Codex auth context", () => { // The caller proved admission with one of OUR secrets. That secret must never leave the // process, so the only acceptable outcome is the stored main credential in its place. const admissionSecret = "ocx_data_localsecret"; + const storedCredential = liveJwt(); writeFileSync(join(testDir, "auth.json"), JSON.stringify({ - tokens: { access_token: liveJwt(), account_id: "stored_main_acc" }, + tokens: { access_token: storedCredential, account_id: "stored_main_acc" }, })); const headers = materializeCodexUpstreamAuth( @@ -1463,7 +1606,7 @@ describe("Codex auth context", () => { ); expect(headers.get("authorization")).not.toContain(admissionSecret); - expect(headers.get("authorization")).toBe(`Bearer ${liveJwt()}`); + expect(headers.get("authorization")).toBe(`Bearer ${storedCredential}`); expect(headers.get("chatgpt-account-id")).toBe("stored_main_acc"); // Unrelated forwarded headers still ride along. expect(headers.get("openai-beta")).toBe("responses=experimental"); diff --git a/tests/codex-integration/codex-catalog-restore.test.ts b/tests/codex-integration/codex-catalog-restore.test.ts index a2117015781..1b148daad17 100644 --- a/tests/codex-integration/codex-catalog-restore.test.ts +++ b/tests/codex-integration/codex-catalog-restore.test.ts @@ -39,7 +39,7 @@ describe("Codex catalog restore", () => { if (existsSync(opencodexHome)) removeTreeWithRetry(opencodexHome); }); - test("version-1 process journals restore, while matching client ownership is durable", () => { + test("version-1 process journals with injected hashes restore, while matching client ownership is durable", () => { const configPath = join(codexHome, "config.toml"); const journalPath = join(codexHome, "opencodex-journal.json"); const original = '# original\nmodel_provider = "openai"\n'; @@ -49,6 +49,8 @@ describe("Codex catalog restore", () => { version: 1, originalConfig: Buffer.from(original).toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, pid: 999_999, timestamp: new Date().toISOString(), })); @@ -65,6 +67,8 @@ describe("Codex catalog restore", () => { version: 1, originalConfig: Buffer.from(original).toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, owner: { kind: "client", apiKeyId: "client-key-1" }, pid: 999_999, timestamp: new Date().toISOString(), diff --git a/tests/codex-integration/codex-catalog.test.ts b/tests/codex-integration/codex-catalog.test.ts index ac7fe1c2b38..6953f0560a1 100644 --- a/tests/codex-integration/codex-catalog.test.ts +++ b/tests/codex-integration/codex-catalog.test.ts @@ -1707,6 +1707,43 @@ describe("combo catalog capability intersection", () => { )).not.toHaveProperty("reasoningEfforts"); }); + test("resolveComboCatalogMember restores canonical OpenAI effort levels through generic routes", () => { + const providers = new Map([["azu-lab2", { + adapter: "openai-chat" as const, + baseUrl: "https://azu-lab2.example/v1", + }]]); + const member = resolveComboCatalogMember( + { provider: "azu-lab2", model: "gpt-5.6-terra" }, + new Map([["azu-lab2/gpt-5.6-terra", { + provider: "azu-lab2", + id: "gpt-5.6-terra", + contextWindow: 373_000, + inputModalities: ["text", "image"], + }]]), + providers, + ); + expect(member?.reasoningEfforts).toEqual(["low", "medium", "high", "xhigh", "max"]); + }); + + test("resolveComboCatalogMember applies sidecar hints to complete discovery rows", () => { + const providers = new Map([["sidecar", { + adapter: "openai-chat" as const, + baseUrl: "https://sidecar.example/v1", + modelInputModalities: { planner: ["text"] }, + }]]); + const member = resolveComboCatalogMember( + { provider: "sidecar", model: "planner" }, + new Map([["sidecar/planner", { + provider: "sidecar", + id: "planner", + contextWindow: 200_000, + inputModalities: ["text"], + }]]), + providers, + ); + expect(member?.inputModalities).toEqual(["text", "image"]); + }); + // Sniper for the OUTPUT-vs-INPUT mapping defect carried over from PR #3332. The test // above uses toMatchObject, which only inspects the keys it names, so without this a // regression that puts the OUTPUT ceiling into the INPUT slot passes green. @@ -7165,6 +7202,21 @@ describe("Codex reasoning-effort capability clamp", () => { }); }); +test("provider-configured cap applies to discovered window and does not get overwritten by discovery", () => { + const resolved = applyProviderConfigHints("prov", { + adapter: "openai-chat", + baseUrl: "https://prov.test/v1", + modelContextWindows: { "disco-model": 100_000 }, + }, { + provider: "prov", + id: "disco-model", + contextWindow: 200_000, + }, 150_000); + + expect(resolved.contextWindow).toBe(100_000); + expect(resolved.contextCap).toBe(150_000); +}); + describe("auto_review_model configuration (#1225)", () => { test("applyAutoReviewModelOverride sets auto_review_model_override across all entries", () => { const { applyAutoReviewModelOverride } = require("../../src/codex/catalog/sync"); diff --git a/tests/codex-integration/codex-composed-acceptance.test.ts b/tests/codex-integration/codex-composed-acceptance.test.ts index 419ed0da6c1..e8f3692b70a 100644 --- a/tests/codex-integration/codex-composed-acceptance.test.ts +++ b/tests/codex-integration/codex-composed-acceptance.test.ts @@ -492,9 +492,11 @@ describe("WP13 composed toggle acceptance", () => { // The CLI's own output is the assertion message: a bare "expected 0, got 1" sent two // Windows CI rounds chasing a timeout that was never the cause. expect(`exit=${back.exitCode}\nstderr: ${back.stderr}\nstdout: ${back.stdout}`).toContain("exit=0"); - expect((await fx.request(server.runtime, "/api/native-integrations/codex", { + const disabledAgain = await fx.request(server.runtime, "/api/native-integrations/codex", { method: "PUT", body: JSON.stringify({ enabled: false }), - })).body).toMatchObject({ desiredEnabled: false }); + }); + expect(disabledAgain.body).toMatchObject({ desiredEnabled: false }); + expect(String(disabledAgain.body.message)).toContain("ocx recover-history --ocx-compaction <thread-id> --yes"); } finally { await fx.stop(server); } diff --git a/tests/codex-integration/codex-cooldown-recovery.test.ts b/tests/codex-integration/codex-cooldown-recovery.test.ts index 7f9a87d33fb..1f7b3a69a42 100644 --- a/tests/codex-integration/codex-cooldown-recovery.test.ts +++ b/tests/codex-integration/codex-cooldown-recovery.test.ts @@ -8,7 +8,7 @@ import { runCodexCooldownRecoveryProbes, seedCodexAuthAdmissionForTests, } from "../../src/codex/auth-api"; -import { saveCodexAccountCredential } from "../../src/codex/account-store"; +import { readCodexAccountRecord, saveCodexAccountCredential, saveCodexAccountCredentialIfGeneration } from "../../src/codex/account-store"; import { codexQuotaWindowForPlan, getAccountQuota, @@ -21,6 +21,11 @@ import upstreamModels from "../../src/codex/data/upstream-models.json"; import { CODEX_QUOTA_PROBE_INTERVAL_MS, clearCodexUpstreamHealth, + clearCodexUpstreamHealthForAccount, + claimDueCodexQuotaRecoveryProbes, + claimManualResetCooldowns, + settleCodexQuotaRecoveryProbe, + settleManualResetCooldown, getCodexQuotaHealthSnapshot, recordCodexUpstreamOutcome, resolveCodexAccountForThread, @@ -117,6 +122,78 @@ describe("Codex cooldown recovery worker", () => { testCodexHome = ""; }); + test("manual reset bypasses pacing but does not steal a live background lease", () => { + const config = makeConfig(["a"]); saveCredential("a"); cool(config, "a"); + const manual = claimManualResetCooldowns(config, "a", START + 1); + expect(manual).toHaveLength(1); + expect(claimDueCodexQuotaRecoveryProbes(config, 1, due())).toEqual([]); + settleManualResetCooldown(config, manual[0]!, false, {}, START + 2); + const [background] = claimDueCodexQuotaRecoveryProbes(config, 1, due(START + 2)); + expect(background).toBeDefined(); + expect(claimManualResetCooldowns(config, "a", due(START + 2))).toEqual([]); + expect(settleManualResetCooldown(config, manual[0]!, false, {}, due(START + 2))).toBe(false); + expect(settleCodexQuotaRecoveryProbe(background!, true, { + credentialGeneration: readCodexAccountRecord("a")!.generation, + }, due(START + 2))).toBe(true); + }); + + test("manual recovery rejects an unrelated refresh edge and preserves exact-generation settlement", () => { + const config = makeConfig(["a"]); saveCredential("a"); cool(config, "a"); + const [claim] = claimManualResetCooldowns(config, "a", START); + expect(claim?.kind).toBe("pool"); + const before = readCodexAccountRecord("a")!; + const generation = before.generation; + expect(saveCodexAccountCredentialIfGeneration("a", generation, { + ...before.credential!, accessToken: "fresh-a", refreshToken: "fresh-refresh-a", + })).toBe(true); + expect(readCodexAccountRecord("a")!.replacedAt).toBe(before.replacedAt); + expect(settleManualResetCooldown(config, claim!, true, { + credentialGeneration: generation + 1, + refreshLineage: { fromGeneration: generation - 1, toGeneration: generation + 1, provenance: "self-refresh" }, + }, START)).toBe(false); + expect(getCodexQuotaHealthSnapshot("a", "shared", START)).not.toBeNull(); + // Rejection releases the lease rather than leaving manual recovery stuck. + const [exact] = claimManualResetCooldowns(config, "a", START); + expect(exact).toBeDefined(); + expect(settleManualResetCooldown(config, exact!, true, { credentialGeneration: generation + 1 }, START)).toBe(true); + }); + + test("a replacement between auth and claiming cannot acquire the replacement's cooldown", () => { + const config = makeConfig(["a"]); saveCredential("a"); cool(config, "a"); + const generation = readCodexAccountRecord("a")!.generation; + saveCredential("a", "-replacement"); + expect(claimManualResetCooldowns(config, "a", START, generation)).toEqual([]); + expect(getCodexQuotaHealthSnapshot("a", "shared", START)).not.toBeNull(); + }); + + test("deleted and recreated cooldown with identical generation and clock cannot reuse a manual lease", () => { + const config = makeConfig(["a"]); saveCredential("a"); cool(config, "a"); + const [old] = claimManualResetCooldowns(config, "a", START); + clearCodexUpstreamHealthForAccount("a"); cool(config, "a"); + const [replacement] = claimManualResetCooldowns(config, "a", START); + expect(replacement!.probe.cooldownGeneration).toBe(old!.probe.cooldownGeneration); + expect(replacement!.probe.leaseId).not.toBe(old!.probe.leaseId); + const proof = { credentialGeneration: readCodexAccountRecord("a")!.generation }; + expect(settleManualResetCooldown(config, old!, true, proof, START)).toBe(false); + expect(getCodexQuotaHealthSnapshot("a", "shared", START)).not.toBeNull(); + expect(settleManualResetCooldown(config, replacement!, true, proof, START)).toBe(true); + }); + + test.each(["retry-after", "default", "spark", "reserve", "paused", "missing"])( + "manual reset never claims an ineligible target: %s", kind => { + const config = makeConfig(["a"]); saveCredential("a"); + if (kind === "retry-after") recordCodexUpstreamOutcome(config, "a", 429, { now: START, retryAfter: "3600" }); + else if (kind === "default") recordCodexUpstreamOutcome(config, "a", 429, { now: START }); + else if (kind === "reserve") recordCodexUpstreamOutcome(config, "a", 429, { + now: START, resetAt: START + 3_600_000, modelId: "gpt-reserve", + }); + else cool(config, "a", kind === "spark" ? "spark" : "shared"); + if (kind === "paused") config.pausedCodexAccountIds = ["a"]; + if (kind === "missing") config.codexAccounts = []; + expect(claimManualResetCooldowns(config, "a", START + 1)).toEqual([]); + }, + ); + test("recovers cooled A independently while ordinary routing only selects B", async () => { const config = makeConfig(); saveCredential("a"); diff --git a/tests/codex-integration/codex-inject-integration.test.ts b/tests/codex-integration/codex-inject-integration.test.ts index 3a5345098e1..827251129e8 100644 --- a/tests/codex-integration/codex-inject-integration.test.ts +++ b/tests/codex-integration/codex-inject-integration.test.ts @@ -879,6 +879,202 @@ describe("injectCodexConfig integration (Design B)", () => { expect(restored).toContain('model = "gpt-5.5"'); }); + test("client compaction opt-in (#3978): writes an authenticated provider table and returns to Design B", () => { + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); + + const enabled = runInject(codexHome, ocxHome, JSON.stringify({ codexClientCompaction: true })); + expect(enabled.status).toBe(0); + expect(String(JSON.parse(enabled.stdout).message)).toContain("client-side compaction mode"); + const providerTable = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(providerTable).toContain('model_provider = "opencodex"'); + expect(providerTable).toContain("[model_providers.opencodex]"); + expect(providerTable).toContain("requires_openai_auth = true"); + expect(providerTable).not.toContain("requires_openai_auth = false"); + // The root override is retained next to the table, which is what keeps threads still tagged + // `openai` resolving to this proxy instead of to api.openai.com. + expect(providerTable).toContain('openai_base_url = "http://127.0.0.1:10100/v1"'); + + expect(runInject(codexHome, ocxHome).status).toBe(0); + const designB = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(designB).toContain(DESIGN_B_BLOCK); + expect(designB).not.toContain("[model_providers.opencodex]"); + expect(designB).not.toContain('model_provider = "opencodex"'); + // Disabling leaves exactly one root override, not the table form's copy plus a new one. + expect(designB.match(/openai_base_url/g)?.length).toBe(1); + }); + + test("client compaction never replaces a user-owned root override", () => { + // The retention is marker-owned like every other injected root line. When the user owns + // that line, nothing is injected and their destination stands. The guarantee that an + // `openai`-tagged thread reaches this proxy therefore holds for the managed override only; + // a user pointing the built-in provider elsewhere keeps pointing it there. + const userOwned = 'openai_base_url = "https://user.example/v1"\nmodel = "gpt-5.5"\n'; + writeFileSync(join(codexHome, "config.toml"), userOwned, "utf8"); + + const enabled = runInject(codexHome, ocxHome, JSON.stringify({ codexClientCompaction: true })); + expect(enabled.status).toBe(0); + + const config = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(config).toContain('openai_base_url = "https://user.example/v1"'); + expect(config).not.toContain('openai_base_url = "http://127.0.0.1:10100/v1"'); + expect(config.match(/openai_base_url/g)?.length).toBe(1); + // The opt-in itself still applies: new threads default to the proxy provider. + expect(config).toContain('model_provider = "opencodex"'); + expect(config).toContain("[model_providers.opencodex]"); + // The user's line must never be journaled as ours, or a later restore would strip it. + const journal = JSON.parse(readFileSync(join(codexHome, "opencodex-journal.json"), "utf8")); + expect(journal.injectedOpenaiBaseUrl).toBeNull(); + + // The reported result has to match the file that was just written. The old root-only + // warning claimed nothing was injected and told the operator to delete a valid setting, + // while the history line claimed those threads still reached the proxy. Both were wrong + // for this mixed configuration. + const message = String(JSON.parse(enabled.stdout).message); + expect(message).toContain("Injected opencodex as default provider"); + expect(message).not.toContain("Codex routing NOT injected"); + expect(message).not.toContain("remove your openai_base_url line"); + expect(message).toContain("left exactly as you set it"); + expect(message).toContain("follow your own root openai_base_url, not the proxy"); + }); + + test("the managed override keeps reporting proxy routing for existing threads", () => { + // Control for the case above: with no user-owned line, opencodex writes the root override + // itself, so the proxy claim is accurate and the root-only warning must not appear. + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); + + const enabled = runInject(codexHome, ocxHome, JSON.stringify({ codexClientCompaction: true })); + expect(enabled.status).toBe(0); + + const config = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(config).toContain('openai_base_url = "http://127.0.0.1:10100/v1"'); + + const message = String(JSON.parse(enabled.stdout).message); + expect(message).toContain("keep reaching the proxy through the retained openai_base_url override"); + expect(message).not.toContain("Codex routing NOT injected"); + expect(message).not.toContain("not the proxy"); + }); + + test("the retained root override is journaled so a comment-dropping rewrite can still restore", () => { + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); + expect(runInject(codexHome, ocxHome, JSON.stringify({ codexClientCompaction: true })).status).toBe(0); + + // The marker comment is not durable: the app can reserialize config.toml and drop comments, + // after which only the journaled value distinguishes our line from a user's (#1798). + const journal = JSON.parse(readFileSync(join(codexHome, "opencodex-journal.json"), "utf8")); + expect(journal.injectedOpenaiBaseUrl).toBe("http://127.0.0.1:10100/v1"); + + const rewritten = readFileSync(join(codexHome, "config.toml"), "utf8") + .split("\n").filter(line => !line.startsWith("#")).join("\n"); + writeFileSync(join(codexHome, "config.toml"), rewritten, "utf8"); + expect(runRestore(codexHome, ocxHome).status).toBe(0); + const restored = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(restored).not.toContain("openai_base_url"); + expect(restored).not.toContain("[model_providers.opencodex]"); + }); + + test("authless together with client compaction keeps the authless form, root key and all", () => { + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); + const sessionsDir = join(codexHome, "sessions"); + mkdirSync(sessionsDir, { recursive: true }); + const rolloutPath = join(sessionsDir, "rollout-authless.jsonl"); + writeFileSync(rolloutPath, `${JSON.stringify({ + type: "session_meta", + payload: { id: "thread-authless", model_provider: "openai" }, + })}\n`, "utf8"); + const db = new Database(join(codexHome, "state_5.sqlite")); + db.run(`CREATE TABLE threads ( + id TEXT PRIMARY KEY, rollout_path TEXT NOT NULL, model_provider TEXT NOT NULL, + source TEXT, first_user_message TEXT, has_user_event INTEGER + )`); + db.run("INSERT INTO threads VALUES ('thread-authless', ?, 'openai', 'cli', 'hello', 1)", rolloutPath); + db.close(); + + const enabled = runInject(codexHome, ocxHome, JSON.stringify({ + codexClientCompaction: true, + codexDesktopAuthless: true, + })); + expect(enabled.status).toBe(0); + + // Authless is the stronger form and cannot carry the root key, so it keeps its existing + // shape: no root override, and resume history is forward-tagged with originals backed up. + const config = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(config).toContain("requires_openai_auth = false"); + expect(config).not.toContain("openai_base_url"); + const verifier = new Database(join(codexHome, "state_5.sqlite"), { readonly: true }); + expect(verifier.query("SELECT model_provider FROM threads WHERE id = 'thread-authless'").get()) + .toEqual({ model_provider: "opencodex" }); + verifier.close(); + }); + test("client compaction opt-in leaves pre-existing ocx1 resume history byte-for-byte unchanged", () => { + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); + const sessionsDir = join(codexHome, "sessions"); + mkdirSync(sessionsDir, { recursive: true }); + const rolloutPath = join(sessionsDir, "rollout-ocx1.jsonl"); + const rollout = `${JSON.stringify({ + type: "compacted", + payload: { + replacement_history: [{ + type: "compaction", + encrypted_content: "ocx1:cG9ydGFibGUgc3VtbWFyeQ==", + }], + }, + })}\n`; + writeFileSync(rolloutPath, rollout, "utf8"); + const db = new Database(join(codexHome, "state_5.sqlite")); + db.run(`CREATE TABLE threads ( + id TEXT PRIMARY KEY, rollout_path TEXT NOT NULL, model_provider TEXT NOT NULL, + source TEXT, first_user_message TEXT, has_user_event INTEGER + )`); + db.run("INSERT INTO threads VALUES ('thread-ocx1', ?, 'opencodex', 'cli', 'hello', 1)", rolloutPath); + db.close(); + + const enabled = runInject(codexHome, ocxHome, JSON.stringify({ codexClientCompaction: true })); + expect(enabled.status).toBe(0); + expect(String(JSON.parse(enabled.stdout).message)).toContain("left unchanged"); + expect(readFileSync(rolloutPath, "utf8")).toBe(rollout); + const verifier = new Database(join(codexHome, "state_5.sqlite"), { readonly: true }); + expect(verifier.query("SELECT model_provider FROM threads WHERE id = 'thread-ocx1'").get()) + .toEqual({ model_provider: "opencodex" }); + verifier.close(); + }); + + test("client compaction opt-in keeps existing Design B threads routed without touching history", () => { + writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); + const sessionsDir = join(codexHome, "sessions"); + mkdirSync(sessionsDir, { recursive: true }); + const rolloutPath = join(sessionsDir, "rollout-designb.jsonl"); + const rollout = `${JSON.stringify({ + type: "session_meta", + payload: { id: "thread-designb", model_provider: "openai" }, + })}\n`; + writeFileSync(rolloutPath, rollout, "utf8"); + const db = new Database(join(codexHome, "state_5.sqlite")); + db.run(`CREATE TABLE threads ( + id TEXT PRIMARY KEY, rollout_path TEXT NOT NULL, model_provider TEXT NOT NULL, + source TEXT, first_user_message TEXT, has_user_event INTEGER + )`); + db.run("INSERT INTO threads VALUES ('thread-designb', ?, 'openai', 'cli', 'hello', 1)", rolloutPath); + db.close(); + + const enabled = runInject(codexHome, ocxHome, JSON.stringify({ codexClientCompaction: true })); + expect(enabled.status).toBe(0); + + // The thread stays tagged `openai` and its rollout is untouched. It keeps reaching the proxy + // because the injection retains the root override next to the provider table, so codex's + // built-in `openai` entry still resolves to this proxy. Re-tagging would have been the other + // way to keep it routed, but the length-preserving first-line repair cannot grow "openai" + // into "opencodex", and codex re-appends that stale first line on its next metadata write. + const config = readFileSync(join(codexHome, "config.toml"), "utf8"); + expect(config).toContain('model_provider = "opencodex"'); + expect(config).toContain("[model_providers.opencodex]"); + expect(config).toContain("openai_base_url"); + expect(readFileSync(rolloutPath, "utf8")).toBe(rollout); + const verifier = new Database(join(codexHome, "state_5.sqlite"), { readonly: true }); + expect(verifier.query("SELECT model_provider FROM threads WHERE id = 'thread-designb'").get()) + .toEqual({ model_provider: "openai" }); + verifier.close(); + }); + test("authless Desktop opt-in never weakens non-loopback admission", () => { writeFileSync(join(codexHome, "config.toml"), 'model = "gpt-5.5"\n', "utf8"); diff --git a/tests/codex-integration/codex-inject.test.ts b/tests/codex-integration/codex-inject.test.ts index de87f137256..eb0ad6b7c15 100644 --- a/tests/codex-integration/codex-inject.test.ts +++ b/tests/codex-integration/codex-inject.test.ts @@ -108,6 +108,56 @@ describe("Codex config injection", () => { }); }); + describe("Codex client compaction opt-in (#3978)", () => { + test.each([undefined, false])("disabled preference %s keeps authenticated loopback on Design B", (codexClientCompaction) => { + const target = standaloneCodexRoutingTarget(10100, { codexClientCompaction }); + expect(target.clientCompaction).toBeUndefined(); + expect(buildProfileFile(target, null)).toBe(buildProfileFile(10100, null)); + }); + + test("loopback opt-in selects the dedicated provider without disabling ChatGPT auth", () => { + const target = standaloneCodexRoutingTarget(10100, { codexClientCompaction: true }); + expect(target).toMatchObject({ + requiresAdmissionToken: false, + clientCompaction: true, + }); + expect(target.desktopAuthless).toBeUndefined(); + + const profile = buildProfileFile(target, "/tmp/opencodex-catalog.json"); + expect(profile).toContain('model_provider = "opencodex"'); + expect(profile).toContain("requires_openai_auth = true"); + // The reference profile documents the provider table only. The root override that keeps + // existing `openai`-tagged threads on the proxy is a config.toml global, not a profile + // key, so the injected config carries it and this file does not. + expect(profile).not.toContain("openai_base_url"); + // The dedicated provider-table form cannot carry the realtime voice + // sideband (it needs the admission-token header): opting in must not + // inject experimental_realtime_ws_base_url. + expect(profile).not.toContain("experimental_realtime_ws_base_url"); + }); + + test("authless remains the stronger provider-table policy when both preferences are enabled", () => { + const target = standaloneCodexRoutingTarget(10100, { + codexClientCompaction: true, + codexDesktopAuthless: true, + }); + const profile = buildProfileFile(target, null); + expect(profile).toContain('model_provider = "opencodex"'); + expect(profile).toContain("requires_openai_auth = false"); + }); + + test("non-loopback admission remains token-protected", () => { + const target = standaloneCodexRoutingTarget(10100, { + hostname: "192.168.1.20", + codexClientCompaction: true, + }); + expect(target.requiresAdmissionToken).toBe(true); + const profile = buildProfileFile(target, null); + expect(profile).toContain('env_key = "OPENCODEX_API_AUTH_TOKEN"'); + expect(profile).toContain("requires_openai_auth = true"); + }); + }); + test("explicit HTTPS target emits exact provider destination and admission env", () => { const target = { baseUrl: "https://hub.example.test/v1", diff --git a/tests/codex-integration/codex-journal.test.ts b/tests/codex-integration/codex-journal.test.ts index 3b46be997af..05d6d14e37a 100644 --- a/tests/codex-integration/codex-journal.test.ts +++ b/tests/codex-integration/codex-journal.test.ts @@ -56,6 +56,224 @@ describe("codex-journal", () => { expect(out.hasPid).toBe(true); }); + test("hashless interrupted snapshot preserves later native config edits", () => { + const edited = '# current user settings\nmodel_provider = "openai"\nmodel = "user-selected-model"\n'; + const r = runScript(testDir, ` + const fs = require("node:fs"); + const path = require("node:path"); + const { writeJournal, restoreJournalState } = require("./src/codex/journal"); + const configPath = path.join(process.env.CODEX_HOME, "config.toml"); + const journalPath = path.join(process.env.CODEX_HOME, "opencodex-journal.json"); + writeJournal(); + const before = fs.readFileSync(journalPath, "utf8"); + fs.writeFileSync(configPath, ${JSON.stringify(edited)}); + const result = restoreJournalState(); + console.log(JSON.stringify({ result, config: fs.readFileSync(configPath, "utf8"), + journalPreserved: fs.existsSync(journalPath) && fs.readFileSync(journalPath, "utf8") === before })); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.config).toBe(edited); + expect(out.result.configRestored).toBe(false); + expect(out.result.complete).toBe(false); + expect(out.journalPreserved).toBe(true); + }); + + test("hashless interrupted snapshot preserves a later profile", () => { + const edited = 'model_provider = "openai"\nmodel = "user-profile-model"\n'; + const r = runScript(testDir, ` + const fs = require("node:fs"); + const path = require("node:path"); + const { writeJournal, restoreJournalState } = require("./src/codex/journal"); + const profilePath = path.join(process.env.CODEX_HOME, "opencodex.config.toml"); + const journalPath = path.join(process.env.CODEX_HOME, "opencodex-journal.json"); + writeJournal(); + const before = fs.readFileSync(journalPath, "utf8"); + fs.writeFileSync(profilePath, ${JSON.stringify(edited)}); + const result = restoreJournalState(); + console.log(JSON.stringify({ result, profile: fs.existsSync(profilePath) ? fs.readFileSync(profilePath, "utf8") : null, + journalPreserved: fs.existsSync(journalPath) && fs.readFileSync(journalPath, "utf8") === before })); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.profile).toBe(edited); + expect(out.result.profileRestored).toBe(false); + expect(out.result.complete).toBe(false); + expect(out.journalPreserved).toBe(true); + }); + + test("hashless already-original snapshot completes without rewriting config", () => { + const r = runScript(testDir, ` + const { spyOn } = require("bun:test"); + const config = require("./src/config"); + const { writeJournal, restoreJournalState } = require("./src/codex/journal"); + writeJournal(); + const originalWrite = config.atomicWriteFile; + let writes = 0; + const spy = spyOn(config, "atomicWriteFile").mockImplementation((...args) => { + writes += 1; + return originalWrite(...args); + }); + try { console.log(JSON.stringify({ result: restoreJournalState(), writes })); } + finally { spy.mockRestore(); } + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.result.complete).toBe(true); + expect(out.writes).toBe(0); + expect(existsSync(join(testDir, "opencodex-journal.json"))).toBe(false); + }); + + test("hashless snapshot distinguishes an empty original profile from absence", () => { + writeFileSync(join(testDir, "opencodex.config.toml"), "", "utf8"); + const r = runScript(testDir, ` + const fs = require("node:fs"); + const path = require("node:path"); + const { writeJournal, restoreJournalState } = require("./src/codex/journal"); + writeJournal(); + const journalPath = path.join(process.env.CODEX_HOME, "opencodex-journal.json"); + const profilePath = path.join(process.env.CODEX_HOME, "opencodex.config.toml"); + const journal = JSON.parse(fs.readFileSync(journalPath, "utf8")); + const result = restoreJournalState(); + console.log(JSON.stringify({ originalProfile: journal.originalProfile, result, + profileExists: fs.existsSync(profilePath), profile: fs.readFileSync(profilePath, "utf8"), + journalExists: fs.existsSync(journalPath) })); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.originalProfile).toBe(""); + expect(out.result.complete).toBe(true); + expect(out.profileExists).toBe(true); + expect(out.profile).toBe(""); + expect(out.journalExists).toBe(false); + }); + + test("hashless native restore refuses instead of reporting an uncertain snapshot as restored", () => { + const edited = '# current user settings\nmodel_provider = "openai"\nmodel = "user-selected-model"\n'; + const r = runScript(testDir, ` + const fs = require("node:fs"); + const path = require("node:path"); + const { writeJournal } = require("./src/codex/journal"); + const { restoreNativeCodex } = require("./src/codex/inject"); + const configPath = path.join(process.env.CODEX_HOME, "config.toml"); + const journalPath = path.join(process.env.CODEX_HOME, "opencodex-journal.json"); + writeJournal(); + const before = fs.readFileSync(journalPath, "utf8"); + fs.writeFileSync(configPath, ${JSON.stringify(edited)}); + const result = restoreNativeCodex(); + console.log(JSON.stringify({ result, config: fs.readFileSync(configPath, "utf8"), + journalPreserved: fs.existsSync(journalPath) && fs.readFileSync(journalPath, "utf8") === before })); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.result.success).toBe(false); + expect(out.result.artifacts.config.state).toBe("failed"); + expect(out.config).toBe(edited); + expect(out.journalPreserved).toBe(true); + }); + + test("hashless routed snapshot is not promoted by reinjection after user edits", () => { + const edited = '# current user settings\nmodel = "user-selected-model"\n# Auto-injected by opencodex\nopenai_base_url = "http://127.0.0.1:10100/v1"\n'; + const r = runScript(testDir, ` + const fs = require("node:fs"); + const path = require("node:path"); + const { writeJournal } = require("./src/codex/journal"); + const { injectCodexConfig } = require("./src/codex/inject"); + const configPath = path.join(process.env.CODEX_HOME, "config.toml"); + const profilePath = path.join(process.env.CODEX_HOME, "opencodex.config.toml"); + const journalPath = path.join(process.env.CODEX_HOME, "opencodex-journal.json"); + writeJournal(); + const before = fs.readFileSync(journalPath, "utf8"); + fs.writeFileSync(configPath, ${JSON.stringify(edited)}); + (async () => { + const config = { port: 10200, providers: {}, defaultProvider: "openai" }; + const preflight = await injectCodexConfig(10200, config, { catalogPath: null, validateOnly: true }); + const result = await injectCodexConfig(10200, config, { catalogPath: null }); + console.log(JSON.stringify({ preflight, result, config: fs.readFileSync(configPath, "utf8"), + profileCreated: fs.existsSync(profilePath), journal: JSON.parse(fs.readFileSync(journalPath, "utf8")), + journalPreserved: fs.readFileSync(journalPath, "utf8") === before })); + })(); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.preflight.success).toBe(false); + expect(out.result.success).toBe(false); + expect(out.config).toBe(edited); + expect(out.profileCreated).toBe(false); + expect(out.journal.injectedConfigHash).toBeUndefined(); + expect(out.journalPreserved).toBe(true); + }); + + test("hashless empty config snapshot does not recreate a later deleted file", () => { + writeFileSync(join(testDir, "config.toml"), "", "utf8"); + const r = runScript(testDir, ` + const fs = require("node:fs"); + const { CODEX_CONFIG_PATH } = require("./src/codex/paths"); + const { writeJournal, restoreJournalState, JOURNAL_PATH } = require("./src/codex/journal"); + writeJournal(); + fs.unlinkSync(CODEX_CONFIG_PATH); + console.log(JSON.stringify({ result: restoreJournalState(), configExists: fs.existsSync(CODEX_CONFIG_PATH), + journalExists: fs.existsSync(JOURNAL_PATH) })); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.configExists).toBe(false); + expect(out.journalExists).toBe(true); + expect(out.result.complete).toBe(false); + expect(out.result.unverified).toBe(true); + }); + + test("hashless client reconcile does not report an uncertain snapshot as restored", () => { + const edited = 'model_provider = "openai"\nmodel = "current-user-model"\n'; + const r = runScript(testDir, ` + const fs = require("node:fs"); + const { CODEX_CONFIG_PATH } = require("./src/codex/paths"); + const { writeJournal, reconcileJournal, JOURNAL_PATH } = require("./src/codex/journal"); + writeJournal({ owner: { kind: "client", apiKeyId: "previous-client" } }); + const before = fs.readFileSync(JOURNAL_PATH, "utf8"); + fs.writeFileSync(CODEX_CONFIG_PATH, ${JSON.stringify(edited)}); + const restored = reconcileJournal({ activeClientApiKeyId: "different-client" }); + console.log(JSON.stringify({ restored, config: fs.readFileSync(CODEX_CONFIG_PATH, "utf8"), + journalPreserved: fs.existsSync(JOURNAL_PATH) && fs.readFileSync(JOURNAL_PATH, "utf8") === before })); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.restored).toBe(false); + expect(out.config).toBe(edited); + expect(out.journalPreserved).toBe(true); + expect(r.stderr).toContain("recovery was not verified"); + expect(r.stderr).not.toContain("was restored from the Codex journal"); + }); + + test("hashless native edits become the new snapshot before a successful injection", () => { + const edited = 'model_provider = "openai"\nmodel = "current-user-model"\n'; + const profile = 'model_provider = "openai"\nmodel = "current-user-profile"\n'; + const r = runScript(testDir, ` + const fs = require("node:fs"); + const { CODEX_CONFIG_PATH, CODEX_PROFILE_PATH } = require("./src/codex/paths"); + const { writeJournal, restoreJournalState } = require("./src/codex/journal"); + const { injectCodexConfig } = require("./src/codex/inject"); + writeJournal(); + fs.writeFileSync(CODEX_CONFIG_PATH, ${JSON.stringify(edited)}); + fs.writeFileSync(CODEX_PROFILE_PATH, ${JSON.stringify(profile)}); + (async () => { + const config = { port: 10100, providers: {}, defaultProvider: "openai" }; + const preflight = await injectCodexConfig(10100, config, { catalogPath: null, validateOnly: true }); + const injected = await injectCodexConfig(10100, config, { catalogPath: null }); + const restored = restoreJournalState(); + console.log(JSON.stringify({ preflight, injected, restored, config: fs.readFileSync(CODEX_CONFIG_PATH, "utf8"), + profile: fs.readFileSync(CODEX_PROFILE_PATH, "utf8") })); + })(); + `); + expect(r.status).toBe(0); + const out = JSON.parse(r.stdout); + expect(out.preflight.success).toBe(true); + expect(out.injected.success).toBe(true); + expect(out.restored.complete).toBe(true); + expect(out.config).toBe(edited); + expect(out.profile).toBe(profile); + }); + test("reconcileJournal restores config when journaled PID is dead", () => { const journalPath = join(testDir, "opencodex-journal.json"); const original = "# original config\nmodel_provider = \"openai\"\n"; @@ -65,6 +283,8 @@ describe("codex-journal", () => { version: 1, originalConfig: Buffer.from(original).toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(modified).digest("hex"), + injectedProfileHash: null, pid: 999999, timestamp: new Date().toISOString(), }), "utf8"); @@ -136,6 +356,8 @@ describe("codex-journal", () => { version: 1, originalConfig: Buffer.from(original).toString("base64"), originalProfile: null, + injectedConfigHash: createHash("sha256").update(injected).digest("hex"), + injectedProfileHash: null, owner: { kind: "client", apiKeyId: "client-key-1" }, pid: 999999, timestamp: new Date().toISOString(), @@ -344,6 +566,11 @@ describe("codex-journal", () => { '' ].join("\\n"), "utf8"); fs.writeFileSync(path.join(process.env.CODEX_HOME, "opencodex.config.toml"), 'model_provider = "opencodex"\\n', "utf8"); + require("./src/codex/journal").markJournalInjectedState( + fs.readFileSync(path.join(process.env.CODEX_HOME, "config.toml"), "utf8"), + fs.readFileSync(path.join(process.env.CODEX_HOME, "opencodex.config.toml"), "utf8"), + { injectedOpenaiBaseUrl: null, injectedRealtimeWsBaseUrl: null, injectedCatalogPath: null }, + ); const result = restoreNativeCodex(); console.log(JSON.stringify({ success: result.success, message: result.message })); `); @@ -440,20 +667,21 @@ describe("codex-journal", () => { expect(existsSync(join(testDir, "opencodex-journal.json"))).toBe(true); }); - test("full lifecycle: write → crash → reconcile restores", () => { + test("full lifecycle: snapshot → mark injection → crash → reconcile restores", () => { const r = runScript(testDir, ` - const { writeJournal } = require("./src/codex/journal"); + const { writeJournal, markJournalInjectedState } = require("./src/codex/journal"); writeJournal(); + const injected = "# injected opencodex config\\n"; + require("node:fs").writeFileSync(require("./src/codex/paths").CODEX_CONFIG_PATH, injected); + markJournalInjectedState(injected, null, { + injectedOpenaiBaseUrl: null, injectedRealtimeWsBaseUrl: null, injectedCatalogPath: null, + }); console.log("written"); `); expect(r.status).toBe(0); const journalPath = join(testDir, "opencodex-journal.json"); expect(existsSync(journalPath)).toBe(true); - const journal = JSON.parse(readFileSync(journalPath, "utf8")); - - writeFileSync(join(testDir, "config.toml"), "# injected opencodex config\n", "utf8"); - const r2 = runScript(testDir, ` const { reconcileJournal } = require("./src/codex/journal"); const result = reconcileJournal(); diff --git a/tests/codex-integration/codex-metadata-integrity.test.ts b/tests/codex-integration/codex-metadata-integrity.test.ts index 09d12fc2827..972f9007607 100644 --- a/tests/codex-integration/codex-metadata-integrity.test.ts +++ b/tests/codex-integration/codex-metadata-integrity.test.ts @@ -223,6 +223,35 @@ describe("Codex request transport metadata", () => { expect(new Headers(dropped.headers).get(hintHeader)).toBe("model=gpt-5.6-sol"); }); + test("canonical adapter drops Lite only for the Spark wire model", async () => { + const adapter = createResponsesPassthroughAdapter({ + adapter: "openai-responses", authMode: "forward", baseUrl: "https://chatgpt.com/backend-api/codex", + headers: { "X-OpenAI-Internal-Codex-Responses-Lite": "true" }, + }); + + for (const [model, incomingLite, expectedLite] of [ + ["gpt-5.3-codex-spark", "true", null], + ["gpt-5.3-codex-spark", undefined, null], + ["gpt-5.6-sol", "true", "true"], + ] as const) { + const parsed = minimalParsed(); + parsed.modelId = model; + parsed._rawBody = { model, input: [], stream: true }; + const incoming = new Headers(); + if (incomingLite !== undefined) incoming.set(liteHeader, incomingLite); + const request = await adapter.buildRequest(parsed, { + headers: incoming, + }); + expect(new Headers(request.headers).get(liteHeader)).toBe(expectedLite); + } + + const routed = minimalParsed(); + routed.modelId = "spark-alias"; + routed._rawBody = { model: "gpt-5.3-codex-spark", input: [], stream: true }; + const request = await adapter.buildRequest(routed, { headers: new Headers({ [liteHeader]: "true" }) }); + expect(new Headers(request.headers).get(liteHeader)).toBeNull(); + }); + test("noncanonical adapters neither forward caller Lite nor synthesize a routing hint", async () => { for (const authMode of ["forward", "key"] as const) { const adapter = createResponsesPassthroughAdapter({ diff --git a/tests/codex-integration/codex-models-cache-invalidate.test.ts b/tests/codex-integration/codex-models-cache-invalidate.test.ts index bd423e78321..b644740e40e 100644 --- a/tests/codex-integration/codex-models-cache-invalidate.test.ts +++ b/tests/codex-integration/codex-models-cache-invalidate.test.ts @@ -6,12 +6,13 @@ import { invalidateCodexModelsCache } from "../../src/codex/catalog"; import { invalidateCodexModelsCacheWithPermit } from "../../src/codex/catalog/sync"; import { withCatalogWriteSerialization } from "../../src/codex/catalog-write-serialization"; import { - afterCatalogWriteHandleAppServers, - collectCodexAppServerCatalogState, + collectCodexAppServerCatalogStateForRequest, resetCodexAppServerCatalogStateCache, + afterCatalogWriteHandleAppServers, } from "../../src/codex/app-server-processes"; import { refreshCodexModelCatalog } from "../../src/codex/refresh"; import { syncModelsToCodex } from "../../src/codex/sync"; +import { flushConfigDirHardening } from "../../src/config/paths"; import type { OcxConfig } from "../../src/types"; import { removeTreeWithRetry } from "../helpers/remove-tree"; @@ -36,7 +37,9 @@ describe("invalidateCodexModelsCache write gate (#476 / #518)", () => { process.env.OPENCODEX_HOME = opencodexHome; }); - afterEach(() => { + afterEach(async () => { + await flushConfigDirHardening(opencodexHome); + resetCodexAppServerCatalogStateCache(); if (previousCodexHome === undefined) delete process.env.CODEX_HOME; else process.env.CODEX_HOME = previousCodexHome; if (previousOpenCodexHome === undefined) delete process.env.OPENCODEX_HOME; @@ -302,38 +305,43 @@ describe("invalidateCodexModelsCache write gate (#476 / #518)", () => { expect(errors).toEqual([]); expect(logs).toEqual([]); }); - test("sync invalidates a cached not-running observation before a catalog write", async () => { let snapshots: Array<{ pid: number; commandLine: string }> = []; const io = { - platform: "linux" as const, - listSnapshots: () => snapshots, - readStartMs: () => 1_000, + platform: "win32" as const, + now: () => 3_000, + listSnapshotsAsync: async () => snapshots, + readStartMsBatchAsync: async (pids: readonly number[]) => new Map(pids.map(pid => [pid, 1_000])), catalogMtimeMs: () => 2_000, }; resetCodexAppServerCatalogStateCache(); - expect(collectCodexAppServerCatalogState(io).state).toBe("not_running"); + expect((await collectCodexAppServerCatalogStateForRequest(io)).state).toBe("not_running"); snapshots = [{ pid: 42, commandLine: "codex app-server" }]; + // Prove the real request cache is warm; injected synchronous IO bypasses it. + expect((await collectCodexAppServerCatalogStateForRequest(io)).state).toBe("not_running"); writeFileSync(join(codexHome, "opencodex-catalog.json"), JSON.stringify({ models: [{ slug: "gpt-5.5" }] })); expect(invalidateCodexModelsCache({ allowWhenDesiredDisabled: true })).toBe(true); - expect(collectCodexAppServerCatalogState(io).state).toBe("stale"); + expect((await collectCodexAppServerCatalogStateForRequest(io)).state).toBe("stale"); }); test("sync invalidates cached process state even when catalog refresh is a no-op", async () => { let snapshots: Array<{ pid: number; commandLine: string }> = []; const io = { - platform: "linux" as const, - listSnapshots: () => snapshots, - readStartMs: () => 1_000, + platform: "win32" as const, + now: () => 3_000, + listSnapshotsAsync: async () => snapshots, + readStartMsBatchAsync: async (pids: readonly number[]) => new Map(pids.map(pid => [pid, 1_000])), catalogMtimeMs: () => 2_000, }; resetCodexAppServerCatalogStateCache(); - expect(collectCodexAppServerCatalogState(io).state).toBe("not_running"); + expect((await collectCodexAppServerCatalogStateForRequest(io)).state).toBe("not_running"); snapshots = [{ pid: 42, commandLine: "codex app-server" }]; + // Prove the real request cache is warm; injected synchronous IO bypasses it. + expect((await collectCodexAppServerCatalogStateForRequest(io)).state).toBe("not_running"); - await syncModelsToCodex(10100, emptyConfig, null, { + await syncModelsToCodex(19107, emptyConfig, null, { refreshCodexModelCatalog: async () => ({ added: 0, path: join(codexHome, "opencodex-catalog.json"), @@ -346,6 +354,6 @@ describe("invalidateCodexModelsCache write gate (#476 / #518)", () => { currentExternalCodexModelProvider: () => null, }); - expect(collectCodexAppServerCatalogState(io).state).toBe("stale"); + expect((await collectCodexAppServerCatalogStateForRequest(io)).state).toBe("stale"); }); }); diff --git a/tests/codex-integration/codex-prompt-route.test.ts b/tests/codex-integration/codex-prompt-route.test.ts index ef862f58e27..feb38632db2 100644 --- a/tests/codex-integration/codex-prompt-route.test.ts +++ b/tests/codex-integration/codex-prompt-route.test.ts @@ -15,6 +15,7 @@ import { LAYER_INVENTORY, readPromptLayers } from "../../src/codex/prompt-layers import { promptTextProbeSpawnAttemptsForTests, resetPromptTextProbeForTests, + setPromptTextProbeCloseBarrierForTests, setPromptTextProbeCommandForTests, } from "../../src/codex/prompt-text-probe"; import type { ManagementPrincipal } from "../../src/server/management-auth"; @@ -144,6 +145,33 @@ async function revision(fx: Fixture): Promise<string> { return res.body.revision as string; } +/** Hold admission through the edit even if the fixture child has already exited. */ +async function withHeldPromptProbeClose( + fx: Fixture, + whileHeld: () => Promise<void>, +): Promise<Awaited<ReturnType<typeof call>>> { + let releaseClose!: () => void; + setPromptTextProbeCloseBarrierForTests(new Promise<void>(resolve => { + releaseClose = resolve; + })); + // Observe an early request failure while the held-phase assertions are running. + const pending = call("GET", "/api/codex-prompt/text", fx).then( + response => ({ response }), + (error: unknown) => ({ error }), + ); + try { + await whileHeld(); + } finally { + // Clearing the seam alone cannot release a barrier the close handler captured. + releaseClose(); + setPromptTextProbeCloseBarrierForTests(null); + await pending; + } + const outcome = await pending; + if ("error" in outcome) throw outcome.error; + return outcome.response; +} + afterEach(async () => { await resetPromptTextProbeForTests(); while (roots.length) removeTreeWithRetry(roots.pop()!); @@ -880,21 +908,22 @@ describe("020 coverage completions", () => { binary: process.execPath, args: ["-e", [ `require("node:fs").writeFileSync(${JSON.stringify(startedPath)}, "started");`, - `setTimeout(() => process.stdout.write(${JSON.stringify(probeOutput)}), 200);`, + `process.stdout.write(${JSON.stringify(probeOutput)});`, ].join("")], }); - const beforeWrite = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "pre-write probe start"); - writeFileSync(fx.configPath, "include_apps_instructions = true\n", "utf8"); + const beforeWrite = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "pre-write probe start"); + writeFileSync(fx.configPath, "include_apps_instructions = true\n", "utf8"); - const afterWrite = await call("GET", "/api/codex-prompt/text", fx); - expect(afterWrite.body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + const afterWrite = await call("GET", "/api/codex-prompt/text", fx); + expect(afterWrite.body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeWrite).body.ok).toBe(true); + expect(beforeWrite.body.ok).toBe(true); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.ok).toBe(true); @@ -918,27 +947,28 @@ describe("020 coverage completions", () => { `const prompt = fs.readFileSync(${JSON.stringify(selectedPath)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + prompt + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); const revisionBeforeEdit = await revision(fx); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "selected-variant probe start"); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "selected-variant probe start"); - const edited = await call("PUT", "/api/codex-prompt/base", fx, { - id, title: "New", body: "new-body", revision: revisionBeforeEdit, - }); - expect(edited.status).toBe(200); - expect(await revision(fx)).toBe(revisionBeforeEdit); + const edited = await call("PUT", "/api/codex-prompt/base", fx, { + id, title: "New", body: "new-body", revision: revisionBeforeEdit, + }); + expect(edited.status).toBe(200); + expect(await revision(fx)).toBe(revisionBeforeEdit); - const afterEdit = await call("GET", "/api/codex-prompt/text", fx); - expect(afterEdit.body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + const afterEdit = await call("GET", "/api/codex-prompt/text", fx); + expect(afterEdit.body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("# Old\nold-body"); + expect(beforeEdit.body.layers.skills.text).toBe("# Old\nold-body"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("# New\nnew-body"); @@ -968,24 +998,25 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(agentsPath)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), `${instructionFile} probe start`); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), `${instructionFile} probe start`); - // Nothing opencodex owns has changed: no config write, no store write, so - // the transaction revision and the selected base are identical here. - writeFileSync(agentsPath, "new-agent-text", "utf8"); + // Nothing opencodex owns has changed: no config write, no store write, so + // the transaction revision and the selected base are identical here. + writeFileSync(agentsPath, "new-agent-text", "utf8"); - const afterEdit = await call("GET", "/api/codex-prompt/text", fx); - expect(afterEdit.body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + const afterEdit = await call("GET", "/api/codex-prompt/text", fx); + expect(afterEdit.body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-agent-text"); + expect(beforeEdit.body.layers.skills.text).toBe("old-agent-text"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("new-agent-text"); @@ -1006,33 +1037,35 @@ describe("020 coverage completions", () => { `const doc = fs.existsSync(${JSON.stringify(agentsPath)}) ? fs.readFileSync(${JSON.stringify(agentsPath)}, "utf8") : "\\u0000absent";`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); // absent -> present must move the key, so a probe started with no AGENTS.md // cannot be joined once one exists. - const beforeCreate = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "absent-state probe start"); - writeFileSync(agentsPath, "created-text", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + const beforeCreate = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "absent-state probe start"); + writeFileSync(agentsPath, "created-text", "utf8"); + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); }); - expect((await beforeCreate).body.layers.skills.text).toBe("\u0000absent"); + expect(beforeCreate.body.layers.skills.text).toBe("\u0000absent"); const present = await call("GET", "/api/codex-prompt/text", fx); expect(present.body.layers.skills.text).toBe("created-text"); // present -> absent is the same requirement in reverse. - const beforeDelete = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => readFileSync(startedPath, "utf8").trim().split(/\r?\n/).length === 3, "present-state probe start"); - rmSync(agentsPath); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + const beforeDelete = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => readFileSync(startedPath, "utf8").trim().split(/\r?\n/).length === 3, "present-state probe start"); + rmSync(agentsPath); + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); }); - expect((await beforeDelete).body.layers.skills.text).toBe("created-text"); + expect(beforeDelete.body.layers.skills.text).toBe("created-text"); }); /** @@ -1065,21 +1098,22 @@ describe("020 coverage completions", () => { `const doc = fs.existsSync(p) ? "present:" + fs.readFileSync(p, "utf8") : "missing";`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeTransition = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "transition probe start"); - if (transition.after === null) rmSync(agentsPath); - else writeFileSync(agentsPath, transition.after, "utf8"); + const beforeTransition = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "transition probe start"); + if (transition.after === null) rmSync(agentsPath); + else writeFileSync(agentsPath, transition.after, "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeTransition).body.layers.skills.text).toBe(`present:${transition.before}`); + expect(beforeTransition.body.layers.skills.text).toBe(`present:${transition.before}`); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe(transition.after === null ? "missing" : `present:${transition.after}`); @@ -1104,24 +1138,25 @@ describe("020 coverage completions", () => { `const doc = read(${JSON.stringify(overridePath)}) + "|" + read(${JSON.stringify(agentsPath)});`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeShift = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "framing probe start"); + const beforeShift = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "framing probe start"); - // Move the boundary: the concatenation of (name, contents) is byte-identical - // across this edit, so only a length-framed field distinguishes the two states. - writeFileSync(overridePath, "left\nAGENTS.md:right", "utf8"); - writeFileSync(agentsPath, "tail", "utf8"); + // Move the boundary: the concatenation of (name, contents) is byte-identical + // across this edit, so only a length-framed field distinguishes the two states. + writeFileSync(overridePath, "left\nAGENTS.md:right", "utf8"); + writeFileSync(agentsPath, "tail", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeShift).body.layers.skills.text).toBe("left|right\nAGENTS.md:tail"); + expect(beforeShift.body.layers.skills.text).toBe("left|right\nAGENTS.md:tail"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("left\nAGENTS.md:right|tail"); @@ -1157,20 +1192,21 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(externalPath)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "external base probe start"); - writeFileSync(externalPath, "new-external", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "external base probe start"); + writeFileSync(externalPath, "new-external", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-external"); + expect(beforeEdit.body.layers.skills.text).toBe("old-external"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("new-external"); @@ -1197,20 +1233,21 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(externalPath)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "relative base probe start"); - writeFileSync(externalPath, "new-relative", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "relative base probe start"); + writeFileSync(externalPath, "new-relative", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-relative"); + expect(beforeEdit.body.layers.skills.text).toBe("old-relative"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("new-relative"); @@ -1249,20 +1286,21 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(teamPath)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "fallback doc probe start"); - writeFileSync(teamPath, "new-team", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "fallback doc probe start"); + writeFileSync(teamPath, "new-team", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-team"); + expect(beforeEdit.body.layers.skills.text).toBe("old-team"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("new-team"); @@ -1297,21 +1335,22 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(parentDoc)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); const nested: Fixture = { ...fx, decoyHome: nestedHome }; - const beforeEdit = call("GET", "/api/codex-prompt/text", nested); - await waitUntil(() => existsSync(startedPath), "parent doc probe start"); - writeFileSync(parentDoc, "new-parent", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(nested, async () => { + await waitUntil(() => existsSync(startedPath), "parent doc probe start"); + writeFileSync(parentDoc, "new-parent", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", nested)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", nested)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-parent"); + expect(beforeEdit.body.layers.skills.text).toBe("old-parent"); const fresh = await call("GET", "/api/codex-prompt/text", nested); expect(fresh.body.layers.skills.text).toBe("new-parent"); @@ -1338,21 +1377,22 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(parentDoc)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); const nested: Fixture = { ...fx, decoyHome: nestedHome }; - const beforeEdit = call("GET", "/api/codex-prompt/text", nested); - await waitUntil(() => existsSync(startedPath), "marker doc probe start"); - writeFileSync(parentDoc, "new-marker", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(nested, async () => { + await waitUntil(() => existsSync(startedPath), "marker doc probe start"); + writeFileSync(parentDoc, "new-marker", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", nested)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", nested)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-marker"); + expect(beforeEdit.body.layers.skills.text).toBe("old-marker"); const fresh = await call("GET", "/api/codex-prompt/text", nested); expect(fresh.body.layers.skills.text).toBe("new-marker"); @@ -1385,20 +1425,21 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(teamPath)}, "utf8");`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "unparseable-config probe start"); - writeFileSync(teamPath, "new-unparseable", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "unparseable-config probe start"); + writeFileSync(teamPath, "new-unparseable", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-unparseable"); + expect(beforeEdit.body.layers.skills.text).toBe("old-unparseable"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("new-unparseable"); @@ -1422,20 +1463,21 @@ describe("020 coverage completions", () => { `const doc = fs.readFileSync(${JSON.stringify(manifest)}, "utf8").match(/description: (.*)/)[1];`, `fs.appendFileSync(${JSON.stringify(startedPath)}, "1\\n");`, `const output = JSON.stringify([{type:"message",role:"developer",content:[{type:"input_text",text:"<skills_instructions>" + doc + "</skills_instructions>"}]}]);`, - "setTimeout(() => process.stdout.write(output), 200);", + "process.stdout.write(output);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", source] }); - const beforeEdit = call("GET", "/api/codex-prompt/text", fx); - await waitUntil(() => existsSync(startedPath), "skill manifest probe start"); - writeFileSync(manifest, "---\nname: probe-skill\ndescription: new-skill-text\n---\n", "utf8"); + const beforeEdit = await withHeldPromptProbeClose(fx, async () => { + await waitUntil(() => existsSync(startedPath), "skill manifest probe start"); + writeFileSync(manifest, "---\nname: probe-skill\ndescription: new-skill-text\n---\n", "utf8"); - expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ - ok: false, - detail: "another prompt probe is still finishing; retry shortly", + expect((await call("GET", "/api/codex-prompt/text", fx)).body).toMatchObject({ + ok: false, + detail: "another prompt probe is still finishing; retry shortly", + }); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); }); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - expect((await beforeEdit).body.layers.skills.text).toBe("old-skill-text"); + expect(beforeEdit.body.layers.skills.text).toBe("old-skill-text"); const fresh = await call("GET", "/api/codex-prompt/text", fx); expect(fresh.body.layers.skills.text).toBe("new-skill-text"); diff --git a/tests/codex-integration/codex-prompt-text-probe.test.ts b/tests/codex-integration/codex-prompt-text-probe.test.ts index 363bcc47985..32b01eac3c9 100644 --- a/tests/codex-integration/codex-prompt-text-probe.test.ts +++ b/tests/codex-integration/codex-prompt-text-probe.test.ts @@ -6,8 +6,8 @@ * that a missing body is attributed to the right cause, because the dialog shows * that attribution to a user as an explanation. */ -import { afterEach, describe, expect, test } from "bun:test"; -import { existsSync, mkdtempSync, readFileSync} from "node:fs"; +import { afterEach, describe, expect, spyOn, test } from "bun:test"; +import { existsSync, mkdtempSync, readFileSync, renameSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { @@ -41,7 +41,30 @@ async function waitUntil(predicate: () => boolean, detail: string): Promise<void } } +function requireProcessId(value: number): number { + if (!Number.isSafeInteger(value) || value <= 0) throw new Error("invalid published process id"); + return value; +} + +function readPublishedPid(path: string): number | undefined { + if (!existsSync(path)) return undefined; + const value = readFileSync(path, "utf8").trim(); + if (!/^\d+$/.test(value)) throw new Error("invalid published process id"); + return requireProcessId(Number(value)); +} + +async function waitForPublishedPid(path: string, detail: string): Promise<number> { + let pid: number | undefined; + await waitUntil(() => (pid = readPublishedPid(path)) !== undefined, detail); + return pid!; +} + +function publishPidSource(path: string): string { + return `const fs = require("node:fs"); const marker = ${JSON.stringify(path)}; const temporary = marker + "." + process.pid + ".tmp"; fs.writeFileSync(temporary, String(process.pid)); fs.renameSync(temporary, marker);`; +} + function isProcessAlive(pid: number): boolean { + requireProcessId(pid); try { process.kill(pid, 0); return true; @@ -61,6 +84,33 @@ afterEach(async () => { while (lifecycleRoots.length) removeTreeWithRetry(lifecycleRoots.pop()!); }); +test("PID markers are invisible until complete atomic publication", () => { + const marker = join(root(), "pid.txt"); + const temporary = marker + ".tmp"; + writeFileSync(temporary, "12"); + expect(readPublishedPid(marker)).toBeUndefined(); + writeFileSync(temporary, String(process.pid)); + renameSync(temporary, marker); + expect(readPublishedPid(marker)).toBe(process.pid); +}); + +test("malformed published PIDs never reach the process liveness check", () => { + const marker = join(root(), "pid.txt"); + const kill = spyOn(process, "kill"); + try { + for (const value of ["", "0", "-1", "1.5", "9007199254740992", "12junk"]) { + writeFileSync(marker, value); + expect(() => readPublishedPid(marker)).toThrow("invalid published process id"); + } + for (const pid of [0, -1, 1.5, Number.NaN, Number.MAX_SAFE_INTEGER + 1]) { + expect(() => isProcessAlive(pid)).toThrow("invalid published process id"); + } + expect(kill).not.toHaveBeenCalled(); + } finally { + kill.mockRestore(); + } +}); + describe("section extraction", () => { test("a tag name containing a space is still matched", () => { // Codex renders `<permissions instructions>`, with a space. A [a-z_]+ pattern @@ -184,21 +234,21 @@ describe("prompt probe process lifecycle", () => { const pidPath = join(dir, "pid.txt"); const overlapPath = join(dir, "overlap.txt"); const hangingSource = [ - `require("node:fs").writeFileSync(${JSON.stringify(pidPath)}, String(process.pid));`, + publishPidSource(pidPath), "setInterval(() => {}, 1_000);", ].join(""); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", hangingSource] }); const controller = new AbortController(); const hanging = probePromptText(5_000, controller.signal); - await waitUntil(() => existsSync(pidPath), "hanging child pid"); - const pid = Number(readFileSync(pidPath, "utf8")); + const pid = await waitForPublishedPid(pidPath, "hanging child pid"); expect(isProcessAlive(pid)).toBe(true); controller.abort(); expect((await hanging).detail).toBe("prompt probe cancelled"); const replacementSource = [ - `const fs = require("node:fs"); const pid = Number(fs.readFileSync(${JSON.stringify(pidPath)}, "utf8"));`, + `const fs = require("node:fs"); const rawPid = fs.readFileSync(${JSON.stringify(pidPath)}, "utf8").trim(); const pid = Number(rawPid);`, + "if (!/^\\d+$/.test(rawPid) || !Number.isSafeInteger(pid) || pid <= 0) throw new Error(\"invalid published process id\");", "let priorProbeAlive = true;", "try { process.kill(pid, 0); } catch { priorProbeAlive = false; }", `if (priorProbeAlive) fs.writeFileSync(${JSON.stringify(overlapPath)}, "overlap");`, @@ -220,34 +270,52 @@ describe("prompt probe process lifecycle", () => { await waitUntil(() => !isProcessAlive(pid), "cancelled child exit"); }); - test("admission stays occupied between child exit and close handling", async () => { + async function exerciseCloseBoundary(injectFailure: boolean): Promise<void> { const pidPath = join(root(), "exited-parent-pid.txt"); let releaseClose!: () => void; setPromptTextProbeCloseBarrierForTests(new Promise<void>(resolve => { releaseClose = resolve; })); - const delayedCloseSource = [ - `const fs = require("node:fs");`, - `fs.writeFileSync(${JSON.stringify(pidPath)}, String(process.pid));`, - `process.stdout.write(${JSON.stringify(VALID_PROBE_OUTPUT)});`, - ].join(""); - setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", delayedCloseSource] }); - const first = probePromptText(2_000); - await waitUntil(() => existsSync(pidPath), "exit-close parent pid"); - const pid = Number(readFileSync(pidPath, "utf8")); - await waitUntil(() => !isProcessAlive(pid), "probe parent exit"); + let first: ReturnType<typeof probePromptText> | undefined; + try { + const delayedCloseSource = [ + publishPidSource(pidPath), + `process.stdout.write(${JSON.stringify(VALID_PROBE_OUTPUT)});`, + ].join(""); + setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", delayedCloseSource] }); + first = probePromptText(2_000); + const pid = await waitForPublishedPid(pidPath, "exit-close parent pid"); + await waitUntil(() => !isProcessAlive(pid), "probe parent exit"); + if (injectFailure) throw new Error("fixture assertion failure before close release"); + + setPromptTextProbeCommandForTests({ + binary: process.execPath, + args: ["-e", `process.stdout.write(${JSON.stringify(VALID_PROBE_OUTPUT)})`], + }); + const blockedBeforeClose = await probePromptText(2_000); + expect(blockedBeforeClose.ok).toBe(false); + expect(blockedBeforeClose.detail).toBe("another prompt probe is still finishing; retry shortly"); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); + releaseClose(); + expect((await first).ok).toBe(true); + const afterClose = await probePromptText(2_000); + expect(afterClose.ok).toBe(true); + expect(promptTextProbeSpawnAttemptsForTests()).toBe(2); + } finally { + releaseClose(); + try { if (first) await first; } finally { await resetPromptTextProbeForTests(); } + } + } + test("admission stays occupied between child exit and close handling", async () => { + await exerciseCloseBoundary(false); + }); + + test("a failure before close release leaves the probe reusable", async () => { + await expect(exerciseCloseBoundary(true)).rejects.toThrow("fixture assertion failure before close release"); setPromptTextProbeCommandForTests({ binary: process.execPath, args: ["-e", `process.stdout.write(${JSON.stringify(VALID_PROBE_OUTPUT)})`], }); - const blockedBeforeClose = await probePromptText(2_000); - - expect(blockedBeforeClose.ok).toBe(false); - expect(blockedBeforeClose.detail).toBe("another prompt probe is still finishing; retry shortly"); + expect((await probePromptText(2_000)).ok).toBe(true); expect(promptTextProbeSpawnAttemptsForTests()).toBe(1); - releaseClose(); - expect((await first).ok).toBe(true); - const afterClose = await probePromptText(2_000); - expect(afterClose.ok).toBe(true); - expect(promptTextProbeSpawnAttemptsForTests()).toBe(2); }); }); diff --git a/tests/codex-integration/codex-quota-parser-parity.test.ts b/tests/codex-integration/codex-quota-parser-parity.test.ts index 172168ada88..a6985256485 100644 --- a/tests/codex-integration/codex-quota-parser-parity.test.ts +++ b/tests/codex-integration/codex-quota-parser-parity.test.ts @@ -1,12 +1,56 @@ import { describe, expect, it } from "bun:test"; import { clearAccountQuota, + applyAccountQuotaFromUpstreamHeaders, + getAccountQuota, parseUpstreamQuotaHeaders, parseUsageQuota, setAccountQuotaFromParsed, } from "../../src/codex/quota"; import { codexPoolQuotaEvidence } from "../../src/routing/quota"; +describe("Spark quota survives partial header updates", () => { + it("keeps the WHAM Spark window when an ordinary response updates standard quota", () => { + clearAccountQuota(); + const refreshed = parseUsageQuota({ + rate_limit: { primary_window: { used_percent: 20, limit_window_seconds: 604_800 } }, + additional_rate_limits: [{ + limit_name: "GPT-5.3-Codex-Spark", + rate_limit: { primary_window: { used_percent: 30, reset_at: 2_000_000_000, limit_window_seconds: 604_800 } }, + }], + }); + setAccountQuotaFromParsed("spark-partial", refreshed); + applyAccountQuotaFromUpstreamHeaders("spark-partial", new Headers({ + "x-codex-primary-used-percent": "21", + "x-codex-primary-window-minutes": "10080", + })); + expect(getAccountQuota("spark-partial")?.weeklyPercent).toBe(21); + expect(getAccountQuota("spark-partial")?.customWindows).toEqual(refreshed?.customWindows); + }); + + it("replaces custom windows when supplied, including an explicit empty list", () => { + clearAccountQuota(); + setAccountQuotaFromParsed("spark-replace", { + customWindows: [{ label: "GPT-5.3-Codex-Spark Weekly", percent: 30 }], + }); + const replacement = [{ label: "GPT-5.3-Codex-Spark Weekly", percent: 0, resetAt: 2_000_000_000 }]; + setAccountQuotaFromParsed("spark-replace", { customWindows: replacement }); + expect(getAccountQuota("spark-replace")?.customWindows).toEqual(replacement); + setAccountQuotaFromParsed("spark-replace", { weeklyPercent: 21, customWindows: [] }); + expect(getAccountQuota("spark-replace")?.customWindows).toEqual([]); + }); + + it("does not carry custom windows across an account cache clear", () => { + clearAccountQuota(); + setAccountQuotaFromParsed("spark-clear", { + customWindows: [{ label: "GPT-5.3-Codex-Spark Weekly", percent: 30 }], + }); + clearAccountQuota("spark-clear"); + setAccountQuotaFromParsed("spark-clear", { weeklyPercent: 21 }); + expect(getAccountQuota("spark-clear")?.customWindows).toBeUndefined(); + }); +}); + /** * The two quota parsers, pinned against each other. * @@ -109,4 +153,3 @@ describe("routing headroom accounts for the burst window", () => { expect(evidence.headroom).toBeLessThanOrEqual(0.05); }); }); - diff --git a/tests/codex-integration/codex-reset-credit-auto-redeem.test.ts b/tests/codex-integration/codex-reset-credit-auto-redeem.test.ts index f19f208cc1d..eb7e213420a 100644 --- a/tests/codex-integration/codex-reset-credit-auto-redeem.test.ts +++ b/tests/codex-integration/codex-reset-credit-auto-redeem.test.ts @@ -1,7 +1,9 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test"; -import { mkdtempSync, readFileSync} from "node:fs"; +import { Database } from "bun:sqlite"; +import { existsSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, renameSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; +import { pathToFileURL } from "node:url"; import { createResetCreditAutoRedeemer, planAutoRedeem, @@ -9,6 +11,8 @@ import { type ResetCredit, } from "../../src/codex/reset-credit-auto-redeem"; import { removeTreeWithRetry } from "../helpers/remove-tree"; +import { repoPath } from "../helpers/repo-root"; +import { readConfigGeneration } from "../../src/config"; const T0 = Date.parse("2026-09-02T10:00:00Z"); const MIN = 60_000; @@ -18,19 +22,20 @@ const credit = (expiresInMin: number, grantedAt = "2026-09-01T00:00:00Z"): Reset }); /** Fake clock + manual timer: fire() runs the pending timer at its due time. */ -function harness(opts: { credits: () => ResetCredit[]; enabled?: () => boolean; lead?: number; journalFile: string; consumeCode?: string; consumeThrows?: boolean }) { +function harness(opts: { credits: () => ResetCredit[]; enabled?: () => boolean; lead?: number; journalFile: string; accountId?: string; consumeCode?: string; consumeThrows?: boolean; consume?: (id: string) => Promise<{ code: string }> }) { let now = T0; let pending: { fn: () => void; at: number } | null = null; const consumed: string[] = []; const logs: string[] = []; let inspects = 0; const redeemer = createResetCreditAutoRedeemer({ - accountId: "acct-main", + accountId: opts.accountId ?? "acct-main", settings: () => ({ enabled: opts.enabled ? opts.enabled() : true, leadTimeMinutes: opts.lead ?? 10 }), inspect: async () => { inspects += 1; return { credits: opts.credits() }; }, consume: async id => { if (opts.consumeThrows) throw new Error("socket hangup"); consumed.push(id); + if (opts.consume) return opts.consume(id); return { code: opts.consumeCode ?? "reset" }; }, now: () => now, @@ -43,14 +48,24 @@ function harness(opts: { credits: () => ResetCredit[]; enabled?: () => boolean; redeemer, consumed, logs, inspects: () => inspects, pendingAt: () => pending?.at ?? null, - advanceAndFire: async () => { if (!pending) throw new Error("no timer"); now = pending.at; const fn = pending.fn; pending = null; fn(); await new Promise(r => setTimeout(r, 5)); }, + // The timer synchronously installs inFlight; join that tick instead of sleeping. + advanceAndFire: async () => { if (!pending) throw new Error("no timer"); now = pending.at; const fn = pending.fn; pending = null; fn(); return await redeemer.tick(); }, setNow: (t: number) => { now = t; }, }; } let dir = ""; -beforeEach(() => { dir = mkdtempSync(join(tmpdir(), "ocx-auto-redeem-")); }); -afterEach(() => { removeTreeWithRetry(dir); }); +let oldHome: string | undefined; +beforeEach(() => { + dir = mkdtempSync(join(tmpdir(), "ocx-auto-redeem-")); + oldHome = process.env.OPENCODEX_HOME; + process.env.OPENCODEX_HOME = dir; +}); +afterEach(() => { + if (oldHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = oldHome; + removeTreeWithRetry(dir); +}); describe("reset-credit auto-redeem settings + plan (#822)", () => { test("default off; malformed reads as off; lead time clamped", () => { @@ -72,6 +87,20 @@ describe("reset-credit auto-redeem settings + plan (#822)", () => { }); describe("reset-credit auto-redeemer runtime (#822)", () => { + test("a disabled tick creates neither a journal nor a mutation coordinator", async () => { + const journalFile = join(dir, "reset-credit-auto-redeem.json"); + expect(readdirSync(dir)).toEqual([]); + const h = harness({ credits: () => [credit(30)], enabled: () => false, journalFile }); + h.setNow(T0 + 20 * MIN); + expect(await h.redeemer.tick()).toEqual({ kind: "disabled" }); + expect(h.inspects()).toBe(0); + expect(h.consumed).toHaveLength(0); + expect(h.pendingAt()).toBeNull(); + expect(existsSync(journalFile)).toBe(false); + expect(existsSync(join(dir, "config-mutation.sqlite"))).toBe(false); + expect(readdirSync(dir)).toEqual([]); + }); + test("schedules at expiry minus lead, re-reads before dispatch, journals the request id first", async () => { const journalFile = join(dir, "j.json"); const h = harness({ credits: () => [credit(30)], journalFile }); @@ -150,6 +179,388 @@ describe("reset-credit auto-redeemer runtime (#822)", () => { expect(h.consumed).toHaveLength(0); }); + test("settling a delayed consume preserves a peer's settled journal entry", async () => { + const journalFile = join(dir, "j.json"); + let entered!: () => void; + let release!: () => void; + const started = new Promise<void>(resolve => { entered = resolve; }); + const gate = new Promise<void>(resolve => { release = resolve; }); + const a = harness({ credits: () => [credit(30)], journalFile, accountId: "acct-a", consume: async () => { + entered(); + await gate; + return { code: "reset" }; + } }); + const b = harness({ credits: () => [credit(30)], journalFile, accountId: "acct-b" }); + a.setNow(T0 + 20 * MIN); + b.setNow(T0 + 20 * MIN); + const first = a.redeemer.tick(); + try { + await Promise.race([started, first.then(() => { throw new Error("first consume was not entered"); })]); + expect((await b.redeemer.tick()).kind).toBe("dispatched"); + } finally { + release(); + await first; + } + expect((await first).kind).toBe("dispatched"); + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries as Array<{ redeemRequestId: string; state: string }>; + expect(entries).toHaveLength(2); + expect(entries.map(entry => entry.redeemRequestId).sort()).toEqual([...a.consumed, ...b.consumed].sort()); + expect(entries.every(entry => entry.state === "settled")).toBe(true); + expect((await b.redeemer.tick()).kind).toBe("skipped"); + expect(b.consumed).toHaveLength(1); + }); + + test("a separate SQLite writer blocks reservation before any consume", async () => { + const journalFile = join(dir, "j.json"); + const h = harness({ credits: () => [credit(30)], journalFile }); + h.setNow(T0 + 20 * MIN); + expect(readConfigGeneration().kind).toBe("ready"); + const holder = new Database(join(dir, "config-mutation.sqlite"), { readwrite: true, create: false }); + holder.exec("PRAGMA busy_timeout = 0; BEGIN IMMEDIATE"); + try { + expect((await h.redeemer.tick()).kind).toBe("error"); + expect(h.consumed).toHaveLength(0); + expect(existsSync(journalFile)).toBe(false); + expect(h.pendingAt()).toBe(T0 + 20 * MIN + 1_000); + } finally { + holder.exec("ROLLBACK"); + holder.close(); + } + h.setNow(T0 + 20 * MIN + 1_000); + expect((await h.redeemer.tick()).kind).toBe("dispatched"); + expect(h.consumed).toHaveLength(1); + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(entries).toHaveLength(1); + expect(entries[0].redeemRequestId).toBe(h.consumed[0]); + expect(entries[0].state).toBe("settled"); + }); + + test("a SQLite reader blocks COMMIT after reservation publication and retries the same id", async () => { + const journalFile = join(dir, "j.json"); + const databaseFile = join(dir, "config-mutation.sqlite"); + expect(existsSync(databaseFile)).toBe(false); + const reader = new Database(databaseFile, { create: true }); + const h = harness({ credits: () => [credit(30)], journalFile }); + h.setNow(T0 + 20 * MIN); + let reservationId = ""; + try { + // No readConfigGeneration pre-initialization: the coordinator's first acquisition + // must write its schema, so COMMIT needs an exclusive rollback-journal lock. + reader.exec("PRAGMA journal_mode = DELETE; PRAGMA busy_timeout = 0"); + reader.exec("BEGIN; CREATE TABLE reader_fixture (value INTEGER); INSERT INTO reader_fixture VALUES (1); COMMIT"); + expect(reader.query("PRAGMA journal_mode").get()).toEqual({ journal_mode: "delete" }); + expect(reader.query("SELECT name FROM sqlite_master WHERE name = 'config_generation'").all()).toEqual([]); + reader.exec("BEGIN"); + // BEGIN alone holds no read lock. This SELECT materializes the read transaction. + expect(reader.query("SELECT value FROM reader_fixture").all()).toEqual([{ value: 1 }]); + expect(reader.inTransaction).toBe(true); + const outcome = await h.redeemer.tick(); + expect(outcome).toEqual({ kind: "error", message: expect.stringMatching(/database (?:is|table is) locked/i) }); + expect(h.consumed).toHaveLength(0); + // An acquisition failure cannot publish this row: the callback ran before COMMIT failed. + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(entries).toHaveLength(1); + expect(entries[0].state).toBe("dispatched"); + reservationId = entries[0].redeemRequestId; + expect(reservationId).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i); + expect(h.pendingAt()).toBe(T0 + 20 * MIN + 1_000); + } finally { + try { if (reader.inTransaction) reader.exec("ROLLBACK"); } finally { reader.close(); } + } + expect(await h.advanceAndFire()).toEqual({ kind: "dispatched", code: "reset", redeemRequestId: reservationId }); + expect(h.consumed).toEqual([reservationId]); + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(entries).toHaveLength(1); + expect(entries[0].redeemRequestId).toBe(reservationId); + expect(entries[0].state).toBe("settled"); + }); + + test("two processes reserve one durable id before either consume settles", async () => { + const journalFile = join(dir, "j.json"); + const moduleUrl = pathToFileURL(repoPath("src/codex/reset-credit-auto-redeem.ts")).href; + const deadline = performance.now() + 25_000; + const markerPath = (name: string) => join(dir, name + ".json"); + const publish = (name: string) => { + const path = markerPath(name); + const temporary = path + "." + process.pid + ".tmp"; + writeFileSync(temporary, JSON.stringify({ pid: process.pid })); + renameSync(temporary, path); + }; + const launch = (worker: string) => { + const source = ` + import { existsSync, writeFileSync, renameSync } from "node:fs"; + import { join } from "node:path"; + import { createResetCreditAutoRedeemer } from ${JSON.stringify(moduleUrl)}; + const home = ${JSON.stringify(dir)}; + const worker = ${JSON.stringify(worker)}; + const deadline = performance.now() + 20_000; + const marker = name => join(home, name + ".json"); + const publish = (name, value) => { + const path = marker(name); + const temporary = path + "." + process.pid + ".tmp"; + writeFileSync(temporary, JSON.stringify({ ...value, pid: process.pid })); + renameSync(temporary, path); + }; + const waitFor = async name => { + while (!existsSync(marker(name))) { + if (performance.now() >= deadline) throw new Error("timed out waiting for " + name); + await Bun.sleep(10); + } + }; + const consumes = []; + const retries = []; + let scheduledMs = null; + const redeemer = createResetCreditAutoRedeemer({ + accountId: "acct-process-fixture", + journalFile: ${JSON.stringify(journalFile)}, + settings: () => ({ enabled: true, leadTimeMinutes: 10 }), + inspect: async () => ({ credits: [${JSON.stringify(credit(30))}] }), + now: () => ${T0 + 20 * MIN}, + // Only the loop below owns ticks; recorded timers cannot launch overlapping work. + setTimer: (_fn, ms) => { scheduledMs = ms; return 1; }, + clearTimer: () => { scheduledMs = null; }, + log: () => {}, + consume: async redeemRequestId => { + consumes.push(redeemRequestId); + if (consumes.length !== 1) throw new Error("unexpected repeated consume"); + publish(worker + "-consume", { redeemRequestId }); + await waitFor(worker + "-release"); + return { code: "reset" }; + }, + }); + try { + publish(worker + "-ready", {}); + await waitFor("start"); + let outcome; + while (true) { + if (performance.now() >= deadline) throw new Error("reservation contention deadline exceeded"); + scheduledMs = null; + outcome = await redeemer.tick(); + if (outcome.kind === "dispatched") break; + const contention = outcome.kind === "error" && ( + outcome.message === "Config mutation already in progress" + || /database (?:is|table is) locked/i.test(outcome.message) + ); + if (!contention || scheduledMs !== 1000 || consumes.length !== 0) { + throw new Error("unexpected tick: " + JSON.stringify({ outcome, scheduledMs, consumes })); + } + retries.push({ message: outcome.message, scheduledMs }); + // Honor the recorded contention delay; never retry arbitrary errors or settlement. + await Bun.sleep(scheduledMs); + } + publish(worker + "-result", { outcome, consumes, retries }); + } catch (error) { + publish(worker + "-result", { error: String(error), consumes, retries }); + console.error(error); + process.exitCode = 1; + } finally { + redeemer.stop(); + } + `; + const child = Bun.spawn([process.execPath, "-e", source], { + cwd: repoPath(), + env: { ...process.env, OPENCODEX_HOME: dir }, + stdin: "ignore", stdout: "pipe", stderr: "pipe", + }); + const output = { stdout: "", stderr: "" }; + const drain = async (stream: ReadableStream<Uint8Array>, key: "stdout" | "stderr") => { + const reader = stream.getReader(); + const decoder = new TextDecoder(); + try { + while (true) { + const { value, done } = await reader.read(); + if (done) break; + output[key] += decoder.decode(value, { stream: true }); + } + output[key] += decoder.decode(); + } catch (error) { + output[key] += "\npipe read failed: " + String(error); + } finally { reader.releaseLock(); } + }; + // Start draining both pipes immediately, including while waiting at the barriers. + const drained = Promise.all([drain(child.stdout, "stdout"), drain(child.stderr, "stderr")]); + return { worker, child, output, drained }; + }; + const children: ReturnType<typeof launch>[] = []; + const released = new Set<string>(); + const diagnostics = () => children.map(({ worker, child, output }) => + `${worker} pid=${child.pid} exit=${child.exitCode}\nstdout: ${output.stdout}\nstderr: ${output.stderr}`).join("\n"); + const waitUntil = async (label: string, ready: () => boolean) => { + while (true) { + for (const { worker, child } of children) { + if (child.exitCode !== null && (!released.has(worker) || child.exitCode !== 0)) { + throw new Error(`premature child exit waiting for ${label}\n${diagnostics()}`); + } + } + if (ready()) return; + if (performance.now() >= deadline) throw new Error(`timed out waiting for ${label}\n${diagnostics()}`); + await Bun.sleep(10); + } + }; + const readMarker = (name: string) => JSON.parse(readFileSync(markerPath(name), "utf8")); + try { + children.push(launch("a")); + children.push(launch("b")); + await waitUntil("both ready", () => children.every(({ worker }) => existsSync(markerPath(worker + "-ready")))); + for (const { worker, child } of children) expect(readMarker(worker + "-ready").pid).toBe(child.pid); + expect(children[0]!.child.pid).not.toBe(children[1]!.child.pid); + expect(existsSync(journalFile)).toBe(false); + publish("start"); + await waitUntil("both consumes", () => children.every(({ worker }) => existsSync(markerPath(worker + "-consume")))); + const ids = children.map(({ worker, child }) => { + const marker = readMarker(worker + "-consume"); + expect(marker.pid).toBe(child.pid); + expect(marker.redeemRequestId).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i); + expect(existsSync(markerPath(worker + "-result"))).toBe(false); + return marker.redeemRequestId as string; + }); + expect(new Set(ids).size).toBe(1); + const reserved = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(reserved).toHaveLength(1); + expect(reserved[0].redeemRequestId).toBe(ids[0]); + expect(reserved[0].state).toBe("dispatched"); + // Release one child at a time so settlement needs no timing-dependent retries. + for (const { worker, child } of children) { + released.add(worker); + publish(worker + "-release"); + await waitUntil(worker + " result", () => existsSync(markerPath(worker + "-result"))); + const result = readMarker(worker + "-result"); + expect(result.pid).toBe(child.pid); + expect(result.error).toBeUndefined(); + expect(result.outcome).toEqual({ kind: "dispatched", code: "reset", redeemRequestId: ids[0] }); + expect(result.consumes).toEqual([ids[0]]); + await waitUntil(worker + " exit", () => child.exitCode !== null); + expect(await child.exited).toBe(0); + } + const settled = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(settled).toHaveLength(1); + expect(settled[0].redeemRequestId).toBe(ids[0]); + expect(settled[0].state).toBe("settled"); + } catch (error) { + throw new Error(`${String(error)}\n${diagnostics()}`); + } finally { + try { + for (const { worker } of children) { + if (!existsSync(markerPath(worker + "-release"))) publish(worker + "-release"); + } + } finally { + // Start every cleanup even if another child's kill races its natural exit. + const cleanup = await Promise.allSettled(children.map(async ({ child, drained }) => { + try { + if (child.exitCode === null) child.kill("SIGKILL"); + } finally { + await child.exited; + await drained; + } + })); + const failedCleanup = cleanup.filter(result => result.status === "rejected"); + if (failedCleanup.length > 0) throw new AggregateError(failedCleanup.map(result => result.reason), "journal fixture child cleanup failed"); + } + } + }, 35_000); + + test("a peer that observes a settled credit keeps checking for future credits", async () => { + const journalFile = join(dir, "j.json"); + const first = harness({ credits: () => [credit(30)], journalFile }); + let peerCredits = [credit(30)]; + const peer = harness({ credits: () => peerCredits, journalFile }); + first.setNow(T0 + 20 * MIN); + peer.setNow(T0 + 20 * MIN); + expect((await first.redeemer.tick()).kind).toBe("dispatched"); + expect((await peer.redeemer.tick()).kind).toBe("skipped"); + expect(peer.consumed).toHaveLength(0); + expect(peer.pendingAt()).toBe(T0 + 35 * MIN); + const futureCredit = credit(45, "2026-09-02T10:30:00Z"); + peerCredits = [futureCredit]; + const outcome = await peer.advanceAndFire(); + expect(outcome).toEqual({ kind: "dispatched", code: "reset", redeemRequestId: expect.any(String) }); + expect(peer.consumed).toHaveLength(1); + expect(peer.consumed[0]).not.toBe(first.consumed[0]); + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(entries).toHaveLength(2); + expect(entries.map((entry: { redeemRequestId: string }) => entry.redeemRequestId).sort()).toEqual([...first.consumed, ...peer.consumed].sort()); + expect(entries.find((entry: { redeemRequestId: string }) => entry.redeemRequestId === peer.consumed[0])).toMatchObject({ + grantedAt: futureCredit.granted_at, expiresAt: futureCredit.expires_at, state: "settled", + }); + }); + + test("settlement contention keeps the reserved request id for a later retry", async () => { + const journalFile = join(dir, "j.json"); + let holder: Database | null = null; + let attempts = 0; + const h = harness({ credits: () => [credit(30)], journalFile, consume: async () => { + if (attempts++ === 0) { + holder = new Database(join(dir, "config-mutation.sqlite"), { readwrite: true, create: false }); + holder.exec("PRAGMA busy_timeout = 0; BEGIN IMMEDIATE"); + } + return { code: "reset" }; + } }); + h.setNow(T0 + 20 * MIN); + try { + expect((await h.redeemer.tick()).kind).toBe("error"); + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(entries).toHaveLength(1); + expect(entries[0].state).toBe("dispatched"); + expect(entries[0].redeemRequestId).toBe(h.consumed[0]); + expect(h.pendingAt()).toBe(T0 + 20 * MIN + 1_000); + } finally { + if (holder) { + (holder as Database).exec("ROLLBACK"); + (holder as Database).close(); + } + } + h.setNow(T0 + 20 * MIN + 1_000); + expect((await h.redeemer.tick()).kind).toBe("dispatched"); + expect(h.consumed).toHaveLength(2); + expect(h.consumed[0]).toBe(h.consumed[1]); + expect(JSON.parse(readFileSync(journalFile, "utf8")).entries[0].state).toBe("settled"); + }); + + test("journal retention uses the redeemer's injected clock", async () => { + const start = Date.parse("2000-01-01T00:00:00Z"); + const journalFile = join(dir, "j.json"); + const h = harness({ journalFile, credits: () => [{ + granted_at: "1999-12-31T00:00:00Z", + expires_at: new Date(start + 30 * MIN).toISOString(), + }] }); + h.setNow(start + 20 * MIN); + expect((await h.redeemer.tick()).kind).toBe("dispatched"); + const entries = JSON.parse(readFileSync(journalFile, "utf8")).entries; + expect(entries).toHaveLength(1); + expect(entries[0].updatedAt).toBe(start + 20 * MIN); + }); + + test("a persistent reservation write failure uses the idle retry interval", async () => { + const journalFile = join(dir, "journal-directory"); + mkdirSync(journalFile); + const h = harness({ credits: () => [credit(30)], journalFile }); + h.setNow(T0 + 20 * MIN); + expect((await h.redeemer.tick()).kind).toBe("error"); + expect(h.consumed).toHaveLength(0); + expect(h.pendingAt()).toBe(T0 + 35 * MIN); + }); + + for (const changedReservation of ["missing", "replaced"]) { + test(`settlement rejects a ${changedReservation} reservation without overwriting it`, async () => { + const journalFile = join(dir, "j.json"); + let replacement = ""; + const h = harness({ credits: () => [credit(30)], journalFile, consume: async () => { + const journal = JSON.parse(readFileSync(journalFile, "utf8")); + if (changedReservation === "missing") journal.entries = []; + else journal.entries[0].redeemRequestId = "replacement-request"; + replacement = JSON.stringify(journal); + writeFileSync(journalFile, replacement); + return { code: "reset" }; + } }); + h.setNow(T0 + 20 * MIN); + const outcome = await h.redeemer.tick(); + expect(outcome).toEqual({ kind: "error", message: "auto-redeem journal reservation changed before settlement" }); + expect(h.consumed).toHaveLength(1); + expect(readFileSync(journalFile, "utf8")).toBe(replacement); + expect(h.pendingAt()).toBe(T0 + 35 * MIN); + }); + } + test("stop clears the timer", async () => { const h = harness({ credits: () => [credit(30)], journalFile: join(dir, "j.json") }); await h.redeemer.tick(); diff --git a/tests/codex-integration/codex-retained-root-serialization.test.ts b/tests/codex-integration/codex-retained-root-serialization.test.ts index 428fe5a2577..f97877ed90a 100644 --- a/tests/codex-integration/codex-retained-root-serialization.test.ts +++ b/tests/codex-integration/codex-retained-root-serialization.test.ts @@ -19,12 +19,12 @@ import { import { claimOwnedServiceHome, withOwnedServiceHomePreload } from "../helpers/owned-service-home"; import { removeTreeWithRetry } from "../helpers/remove-tree"; import { repoRoot as resolveRepoRoot } from "../helpers/repo-root"; -import { INTERNAL_DEADLINE_MS, SPAWN_BUDGET_MS } from "../helpers/test-budget"; +import { SPAWN_BUDGET_MS } from "../helpers/test-budget"; +import { INTERNAL_DEADLINE_MS } from "../helpers/test-budget"; +import { watchdogMs } from "../helpers/ci-watchdog"; const repoRoot = resolveRepoRoot(); const sandboxes: Sandbox[] = []; -const CHILD_MARKER_BUDGET_MS = SPAWN_BUDGET_MS - 5_000; -const TWO_CHILD_TEST_BUDGET_MS = 2 * SPAWN_BUDGET_MS + 10_000; interface Sandbox { readonly root: string; @@ -112,7 +112,7 @@ function makeSandbox(prefix: string): Sandbox { */ async function teardownSandbox(sandbox: Sandbox): Promise<void> { for (const marker of sandbox.releaseMarkers) { - writeReleaseMarker(marker); + try { writeFileSync(marker, "release"); } catch { /* root may already be gone */ } } for (const child of sandbox.children) { if (child.exitCode === null) child.kill(); @@ -121,18 +121,25 @@ async function teardownSandbox(sandbox: Sandbox): Promise<void> { sandbox.children.clear(); } -function writeReleaseMarker(marker: string): void { - try { - writeFileSync(marker, "release"); - } catch (error) { - if ((error as NodeJS.ErrnoException).code !== "ENOENT") throw error; - } -} - function sandboxChildEnv(sandbox: Sandbox): Record<string, string> { return { ...sandbox.env, ...sandbox.serviceManagerEnv }; } +interface ChildResult { + exitCode: number; + stdout: string; + stderr: string; +} + +/** One consumer per pipe; barrier diagnostics and final assertions share the result. */ +function captureChildResult(child: ReturnType<typeof Bun.spawn>): Promise<ChildResult> { + return Promise.all([ + child.exited, + new Response(child.stdout).text(), + new Response(child.stderr).text(), + ]).then(([exitCode, stdout, stderr]) => ({ exitCode, stdout, stderr })); +} + /** * Wait for a child to reach its barrier, failing fast with its output if it exits * first. The exit branch is a REJECTING promise, so while the race is pending an @@ -144,16 +151,30 @@ function sandboxChildEnv(sandbox: Sandbox): Record<string, string> { * no-op catch attached up front marks that late rejection handled without * changing what the race sees. */ -async function raceBarrier(child: ReturnType<typeof Bun.spawn>, barrier: Promise<void>): Promise<void> { - const exitedEarly = child.exited.then(async exitCode => { - const stdout = await new Response(child.stdout).text(); - const stderr = await new Response(child.stderr).text(); +async function raceBarrier(result: Promise<ChildResult>, barrier: Promise<void>): Promise<void> { + const exitedEarly = result.then(({ exitCode, stdout, stderr }) => { throw new Error(`sync exited before provider barrier (${exitCode})\nstdout=${stdout}\nstderr=${stderr}`); }); exitedEarly.catch(() => undefined); await Promise.race([barrier, exitedEarly]); } +test("barrier diagnostics retain both pipes when the child exits first", async () => { + const sandbox = makeSandbox("ocx-retained-early-exit-"); + const child = Bun.spawn([process.execPath, "--eval", ` + process.stdout.write("fixture-stdout\\n"); + process.stderr.write("fixture-stderr\\n"); + process.exitCode = 7; + `], { cwd: repoRoot, env: sandboxChildEnv(sandbox), stdout: "pipe", stderr: "pipe" }); + sandbox.children.add(child); + const result = captureChildResult(child); + + await expect(raceBarrier(result, new Promise<void>(() => {}))).rejects.toThrow( + "sync exited before provider barrier (7)\nstdout=fixture-stdout\n\nstderr=fixture-stderr\n", + ); + expect(await result).toEqual({ exitCode: 7, stdout: "fixture-stdout\n", stderr: "fixture-stderr\n" }); +}, SPAWN_BUDGET_MS); + // A `bun --eval` child on a loaded windows-latest shard takes 8-11 s just to boot and // reach its marker (runs 33590540220 and 33605898170), so a 10 s wait was the coin flip, // not the child. Every caller passes a deadline that sits inside its own test budget so @@ -210,9 +231,9 @@ async function holdCatalogLock(sandbox: Sandbox): Promise<{ }); sandbox.children.add(child); sandbox.releaseMarkers.add(release); - await waitForPath(ready, CHILD_MARKER_BUDGET_MS); + await waitForPath(ready, INTERNAL_DEADLINE_MS); return { - release: () => writeReleaseMarker(release), + release: () => { try { writeFileSync(release, "release"); } catch { /* teardown may have released already */ } }, child, }; } @@ -284,7 +305,7 @@ test("startup and CLI sync-cache cannot write models_cache while another process // the CLI sync-cache in series), two of them importing the server/CLI graphs at // 8-11 s each on windows-latest (see waitForPath). 15 s timed out on CI run // 33920624827; the local timing (~450 ms) is not what this number is for. -}, TWO_CHILD_TEST_BUDGET_MS); +}, SPAWN_BUDGET_MS); test("native restore cannot read-transform-write the catalog while another process owns K", async () => { const sandbox = makeSandbox("ocx-retained-restore-"); @@ -307,7 +328,7 @@ test("native restore cannot read-transform-write the catalog while another proce holder.release(); expect(await holder.child.exited).toBe(0); } -}, TWO_CHILD_TEST_BUDGET_MS); +}); async function runPublisher( sandbox: Sandbox, @@ -347,11 +368,13 @@ for (const publisher of ["convergence", "retained"] as const) { port: 0, fetch: async request => { if (!new URL(request.url).pathname.endsWith("/models")) return new Response("not found", { status: 404 }); - if (requests++ === 0) { + const first = requests++ === 0; + if (first) { writeFileSync(requested, "requested"); while (!existsSync(release)) await Bun.sleep(5); } - return Response.json({ data: [{ id: "race-model" }] }); + // Distinct snapshots make a stale publish observable in the final catalog. + return Response.json({ data: [{ id: first ? "race-model" : "newer-race-model" }] }); }, }); const config = { @@ -379,29 +402,32 @@ for (const publisher of ["convergence", "retained"] as const) { console.log(JSON.stringify({ status: response.status, body: await response.json() })); `], sandbox.preloadPath)], { cwd: repoRoot, env: sandboxChildEnv(sandbox), stdout: "pipe", stderr: "pipe" }); sandbox.children.add(sync); - const syncStdout = new Response(sync.stdout).text(); - const syncStderr = new Response(sync.stderr).text(); + const syncResult = captureChildResult(sync); - await raceBarrier(sync, waitForPath(requested, CHILD_MARKER_BUDGET_MS)); + // This real child imports the management route before reaching /models. + // Keep the CI startup floor, then leave room for the second publisher process. + await raceBarrier(syncResult, waitForPath(requested, watchdogMs(INTERNAL_DEADLINE_MS))); const published = await runPublisher(sandbox, publisher, config); if (published.exitCode !== 0) { throw new Error(`${publisher} publisher failed\nstdout=${published.stdout}\nstderr=${published.stderr}`); } const newer = readFileSync(catalogPath, "utf8"); expect(newer).not.toBe(initial); + const newerSlugs = JSON.parse(newer).models.map((model: { slug: string }) => model.slug); + expect(newerSlugs).toContain("fixture/newer-race-model"); + expect(newerSlugs).not.toContain("fixture/race-model"); writeFileSync(release, "release"); - const [exitCode, stdout, stderr] = await Promise.all([ - sync.exited, - syncStdout, - syncStderr, - ]); + // Exercise the losing exit branch before the successful caller reads output. + await sync.exited; + const { exitCode, stdout, stderr } = await syncResult; expect({ exitCode, stdout, stderr }).toMatchObject({ exitCode: 0 }); + expect(JSON.parse(stdout).status).toBe(200); expect(readFileSync(catalogPath, "utf8")).toBe(newer); } finally { provider.stop(true); } - }, TWO_CHILD_TEST_BUDGET_MS); + }, SPAWN_BUDGET_MS * 2); } /** @@ -448,7 +474,6 @@ test("a persisted runtime selection moved by another process during the await bl const sync = Bun.spawn([process.execPath, ...withOwnedServiceHomePreload(["--eval", ` import { existsSync, writeFileSync } from "node:fs"; - globalThis[Symbol.for("opencodex.test.provider-fetch")] = true; const config = ${JSON.stringify(config)}; config.providers.together.fetch = async () => { writeFileSync(${JSON.stringify(requested)}, "requested"); @@ -459,10 +484,9 @@ test("a persisted runtime selection moved by another process during the await bl console.log(JSON.stringify(await syncCatalogModels(config))); `], sandbox.preloadPath)], { cwd: repoRoot, env: sandboxChildEnv(sandbox), stdout: "pipe", stderr: "pipe" }); sandbox.children.add(sync); - const syncStdout = new Response(sync.stdout).text(); - const syncStderr = new Response(sync.stderr).text(); + const syncResult = captureChildResult(sync); - await raceBarrier(sync, waitForPath(requested, CHILD_MARKER_BUDGET_MS)); + await raceBarrier(syncResult, waitForPath(requested, INTERNAL_DEADLINE_MS)); // Another process selects a different Codex runtime. No catalog byte changes. writeFileSync(runtimeStatePath, `${JSON.stringify({ @@ -474,15 +498,12 @@ test("a persisted runtime selection moved by another process during the await bl }, null, 2)}\n`); writeFileSync(release, "release"); - const [exitCode, stdout, stderr] = await Promise.all([ - sync.exited, - syncStdout, - syncStderr, - ]); + await sync.exited; + const { exitCode, stdout, stderr } = await syncResult; expect({ exitCode, stderr }).toMatchObject({ exitCode: 0 }); expect(JSON.parse(stdout.trim())).toMatchObject({ catalogWritten: false }); expect(readFileSync(catalogPath, "utf8")).toBe(initial); -}, TWO_CHILD_TEST_BUDGET_MS); +}, SPAWN_BUDGET_MS); /** * The post-approval seam, raced by two real processes through a real route. @@ -490,7 +511,7 @@ test("a persisted runtime selection moved by another process during the await bl * Every case above drives `/api/sync`, which is a retained root. This one drives * `PATCH /api/providers` — one of the sixteen management mutations that used to * reach a catalog write through `refreshCodexCatalogBestEffort`, whose entire - * error policy silently discarded every exception. The interesting window is AFTER the route has + * error policy was `catch {}`. The interesting window is AFTER the route has * already persisted its own mutation and approved the refresh: two processes * arriving there together must serialize, and neither may report `committed` * for bytes the other replaced. @@ -507,19 +528,6 @@ test("two processes at the post-approval management seam serialize instead of in const catalogPath = seedCatalog(sandbox); const seeded = readFileSync(catalogPath, "utf8"); const barrier = join(sandbox.root, "seam-barrier"); - const routeConfig = { - port: 10100, - defaultProvider: "together", - providers: { - together: { - adapter: "openai-chat", - baseUrl: "https://api.together.xyz/v1", - apiKey: "seam-key", - models: ["fallback-model"], - }, - }, - }; - writeFileSync(join(sandbox.opencodexHome, "config.json"), JSON.stringify(routeConfig, null, 2)); // Warm the config ownership + mutation database in a single process first. // Two cold processes otherwise race to create `.opencodex-owner.json` and both @@ -547,8 +555,18 @@ test("two processes at the post-approval management seam serialize instead of in } return Response.json({ data: [{ id: "seam-model-" + ${JSON.stringify(marker)} }] }); }; - const config = ${JSON.stringify(routeConfig)}; - const { mutatePersistedConfig, saveConfigPreservingClaudeCode } = await import("./src/config.ts"); + const config = { + port: 10100, + defaultProvider: "together", + providers: { + together: { + adapter: "openai-chat", + baseUrl: "https://api.together.xyz/v1", + apiKey: "seam-key", + models: ["fallback-model"], + }, + }, + }; const { handleManagementAPI } = await import("./src/server/management-api.ts"); const url = new URL("http://localhost/api/providers?name=together"); const req = new Request(url, { @@ -556,12 +574,9 @@ test("two processes at the post-approval management seam serialize instead of in headers: { Host: "localhost", "content-type": "application/json" }, body: JSON.stringify({ note: "seam-" + ${JSON.stringify(marker)} }), }); - const response = await handleManagementAPI(req, url, config, { - mutatePersistedConfig, - saveConfigPreservingClaudeCode, - }); + const response = await handleManagementAPI(req, url, config); const body = await response.json(); - console.log(JSON.stringify({ status: response.status, body, catalogRefresh: body.catalogRefresh })); + console.log(JSON.stringify({ status: response.status, catalogRefresh: body.catalogRefresh })); `; const isPreApprovalLoss = (stderr: string): boolean => @@ -638,14 +653,10 @@ test("two processes at the post-approval management seam serialize instead of in } const parsed = JSON.parse(result.stdout.trim()) as { status: number; - body?: { error?: string }; catalogRefresh: { status: string }; }; - if (parsed.status === 500 && parsed.body?.error === "management persistence unavailable") { - continue; - } // The route persisted its mutation, so it must answer 2xx no matter what the - // catalog attempt decided. A throw here would reproduce the old silent-catch failure + // catalog attempt decided. A throw here would be the old `catch {}` failure // inverted: a persisted change reported as a 500. expect(parsed.status).toBeGreaterThanOrEqual(200); expect(parsed.status).toBeLessThan(300); @@ -662,9 +673,7 @@ test("two processes at the post-approval management seam serialize instead of in // with a typed disposition and satisfy every assertion above. const dispositions = results! .filter(r => r.exitCode === 0) - .map(r => JSON.parse(r.stdout.trim()) as { status: number; body?: { error?: string }; catalogRefresh?: { status: string } }) - .filter(r => !(r.status === 500 && r.body?.error === "management persistence unavailable")) - .map(r => r.catalogRefresh?.status); + .map(r => (JSON.parse(r.stdout.trim()) as { catalogRefresh: { status: string } }).catalogRefresh.status); expect(dispositions).toContain("committed"); // A commit means the catalog really moved. @@ -677,4 +686,4 @@ test("two processes at the post-approval management seam serialize instead of in const fromA = slugs.some(s => s.includes("seam-model-a")); const fromB = slugs.some(s => s.includes("seam-model-b")); expect(fromA && fromB).toBe(false); -}, TWO_CHILD_TEST_BUDGET_MS); +}, SPAWN_BUDGET_MS); diff --git a/tests/codex-integration/codex-routing.test.ts b/tests/codex-integration/codex-routing.test.ts index ff8b6e33be8..85ecb3a3fd1 100644 --- a/tests/codex-integration/codex-routing.test.ts +++ b/tests/codex-integration/codex-routing.test.ts @@ -1,8 +1,7 @@ import { describe, expect, test, beforeEach, afterEach } from "bun:test"; -import { mkdtempSync, writeFileSync } from "node:fs"; +import { existsSync, mkdtempSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { initializePersistedConfigIfMissing, saveConfig } from "../../src/config"; import { STORE_BUDGET_MS } from "../helpers/test-budget"; import { CODEX_FAILURE_WINDOW_MS, @@ -55,14 +54,77 @@ import { routeModel } from "../../src/router"; import { consumeForInspection } from "../../src/server/relay"; import type { OcxConfig } from "../../src/types"; import { removeTreeWithRetry } from "../helpers/remove-tree"; -import { flushConfigDirHardeningForTests } from "../../src/config/paths"; + +import { flushConfigDirHardeningForTests, hardenConfigDir } from "../../src/config/paths"; import { setAsyncIcaclsRunnerForTests, setIcaclsRunnerForTests } from "../../src/lib/windows-secret-acl"; let TEST_DIR = ""; let previousOpencodexHome: string | undefined; let previousCodexHome: string | undefined; + const ICACLS_OK = { success: true, exitCode: 0, timedOut: false, stdout: "" }; +function installRoutingScratchHome(): void { + previousOpencodexHome = process.env.OPENCODEX_HOME; + previousCodexHome = process.env.CODEX_HOME; + TEST_DIR = mkdtempSync(join(tmpdir(), "ocx-routing-")); + // Routing cases exercise account state, not the operating system ACL implementation. + setIcaclsRunnerForTests(() => ICACLS_OK); + setAsyncIcaclsRunnerForTests(async () => ICACLS_OK); + process.env.OPENCODEX_HOME = TEST_DIR; + process.env.CODEX_HOME = TEST_DIR; +} + +async function removeRoutingScratchHome(): Promise<void> { + const ownedDirectory = TEST_DIR; + TEST_DIR = ""; + try { + await flushConfigDirHardeningForTests(); + } finally { + setIcaclsRunnerForTests(null); + setAsyncIcaclsRunnerForTests(null); + if (previousOpencodexHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = previousOpencodexHome; + if (previousCodexHome === undefined) delete process.env.CODEX_HOME; + else process.env.CODEX_HOME = previousCodexHome; + if (ownedDirectory) removeTreeWithRetry(ownedDirectory); + } +} + +test.skipIf(process.platform !== "win32")("routing scratch cleanup waits for its outstanding hardening flight", async () => { + installRoutingScratchHome(); + const ownedDirectory = TEST_DIR; + let entered!: () => void; + let release!: () => void; + const started = new Promise<void>(resolve => { entered = resolve; }); + const gate = new Promise<void>(resolve => { release = resolve; }); + let cleanup: Promise<void> | undefined; + let deadline: ReturnType<typeof setTimeout> | undefined; + try { + setAsyncIcaclsRunnerForTests(async () => { entered(); await gate; return ICACLS_OK; }); + hardenConfigDir(); + await Promise.race([ + started, + new Promise<never>((_, reject) => { deadline = setTimeout(() => reject(new Error("hardening fixture did not start")), 5_000); }), + ]); + let cleaned = false; + cleanup = removeRoutingScratchHome().then(() => { cleaned = true; }); + await Promise.resolve(); + expect(cleaned).toBe(false); + expect(existsSync(ownedDirectory)).toBe(true); + release(); + await cleanup; + expect(cleaned).toBe(true); + expect(existsSync(ownedDirectory)).toBe(false); + } finally { + if (deadline !== undefined) clearTimeout(deadline); + release(); + if (cleanup) await cleanup; + else await removeRoutingScratchHome(); + } +}, STORE_BUDGET_MS); + + function makeConfig(overrides: Partial<OcxConfig> = {}): OcxConfig { return { providers: {}, @@ -94,15 +156,7 @@ function pendingInspectionStream(): ReadableStream<Uint8Array> { describe("codex routing", () => { beforeEach(() => { - previousOpencodexHome = process.env.OPENCODEX_HOME; - setIcaclsRunnerForTests(() => ICACLS_OK); - setAsyncIcaclsRunnerForTests(async () => ICACLS_OK); - TEST_DIR = mkdtempSync(join(tmpdir(), "ocx-codex-routing-")); - process.env.OPENCODEX_HOME = TEST_DIR; - // Isolate the main-account credential source: TEST_DIR has no auth.json, so the main - // account is deterministically absent (these cases test the pool-only scenario). - previousCodexHome = process.env.CODEX_HOME; - process.env.CODEX_HOME = TEST_DIR; + installRoutingScratchHome(); clearThreadAccountMap(); clearCodexUpstreamHealth(); clearAccountQuota(); @@ -114,28 +168,22 @@ describe("codex routing", () => { }); afterEach(async () => { - clearAccountQuota(); - clearCodexUpstreamHealth(); - clearThreadAccountMap(); - clearAccountNeedsReauth("a"); - clearAccountNeedsReauth("b"); - clearAccountNeedsReauth("c"); - await flushConfigDirHardeningForTests(); - setIcaclsRunnerForTests(null); - setAsyncIcaclsRunnerForTests(null); - if (previousOpencodexHome === undefined) delete process.env.OPENCODEX_HOME; - else process.env.OPENCODEX_HOME = previousOpencodexHome; - if (previousCodexHome === undefined) delete process.env.CODEX_HOME; - else process.env.CODEX_HOME = previousCodexHome; - removeTreeWithRetry(TEST_DIR); - TEST_DIR = ""; + try { + clearAccountQuota(); + clearCodexUpstreamHealth(); + clearThreadAccountMap(); + clearAccountNeedsReauth("a"); + clearAccountNeedsReauth("b"); + clearAccountNeedsReauth("c"); + } finally { + await removeRoutingScratchHome(); + } }); test("usage score uses the hottest known quota window", () => { expect(computeCodexUsageScore({ weeklyPercent: 81 })).toBe(81); expect(computeCodexUsageScore({ weeklyPercent: 15, monthlyPercent: 91 })).toBe(91); expect(computeCodexUsageScore({ weeklyPercent: 15, monthlyPercent: 20, shortPercent: 92 })).toBe(92); - expect(computeCodexUsageScore({ weeklyPercent: 15, fiveHourPercent: 92 })).toBe(92); expect(computeCodexUsageScore({ weeklyPercent: 15 })).toBe(15); }); @@ -147,8 +195,7 @@ describe("codex routing", () => { expect(computeCodexUsageScore({ shortPercent: 0 })).toBe(CODEX_UNKNOWN_USAGE_SCORE); expect(computeCodexUsageScore({ shortPercent: 87 })).toBe(CODEX_UNKNOWN_USAGE_SCORE); // Once a governing window is known, the burst still wins when it is hotter. - expect(computeCodexUsageScore({ weeklyPercent: 1, shortPercent: 100, - shortResetAt: Date.now() + 60_000 })).toBe(100); + expect(computeCodexUsageScore({ weeklyPercent: 1, shortPercent: 100 })).toBe(100); expect(computeCodexUsageScore({ weeklyPercent: 40, shortPercent: 0 })).toBe(40); }); @@ -166,12 +213,9 @@ describe("codex routing", () => { // inverted into a recovered account that stays excluded. expect(computeCodexUsageScore({ shortPercent: 100, shortResetAt: now - 60_000 }, undefined, now)) .toBe(CODEX_UNKNOWN_USAGE_SCORE); - expect(computeCodexUsageScore({ weeklyPercent: 20, shortPercent: 100, shortResetAt: now - 60_000 }, undefined, now)) - .toBe(20); // No resetAt at all cannot be aged, so it stays unknown: a wrongly-selected account // fails one request, a wrongly-excluded one is invisible until someone reads the pool. expect(computeCodexUsageScore({ shortPercent: 100 }, undefined, now)).toBe(CODEX_UNKNOWN_USAGE_SCORE); - expect(computeCodexUsageScore({ weeklyPercent: 20, shortPercent: 100 }, undefined, now)).toBe(20); // Still narrow: a non-terminal short-only reading is unchanged. expect(computeCodexUsageScore({ shortPercent: 99, shortResetAt: now + 60_000 }, undefined, now)) .toBe(CODEX_UNKNOWN_USAGE_SCORE); @@ -250,20 +294,7 @@ describe("codex routing", () => { // clock far from wall time is the point: a fixture whose now matches Date.now() cannot // tell a threaded clock from one that was dropped somewhere in the helper chain. const now = 1_700_000_000_000; - const config = makeConfig({ - activeCodexAccountId: "a", - defaultProvider: "test", - providers: { - test: { - adapter: "openai-responses", - baseUrl: "https://example.invalid/v1", - apiKey: "test-key", - }, - }, - }); - // Automatic quota moves persist by design. Seed the fixture through the same - // fail-closed initialization boundary production uses instead of weakening it. - expect(initializePersistedConfigIfMissing(config)).toBe("created"); + const config = makeConfig({ activeCodexAccountId: "a" }); // A is full for the next hour, recorded in SECONDS. B has ordinary headroom. setAccountQuotaFromParsed("a", { shortPercent: 100, shortResetAt: (now + 3_600_000) / 1000 }); @@ -305,20 +336,7 @@ describe("codex routing", () => { setAccountQuotaFromParsed("a", { shortPercent: 100 }); const now = Date.now(); updateAccountQuota("b", 3); - const config = makeConfig({ - activeCodexAccountId: "a", - defaultProvider: "test", - providers: { - test: { - adapter: "openai-responses", - baseUrl: "https://example.invalid/v1", - apiKey: "test-key", - }, - }, - }); - // Moving away from an exhausted account persists the active selection. Seed the same - // valid on-disk boundary used by production so this regression can run in isolation. - expect(initializePersistedConfigIfMissing(config)).toBe("created"); + const config = makeConfig({ activeCodexAccountId: "a" }); expect(resolveCodexAccountForThread("thread-storm-new", config, now)).toBe("b"); // A thread already bound to A must move too - this is the half the reporter saw as 118 @@ -329,7 +347,6 @@ describe("codex routing", () => { updateAccountQuota("a", 10); updateAccountQuota("b", 20); const bound = makeConfig({ activeCodexAccountId: "a" }); - saveConfig(bound); expect(resolveCodexAccountForThread("thread-storm-bound", bound, now)).toBe("a"); clearAccountQuota("a"); setAccountQuotaFromParsed("a", { shortPercent: 100 }); @@ -1729,8 +1746,9 @@ describe("codex routing", () => { }); }); - test("WHAM preserves the 5h, weekly, and Spark weekly windows", () => { + test("WHAM keeps general and Spark windows separate", () => { expect(parseUsageQuota({ + plan_type: "pro", rate_limit: { primary_window: { used_percent: 11, reset_at: 1, limit_window_seconds: 5 * 60 * 60 }, secondary_window: { used_percent: 22, reset_at: 2, limit_window_seconds: 7 * 24 * 60 * 60 }, @@ -1739,18 +1757,20 @@ describe("codex routing", () => { limit_name: "GPT-5.3-Codex-Spark", metered_feature: "codex_bengalfox", rate_limit: { - primary_window: { used_percent: 33, reset_at: 3, limit_window_seconds: 7 * 24 * 60 * 60 }, + primary_window: { used_percent: 33, reset_at: 3, limit_window_seconds: 5 * 60 * 60 }, + secondary_window: { used_percent: 44, reset_at: 4, limit_window_seconds: 7 * 24 * 60 * 60 }, }, }], })).toEqual({ shortPercent: 11, shortResetAt: 1, shortWindowSeconds: 5 * 60 * 60, - fiveHourPercent: 11, - fiveHourResetAt: 1, weeklyPercent: 22, weeklyResetAt: 2, - customWindows: [{ label: "GPT-5.3-Codex-Spark Weekly", percent: 33, resetAt: 3 }], + customWindows: [ + { label: "GPT-5.3-Codex-Spark 5h", percent: 33, resetAt: 3 }, + { label: "GPT-5.3-Codex-Spark Weekly", percent: 44, resetAt: 4 }, + ], }); }); @@ -2219,13 +2239,7 @@ describe("codex routing", () => { describe("codex account selection order", () => { beforeEach(() => { - previousOpencodexHome = process.env.OPENCODEX_HOME; - setIcaclsRunnerForTests(() => ICACLS_OK); - setAsyncIcaclsRunnerForTests(async () => ICACLS_OK); - TEST_DIR = mkdtempSync(join(tmpdir(), "ocx-codex-routing-")); - process.env.OPENCODEX_HOME = TEST_DIR; - previousCodexHome = process.env.CODEX_HOME; - process.env.CODEX_HOME = TEST_DIR; + installRoutingScratchHome(); clearThreadAccountMap(); clearCodexUpstreamHealth(); clearAccountQuota(); @@ -2237,21 +2251,16 @@ describe("codex account selection order", () => { }); afterEach(async () => { - clearAccountQuota(); - clearCodexUpstreamHealth(); - clearThreadAccountMap(); - clearPoolRotationState(); - clearAccountNeedsReauth("a"); - clearAccountNeedsReauth("b"); - await flushConfigDirHardeningForTests(); - setIcaclsRunnerForTests(null); - setAsyncIcaclsRunnerForTests(null); - if (previousOpencodexHome === undefined) delete process.env.OPENCODEX_HOME; - else process.env.OPENCODEX_HOME = previousOpencodexHome; - if (previousCodexHome === undefined) delete process.env.CODEX_HOME; - else process.env.CODEX_HOME = previousCodexHome; - removeTreeWithRetry(TEST_DIR); - TEST_DIR = ""; + try { + clearAccountQuota(); + clearCodexUpstreamHealth(); + clearThreadAccountMap(); + clearPoolRotationState(); + clearAccountNeedsReauth("a"); + clearAccountNeedsReauth("b"); + } finally { + await removeRoutingScratchHome(); + } }); /** `a` is ordered above `b`; the persisted operator selection is the lower tier. */ diff --git a/tests/codex-integration/codex-runtime.test.ts b/tests/codex-integration/codex-runtime.test.ts index 2dc5d6347d5..bf95f304a68 100644 --- a/tests/codex-integration/codex-runtime.test.ts +++ b/tests/codex-integration/codex-runtime.test.ts @@ -970,3 +970,94 @@ describe("resolveCodexRuntime", () => { expect(diagnostics[0]?.affectedModels).toEqual(["openrouter/example"]); }); }); + +describe("dead configured pin recovery (#4035)", () => { + test("a dead configured pin is cleared when resolution degrades to fallback", () => { + // A Codex App update deletes the hashed plugin directory the pin names. The probe + // rejects the vanished absolute path ("path does not exist"), no PATH candidate + // exists, and resolution degrades to `fallback` — which the persist guard skipped, + // so the dead pin survived forever and every later resolve re-probed a path that + // cannot exist. + const configDir = tempConfigDir(); + const dead = join(configDir, "gone", "codex"); + persistCodexRuntime({ command: dead, version: "0.153.0", source: "configured" }, { configDir }); + expect(loadPersistedCodexRuntime({ configDir })?.command).toBe(dead); + + const result = resolveAndPersistCodexRuntime({ + configDir, + env: { PATH: "" }, + platform: "linux", + existsSync: (path) => !String(path).includes("gone"), + execFileSync: () => { throw new Error("ENOENT"); }, + }); + + expect(result.runtime.source).toBe("fallback"); + expect(existsSync(join(configDir, "codex-runtime.json"))).toBe(false); + expect(loadPersistedCodexRuntime({ configDir })).toBeNull(); + }); + + test("a fallback resolve with no persisted pin writes nothing", () => { + const configDir = tempConfigDir(); + const result = resolveAndPersistCodexRuntime({ + configDir, + env: { PATH: "" }, + platform: "linux", + existsSync: () => false, + execFileSync: () => { throw new Error("ENOENT"); }, + }); + expect(result.runtime.source).toBe("fallback"); + expect(existsSync(join(configDir, "codex-runtime.json"))).toBe(false); + }); + + test("a live configured pin is NOT cleared when the resolve succeeds", () => { + // The clear is bound to a dead pin, not to every fallback-shaped result. + const configDir = tempConfigDir(); + const live = join(configDir, "bin", "codex"); + persistCodexRuntime({ command: live, version: "0.153.0", source: "configured" }, { configDir }); + const result = resolveAndPersistCodexRuntime({ + configDir, + env: { PATH: "" }, + platform: "linux", + existsSync: () => true, + execFileSync: () => "codex-cli 0.153.0", + }); + expect(result.runtime.source).toBe("configured"); + expect(loadPersistedCodexRuntime({ configDir })?.command).toBe(live); + }); + + test("a pin rejected for a NON-path reason is left alone", () => { + // "unrecognized --version output" means the file is present but unusable; that is a + // different failure than a vanished path and is not this issue's recovery case. + const configDir = tempConfigDir(); + const weird = join(configDir, "weird", "codex"); + persistCodexRuntime({ command: weird, version: "0.153.0", source: "configured" }, { configDir }); + resolveAndPersistCodexRuntime({ + configDir, + env: { PATH: "" }, + platform: "linux", + existsSync: () => true, + execFileSync: () => "not a codex binary", + }); + expect(loadPersistedCodexRuntime({ configDir })?.command).toBe(weird); + }); + + test("a case-different missing path does not retire a live pin on linux", () => { + // sameRuntimeCommand() lowercases, so on a case-sensitive filesystem it reports + // /plugins/Codex and /plugins/codex as the same command. They are different files. + // If CODEX_CLI_PATH names the missing lowercase one, its PATH_MISSING failure must + // not retire the uppercase pin that is still live (review finding on #4035). + const configDir = tempConfigDir(); + const live = join(configDir, "plugins", "Codex"); + const missing = join(configDir, "plugins", "codex"); + persistCodexRuntime({ command: live, version: "0.153.0", source: "configured" }, { configDir }); + resolveAndPersistCodexRuntime({ + configDir, + env: { PATH: "", CODEX_CLI_PATH: missing }, + platform: "linux", + existsSync: (p: string) => String(p) === live, + execFileSync: () => "codex-cli 0.153.0", + }); + expect(loadPersistedCodexRuntime({ configDir })?.command).toBe(live); + }); + +}); diff --git a/tests/codex-integration/codex-shim.test.ts b/tests/codex-integration/codex-shim.test.ts index d9ec5d17d58..3178a7ed3ab 100644 --- a/tests/codex-integration/codex-shim.test.ts +++ b/tests/codex-integration/codex-shim.test.ts @@ -6,7 +6,7 @@ import { tmpdir } from "node:os"; import { autoRestoreCodexShim, buildUnixCodexShim, buildWindowsCodexShim, buildWindowsPowerShellCodexShim, diagnoseCodexShim, findCodexOnPath, inspectCodexShimBackingForCommand, installCodexShim, isLocalAbsoluteInspectionPath, isVersionManagerOwnedCodexPath, isWindowsInteropDir, lastCodexDiscoveryError, setCodexShimFreshWriteHookForTests, setCodexShimGuardedWriteHookForTests, setCodexShimProbeHookForTests, setCodexShimProbeObservationMsForTests, setCodexShimProbeShellForTests, setCodexShimRollbackRestoreHookForTests, uninstallCodexShim } from "../../src/codex/shim"; import { removeTreeWithRetry } from "../helpers/remove-tree"; import { repoPath, repoRoot } from "../helpers/repo-root"; -import { INTERNAL_DEADLINE_MS } from "../helpers/test-budget"; +import { INTERNAL_DEADLINE_MS, SPAWN_BUDGET_MS } from "../helpers/test-budget"; const SHIM_MARKER = "opencodex codex autostart shim"; const UNIX_SHIM_REVISION_MARKER = "opencodex unix codex shim revision 2"; @@ -1296,6 +1296,112 @@ printf '%s\\n' child-codex } }); + for (const shell of ["cmd", "powershell", "pwsh"] as const) { + const cases = [ + { callerToken: undefined, bypass: false, label: "missing" }, + ...(shell === "cmd" ? [] : [{ callerToken: "", bypass: false, label: "empty" }]), + { callerToken: "caller-token", bypass: false, label: "explicit token, ensure" }, + { callerToken: "caller-token", bypass: true, label: "explicit token, bypass" }, + ]; + for (const { callerToken, bypass, label } of cases) { + test.skipIf(process.platform !== "win32")(`Windows ${shell} shim restores the caller token (${label})`, () => { + const dir = mkdtempSync(join(tmpdir(), "ocx-shim-token-scope-")); + const oldHome = process.env.OPENCODEX_HOME; + try { + process.env.OPENCODEX_HOME = dir; + const extension = shell === "cmd" ? "cmd" : "ps1"; + const realPath = join(dir, `codex-real.${extension}`); + const wrapperPath = join(dir, `codex.${extension}`); + const driverPath = join(dir, `driver.${extension}`); + const ensurePath = join(dir, "ensure.ts"); + const ensureLog = join(dir, "ensure.log"); + writeFileSync(join(dir, "service-api-token"), "file-token\n"); + writeFileSync(ensurePath, `import { writeFileSync } from "node:fs"; writeFileSync(${JSON.stringify(ensureLog)}, "ensure"); process.exit(19);`); + if (shell === "cmd") { + writeFileSync(realPath, "@echo off\r\necho child:%OPENCODEX_API_AUTH_TOKEN%\r\nexit /b 37\r\n"); + writeFileSync(wrapperPath, buildWindowsCodexShim(realPath, process.execPath, ensurePath, "process")); + writeFileSync(driverPath, `@echo off\r\ncall "${wrapperPath}" exec "arg value"\r\nset "result=%ERRORLEVEL%"\r\necho after:%OPENCODEX_API_AUTH_TOKEN%\r\necho result:%result%\r\nexit /b 0\r\n`); + } else { + writeFileSync(realPath, '"child:$env:OPENCODEX_API_AUTH_TOKEN"\nexit 37\n'); + writeFileSync(wrapperPath, `\uFEFF${buildWindowsPowerShellCodexShim(realPath, process.execPath, ensurePath, "process")}`); + const emptyToken = callerToken === "" ? "$env:OPENCODEX_API_AUTH_TOKEN = ''\n" : ""; + writeFileSync(driverPath, `\uFEFF$ErrorActionPreference = 'Stop'\n${emptyToken}$beforePresence = Test-Path Env:\\OPENCODEX_API_AUTH_TOKEN\n& '${wrapperPath.replace(/'/g, "''")}' exec 'arg value'\n$result = $LASTEXITCODE\n"after:$env:OPENCODEX_API_AUTH_TOKEN"\n"result:$result"\n"presence-preserved:$($beforePresence -eq (Test-Path Env:\\OPENCODEX_API_AUTH_TOKEN))"\n`); + } + const env = shimChildEnv({ + OPENCODEX_HOME: dir, + OPENCODEX_API_AUTH_TOKEN: callerToken ?? "", + OCX_SHIM_BYPASS: bypass ? "1" : "", + }); + if (callerToken === undefined) delete env.OPENCODEX_API_AUTH_TOKEN; + const result = shell === "cmd" + ? spawnSync(process.env.ComSpec ?? "cmd.exe", ["/d", "/c", "driver.cmd"], { cwd: dir, env, encoding: "utf8", timeout: INTERNAL_DEADLINE_MS, windowsHide: true }) + : spawnSync(`${shell}.exe`, ["-NoProfile", "-NonInteractive", "-File", driverPath], { env, encoding: "utf8", timeout: INTERNAL_DEADLINE_MS, windowsHide: true }); + expect(result.status, result.stderr).toBe(0); + expect(result.stdout.trim().split(/\r?\n/)).toEqual([ + `child:${callerToken || "file-token"}`, + `after:${callerToken ?? ""}`, + "result:37", + ...(shell === "cmd" ? [] : ["presence-preserved:True"]), + ]); + expect(existsSync(ensureLog)).toBe(!bypass); + } finally { + if (oldHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = oldHome; + removeTreeWithRetry(dir); + } + }, SPAWN_BUDGET_MS); + } + } + + for (const failurePhase of ["ensure", "Codex"]) { + for (const executable of ["powershell.exe", "pwsh.exe"]) { + for (const callerToken of [undefined, "", "caller-token"]) { + test.skipIf(process.platform !== "win32")(`Windows ${executable} shim restores ${callerToken === undefined ? "missing" : callerToken === "" ? "empty" : "explicit"} caller token when ${failurePhase} throws`, () => { + const dir = mkdtempSync(join(tmpdir(), "ocx-shim-token-error-")); + const oldHome = process.env.OPENCODEX_HOME; + try { + process.env.OPENCODEX_HOME = dir; + const wrapperPath = join(dir, "codex.ps1"); + const ensurePath = join(dir, "throw.ps1"); + const driverPath = join(dir, "driver.ps1"); + const realPath = join(dir, "codex-real.ps1"); + writeFileSync(join(dir, "service-api-token"), "file-token\n"); + writeFileSync(ensurePath, failurePhase === "ensure" ? "throw 'fixture ensure failure'\n" : "exit 19\n"); + writeFileSync(realPath, "throw 'fixture Codex failure'\n"); + writeFileSync(wrapperPath, `\uFEFF${buildWindowsPowerShellCodexShim(realPath, ensurePath, "unused.ts", "process")}`); + const emptyToken = callerToken === "" ? "$env:OPENCODEX_API_AUTH_TOKEN = ''\n" : ""; + writeFileSync(driverPath, `\uFEFF$ErrorActionPreference = 'Stop'\n${emptyToken}$beforePresence = Test-Path Env:\\OPENCODEX_API_AUTH_TOKEN\ntry { & '${wrapperPath.replace(/'/g, "''")}' exec } catch { "error:$($_.Exception.Message)" }\n"after:$env:OPENCODEX_API_AUTH_TOKEN"\n"presence-preserved:$($beforePresence -eq (Test-Path Env:\\OPENCODEX_API_AUTH_TOKEN))"\n`); + const env = shimChildEnv({ OPENCODEX_HOME: dir, OPENCODEX_API_AUTH_TOKEN: callerToken ?? "", OCX_SHIM_BYPASS: "" }); + if (callerToken === undefined) delete env.OPENCODEX_API_AUTH_TOKEN; + const result = spawnSync(executable, ["-NoProfile", "-NonInteractive", "-File", driverPath], { + env, encoding: "utf8", timeout: INTERNAL_DEADLINE_MS, windowsHide: true, + }); + expect(result.error).toBeUndefined(); + expect(result.status, result.stderr).toBe(0); + expect(result.stdout.trim().split(/\r?\n/)).toEqual([ + `error:fixture ${failurePhase} failure`, `after:${callerToken ?? ""}`, "presence-preserved:True", + ]); + + // A failed process must complete, rather than satisfy the check through a timeout. + writeFileSync(driverPath, `\uFEFF$ErrorActionPreference = 'Stop'\n& '${wrapperPath.replace(/'/g, "''")}' exec\n`); + const uncaught = spawnSync(executable, ["-NoProfile", "-NonInteractive", "-File", driverPath], { + env, encoding: "utf8", timeout: INTERNAL_DEADLINE_MS, windowsHide: true, + }); + expect(uncaught.error).toBeUndefined(); + expect(uncaught.signal).toBeNull(); + expect(typeof uncaught.status, uncaught.stderr).toBe("number"); + expect(uncaught.status, uncaught.stderr).not.toBe(0); + expect(uncaught.stderr).toContain(`fixture ${failurePhase} failure`); + } finally { + if (oldHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = oldHome; + removeTreeWithRetry(dir); + } + }, SPAWN_BUDGET_MS); + } + } + } + test("Unix shim skips ocx startup only for Codex management commands", () => { if (process.platform === "win32") return; diff --git a/tests/codex-integration/codex-spark-visibility.test.ts b/tests/codex-integration/codex-spark-visibility.test.ts index c5dfe1c8a7e..f97073b1420 100644 --- a/tests/codex-integration/codex-spark-visibility.test.ts +++ b/tests/codex-integration/codex-spark-visibility.test.ts @@ -9,6 +9,7 @@ import type { OcxConfig } from "../../src/types"; import { removeTreeWithRetry } from "../helpers/remove-tree"; const SPARK = "GPT-5.3-Codex-Spark Weekly"; +const SPARK_SHORT = "GPT-5.3-Codex-Spark 5h"; const originalHome = process.env.OPENCODEX_HOME; let home = ""; @@ -33,7 +34,7 @@ afterEach(() => { }); /** - * Codex Spark is a single-model weekly window. It reads 0% for most operators and, on a + * Codex Spark is a single-model quota with 5-hour and weekly windows. It reads 0% for most operators and, on a * multi-account pool, doubles the bar count on every card for information almost nobody acts * on — so it is hidden unless the operator asks for it. * @@ -46,7 +47,10 @@ describe("Codex Spark quota visibility", () => { saveConfig(baseConfig()); const stored = { weeklyPercent: 11, - customWindows: [{ label: SPARK, percent: 33, resetAt: 3 }], + customWindows: [ + { label: SPARK_SHORT, percent: 33, resetAt: 2 }, + { label: SPARK, percent: 34, resetAt: 3 }, + ], updatedAt: Date.now(), }; const projected = withSparkVisibility(stored); @@ -54,7 +58,7 @@ describe("Codex Spark quota visibility", () => { // saying the same thing on the wire. expect(projected.customWindows).toBeUndefined(); // The source object is untouched — routing and capacity still see the window. - expect(stored.customWindows).toHaveLength(1); + expect(stored.customWindows).toHaveLength(2); expect(projected.weeklyPercent).toBe(11); }); @@ -62,17 +66,26 @@ describe("Codex Spark quota visibility", () => { saveConfig(baseConfig(true)); loadConfig(); const projected = withSparkVisibility({ - customWindows: [{ label: SPARK, percent: 33, resetAt: 3 }], + customWindows: [ + { label: SPARK_SHORT, percent: 33, resetAt: 2 }, + { label: SPARK, percent: 34, resetAt: 3 }, + ], updatedAt: Date.now(), }); - expect(projected.customWindows).toEqual([{ label: SPARK, percent: 33, resetAt: 3 }]); + expect(projected.customWindows).toEqual([ + { label: SPARK_SHORT, percent: 33, resetAt: 2 }, + { label: SPARK, percent: 34, resetAt: 3 }, + ]); }); test("an explicit false hides it", () => { saveConfig(baseConfig(false)); loadConfig(); const projected = withSparkVisibility({ - customWindows: [{ label: SPARK, percent: 33 }], + customWindows: [ + { label: SPARK_SHORT, percent: 33 }, + { label: SPARK, percent: 34 }, + ], updatedAt: Date.now(), }); expect(projected.customWindows).toBeUndefined(); @@ -87,6 +100,7 @@ describe("Codex Spark quota visibility", () => { customWindows: [ { label: "First-party models", percent: 40 }, { label: "API usage", percent: 12 }, + { label: SPARK_SHORT, percent: 32 }, { label: SPARK, percent: 33 }, { label: "Fable", percent: 7 }, { label: "Total subscription credits", percent: 90 }, @@ -112,4 +126,3 @@ describe("Codex Spark quota visibility", () => { expect(withSparkVisibility(null)).toBeNull(); }); }); - diff --git a/tests/codex-integration/codex-v2-gate.test.ts b/tests/codex-integration/codex-v2-gate.test.ts index 4ec67d21961..1390da66980 100644 --- a/tests/codex-integration/codex-v2-gate.test.ts +++ b/tests/codex-integration/codex-v2-gate.test.ts @@ -44,11 +44,19 @@ import { v2TotalLimitToV1ChildLimit, } from "../../src/codex/features"; import { resetCodexRuntimeResolveCacheForTests, setCodexRuntimeResolveCacheForTests } from "../../src/codex/runtime"; +import { MULTI_AGENT_MODE_HINT_RECOMMENDATION } from "../../src/codex/multi-agent-mode-policy"; import { cmdV2, codexFeaturesInvocation, v2StatusLine, multiAgentModeLine } from "../../src/cli/v2"; import { handleManagementAPI } from "../../src/server/management-api"; import { catalogConvergenceFactory } from "../helpers/catalog-convergence"; import { inMemoryManagementPersistence } from "../helpers/management-auth"; +// Independently pinned release presets: removing a production compatibility +// entry must not silently remove its regression case too. +const RELEASED_MODE_HINTS = [ + "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Use sub-agents when parallel work would materially improve speed or quality. This mode remains active until a later multi-agent mode developer message changes it.", + "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Delegate independent sub-tasks to sub-agents whenever parallel work would materially improve speed or quality — do not serialize work that can run concurrently. Each sub-agent runs in its own context and can use all available tools; prefer spawning specialists over doing everything yourself. This mode remains active until a later multi-agent mode developer message changes it.", +] as const; + function template(): Record<string, unknown> { return { slug: "gpt-5.5", @@ -424,6 +432,19 @@ describe("multi_agent_mode_hint_text reader/writer", () => { expect(readFileSync(path, "utf8")).toBe(before); }); + test("writer upgrades exact released presets while preserving user-edited text", () => { + for (const legacy of RELEASED_MODE_HINTS) { + const path = fixtureConfig(TABLE); + expect(setMultiAgentModeHintText(legacy, path)).toEqual({ ok: true, changed: true }); + expect(getMultiAgentModeHintText(path)).toBe(MULTI_AGENT_MODE_HINT_RECOMMENDATION.text); + } + for (const custom of [`${RELEASED_MODE_HINTS[0]} `, `${RELEASED_MODE_HINTS[1]} Ask before delegating.`]) { + const path = fixtureConfig(TABLE); + expect(setMultiAgentModeHintText(custom, path)).toEqual({ ok: true, changed: true }); + expect(getMultiAgentModeHintText(path)).toBe(custom); + } + }); + test("writer clears with null: removes the key, keeps siblings", () => { const path = fixtureConfig("[features.multi_agent_v2]\nenabled = true\nmulti_agent_mode_hint_text = \"Proactive delegation\"\nmax_concurrent_threads_per_session = 17\n"); expect(setMultiAgentModeHintText(null, path)).toEqual({ ok: true, changed: true }); @@ -1349,6 +1370,7 @@ describe("management API parity surface for the WP2 keys", () => { agentsMaxDepth: 2, subagentDeveloperInstructions: null, multiAgentModeHintText: null, + multiAgentModeHintRecommendation: MULTI_AGENT_MODE_HINT_RECOMMENDATION, agentsMaxDepthAppliesWhenV2Disabled: true, }); const v2Path = fixtureConfig("[features.multi_agent_v2]\nenabled = true\n"); @@ -1358,6 +1380,37 @@ describe("management API parity surface for the WP2 keys", () => { }); }); + test.each(RELEASED_MODE_HINTS)("GET preserves a released preset until an explicit hint save: %s", async legacy => { + const initial = `[features.multi_agent_v2]\nenabled = false\n# keep adjacent setting\nmax_concurrent_threads_per_session = 17\nmulti_agent_mode_hint_text = ${JSON.stringify(legacy)}\n`; + await withConfig(initial, async (path, deps) => { + const before = readFileSync(path, "utf8"); + const get = await handleManagementAPI(new Request("http://localhost/api/v2"), new URL("http://localhost/api/v2"), config, deps); + expect(await get?.json()).toMatchObject({ + multiAgentModeHintText: legacy, + multiAgentModeHintRecommendation: MULTI_AGENT_MODE_HINT_RECOMMENDATION, + }); + expect(readFileSync(path, "utf8")).toBe(before); + + const unrelated = await handleManagementAPI(put({ agentsEnabled: false }), new URL("http://localhost/api/v2"), config, deps); + expect(unrelated?.status).toBe(200); + expect(getMultiAgentModeHintText(path)).toBe(legacy); + + const saved = await handleManagementAPI(put({ multiAgentModeHintText: legacy }), new URL("http://localhost/api/v2"), config, deps); + expect(saved?.status).toBe(200); + expect(await saved?.json()).toMatchObject({ + multiAgentModeHintText: MULTI_AGENT_MODE_HINT_RECOMMENDATION.text, + multiAgentModeHintRecommendation: MULTI_AGENT_MODE_HINT_RECOMMENDATION, + }); + expect(getMultiAgentModeHintText(path)).toBe(MULTI_AGENT_MODE_HINT_RECOMMENDATION.text); + expect(readFileSync(path, "utf8")).toContain("# keep adjacent setting"); + expect(getMaxConcurrentThreads(path)).toBe(17); + + const after = readFileSync(path, "utf8"); + expect(setMultiAgentModeHintText(legacy, path)).toEqual({ ok: true, changed: false }); + expect(readFileSync(path, "utf8")).toBe(after); + }); + }); + test("PUT writes each new field independently and re-reads them", async () => { await withConfig("[features.multi_agent_v2]\nenabled = false\n", async (path, deps) => { const onlyNew = await handleManagementAPI(put({ agentsEnabled: false }), new URL("http://localhost/api/v2"), config, deps); diff --git a/tests/codex-integration/doctor.test.ts b/tests/codex-integration/doctor.test.ts index acb0f1b87e5..3f52ea4e45b 100644 --- a/tests/codex-integration/doctor.test.ts +++ b/tests/codex-integration/doctor.test.ts @@ -12,6 +12,7 @@ import { collectConfiguredProxy, collectProxyEnv, collectRunningProxyEnv, + chatgptPublicEndpointHint, collectWslDualInstall, fetchServiceMemory, formatResponseTempLines, @@ -641,6 +642,42 @@ describe("service memory section (#314 WP4)", () => { expect(hint).toContain("ocx service install"); }); + test("ChatGPT public endpoint hint explains channel latency without claiming a fixed delay", () => { + const canonical = { adapter: "openai-responses", authMode: "forward", baseUrl: "https://chatgpt.com/backend-api/codex" }; + const hint = chatgptPublicEndpointHint({ openai: canonical }); + expect(hint).toContain("public ChatGPT endpoint"); + expect(hint).toContain("assumed"); + expect(hint).toContain("websocket"); + expect(hint).toContain("both Pool and Direct modes"); + expect(hint).not.toContain("11s"); + // The helper classifies configuration; it measures no latency. The copy has + // to stay hedged because eligible turns can still fall back to SSE and + // local pacing can delay dispatch before any upstream work starts. + expect(hint).toContain("fall back"); + expect(hint).toContain("one possible contributor"); + expect(chatgptPublicEndpointHint({})).toBeNull(); + // Resolution, not raw text. The registry entry for the built-in `openai` id has + // authKind "forward", so a row that omits `authMode` still forwards to ChatGPT and still + // needs the hint. Reading the raw row suppressed it. + expect(chatgptPublicEndpointHint({ openai: { adapter: "openai-responses", baseUrl: "https://chatgpt.com/backend-api/codex" } })).not.toBeNull(); + // Same reason the other way round: the entry is not key-auth-overridable, so writing + // `authMode: "key"` on this id does not change where requests go. + expect(chatgptPublicEndpointHint({ openai: { adapter: "openai-responses", authMode: "key", baseUrl: "https://chatgpt.com/backend-api/codex" } })).not.toBeNull(); + // The entry sets no baseUrl override, so a differing URL is discarded and the request + // still goes to the canonical endpoint. Describing that route is correct, and a lookalike + // host never becomes the destination. + expect(chatgptPublicEndpointHint({ openai: { adapter: "openai-responses", authMode: "forward", baseUrl: "https://chatgpt.com.example/v1" } })).not.toBeNull(); + // Trailing slashes still normalize to the canonical URL. + expect(chatgptPublicEndpointHint({ openai: { adapter: "openai-responses", authMode: "forward", baseUrl: "https://chatgpt.com/backend-api/codex/" } })).not.toBeNull(); + // A disabled row never routes, so it is not the route in use. + expect(chatgptPublicEndpointHint({ openai: { adapter: "openai-responses", authMode: "forward", baseUrl: "https://chatgpt.com/backend-api/codex", disabled: true } })).toBeNull(); + // A blank baseUrl is discarded like any other override on this id, so it resolves to the + // canonical endpoint and still gets the hint. Resolution has no reachable throw here: + // src/router.ts only rejects an unresolved URL when the registry entry allows a baseUrl + // override, and the `openai` entry does not. + expect(chatgptPublicEndpointHint({ openai: { adapter: "openai-responses", authMode: "forward", baseUrl: " " } })).not.toBeNull(); + }); + test("proxyDownRestartHint prefers 'ocx service start' when a service is installed", () => { const hint = proxyDownRestartHint({ proxyRunning: false, port: 12000, serviceViable: true }); expect(hint).toContain("ocx service start"); @@ -957,4 +994,20 @@ describe("doctor reports an unclean prior proxy exit", () => { expect(logged.join("\n")).not.toContain("may have exited unexpectedly"); }); + + test("runDoctor outputs ChatGPT public endpoint hint when the canonical openai provider is configured", async () => { + const { writeFileSync } = await import("fs"); + const { join } = await import("path"); + writeFileSync( + join(tempHome, "config.json"), + JSON.stringify({ port: 9, codexAutoStart: false, providers: { openai: { adapter: "openai-responses", authMode: "forward", baseUrl: "https://chatgpt.com/backend-api/codex" } } }), + "utf8", + ); + + await runDoctor([]); + + const output = logged.join("\n"); + expect(output).toContain("public ChatGPT endpoint"); + expect(output).toContain("assumed"); + }); }); diff --git a/tests/codex-integration/history-ocx-compaction-recovery.test.ts b/tests/codex-integration/history-ocx-compaction-recovery.test.ts new file mode 100644 index 00000000000..325a83c93df --- /dev/null +++ b/tests/codex-integration/history-ocx-compaction-recovery.test.ts @@ -0,0 +1,108 @@ +import { describe, expect, test } from "bun:test"; +import { Database } from "bun:sqlite"; +import { mkdirSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + +import { + recoverOcxCompactionHistory, + rewriteOcxCompactionsForNativeReplay, +} from "../../src/codex/ocx-compaction-history"; +import { encodeCompactionSummary, SUMMARY_PREFIX } from "../../src/responses/compaction"; +import { removeTreeWithRetry } from "../helpers/remove-tree"; + +describe("OpenCodeX compaction history recovery", () => { + test("lowers only proxy-owned compactions in compacted replacement history", () => { + const source = [ + JSON.stringify({ type: "session_meta", payload: { id: "thread-fixture" } }), + JSON.stringify({ + type: "compacted", + payload: { + replacement_history: [ + { type: "message", role: "user", content: [{ type: "input_text", text: "keep" }] }, + { + type: "compaction", + id: "cmp_fixture", + encrypted_content: encodeCompactionSummary("fixture summary"), + }, + { type: "compaction", id: "cmp_native", encrypted_content: "native-opaque" }, + ], + }, + }), + JSON.stringify({ + type: "response_item", + payload: { type: "compaction", encrypted_content: encodeCompactionSummary("historical output") }, + }), + "", + ].join("\n"); + + const result = rewriteOcxCompactionsForNativeReplay(source); + + expect(result.replaced).toBe(1); + const lines = result.content.trimEnd().split("\n").map(line => JSON.parse(line)); + expect(lines[1].payload.replacement_history).toEqual([ + { type: "message", role: "user", content: [{ type: "input_text", text: "keep" }] }, + { + type: "message", + role: "user", + content: [{ type: "input_text", text: `${SUMMARY_PREFIX}\nfixture summary` }], + }, + { type: "compaction", id: "cmp_native", encrypted_content: "native-opaque" }, + ]); + expect(lines[2].payload.encrypted_content).toStartWith("ocx1:"); + expect(result.content.endsWith("\n")).toBe(true); + }); + + test("is byte-stable when no repairable compaction exists", () => { + const source = `${JSON.stringify({ + type: "compacted", + payload: { replacement_history: [{ type: "compaction", encrypted_content: "native-opaque" }] }, + })}\nnot-json\n`; + + expect(rewriteOcxCompactionsForNativeReplay(source)).toEqual({ content: source, replaced: 0 }); + }); + + test("backs up and atomically repairs one database-selected rollout", () => { + const root = mkdtempSync(join(tmpdir(), "ocx-compaction-recovery-")); + try { + const codexHome = join(root, "codex"); + const rolloutDir = join(codexHome, "sessions", "2026", "09", "07"); + const backupRoot = join(root, "backups"); + mkdirSync(rolloutDir, { recursive: true }); + const threadId = "01a018e6-242f-7801-81b8-ffc0a5c6d589"; + const rolloutPath = join(rolloutDir, `rollout-fixture-${threadId}.jsonl`); + const original = `${JSON.stringify({ + type: "compacted", + payload: { + replacement_history: [{ + type: "compaction", + id: "cmp_fixture", + encrypted_content: encodeCompactionSummary("recover me"), + }], + }, + })}\n`; + writeFileSync(rolloutPath, original, "utf8"); + const stateDbPath = join(codexHome, "state_5.sqlite"); + const db = new Database(stateDbPath, { create: true }); + db.exec("CREATE TABLE threads (id TEXT PRIMARY KEY, rollout_path TEXT NOT NULL)"); + db.query("INSERT INTO threads (id, rollout_path) VALUES (?, ?)").run(threadId, rolloutPath); + db.close(); + + const result = recoverOcxCompactionHistory({ + threadId, + codexHome, + stateDbPath, + backupRoot, + now: () => new Date("2026-09-07T00:00:00.000Z"), + }); + + expect(result.replaced).toBe(1); + expect(result.backupPath).not.toBeNull(); + expect(readFileSync(result.backupPath!, "utf8")).toBe(original); + expect(readFileSync(rolloutPath, "utf8")).toContain(`${SUMMARY_PREFIX}\\nrecover me`); + expect(readFileSync(rolloutPath, "utf8")).not.toContain("ocx1:"); + } finally { + removeTreeWithRetry(root); + } + }); +}); diff --git a/tests/codex-integration/issue-702-expired-replay-state.test.ts b/tests/codex-integration/issue-702-expired-replay-state.test.ts index b73439ecc98..13b96be6384 100644 --- a/tests/codex-integration/issue-702-expired-replay-state.test.ts +++ b/tests/codex-integration/issue-702-expired-replay-state.test.ts @@ -21,7 +21,7 @@ import { startServer } from "../../src/server"; import type { OcxConfig } from "../../src/types"; import { fakeChatGptJwt } from "../helpers/fake-chatgpt-jwt"; import { installIsolatedCodexHome, type IsolatedCodexHome } from "../helpers/isolated-codex-home"; -import { SERVER_BUDGET_MS } from "../helpers/test-budget"; +import { INTERNAL_DEADLINE_MS, SERVER_BUDGET_MS } from "../helpers/test-budget"; import { removeTreeWithRetry } from "../helpers/remove-tree"; const originalFetch = globalThis.fetch; @@ -104,6 +104,46 @@ function completedSse(responseId: string, text: string): string { ].join("\n"); } +async function openResponseSocket(url: URL, headers: Record<string, string>): Promise<WebSocket> { + const target = new URL("/v1/responses", url); + target.protocol = "ws:"; + const socket = new WebSocket(target, { headers } as unknown as string[]); + await new Promise<void>((resolve, reject) => { + const timer = setTimeout(() => { + socket.close(); + reject(new Error("response socket did not open")); + }, INTERNAL_DEADLINE_MS); + socket.onopen = () => { clearTimeout(timer); resolve(); }; + socket.onerror = () => { clearTimeout(timer); reject(new Error("response socket failed to open")); }; + }); + return socket; +} + +async function sendSocketTurn(socket: WebSocket, body: Record<string, unknown>): Promise<Record<string, unknown>> { + return new Promise((resolve, reject) => { + const finish = (error?: Error, frame?: Record<string, unknown>) => { + clearTimeout(timer); + socket.onmessage = socket.onclose = socket.onerror = null; + if (error) reject(error); + else resolve(frame!); + }; + const timer = setTimeout(() => finish(new Error("response socket did not reach a terminal event")), INTERNAL_DEADLINE_MS); + socket.onclose = () => finish(new Error("response socket closed before its terminal event")); + socket.onerror = () => finish(new Error("response socket failed")); + socket.onmessage = event => { + try { + const frame = JSON.parse(String(event.data)); + if (["error", "response.completed", "response.failed", "response.incomplete"].includes(frame.type)) { + finish(undefined, frame); + } + } catch (error) { + finish(error instanceof Error ? error : new Error(String(error))); + } + }; + socket.send(JSON.stringify({ type: "response.create", ...body })); + }); +} + async function waitForRecordedResponseState(): Promise<ResponseStateMetrics> { const deadline = performance.now() + 1_000; while (performance.now() < deadline) { @@ -364,11 +404,86 @@ describe("Issue #702 expired forward replay state", () => { error: { message: expect.stringMatching(/continuation state.*expired/i), type: "invalid_request_error", - code: "invalid_request_error", + code: "previous_response_not_found", }, }); }); + test.each(["expired", "missing"] as const)("%s forward state lets a WebSocket client reconnect and replay full tool history", async mode => { + const upstreamRequests: Record<string, unknown>[] = []; + const realNow = Date.now; + let server: ReturnType<typeof startServer> | null = null; + let socket: WebSocket | null = null; + const toolCall = { + type: "function_call", id: "fc_issue_702", call_id: "call_issue_702", + name: "lookup", arguments: '{"key":"historical"}', status: "completed", + }; + const toolResult = { + type: "function_call_output", call_id: "call_issue_702", output: "historical tool result", + }; + const history = [inputMessage(HISTORICAL_USER_SENTINEL), toolCall]; + const delta = [toolResult, inputMessage(CURRENT_USER_SENTINEL)]; + try { + if (mode === "expired") { + Date.now = () => realNow() - EXPIRED_AGE_MS; + rememberResponseState( + { input: [history[0]], store: false }, + { id: FIRST_RESPONSE_ID, status: "completed", output: [toolCall] }, + undefined, + { force: true }, + ); + Date.now = realNow; + expect(responseStateMetrics().oldestAgeMs).toBeGreaterThan(REPLAY_TTL_MS); + } + globalThis.fetch = (async (input: RequestInfo | URL, init?: RequestInit) => { + const url = new URL(input instanceof Request ? input.url : String(input)); + if (url.hostname === "chatgpt.com" && url.pathname === "/backend-api/codex/responses") { + upstreamRequests.push(JSON.parse(String(init?.body))); + return new Response(completedSse("resp_issue_702_recovered", "recovered with full history"), { + headers: { "content-type": "text/event-stream" }, + }); + } + return originalFetch(input, init); + }) as typeof fetch; + saveConfig({ ...forwardConfig(), websockets: true }); + server = startServer(0); + const headers = { + authorization: `Bearer ${fakeChatGptJwt({ chatgpt_account_id: "acct-issue-702" })}`, + "chatgpt-account-id": "acct-issue-702", + }; + socket = await openResponseSocket(server.url, headers); + const rejected = await sendSocketTurn(socket, { + model: "gpt-5.5", previous_response_id: FIRST_RESPONSE_ID, input: delta, store: false, + }); + expect(rejected).toMatchObject({ + type: "error", status: 400, + error: { type: "invalid_request_error", code: "previous_response_not_found" }, + }); + expect(upstreamRequests).toHaveLength(0); + + // Codex recognizes this code, discards its incremental socket state, and reconnects + // with its complete input. The rejected delta must never be forwarded on its own. + socket.close(); + socket = await openResponseSocket(server.url, headers); + const recovered = await sendSocketTurn(socket, { + model: "gpt-5.5", input: [...history, ...delta], store: false, + tools: [{ type: "function", name: "lookup", parameters: { type: "object" } }], + }); + expect(recovered).toMatchObject({ type: "response.completed", response: { id: "resp_issue_702_recovered" } }); + expect(upstreamRequests).toHaveLength(1); + expect(upstreamRequests[0]!.previous_response_id).toBeUndefined(); + // The canonical forward adapter removes item ids, but must preserve the call/result + // identity and every input item exactly once when the client supplies full history. + const { id: _itemId, ...forwardedToolCall } = toolCall; + expect(upstreamRequests[0]!.input).toEqual([history[0], forwardedToolCall, ...delta]); + } finally { + Date.now = realNow; + globalThis.fetch = originalFetch; + socket?.close(); + await server?.stop(true); + } + }, SERVER_BUDGET_MS); + test("forward mode expands fresh replay state before continuing upstream", async () => { const scenario = await runForwardScenario("fresh"); diff --git a/tests/codex-integration/main-account-hard-lock-auth.test.ts b/tests/codex-integration/main-account-hard-lock-auth.test.ts index d0959817c13..c3caaabe2c8 100644 --- a/tests/codex-integration/main-account-hard-lock-auth.test.ts +++ b/tests/codex-integration/main-account-hard-lock-auth.test.ts @@ -1,5 +1,6 @@ import { afterEach, beforeEach, describe, expect, mock, spyOn, test } from "bun:test"; import { mkdtempSync, writeFileSync } from "node:fs"; +import { createHash } from "node:crypto"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { @@ -25,7 +26,7 @@ import { observeMainQuotaIdentity, } from "../../src/codex/main-account-cache"; import { clearAccountQuota, getMainPolicyQuota, setAccountQuotaFromParsed } from "../../src/codex/quota"; -import { clearCodexUpstreamHealth, clearThreadAccountMap, getCodexUpstreamHealth } from "../../src/codex/routing"; +import { clearCodexUpstreamHealth, clearThreadAccountMap, getCodexUpstreamHealth, getCodexQuotaHealthSnapshot, recordCodexUpstreamOutcome } from "../../src/codex/routing"; import { listOpenAiForwardSidecarCandidates, resolveFirstUsableOpenAiSidecar } from "../../src/providers/openai-sidecar"; import { mapCodexAuthContextErrorToResponse } from "../../src/server/responses/codex-auth-error"; import { handleResponses } from "../../src/server/responses/core"; @@ -33,6 +34,8 @@ import { handleResponsesCompact } from "../../src/server/responses/compact"; import { setIcaclsRunnerForTests } from "../../src/lib/windows-secret-acl"; import type { OcxConfig } from "../../src/types"; import { removeTreeWithRetry } from "../helpers/remove-tree"; +import { helperPath, repoRoot } from "../helpers/repo-root"; +import { INTERNAL_DEADLINE_MS, SPAWN_BUDGET_MS } from "../helpers/test-budget"; const MAIN = mainAccount.MAIN_CODEX_ACCOUNT_ID; const accountId = "hard-lock-main-fixture"; @@ -137,7 +140,162 @@ afterEach(() => { removeTreeWithRetry(home); }); +describe("startup policy binding read is bounded", () => { + // FIFO and symlink cases need POSIX semantics; Windows keeps the portable cases. + const boundedReadCases: string[] = ["valid", "oversize", "directory", "missing", + ...(process.platform === "win32" ? [] : ["fifo-retained", "fifo-hang-proof", "symlink"])]; + test.each(boundedReadCases)("bounded startup read handles %s", scenario => { + const child = Bun.spawnSync([process.execPath, helperPath("bounded-auth-read-child.ts")], { + cwd: repoRoot(), + env: { ...process.env, OCX_BOUNDED_READ_CASE: scenario, + HOME: home, USERPROFILE: home, TMP: home, TEMP: home, TMPDIR: home, + XDG_RUNTIME_DIR: home, LOCALAPPDATA: join(home, "LocalAppData"), + OPENCODEX_HOME: home, CODEX_HOME: home }, + timeout: SPAWN_BUDGET_MS - INTERNAL_DEADLINE_MS, stdout: "pipe", stderr: "pipe", + }); + // A regressed unbounded FIFO read never reaches here: the spawn timeout kills the child. + expect({ exitCode: child.exitCode, stderr: child.stderr.toString() }).toMatchObject({ exitCode: 0 }); + const line = child.stdout.toString().split(/\r?\n/).find(value => value.startsWith("BOUNDED_READ_RESULT=")); + expect(line).toBeDefined(); + const result = JSON.parse(line!.slice("BOUNDED_READ_RESULT=".length)); + if (scenario === "valid") { + expect(result).toMatchObject({ bound: true, matched: true }); + } else if (scenario === "fifo-retained") { + expect(result).toMatchObject({ firstBound: true, bound: false, retained: true }); + } else { + expect(result.bound).toBe(false); + } + if (scenario === "symlink") expect(result.matched).toBe(false); + }, SPAWN_BUDGET_MS); +}); + describe("main quota policy at native admission", () => { + test.each(["owned-99", "owned-98", "foreign", "unknown", "recovery", "second-listener", + "invalid-access-token", "invalid-account-id", "invalid-id-token", "mismatched-identity", "renewed-listener", + "stage-retry", "manual-recovery", "stale-sweep", "retained-unknown-binding", + "conflicting-token-identities", "conflicting-claims", "owned-opaque-99"] as const)( + "fresh startup restores durable main policy only after owned recovery (%s)", scenario => { + const restoredId = scenario === "recovery" ? "hard-lock-recovered-main" : accountId; + const restoredBearer = scenario === "owned-opaque-99" ? "opaque-owned-startup-bearer" : `header.${Buffer.from(JSON.stringify({ exp: tokenExpiry, + ...(["renewed-listener", "manual-recovery", "stale-sweep"].includes(scenario) ? { startupTokenRevision: 1 } : {}), + ...(scenario === "conflicting-claims" ? { chatgpt_account_id: restoredId } : {}), + "https://api.openai.com/auth": { chatgpt_account_id: scenario === "conflicting-token-identities" + ? "hard-lock-conflicting-access-account" + : scenario === "conflicting-claims" ? "hard-lock-conflicting-claim-account" : restoredId } })).toString("base64url")}.signature`; + const quota = { weeklyPercent: scenario === "owned-98" ? 98 : 99, updatedAt: Date.now() - 7 * 60 * 60_000 }; + const identityKey = createHash("sha256").update("opencodex-main-quota-v1\0").update(restoredId).digest("hex"); + if (scenario.startsWith("invalid-") || scenario === "mismatched-identity") { + writeFileSync(join(home, "auth.json"), JSON.stringify({ tokens: { + access_token: scenario === "invalid-access-token" ? 17 : bearer(), + account_id: scenario === "invalid-account-id" ? { invalid: true } + : scenario === "mismatched-identity" ? "conflicting-physical-account" : accountId, + ...(scenario === "invalid-id-token" ? { id_token: 17 } : {}), + } })); + } + if (scenario === "conflicting-token-identities" || scenario === "conflicting-claims" || scenario === "owned-opaque-99") { + writeFileSync(join(home, "auth.json"), JSON.stringify({ tokens: { + access_token: restoredBearer, account_id: accountId, + ...(scenario === "conflicting-token-identities" ? { id_token: bearer() } : {}), + } })); + } + writeFileSync(join(home, "config.json"), JSON.stringify({ + ...config(), port: 0, hostname: "127.0.0.1", codexMainAccountHardLock: scenario !== "second-listener", + providers: { openai: { ...config().providers.openai, codexAccountMode: "direct" } }, + })); + writeFileSync(join(home, "config.toml"), 'model = "gpt-5.6-sol"\n'); + writeFileSync(join(home, "codex-quota-cache.json"), JSON.stringify({ + version: 1, quotas: { [MAIN]: quota }, mainPolicyQuota: { identityKey, quota }, + })); + const fixturePath = join(home, "startup-fixture.json"); + writeFileSync(fixturePath, JSON.stringify({ scenario, accountId: restoredId, bearer: restoredBearer, + originalAccountId: accountId, originalBearer: bearer() })); + const child = Bun.spawnSync([process.execPath, helperPath("main-account-policy-startup-child.ts")], { + cwd: repoRoot(), env: { ...process.env, OCX_POLICY_STARTUP_FIXTURE: fixturePath, + HOME: home, USERPROFILE: home, TMP: home, TEMP: home, TMPDIR: home, + XDG_RUNTIME_DIR: home, LOCALAPPDATA: join(home, "LocalAppData") }, + timeout: SPAWN_BUDGET_MS - INTERNAL_DEADLINE_MS, stdout: "pipe", stderr: "pipe", + }); + expect({ exitCode: child.exitCode, signal: child.signalCode, stderr: child.stderr.toString() }).toMatchObject({ exitCode: 0 }); + const line = child.stdout.toString().split(/\r?\n/).find(value => value.startsWith("POLICY_STARTUP_RESULT=")); + expect(line).toBeDefined(); + const result = JSON.parse(line!.slice("POLICY_STARTUP_RESULT=".length)); + expect(result.before).toMatchObject({ matched: false, policy: null, tokenReads: 0 }); + expect(result.listeners[0].tokenReads).toBe(0); + expect(result.unexpectedNetwork).toEqual([]); + expect(result.policyReadsPinned).toBe(true); + expect(result.beforePrimaryUpstreamCalls).toBe(scenario === "retained-unknown-binding" ? 3 : 0); + const unowned = scenario === "foreign" || scenario === "unknown"; + const unverified = scenario.startsWith("invalid-") || scenario === "mismatched-identity" + || scenario === "conflicting-token-identities" || scenario === "conflicting-claims"; + if (unowned) { + expect(result.firstAdmission.admitted).toBe(true); + expect(result.after.tokenReads).toBe(0); + } else { + expect(result.firstAdmission).toEqual({ admitted: false, error: "CodexMainProfileDrainingError" }); + expect(result.settled.status).toBe("ready"); + // Every owned startup reads the pinned file before it can accept or reject a binding, so + // policyReadsPinned above cannot pass on an empty read list. + expect(result.after.tokenReads).toBeGreaterThan(0); + } + if (unowned || unverified) { + expect(result.after).toMatchObject({ matched: false, policy: null }); + expect(result.response.status).toBe(200); + expect(result.primaryUpstreamCalls).toBe(1); + } else { + expect(result.after).toMatchObject({ matched: true, policy: quota }); + expect(result.response.status).toBe(scenario === "owned-98" ? 200 : 429); + expect(result.primaryUpstreamCalls).toBe(scenario === "owned-98" ? 1 : 0); + if (scenario !== "owned-98") expect(result.response.hardLockError).toBe(true); + } + if (scenario === "recovery") { + expect(result.heldRecovery.observation).toMatchObject({ matched: false, policy: null, tokenReads: 0 }); + expect(result.heldRecovery.poolFallback).toEqual({ admitted: false, error: "CodexMainProfileDrainingError" }); + expect(result.heldRecovery.mainPin).toEqual({ admitted: false, error: "CodexMainProfileDrainingError" }); + expect(result.heldRecovery.storedAlternative).toMatchObject({ admitted: true, kind: "pool" }); + expect(result.heldRecovery.automaticAlternative).toMatchObject({ admitted: true, kind: "pool" }); + expect(result.originalResponse.status).toBe(200); + } + if (scenario === "second-listener") { + expect(result.firstServerSettled).toMatchObject({ matched: false, policy: null, tokenReads: 0 }); + } + if (scenario === "second-listener" || scenario === "renewed-listener") { + expect(result.listeners).toHaveLength(2); + expect(result.listeners[1].tokenReads).toBe(result.firstServerSettled.tokenReads); + } + if (scenario === "renewed-listener") { + expect(result.firstServerSettled).toMatchObject({ matched: false, policy: quota }); + expect(result.originalResponse.status).toBe(200); + } + if (scenario === "stage-retry" || scenario === "manual-recovery") { + expect(result.laterRecovery.blocked).toMatchObject({ matched: false, policy: null, tokenReads: 0, + gate: { status: "blocked", reason: scenario === "stage-retry" ? "stage-cleanup-required" : "manual-recovery" } }); + } + if (scenario === "stage-retry") expect(result.laterRecovery.sweepCalls).toBeGreaterThanOrEqual(2); + if (scenario === "manual-recovery") { + expect(result.laterRecovery).toMatchObject({ apiStatus: 200, duplicateCompleted: true, joined: true, recoveryCalls: 1 }); + expect(result.laterRecovery.pending).toMatchObject({ matched: false, tokenReads: 0, + gate: { status: "blocked", reason: "recovery-pending" } }); + expect(result.originalResponse.status).toBe(200); + } + if (scenario === "stale-sweep") { + expect(result.laterRecovery.pending.gate).toMatchObject({ status: "blocked", reason: "recovery-pending" }); + expect(result.laterRecovery.admission).toEqual({ admitted: false, error: "CodexMainProfileDrainingError" }); + expect(result.originalResponse.status).toBe(200); + } + if (scenario === "retained-unknown-binding") { + expect(result.retainedUnknown.map((entry: { kind: string }) => entry.kind)) + .toEqual(["malformed", "conflicting", "conflicting-tokens"]); + for (const entry of result.retainedUnknown) { + expect(entry.observed).toMatchObject({ matched: true, policy: quota }); + expect(entry.main).toMatchObject({ status: 429, hardLockError: true }); + expect(entry.other.status).toBe(200); + } + expect(result.validReplacement).toMatchObject({ oldMatched: false, newMatched: true, policy: null, + old: { status: 200, hardLockError: false } }); + } + }, SPAWN_BUDGET_MS, + ); + test("short-only 99 blocks exact main and main-only Pool without probe or reauth", async () => { quota(99); const cfg = config(); @@ -185,6 +343,34 @@ describe("main quota policy at native admission", () => { })).rejects.toBeInstanceOf(CodexMainAccountHardLockError); }); + for (const percent of [98.99, 99]) { + test(`Pool cooldown caller fallback keeps the main ${percent}% policy boundary`, async () => { + const cfg = config(); + addAlternative(cfg); + cfg.activeCodexAccountId = "hard-lock-pool"; + observeMainQuotaCredential(bearer(), accountId); + quota(percent); + const now = Date.now(); + recordCodexUpstreamOutcome(cfg, "hard-lock-pool", 429, { + now, modelId: "gpt-5.6-terra", resetAt: now + 600_000, fixedAccount: true, + }); + const cooldown = getCodexQuotaHealthSnapshot("hard-lock-pool", "shared"); + expect(cooldown).not.toBeNull(); + spyOn(Date, "now").mockReturnValue(now + 1_000); + forbidPhysicalReads(); + const context = resolveCodexAuthContext(caller(), cfg, "pool", { + requestScopedMainCredential: true, modelId: "gpt-5.6-terra", + }); + if (percent < 99) { + await expect(context).resolves.toMatchObject({ kind: "main", accountId: null }); + } else { + await expect(context).rejects.toBeInstanceOf(CodexMainAccountHardLockError); + } + expect(cfg.activeCodexAccountId).toBe("hard-lock-pool"); + expect(getCodexQuotaHealthSnapshot("hard-lock-pool", "shared")).toEqual(cooldown); + }); + } + test("unmatched, spoofed-claim, and conflicting-workspace callers do not inherit main policy", async () => { observeMainQuotaCredential(bearer(), accountId); quota(99); diff --git a/tests/codex-integration/multi-agent-compat.test.ts b/tests/codex-integration/multi-agent-compat.test.ts index ce5cab4ef5c..181bcbc32c7 100644 --- a/tests/codex-integration/multi-agent-compat.test.ts +++ b/tests/codex-integration/multi-agent-compat.test.ts @@ -7,7 +7,8 @@ import { afterAll, afterEach, beforeAll, describe, expect, test } from "bun:test import { mkdirSync, mkdtempSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { injectDeveloperMessage, multiAgentGuidanceText, sanitizeEncryptedContentInPlace, V2_GUIDANCE_CHAR_BUDGET } from "../../src/server/responses"; +import { injectDeveloperMessage, multiAgentGuidanceText, sanitizeEncryptedContentInPlace } from "../../src/server/responses"; +import { MULTI_AGENT_MODE_HINT_RECOMMENDATION } from "../../src/codex/multi-agent-mode-policy"; import { parseRequest } from "../../src/responses/parser"; import type { OcxParsedRequest } from "../../src/types"; import { CODEX_ACCOUNT_BOUND_CATALOG_KIND, effectiveSubagentRoster } from "../../src/codex/catalog"; @@ -85,6 +86,14 @@ function catalogFixture(dir: string, models: CatalogFixtureModel[]): void { const V2_ON = "[features.multi_agent_v2]\nenabled = true\n"; const V2_OFF = "[features]\nmulti_agent = true\n"; +const TRIGGER_ONLY_RECOMMENDATION = [ + "Proactive multi-agent delegation is active.", + "Only the delegation trigger changes: a separate explicit request is no longer required.", + "All existing user, authority, task-scope, and collaboration-tool rules continue to apply.", + "Delegate eligible independent work when parallel execution could materially improve speed or quality.", + "User requests override this hint.", + "This mode remains active until a later multi-agent mode developer message changes it.", +].join(" "); function parsedFixture(over: { reasoning?: string; @@ -104,14 +113,14 @@ function parsedFixture(over: { } describe("multiAgentGuidanceText", () => { - test("v1 tool surface + max injects the tagged Proactive text", async () => { + test.each(["max", "ultra"])("v1 %s uses the trigger-only proactive recommendation", async reasoning => { codexHomeFixture(V2_OFF); // guidance fires regardless of v2 flag const text = await multiAgentGuidanceText(parsedFixture({ - reasoning: "max", + reasoning, tools: [{ name: "spawn_agent", namespace: "agents" }, { name: "send_input", namespace: "agents" }], })); - expect(text).toContain("<multi_agent_mode>"); - expect(text).toContain("Proactive multi-agent delegation is active"); + expect(text).toBe(`<multi_agent_mode>${TRIGGER_ONLY_RECOMMENDATION}</multi_agent_mode>`); + expect(MULTI_AGENT_MODE_HINT_RECOMMENDATION.text).toBe(TRIGGER_ONLY_RECOMMENDATION); }); test("v1 tool surface below the top tier stays silent", async () => { @@ -267,7 +276,7 @@ describe("multiAgentGuidanceText", () => { } }); - test("v2 built-in guidance is schema-agnostic and keeps fork rules", async () => { + test("v2 built-in guidance reports routing metadata without replacing native delegation rules", async () => { const dir = codexHomeFixture(V2_ON); catalogFixture(dir, [{ slug: "anthropic/claude-sonnet-5", @@ -279,10 +288,13 @@ describe("multiAgentGuidanceText", () => { { injectionModel: "anthropic/claude-sonnet-5" }, ); - expect(text).toContain("When the active spawn_agent tool supports optional"); - expect(text).toContain("use only models listed for this collaboration surface"); - expect(text).toContain("fork_turns"); - expect(text).toContain('"none"'); + expect(text).toStartWith("<opencodex_subagent_guidance>"); + expect(text).toEndWith("</opencodex_subagent_guidance>"); + expect(text).toContain("OpenCodex sub-agent routing metadata"); + expect(text).toContain("does not override Codex delegation or model-selection rules"); + expect(text).not.toContain("fork_turns"); + expect(text).not.toContain("use it unless"); + expect(text).not.toContain("<multi_agent_mode>"); expect(text).not.toMatch(/hidden/i); expect(text).not.toMatch(/not in the schema/i); expect(text).not.toMatch(/never claim/i); @@ -384,7 +396,7 @@ describe("multiAgentGuidanceText", () => { injectionPrompt: "Use {{model}}.", }, ); - expect(custom).toBe('<multi_agent_mode>Use team/gpt-5.6-sol.</multi_agent_mode>'); + expect(custom).toBe('<opencodex_subagent_guidance>Use team/gpt-5.6-sol.</opencodex_subagent_guidance>'); const exactBare = await multiAgentGuidanceText( parsedFixture({ tools: [{ name: "spawn_agent" }] }), @@ -403,7 +415,7 @@ describe("multiAgentGuidanceText", () => { injectionPrompt: "Use {{model}}.", }, ); - expect(exactBareCustom).toBe("<multi_agent_mode>Use local-fast.</multi_agent_mode>"); + expect(exactBareCustom).toBe("<opencodex_subagent_guidance>Use local-fast.</opencodex_subagent_guidance>"); const bareParent = await multiAgentGuidanceText( parsedFixture({ tools: [{ name: "spawn_agent" }] }), @@ -449,7 +461,7 @@ describe("multiAgentGuidanceText", () => { injectionPrompt: "Use {{model}}.", }, ); - expect(ambiguousCustom).toBe("<multi_agent_mode>Use .</multi_agent_mode>"); + expect(ambiguousCustom).toBe("<opencodex_subagent_guidance>Use .</opencodex_subagent_guidance>"); expect(ambiguousCustom).not.toContain("gpt-5.6-sol"); }); @@ -508,7 +520,7 @@ describe("multiAgentGuidanceText", () => { injectionModel: "gpt-5.6-sol", injectionPrompt: "Use {{model}}.", }, - )).toBe("<multi_agent_mode>Use .</multi_agent_mode>"); + )).toBe("<opencodex_subagent_guidance>Use .</opencodex_subagent_guidance>"); }); test("effective roster applies alias, visibility, v2 compatibility, stable priority, cap, and diagnostics", async () => { @@ -612,7 +624,7 @@ describe("multiAgentGuidanceText", () => { { injectionModel: "anthropic/claude-sonnet-5" }, ); expect(text).toContain('"anthropic/claude-sonnet-5"'); - expect(text).toContain("fork_turns"); + expect(text).toContain("OpenCodex sub-agent routing metadata"); expect(text).not.toContain("Proactive multi-agent delegation is active"); // and WITHOUT an injectionModel it stays silent (codex-rs owns the v2 Proactive text) expect(await multiAgentGuidanceText(parsedFixture({ reasoning: "ultra", tools: nativeV2 }))).toBeNull(); @@ -654,7 +666,7 @@ describe("multiAgentGuidanceText", () => { injectionEffort: "xhigh", subagentModels: ["gpt-5.6-terra"], }); - expect(text).toContain("When the active spawn_agent tool supports optional"); + expect(text).toContain("OpenCodex sub-agent routing metadata"); expect(text).not.toMatch(/hidden|not in the schema|never claim/i); expect(text).toContain('(reasoning_effort high/max/ultra): "gpt-5.6-terra"'); }); @@ -738,8 +750,8 @@ describe("multiAgentGuidanceText", () => { // gpt-5.6-luna carries upstream's "v1" pin, which is now an eligible LEAF worker // (codex-rs 6d4d9442c), so it joins the substituted roster. expect(text).toBe( - '<multi_agent_mode>CUSTOM model=raw/preferred-model effort=max' - + ' Available models (reasoning_effort high/max): "gpt-5.6-terra", "gpt-5.6-luna".</multi_agent_mode>', + '<opencodex_subagent_guidance>CUSTOM model=raw/preferred-model effort=max' + + ' Available models (reasoning_effort high/max): "gpt-5.6-terra", "gpt-5.6-luna".</opencodex_subagent_guidance>', ); }); @@ -778,14 +790,14 @@ describe("multiAgentGuidanceText", () => { expect(await multiAgentGuidanceText(parsedFixture({ reasoning: "medium", tools: v2Tools }))).toBeNull(); }); - test("v2 surface + roster alone (no injectionModel) fires with the argument-acceptance preamble", async () => { + test("v2 surface + roster alone (no injectionModel) reports routing metadata", async () => { const dir = codexHomeFixture(V2_ON); catalogFixture(dir, [{ slug: "gpt-5.6-terra", efforts: ["high", "max", "ultra"] }]); const text = await multiAgentGuidanceText( parsedFixture({ reasoning: "medium", tools: [{ name: "spawn_agent" }] }), { subagentModels: ["gpt-5.6-terra"] }, ); - expect(text).toContain("When the active spawn_agent tool supports optional"); + expect(text).toContain("OpenCodex sub-agent routing metadata"); expect(text).not.toMatch(/hidden|not in the schema|never claim/i); expect(text).toContain('(reasoning_effort high/max/ultra): "gpt-5.6-terra"'); expect(text).not.toContain("Preferred sub-agent"); @@ -844,7 +856,7 @@ describe("multiAgentGuidanceText", () => { expect(await multiAgentGuidanceText(parsedFixture({ reasoning: "max", tools: v1Tools }))).not.toBeNull(); }); - test("v2 body stays within the guidance budget with a full 5-model roster", async () => { + test("v2 body stays within the 700-char budget with a full 5-model roster", async () => { const dir = codexHomeFixture(V2_ON); catalogFixture(dir, [ { slug: "gpt-5.5", efforts: ["low", "medium", "high", "xhigh", "max", "ultra"] }, @@ -861,8 +873,8 @@ describe("multiAgentGuidanceText", () => { subagentModels: ["gpt-5.5", "opencode-go/glm-5.2", "anthropic/claude-opus-4-6", "gpt-5.6-sol", "gpt-5.6-terra"], }, ); - const body = text!.replace(/^<multi_agent_mode>/, "").replace(/<\/multi_agent_mode>$/, ""); - expect(body.length).toBeLessThanOrEqual(V2_GUIDANCE_CHAR_BUDGET); + const body = text!.replace(/^<opencodex_subagent_guidance>/, "").replace(/<\/opencodex_subagent_guidance>$/, ""); + expect(body.length).toBeLessThanOrEqual(700); expect(body).toContain("Available models"); // roster fits inside the budget }); @@ -953,6 +965,43 @@ describe("injectDeveloperMessage", () => { && (part as Record<string, unknown>).text === text; }).length; + test("upgrades historical v1 wording once and preserves replayed guidance", async () => { + codexHomeFixture(V2_OFF); + // Released bytes are independent of today's recommendation and remain in the conversation. + const legacyText = "<multi_agent_mode>Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Delegate independent sub-tasks to sub-agents whenever parallel work would materially improve speed or quality — do not serialize work that can run concurrently. Each sub-agent runs in its own context and can use all available tools; prefer spawning specialists over doing everything yourself. This mode remains active until a later multi-agent mode developer message changes it.</multi_agent_mode>"; + const produce = () => multiAgentGuidanceText(parsedFixture({ + reasoning: "max", tools: [{ name: "spawn_agent", namespace: "agents" }], + })); + const text = await produce(); + expect(text).toBe(`<multi_agent_mode>${TRIGGER_ONLY_RECOMMENDATION}</multi_agent_mode>`); + const history = [generatedItem(legacyText), + { type: "message", role: "user", content: "previous turn" }, + { type: "message", role: "assistant", content: "done" }]; + const firstInput = [...structuredClone(history), { type: "message", role: "user", content: "new turn" }]; + const first = parseRequest({ model: "gpt-5.5", input: firstInput, previous_response_id: "resp_old_v1" }); + first._replayPrefixLen = history.length; + first._continuationConversationMessageIndex = history.length; + injectDeveloperMessage(first, text!); + expect(firstInput.slice(0, history.length)).toEqual(history); + expect(firstInput.slice(history.length)).toEqual([generatedItem(text!), + { type: "message", role: "user", content: "new turn" }]); + expect(countExact(firstInput, legacyText)).toBe(1); + expect(countExact(firstInput, text!)).toBe(1); + + const nextHistory = [...firstInput, { type: "message", role: "assistant", content: "done again" }]; + const secondInput = [...structuredClone(nextHistory), { type: "message", role: "user", content: "next turn" }]; + const second = parseRequest({ model: "gpt-5.5", input: secondInput, previous_response_id: "resp_new_v1" }); + second._replayPrefixLen = nextHistory.length; + second._continuationConversationMessageIndex = nextHistory.length; + const nextText = await produce(); + expect(nextText).toBe(text); + injectDeveloperMessage(second, nextText!); + expect(secondInput.slice(0, nextHistory.length)).toEqual(nextHistory); + expect(secondInput).toHaveLength(nextHistory.length + 1); + expect(countExact(secondInput, legacyText)).toBe(1); + expect(countExact(secondInput, text!)).toBe(1); + }); + test("inserts after leading developer metadata and before conversation", () => { const parsed = parseRequest({ model: "gpt-5.5", @@ -1182,6 +1231,96 @@ describe("injectDeveloperMessage", () => { expect((replay._rawBody as { input: unknown[] }).input.at(-1)).toEqual(generatedItem(guidanceA)); }); + test("proxy guidance dedup records a metadata A-B-A transition", () => { + const metadataA = "<opencodex_subagent_guidance>A</opencodex_subagent_guidance>"; + const metadataB = "<opencodex_subagent_guidance>B</opencodex_subagent_guidance>"; + const current = { type: "message", role: "user", content: "current turn" }; + const rawInput = [generatedItem(metadataA), generatedItem(metadataB), current]; + const parsed = parseRequest({ model: "gpt-5.5", input: rawInput, previous_response_id: "resp_1" }); + parsed._replayPrefixLen = 2; + parsed._continuationConversationMessageIndex = 2; + + injectDeveloperMessage(parsed, metadataA); + + expect(rawInput).toEqual([generatedItem(metadataA), generatedItem(metadataB), generatedItem(metadataA), current]); + expect(parsed.context.messages.map(message => message.content)).toEqual([metadataA, metadataB, metadataA, "current turn"]); + }); + + test("proxy guidance dedup preserves intervening native mode changes", () => { + const nativeA = "<multi_agent_mode>Native policy A</multi_agent_mode>"; + const nativeB = "<multi_agent_mode>Native policy B</multi_agent_mode>"; + const metadata = "<opencodex_subagent_guidance>Routing metadata</opencodex_subagent_guidance>"; + const rawInput = [generatedItem(nativeA), generatedItem(metadata), generatedItem(nativeB), { role: "user", content: "work" }]; + const before = structuredClone(rawInput); + const parsed = parseRequest({ model: "gpt-5.5", input: rawInput }); + parsed._replayPrefixLen = 3; + + injectDeveloperMessage(parsed, metadata); + + expect(rawInput).toEqual(before); + expect(parsed.context.messages.map(message => message.content)).toEqual([nativeA, metadata, nativeB, "work"]); + }); + + test("native mode dedup ignores later proxy guidance", () => { + const native = "<multi_agent_mode>Native policy</multi_agent_mode>"; + const metadata = "<opencodex_subagent_guidance>Routing metadata</opencodex_subagent_guidance>"; + const rawInput = [generatedItem(native), generatedItem(metadata), { role: "user", content: "work" }]; + const before = structuredClone(rawInput); + const parsed = parseRequest({ model: "gpt-5.5", input: rawInput }); + parsed._replayPrefixLen = 2; + + injectDeveloperMessage(parsed, native); + + expect(rawInput).toEqual(before); + expect(countExact(rawInput, native)).toBe(1); + }); + + test("restores default v2 guidance after a custom prompt without changing the custom body", async () => { + const dir = codexHomeFixture(V2_ON); + catalogFixture(dir, [{ slug: "gpt-5.6-terra", efforts: ["high", "max"], multiAgentVersion: "v2" }]); + const fixture = parsedFixture({ tools: [{ name: "spawn_agent" }] }); + const options = { injectionModel: "gpt-5.6-terra", injectionEffort: "high" }; + const metadata = await multiAgentGuidanceText(fixture, options); + const custom = await multiAgentGuidanceText(fixture, { + ...options, + injectionPrompt: "Custom {{model}} effort={{effort}}\nKeep {{unknown}}.", + }); + expect(metadata).not.toBeNull(); + const current = { type: "message", role: "user", content: "current turn" }; + const rawInput = [generatedItem(metadata!), generatedItem(custom!), current]; + const parsed = parseRequest({ model: "gpt-5.5", input: rawInput, previous_response_id: "resp_1" }); + parsed._replayPrefixLen = 2; + parsed._continuationConversationMessageIndex = 2; + + injectDeveloperMessage(parsed, (await multiAgentGuidanceText(fixture, options))!); + + expect(rawInput).toEqual([generatedItem(metadata!), generatedItem(custom!), generatedItem(metadata!), current]); + expect(parsed.context.messages.map(message => message.content)).toEqual([metadata, custom, metadata, "current turn"]); + expect(custom).toBe("<opencodex_subagent_guidance>Custom gpt-5.6-terra effort=high\nKeep {{unknown}}.</opencodex_subagent_guidance>"); + }); + + const legacyBuiltIn = '<multi_agent_mode>When the active spawn_agent tool supports optional "model" or "reasoning_effort" overrides, ' + + 'use only models listed for this collaboration surface. When setting either override, set fork_turns to "none" ' + + '(or a positive turn count such as "3"; full-history forks reject overrides) and make the task message self-contained.' + + ' Preferred sub-agent: model "gpt-5.6-terra", reasoning_effort "high" — use it unless the user names another.</multi_agent_mode>'; + test.each([ + ["built-in", legacyBuiltIn], + ["custom", "<multi_agent_mode>Operator-authored legacy prompt.</multi_agent_mode>"], + ])("preserves legacy %s and native policy when first injecting new proxy guidance", (_kind, legacy) => { + const native = "<multi_agent_mode>Native delegation policy</multi_agent_mode>"; + const metadata = "<opencodex_subagent_guidance>Routing metadata</opencodex_subagent_guidance>"; + const current = { type: "message", role: "user", content: "work" }; + const prefix = [generatedItem(legacy), generatedItem(native)]; + const rawInput = [...prefix, current]; + const parsed = parseRequest({ model: "gpt-5.5", input: rawInput }); + parsed._replayPrefixLen = prefix.length; + + injectDeveloperMessage(parsed, metadata); + + expect(rawInput).toEqual([...prefix, generatedItem(metadata), current]); + expect(parsed.context.messages.map(message => message.content)).toEqual([legacy, native, metadata, "work"]); + }); + test("exact-guidance predicate rejects every near-match replay-prefix shape (#326)", () => { const nearMatches: Array<[string, unknown]> = [ ["non-record item", null], diff --git a/tests/codex-integration/native-profile-processes.test.ts b/tests/codex-integration/native-profile-processes.test.ts index 0a5c449d123..133f97ff9d7 100644 --- a/tests/codex-integration/native-profile-processes.test.ts +++ b/tests/codex-integration/native-profile-processes.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test"; -import { existsSync, mkdirSync, mkdtempSync, writeFileSync } from "node:fs"; +import { mkdirSync, mkdtempSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { dirname, join } from "node:path"; import { @@ -157,27 +157,19 @@ describe("native profile process probe", () => { }); test("kills and settles a timed-out child", async () => { - const directory = mkdtempSync(join(tmpdir(), "ocx-native-probe-")); - const survived = join(directory, "survived"); - const script = [ - `setTimeout(() => require('node:fs').writeFileSync(${JSON.stringify(survived)}, 'alive'), 300);`, - "setInterval(() => {}, 1_000);", - ].join(" "); - try { - await expect(executeNativeProcess(process.execPath, ["-e", script], { - encoding: "utf8", - timeout: 100, - maxBuffer: 1024, - windowsHide: true, - shell: false, - killSignal: "SIGKILL", - })).rejects.toThrow(); - await Bun.sleep(600); - expect(existsSync(survived)).toBe(false); - } finally { - removeTreeWithRetry(directory); - } - }); + // A child marker races the parent's timeout when its event loop is busy. + // Check the observed exit signal instead. Normal exit is a finite fuse, so + // disabling the executor timeout fails this assertion without orphaning a child. + const script = "setTimeout(() => process.exit(0), 10_000);"; + await expect(executeNativeProcess(process.execPath, ["-e", script], { + encoding: "utf8", + timeout: 100, + maxBuffer: 1024, + windowsHide: true, + shell: false, + killSignal: "SIGKILL", + })).rejects.toMatchObject({ killed: true, signal: "SIGKILL" }); + }, 15_000); test("rejects output above the configured byte cap", async () => { await expect(executeNativeProcess(process.execPath, [ diff --git a/tests/codex-integration/project-config-warnings.test.ts b/tests/codex-integration/project-config-warnings.test.ts index 16f9dd258dc..1767ee655a5 100644 --- a/tests/codex-integration/project-config-warnings.test.ts +++ b/tests/codex-integration/project-config-warnings.test.ts @@ -129,6 +129,49 @@ describe("parseTomlDocument", () => { const valid = parseTomlDocument('model_provider = "provider\\\\name"'); expect(valid.root.model_provider).toBe("provider\\name"); }, 2_000); + + for (const scenario of [ + { name: "root override", sameLine: false, tail: ['model_provider = "custom"'], + code: "model_provider_root", via: "root", profileName: null }, + { name: "same-line string", sameLine: true, tail: ['model_provider = "custom"'], + code: "model_provider_root", via: "root", profileName: null }, + { name: "selected profile", sameLine: false, + tail: ['profile = "work"', '[profiles.work]', 'model_provider = "custom"'], + code: "profile_selector", via: "profile", profileName: "work" }, + { name: "selected provider table", sameLine: false, + tail: ['model_provider = "custom"', '[model_providers.custom]', 'name = "Custom"'], + code: "model_providers_table", via: "root", profileName: null }, + ] as const) { + test(`overlapping multiline terminator preserves ${scenario.name} diagnostics`, () => { + const text = ['developer_instructions = """' + (scenario.sameLine ? "" : "\n") + + "foo" + "\\" + '"'.repeat(4), ...scenario.tail].join("\n"); + // Independent TOML parsing proves the escaped quote is followed by a real terminator. + expect(Bun.TOML.parse(text).developer_instructions).toBe('foo"'); + expect(resolveEffectiveProjectModelProvider(text)).toEqual({ + provider: "custom", profileName: scenario.profileName, via: scenario.via, + }); + const warnings = analyzeProjectCodexConfig(text, "fixture/.codex/config.toml"); + expect(warnings).toHaveLength(1); + expect(warnings[0]).toMatchObject({ code: scenario.code, detail: "custom" }); + expect(warnings[0]!.profileName).toBe(scenario.profileName ?? undefined); + if (scenario.code === "model_providers_table") { + expect(parseTomlDocument(text).sections.get("model_providers.custom")?.name).toBe("Custom"); + } + }); + } + + test("escaped three quotes keep fake routing inside the multiline body", () => { + const text = ['developer_instructions = """', "foo" + "\\" + '"'.repeat(3), + 'model_provider = "custom"', '[model_providers.custom]', 'name = "Custom"', + '"""', 'model_provider = "openai"'].join("\n"); + const parsedByBun = Bun.TOML.parse(text); + expect(parsedByBun.model_provider).toBe("openai"); + expect(parsedByBun.developer_instructions).toContain('[model_providers.custom]'); + const parsed = parseTomlDocument(text); + expect(parsed.root.model_provider).toBe("openai"); + expect(parsed.sections.has("model_providers.custom")).toBe(false); + expect(analyzeProjectCodexConfig(text, "fixture/.codex/config.toml")).toEqual([]); + }); }); describe("parseTrustedProjectPathsFromCodexConfig", () => { diff --git a/tests/codex-integration/reserve-availability.test.ts b/tests/codex-integration/reserve-availability.test.ts index d5298ea2f71..38d10e7adae 100644 --- a/tests/codex-integration/reserve-availability.test.ts +++ b/tests/codex-integration/reserve-availability.test.ts @@ -3,7 +3,8 @@ import { clearMainAccountInfoCache, observeMainQuotaCredential, observeMainQuotaIdentity, } from "../../src/codex/main-account-cache"; import { - getMainReserveAuthorization, isMainReserveAuthorizationLive, observeMainReserveRevocation, + getMainReserveAuthorization, isMainReserveAuthorizationLive, nativeUserIdClaims, + observeMainReserveRevocation, } from "../../src/codex/reserve-availability"; import type { WhamUsageResponse } from "../../src/codex/quota-types"; @@ -239,3 +240,31 @@ describe("owned main Reserve capability", () => { } finally { timer.mockRestore(); response.resolve(Response.json(grant())); } }); }); + +describe("native user identity claims", () => { + const token = (auth: Record<string, unknown>) => + `fixture.${Buffer.from(JSON.stringify({ "https://api.openai.com/auth": auth })).toString("base64url")}.signature`; + + test("precedence stays on the raw claims, so an unusable chatgpt_user_id blocks the fallback", () => { + expect(nativeUserIdClaims(token({ chatgpt_user_id: "user-a", user_id: "user-a" }))) + .toEqual({ userId: "user-a", conflict: false }); + expect(nativeUserIdClaims(token({ user_id: "user-b" }))).toEqual({ userId: "user-b", conflict: false }); + // An empty or non-string primary claim selects nothing rather than falling through. + expect(nativeUserIdClaims(token({ chatgpt_user_id: "", user_id: "user-c" }))) + .toEqual({ userId: undefined, conflict: false }); + expect(nativeUserIdClaims(token({ chatgpt_user_id: 17, user_id: "user-d" }))) + .toEqual({ userId: undefined, conflict: false }); + }); + + test("two disagreeing encodings report a conflict without changing the selected id", () => { + expect(nativeUserIdClaims(token({ chatgpt_user_id: "user-a", user_id: "user-b" }))) + .toEqual({ userId: "user-a", conflict: true }); + }); + + test("absent, unparseable, and foreign-namespace tokens report nothing", () => { + expect(nativeUserIdClaims(token({}))).toEqual({ userId: undefined, conflict: false }); + expect(nativeUserIdClaims("not-a-token")).toEqual({ userId: undefined, conflict: false }); + expect(nativeUserIdClaims(`fixture.${Buffer.from(JSON.stringify({ sub: "user-a" })).toString("base64url")}.sig`)) + .toEqual({ userId: undefined, conflict: false }); + }); +}); diff --git a/tests/config/config-mutation-lock.test.ts b/tests/config/config-mutation-lock.test.ts index 06a18dd99de..f874ce66de1 100644 --- a/tests/config/config-mutation-lock.test.ts +++ b/tests/config/config-mutation-lock.test.ts @@ -8,6 +8,7 @@ import { nextAtomicTempSequence } from "../../src/config/atomic-write"; import { CodexCredentialRefreshLockTimeoutError, getCodexAccountCredential, saveCodexAccountCredential } from "../../src/codex/account-store"; import type { OcxConfig } from "../../src/types"; import { ManagementRequest, managementHeaders } from "../helpers/management-auth"; +import { watchdogMs } from "../helpers/ci-watchdog"; import { removeTreeWithRetry } from "../helpers/remove-tree"; import { repoPath, repoRoot } from "../helpers/repo-root"; @@ -24,23 +25,44 @@ function config(port = 10100): OcxConfig { }; } -async function waitForPath(path: string): Promise<void> { - for (let attempt = 0; attempt < 500; attempt += 1) { +async function waitForOwnedChildReady(child: ReturnType<typeof Bun.spawn>, path: string): Promise<void> { + // Readiness budget follows the predeclared platform policy: 5 s locally, 30 s on CI, + // 45 s on Windows CI (watchdogMs), because spawning a Bun child that imports + // src/config.ts takes real time on a loaded runner — a sibling child in the failing + // shard needed 8.3 s end to end. The deadline uses elapsed time with a final recheck, + // and an already-exited child fails fast with its exit code instead of polling the + // full budget. + const budgetMs = watchdogMs(5_000); + const deadline = performance.now() + budgetMs; + while (performance.now() < deadline) { if (existsSync(path)) return; - await Bun.sleep(10); + const exit = await Promise.race([ + Bun.sleep(10).then(() => null), + child.exited.then(code => code as number | null), + ]); + if (exit !== null) { + const stderr = await new Response(child.stderr).text().catch(() => ""); + throw new Error(`config-lock child exited ${exit} before writing marker ${path}\nchild stderr: ${stderr}`); + } } - throw new Error(`Timed out waiting for child marker ${path}`); + if (existsSync(path)) return; + throw new Error(`Timed out waiting ${budgetMs}ms for child marker ${path}`); } async function waitForOwnedChild(child: ReturnType<typeof Bun.spawn>): Promise<number> { + // The child polls for the release marker on a 10 ms sleep, so its exit is bounded by the + // filesystem noticing that write plus one Bun teardown; a loaded Windows runner needs + // real room for both. This helper's own kill() fires only after the full budget and + // throws, so a surfaced exit 143 is never from here — it is the readiness-timeout + // catch's child.kill(), and the error to read is the readiness failure, not this wait. const result = await Promise.race([ child.exited.then(exitCode => ({ exitCode })), - Bun.sleep(5_000).then(() => null), + Bun.sleep(30_000).then(() => null), ]); if (result) return result.exitCode; child.kill(); await child.exited; - throw new Error("Timed out waiting for owned config-lock child"); + throw new Error("Timed out waiting for owned config-lock child after 30s"); } beforeEach(() => { @@ -76,10 +98,12 @@ test("a live cross-process holder is not stolen and runtime writers fail immedia stderr: "pipe", }); + let childKilled = false; try { try { - await waitForPath(readyPath); + await waitForOwnedChildReady(child, readyPath); } catch (error) { + childKilled = true; child.kill(); await child.exited; const stderr = await new Response(child.stderr).text().catch(() => ""); @@ -103,7 +127,11 @@ test("a live cross-process holder is not stolen and runtime writers fail immedia expect(getCodexAccountCredential("busy-account")).toBeNull(); } finally { writeFileSync(releasePath, "release"); - expect(await waitForOwnedChild(child)).toBe(0); + // The readiness-failure path already killed the child; expecting exit 0 here + // would mask that primary error with a bare 143. + if (!childKilled) { + expect(await waitForOwnedChild(child)).toBe(0); + } } saveConfig(config(20200)); @@ -230,22 +258,38 @@ test("exclusive temp collision does not remove or modify somebody else's file", test("failed hardening occurs before candidate bytes are written", () => { let wrote = false; - expect(() => initializePersistedConfigIfMissing(config(), { - harden(_fd, temp) { - expect(readFileSync(temp, "utf8")).toBe(""); - throw new Error("ACL denied"); - }, - write() { wrote = true; }, - })).toThrow(InitialConfigPublicationError); + let linked = false; + let failure: unknown; + try { + initializePersistedConfigIfMissing(config(), { + harden(_fd, temp) { + expect(readFileSync(temp, "utf8")).toBe(""); + throw new Error("private ACL failure detail"); + }, + write() { wrote = true; }, + link() { linked = true; }, + }); + } catch (error) { failure = error; } + expect(failure).toBeInstanceOf(InitialConfigPublicationError); + expect((failure as Error).message).toContain("permissions could not be secured"); + expect((failure as Error).message).toContain("OPENCODEX_HOME"); + expect((failure as Error).message).not.toContain("private ACL failure detail"); + expect(failure).toMatchObject({ publication: "not-published", hardLinkUnavailable: false, residualTemp: false }); expect(wrote).toBe(false); + expect(linked).toBe(false); expect(existsSync(getConfigPath())).toBe(false); expect(initTemps()).toEqual([]); }); test("partial write failure removes only the unpublished temporary name", () => { - expect(() => initializePersistedConfigIfMissing(config(), { - write(fd, bytes) { writeFileSync(fd, bytes.slice(0, 10)); throw new Error("disk full"); }, - })).toThrow(InitialConfigPublicationError); + let failure: unknown; + try { + initializePersistedConfigIfMissing(config(), { + write(fd, bytes) { writeFileSync(fd, bytes.slice(0, 10)); throw new Error("disk full"); }, + }); + } catch (error) { failure = error; } + expect(failure).toBeInstanceOf(InitialConfigPublicationError); + expect((failure as Error).message).toBe("Initial config publication did not finish."); expect(existsSync(getConfigPath())).toBe(false); expect(initTemps()).toEqual([]); }); @@ -259,6 +303,10 @@ test.each(["EOPNOTSUPP", "ENOTSUP", "ENOSYS", "EXDEV", "EPERM"])("unsupported/de } catch (error) { expect(error).toBeInstanceOf(InitialConfigPublicationError); expect((error as InitialConfigPublicationError).hardLinkUnavailable).toBe(true); + expect((error as Error).message).toContain("OPENCODEX_HOME"); + expect((error as Error).message).toContain("private file permissions"); + expect((error as Error).message).not.toContain("do not print raw error"); + expect((error as Error).message).not.toContain("permissions could not be secured"); } expect(existsSync(getConfigPath())).toBe(false); expect(initTemps()).toEqual([]); @@ -361,8 +409,17 @@ test("management API maps config mutation lock contention to retryable 503", asy stderr: "pipe", }); + let childKilled = false; try { - await waitForPath(readyPath); + try { + await waitForOwnedChildReady(child, readyPath); + } catch (error) { + childKilled = true; + child.kill(); + await child.exited; + const stderr = await new Response(child.stderr).text().catch(() => ""); + throw new Error(`${(error as Error).message}\nchild stderr: ${stderr}`); + } const { handleManagementAPI } = await import("../../src/server/management-api"); const url = new URL("http://localhost/api/codex-auth/auto-switch"); const response = await handleManagementAPI( @@ -381,6 +438,10 @@ test("management API maps config mutation lock contention to retryable 503", asy }); } finally { writeFileSync(releasePath, "release"); - expect(await waitForOwnedChild(child)).toBe(0); + // The readiness-failure path already killed the child; expecting exit 0 here + // would mask that primary error with a bare 143. + if (!childKilled) { + expect(await waitForOwnedChild(child)).toBe(0); + } } }); diff --git a/tests/config/settings-stream-mode.test.ts b/tests/config/settings-stream-mode.test.ts index 029dbb51466..8e88100389d 100644 --- a/tests/config/settings-stream-mode.test.ts +++ b/tests/config/settings-stream-mode.test.ts @@ -381,6 +381,42 @@ describe("PUT /api/settings", () => { expect(bad!.status).toBe(400); }); + test("codexClientCompaction (#3978): absent reports false, changes converge once, and disable deletes the key", async () => { + const config = baseConfig(); + const absent = await (await getSettings(config))!.json() as { codexClientCompaction?: boolean }; + expect(absent.codexClientCompaction).toBe(false); + + let convergences = 0; + let saved: OcxConfig | undefined; + const on = await putSettings(config, { codexClientCompaction: true }, { + saveConfigPreservingClaudeCode: next => { saved = next; }, + createManagementConvergeCodex: catalogConvergenceFactory(() => { convergences += 1; }), + }); + expect(on!.status).toBe(200); + expect(await on!.json()).toMatchObject({ codexClientCompaction: true }); + expect(saved?.codexClientCompaction).toBe(true); + expect(convergences).toBe(1); + + const same = await putSettings(config, { codexClientCompaction: true }, { + saveConfigPreservingClaudeCode: () => {}, + createManagementConvergeCodex: catalogConvergenceFactory(() => { convergences += 1; }), + }); + expect(same!.status).toBe(200); + expect(convergences).toBe(1); + + const off = await putSettings(config, { codexClientCompaction: false }, { + saveConfigPreservingClaudeCode: next => { saved = next; }, + createManagementConvergeCodex: catalogConvergenceFactory(() => { convergences += 1; }), + }); + expect(off!.status).toBe(200); + expect(await off!.json()).toMatchObject({ codexClientCompaction: false }); + expect(Object.hasOwn(saved!, "codexClientCompaction")).toBe(false); + expect(convergences).toBe(2); + + const bad = await putSettings(config, { codexClientCompaction: "yes" }); + expect(bad!.status).toBe(400); + }); + test("account-picker disable does not initialize an empty namespace map", async () => { const config = baseConfig(); let convergences = 0; diff --git a/tests/fixtures/parent-stop-runner.ts b/tests/fixtures/parent-stop-runner.ts new file mode 100644 index 00000000000..9a26d528451 --- /dev/null +++ b/tests/fixtures/parent-stop-runner.ts @@ -0,0 +1,99 @@ +/** Runs the real CLI/stop module graph with process and client I/O isolated in this child. */ +import { mock } from "bun:test"; +import * as childProcess from "node:child_process"; +import { existsSync, readFileSync, writeFileSync } from "node:fs"; +import { join } from "node:path"; +import type { CodexNativeRestoreResult } from "../../src/codex/inject"; + +const options = JSON.parse(readFileSync(0, "utf8")) as { + receipt: boolean; + response: unknown; + restore: CodexNativeRestoreResult; + status?: number; +}; +const home = process.env.OPENCODEX_HOME!; +const endpoint = { hostname: "127.0.0.1", port: 10100 }; +const fakePid = 4242; +const calls = { killed: 0, native: 0, grok: 0, cleared: 0, exited: 0 }; +const urls: string[] = []; +const unexpectedIo: string[] = []; +let alive = true; +let nonce: string | undefined; + +function unexpected(operation: string): never { + unexpectedIo.push(operation); + throw new Error(`unexpected external I/O in parent stop fixture: ${operation}`); +} + +// Neither an accidental POSIX signal nor the Windows taskkill fallback may reach the host. +process.kill = ((pid: number, signal?: number | NodeJS.Signals) => { + if (pid !== fakePid || signal !== 0) { + calls.killed += 1; + return unexpected(`process.kill(${pid}, ${signal})`); + } + if (alive) return true; + calls.exited += 1; + throw Object.assign(new Error("fixture process exited"), { code: "ESRCH" }); +}) as typeof process.kill; +mock.module("node:child_process", () => ({ + ...childProcess, + execFileSync: () => { calls.killed += 1; return unexpected("execFileSync"); }, +})); + +const receipts = await import("../../src/config/pending-teardown"); +process.on("exit", () => { + writeFileSync(join(home, "parent-stop-result.json"), JSON.stringify({ + calls, urls, unexpectedIo, nonce, + receiptExists: nonce !== undefined && existsSync(receipts.pendingTeardownPathFor(nonce)), + })); +}); +const claimReceipt = receipts.claimPendingTeardown; +const clearReceipt = receipts.clearPendingTeardown; +mock.module("../../src/config/pending-teardown", () => ({ + ...receipts, + claimPendingTeardown: (...args: Parameters<typeof claimReceipt>) => { + if (!options.receipt) throw new Error("receipt storage unavailable"); + const receipt = claimReceipt(...args); + nonce = receipt.nonce; + return receipt; + }, + clearPendingTeardown: (value: string) => { calls.cleared += 1; return clearReceipt(value); }, +})); + +const state = await import("../../src/config/process-state"); +mock.module("../../src/config/process-state", () => ({ + ...state, + readPid: () => fakePid, + readRuntimePort: () => endpoint, + removePid() {}, + removeRuntimePort() {}, +})); +const service = await import("../../src/service"); +mock.module("../../src/service", () => ({ ...service, stopServiceIfInstalledDetailed: () => "absent" })); +const native = await import("../../src/codex/inject"); +mock.module("../../src/codex/inject", () => ({ + ...native, + restoreNativeCodexAsync: async () => { calls.native += 1; return options.restore; }, +})); +const grok = await import("../../src/grok/inject"); +mock.module("../../src/grok/inject", () => ({ + ...grok, + stripGrokConfig: () => { calls.grok += 1; return { ok: true, changed: true, message: "Grok restored" }; }, +})); +const systemEnv = await import("../../src/server/system-env"); +mock.module("../../src/server/system-env", () => ({ ...systemEnv, revertSystemEnv() {} })); +const portReclaim = await import("../../src/server/port-reclaim"); +mock.module("../../src/server/port-reclaim", () => ({ ...portReclaim, reclaimListenPort: async () => {} })); +// Only shim preflight is unrelated to this stop contract; parsing and dispatch stay real. +mock.module("../../src/cli/codex-shim-autorestore", () => ({ maybeAutoRestoreCodexShim() {} })); + +globalThis.fetch = (async (input: string | URL | Request) => { + const url = String(input); + if (!url.startsWith("http://127.0.0.1:10100/api/stop")) return unexpected(`fetch(${url})`); + urls.push(url); + if ((options.status ?? 200) !== 409) alive = false; + return Response.json(options.response, { status: options.status ?? 200 }); +}) as typeof fetch; + +process.argv = [process.execPath, "ocx", "stop"]; +await import("../../src/cli/index"); diff --git a/tests/fixtures/test-layout-expected.json b/tests/fixtures/test-layout-expected.json index e9f32f3bcf3..f62377f3e76 100644 --- a/tests/fixtures/test-layout-expected.json +++ b/tests/fixtures/test-layout-expected.json @@ -4,7 +4,6 @@ "account-import.test.ts": "server", "account-pool-management-api.test.ts": "server", "acl-error-classification.test.ts": "lib", - "actionlint-runner.test.ts": "ci-workflows", "active-registry-admission.test.ts": "codex-integration", "adapter-buffered-tool-conformance.test.ts": "adapters", "adapter-error-inline.test.ts": "adapters", @@ -14,19 +13,11 @@ "adapter-tool-conformance.test.ts": "adapters", "adapter-usage.test.ts": "adapters", "agent-driven.test.ts": "cli", - "agent-roles-sync.test.ts": "routing", "agent-task-recovery-cache.test.ts": "server", "agent-task-recovery-combo.test.ts": "server", "agent-task-recovery-fallback.test.ts": "server", "agent-task-recovery-security.test.ts": "server", "agent-task-recovery.test.ts": "server", - "aistudio-bridge-endpoint.test.ts": "adapters/google", - "aistudio-credentials.test.ts": "adapters/google", - "aistudio-extension.test.ts": "adapters/google", - "aistudio-login-cli.test.ts": "adapters/google", - "aistudio-login-flow.test.ts": "adapters/google", - "aistudio-native-webkit.test.ts": "adapters/google", - "aistudio-session-sync.test.ts": "adapters/google", "alias-management-api.test.ts": "server", "alibaba-intl-token-plan.test.ts": "gui", "alibaba-region-backup.test.ts": "providers", @@ -66,6 +57,7 @@ "api-codex-log-guard.test.ts": "server", "api-debug.test.ts": "server", "api-key-attribution.test.ts": "server", + "api-key-selection-capture.test.ts": "providers", "api-keys-routes.test.ts": "server", "api-storage-cleanup.test.ts": "storage", "api-storage-policy-already-running.test.ts": "storage", @@ -81,16 +73,17 @@ "artifacts-ssrf.test.ts": "images", "aside-client.test.ts": "providers", "aside-profile-identity.test.ts": "clients", + "aside-profile-paths.test.ts": "clients", + "aside-profile-sync-owner.test.ts": "clients", + "aside-profiles-routes.test.ts": "server", + "aside-profiles.test.ts": "clients", "assert-mergeable-review.test.ts": "ci-workflows", - "audit-high.test.ts": "ci-workflows", "auto-compact-budget.test.ts": "providers", - "auto-release-workflow.test.ts": "fork", "autostart-health.test.ts": "service", "azure-adapter.test.ts": "providers", "azure-model-router-tool-schema.test.ts": "providers", "baseten-provider.test.ts": "providers", "bearer-admission-routed-provider.test.ts": "codex-integration", - "benchmark-claude-tokens-script.test.ts": "claude-integration", "bounded-body.test.ts": "server", "bridge-legacy-shell-normalization.test.ts": "adapters", "bridge-lifecycle.test.ts": "adapters", @@ -107,6 +100,9 @@ "bun-stream-caps.test.ts": "lib", "cancel-body-on-abort.test.ts": "server", "catalog-cursor-search.test.ts": "codex-integration", + "catalog-full-picker-order.test.ts": "codex-integration", + "catalog-go-exact-efforts.test.ts": "codex-integration", + "catalog-hub-context-window.test.ts": "codex-integration", "catalog-input-modality-enum.test.ts": "codex-integration", "catalog-llamacpp-capabilities.test.ts": "codex-integration", "catalog-oauth-observation.test.ts": "codex-integration", @@ -119,7 +115,6 @@ "chatgpt-device-auth.test.ts": "oauth", "chatgpt-oauth.test.ts": "oauth", "chatgpt-token-expiry.test.ts": "oauth", - "check-hygiene.test.ts": "ci-workflows", "chutes-provider.test.ts": "providers", "ci-workflows.test.ts": "ci-workflows", "citation-markers.test.ts": "responses", @@ -133,21 +128,17 @@ "claude-auth-detect.test.ts": "claude-integration", "claude-auth-mode.test.ts": "claude-integration", "claude-authmode-migration.test.ts": "claude-integration", - "claude-certification.test.ts": "claude-integration", "claude-cli.test.ts": "claude-integration", - "claude-client-version.test.ts": "claude-integration", - "claude-code-compatibility-manifest.test.ts": "claude-integration", "claude-code-thought-signature-scope.test.ts": "claude-integration", "claude-compatibility.test.ts": "claude-integration", "claude-context-windows.test.ts": "claude-integration", "claude-desktop-1m.test.ts": "claude-integration", "claude-desktop-cli.test.ts": "claude-integration", "claude-desktop-config-path.test.ts": "claude-integration", + "claude-desktop-discovery.test.ts": "claude-integration", "claude-desktop-native-context.test.ts": "claude-integration", "claude-desktop-policy.test.ts": "claude-integration", - "claude-directive-auth.test.ts": "claude-integration", - "claude-directive-fallback.test.ts": "claude-integration", - "claude-directive-lifecycle.test.ts": "claude-integration", + "claude-desktop-remote-hub.test.ts": "claude-integration", "claude-dotenv-provenance-transport.test.ts": "claude-integration", "claude-gateway-cache.test.ts": "claude-integration", "claude-inbound-debug.test.ts": "claude-integration", @@ -159,14 +150,10 @@ "claude-models-discovery.test.ts": "claude-integration", "claude-native-passthrough.test.ts": "claude-integration", "claude-outbound.test.ts": "claude-integration", - "claude-reasoning-roundtrip.test.ts": "claude-integration", - "claude-route-callback.test.ts": "claude-integration", - "claude-session.test.ts": "claude-integration", "claude-shell-hook.test.ts": "claude-integration", "claude-sidecar-override.test.ts": "claude-integration", "claude-source-envelope.test.ts": "claude-integration", "claude-system-env-auto.test.ts": "claude-integration", - "claude-token-benchmark.test.ts": "claude-integration", "cleanup-orphaned-workflows.test.ts": "ci-workflows", "clearable-deadline.test.ts": "lib", "cli-account-pool-verbs.test.ts": "cli", @@ -186,6 +173,7 @@ "cli-help.test.ts": "cli", "cli-json-contract.test.ts": "cli", "cli-management-auth.test.ts": "cli", + "cli-models-price.test.ts": "cli", "cli-models-reasoning.test.ts": "cli", "cli-models-runtime-dispatch.test.ts": "cli", "cli-models.test.ts": "cli", @@ -210,12 +198,16 @@ "client-export-modality-enum.test.ts": "clients", "client-fingerprint.test.ts": "clients", "client-hub-relay.test.ts": "clients", + "client-injection-guard.test.ts": "codex-integration", + "client-lifecycle-lock.test.ts": "clients", "client-machine-listener.test.ts": "clients", "cline-pass-deepseek-v4-tool-replay.test.ts": "providers", "cline-pass-provider.test.ts": "providers", "cline-pass-reasoning-efforts.test.ts": "providers", "cline-provider.test.ts": "providers", "closed-pr-branch-cleanup.test.ts": "ci-workflows", + "codebuddy-adapter.test.ts": "providers", + "codebuddy-protocol.test.ts": "providers", "codex-account-delete-atomicity.test.ts": "codex-integration", "codex-account-label.test.ts": "codex-integration", "codex-account-mode-state.test.ts": "gui", @@ -308,7 +300,6 @@ "codex-quota-parser-parity.test.ts": "codex-integration", "codex-quota-prime.test.ts": "codex-integration", "codex-quota-rejection.test.ts": "codex-integration", - "codex-quota.test.ts": "providers", "codex-refresh.test.ts": "codex-integration", "codex-reset-credit-auto-redeem.test.ts": "codex-integration", "codex-reset-credit-operation-ledger.test.ts": "codex-integration", @@ -363,8 +354,6 @@ "container-bootstrap.test.ts": "service", "context-cap-unknown-window.test.ts": "providers", "continuation-dedup.test.ts": "responses", - "conversation-progress.test.ts": "usage", - "core-fork-preservation.test.ts": "responses", "core-lab-boundary.test.ts": "lab", "cost-cap-unknown-evidence.test.ts": "usage", "cost-scoring.test.ts": "usage", @@ -450,9 +439,8 @@ "desktop-3p.test.ts": "clients", "desktop-app-restart.test.ts": "clients", "desktop-profile.test.ts": "clients", + "desktop-remote-store.test.ts": "clients", "destination-policy-resolved.test.ts": "routing", - "dev-auto-release-workflow.test.ts": "fork", - "dev-promotion-workflow.test.ts": "fork", "digitalocean-scaleway-provider.test.ts": "providers", "docs-429-failover-claims.test.ts": "ci-workflows", "docs-bun-source-requirement.test.ts": "ci-workflows", @@ -538,6 +526,7 @@ "gui-static.test.ts": "gui", "health-scoring.test.ts": "server", "history-migration-guardian.test.ts": "codex-integration", + "history-ocx-compaction-recovery.test.ts": "codex-integration", "hyperbolic-provider.test.ts": "providers", "identity-neutralize.test.ts": "adapters", "init-backup-cleanup.test.ts": "service", @@ -595,6 +584,7 @@ "lab-evidence-sanitization.test.ts": "lab", "lab-fabric-outcome-validation.test.ts": "lab", "lab-fabric-persistence-boundary.test.ts": "lab", + "lab-fabric-producer-deadline.test.ts": "lab", "lab-fabric-task.test.ts": "lab", "lab-installation-salt-cache.test.ts": "lab", "lab-ledger-mutation-lock.test.ts": "lab", @@ -630,22 +620,18 @@ "lab-read-filter-validation.test.ts": "lab", "lab-read-surfaces.test.ts": "lab", "legacy-shell-compat.test.ts": "responses", - "live-inference-workflow.test.ts": "ci-workflows", - "live-smoke-ci.test.ts": "ci-workflows", - "live-smoke-cli.test.ts": "ci-workflows", - "live-smoke-report.test.ts": "ci-workflows", "local-management-attestation.test.ts": "server", "local-management-capability.test.ts": "server", "local-management-direct-transport.test.ts": "server", "local-provider-reload-client.test.ts": "server", "local-token-detect.test.ts": "oauth", - "logs-filter.test.ts": "gui", "logs-model-tier-confirmation.test.ts": "gui", "logs-timezone.test.ts": "server", "loop-reasoning-replay.test.ts": "images", "loop.test.ts": "images", "loopback-listener-admission.test.ts": "server", "loopback-listener-integration.test.ts": "server", + "macos-serial-lanes.test.ts": "ci-workflows", "main-account-hard-lock-auth.test.ts": "codex-integration", "main-account-hard-lock-policy.test.ts": "codex-integration", "main-account-hard-lock-recovery.test.ts": "codex-integration", @@ -669,14 +655,17 @@ "minimax-reasoning-split.test.ts": "providers", "model-cache-generation-tombstone.test.ts": "codex-integration", "model-cache.test.ts": "codex-integration", + "model-costs-management-api.test.ts": "server", "model-discovery-management-api.test.ts": "server", "model-display-names-management-api.test.ts": "codex-integration", - "model-metadata-resolver.test.ts": "codex-integration", "model-metadata-sync.test.ts": "codex-integration", + "model-pinned-effort-config.test.ts": "config", + "model-pinned-effort.test.ts": "codex-integration", "model-presets.test.ts": "providers", "model-rename-migration.test.ts": "providers", "model-selection-guidance.test.ts": "cli", "model-visibility-management-api.test.ts": "codex-integration", + "models-feedback-callback.test.ts": "gui", "models-page-groups.test.ts": "gui", "models-workspace-tabs.test.ts": "gui", "moonshot-endpoints.test.ts": "providers", @@ -720,7 +709,6 @@ "oauth-callback-binds.test.ts": "oauth", "oauth-callback-server.test.ts": "oauth", "oauth-device-code-contract.test.ts": "oauth", - "oauth-failover-optout-security.test.ts": "oauth", "oauth-first-add-hint.test.ts": "gui", "oauth-health.test.ts": "oauth", "oauth-log.test.ts": "oauth", @@ -738,7 +726,6 @@ "oauth-status-privacy.test.ts": "oauth", "oauth-store-multi.test.ts": "oauth", "oauth-tos-warning.test.ts": "gui", - "oauth-transport.test.ts": "oauth", "oauth-upsert-preserves-api-key.test.ts": "oauth", "ocx-launcher-runtime.test.ts": "cli", "ocx-launcher-source.test.ts": "cli", @@ -781,9 +768,9 @@ "opencode-go-session-header.test.ts": "providers", "opencode-zen-deepseek-reasoning.test.ts": "providers", "opencode-zen-rate-limit.test.ts": "providers", - "orcarouter-provider.test.ts": "providers", "openrouter-provider-routing.test.ts": "providers", "optional-shutdown-hooks.test.ts": "lib", + "orcarouter-provider.test.ts": "providers", "outbound-body-guard.test.ts": "server", "owned-service-home.test.ts": "server", "package-tree-integrity.test.ts": "ci-workflows", @@ -801,17 +788,13 @@ "policy-execution.test.ts": "routing", "port-reclaim.test.ts": "server", "ports.test.ts": "server", - "post-release-decision.test.cjs": "fork", "prime-client.test.ts": "clients", "privacy-mask-account.test.ts": "lib", "privacy-scan-meta-key.test.ts": "ci-workflows", - "privacy-scan.test.ts": "ci-workflows", "process-control-graceful.test.ts": "lib", "process-control.test.ts": "lib", "process-state.test.ts": "service", "project-config-warnings.test.ts": "codex-integration", - "promotion-audit-reuse.test.ts": "ci-workflows", - "promotion-backmerge.test.ts": "fork", "provider-account-quota-persistence.test.ts": "providers", "provider-account-quota-routes.test.ts": "server", "provider-account-quota.test.ts": "providers", @@ -834,13 +817,14 @@ "provider-quota.test.ts": "providers", "provider-registry-parity.test.ts": "providers", "provider-static-model-discovery.test.ts": "providers", - "provider-tls-profile.test.ts": "providers", "provider-workspace-auth.test.ts": "gui", "provider-workspace-data.test.ts": "gui", "provider-workspace-rail.test.ts": "gui", "provider-workspace-state.test.ts": "gui", "proxy-env.test.ts": "server", "proxy-liveness.test.ts": "server", + "qoder-adapter.test.ts": "providers", + "qoder-live-models.test.ts": "providers", "quota-401-recovery-runtime.test.ts": "usage", "quota-401-recovery.test.ts": "usage", "quota-bars-rows.test.ts": "gui", @@ -859,22 +843,17 @@ "raycast-client.test.ts": "clients", "raycast-detect.test.ts": "clients", "reasoning-effort.test.ts": "codex-integration", + "reasoning-envelope.test.ts": "responses", "reasoning-replay-identity.test.ts": "adapters", "reasoning-replay-robustness.test.ts": "adapters", "reasoning-replay-scope-source.test.ts": "lib", "redact.test.ts": "lib", - "register.test.ts": "fork", "relay-eager.test.ts": "server", - "release-candidate-publish-workflow.test.ts": "fork", - "release-candidate-workflow.test.ts": "fork", "release-helper.test.ts": "ci-workflows", "release-notes.test.ts": "ci-workflows", - "release-pr-workflow.test.ts": "fork", "release-version-line.test.ts": "ci-workflows", "remote-catalog.test.ts": "clients", "remove-tree-helper.test.ts": "lib", - "replit-pair-install-response.test.ts": "providers", - "replit-provider-setup.test.ts": "providers", "repo-hygiene.test.ts": "ci-workflows", "request-decompress.test.ts": "usage", "request-evidence.test.ts": "usage", @@ -901,12 +880,13 @@ "responses-context-overflow.test.ts": "responses", "responses-custom-tool-guidance.test.ts": "responses", "responses-custom-tool-repair.test.ts": "responses", - "responses-forward-incomplete-quota.test.ts": "responses", "responses-fetch-helpers-boundary.test.ts": "responses", "responses-field-backfill.test.ts": "responses", "responses-forward-dangling-call.test.ts": "responses", + "responses-forward-incomplete-quota.test.ts": "responses", "responses-forward-posit-continuation.test.ts": "responses", "responses-forward-prompt-envelope.test.ts": "responses", + "responses-function-tool-repair.test.ts": "responses", "responses-image-gen-repair.test.ts": "responses", "responses-inbound-store-default.test.ts": "responses", "responses-item-id-repair.test.ts": "responses", @@ -938,6 +918,7 @@ "retry-after-429.test.ts": "server", "route-decision-trace.test.ts": "server", "route-explainability.test.ts": "cli", + "routed-agent-messages.test.ts": "adapters", "router-combo-failover-classification.test.ts": "routing", "router-discarded-baseurl-warning.test.ts": "routing", "router-template-baseurl.test.ts": "routing", @@ -961,10 +942,12 @@ "selected-models.test.ts": "codex-integration", "self-launch-argv.test.ts": "lib", "server-403-permission-e2e.test.ts": "server", + "server-agent-task-recovery-replay.test.ts": "server", "server-auth.test.ts": "server", "server-background-lifecycle.test.ts": "server", "server-clickjacking-headers.test.ts": "server", "server-combo-failover-e2e.test.ts": "server", + "server-google-antigravity-oauth-401-replay.test.ts": "server", "server-images-bodyless-content-length.test.ts": "server", "server-images.test.ts": "server", "server-key-failover-e2e.test.ts": "server", @@ -1008,8 +991,7 @@ "sidecar-tracker.test.ts": "vision", "skill-ocx.test.ts": "ci-workflows", "slug-codec.test.ts": "codex-integration", - "smoke-fingerprint-cache.test.ts": "ci-workflows", - "smoke-runner.test.ts": "ci-workflows", + "sponsor-presets.test.ts": "providers", "sse-client-frame-bounds.test.ts": "responses", "sse-decoder.test.ts": "responses", "sse-failed-tail.test.ts": "responses", @@ -1045,25 +1027,7 @@ "subagent-model-fallback-api.test.ts": "routing", "subagent-model-fallback.test.ts": "routing", "subagent-roster-retention.test.ts": "routing", - "sync-cli.test.ts": "fork", "sync-client-integrations.test.ts": "clients", - "sync-contained.test.ts": "fork", - "sync-detect.test.ts": "fork", - "sync-generic-cli.test.ts": "fork", - "sync-generic-http.test.ts": "fork", - "sync-lane.test.ts": "fork", - "sync-notify.test.ts": "fork", - "sync-overlap.test.ts": "fork", - "sync-ownership.test.ts": "fork", - "sync-pin.test.ts": "fork", - "sync-pr-mergeable.test.ts": "fork", - "sync-prepare.test.ts": "fork", - "sync-preservation.test.ts": "fork", - "sync-publish.test.ts": "fork", - "sync-pull-request.test.ts": "fork", - "sync-vendor-atomic.test.ts": "fork", - "sync-webhook.test.ts": "fork", - "sync-workflow.test.ts": "fork", "synthetic-tool.test.ts": "images", "system-env.test.ts": "server", "system-restart-client.test.ts": "cli", @@ -1071,10 +1035,6 @@ "system-restart.test.ts": "server", "system-routes.test.ts": "server", "systemd-install-cleanup-hardening.test.ts": "service", - "telemetry-dispatcher.test.ts": "usage", - "telemetry-fingerprint.test.ts": "usage", - "telemetry-hook.test.ts": "usage", - "telemetry-ledger.test.ts": "usage", "tencent-siliconflow-providers.test.ts": "gui", "terminal-continuation-owner-rotation.test.ts": "adapters", "terminal-guard-server.test.ts": "server", @@ -1082,7 +1042,6 @@ "test-home-guard.test.ts": "ci-workflows", "test-runner.test.ts": "ci-workflows", "thought-signature-credential-scope.test.ts": "responses", - "reasoning-envelope.test.ts": "responses", "token-estimate.test.ts": "lib", "token-guardian.test.ts": "codex-integration", "tool-argument-integers.test.ts": "adapters", @@ -1122,6 +1081,7 @@ "usage-shape-extraction.test.ts": "usage", "usage-summary.test.ts": "usage", "usage-surfaces.test.ts": "usage", + "usage-time-range.test.ts": "usage", "user-cost-overlay-coderabbit-regressions.test.ts": "usage", "user-cost-overlay-live-reconcile.test.ts": "usage", "user-cost-overlay-provider-delete.test.ts": "usage", @@ -1170,7 +1130,6 @@ "windows-user-principal.test.ts": "windows", "winsw-stop-hardening.test.ts": "windows", "winsw.test.ts": "service", - "workflow-policy.test.ts": "ci-workflows", "ws-endpoint.test.ts": "responses", "ws-upstream-reuse.test.ts": "responses", "ws-upstream.test.ts": "responses", @@ -1189,26 +1148,5 @@ "zhipu-bigmodel-provider.test.ts": "providers", "zz-ci-api-usage-isolation.test.ts": "ci-workflows", "zz-ci-storage-policy-isolation.test.ts": "ci-workflows", - "zz-pr-coderabbit-readiness-revalidation.test.ts": "ci-workflows", - "aside-profiles-routes.test.ts": "server", - "aside-profiles.test.ts": "clients", - "aside-profile-paths.test.ts": "clients", - "aside-profile-sync-owner.test.ts": "clients", - "catalog-full-picker-order.test.ts": "codex-integration", - "catalog-go-exact-efforts.test.ts": "codex-integration", - "claude-desktop-discovery.test.ts": "claude-integration", - "claude-desktop-remote-hub.test.ts": "claude-integration", - "client-injection-guard.test.ts": "codex-integration", - "client-lifecycle-lock.test.ts": "clients", - "desktop-remote-store.test.ts": "clients", - "lab-fabric-producer-deadline.test.ts": "lab", - "opencode-go-agent-messages.test.ts": "providers", - "responses-function-tool-repair.test.ts": "responses", - "server-agent-task-recovery-replay.test.ts": "server", - "server-google-antigravity-oauth-401-replay.test.ts": "server", - "cli-models-price.test.ts": "cli", - "model-costs-management-api.test.ts": "server", - "usage-time-range.test.ts": "usage", - "model-pinned-effort.test.ts": "codex-integration", - "model-pinned-effort-config.test.ts": "config" + "zz-pr-coderabbit-readiness-revalidation.test.ts": "ci-workflows" } diff --git a/tests/gui/integrations-invariants.test.ts b/tests/gui/integrations-invariants.test.ts index 23531043119..47b196b6887 100644 --- a/tests/gui/integrations-invariants.test.ts +++ b/tests/gui/integrations-invariants.test.ts @@ -111,6 +111,7 @@ describe("the client registries cannot drift apart", () => { test("source preservation and cross-process locking are registry capabilities", () => { expect(INTEGRATION_CLIENTS.omp.sourcePreservingYaml?.path).toEqual(["providers", "opencodex"]); + expect(INTEGRATION_CLIENTS.hermes.sourcePreservingYaml?.path).toEqual(["providers", "opencodex"]); expect(INTEGRATION_CLIENTS.dsh.sourcePreservingYaml?.path).toEqual([ "llm-pi-ai", "providers", "opencodex", ]); @@ -649,7 +650,6 @@ describe("the base URL is composed, never interpolated", () => { ]; for (const [hostname, expected] of cases) { const configPath = installClient("hermes"); - writeFileSync(configPath, "providers: {}\n"); const result = applyIntegration({ clientId: "hermes", models: MODELS, port: 10100, config: { ...CONFIG, hostname } as OcxConfig, @@ -673,14 +673,14 @@ describe("a restore never launders a foreign edit into owned content", () => { * made the state read `current`, and disable then deleted the user's own * field as if it were ours. */ - const configPath = installClient("hermes"); + const configPath = installClient("gajae"); writeFileSync(configPath, "providers:\n mine:\n api: http://keep-me\n"); const write = { - clientId: "hermes" as const, models: MODELS, config: CONFIG, port: 10100, + clientId: "gajae" as const, models: MODELS, config: CONFIG, port: 10100, env: TEST_ENV, home, store, }; expect(applyIntegration(write).ok).toBe(true); - const applyOp = store.listOperations("hermes")[0]!.opId; + const applyOp = store.listOperations("gajae")[0]!.opId; // The user edits the file by hand, adding something of their own. const edited = `${readFileSync(configPath, "utf8")}user_field: mine\n`; @@ -688,7 +688,7 @@ describe("a restore never launders a foreign edit into owned content", () => { // Confirmed drift-restore back to the applied bytes; the edit is snapshotted. expect(restoreIntegration({ ...write, opId: applyOp, confirmDrift: true }).ok).toBe(true); - const restoreOp = store.listOperations("hermes")[0]!.opId; + const restoreOp = store.listOperations("gajae")[0]!.opId; // Undo that restore: the user's edited bytes come back. expect(restoreIntegration({ ...write, opId: restoreOp, confirmDrift: true }).ok).toBe(true); @@ -696,7 +696,7 @@ describe("a restore never launders a foreign edit into owned content", () => { // The record no longer describes these bytes, so the state is conflict… const status = readIntegrationState({ - clientId: "hermes", models: MODELS, config: CONFIG, port: 10100, + clientId: "gajae", models: MODELS, config: CONFIG, port: 10100, env: TEST_ENV, home, store, }); expect(status.state).toBe("conflict"); @@ -717,9 +717,9 @@ describe("the store's own root stays tidy", () => { * catches is a new bookkeeping file appearing without anyone deciding it * should exist. */ - writeFileSync(installClient("hermes"), "providers: {}\n"); + writeFileSync(installClient("gajae"), "providers: {}\n"); const write = { - clientId: "hermes" as const, models: MODELS, config: CONFIG, port: 10100, + clientId: "gajae" as const, models: MODELS, config: CONFIG, port: 10100, env: TEST_ENV, home, store, }; expect(applyIntegration(write).ok).toBe(true); diff --git a/tests/gui/models-feedback-callback.test.ts b/tests/gui/models-feedback-callback.test.ts new file mode 100644 index 00000000000..460baae2b51 --- /dev/null +++ b/tests/gui/models-feedback-callback.test.ts @@ -0,0 +1,37 @@ +import { expect, test } from "bun:test"; +import { repoPath } from "../helpers/repo-root"; + +const modelsSource = await Bun.file(repoPath("gui", "src", "pages", "Models.tsx")).text(); + +/** + * `publishFeedback` is called from 21 sites and, more importantly, from inside + * `saveDisplayName`, which is itself a `useCallback`. Declared as a plain function it was a + * new identity on every render, so `saveDisplayName` either captured a stale copy or had to + * omit it from its dependency array — the omission is what dev shipped. React's setters are + * the only values the body reads, and those are guaranteed stable, so `useCallback(..., [])` + * is sound and makes the dependency honest instead of suppressed. + */ +test("publishFeedback is a stable useCallback with an empty dependency list", () => { + const at = modelsSource.indexOf("const publishFeedback ="); + expect(at).toBeGreaterThan(-1); + + const declaration = modelsSource.slice(at, modelsSource.indexOf("\n //", at)); + expect(declaration).toContain("useCallback((nextOk: boolean, message: string)"); + // The body may only touch setters; anything else would make [] a lie. + expect(declaration).toContain("setOk(nextOk)"); + expect(declaration).toContain("setStatus(message)"); + expect(declaration).toContain("setFeedbackGen(g => g + 1)"); + expect(declaration.trimEnd().endsWith("}, []);")).toBe(true); +}); + +test("saveDisplayName declares publishFeedback in its dependency array", () => { + const bodyAt = modelsSource.indexOf("const saveDisplayName = useCallback"); + expect(bodyAt).toBeGreaterThan(-1); + + const body = modelsSource.slice(bodyAt); + const deps = body.slice(body.indexOf("}, ["), body.indexOf("]);") + 3); + expect(body.slice(0, body.indexOf("}, ["))) + .toContain("publishFeedback(true, confirmed"); + expect(deps).toContain("publishFeedback"); +}); + diff --git a/tests/helpers/adapter-conformance/wire-drivers.ts b/tests/helpers/adapter-conformance/wire-drivers.ts index 979d1d4780d..d99ea81a6d9 100644 --- a/tests/helpers/adapter-conformance/wire-drivers.ts +++ b/tests/helpers/adapter-conformance/wire-drivers.ts @@ -318,4 +318,13 @@ export const TOOL_WIRE_DRIVERS = { } }, }, + codebuddy: { + // CodeBuddy v1 runs the vendor CLI with `--tools ""` so Codex keeps tool ownership; it forwards + // no client tool catalog and is exempt from routed-tool conformance, so this driver is never + // invoked. It fails loudly if a future change routes it here before the control-protocol tool + // bridge (sdk_mcp / can_use_tool) lands. + async observeOutbound(): Promise<string> { + throw new Error("codebuddy forwards no client tool catalog in v1; excluded from tool conformance"); + }, + }, } satisfies Record<AdapterWire, ToolWireDriver>; diff --git a/tests/helpers/bounded-auth-read-child.ts b/tests/helpers/bounded-auth-read-child.ts new file mode 100644 index 00000000000..a5fd21bdd47 --- /dev/null +++ b/tests/helpers/bounded-auth-read-child.ts @@ -0,0 +1,61 @@ +import { execFileSync } from "node:child_process"; +import { mkdirSync, mkdtempSync, symlinkSync, writeFileSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; + +// Child-process fixture for the bounded startup policy-binding read. A regressed (unbounded) +// FIFO read would block forever, so the parent's spawn timeout is the hang detector; the child +// itself only reports bind outcomes. +const caseName = process.env.OCX_BOUNDED_READ_CASE!; +const root = mkdtempSync(join(tmpdir(), "ocx-bounded-auth-read-")); +const accountId = "bounded-read-account"; +const bearer = `header.${Buffer.from(JSON.stringify({ + exp: Math.floor(Date.now() / 1000) + 86_400, + "https://api.openai.com/auth": { chatgpt_account_id: accountId }, +})).toString("base64url")}.signature`; +const validAuth = JSON.stringify({ tokens: { + access_token: bearer, refresh_token: "bounded-read-refresh", account_id: accountId, +} }); + +const { initializeMainAccountPolicyBinding } = await import("../../src/codex/account-lifecycle"); +const { matchesMainQuotaCredential } = await import("../../src/codex/main-account-cache"); + +const validPath = join(root, "auth-valid.json"); +writeFileSync(validPath, validAuth); +const result: Record<string, unknown> = { case: caseName }; + +if (caseName === "valid") { + result.bound = initializeMainAccountPolicyBinding(validPath); + result.matched = matchesMainQuotaCredential(bearer, accountId); +} else if (caseName === "fifo-retained" || caseName === "fifo-hang-proof") { + const fifoPath = join(root, "auth-fifo"); + execFileSync("mkfifo", [fifoPath]); + if (caseName === "fifo-retained") result.firstBound = initializeMainAccountPolicyBinding(validPath); + const startedAt = Date.now(); + result.bound = initializeMainAccountPolicyBinding(fifoPath); + result.elapsedMs = Date.now() - startedAt; + if (caseName === "fifo-retained") result.retained = matchesMainQuotaCredential(bearer, accountId); +} else if (caseName === "symlink") { + // The link target is a fully valid auth file: following the link would bind, so a refused + // bind proves the no-follow read rather than a content failure. + const linkPath = join(root, "auth-link.json"); + symlinkSync(validPath, linkPath); + result.bound = initializeMainAccountPolicyBinding(linkPath); + result.matched = matchesMainQuotaCredential(bearer, accountId); +} else if (caseName === "oversize") { + const bigPath = join(root, "auth-big.json"); + // Valid JSON whose tokens would bind if read: only the size cap can keep this false. + writeFileSync(bigPath, JSON.stringify({ tokens: { + access_token: bearer, refresh_token: "bounded-read-refresh", account_id: accountId, + }, padding: "a".repeat(5 * 1024 * 1024) })); + result.bound = initializeMainAccountPolicyBinding(bigPath); +} else if (caseName === "directory") { + const dirPath = join(root, "auth-dir"); + mkdirSync(dirPath); + result.bound = initializeMainAccountPolicyBinding(dirPath); +} else if (caseName === "missing") { + result.bound = initializeMainAccountPolicyBinding(join(root, "auth-absent.json")); +} else { + throw new Error(`unknown bounded-read case: ${caseName}`); +} +console.log("BOUNDED_READ_RESULT=" + JSON.stringify(result)); diff --git a/tests/helpers/main-account-policy-startup-child.ts b/tests/helpers/main-account-policy-startup-child.ts new file mode 100644 index 00000000000..387a12cfcda --- /dev/null +++ b/tests/helpers/main-account-policy-startup-child.ts @@ -0,0 +1,292 @@ +import { spyOn } from "bun:test"; +import { readFileSync, writeFileSync } from "node:fs"; +import { join } from "node:path"; + +interface Fixture { + scenario: "owned-99" | "owned-98" | "foreign" | "unknown" | "recovery" | "second-listener" + | "invalid-access-token" | "invalid-account-id" | "invalid-id-token" | "mismatched-identity" | "renewed-listener" + | "stage-retry" | "manual-recovery" | "stale-sweep" | "retained-unknown-binding" + | "conflicting-token-identities" | "conflicting-claims" | "owned-opaque-99"; + accountId: string; + bearer: string; + originalAccountId: string; + originalBearer: string; +} + +const fixture: Fixture = JSON.parse(readFileSync(process.env.OCX_POLICY_STARTUP_FIXTURE!, "utf8")); +let upstreamCalls = 0; +const unexpectedNetwork: string[] = []; +// Install before product imports. Every response is synthetic; no endpoint can escape the fixture. +globalThis.fetch = Object.assign(async (input: RequestInfo | URL, init?: RequestInit) => { + const request = input instanceof Request ? input : new Request(input, init); + const url = new URL(request.url); + if (url.hostname === "chatgpt.com" && url.pathname.endsWith("/responses")) { + upstreamCalls++; + return Response.json({ + id: "resp_policy_startup", object: "response", status: "completed", created_at: 1, + model: "gpt-5.6-sol", output: [], usage: { input_tokens: 1, output_tokens: 0, total_tokens: 1 }, + }); + } + unexpectedNetwork.push(`${url.hostname}${url.pathname}`); + throw new Error("Unexpected network request in startup policy fixture"); +}, { preconnect() {} }) as typeof fetch; + +const { setIcaclsRunnerForTests } = await import("../../src/lib/windows-secret-acl"); +setIcaclsRunnerForTests(() => ({ success: true, exitCode: 0, timedOut: false, stdout: "" })); +const authCollision = await import("../../src/codex/auth-collision"); +const readTokens = authCollision.readCodexTokensResult; +const tokenReads: Array<string | undefined> = []; +const tokenSpy = spyOn(authCollision, "readCodexTokensResult").mockImplementation(authPath => { + tokenReads.push(authPath); + return readTokens(authPath); +}); +const { NativeProfileManager } = await import("../../src/codex/native-profile-manager"); +const { matchesMainQuotaCredential } = await import("../../src/codex/main-account-cache"); +const { getMainPolicyQuota } = await import("../../src/codex/quota"); +const { resolveCodexAuthContext } = await import("../../src/codex/auth-context"); +const { saveCodexAccountCredential } = await import("../../src/codex/account-store"); +const { blockNativeMainRecovery, completeNativeMainRecovery, nativeMainStartupGateSnapshot, waitForNativeMainStartupGate } = await import("../../src/codex/native-profile-startup"); +const { handleNativeProfileAPI } = await import("../../src/codex/native-profile-api"); +const { startServer } = await import("../../src/server"); +const { handleResponses } = await import("../../src/server/responses/core"); +const { loadConfig, saveConfig } = await import("../../src/config"); + +let config = loadConfig(); +const observe = () => ({ + matched: matchesMainQuotaCredential(fixture.bearer, fixture.accountId), + policy: getMainPolicyQuota(), + tokenReads: tokenReads.length, + gate: nativeMainStartupGateSnapshot(), +}); +const before = observe(); +function barrier() { + let enter!: () => void; + let release!: () => void; + const entered = new Promise<void>(resolve => { enter = resolve; }); + const released = new Promise<void>(resolve => { release = resolve; }); + return { entered, release: () => release(), async wait() { enter(); await released; } }; +} +async function waitForReady() { + const deadline = Date.now() + 15_000; + while (nativeMainStartupGateSnapshot().status !== "ready") { + if (Date.now() >= deadline) throw new Error("startup policy fixture did not become ready"); + await Bun.sleep(1); + } +} +const manager = new NativeProfileManager({ + codexHome: process.env.CODEX_HOME!, configDir: process.env.OPENCODEX_HOME!, + keyProvider: { + async get() { return { keyRef: "memory:policy-startup", key: Buffer.alloc(32, 7) }; }, + async create() { return { keyRef: "memory:policy-startup", key: Buffer.alloc(32, 7) }; }, + }, + hardenPath: async () => {}, processProbe: async () => ({ status: "clear", count: 0 }), +}); +let recovered = false; +let recoveryCalls = 0; +let sweepCalls = 0; +const oldSweep = barrier(); +const bindingSweep = barrier(); +const writeRecoveredAuth = () => writeFileSync(manager.context.authPath, JSON.stringify({ tokens: { + access_token: fixture.bearer, refresh_token: "fixture-refresh", account_id: fixture.accountId, +} })); +let enterRecovery!: () => void; +let releaseRecovery!: () => void; +const recoveryEntered = new Promise<void>(resolve => { enterRecovery = resolve; }); +const recoveryRelease = new Promise<void>(resolve => { releaseRecovery = resolve; }); +if (fixture.scenario === "recovery" || fixture.scenario === "manual-recovery") { + // The existing recovery seam changes the physical credential only when the held recovery runs. + manager.recover = async () => { + recoveryCalls++; + writeRecoveredAuth(); + recovered = true; + return { status: "none" } as Awaited<ReturnType<NativeProfileManager["recover"]>>; + }; + saveCodexAccountCredential("startup-pool", { + accessToken: "fixture-pool-access", refreshToken: "fixture-pool-refresh", + expiresAt: Date.now() + 86_400_000, chatgptAccountId: "fixture-pool-account", + }); +} +if (["stage-retry", "manual-recovery", "stale-sweep"].includes(fixture.scenario)) { + manager.stageSweepRequired = () => true; + manager.sweepStages = async () => { + const call = ++sweepCalls; + let plaintextMayRemain = false; + if (fixture.scenario === "stage-retry") { + if (call === 1) plaintextMayRemain = true; + if (call === 2) await oldSweep.wait(); + } else if (fixture.scenario === "manual-recovery") { + if (call === 1) await bindingSweep.wait(); + } else { + if (call === 2) { await oldSweep.wait(); plaintextMayRemain = true; } + if (call === 3) await bindingSweep.wait(); + } + return { plaintextMayRemain } as Awaited<ReturnType<NativeProfileManager["sweepStages"]>>; + }; +} + +const listeners: Array<ReturnType<typeof observe>> = []; +const realServe = Bun.serve; +Bun.serve = ((options: Parameters<typeof Bun.serve>[0]) => { + listeners.push(observe()); + return realServe(options); +}) as typeof Bun.serve; +const ownership = fixture.scenario === "foreign" || fixture.scenario === "unknown" ? fixture.scenario : "owned"; +const start = () => startServer(0, { + inspectNativeCodexOwnership: () => ({ ownership, reason: "synthetic policy-startup fixture" }), + nativeMainStartup: { + manager, + ...(["stage-retry", "stale-sweep"].includes(fixture.scenario) ? { stageSweepIntervalMs: 10 } : {}), + ...(fixture.scenario === "manual-recovery" ? { + probeRecoveryState: () => recovered ? "none" as const : "manual" as const, + } : {}), + ...(fixture.scenario === "recovery" ? { + probeRecoveryState: () => recovered ? "none" as const : "journal" as const, + beforeRecovery: async () => { enterRecovery(); await recoveryRelease; }, + } : {}), + }, +}); +const servers: Array<ReturnType<typeof start>> = []; +const headers = (token = fixture.bearer, id = fixture.accountId) => + new Headers({ authorization: `Bearer ${token}`, "chatgpt-account-id": id }); +const admit = async ( + mode: "direct" | "pool" = "direct", + options: Parameters<typeof resolveCodexAuthContext>[3] = {}, + policy = config, +) => { + try { const context = await resolveCodexAuthContext(headers(), policy, mode, options); return { admitted: true, kind: context.kind }; } + catch (error) { return { admitted: false, error: (error as Error).name }; } +}; +const wire = async (token = fixture.bearer, id = fixture.accountId) => { + const response = await handleResponses(new Request("http://localhost/v1/responses", { + method: "POST", headers: { ...Object.fromEntries(headers(token, id)), "content-type": "application/json" }, + body: JSON.stringify({ model: "gpt-5.6-sol", input: "synthetic startup probe", stream: false }), + }), config, { model: "", provider: "" }); + const text = await response.text(); + return { status: response.status, hardLockError: text.includes("codexMainAccountHardLock") }; +}; + +try { + servers.push(start()); + let firstServerSettled: ReturnType<typeof observe> | undefined; + if (fixture.scenario === "second-listener" || fixture.scenario === "renewed-listener") { + await waitForNativeMainStartupGate(); + firstServerSettled = observe(); + if (fixture.scenario === "renewed-listener") { + writeFileSync(manager.context.authPath, JSON.stringify({ tokens: { + access_token: fixture.bearer, refresh_token: "fixture-refresh", account_id: fixture.accountId, + } })); + } + config = { ...config, codexMainAccountHardLock: true }; + saveConfig(config); + servers.push(start()); + } + const firstAdmission = await admit(); + let heldRecovery: Record<string, unknown> | undefined; + let laterRecovery: Record<string, unknown> | undefined; + let retainedUnknown: Array<Record<string, unknown>> | undefined; + let validReplacement: Record<string, unknown> | undefined; + const otherAccountId = "hard-lock-verified-other"; + const otherBearer = `header.${Buffer.from(JSON.stringify({ exp: Math.floor(Date.now() / 1000) + 86_400, + "https://api.openai.com/auth": { chatgpt_account_id: otherAccountId } })).toString("base64url")}.signature`; + if (fixture.scenario === "recovery") { + await recoveryEntered; + heldRecovery = { + observation: observe(), + poolFallback: await admit("pool", { requestScopedMainCredential: true }), + mainPin: await admit("pool", { requestScopedMainCredential: true }, { ...config, activeCodexAccountPinned: "__main__" }), + storedAlternative: await admit("pool", { accountId: "startup-pool" }, { + ...config, codexAccounts: [{ id: "startup-pool", email: "pool@example.test", isMain: false }], + }), + automaticAlternative: await admit("pool", { requestScopedMainCredential: true }, { + ...config, codexAccounts: [{ id: "startup-pool", email: "pool@example.test", isMain: false }], + }), + }; + releaseRecovery(); + } + if (fixture.scenario === "stage-retry") { + await waitForNativeMainStartupGate(); + laterRecovery = { blocked: observe() }; + await oldSweep.entered; + oldSweep.release(); + await waitForReady(); + laterRecovery.sweepCalls = sweepCalls; + } + if (fixture.scenario === "manual-recovery") { + await waitForNativeMainStartupGate(); + laterRecovery = { blocked: observe() }; + const request = new Request("http://localhost/api/native-main-profiles/recover", { + method: "POST", headers: { "content-type": "application/json" }, body: "{}", + }); + const response = await handleNativeProfileAPI(request, new URL(request.url), config, { + manager, probeRecoveryState: () => recovered ? "none" : "manual", + }); + laterRecovery.apiStatus = response?.status; + await response?.text(); + laterRecovery.pending = observe(); + if (nativeMainStartupGateSnapshot().status === "blocked") { + await bindingSweep.entered; + const firstFlight = waitForNativeMainStartupGate(); + laterRecovery.duplicateCompleted = completeNativeMainRecovery(manager.context.homeId); + laterRecovery.joined = firstFlight === waitForNativeMainStartupGate(); + laterRecovery.recoveryCalls = recoveryCalls; + bindingSweep.release(); + } + } + if (fixture.scenario === "stale-sweep") { + await waitForNativeMainStartupGate(); + await oldSweep.entered; + writeRecoveredAuth(); + blockNativeMainRecovery(manager.context.homeId); + completeNativeMainRecovery(manager.context.homeId); + await bindingSweep.entered; + oldSweep.release(); + // Deliver the older sweep result while the new binding's explicit barrier is still held. + await Bun.sleep(0); + laterRecovery = { pending: observe(), admission: await admit() }; + bindingSweep.release(); + } + if (fixture.scenario === "retained-unknown-binding") { + await waitForNativeMainStartupGate(); + retainedUnknown = []; + for (const kind of ["malformed", "conflicting", "conflicting-tokens"] as const) { + writeFileSync(manager.context.authPath, kind === "malformed" ? "{" : JSON.stringify({ tokens: { + access_token: otherBearer, account_id: fixture.accountId, + ...(kind === "conflicting-tokens" ? { id_token: fixture.bearer } : {}), + } })); + servers.push(start()); + await waitForNativeMainStartupGate(); + retainedUnknown.push({ kind, observed: observe(), main: await wire(), + other: await wire(otherBearer, otherAccountId) }); + } + } + const settled = await waitForNativeMainStartupGate(); + const after = observe(); + const settledAdmission = await admit(); + const beforePrimaryUpstreamCalls = upstreamCalls; + const response = await wire(); + const primaryUpstreamCalls = upstreamCalls - beforePrimaryUpstreamCalls; + const originalResponse = ["recovery", "renewed-listener", "manual-recovery", "stale-sweep"].includes(fixture.scenario) + ? await wire(fixture.originalBearer, fixture.originalAccountId) : undefined; + if (fixture.scenario === "retained-unknown-binding") { + writeFileSync(manager.context.authPath, JSON.stringify({ tokens: { access_token: otherBearer, account_id: otherAccountId } })); + servers.push(start()); + await waitForNativeMainStartupGate(); + validReplacement = { oldMatched: matchesMainQuotaCredential(fixture.bearer, fixture.accountId), + newMatched: matchesMainQuotaCredential(otherBearer, otherAccountId), policy: getMainPolicyQuota(), old: await wire() }; + } + console.log("POLICY_STARTUP_RESULT=" + JSON.stringify({ + scenario: fixture.scenario, before, listeners, firstServerSettled, firstAdmission, heldRecovery, laterRecovery, + retainedUnknown, validReplacement, + settled, after, settledAdmission, response, beforePrimaryUpstreamCalls, primaryUpstreamCalls, originalResponse, + unexpectedNetwork, + policyReadsPinned: tokenReads.every(path => path === manager.context.authPath), + })); +} finally { + releaseRecovery(); + oldSweep.release(); + bindingSweep.release(); + Bun.serve = realServe; + for (const server of servers.reverse()) await server.stop(true); + tokenSpy.mockRestore(); + setIcaclsRunnerForTests(null); +} diff --git a/tests/images/loop.test.ts b/tests/images/loop.test.ts index 976e230b905..4b9d6423b7f 100644 --- a/tests/images/loop.test.ts +++ b/tests/images/loop.test.ts @@ -1,4 +1,4 @@ -import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, mock, spyOn, test } from "bun:test"; +import { afterAll, beforeAll, beforeEach, describe, expect, mock, test } from "bun:test"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { randomUUID } from "node:crypto"; @@ -7,11 +7,8 @@ import type { AdapterEvent, OcxParsedRequest } from "../../src/types"; import type { ImageBridgePlan, ImageCallResult } from "../../src/images/types"; import type { ImageBridgeDeps } from "../../src/images/loop"; import { createTestTranslatorBudget } from "../helpers/translator-budget"; -import { getDebugLogEntries, resetDebugLogBufferForTests } from "../../src/lib/debug-log-buffer"; -import { resetDebugSettingsForTests } from "../../src/lib/debug-settings"; const PREV_HOME = process.env.OPENCODEX_HOME; -const PREV_DEBUG = process.env.OCX_DEBUG; let runWithImageBridgeProduction: typeof import("../../src/images/loop")["runWithImageBridge"]; let clampImageMaxRounds: typeof import("../../src/images/loop")["clampImageMaxRounds"]; let DEFAULT_MAX_ROUNDS: typeof import("../../src/images/loop")["DEFAULT_MAX_ROUNDS"]; @@ -55,12 +52,6 @@ function runWithImageBridge( }); } afterAll(() => { if (PREV_HOME === undefined) delete process.env.OPENCODEX_HOME; else process.env.OPENCODEX_HOME = PREV_HOME; mock.restore(); }); -afterEach(() => { - resetDebugSettingsForTests(); - resetDebugLogBufferForTests(); - if (PREV_DEBUG === undefined) delete process.env.OCX_DEBUG; - else process.env.OCX_DEBUG = PREV_DEBUG; -}); // --- Mock adapter: yields canned events per iteration from a queue --- let streamQueue: AdapterEvent[][] = []; @@ -113,24 +104,36 @@ async function runAndGetSSE(streams: AdapterEvent[][], fulfill?: ImageCallResult } describe("runWithImageBridge", () => { - test("routed image streams carry adapter and bridge diagnostics", async () => { - process.env.OCX_DEBUG = "1"; - const error = spyOn(console, "error").mockImplementation(() => {}); + test.each([307, 308])("the direct image-loop send does not follow %i", async status => { + let targetHits = 0; + let originHits = 0; + const target = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + targetHits++; + return new Response("{}"); + } }); + const origin = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + originHits++; + return new Response("redirect", { status, headers: { location: `http://127.0.0.1:${target.port}/target` } }); + } }); try { - streamQueue = [[{ type: "text_delta", text: "image diagnostic secret" }, { type: "done" }]]; const response = await runWithImageBridge({ - parsed: makeParsed(), - adapter: mockAdapter, - plan, - diagnostic: { requestId: "image-diagnostic", adapterName: "test" }, + parsed: makeParsed(), plan, + adapter: { + ...mockAdapter, + fetchResponse: undefined, + buildRequest: async () => ({ url: `http://127.0.0.1:${origin.port}/model`, method: "POST", headers: { "x-api-key": "synthetic-key" }, body: "synthetic prompt" }), + }, }); - await response.text(); - const lines = getDebugLogEntries().map(entry => entry.line); - expect(lines.some(line => line.includes('"stage":"adapter"') && line.includes('"eventType":"text_delta"'))).toBe(true); - expect(lines.some(line => line.includes('"stage":"bridge"') && line.includes('"eventType":"text_delta"'))).toBe(true); - expect(lines.every(line => !line.includes("image diagnostic secret"))).toBe(true); + const error = await response.json() as { error: { type: string; message: string } }; + expect(targetHits).toBe(0); + expect(originHits).toBe(1); + expect(response.status).toBe(status); + expect(error.error.type).toBe("upstream_error"); + expect(error.error.message).toBe(`Provider error ${status}`); + expect(response.headers.get("location")).toBeNull(); } finally { - error.mockRestore(); + await origin.stop(true); + await target.stop(true); } }); diff --git a/tests/lib/abort-idle-deadline.test.ts b/tests/lib/abort-idle-deadline.test.ts index 9c8422ba53f..d72f09488e5 100644 --- a/tests/lib/abort-idle-deadline.test.ts +++ b/tests/lib/abort-idle-deadline.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "bun:test"; +import { expect, spyOn, test } from "bun:test"; import { idleDeadline } from "../../src/lib/abort"; const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); @@ -17,18 +17,59 @@ test("idleDeadline fires once after the idle window with no reset", async () => expect(fired).toBe(1); }); -test("idleDeadline reset() re-arms and postpones firing", async () => { +test("idleDeadline reset() re-arms and postpones firing", () => { + // Keep this boundary check synchronous: real sleeps can resume after the idle window. + // The other cases below still exercise Bun's real timers. + type TimerHandle = ReturnType<typeof setTimeout>; + let now = 0; + let nextHandle = 0; + const timers = new Map<TimerHandle, { at: number; fire: () => void }>(); + const timeoutSpy = spyOn(globalThis, "setTimeout").mockImplementation((( + callback: (...args: unknown[]) => void, delay = 0, ...args: unknown[] + ) => { + const handle = ++nextHandle as unknown as TimerHandle; + timers.set(handle, { at: now + delay, fire: () => callback(...args) }); + return handle; + }) as typeof setTimeout); + const clearSpy = spyOn(globalThis, "clearTimeout").mockImplementation(handle => { + timers.delete(handle as TimerHandle); + }); + const advanceBy = (ms: number) => { + const target = now + ms; + for (;;) { + const due = [...timers].filter(([, timer]) => timer.at <= target) + .sort((a, b) => a[1].at - b[1].at)[0]; + if (!due) break; + timers.delete(due[0]); + now = due[1].at; + due[1].fire(); + } + now = target; + }; let fired = 0; - const idle = idleDeadline(120, () => { fired += 1; }); - idle.reset(); - for (let i = 0; i < 4; i++) { - await sleep(40); - idle.reset(); // keep-alive: total elapsed (160ms) exceeds 120ms but silence never does + let idle: ReturnType<typeof idleDeadline> | undefined; + try { + idle = idleDeadline(120, () => { fired += 1; }); + idle.reset(); + for (let i = 0; i < 4; i++) { + advanceBy(40); + idle.reset(); // total elapsed exceeds 120 ms, but each silent interval does not + } + expect(fired).toBe(0); + advanceBy(119); + expect(fired).toBe(0); + advanceBy(1); + expect(fired).toBe(1); + advanceBy(240); + expect(fired).toBe(1); + } finally { + try { + idle?.cancel(); + } finally { + clearSpy.mockRestore(); + timeoutSpy.mockRestore(); + } } - expect(fired).toBe(0); - await sleep(220); - expect(fired).toBe(1); - idle.cancel(); }); test("idleDeadline pause() disarms without retiring; reset() re-arms after pause", async () => { diff --git a/tests/lib/credential-redirect-guard.test.ts b/tests/lib/credential-redirect-guard.test.ts index 81213abd1ef..6a4ff7534b8 100644 --- a/tests/lib/credential-redirect-guard.test.ts +++ b/tests/lib/credential-redirect-guard.test.ts @@ -1,58 +1,97 @@ /** * Cross-origin redirect guard for credential-bearing sidecars (#1471 review). * - * Bun follows 3xx by default. It drops `Authorization` when the redirect crosses origins, but - * it forwards NONSTANDARD headers unchanged — which is exactly where the Codex identity lives: - * `chatgpt-account-id`, `session_id`, `x-codex-turn-metadata`. So a canonical ChatGPT endpoint - * answering 302 would hand those to the redirect target while `Authorization` looked safely - * stripped. The first test proves that runtime behavior rather than asserting it from memory; - * the second pins the fix at every credential-bearing call site. + * Exercise production transports against two loopback origins. Safety is a property of the + * application send boundary, independent of which headers a particular runtime happens to + * strip when following redirects. Existing explicit sidecar guards remain checked below. */ import { describe, expect, test } from "bun:test"; import { repoPath } from "../helpers/repo-root"; +import { fetchWithHeaderTimeout, providerFetch } from "../../src/server/responses/fetch-helpers"; +import { fetchWithAttemptDeadline } from "../../src/lib/upstream-retry"; +import { fetchWithHeaderDeadline } from "../../src/server/claude-messages"; +import { fetchGoogleWithRetry } from "../../src/adapters/google-http"; +import { fetchKiroWithRetry } from "../../src/adapters/kiro-retry"; +import type { OcxProviderConfig } from "../../src/types"; -describe("Bun forwards nonstandard headers across a redirect", () => { - test("Authorization is dropped but Codex identity headers are not", async () => { - const captured: Record<string, string | null> = {}; +describe("credential-bearing production transports do not follow redirects", () => { + const nativeFetch = globalThis.fetch; + const senders = ["header", "header-legacy-false", "deadline", "provider", "provider-rebuilt", "claude", "google", "kiro"] as const; + for (const sender of senders) for (const sameOrigin of [false, true]) test.each([301, 302, 303, 307, 308])(`${sender} ${sameOrigin ? "same" : "cross"}-origin: preserves %i without a target send`, async status => { + let targetHits = 0; + let originHits = 0; + const observedRedirect: Array<RequestRedirect | undefined> = []; const target = Bun.serve({ - port: 0, - fetch(req) { - captured.authorization = req.headers.get("authorization"); - captured.account = req.headers.get("chatgpt-account-id"); - captured.session = req.headers.get("session_id"); - captured.turn = req.headers.get("x-codex-turn-metadata"); + hostname: "127.0.0.1", port: 0, + fetch() { + targetHits += 1; return new Response("ok"); }, }); const origin = Bun.serve({ - port: 0, - fetch: () => new Response(null, { - status: 302, - headers: { location: `http://127.0.0.1:${target.port}/landed` }, - }), + hostname: "127.0.0.1", port: 0, + fetch: req => { + if (new URL(req.url).pathname === "/landed") { + targetHits += 1; + return new Response("ok"); + } + originHits += 1; + return new Response("untrusted redirect body", { + status, + headers: { location: sameOrigin ? "/landed" : `http://127.0.0.1:${target.port}/landed` }, + }); + }, }); - + let response: Response | undefined; try { - await fetch(`http://127.0.0.1:${origin.port}/start`, { + const url = `http://127.0.0.1:${origin.port}/start`; + const init: RequestInit = { + method: "POST", body: "synthetic request", redirect: "follow", headers: { - authorization: "Bearer secret-token", + authorization: "Bearer synthetic-token", + "x-api-key": "synthetic-provider-key", "chatgpt-account-id": "acct-123", - session_id: "sess-456", - "x-codex-turn-metadata": "turn-789", }, - }); + }; + const executor = (async (input, sentInit) => { + observedRedirect.push(sentInit?.redirect); + return nativeFetch(input, sentInit); + }) as typeof globalThis.fetch; + const signal = new AbortController().signal; + if (sender === "header") response = await fetchWithHeaderTimeout(url, init, signal, 2_000, false, executor); + else if (sender === "header-legacy-false") response = await fetchWithHeaderTimeout(url, init, signal, 2_000, false, executor, false); + else if (sender === "deadline") response = await fetchWithAttemptDeadline(url, init, 2_000, signal, false, executor); + else if (sender === "claude") { + const result = await fetchWithHeaderDeadline(url, init, 2_000, signal, undefined, executor); + expect(result.kind).toBe("response"); + if (result.kind === "response") response = result.upstream; + } else if (sender === "google" || sender === "kiro") { + const request = { url, method: "POST", headers: init.headers as Record<string, string>, body: init.body as string }; + const context = { abortSignal: signal, timeoutMs: 2_000, returnRawErrors: true, executor }; + if (sender === "google") response = await fetchGoogleWithRetry("test", request, context); + else { + globalThis.fetch = executor; + response = await fetchKiroWithRetry(request, context); + } + } + else { + const provider = { adapter: "openai-chat", baseUrl: url, fetch: executor } as OcxProviderConfig & { fetch: typeof globalThis.fetch }; + const fetcher = providerFetch(provider, undefined, sender === "provider-rebuilt" ? { + dispatchOverride: (input, sentInit, execute) => execute(input, { ...sentInit, redirect: "follow" }), + } : {}); + response = await fetcher(url, init); + } + expect(targetHits).toBe(0); + expect(originHits).toBe(1); + expect(observedRedirect).toEqual(["manual"]); + expect(response?.status).toBe(status); + expect(response?.headers.get("location")).toBe(sameOrigin ? "/landed" : `http://127.0.0.1:${target.port}/landed`); } finally { - origin.stop(true); - target.stop(true); + globalThis.fetch = nativeFetch; + await response?.body?.cancel(); + await origin.stop(true); + await target.stop(true); } - - // The half that looks safe... - expect(captured.authorization).toBeNull(); - // ...and the half that is not. This is why `redirect: "manual"` is required and why - // relying on Authorization stripping alone would be a false sense of safety. - expect(captured.account).toBe("acct-123"); - expect(captured.session).toBe("sess-456"); - expect(captured.turn).toBe("turn-789"); }); }); @@ -73,16 +112,5 @@ describe("credential-bearing sidecars refuse to follow redirects", () => { }); } - // The Responses and compact paths reach the same policy through a different mechanism: - // `fetchWithHeaderTimeout` takes a `manualRedirect` flag and applies `redirect: "manual"` - // centrally (#914). Assert the shared helper still does that, so the two families cannot - // drift apart silently. - test("the shared credential-bearing fetch helper still applies manual redirects", async () => { - const helper = await Bun.file(new URL("../../src/server/responses/fetch-helpers.ts", import.meta.url)).text(); - expect(helper).toContain('redirect: "manual" as const'); - - // And the callers still opt in for forward auth rather than dropping the flag. - const compact = await Bun.file(new URL("../../src/server/responses/compact.ts", import.meta.url)).text(); - expect(compact).toContain('sendProvider.authMode === "forward"'); - }); + // These source checks supplement, rather than replace, the physical-send tests above. }); diff --git a/tests/lib/process-control-graceful.test.ts b/tests/lib/process-control-graceful.test.ts index 690232b2a92..9fad73d38b4 100644 --- a/tests/lib/process-control-graceful.test.ts +++ b/tests/lib/process-control-graceful.test.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from "bun:test"; -import { gracefulStopHost, stopProxyGracefully } from "../../src/lib/process-control"; +import { gracefulStopHost, lastStopRefusalMessage, stopProxyGracefully } from "../../src/lib/process-control"; function okResponse(): Response { - return new Response(JSON.stringify({ success: true }), { status: 200 }); + return new Response(JSON.stringify({ success: true, sharedTeardown: "performed" }), { status: 200 }); } describe("gracefulStopHost", () => { @@ -22,18 +22,61 @@ describe("gracefulStopHost", () => { }); describe("stopProxyGracefully", () => { - test("prefers the canonical HTTPS runtime origin", async () => { - const calls: string[] = []; - await stopProxyGracefully(9, { - readRuntime: () => ({ port: 10443, hostname: "0.0.0.0", origin: "https://proxy.example.com" }), - fetchFn: (async (url: string | URL | Request) => { - calls.push(String(url)); - return okResponse(); - }) as typeof fetch, - waitExit: () => true, - env: {}, + for (const [name, body] of [ + ["reported restore failure", JSON.stringify({ success: false, sharedTeardown: "performed" })], + ["missing teardown result", JSON.stringify({ success: true })], + ["unexpected deferral", JSON.stringify({ success: true, sharedTeardown: "deferred" })], + ["nonboolean success", JSON.stringify({ success: "true", sharedTeardown: "performed" })], + ["empty body", ""], + ["invalid JSON", "{broken"], + ["null body", "null"], + ["array body", "[]"], + ]) { + test(`process exit does not confirm shared teardown: ${name}`, async () => { + const waits: number[] = []; + const result = await stopProxyGracefully(4242, { + readRuntime: () => ({ port: 10100 }), + fetchFn: (async () => new Response(body, { status: 200 })) as typeof fetch, + waitExit: pid => { waits.push(pid); return true; }, + exitTimeoutMs: 1, + env: {}, + }); + expect(result).toBe("teardown-unconfirmed"); + expect(waits).toEqual([4242]); }); - expect(calls).toEqual(["https://proxy.example.com/api/stop"]); + } + + test("requires the assigned deferred response when a receipt nonce was sent", async () => { + for (const sharedTeardown of ["deferred", "performed"]) { + const result = await stopProxyGracefully(4242, { + readRuntime: () => ({ port: 10100 }), + fetchFn: (async () => new Response(JSON.stringify({ success: true, sharedTeardown }))) as typeof fetch, + waitExit: () => true, + deferSharedTeardownNonce: "receipt-nonce", + exitTimeoutMs: 1, + env: {}, + }); + expect(result).toBe(sharedTeardown === "deferred" ? true : "teardown-unconfirmed"); + } + }); + + test("an unconfirmed response still requires process exit", async () => { + expect(await stopProxyGracefully(4242, { + readRuntime: () => ({ port: 10100 }), + fetchFn: (async () => new Response(JSON.stringify({ success: false, sharedTeardown: "performed" }))) as typeof fetch, + waitExit: () => false, + exitTimeoutMs: 1, + env: {}, + })).toBe(false); + }); + + test("ownership refusal never waits for exit or becomes a teardown retry", async () => { + expect(await stopProxyGracefully(4242, { + readRuntime: () => ({ port: 10100 }), + fetchFn: (async () => new Response("refused", { status: 409 })) as typeof fetch, + waitExit: () => { throw new Error("must not wait for a refused stop"); }, + env: {}, + })).toBe("refused"); }); test("follows the recorded bind hostname when it names a concrete address", async () => { @@ -121,3 +164,38 @@ describe("stopProxyGracefully", () => { expect(noExit).toBe(false); }); }); + +describe("409 refusal reporting", () => { + test("a refusal carries the server's own reason, not the ownership guess", async () => { + // /api/stop answers 409 for more than one reason: a scheduler wrapper under another + // home, and (since #4023) the proxy being the installed launchd/systemd job itself. + // stopProxy used to report the first of those unconditionally, sending an operator + // whose proxy is simply the service to a CODEX_HOME that does not exist. + const selfUnload = "This proxy is running as the installed service, so stopping the manager" + + " from inside it would end this process before native Codex is restored." + + " Run `ocx stop`, which stops the service from outside and completes the restore." + + " Nothing was changed."; + const result = await stopProxyGracefully(7, { + readRuntime: () => ({ port: 10100 }), + fetchFn: (async () => new Response( + JSON.stringify({ success: false, code: "self_unload_service", message: selfUnload }), + { status: 409, headers: { "content-type": "application/json" } }, + )) as typeof fetch, + waitExit: () => true, + env: {}, + }); + expect(result).toBe("refused"); + expect(lastStopRefusalMessage()).toBe(selfUnload); + }); + + test("a 409 with no readable body falls back rather than reporting a stale reason", async () => { + const result = await stopProxyGracefully(7, { + readRuntime: () => ({ port: 10100 }), + fetchFn: (async () => new Response("not json", { status: 409 })) as typeof fetch, + waitExit: () => true, + env: {}, + }); + expect(result).toBe("refused"); + expect(lastStopRefusalMessage()).toBeNull(); + }); +}); diff --git a/tests/oauth/chatgpt-oauth.test.ts b/tests/oauth/chatgpt-oauth.test.ts index 24213b7e442..29f35f808d6 100644 --- a/tests/oauth/chatgpt-oauth.test.ts +++ b/tests/oauth/chatgpt-oauth.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test"; -import { decodeJwtPayload, extractAccountId, extractEmail } from "../../src/oauth/chatgpt"; +import { decodeJwtPayload, extractAccountId, extractAccountIdClaims, extractEmail } from "../../src/oauth/chatgpt"; function fakeJwt(payload: Record<string, unknown>): string { const header = Buffer.from(JSON.stringify({ alg: "none" })).toString("base64url"); @@ -63,6 +63,39 @@ describe("ChatGPT OAuth JWT helpers", () => { expect(extractAccountId(undefined, undefined)).toBeUndefined(); }); + test("extractAccountIdClaims accepts agreeing account-id encodings", () => { + const jwt = fakeJwt({ + chatgpt_account_id: "acct_same", + "https://api.openai.com/auth": { chatgpt_account_id: "acct_same" }, + }); + expect(extractAccountIdClaims(jwt)).toEqual({ accountId: "acct_same", conflict: false }); + }); + + test("extractAccountIdClaims flags conflicting account-id encodings", () => { + const jwt = fakeJwt({ + chatgpt_account_id: "acct_top", + "https://api.openai.com/auth": { chatgpt_account_id: "acct_ns_other" }, + }); + expect(extractAccountIdClaims(jwt)).toEqual({ accountId: "acct_top", conflict: true }); + }); + + test("extractAccountIdClaims treats organizations as membership, never as a conflict", () => { + // id_token_add_organizations makes org ids legitimately differ from the account id. + const jwt = fakeJwt({ + chatgpt_account_id: "acct_main", + organizations: [{ id: "org_member" }, { id: "org_other" }], + }); + expect(extractAccountIdClaims(jwt)).toEqual({ accountId: "acct_main", conflict: false }); + const orgOnly = fakeJwt({ organizations: [{ id: "org_fallback" }, { id: "org_second" }] }); + expect(extractAccountIdClaims(orgOnly)).toEqual({ accountId: "org_fallback", conflict: false }); + }); + + test("extractAccountIdClaims reads nothing from a claim-free or malformed token", () => { + expect(extractAccountIdClaims(fakeJwt({ sub: "user" }))).toEqual({ accountId: undefined, conflict: false }); + expect(extractAccountIdClaims(undefined)).toEqual({ accountId: undefined, conflict: false }); + expect(extractAccountIdClaims("not-a-jwt")).toEqual({ accountId: undefined, conflict: false }); + }); + test("extractEmail extracts and lowercases email", () => { const jwt = fakeJwt({ email: "User@Example.COM" }); expect(extractEmail(jwt)).toBe("user@example.com"); diff --git a/tests/oauth/oauth-accounts-api.test.ts b/tests/oauth/oauth-accounts-api.test.ts index 75e88d7dbb2..c3c6e0c632f 100644 --- a/tests/oauth/oauth-accounts-api.test.ts +++ b/tests/oauth/oauth-accounts-api.test.ts @@ -156,7 +156,9 @@ describe("multiauth accounts API", () => { expect(requireManagementAuth(ctx.req, state, ctx.config)).toBeNull(); // Deliberately memoized. const pending = reader.read(); publishAccountSelection("private-provider", "oauth"); - await expect(pending).rejects.toMatchObject({ name: "NotAllowedError" }); + // Nothing was queued before revocation, so the stream closes quietly instead of + // erroring; the pending read resolves done and the post-revocation frame is never sent. + await expect(pending).resolves.toMatchObject({ done: true }); } finally { await reader.cancel().catch(() => undefined); } }); @@ -179,7 +181,31 @@ describe("multiauth accounts API", () => { session.expiresAt = Date.now() - 1; const pending = reader.read(); tick(); - await expect(pending).rejects.toMatchObject({ name: "NotAllowedError" }); + await expect(pending).resolves.toMatchObject({ done: true }); + } finally { + await reader?.cancel().catch(() => undefined); + interval.mockRestore(); + } + }); + + test("selection stream discards frames queued before revocation instead of draining them", async () => { + const { ctx, state, token } = selectionSessionFixture(); + const interval = spyOn(globalThis, "setInterval"); + let reader: ReadableStreamDefaultReader<Uint8Array> | undefined; + try { + const response = await handleOauthAccountRoutes(ctx); + expect(response?.status).toBe(200); + reader = response!.body!.getReader(); + expect(new TextDecoder().decode((await reader.read()).value)).toContain("event: ready"); + // No pending read: this event stays queued in the controller when the session expires. + publishAccountSelection("queued-provider", "oauth"); + state.sessions.get(token)!.expiresAt = Date.now() - 1; + const tick = interval.mock.calls.find(call => call[1] === 15_000)?.[0]; + if (typeof tick !== "function") throw new Error("selection heartbeat not registered"); + tick(); + // A non-empty queue still takes the error path: the queued frame is discarded and the + // revoked consumer rejects instead of ever draining it. + await expect(reader.read()).rejects.toMatchObject({ name: "NotAllowedError" }); } finally { await reader?.cancel().catch(() => undefined); interval.mockRestore(); diff --git a/tests/oauth/state-store-sweeper.test.ts b/tests/oauth/state-store-sweeper.test.ts index 36ede716d49..b162e2214bb 100644 --- a/tests/oauth/state-store-sweeper.test.ts +++ b/tests/oauth/state-store-sweeper.test.ts @@ -22,7 +22,8 @@ import { setOcxStartProcessProbeForTests, sweepDeadOcxStartProcessCache, } from "../../src/config"; -import { STATE_STORE_REGISTRATIONS } from "../../src/lib/state-store-registrations"; +import { STATE_STORE_REGISTRATIONS, setLiveStateStoreConfig, reconcileLiveStateStores } from "../../src/lib/state-store-registrations"; +import { clearComboRecallForTests, recallComboForLane, rememberComboForLane } from "../../src/server/responses/combo-session-recall"; import { getAccountSet, saveCredential } from "../../src/oauth/store"; import { clearAccountQuotaCache, @@ -78,12 +79,14 @@ beforeEach(() => { sweeperHome = mkdtempSync(join(tmpdir(), "ocx-sweeper-home-")); process.env.OPENCODEX_HOME = sweeperHome; resetStateStoreSweeperForTests(); + clearComboRecallForTests(); resetAppOwnedMemoryForTests(); clearResponseStateMemoryForTests(); __resetAntigravityReplayCache(); }); afterEach(() => { resetStateStoreSweeperForTests(); + clearComboRecallForTests(); resetAppOwnedMemoryForTests(); clearResponseStateMemoryForTests(); __resetAntigravityReplayCache(); @@ -147,6 +150,7 @@ describe("state-store sweeper", () => { "model-cache-history", "pool-rotation", "combo-rotation", + "combo-session-recall", "guardian-backoff", "codex-reauth", "oauth-reauth", @@ -157,6 +161,59 @@ describe("state-store sweeper", () => { ]); }); + test("registered combo recall cleanup rejects an old completion after delete and recreate while retaining another owner", () => { + registerStateStore(STATE_STORE_REGISTRATIONS.find(row => row.name === "combo-session-recall")!); + const config: OcxConfig = { + port: 0, defaultProvider: "a", + providers: { a: { adapter: "openai-chat", baseUrl: "https://a.example/v1" } }, + combos: { + first: { targets: [{ provider: "a", model: "m1" }] }, + other: { targets: [{ provider: "a", model: "m2" }] }, + }, + }; + setLiveStateStoreConfig(config); + const staleGeneration = captureConfigGeneration(); + rememberComboForLane("first-lane", "first", { provider: "a", model: "m1" }, "visible-first", staleGeneration); + rememberComboForLane("other-lane", "other", { provider: "a", model: "m2" }, "visible-other", staleGeneration); + delete config.combos!.first; + expect(reconcileLiveStateStores()).toEqual({ storesVisited: 1, rowsRemoved: 1 }); + config.combos!.first = { targets: [{ provider: "a", model: "m1" }] }; + expect(reconcileLiveStateStores()).toEqual({ storesVisited: 1, rowsRemoved: 0 }); + rememberComboForLane("first-lane", "first", { provider: "a", model: "m1" }, "visible-first", staleGeneration); + expect(recallComboForLane(config, "first-lane", "visible-first")).toBeUndefined(); + expect(recallComboForLane(config, "other-lane", "visible-other")).toBe("other"); + rememberComboForLane("first-lane", "first", { provider: "a", model: "m1" }, "visible-new", captureConfigGeneration()); + expect(recallComboForLane(config, "first-lane", "visible-new")).toBe("first"); + delete config.providers.a; + expect(reconcileLiveStateStores()).toEqual({ storesVisited: 1, rowsRemoved: 2 }); + }); + + test("combo recall watermark rejects writers after a partially failed generation", () => { + registerStateStore(STATE_STORE_REGISTRATIONS.find(row => row.name === "combo-session-recall")!); + const warning = spyOn(console, "warn").mockImplementation(() => {}); + const unregisterFailure = registerStateStore({ name: "failed-owner", reconcileGeneration: () => { throw new Error("retry"); } }); + const owners = context(0, { + comboIds: new Set(["first"]), comboTargets: new Set(["first::a/m1"]), providerNames: new Set(["a"]), + }); + const config: OcxConfig = { + port: 0, defaultProvider: "a", providers: { a: { adapter: "openai-chat", baseUrl: "https://a.example/v1" } }, + combos: { first: { targets: [{ provider: "a", model: "m1" }] } }, + }; + try { + reconcileStateGeneration(owners); + expect(captureConfigGeneration()).toBe(0); + rememberComboForLane("lane", "first", { provider: "a", model: "m1" }, "m1", 0); + expect(recallComboForLane(config, "lane", "m1")).toBeUndefined(); + unregisterFailure(); + reconcileStateGeneration(owners); + rememberComboForLane("lane", "first", { provider: "a", model: "m1" }, "m1", captureConfigGeneration()); + expect(recallComboForLane(config, "lane", "m1")).toBe("first"); + } finally { + unregisterFailure(); + warning.mockRestore(); + } + }); + test("a sweeper tick expires continuation and Antigravity rows without store traffic", () => { rememberResponseState({ input: "old" }, { id: "resp_sweeper_ttl", output: [], status: "completed" }); observeAntigravityReplay("gemini-3-pro", "session-old", [{ diff --git a/tests/providers/api-key-selection-capture.test.ts b/tests/providers/api-key-selection-capture.test.ts new file mode 100644 index 00000000000..bd03c9f1e10 --- /dev/null +++ b/tests/providers/api-key-selection-capture.test.ts @@ -0,0 +1,69 @@ +import { describe, expect, test } from "bun:test"; +import { readFileSync } from "node:fs"; +import { captureProviderApiKeySelection } from "../../src/providers/api-key-selection-capture"; +import { captureProviderApiKeySelection as legacyCapture } from "../../src/providers/api-key-selection"; +import type { OcxProviderConfig } from "../../src/types"; +import { repoPath } from "../helpers/repo-root"; + +describe("API-key selection snapshot", () => { + const base: OcxProviderConfig = { adapter: "openai-chat", baseUrl: "https://example.test/v1" }; + + test("captures the selected entry and revision without resolving its reference", () => { + const provider: OcxProviderConfig = { + ...base, + apiKey: "${OCX_CAPTURE_FIXTURE}", + apiKeySelectionRevision: "revision-before", + apiKeyPool: [ + { id: "other", key: "keychain:other" }, + { id: "selected", key: "${OCX_CAPTURE_FIXTURE}" }, + ], + }; + const before = structuredClone(provider); + const snapshot = captureProviderApiKeySelection(provider); + expect(snapshot).toEqual({ entryId: "selected", reference: "${OCX_CAPTURE_FIXTURE}", revision: "revision-before" }); + expect(provider).toEqual(before); + provider.apiKey = "keychain:other"; + provider.apiKeySelectionRevision = "revision-after"; + provider.apiKeyPool![1]!.id = "changed"; + expect(snapshot).toEqual({ entryId: "selected", reference: "${OCX_CAPTURE_FIXTURE}", revision: "revision-before" }); + }); + + test("retains an unmatched reference and absent optional fields", () => { + expect(captureProviderApiKeySelection(base)).toEqual({ entryId: undefined, reference: undefined, revision: undefined }); + expect(captureProviderApiKeySelection({ ...base, apiKey: "keychain:unpooled", apiKeyPool: [] })).toEqual({ + entryId: undefined, reference: "keychain:unpooled", revision: undefined, + }); + }); + + test("preserves first-match semantics when a pool repeats the same reference", () => { + expect(captureProviderApiKeySelection({ + ...base, + apiKey: "keychain:shared", + apiKeyPool: [{ id: "first", key: "keychain:shared" }, { id: "second", key: "keychain:shared" }], + })).toEqual({ entryId: "first", reference: "keychain:shared", revision: undefined }); + }); + + test("preserves the existing export", () => { + expect(legacyCapture).toBe(captureProviderApiKeySelection); + }); +}); + +describe("selection capture dependency boundary", () => { + const transpiler = new Bun.Transpiler({ loader: "ts" }); + const runtimeImports = (source: string) => transpiler.scanImports(transpiler.transformSync(source)).map(entry => entry.path); + + test("the leaf has no runtime imports", () => { + expect(runtimeImports(readFileSync(repoPath("src/providers/api-key-selection-capture.ts"), "utf8"))).toEqual([]); + }); + + test("the router consumes capture without a direct import of the stateful selection module", () => { + const imports = runtimeImports(readFileSync(repoPath("src/router.ts"), "utf8")); + expect(imports).toContain("./providers/api-key-selection-capture"); + expect(imports).not.toContain("./providers/api-key-selection"); + }); + + test("the boundary scanner distinguishes erased types from a runtime dependency", () => { + expect(runtimeImports('import type { T } from "../router"; export const value = 1;')).toEqual([]); + expect(runtimeImports('import "../router"; export const value = 1;')).toEqual(["../router"]); + }); +}); diff --git a/tests/providers/codebuddy-adapter.test.ts b/tests/providers/codebuddy-adapter.test.ts new file mode 100644 index 00000000000..0da898ea829 --- /dev/null +++ b/tests/providers/codebuddy-adapter.test.ts @@ -0,0 +1,381 @@ +import { beforeEach, describe, expect, test } from "bun:test"; +import { EventEmitter } from "node:events"; +import { Readable, Writable } from "node:stream"; +import type { ChildProcess } from "node:child_process"; +import { buildArgs, buildChildEnv, createCodeBuddyAdapter, type SpawnFn } from "../../src/adapters/codebuddy/adapter"; +import { CODEBUDDY_CN_PROFILE, CODEBUDDY_GLOBAL_PROFILE, clearCodeBuddyBinaryCache } from "../../src/adapters/codebuddy/profiles"; +import type { AdapterEvent, OcxParsedRequest, OcxProviderConfig } from "../../src/types"; +import { createTestTranslatorBudget } from "../helpers/translator-budget"; + +const enc = new TextEncoder(); + +// The binary-discovery cache is module-level (a production perf seam); reset it so a test that +// reports a missing CLI cannot mask a later test's injected binary. +beforeEach(() => clearCodeBuddyBinaryCache()); + +interface FakeChild extends EventEmitter { + stdout: Readable; + stderr: Readable; + stdin: Writable; + killed: boolean; + exitCode: number | null; + kill: (signal?: string) => boolean; + written: string[]; +} + +function fakeChild(stdout: Uint8Array[], opts: { stderr?: string; exitCode?: number; emitClose?: boolean } = {}): FakeChild { + const child = new EventEmitter() as FakeChild; + child.stdout = Readable.from(stdout); + child.stderr = Readable.from(opts.stderr ? [enc.encode(opts.stderr)] : []); + child.written = []; + child.stdin = new Writable({ write(chunk, _enc, cb) { child.written.push(String(chunk)); cb(); } }); + child.killed = false; + child.exitCode = null; + child.kill = () => { child.killed = true; return true; }; + if (opts.emitClose !== false) { + setTimeout(() => { child.exitCode = opts.exitCode ?? 0; child.emit("close", opts.exitCode ?? 0); }, 3); + } + return child; +} + +function provider(overrides: Partial<OcxProviderConfig> = {}): OcxProviderConfig { + return { + adapter: "codebuddy", + baseUrl: CODEBUDDY_GLOBAL_PROFILE.canonicalBaseUrl, + apiKey: "cb-global-key", + reasoningEfforts: ["low", "medium", "high", "xhigh", "max"], + ...overrides, + } as OcxProviderConfig; +} + +function parsed(overrides: Partial<OcxParsedRequest> = {}): OcxParsedRequest { + return { + modelId: "glm-5.3", + stream: true, + options: {}, + context: { messages: [{ role: "user", content: "hello", timestamp: 0 }] }, + ...overrides, + } as OcxParsedRequest; +} + +function incoming(abortSignal?: AbortSignal) { + return { headers: new Headers(), translatorBudget: createTestTranslatorBudget(), ...(abortSignal ? { abortSignal } : {}) }; +} + +async function run(adapter: ReturnType<typeof createCodeBuddyAdapter>, p: OcxParsedRequest, inc = incoming()): Promise<AdapterEvent[]> { + const events: AdapterEvent[] = []; + await adapter.runTurn!(p, inc, e => events.push(e)); + return events; +} + +describe("codebuddy child environment is region-scoped and never global", () => { + test("global profile sets public environment and the global key only", () => { + const env = buildChildEnv(CODEBUDDY_GLOBAL_PROFILE, "cb-global-key"); + expect(env.CODEBUDDY_INTERNET_ENVIRONMENT).toBe("public"); + expect(env.CODEBUDDY_API_KEY).toBe("cb-global-key"); + expect(env.CODEBUDDY_CODE_DISABLE_BACKGROUND_TASKS).toBe("1"); + }); + + test("CN profile sets internal environment and the CN key only", () => { + const env = buildChildEnv(CODEBUDDY_CN_PROFILE, "cb-cn-key"); + expect(env.CODEBUDDY_INTERNET_ENVIRONMENT).toBe("internal"); + expect(env.CODEBUDDY_API_KEY).toBe("cb-cn-key"); + }); + + test("a stray parent CODEBUDDY_INTERNET_ENVIRONMENT cannot flip the region", () => { + const previous = process.env.CODEBUDDY_INTERNET_ENVIRONMENT; + process.env.CODEBUDDY_INTERNET_ENVIRONMENT = "internal"; + try { + const env = buildChildEnv(CODEBUDDY_GLOBAL_PROFILE, "k"); + expect(env.CODEBUDDY_INTERNET_ENVIRONMENT).toBe("public"); + // The parent CODEBUDDY_* is never inherited: only the profile-set keys are present. + expect(Object.keys(env).filter(k => k.startsWith("CODEBUDDY_")).sort()).toEqual([ + "CODEBUDDY_API_KEY", "CODEBUDDY_CODE_DISABLE_BACKGROUND_TASKS", "CODEBUDDY_INTERNET_ENVIRONMENT", + ]); + } finally { + if (previous === undefined) delete process.env.CODEBUDDY_INTERNET_ENVIRONMENT; + else process.env.CODEBUDDY_INTERNET_ENVIRONMENT = previous; + } + }); +}); + +describe("codebuddy headless arguments keep tool ownership with Codex", () => { + test("disables all CLI tools and never requests permission bypass", () => { + const args = buildArgs(CODEBUDDY_GLOBAL_PROFILE, parsed(), provider()); + const toolsIndex = args.indexOf("--tools"); + expect(toolsIndex).toBeGreaterThanOrEqual(0); + expect(args[toolsIndex + 1]).toBe(""); // "" = disable all built-in tools + expect(args).toContain("--strict-mcp-config"); // no MCP tools either + expect(args).not.toContain("-y"); + expect(args).not.toContain("--dangerously-skip-permissions"); + expect(args).toContain("--output-format"); + expect(args[args.indexOf("--output-format") + 1]).toBe("stream-json"); + expect(args[args.indexOf("--model") + 1]).toBe("glm-5.3"); + }); + + test("maps Codex reasoning effort onto --effort and folds the system prompt", () => { + const args = buildArgs( + CODEBUDDY_GLOBAL_PROFILE, + parsed({ options: { reasoning: "high" }, context: { systemPrompt: ["Be terse."], messages: [] } }), + provider(), + ); + expect(args[args.indexOf("--effort") + 1]).toBe("high"); + expect(args[args.indexOf("--append-system-prompt") + 1]).toBe("Be terse."); + }); +}); + +describe("codebuddy runTurn fails closed before any spawn", () => { + test("a non-canonical base URL is refused and the credential is never placed in a child env", async () => { + let spawned = 0; + const spawn: SpawnFn = () => { spawned++; return fakeChild([]) as unknown as ChildProcess; }; + const adapter = createCodeBuddyAdapter(provider({ baseUrl: "https://evil.example.test" }), { spawn, which: () => "/usr/bin/codebuddy" }); + const events = await run(adapter, parsed()); + expect(spawned).toBe(0); + expect(events[0]).toMatchObject({ type: "error", code: "non_canonical_destination", retryable: false }); + }); + + test("a missing credential is refused before spawn", async () => { + let spawned = 0; + const adapter = createCodeBuddyAdapter(provider({ apiKey: undefined }), { spawn: () => { spawned++; return fakeChild([]) as unknown as ChildProcess; }, which: () => "/usr/bin/codebuddy" }); + const events = await run(adapter, parsed()); + expect(spawned).toBe(0); + expect(events[0]).toMatchObject({ type: "error", code: "missing_credential" }); + }); + + test("a missing CLI is a clear pre-flight error, not a mid-turn ENOENT", async () => { + let spawned = 0; + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => { spawned++; return fakeChild([]) as unknown as ChildProcess; }, which: () => undefined }); + const events = await run(adapter, parsed()); + expect(spawned).toBe(0); + expect(events[0]).toMatchObject({ type: "error", code: "cli_not_found" }); + expect(String((events[0] as { message: string }).message)).toContain("npm install -g @tencent-ai/codebuddy-code"); + }); + + test("an asynchronous spawn failure settles as cli_spawn_failed without waiting for close", async () => { + const child = fakeChild([], { emitClose: false }); + const adapter = createCodeBuddyAdapter(provider(), { + spawn: () => { + setTimeout(() => child.emit("error", Object.assign(new Error("spawn ENOENT cb-global-key"), { code: "ENOENT" })), 0); + return child as unknown as ChildProcess; + }, + which: () => "/stale/path/codebuddy", + killGraceMs: 20, + }); + + const events = await run(adapter, parsed()); + expect(events).toHaveLength(1); + expect(events[0]).toMatchObject({ type: "error", code: "cli_spawn_failed", retryable: false }); + expect((events[0] as { message: string }).message).not.toContain("cb-global-key"); + }); + + test("a synchronous spawn failure redacts the exact configured credential", async () => { + const adapter = createCodeBuddyAdapter(provider(), { + spawn: () => { throw new Error("launch rejected credential cb-global-key"); }, + which: () => "/stale/path/codebuddy", + }); + + const events = await run(adapter, parsed()); + expect(events[0]).toMatchObject({ type: "error", code: "cli_spawn_failed", retryable: false }); + expect((events[0] as { message: string }).message).toContain("credential [redacted]"); + expect((events[0] as { message: string }).message).not.toContain("cb-global-key"); + }); + + test("a Windows cmd shim is launched through commandInvocation with escaped arguments", async () => { + let command = ""; + let args: readonly string[] = []; + let options: import("node:child_process").SpawnOptions | undefined; + const adapter = createCodeBuddyAdapter(provider(), { + platform: "win32", + which: () => "C:\\npm\\codebuddy.cmd", + spawn: (seenCommand, seenArgs, seenOptions) => { + command = seenCommand; + args = seenArgs; + options = seenOptions; + return fakeChild([enc.encode('{"type":"result","subtype":"success"}\n')]) as unknown as ChildProcess; + }, + killGraceMs: 20, + }); + + await run(adapter, parsed({ context: { systemPrompt: ['Say "hello" & stop'], messages: [] } })); + expect(command.toLowerCase()).toContain("cmd.exe"); + expect(args.slice(0, 3)).toEqual(["/d", "/s", "/c"]); + expect(args[3]).toContain("codebuddy.cmd"); + expect(args[3]).toContain("Say"); + expect(options?.windowsVerbatimArguments).toBe(true); + }); +}); + +describe("codebuddy runTurn streams a headless turn", () => { + test("emits text deltas then done with usage, and feeds the conversation to stdin", async () => { + const stdout = [ + enc.encode('{"type":"system","subtype":"init"}\n'), + enc.encode('{"type":"stream_event","event":{"type":"content_block_delta","delta":{"type":"text_delta","text":"Hel"}}}\n'), + enc.encode('{"type":"stream_event","event":{"type":"content_block_delta","delta":{"type":"text_delta","text":"lo"}}}\n'), + enc.encode('{"type":"result","subtype":"success","is_error":false,"usage":{"input_tokens":7,"output_tokens":2}}\n'), + ]; + const child = fakeChild(stdout); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + expect(events.filter(e => e.type === "text_delta").map(e => (e as { text: string }).text).join("")).toBe("Hello"); + expect(events.at(-1)).toMatchObject({ type: "done", usage: { inputTokens: 7, outputTokens: 2, totalTokens: 9 } }); + expect(child.written.join("")).toContain('"text":"hello"'); + }); + + test("region isolation: the global adapter never spawns with the CN environment", async () => { + let seenEnv: NodeJS.ProcessEnv | undefined; + const spawn: SpawnFn = (_cmd, _args, opts) => { seenEnv = opts.env as NodeJS.ProcessEnv; return fakeChild([enc.encode('{"type":"result","subtype":"success"}\n')]) as unknown as ChildProcess; }; + const adapter = createCodeBuddyAdapter(provider(), { spawn, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + await run(adapter, parsed()); + expect(seenEnv?.CODEBUDDY_INTERNET_ENVIRONMENT).toBe("public"); + expect(seenEnv?.CODEBUDDY_API_KEY).toBe("cb-global-key"); + }); + + test("an upstream error result surfaces as an error event", async () => { + const stdout = [enc.encode('{"type":"result","subtype":"error_during_execution","is_error":true,"result":"insufficient credits"}\n')]; + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => fakeChild(stdout) as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + expect(events.at(-1)).toMatchObject({ type: "error", message: "insufficient credits", status: 502 }); + }); + + test("a pre-aborted signal ends the turn without spawning", async () => { + let spawned = 0; + const controller = new AbortController(); + controller.abort(); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => { spawned++; return fakeChild([]) as unknown as ChildProcess; }, which: () => "/usr/bin/codebuddy" }); + const events = await run(adapter, parsed(), incoming(controller.signal)); + expect(spawned).toBe(0); + expect(events[0]).toMatchObject({ type: "error" }); + }); + + test("a CLI that exits without a result reports stderr (redacted) as an upstream error", async () => { + const child = fakeChild([], { stderr: "fatal: CODEBUDDY_API_KEY=sk-secretvalue rejected", exitCode: 1 }); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + const last = events.at(-1) as { type: string; message: string; code: string }; + expect(last.type).toBe("error"); + expect(last.code).toBe("process_exit_error"); + expect(last.message).not.toContain("sk-secretvalue"); + }); + + test("redacts the exact configured credential even when stderr uses no known secret prefix", async () => { + const child = fakeChild([], { stderr: "authentication failed: token cb-global-key rejected", exitCode: 1 }); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + const last = events.at(-1) as { message: string }; + expect(last.message).toContain("token [redacted] rejected"); + expect(last.message).not.toContain("cb-global-key"); + }); + + test("a CLI that exits with non-zero exit code and empty stderr reports process_exit_error and never done", async () => { + const child = fakeChild([], { stderr: "", exitCode: 1 }); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + expect(events).toHaveLength(1); + expect(events[0]).toMatchObject({ + type: "error", + status: 502, + code: "process_exit_error", + errorType: "upstream_error", + }); + expect((events[0] as { message: string }).message).toContain("exited with non-zero exit code 1"); + // Under no circumstance should a synthetic done be emitted! + expect(events.some(e => e.type === "done")).toBe(false); + }); + + test("a CLI that exits with code 0 but emitted no terminal result frame fails closed with protocol_error", async () => { + // Upstream closed stdout without emitting a result frame + const child = fakeChild([ + enc.encode('{"type":"stream_event","event":{"type":"content_block_delta","delta":{"type":"text_delta","text":"Partial"}}}\n'), + ], { exitCode: 0 }); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + expect(events.some(e => e.type === "done")).toBe(false); + const last = events.at(-1) as { type: string; message: string; code: string; status: number }; + expect(last.type).toBe("error"); + expect(last.code).toBe("protocol_error"); + expect(last.status).toBe(502); + expect(last.message).toContain("ended without a terminal result frame"); + }); + + test("a stream with malformed JSON terminates child and fails closed with protocol_error", async () => { + const child = fakeChild([ + enc.encode('{"type":"stream_event","event":{"type":"content_block_delta","delta":{"type":"text_delta","text":"Hi"}}}\n'), + enc.encode('CORRUPTED_NOT_JSON\n'), + enc.encode('{"type":"result","subtype":"success","is_error":false}\n'), + ], { exitCode: 0 }); + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed()); + expect(child.killed).toBe(true); + expect(events.some(e => e.type === "done")).toBe(false); + const last = events.at(-1) as { type: string; message: string; code: string; status: number }; + expect(last.type).toBe("error"); + expect(last.code).toBe("protocol_error"); + expect(last.status).toBe(502); + expect(last.message).toContain("Malformed stream-json frame"); + }); + + test("an in-flight abort kills the child process gracefully with SIGTERM", async () => { + const controller = new AbortController(); + const stdoutStream = new Readable({ + read() { + // Feed one partial delta then abort before result + this.push(enc.encode('{"type":"stream_event","event":{"type":"content_block_delta","delta":{"type":"text_delta","text":"start"}}}\n')); + setTimeout(() => controller.abort(), 5); + }, + }); + const child = new EventEmitter() as FakeChild; + child.stdout = stdoutStream; + child.stderr = Readable.from([]); + child.written = []; + child.stdin = new Writable({ write(_c, _e, cb) { cb(); } }); + child.killed = false; + child.exitCode = null; + let killSignal: string | undefined; + child.kill = (sig?: string) => { + child.killed = true; + killSignal = sig; + setTimeout(() => { child.exitCode = 143; child.emit("close", 143); }, 5); + return true; + }; + + const adapter = createCodeBuddyAdapter(provider(), { spawn: () => child as unknown as ChildProcess, which: () => "/usr/bin/codebuddy", killGraceMs: 20 }); + const events = await run(adapter, parsed(), incoming(controller.signal)); + expect(child.killed).toBe(true); + expect(killSignal).toBe("SIGTERM"); + expect(events.some(e => e.type === "error")).toBe(true); + expect(events.some(e => e.type === "done")).toBe(false); + }); + + test("a timeout destroys a stalled stdout stream and returns even when close never arrives", async () => { + const stdoutStream = new Readable({ read() { /* stays open until timeout destroys it */ } }); + const child = new EventEmitter() as FakeChild; + child.stdout = stdoutStream; + child.stderr = Readable.from([]); + child.written = []; + child.stdin = new Writable({ write(_c, _e, cb) { cb(); } }); + child.killed = false; + child.exitCode = null; + const signals: string[] = []; + child.kill = (sig?: string) => { + child.killed = true; + signals.push(sig ?? "SIGTERM"); + return true; + }; + + const adapter = createCodeBuddyAdapter(provider(), { + spawn: () => child as unknown as ChildProcess, + which: () => "/usr/bin/codebuddy", + timeoutMs: 10, + killGraceMs: 10, + reapTimeoutMs: 35, + }); + const startedAt = Date.now(); + const events = await run(adapter, parsed()); + + expect(Date.now() - startedAt).toBeLessThan(250); + expect(stdoutStream.destroyed).toBe(true); + expect(signals).toContain("SIGTERM"); + expect(events).toContainEqual(expect.objectContaining({ type: "error", status: 504, code: "timeout" })); + expect(events.some(e => e.type === "done")).toBe(false); + }); +}); diff --git a/tests/providers/codebuddy-protocol.test.ts b/tests/providers/codebuddy-protocol.test.ts new file mode 100644 index 00000000000..a51cb1ea7b4 --- /dev/null +++ b/tests/providers/codebuddy-protocol.test.ts @@ -0,0 +1,354 @@ +import { describe, expect, test } from "bun:test"; +import { + buildConversationInput, + buildInputLines, + buildSystemPrompt, + mapStreamMessageToEvents, + readJsonLines, + usageFromResult, +} from "../../src/adapters/coding-agent/protocol"; +import type { OcxParsedRequest } from "../../src/types"; + +// The stream-json protocol for coding-agent CLIs +// (src/adapters/coding-agent/protocol.ts); these fixtures exercise it via CodeBuddy frames. + +const enc = new TextEncoder(); + +async function* chunks(...parts: Uint8Array[]): AsyncGenerator<Uint8Array> { + for (const part of parts) yield part; +} + +async function collect(gen: AsyncGenerator<Record<string, unknown>>): Promise<Record<string, unknown>[]> { + const out: Record<string, unknown>[] = []; + for await (const item of gen) out.push(item); + return out; +} + +function parsedRequest(overrides: Partial<OcxParsedRequest> = {}): OcxParsedRequest { + return { + modelId: "glm-5.3", + stream: true, + options: {}, + context: { messages: [] }, + ...overrides, + } as OcxParsedRequest; +} + +describe("codebuddy stream-json line reader", () => { + test("parses multiple frames delivered in a single chunk", async () => { + const line = enc.encode('{"type":"a"}\n{"type":"b"}\n{"type":"c"}\n'); + const out = await collect(readJsonLines(chunks(line))); + expect(out.map(m => m.type)).toEqual(["a", "b", "c"]); + }); + + test("applies the line limit to each frame instead of the combined chunk", async () => { + const line = enc.encode('{"type":"a"}\n{"type":"b"}\n{"type":"c"}\n'); + const out = await collect(readJsonLines(chunks(line), { maxLineBytes: 12 })); + expect(out.map(m => m.type)).toEqual(["a", "b", "c"]); + }); + + test("reassembles a JSON frame fragmented across chunk boundaries", async () => { + const full = enc.encode('{"type":"result","subtype":"success"}\n'); + const out = await collect(readJsonLines(chunks(full.slice(0, 12), full.slice(12, 25), full.slice(25)))); + expect(out).toEqual([{ type: "result", subtype: "success" }]); + }); + + test("reassembles a multi-byte UTF-8 character split across chunks", async () => { + const full = enc.encode('{"type":"stream_event","text":"世界"}\n'); + // "世" is a 3-byte sequence; split inside it so the decoder must buffer the partial char. + const marker = enc.encode('"text":"').length; + const splitAt = full.indexOf(enc.encode("世")[0]!, marker) + 1; + const out = await collect(readJsonLines(chunks(full.slice(0, splitAt), full.slice(splitAt)))); + expect(out[0]?.text).toBe("世界"); + }); + + test("handles CRLF line endings transparently", async () => { + const line = enc.encode('{"type":"a"}\r\n{"type":"b"}\r\n'); + const out = await collect(readJsonLines(chunks(line))); + expect(out.map(m => m.type)).toEqual(["a", "b"]); + }); + + test("emits a final frame that has no trailing newline (upstream EOF)", async () => { + const out = await collect(readJsonLines(chunks(enc.encode('{"type":"result"}')))); + expect(out).toEqual([{ type: "result" }]); + }); + + test("fails closed on malformed stream-json line with CodingAgentProtocolError", async () => { + const line = enc.encode('{"type":"ok"}\nnot-json\n'); + const gen = readJsonLines(chunks(line)); + await expect(collect(gen)).rejects.toThrow("Malformed stream-json frame received from coding-agent CLI"); + }); + + test("fails closed on non-object JSON frame (array or primitive)", async () => { + const line = enc.encode('[1,2]\n'); + const gen = readJsonLines(chunks(line)); + await expect(collect(gen)).rejects.toThrow("Non-object stream-json frame received from coding-agent CLI"); + }); + + test("ignores blank and whitespace padding lines between valid frames", async () => { + const line = enc.encode(' \n\n{"type":"ok"}\n \n'); + const out = await collect(readJsonLines(chunks(line))); + expect(out).toEqual([{ type: "ok" }]); + }); + + test("enforces the total byte ceiling", async () => { + const gen = readJsonLines(chunks(enc.encode("x".repeat(100))), { maxTotalBytes: 10 }); + await expect(collect(gen)).rejects.toThrow(/total byte ceiling/); + }); +}); + +describe("codebuddy stream-json event mapping", () => { + test("classifies coding-agent auth, rate-limit, and unavailable-model results", () => { + const frame = (detail: string) => mapStreamMessageToEvents( + { type: "result", subtype: "error_during_execution", is_error: true, errors: [detail] }, + { sawPartialText: false, sawPartialThinking: false, sawTerminalResult: false }, + )[0]; + expect(frame("Not logged in; invalid token")).toMatchObject({ status: 401, code: "invalid_api_key", retryable: false }); + expect(frame("Too many requests: rate limit reached")).toMatchObject({ status: 429, code: "rate_limit_exceeded", retryable: true }); + expect(frame("Model is unavailable")).toMatchObject({ status: 400, code: "model_not_found", retryable: false }); + }); + + test("maps partial text and thinking deltas and decouples their state", () => { + const state = { sawPartialText: false, sawPartialThinking: false, sawTerminalResult: false }; + const text = mapStreamMessageToEvents( + { type: "stream_event", event: { type: "content_block_delta", delta: { type: "text_delta", text: "Hi" } } }, + state, + ); + expect(text).toEqual([{ type: "text_delta", text: "Hi" }]); + expect(state.sawPartialText).toBe(true); + expect(state.sawPartialThinking).toBe(false); + + const thinking = mapStreamMessageToEvents( + { type: "stream_event", event: { type: "content_block_delta", delta: { type: "thinking_delta", thinking: "let me see" } } }, + state, + ); + expect(thinking).toEqual([{ type: "thinking_delta", thinking: "let me see" }]); + expect(state.sawPartialThinking).toBe(true); + }); + + test("assistant fallback matrix: independently decouples partial text and partial thinking", () => { + // Case 1: Partial text seen, partial thinking NOT seen -> assistant emits thinking only, no duplicate text + const state1 = { sawPartialText: true, sawPartialThinking: false, sawTerminalResult: false }; + const events1 = mapStreamMessageToEvents( + { + type: "assistant", + message: { + role: "assistant", + content: [ + { type: "thinking", thinking: "reasoning..." }, + { type: "text", text: "final answer" }, + ], + }, + }, + state1, + ); + expect(events1).toEqual([{ type: "thinking_delta", thinking: "reasoning..." }]); + + // Case 2: Partial thinking seen, partial text NOT seen -> assistant emits text only, no duplicate thinking + const state2 = { sawPartialText: false, sawPartialThinking: true, sawTerminalResult: false }; + const events2 = mapStreamMessageToEvents( + { + type: "assistant", + message: { + role: "assistant", + content: [ + { type: "thinking", thinking: "reasoning..." }, + { type: "text", text: "final answer" }, + ], + }, + }, + state2, + ); + expect(events2).toEqual([{ type: "text_delta", text: "final answer" }]); + + // Case 3: Both partials seen -> assistant emits nothing + const state3 = { sawPartialText: true, sawPartialThinking: true, sawTerminalResult: false }; + const events3 = mapStreamMessageToEvents( + { + type: "assistant", + message: { + role: "assistant", + content: [ + { type: "thinking", thinking: "reasoning..." }, + { type: "text", text: "final answer" }, + ], + }, + }, + state3, + ); + expect(events3).toEqual([]); + + // Case 4: Neither partial seen -> assistant emits both thinking and text + const state4 = { sawPartialText: false, sawPartialThinking: false, sawTerminalResult: false }; + const events4 = mapStreamMessageToEvents( + { + type: "assistant", + message: { + role: "assistant", + content: [ + { type: "thinking", thinking: "reasoning..." }, + { type: "text", text: "final answer" }, + ], + }, + }, + state4, + ); + expect(events4).toEqual([ + { type: "thinking_delta", thinking: "reasoning..." }, + { type: "text_delta", text: "final answer" }, + ]); + }); + + test("maps a successful result frame to done with usage and marks sawTerminalResult", () => { + const state = { sawPartialText: true, sawPartialThinking: false, sawTerminalResult: false }; + const events = mapStreamMessageToEvents( + { type: "result", subtype: "success", is_error: false, usage: { input_tokens: 10, output_tokens: 5, cache_read_input_tokens: 2 } }, + state, + ); + expect(state.sawTerminalResult).toBe(true); + expect(events).toEqual([{ + type: "done", + stopReason: "stop", + usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15, cachedInputTokens: 2, cacheReadInputTokens: 2 }, + }]); + }); + + test("maps an errored result frame to an upstream error, keeping usage without marking success", () => { + const state = { sawPartialText: false, sawPartialThinking: false, sawTerminalResult: false }; + const events = mapStreamMessageToEvents( + { type: "result", subtype: "error_during_execution", is_error: true, result: "boom", usage: { input_tokens: 3, output_tokens: 0 } }, + state, + ); + expect(state.sawTerminalResult).toBe(false); + expect(events[0]).toMatchObject({ type: "error", status: 502, errorType: "upstream_error", message: "boom" }); + }); + + test("ignores system/init and background task frames", () => { + const state = { sawPartialText: false, sawPartialThinking: false, sawTerminalResult: false }; + expect(mapStreamMessageToEvents({ type: "system", subtype: "init" }, state)).toEqual([]); + expect(mapStreamMessageToEvents({ type: "system", subtype: "task_started" }, state)).toEqual([]); + }); + + test("parses tool_use blocks defensively even though v1 disables tools", () => { + const state = { sawPartialText: false, sawPartialThinking: false, sawTerminalResult: false, openToolCallId: undefined as string | undefined }; + const start = mapStreamMessageToEvents( + { type: "stream_event", event: { type: "content_block_start", content_block: { type: "tool_use", id: "t1", name: "exec" } } }, + state, + ); + expect(start).toEqual([{ type: "tool_call_start", id: "t1", name: "exec" }]); + const delta = mapStreamMessageToEvents( + { type: "stream_event", event: { type: "content_block_delta", delta: { type: "input_json_delta", partial_json: "{\"a\":1}" } } }, + state, + ); + expect(delta).toEqual([{ type: "tool_call_delta", arguments: "{\"a\":1}" }]); + const stop = mapStreamMessageToEvents({ type: "stream_event", event: { type: "content_block_stop" } }, state); + expect(stop).toEqual([{ type: "tool_call_end" }]); + expect(state.openToolCallId).toBeUndefined(); + }); + + test("usageFromResult returns undefined when no usage is present", () => { + expect(usageFromResult({ type: "result" })).toBeUndefined(); + }); +}); + +describe("codebuddy conversation input builder (Strategy C projection)", () => { + test("folds system + developer prompts and skips developer messages in the input stream", () => { + const parsed = parsedRequest({ + context: { + systemPrompt: ["You are Codex."], + messages: [ + { role: "developer", content: "Policy: be brief.", timestamp: 0 }, + { role: "user", content: "hello", timestamp: 1 }, + ], + }, + }); + expect(buildSystemPrompt(parsed)).toBe("You are Codex.\n\nPolicy: be brief."); + const lines = buildConversationInput(parsed).map(line => JSON.parse(line)); + expect(lines).toHaveLength(1); + expect(lines[0]).toEqual({ type: "user", message: { role: "user", content: [{ type: "text", text: "hello" }] } }); + }); + + test("projects multi-turn conversation into legal user-message frames with clear context separation", () => { + const parsed = parsedRequest({ + context: { + messages: [ + { role: "user", content: "Check the files.", timestamp: 0 }, + { + role: "assistant", + content: [ + { type: "thinking", thinking: "I will call exec" }, + { type: "toolCall", id: "c1", name: "exec", arguments: { cmd: "ls" } }, + ], + timestamp: 1, + }, + { + role: "toolResult", + toolCallId: "c1", + toolName: "exec", + content: "file1.txt\nfile2.txt", + isError: false, + timestamp: 2, + }, + { role: "user", content: "Now read file1.txt", timestamp: 3 }, + ], + }, + }); + + const lines = buildConversationInput(parsed).map(line => JSON.parse(line)); + // Must ONLY emit legal user message frames; zero assistant replay frames! + expect(lines).toHaveLength(1); + expect(lines[0].type).toBe("user"); + expect(lines[0].message.role).toBe("user"); + + const text = lines[0].message.content[0].text as string; + expect(text).toContain("Prior conversation context:"); + expect(text).toContain("USER:\nCheck the files."); + expect(text).toContain("ASSISTANT:\n[Thinking: I will call exec]\n[Tool call: exec (call_id: c1)"); + expect(text).toContain("TOOL RESULT (call_id: c1):\nfile1.txt\nfile2.txt"); + expect(text).toContain("Current user request:\n\nNow read file1.txt"); + + // Must NOT contain raw assistant frames + for (const raw of buildConversationInput(parsed)) { + expect(raw).not.toContain('"type":"assistant"'); + } + }); + + test("encodes a base64 image part and never silently drops a remote image", () => { + const dataUrl = buildInputLines({ role: "user", content: [{ type: "image", imageUrl: "data:image/png;base64,QUJD" }], timestamp: 0 } as never) + .map(line => JSON.parse(line)); + expect(dataUrl[0].message.content[0]).toEqual({ type: "image", source: { type: "base64", media_type: "image/png", data: "QUJD" } }); + const remote = buildInputLines({ role: "user", content: [{ type: "image", imageUrl: "https://x.test/a.png" }], timestamp: 0 } as never) + .map(line => JSON.parse(line)); + expect(remote[0].message.content[0]).toEqual({ type: "image", source: { type: "url", url: "https://x.test/a.png" } }); + }); + + test("preserves images attached during multi-turn conversation projection", () => { + const parsed = parsedRequest({ + context: { + messages: [ + { role: "user", content: "Here is the layout", timestamp: 0 }, + { role: "assistant", content: [{ type: "text", text: "Show me the screenshot" }], timestamp: 1 }, + { + role: "user", + content: [ + { type: "text", text: "Look at this screenshot" }, + { type: "image", imageUrl: "data:image/png;base64,QUJD" }, + ], + timestamp: 2, + }, + ], + }, + }); + + const lines = buildConversationInput(parsed).map(line => JSON.parse(line)); + expect(lines).toHaveLength(1); + expect(lines[0].type).toBe("user"); + const content = lines[0].message.content as Array<Record<string, unknown>>; + expect(content[0].type).toBe("text"); + expect(content[0].text).toContain("Current user request:\n\nLook at this screenshot"); + expect(content[1]).toEqual({ + type: "image", + source: { type: "base64", media_type: "image/png", data: "QUJD" }, + }); + }); +}); diff --git a/tests/providers/cursor/cursor-stream-health.test.ts b/tests/providers/cursor/cursor-stream-health.test.ts index dc7b572bf11..27a6cdac432 100644 --- a/tests/providers/cursor/cursor-stream-health.test.ts +++ b/tests/providers/cursor/cursor-stream-health.test.ts @@ -12,6 +12,7 @@ import { import { encodeConnectFrame } from "../../../src/adapters/cursor/framing"; import { createLiveCursorTransport } from "../../../src/adapters/cursor/live-transport"; import { createTestTranslatorBudget } from "../../helpers/translator-budget"; +import { isolationBudgetMs, watchdogMs } from "../../helpers/ci-watchdog"; import type { CursorRunRequest, CursorServerMessage } from "../../../src/adapters/cursor/types"; /** @@ -99,7 +100,11 @@ function runRequest(): CursorRunRequest { } as CursorRunRequest; } -async function drain(baseUrl: string, knobs: { streamSilenceFailMs?: number; streamHeartbeatOnlyFailMs?: number }): Promise<{ +async function drain( + baseUrl: string, + knobs: { streamSilenceFailMs?: number; streamHeartbeatOnlyFailMs?: number }, + onFirstText?: () => void, +): Promise<{ messages: CursorServerMessage[]; failure?: Error; }> { @@ -112,7 +117,14 @@ async function drain(baseUrl: string, knobs: { streamSilenceFailMs?: number; str const messages: CursorServerMessage[] = []; let failure: Error | undefined; try { - for await (const message of transport.run(runRequest())) messages.push(message); + for await (const message of transport.run(runRequest())) { + messages.push(message); + if (message.type === "text" && onFirstText) { + const notify = onFirstText; + onFirstText = undefined; + notify(); + } + } } catch (err) { failure = err instanceof Error ? err : new Error(String(err)); } finally { @@ -122,6 +134,15 @@ async function drain(baseUrl: string, knobs: { streamSilenceFailMs?: number; str } describe("Cursor inbound stream-health watchdog (T04)", () => { + // Scale once: the load helper applies a floor, so scaling each deadline separately + // would collapse the two clocks to the same value in CI. + const silenceMs = isolationBudgetMs(1_000); + const heartbeatOnlyMs = 2 * silenceMs; + const progressDurationMs = 3 * silenceMs; + // Include the existing two-second first-frame allowance and leave time for cleanup. + const fixtureLimitMs = 4 * silenceMs + 2_000; + const timeoutMs = Math.max(watchdogMs(15_000), fixtureLimitMs + silenceMs); + test("silence after the first frame fails the turn with the stall error", async () => { await withH2Server(stream => { stream.on("error", () => {}); @@ -140,27 +161,24 @@ describe("Cursor inbound stream-health watchdog (T04)", () => { stream.on("error", () => {}); stream.respond({ ":status": 200, "content-type": "application/connect+proto" }); stream.write(Buffer.from(textDeltaFrame("hi"))); - // 40ms, not 100ms. - // - // The silence clock below is 400ms, so a 100ms ping left a margin of four - // ticks: miss three in a row and the SILENCE watchdog fires first, which - // is a different error and a green-looking bug report. That is exactly what - // happened on the v2.41.0 macOS runner -- the assertion wanted - // "heartbeat-only" and got "no inbound frames for 1s before turnEnded". - // - // Nothing about the behaviour under test needs a slow ping: the point is - // that heartbeats reset the silence clock and do NOT reset the - // heartbeat-only clock. A tighter interval tests the same two clocks with - // ten ticks of margin instead of four. + // Frequent heartbeats/checkpoints keep the silence clock fresh while the + // longer heartbeat-only clock must still expire under a loaded test runner. const ping = setInterval(() => { try { stream.write(Buffer.from(heartbeatFrame())); stream.write(Buffer.from(checkpointFrame())); } catch { clearInterval(ping); } }, 40); - stream.on("close", () => clearInterval(ping)); + const limit = setTimeout(() => stream.close(), fixtureLimitMs); + stream.on("close", () => { + clearInterval(ping); + clearTimeout(limit); + }); }, async baseUrl => { - const { failure } = await drain(baseUrl, { streamSilenceFailMs: 400, streamHeartbeatOnlyFailMs: 900 }); + const { failure } = await drain(baseUrl, { + streamSilenceFailMs: silenceMs, + streamHeartbeatOnlyFailMs: heartbeatOnlyMs, + }); expect(failure).toBeDefined(); // Assert on the message, and say which watchdog won when the wrong one does. // A bare toContain here reported only the expected substring, which reads as @@ -168,35 +186,50 @@ describe("Cursor inbound stream-health watchdog (T04)", () => { // silence watchdog fired first on a loaded runner. expect(failure!.message).toContain("heartbeat-only"); }); - }, 15_000); + }, timeoutMs); test("meaningful frames keep resetting both clocks; turnEnded finishes cleanly", async () => { + let firstTextReceivedAt: number | undefined; + let completedProgressSpan = false; await withH2Server(stream => { stream.on("error", () => {}); stream.respond({ ":status": 200, "content-type": "application/connect+proto" }); + stream.write(Buffer.from(textDeltaFrame("part-0"))); + const latestEndAt = performance.now() + fixtureLimitMs; let count = 0; const tick = setInterval(() => { count += 1; try { - if (count < 6) { - stream.write(Buffer.from(textDeltaFrame(`part-${count}`))); - } else { + const now = performance.now(); + const progressComplete = firstTextReceivedAt !== undefined + && now - firstTextReceivedAt >= progressDurationMs; + if (progressComplete || now >= latestEndAt) { + completedProgressSpan = progressComplete; stream.write(Buffer.from(turnEndedFrame())); stream.end(); clearInterval(tick); + } else { + stream.write(Buffer.from(textDeltaFrame(`part-${count}`))); } - } catch { clearInterval(tick); } - }, 150); + } catch { + clearInterval(tick); + stream.destroy(); + } + }, 100); stream.on("close", () => clearInterval(tick)); }, async baseUrl => { - // Each 150ms text delta must reset the 400ms silence clock: six ticks ≈ 900ms total, - // far past a NON-resetting 400ms deadline. - const { messages, failure } = await drain(baseUrl, { streamSilenceFailMs: 400, streamHeartbeatOnlyFailMs: 10_000 }); + // Observe progress for 3S after receipt: both non-resetting deadlines (S and 2S) + // would expire before turnEnded, even when the first text reaches us late. + const { messages, failure } = await drain(baseUrl, { + streamSilenceFailMs: silenceMs, + streamHeartbeatOnlyFailMs: heartbeatOnlyMs, + }, () => { firstTextReceivedAt = performance.now(); }); expect(failure).toBeUndefined(); + expect(completedProgressSpan).toBe(true); expect(messages.some(message => message.type === "text")).toBe(true); expect(messages.some(message => message.type === "done")).toBe(true); }); - }, 15_000); + }, timeoutMs); test("turnEnded disarms the watchdog even when the server holds the stream open", async () => { await withH2Server(stream => { diff --git a/tests/providers/mimo-free-provider.test.ts b/tests/providers/mimo-free-provider.test.ts index 04cd2c908ed..00176d25897 100644 --- a/tests/providers/mimo-free-provider.test.ts +++ b/tests/providers/mimo-free-provider.test.ts @@ -12,6 +12,64 @@ import { createMimoFreeAdapter, } from "../../src/adapters/mimo-free"; import type { OcxParsedRequest, OcxProviderConfig } from "../../src/types"; +import { mkdtempSync } from "node:fs"; +import { tmpdir } from "node:os"; +import { join } from "node:path"; +import { removeTreeWithRetry } from "../helpers/remove-tree"; + +for (const phase of ["bootstrap", "chat", "401-replay"] as const) test.each([307, 308])(`MiMo ${phase} never follows %i`, async status => { + const nativeFetch = globalThis.fetch; + const previousHome = process.env.OPENCODEX_HOME; + const testHome = mkdtempSync(join(tmpdir(), "ocx-mimo-redirect-")); + process.env.OPENCODEX_HOME = testHome; + resetMimoClientIdCache(); + resetMimoJwtCache(); + let targetHits = 0; + let originHits = 0; + let chatSends = 0; + const observed: Array<RequestRedirect | undefined> = []; + const target = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + targetHits++; + return Response.json({ jwt: "redirected", ok: true }); + } }); + const origin = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + originHits++; + return new Response("redirect", { status, headers: { location: `http://127.0.0.1:${target.port}/target` } }); + } }); + globalThis.fetch = (async (input, init) => { + const url = String(input); + if (url !== MIMO_CHAT_URL && url !== "https://api.xiaomimimo.com/api/free-ai/bootstrap") throw new Error("unexpected external request"); + observed.push(init?.redirect); + if (phase === "401-replay") { + if (url.endsWith("/bootstrap")) return Response.json({ jwt: "fresh-token" }); + if (++chatSends === 1) return new Response("expired", { status: 401 }); + } + // Only remap the canonical URL; do not repair the production redirect option. + return nativeFetch(`http://127.0.0.1:${origin.port}/mimo`, init); + }) as typeof fetch; + let response: Response | undefined; + try { + if (phase === "bootstrap") await expect(getMimoJwt()).rejects.toThrow(`MiMo bootstrap failed: ${status}`); + else { + const adapter = createMimoFreeAdapter(providerConfigSeed(PROVIDER_REGISTRY.find(entry => entry.id === "mimo-free")!)); + response = await adapter.fetchResponse!({ url: MIMO_CHAT_URL, method: "POST", headers: { authorization: "Bearer synthetic-token" }, body: "synthetic prompt" }, {}); + expect(response.status).toBe(status); + } + expect(targetHits).toBe(0); + expect(originHits).toBe(1); + expect(observed).toEqual(phase === "401-replay" ? ["manual", "manual", "manual"] : ["manual"]); + } finally { + globalThis.fetch = nativeFetch; + await response?.body?.cancel(); + await origin.stop(true); + await target.stop(true); + if (previousHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = previousHome; + resetMimoClientIdCache(); + resetMimoJwtCache(); + removeTreeWithRetry(testHome); + } +}); function minimalRequest(model = "mimo-auto"): OcxParsedRequest { return { @@ -148,7 +206,10 @@ describe("mimo-free JWT cache", () => { test("getMimoJwt fetches from bootstrap and caches", async () => { const fakeJwt = "header." + Buffer.from(JSON.stringify({ exp: Math.floor(Date.now() / 1000) + 3600 })).toString("base64") + ".sig"; const originalFetch = globalThis.fetch; - globalThis.fetch = mock(async () => new Response(JSON.stringify({ jwt: fakeJwt }), { status: 200 })); + globalThis.fetch = mock(async (_input, init) => { + expect(init?.redirect).toBe("manual"); + return new Response(JSON.stringify({ jwt: fakeJwt }), { status: 200 }); + }); try { const jwt1 = await getMimoJwt(); expect(jwt1).toBe(fakeJwt); @@ -263,6 +324,7 @@ describe("mimo-free auth retry predicate", () => { const calls: string[] = []; const originalFetch = globalThis.fetch; globalThis.fetch = mock(async (url: string | URL | Request, init?: RequestInit) => { + expect(init?.redirect).toBe("manual"); const u = String(url); if (u.includes("/bootstrap")) { calls.push("bootstrap"); diff --git a/tests/providers/muse-spark-web-search-compat.test.ts b/tests/providers/muse-spark-web-search-compat.test.ts index ed22b4e0369..5254c7163d0 100644 --- a/tests/providers/muse-spark-web-search-compat.test.ts +++ b/tests/providers/muse-spark-web-search-compat.test.ts @@ -35,6 +35,12 @@ const META_PROVIDER = { baseUrl: "https://api.meta.ai/v1", }; +const META_PATH_PROVIDER = { + ...ZEN_PROVIDER, + baseUrl: "https://api.meta.ai", + responsesPath: "/v1/responses", +}; + /** A Codex web_search declaration exactly as `hosted_spec.rs` emits it for TextAndImage. */ function webSearchTool(): Record<string, unknown> { return { @@ -158,6 +164,47 @@ describe("#2617/#3378 Muse Spark web_search compatibility", () => { expect(Object.hasOwn(nested, "indexed_web_access")).toBe(false); }); + /** + * The Contributor Free tiers ride the same Zen Responses wire with the same + * gateway contract, so a Codex `web_search` + refused-field body 400s for them + * exactly like the paid tiers. + */ + test("Contributor Free tiers get the same web_search sanitization", () => { + for (const modelId of ["muse-spark-1.2-contributor-free", "muse-spark-1.3-contributor-free"]) { + const body = build(modelId, { tools: [webSearchTool()] }); + const tool = toolsOf(body)[0]!; + expect(tool.type).toBe("web_search"); + expect(tool.search_context_size).toBe("medium"); + expect(Object.hasOwn(tool, "search_content_types")).toBe(false); + expect(Object.hasOwn(tool, "indexed_web_access")).toBe(false); + } + }); + + test("a nested additional_tools declaration is sanitized for the Free tiers too", () => { + for (const modelId of ["muse-spark-1.2-contributor-free", "muse-spark-1.3-contributor-free"]) { + const body = build(modelId, { + input: [{ type: "additional_tools", tools: [webSearchTool()] }], + }); + const item = (body.input as Array<Record<string, unknown>>)[0]!; + const nested = (item.tools as Array<Record<string, unknown>>)[0]!; + expect(nested.type).toBe("web_search"); + expect(Object.hasOwn(nested, "search_content_types")).toBe(false); + expect(Object.hasOwn(nested, "indexed_web_access")).toBe(false); + } + }); + + test("the Free tiers keep the field on web_search_preview, where the gateway accepts it", () => { + for (const modelId of ["muse-spark-1.2-contributor-free", "muse-spark-1.3-contributor-free"]) { + const body = build(modelId, { + tools: [{ ...webSearchTool(), type: "web_search_preview" }], + }); + const tool = toolsOf(body)[0]!; + expect(tool.type).toBe("web_search_preview"); + expect(tool.search_content_types).toEqual(["text", "image"]); + expect(tool.indexed_web_access).toBe(true); + } + }); + test("OpenCode Go applies the same Muse compatibility guard", () => { const body = buildForProvider(ZEN_GO_PROVIDER, "muse-spark-1.3-contributor", { tools: [webSearchTool()], @@ -178,7 +225,14 @@ describe("#2617/#3378 Muse Spark web_search compatibility", () => { } }); - test("direct Meta preserves its web_search fields at both tool positions", () => { + /** + * #3456 scoped the guard to OpenCode Zen/Go URLs on the assumption that + * `https://api.meta.ai/v1` accepted Codex's extra web_search fields. Direct + * Meta still 400s `tools[].search_content_types` on ordinary `web_search` + * (live 2026-09-07 against muse-spark-1.3-contributor). Same model-id set, + * same field drop, same preview preservation. + */ + test("direct Meta strips rejected web_search fields at both tool positions", () => { const body = buildForProvider(META_PROVIDER, "muse-spark-1.3-contributor", { tools: [webSearchTool()], input: [{ type: "additional_tools", tools: [webSearchTool()] }], @@ -187,8 +241,29 @@ describe("#2617/#3378 Muse Spark web_search compatibility", () => { const item = (body.input as Array<Record<string, unknown>>)[0]!; const nested = (item.tools as Array<Record<string, unknown>>)[0]!; for (const declaration of [tool, nested]) { - expect(declaration.search_content_types).toEqual(["text", "image"]); - expect(declaration.indexed_web_access).toBe(true); + expect(declaration.type).toBe("web_search"); + expect(declaration.search_context_size).toBe("medium"); + expect(Object.hasOwn(declaration, "search_content_types")).toBe(false); + expect(Object.hasOwn(declaration, "indexed_web_access")).toBe(false); } }); + + test("direct Meta keeps the field on web_search_preview", () => { + const body = buildForProvider(META_PROVIDER, "muse-spark-1.3-contributor", { + tools: [{ ...webSearchTool(), type: "web_search_preview" }], + }); + const tool = toolsOf(body)[0]!; + expect(tool.type).toBe("web_search_preview"); + expect(tool.search_content_types).toEqual(["text", "image"]); + expect(tool.indexed_web_access).toBe(true); + }); + + test("split Meta baseUrl and responsesPath derives the same strict destination", () => { + const body = buildForProvider(META_PATH_PROVIDER, "muse-spark-1.3-contributor", { + tools: [webSearchTool()], + }); + const tool = toolsOf(body)[0]!; + expect(Object.hasOwn(tool, "search_content_types")).toBe(false); + expect(Object.hasOwn(tool, "indexed_web_access")).toBe(false); + }); }); diff --git a/tests/providers/opencode-go-grok46-responses.test.ts b/tests/providers/opencode-go-grok46-responses.test.ts index 19c2addd468..d35fa6cf8c1 100644 --- a/tests/providers/opencode-go-grok46-responses.test.ts +++ b/tests/providers/opencode-go-grok46-responses.test.ts @@ -5,6 +5,7 @@ import { getProviderRegistryEntry } from "../../src/providers/registry"; import { resolveWireProtocolOverride } from "../../src/server/adapter-resolve"; import type { OcxProviderConfig } from "../../src/types"; import { withTestTranslatorBudget } from "../helpers/translator-budget"; +import { normalizeOpenCodeGoAdditionalTools } from "../../src/adapters/opencode-go-additional-tools"; const createResponsesPassthroughAdapter = (...args: Parameters<typeof createResponsesPassthroughAdapterProduction>) => withTestTranslatorBudget(createResponsesPassthroughAdapterProduction(...args)); @@ -21,18 +22,22 @@ function provider(baseUrl = "https://opencode.ai/zen/go/v1"): OcxProviderConfig } as OcxProviderConfig; } -function build( +function buildRequest( modelId: string, rawBody: Record<string, unknown>, configuredProvider = provider(), -): Record<string, unknown> { - const request = createResponsesPassthroughAdapter(configuredProvider).buildRequest({ +) { + return createResponsesPassthroughAdapter(configuredProvider).buildRequest({ modelId, context: { messages: [] }, stream: true, options: {}, _rawBody: { model: modelId, input: "ping", ...rawBody }, }, { headers: new Headers() }); +} + +function build(modelId: string, rawBody: Record<string, unknown>, configuredProvider = provider()): Record<string, unknown> { + const request = buildRequest(modelId, rawBody, configuredProvider); return JSON.parse(request.body) as Record<string, unknown>; } @@ -68,7 +73,7 @@ describe("OpenCode Go Grok 4.6 Responses compatibility", () => { expect(body.tools).toEqual([functionTool]); }); - test("drops hosted search from an additional_tools-only request", () => { + test("promotes additional_tools-only declarations before dropping refused hosted search", () => { const functionTool = { type: "function", name: "lookup", parameters: { type: "object" } }; const body = build("grok-4.6", { input: [{ @@ -77,7 +82,8 @@ describe("OpenCode Go Grok 4.6 Responses compatibility", () => { }], }); - expect(body.input).toEqual([{ type: "additional_tools", tools: [functionTool] }]); + expect(body.input).toEqual([]); + expect(body.tools).toEqual([functionTool]); }); test("disables an explicit choice for a removed hosted tool", () => { @@ -133,3 +139,157 @@ describe("OpenCode Go Grok 4.6 Responses compatibility", () => { expect(body.tools).toEqual([{ type: "web_search" }]); }); }); + +describe("OpenCode Go additional_tools placement", () => { + const lookup = { type: "function", name: "lookup", parameters: { type: "object" } }; + const group = (name: string, tools: unknown[]) => ({ type: "namespace", name, tools }); + + test("preserves the canonical namespace dedupe and distinct response aliases", () => { + const raw = { + tools: [lookup, lookup], + input: [ + { type: "additional_tools", tools: [group("functions", [lookup, lookup]), group("alpha", [lookup])] }, + { type: "additional_tools", tools: [group("alpha", [lookup]), group("beta", [lookup])] }, + ], + }; + const original = structuredClone(raw); + const request = buildRequest("gpt-5.6-luna", raw); + const sent = JSON.parse(request.body); + expect(sent.input).toEqual([]); + expect(sent.tools).toEqual([lookup, { ...lookup, name: "alpha__lookup" }, { ...lookup, name: "beta__lookup" }]); + expect(request.convertedRoutedNamespaceToolAliases?.get("alpha__lookup")) + .toEqual({ namespace: "alpha", name: "lookup", kind: "function" }); + expect(request.convertedRoutedNamespaceToolAliases?.get("beta__lookup")) + .toEqual({ namespace: "beta", name: "lookup", kind: "function" }); + expect(raw).toEqual(original); + }); + + test.each(["none", "allowed"])("preserves custom/function lowering and %s authorization", choice => { + const request = buildRequest("gpt-5.6-luna", { + input: [{ type: "additional_tools", tools: [ + group("alpha", [lookup, { type: "custom", name: "custom_probe", description: "Freeform input" }]), + ] }], + tool_choice: choice === "none" ? "none" : { + type: "allowed_tools", mode: "auto", tools: [{ type: "function", namespace: "alpha", name: "lookup" }], + }, + }, { ...provider(), supportsResponsesCustomTools: false }); + const sent = JSON.parse(request.body); + expect(sent.input).toEqual([]); + expect(sent.tools).toEqual(expect.arrayContaining([ + expect.objectContaining({ type: "function", name: "alpha__lookup" }), + expect.objectContaining({ type: "function", name: "alpha__custom_probe" }), + ])); + expect(request.convertedRoutedNamespaceToolAliases?.has("alpha__custom_probe")).toBe(false); + expect(request.convertedRoutedNamespaceToolAliases?.has("alpha__lookup")).toBe(choice === "allowed"); + expect(sent.tool_choice).toEqual(choice === "none" ? "none" : { + type: "allowed_tools", mode: "auto", tools: [{ type: "function", name: "alpha__lookup" }], + }); + }); + + test("keeps nameless hosted tools for Luna and prunes Go Grok selectors after promotion", () => { + const web = { type: "web_search" }; + const raw = { input: [{ type: "additional_tools", tools: [web, lookup] }], tool_choice: { + type: "allowed_tools", mode: "required", tools: [web, { type: "function", name: "lookup" }], + } }; + expect(build("gpt-5.6-luna", raw).tools).toEqual([web, lookup]); + const grok = build("grok-4.6", raw); + expect(grok.tools).toEqual([lookup]); + expect(grok.tool_choice).toEqual({ + type: "allowed_tools", mode: "required", tools: [{ type: "function", name: "lookup" }], + }); + expect(build("grok-4.6", { input: [{ type: "additional_tools", tools: [web] }], tool_choice: "required" })) + .toMatchObject({ input: [], tools: [], tool_choice: "none" }); + }); + + test("activates tools loaded by tool search before moving their catalog", () => { + const sent = build("gpt-5.6-luna", { input: [ + { type: "additional_tools", tools: [{ ...lookup, defer_loading: true }] }, + { type: "tool_search_output", id: "tso_loaded", call_id: "call_search", tools: [lookup] }, + ] }); + expect(sent.tools).toEqual([lookup]); + expect((sent.input as Array<{ type: string }>).some(item => item.type === "additional_tools")).toBe(false); + }); + + test.each(["https://opencode.ai/zen/go/v1/responses", "https://opencode.ai:443/zen/go/v1/responses"])( + "promotes only wrappers on %s without mutating frozen caller data", responseUrl => { + const message = Object.freeze({ type: "message", role: "user", content: "keep" }); + const tools = Object.freeze([lookup]); + const raw = Object.freeze({ input: Object.freeze([message, Object.freeze({ type: "additional_tools", tools })]) }); + const result = normalizeOpenCodeGoAdditionalTools(raw, responseUrl) as { input: unknown[]; tools: unknown[] }; + expect(result).not.toBe(raw); + expect(result.input).toEqual([message]); + expect(result.input[0]).toBe(message); + expect(result.tools).toEqual([lookup]); + expect(result.tools[0]).toBe(lookup); + expect(raw.input).toHaveLength(2); + }, + ); + + test.each([ + { baseUrl: "https://opencode.ai/zen/go/v1" }, + { baseUrl: "https://opencode.ai:443/zen/go/v1/" }, + { baseUrl: "https://opencode.ai/zen/go/v1//" }, + { baseUrl: "https://opencode.ai/zen/go/v1/responses" }, + { baseUrl: "https://opencode.ai", responsesPath: "/zen/go/v1/responses" }, + ])("promotes on the final Go endpoint for $baseUrl", destination => { + const raw = { input: [{ type: "additional_tools", tools: [lookup] }] }; + const request = buildRequest("gpt-5.6-luna", raw, { ...provider(), ...destination }); + expect(new URL(request.url).href).toBe("https://opencode.ai/zen/go/v1/responses"); + expect(JSON.parse(request.body)).toMatchObject({ input: [], tools: [lookup] }); + }); + + test("a custom path overriding a Go base does not inherit Go placement", () => { + const raw = { input: [{ type: "additional_tools", tools: [lookup] }] }; + const request = buildRequest("gpt-5.6-luna", raw, { ...provider(), responsesPath: "/../../v1/responses" }); + expect(new URL(request.url).href).toBe("https://opencode.ai/zen/v1/responses"); + expect(JSON.parse(request.body).input).toEqual(raw.input); + }); + + test.each([ + "https://opencode.ai/zen/go/v1", "https://opencode.ai/zen/go/v1/responses/", + "https://opencode.ai/zen/go/v1//responses", + ])("leaves a noncanonical final resource %s unchanged", responseUrl => { + const raw = { input: [{ type: "additional_tools", tools: [lookup] }] }; + expect(normalizeOpenCodeGoAdditionalTools(raw, responseUrl)).toBe(raw); + }); + + test.each([ + "https://opencode.ai/zen/v1", "https://opencode.ai.evil.test/zen/go/v1", + "http://opencode.ai/zen/go/v1", "https://opencode.ai:444/zen/go/v1", + "https://opencode.ai/zen/go/v10", + (() => { + const url = new URL("https://opencode.ai/zen/go/v1"); + url.username = "fixture-user"; + url.password = "synthetic-password"; + return url.href; + })(), "https://opencode.ai/zen/go/v1?tenant=test", + "https://opencode.ai/zen/go/v1?", "https://opencode.ai/zen/go/v1#", + "https://opencode.ai/zen/go/v1#fragment", "https://example.test/v1", + ])("does not promote for unapproved destination %s", baseUrl => { + const raw = { input: [{ type: "additional_tools", tools: [lookup] }] }; + const request = buildRequest("gpt-5.6-luna", raw, provider(baseUrl)); + expect(normalizeOpenCodeGoAdditionalTools(raw, request.url)).toBe(raw); + expect(JSON.parse(request.body).input).toEqual(raw.input); + }); + + test("keeps forward wrappers and mixed ciphertext unchanged", () => { + const mixed = { type: "agent_message", content: [ + { type: "input_text", text: "Routing header" }, { type: "encrypted_content", encrypted_content: "opaque" }, + ] }; + const raw = { input: [mixed, { type: "additional_tools", tools: [lookup] }] }; + expect(build("gpt-5.6-luna", raw, { ...provider(), authMode: "forward" }).input).toEqual(raw.input); + expect(build("gpt-5.6-luna", raw).input).toEqual([mixed]); + }); + + test("keeps malformed wrappers and no-op bodies; removes a valid empty wrapper", () => { + const valid = { input: [{ type: "additional_tools", tools: [lookup] }] }; + expect(normalizeOpenCodeGoAdditionalTools(valid, "not a URL")).toBe(valid); + for (const raw of [null, [], { input: "ping" }, { input: [] }, + { input: [{ type: "additional_tools", tools: null }] }, + { tools: null, input: [{ type: "additional_tools", tools: [lookup] }] }, + ]) expect(normalizeOpenCodeGoAdditionalTools(raw, "https://opencode.ai/zen/go/v1/responses")).toBe(raw); + const malformed = { type: "additional_tools", tools: null }; + expect(build("gpt-5.6-luna", { input: [malformed, { type: "additional_tools", tools: [] }] })) + .toMatchObject({ input: [malformed], tools: [] }); + }); +}); diff --git a/tests/providers/opencode-go-luna-wire.test.ts b/tests/providers/opencode-go-luna-wire.test.ts index 152783b9bd6..c0afb15553b 100644 --- a/tests/providers/opencode-go-luna-wire.test.ts +++ b/tests/providers/opencode-go-luna-wire.test.ts @@ -5,13 +5,17 @@ * boundary that lets operators opt out if the upstream changes. */ import { afterEach, describe, expect, test } from "bun:test"; -import { providerConfigSeed } from "../../src/providers/derive"; +import { enrichProviderFromRegistry, providerConfigSeed } from "../../src/providers/derive"; import { getProviderRegistryEntry } from "../../src/providers/registry"; import { resolveWireProtocolOverride } from "../../src/server/adapter-resolve"; import { handleResponses } from "../../src/server/responses/core"; import type { OcxConfig, OcxProviderConfig } from "../../src/types"; +import { createResponsesPassthroughAdapter } from "../../src/adapters/openai-responses"; +import { parseRequest } from "../../src/responses/parser"; +import { withTestTranslatorBudget } from "../helpers/translator-budget"; const MODEL = "gpt-5.6-luna"; +const GO_RESPONSES_MODELS = [MODEL, "grok-4.6", "muse-spark-1.3-contributor"]; function opencodeGo(overrides: Partial<OcxProviderConfig> = {}): OcxProviderConfig { const entry = getProviderRegistryEntry("opencode-go"); @@ -43,6 +47,174 @@ describe("OpenCode Go GPT 5.6 Luna wire selection (#1482)", () => { }); }); +describe("OpenCode Go stateless Responses", () => { + test("seeds and backfills the canonical preset while preserving explicit false and custom names", () => { + expect(opencodeGo().statelessResponses).toBe(true); + const stale = opencodeGo(); + delete stale.statelessResponses; + enrichProviderFromRegistry("opencode-go", stale); + expect(stale.statelessResponses).toBe(true); + const overridden = opencodeGo({ statelessResponses: false }); + enrichProviderFromRegistry("opencode-go", overridden); + expect(overridden.statelessResponses).toBe(false); + const renamed = opencodeGo(); + delete renamed.statelessResponses; + enrichProviderFromRegistry("my-go", renamed); + expect(renamed.statelessResponses).toBeUndefined(); + expect(providerConfigSeed(getProviderRegistryEntry("cerebras")!).statelessResponses).toBeUndefined(); + }); + + test.each(GO_RESPONSES_MODELS)("%s repairs orphan calls/results and preserves paired results", model => { + const input = [ + { type: "function_call", call_id: "call_done", name: "probe", arguments: "{}" }, + { type: "function_call", call_id: "call_missing", name: "probe", arguments: "{}" }, + { type: "function_call_output", call_id: "call_done", output: "actual result" }, + { type: "function_call_output", call_id: "call_unknown", output: "orphan result" }, + ]; + const raw = { model, input, previous_response_id: "resp_unrecorded_go", stream: true }; + const original = structuredClone(raw); + for (const expanded of [false, true]) { + const parsed = parseRequest(raw); + parsed._previousResponseInputExpanded = expanded; + const adapter = withTestTranslatorBudget(createResponsesPassthroughAdapter({ + ...opencodeGo(), adapter: "openai-responses", + })); + const sent = JSON.parse(adapter.buildRequest(parsed).body); + expect(sent.previous_response_id).toBeUndefined(); + expect(sent.store).toBe(false); + expect(sent.input).toEqual([ + input[0], input[1], input[2], + expect.objectContaining({ type: "function_call_output", call_id: "call_missing", output: expect.stringContaining("no tool result was recorded") }), + expect.objectContaining({ type: "message", role: "user", content: expect.any(Array) }), + ]); + expect(JSON.stringify(sent.input[4])).toContain("orphan result"); + expect(raw).toEqual(original); + } + const stateful = withTestTranslatorBudget(createResponsesPassthroughAdapter({ + ...opencodeGo({ statelessResponses: false }), adapter: "openai-responses", + })); + const sent = JSON.parse(stateful.buildRequest(parseRequest(raw)).body); + expect(sent.previous_response_id).toBe("resp_unrecorded_go"); + expect(sent.store).not.toBe(false); + expect(sent.input).toEqual(input); + }); +}); + +describe("OpenCode Go stateless reasoning and continuation routes", () => { + const originalFetch = globalThis.fetch; + afterEach(() => { globalThis.fetch = originalFetch; }); + + const continuations = [ + { id: "full", name: "full history", fullHistory: true, summary: "auto" }, + { id: "delta", name: "delta", fullHistory: false, summary: "auto" }, + { id: "hidden", name: "hidden-summary full history", fullHistory: true, summary: "none" }, + ]; + for (const model of GO_RESPONSES_MODELS) for (const streaming of [true, false]) for (const continuation of continuations) { + test(`${model} preserves ${continuation.name} across two ${streaming ? "SSE" : "JSON"} turns`, async () => { + const requests: Array<{ url: string; body: Record<string, unknown> }> = []; + // Opaque synthetic provider state, never a real credential or decrypted task. + const blob = "provider-minted-go-reasoning-state"; + const prefix = `${model.replaceAll(".", "_")}_${streaming ? "sse" : "json"}_${continuation.id}`; + const reasoning = [ + { type: "reasoning", id: `rs_${prefix}_summary`, status: "completed", summary: [{ type: "summary_text", text: "Already summarized" }] }, + { type: "reasoning", id: `rs_${prefix}_content`, status: "completed", content: [{ type: "reasoning_text", text: "Visible thinking" }], summary: [] }, + { type: "reasoning", id: `rs_${prefix}_blob`, status: "completed", content: [{ type: "reasoning_text", text: "Opaque item trace" }], summary: [], encrypted_content: blob }, + ]; + const call = { type: "function_call", id: `fc_${prefix}`, status: "completed", call_id: `call_${prefix}`, name: "probe", arguments: "{}" }; + const priorMessage = { type: "message", id: `msg_${prefix}_prior`, status: "completed", role: "assistant", + content: [{ type: "output_text", text: "Probe requested", annotations: [] }], + }; + globalThis.fetch = (async (input: RequestInfo | URL, init?: RequestInit) => { + requests.push({ url: String(input), body: JSON.parse(String(init?.body ?? "{}")) }); + const output = requests.length === 1 ? [...reasoning, call, priorMessage] : [{ + type: "message", id: `msg_${prefix}`, status: "completed", role: "assistant", + content: [{ type: "output_text", text: "Continuation accepted", annotations: [] }], + }]; + const response = { id: `resp_${prefix}_${requests.length}`, object: "response", status: "completed", model, output }; + if (!streaming) return Response.json(response); + const payloads: Record<string, unknown>[] = [{ type: "response.created", response: { ...response, status: "in_progress", output: [] } }]; + for (const [index, item] of output.entries()) { + payloads.push({ type: "response.output_item.added", output_index: index, item }); + if (requests.length === 1 && index === 1) payloads.push({ + type: "response.reasoning_text.delta", item_id: item.id, output_index: index, content_index: 0, delta: "Visible thinking", + }); + payloads.push({ type: "response.output_item.done", output_index: index, item }); + } + payloads.push({ type: "response.completed", response }); + return new Response(payloads.map((payload, sequence_number) => + `data: ${JSON.stringify({ ...payload, sequence_number })}\n\n` + ).join("") + "data: [DONE]\n\n", { headers: { "content-type": "text/event-stream" } }); + }) as typeof fetch; + const config = { providers: { "opencode-go": opencodeGo() } } as unknown as OcxConfig; + const drive = async (body: Record<string, unknown>) => { + const response = await handleResponses(new Request("http://localhost/v1/responses", { + method: "POST", headers: { "content-type": "application/json" }, + body: JSON.stringify({ model: `opencode-go/${model}`, stream: streaming, reasoning: { summary: continuation.summary }, + tools: [{ type: "function", name: "probe", parameters: { type: "object" } }], ...body }), + }), config, { model: "", provider: "" }, { inboundWire: "responses" }); + expect(response.status).toBe(200); + const text = await response.text(); + if (!streaming) return { document: JSON.parse(text), text }; + const events = text.split("\n").filter(line => line.startsWith("data: {")).map(line => JSON.parse(line.slice(6))); + const terminal = events.find(event => event.type === "response.completed"); + expect(terminal).toBeDefined(); + return { document: terminal.response, text }; + }; + const initial = { type: "message", role: "user", content: [{ type: "input_text", text: "Run probe" }] }; + const first = await drive({ input: [initial] }); + expect(first.document.output[0]).toEqual(reasoning[0]); + expect(first.document.output[1]).toEqual(continuation.summary === "auto" ? { + type: "reasoning", id: `rs_${prefix}_content`, status: "completed", summary: [{ type: "summary_text", text: "Visible thinking" }], + } : reasoning[1]); + expect(first.document.output[2]).toEqual(reasoning[2]); + expect(first.document.output[3]).toMatchObject(call); + expect(first.document.output[4]).toEqual(priorMessage); + if (streaming) { + const channel = continuation.summary === "auto" ? "reasoning_summary_text" : "reasoning_text"; + expect(first.text).toContain(`"type":"response.${channel}.delta"`); + } + const result = { type: "function_call_output", call_id: call.call_id, output: "probe succeeded" }; + // Echo exactly the client-visible history through handleResponses. An upstream-shape + // cache would prepend it again after the content-to-summary rewrite (F1). + const nextBody = { + input: continuation.fullHistory ? [initial, ...first.document.output, result] : [result], + previous_response_id: first.document.id, store: true, + conversation: "conversation_fixture", background: true, metadata: { fixture: "go" }, prompt: { id: "prompt_fixture" }, + }; + const originalHistory = structuredClone(nextBody); + const second = await drive(nextBody); + for (const field of ["previous_response_id", "conversation", "background", "metadata", "prompt"]) { + expect(requests[1]!.body[field]).toBeUndefined(); + } + expect(nextBody).toEqual(originalHistory); + expect(second.text).toContain("Continuation accepted"); + expect(requests).toHaveLength(2); + for (const request of requests) { + expect(request.url).toBe("https://opencode.ai/zen/go/v1/responses"); + expect(request.body.previous_response_id).toBeUndefined(); + expect(request.body.store).toBe(false); + expect(request.body.stream).toBe(streaming); + } + const replay = requests[1]!.body.input as Array<Record<string, unknown>>; + expect(replay.filter(item => item.type === "function_call")).toEqual([ + expect.objectContaining({ call_id: call.call_id, name: "probe", arguments: "{}" }), + ]); + expect(replay.filter(item => item.type === "function_call_output")).toEqual([result]); + expect(replay.filter(item => item.type === "message" && item.role === "user")).toEqual([initial]); + expect(replay.filter(item => item.type === "message" && item.role === "assistant")).toEqual([ + expect.objectContaining({ role: "assistant", content: priorMessage.content }), + ]); + expect(replay.filter(item => item.type === "reasoning")).toHaveLength(3); + expect(replay).toContainEqual(expect.objectContaining({ type: "reasoning", encrypted_content: blob })); + expect(JSON.stringify(replay)).toContain("Already summarized"); + if (continuation.summary === "auto") expect(replay).toContainEqual(expect.objectContaining({ + type: "reasoning", summary: [{ type: "summary_text", text: "Visible thinking" }], + })); + expect(JSON.stringify(replay)).not.toContain("no tool result was recorded"); + }); + } +}); + describe("OpenCode Go Luna Responses route (#1482)", () => { const originalFetch = globalThis.fetch; afterEach(() => { globalThis.fetch = originalFetch; }); diff --git a/tests/providers/opencode-go-session-header.test.ts b/tests/providers/opencode-go-session-header.test.ts index ab28c8475f5..c176dc703e6 100644 --- a/tests/providers/opencode-go-session-header.test.ts +++ b/tests/providers/opencode-go-session-header.test.ts @@ -4,6 +4,7 @@ import { resolveOpenCodeGoTransport } from "../../src/providers/opencode-go-tran import { getProviderRegistryEntry } from "../../src/providers/registry"; import { handleResponses } from "../../src/server/responses/core"; import { handleChatCompletions } from "../../src/server/chat-completions"; +import { handleClaudeMessages } from "../../src/server/claude-messages"; import type { OcxConfig, OcxProviderConfig } from "../../src/types"; const MUSE_MODEL = "muse-spark-1.3-contributor"; @@ -25,7 +26,14 @@ function codexHeaders(child = "child-thread-a"): Record<string, string> { }; } -function upstreamResponse(url: string): Response { +function upstreamResponse(url: string, stream = false): Response { + if (stream && url.endsWith("/chat/completions")) { + return new Response([ + `data: ${JSON.stringify({ choices: [{ index: 0, delta: { role: "assistant", content: "ok" } }] })}\n\n`, + `data: ${JSON.stringify({ choices: [{ index: 0, delta: {}, finish_reason: "stop" }], usage: { prompt_tokens: 1, completion_tokens: 1 } })}\n\n`, + "data: [DONE]\n\n", + ].join(""), { headers: { "content-type": "text/event-stream" } }); + } if (url.endsWith("/responses")) { return Response.json({ id: "resp_opencode_go_session", @@ -54,6 +62,8 @@ async function captureRequest(input: { child?: string; provider?: OcxProviderConfig; nativeChat?: boolean; + claude?: boolean; + metadataUserId?: string; headers?: Record<string, string>; } = {}): Promise<{ url: string; headers: Headers }> { const providerName = input.providerName ?? "opencode-go"; @@ -62,13 +72,26 @@ async function captureRequest(input: { globalThis.fetch = (async (requestInput: RequestInfo | URL, init?: RequestInit) => { const url = String(requestInput); requests.push({ url, headers: new Headers(init?.headers) }); - return upstreamResponse(url); + return upstreamResponse(url, input.claude); }) as typeof fetch; const config = { providers: { [providerName]: input.provider ?? opencodeGo() }, } as unknown as OcxConfig; - const response = input.nativeChat ? await handleChatCompletions( + const response = input.claude ? await handleClaudeMessages( + new Request("http://localhost/v1/messages", { + method: "POST", + headers: input.headers ?? { "content-type": "application/json" }, + body: JSON.stringify({ + model: `${providerName}/${model}`, max_tokens: 64, stream: false, + system: "A shared system prompt is not a conversation identifier.", + messages: [{ role: "user", content: "ping" }], + ...(input.metadataUserId !== undefined ? { metadata: { user_id: input.metadataUserId } } : {}), + }), + }), + config, + { model: "", provider: "" }, + ) : input.nativeChat ? await handleChatCompletions( new Request("http://localhost/v1/chat/completions", { method: "POST", headers: input.headers ?? codexHeaders(input.child), @@ -97,6 +120,118 @@ describe("OpenCode Go session affinity (#3344)", () => { const originalFetch = globalThis.fetch; afterEach(() => { globalThis.fetch = originalFetch; }); + test("Claude metadata gives stable Go affinity across turns and distinct conversations", async () => { + const input = { claude: true, model: CHAT_MODEL, metadataUserId: "user_test_account__session_conversation-a" }; + const first = await captureRequest(input); + const continued = await captureRequest(input); + const next = await captureRequest({ ...input, metadataUserId: "user_test_account__session_conversation-b" }); + expect(first.url).toBe("https://opencode.ai/zen/go/v1/chat/completions"); + // Fixed SHA-256 vectors calculated independently of the production helpers. + expect(first.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + expect(continued.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + expect(next.headers.get(SESSION_HEADER)).toBe("ocx_55fec02e7f2c7f9358958ab6d1589530"); + expect(first.headers.get(SESSION_HEADER)).not.toContain("conversation-a"); + }); + + test("Claude recognizes renamed canonical Go destinations and omits shared system affinity", async () => { + const input = { claude: true, model: CHAT_MODEL, providerName: "renamed-go" }; + const metadata = await captureRequest({ ...input, metadataUserId: "user_test_account__session_conversation-a" }); + const desktop = await captureRequest(input); + expect(metadata.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + expect(desktop.headers.has(SESSION_HEADER)).toBe(false); + }); + + test("Claude explicit Go header precedes metadata and matches native Chat affinity", async () => { + const headers = { "content-type": "application/json", [SESSION_HEADER]: "client-session-a" }; + const claude = await captureRequest({ claude: true, model: CHAT_MODEL, headers, metadataUserId: "different-metadata-session" }); + const chat = await captureRequest({ nativeChat: true, model: CHAT_MODEL, headers }); + expect(claude.headers.get(SESSION_HEADER)).toBe("ocx_516d593899f34b7baca2db37c7b0c8c5"); + expect(chat.headers.get(SESSION_HEADER)).toBe("ocx_516d593899f34b7baca2db37c7b0c8c5"); + }); + + test("Claude affinity survives per-model Responses wire selection", async () => { + const input = { claude: true, metadataUserId: "user_test_account__session_conversation-a" }; + const chat = await captureRequest({ ...input, model: CHAT_MODEL }); + const responses = await captureRequest({ ...input, model: MUSE_MODEL }); + expect(responses.url).toBe("https://opencode.ai/zen/go/v1/responses"); + expect(chat.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + expect(responses.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + const explicit = await captureRequest({ + ...input, model: MUSE_MODEL, + headers: { "content-type": "application/json", [SESSION_HEADER]: "client-session-a" }, + }); + expect(explicit.headers.get(SESSION_HEADER)).toBe("ocx_516d593899f34b7baca2db37c7b0c8c5"); + }); + + for (const [model, url] of [ + [CHAT_MODEL, "https://opencode.ai/zen/go/v1/chat/completions"], + [MUSE_MODEL, "https://opencode.ai/zen/go/v1/responses"], + ] as const) { + test(`Claude ${model} falls back to valid metadata after invalid explicit Go identity`, async () => { + // Interior tab is constructible in HTTP Headers but rejected by the identity owner. + for (const session of ["", " ", "invalid\tidentity", "x".repeat(4097)]) { + const captured = await captureRequest({ + claude: true, model, metadataUserId: "user_test_account__session_conversation-a", + headers: { "content-type": "application/json", [SESSION_HEADER]: session }, + }); + expect(captured.url).toBe(url); + expect(captured.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + const invalidLane = await captureRequest({ + claude: true, model, metadataUserId: "user_test_account__session_conversation-a", + headers: { "content-type": "application/json", session_id: session }, + }); + expect(invalidLane.url).toBe(url); + expect(invalidLane.headers.get(SESSION_HEADER)).toBe("ocx_a89540229ef781fd5f7adf92a711b436"); + } + }); + + test(`Claude ${model} omits Go affinity without usable metadata identity`, async () => { + for (const metadataUserId of [undefined, "", " \t\n ", "invalid\u0000identity", "x".repeat(4097)]) { + const captured = await captureRequest({ claude: true, model, metadataUserId }); + expect(captured.url).toBe(url); + expect(captured.headers.has(SESSION_HEADER)).toBe(false); + expect(captured.headers.has("session_id")).toBe(false); + } + }); + + test(`Claude ${model} keeps explicit and operator identity with empty metadata`, async () => { + const input = { + claude: true, model, metadataUserId: "", + headers: { "content-type": "application/json", [SESSION_HEADER]: " client-session-a " }, + }; + const explicit = await captureRequest(input); + expect(explicit.url).toBe(url); + expect(explicit.headers.get(SESSION_HEADER)).toBe("ocx_516d593899f34b7baca2db37c7b0c8c5"); + const operator = await captureRequest({ ...input, provider: opencodeGo({ headers: { "X-OpenCode-Session": "operator-session" } }) }); + expect(operator.url).toBe(url); + expect(operator.headers.get(SESSION_HEADER)).toBe("operator-session"); + }); + + test(`Claude ${model} preserves explicit session lanes and operator header precedence`, async () => { + for (const laneHeader of ["session_id", "session-id", "thread-id", "x-codex-parent-thread-id"]) { + const headers = { "content-type": "application/json", [laneHeader]: "native-client-session", [SESSION_HEADER]: "different-fallback" }; + const input = { claude: true, model, headers, metadataUserId: "different-metadata-session" }; + const claude = await captureRequest(input); + expect(claude.url).toBe(url); + expect(claude.headers.get(SESSION_HEADER)).toBe("ocx_a197dbb87311c29a5fbe51140e3845ce"); + const operator = await captureRequest({ ...input, provider: opencodeGo({ headers: { "X-OpenCode-Session": "operator-session" } }) }); + expect(operator.url).toBe(url); + expect(operator.headers.get(SESSION_HEADER)).toBe("operator-session"); + } + }); + } + + test("Claude does not add Go affinity to custom or lookalike destinations", async () => { + for (const baseUrl of ["https://custom.example/v1", "https://opencode.ai.evil.test/zen/go/v1"]) { + const captured = await captureRequest({ + claude: true, model: CHAT_MODEL, providerName: "custom-go", + provider: opencodeGo({ baseUrl }), metadataUserId: "user_test_account__session_conversation-a", + headers: { "content-type": "application/json", [SESSION_HEADER]: "client-session-a" }, + }); + expect(captured.headers.has(SESSION_HEADER)).toBe(false); + } + }); + test("native Chat ingress preserves stable Go affinity and separates conversations", async () => { const provider = opencodeGo(); const input = { nativeChat: true, model: "omen-alpha", provider }; diff --git a/tests/providers/provider-connection-test.test.ts b/tests/providers/provider-connection-test.test.ts index 18f06766683..1a60493cd09 100644 --- a/tests/providers/provider-connection-test.test.ts +++ b/tests/providers/provider-connection-test.test.ts @@ -3,6 +3,7 @@ import { existsSync, mkdirSync} from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; import { setFetchCursorUsableModelsForTests } from "../../src/adapters/cursor/live-models"; +import { setFetchQoderModelsForTests } from "../../src/adapters/qoder/live-models"; import { handleManagementAPI } from "../../src/server/management-api"; import { saveConfig } from "../../src/config"; import { OAUTH_PROVIDERS } from "../../src/oauth"; @@ -24,6 +25,7 @@ beforeEach(() => { afterEach(() => { setFetchCursorUsableModelsForTests(null); + setFetchQoderModelsForTests(null); globalThis.fetch = originalFetch; if (previousHome === undefined) delete process.env.OPENCODEX_HOME; else process.env.OPENCODEX_HOME = previousHome; @@ -54,6 +56,38 @@ async function probe(config: OcxConfig, name: string): Promise<{ status: number; } describe("POST /api/providers/test (WP040 connectivity probe)", () => { + test("Qoder probes the official CLI model list for the configured PAT", async () => { + const calls: Array<{ providerId: string; token: string }> = []; + setFetchQoderModelsForTests((profile, token) => { + calls.push({ providerId: profile.providerId, token }); + return { ok: true, models: ["Qwen3.8-Max", "GLM-5.3"] }; + }); + const config = baseConfig({ + qoder: { adapter: "qoder", baseUrl: "https://qoder.com", apiKey: "qoder-pat", authMode: "key", liveModels: true }, + }); + + const { body } = await probe(config, "qoder"); + + expect(body).toMatchObject({ ok: true, models: 2, message: "Connected. 2 models." }); + expect(calls).toEqual([{ providerId: "qoder", token: "qoder-pat" }]); + }); + + test("Qoder CN probes its own CLI profile and PAT", async () => { + const calls: Array<{ providerId: string; token: string }> = []; + setFetchQoderModelsForTests((profile, token) => { + calls.push({ providerId: profile.providerId, token }); + return { ok: true, models: ["Qwen3.8-Flash"] }; + }); + const config = baseConfig({ + "qoder-cn": { adapter: "qoder", baseUrl: "https://qoder.cn", apiKey: "cn-pat", authMode: "key", liveModels: true }, + }); + + const { body } = await probe(config, "qoder-cn"); + + expect(body).toMatchObject({ ok: true, models: 1, message: "Connected. 1 models." }); + expect(calls).toEqual([{ providerId: "qoder-cn", token: "cn-pat" }]); + }); + test("Cursor probes GetUsableModels and reports the live model count", async () => { const calls: { apiKey: string; baseUrl?: string }[] = []; setFetchCursorUsableModelsForTests(async options => { @@ -316,6 +350,40 @@ describe("POST /api/providers/test (WP040 connectivity probe)", () => { }); }); + test("Nous probe accepts 390 synthetic paid/free rows above 256 KiB (#3939)", async () => { + const payload = JSON.stringify({ + data: Array.from({ length: 390 }, (_, index) => ({ + id: index === 0 ? "tencent/hy3:free" : `vendor/model-${index}`, + metadata: { description: "x".repeat(1_400) }, + })), + }); + const bytes = new TextEncoder().encode(payload).byteLength; + expect(bytes).toBeGreaterThan(262_144); + expect(bytes).toBeLessThan(1_048_576); + let fetches = 0; + globalThis.fetch = (async (input, init) => { + fetches += 1; + expect(String(input)).toBe("https://inference-api.nousresearch.com/v1/models"); + expect(init?.method ?? "GET").toBe("GET"); + expect(new Headers(init?.headers).get("authorization")).toBe("Bearer access-token-nous-probe-fixture"); + return new Response(payload, { headers: { "content-type": "application/json" } }); + }) as typeof fetch; + await saveCredential("nous", { + access: "access-token-nous-probe-fixture", + refresh: "nous-probe-fixture-refresh", + expires: Date.now() + 3_600_000, + }); + const config = baseConfig({ + nous: { ...structuredClone(OAUTH_PROVIDERS.nous!.providerConfig) }, + }); + + const { status, body } = await probe(config, "nous"); + + expect(status).toBe(200); + expect(fetches).toBe(1); + expect(body).toMatchObject({ ok: true, models: 390 }); + }); + test("Google's models-array response shape is accepted (x-goog-api-key path)", async () => { let requestedUrl = ""; globalThis.fetch = (async (input: RequestInfo | URL) => { diff --git a/tests/providers/provider-model-aliases.test.ts b/tests/providers/provider-model-aliases.test.ts index d326a8562e4..5ba8b5981eb 100644 --- a/tests/providers/provider-model-aliases.test.ts +++ b/tests/providers/provider-model-aliases.test.ts @@ -217,6 +217,50 @@ describe("provider and model aliases", () => { routeReason: "explicit-provider-namespace", }); }); + test.each(["agy", "AgY"])("canonical provider name %s suppresses a colliding built-in alias", async canonicalName => { + const c = { + port: 10100, + defaultProvider: "google-antigravity", + providers: { + [canonicalName]: { + adapter: "openai-chat", + baseUrl: "https://custom.test/v1", + models: ["gemini-3.8-flash"], + liveModels: false, + }, + "google-antigravity": { + adapter: "google", + baseUrl: "https://daily-cloudcode-pa.googleapis.com", + authMode: "oauth", + models: ["gemini-3.8-flash"], + liveModels: false, + }, + }, + } as unknown as OcxConfig; + + const models = await gatherRoutedModels(c); + const googleModel = models.find(m => m.provider === "google-antigravity" && m.id === "gemini-3.8-flash")!; + expect(googleModel.providerAlias).toBeNull(); + + const [googleEntry] = buildCatalogEntries(null, [], [googleModel]); + expect(googleEntry!.display_name).toBe("google-antigravity/gemini-3.8-flash"); + expect(routeModel(c, googleEntry!.display_name)).toMatchObject({ + providerName: "google-antigravity", + modelId: "gemini-3.8-flash", + }); + expect(routeModel(c, `${canonicalName}/gemini-3.8-flash`)).toMatchObject({ + providerName: canonicalName, + modelId: "gemini-3.8-flash", + }); + + // Canonical names stay case-sensitive. A case variant must not activate the + // claimed registry alias; preserve the unknown slash-id default fallback. + expect(routeModel({ ...c, defaultProvider: canonicalName }, "AGY/gemini-3.8-flash")).toMatchObject({ + providerName: canonicalName, + modelId: "AGY/gemini-3.8-flash", + routeReason: "default-provider", + }); + }); test("static gather (liveModels: false) suppresses agy when other provider explicitly owns it", async () => { const c = { port: 10100, diff --git a/tests/providers/provider-model-discovery-contract.test.ts b/tests/providers/provider-model-discovery-contract.test.ts index 494d0e484f8..b77a3b6fe57 100644 --- a/tests/providers/provider-model-discovery-contract.test.ts +++ b/tests/providers/provider-model-discovery-contract.test.ts @@ -1,10 +1,12 @@ -import { afterEach, describe, expect, spyOn, test } from "bun:test"; -import { readFileSync } from "node:fs"; +import { afterEach, beforeEach, describe, expect, spyOn, test } from "bun:test"; +import { mkdtempSync, readFileSync } from "node:fs"; +import { tmpdir } from "node:os"; import { join } from "node:path"; import { gatherRoutedModels } from "../../src/codex/catalog"; import { catalogHintsFromModelsApiItem } from "../../src/codex/catalog/provider-fetch"; -import { clearModelCache, getFreshCached, setCached } from "../../src/codex/model-cache"; +import { clearModelCache, getFreshCached, getProviderDiscoveryStatus, getProviderLiveModelCount, setCached } from "../../src/codex/model-cache"; import { buildModelsRequest } from "../../src/oauth"; +import { saveCredential } from "../../src/oauth/store"; import { KEY_LOGIN_PROVIDERS, validateApiKey } from "../../src/oauth/key-providers"; import { deriveKeyLoginMap, providerConfigSeed } from "../../src/providers/derive"; import { @@ -25,6 +27,7 @@ import type { OcxConfig, OcxProviderConfig } from "../../src/types"; import { withStubbedProviderFetch } from "../helpers/catalog-provider-fetch"; import { withRegistryDiscovery } from "../helpers/provider-registry-discovery"; import { fixturePath } from "../helpers/repo-root"; +import { removeTreeWithRetry } from "../helpers/remove-tree"; const FIXTURE = readFileSync(fixturePath("provider-model-discovery.json"), "utf8"); const originalFetch = globalThis.fetch; @@ -455,6 +458,79 @@ describe("registry-owned provider model discovery", () => { expect(cancelled).toBe(true); }); + describe("Nous native catalog response cap (#3939)", () => { + let previousHome: string | undefined; + let credentialHome: string; + + beforeEach(async () => { + previousHome = process.env.OPENCODEX_HOME; + credentialHome = mkdtempSync(join(tmpdir(), "ocx-nous-discovery-")); + process.env.OPENCODEX_HOME = credentialHome; + clearModelCache("nous"); + await saveCredential("nous", { + access: "access-token-nous-discovery-fixture", + refresh: "nous-discovery-fixture-refresh", + expires: Date.now() + 3_600_000, + }); + }); + + afterEach(() => { + clearModelCache("nous"); + if (previousHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = previousHome; + removeTreeWithRetry(credentialHome); + }); + + test("gathers and caches 390 synthetic paid/free rows above 256 KiB", async () => { + const entry = PROVIDER_REGISTRY.find(row => row.id === "nous"); + if (!entry) throw new Error("missing nous registry entry"); + const payload = JSON.stringify({ + data: Array.from({ length: 390 }, (_, index) => ({ + id: index === 0 ? "tencent/hy3:free" : `vendor/model-${index}`, + metadata: { description: "x".repeat(1_400) }, + })), + }); + const bytes = new TextEncoder().encode(payload).byteLength; + expect(bytes).toBeGreaterThan(262_144); + expect(bytes).toBeLessThan(1_048_576); + + let fetches = 0; + globalThis.fetch = (async (input, init) => { + fetches += 1; + expect(String(input)).toBe("https://inference-api.nousresearch.com/v1/models"); + expect(init?.method ?? "GET").toBe("GET"); + expect(new Headers(init?.headers).get("authorization")).toBe("Bearer access-token-nous-discovery-fixture"); + return new Response(payload, { headers: { "content-type": "application/json" } }); + }) as typeof fetch; + const config = withStubbedProviderFetch<OcxConfig>({ + defaultProvider: "nous", + providers: { nous: { ...providerConfigSeed(entry), models: ["safe-fallback"] } }, + }); + const discovery = resolveProviderModelDiscovery("nous", config.providers.nous!); + expect(discovery.maxResponseBytes).toBe(1_048_576); + expect(discovery.maxModels).toBe(512); + const warning = spyOn(console, "warn").mockImplementation(() => {}); + try { + const models = (await gatherRoutedModels(config)).filter(model => model.provider === "nous"); + expect(fetches).toBe(1); + expect(models).toHaveLength(390); + const ids = models.map(model => model.id); + expect(ids).toContain("tencent/hy3:free"); + expect(ids).toContain("vendor/model-1"); + expect(ids).toContain("vendor/model-389"); + expect(ids).not.toContain("safe-fallback"); + // Gather sorts its published rows; the cache retains upstream order. + expect(getFreshCached("nous", 60_000)?.map(model => model.id).sort()).toEqual([...ids].sort()); + expect(getProviderLiveModelCount("nous")).toBe(390); + expect(getProviderDiscoveryStatus("nous")).toEqual({ status: "ok" }); + expect((await gatherRoutedModels(config)).filter(model => model.provider === "nous")).toEqual(models); + expect(fetches).toBe(1); + } finally { + warning.mockRestore(); + } + }); + }); + test("rejects invalid UTF-8 before JSON parsing", async () => { const invalidUtf8Json = new Uint8Array([ 0x7b, 0x22, 0x78, 0x22, 0x3a, 0x22, 0xc3, 0x28, 0x22, 0x7d, diff --git a/tests/providers/provider-registry-parity.test.ts b/tests/providers/provider-registry-parity.test.ts index 8045ce649a9..697aefc03d0 100644 --- a/tests/providers/provider-registry-parity.test.ts +++ b/tests/providers/provider-registry-parity.test.ts @@ -32,15 +32,25 @@ function nativeTemplate(): Record<string, unknown> { } const EXPECTED_KEY_PROVIDER_IDS = [ - "anthropic-apikey", "openai-apikey", "meta-model", "umans", "opencode-go", "neuralwatt", "openrouter", "cline-pass", "cline", "orcarouter", "bizrouter", "groq", "google", "google-vertex", "azure-openai", + "anthropic-apikey", "openai-apikey", "meta-model", "umans", "opencode-go", "neuralwatt", "openrouter", "cline-pass", "cline", "orcarouter", "packycode", "bizrouter", "groq", "google", "google-vertex", "azure-openai", "deepseek", "cerebras", "chutes", "deepinfra", "hyperbolic", "nscale", "vultr", "baseten", "commandcode", "sambanova", "nebius", "digitalocean", "scaleway", "featherless", "novita", "together", "fireworks", "firepass", "moonshot", "huggingface", "nvidia", "venice", "zai", "zhipu-bigmodel", "zhipu-bigmodel-coding", "zhipu-bigmodel-responses", "nanogpt", "synthetic", "siliconflow", "qwen-cloud", "tencent-coding-plan", "volcengine", "volcengine-coding-plan", "volcengine-agent-plan", "qianfan", "alibaba", "alibaba-token-plan", "alibaba-token-plan-intl", "parallel", "zenmux", "litellm", "ollama-cloud", "mistral", "minimax", "minimax-cn", "kimi-code", "opencode-zen", "vercel-ai-gateway", "opencode-free", "xiaomi", "xiaomi-mimo", "kilo", "mimo-free", "mimo", "cloudflare-ai-gateway", "cloudflare-workers-ai", "gitlab-duo", + "qoder", "qoder-cn", "codebuddy", "codebuddy-cn", ]; describe("provider registry parity", () => { + test("CodeBuddy static catalogs cover every official CLI-agent model in the bundled 2.143.0 manifest", () => { + const global = providerConfigSeed(PROVIDER_REGISTRY.find(entry => entry.id === "codebuddy")!); + const cn = providerConfigSeed(PROVIDER_REGISTRY.find(entry => entry.id === "codebuddy-cn")!); + expect(global.models).toContain("gemini-3.5-flash"); + expect(cn.models).toEqual(expect.arrayContaining([ + "glm-5.0", "glm-5.0-turbo", "glm-5v-turbo", "glm-4.7", "kimi-k2.5", "deepseek-v3-2-volc", + ])); + }); + test("registry ids are unique", () => { const ids = PROVIDER_REGISTRY.map(entry => entry.id); expect(new Set(ids).size).toBe(ids.length); @@ -1246,13 +1256,13 @@ describe("free-provider directory isolation", () => { test("directory metadata never becomes a canonical runtime provider", () => { // The directory is a catalog of endpoints we have not adopted. If its ids reached // PROVIDER_REGISTRY, routedProviderConfig() would canonicalize a user's same-named provider - // onto the directory's adapter and baseUrl — for `qoder` that baseUrl is the empty string, - // so the request would lose its destination entirely. + // onto the directory's adapter and baseUrl, so the request could lose its destination. const directoryOnlyIds = FREE_PROVIDER_DIRECTORY .filter(entry => entry.supportLevel === "reference") .map(entry => entry.id); expect(directoryOnlyIds.length).toBeGreaterThan(0); - expect(directoryOnlyIds).toContain("qoder"); + expect(directoryOnlyIds).not.toContain("qoder"); + expect(directoryOnlyIds).not.toContain("qoder-cn"); const registryIds = new Set(PROVIDER_REGISTRY.map(entry => entry.id)); for (const id of directoryOnlyIds) { @@ -1297,6 +1307,33 @@ describe("free-provider directory isolation", () => { baseUrl: "https://custom.example.test/v1", liveModels: true, }); + expect(routed.provider.adapter).not.toBe("qoder"); + expect(routed.provider.baseUrl).not.toBe("https://qoder.com"); + expect(routed.modelId).toBe("custom-model"); + }); + + test("a custom provider named codebuddy keeps its own destination (preserveCustomDestination)", () => { + const config: OcxConfig = { + port: 10100, + defaultProvider: "codebuddy", + providers: { + codebuddy: { + adapter: "openai-chat", + baseUrl: "https://custom.codebuddy.example.test/v1", + apiKey: "test-key", + liveModels: true, + }, + }, + }; + + const routed = routeModel(config, "codebuddy/custom-model"); + expect(routed.provider).toMatchObject({ + adapter: "openai-chat", + baseUrl: "https://custom.codebuddy.example.test/v1", + liveModels: true, + }); + expect(routed.provider.adapter).not.toBe("codebuddy"); + expect(routed.provider.baseUrl).not.toBe("https://www.codebuddy.ai"); expect(routed.modelId).toBe("custom-model"); }); diff --git a/tests/providers/qoder-adapter.test.ts b/tests/providers/qoder-adapter.test.ts new file mode 100644 index 00000000000..54115043543 --- /dev/null +++ b/tests/providers/qoder-adapter.test.ts @@ -0,0 +1,115 @@ +import { beforeEach, describe, expect, test } from "bun:test"; +import { EventEmitter } from "node:events"; +import { Readable, Writable } from "node:stream"; +import type { ChildProcess } from "node:child_process"; +import { buildQoderArgs, buildQoderChildEnv, createQoderAdapter } from "../../src/adapters/qoder/adapter"; +import { clearQoderBinaryCache, QODER_CN_PROFILE, QODER_GLOBAL_PROFILE, resolveQoderProfile } from "../../src/adapters/qoder/profiles"; +import type { AdapterEvent, OcxParsedRequest, OcxProviderConfig } from "../../src/types"; +import { createTestTranslatorBudget } from "../helpers/translator-budget"; + +const enc = new TextEncoder(); +beforeEach(() => clearQoderBinaryCache()); + +function provider(overrides: Partial<OcxProviderConfig> = {}): OcxProviderConfig { + return { adapter: "qoder", baseUrl: "https://qoder.com", apiKey: "qoder-pat", reasoningEfforts: ["low", "medium", "high", "xhigh", "max"], ...overrides } as OcxProviderConfig; +} + +function parsed(overrides: Partial<OcxParsedRequest> = {}): OcxParsedRequest { + return { modelId: "Qwen3.8-Max", stream: true, options: {}, context: { messages: [{ role: "user", content: "hello", timestamp: 0 }] }, ...overrides } as OcxParsedRequest; +} + +function fakeChild(frames: string[]): ChildProcess { + const child = new EventEmitter() as ChildProcess & { killed: boolean; exitCode: number | null }; + child.stdout = Readable.from(frames.map(frame => enc.encode(frame))); + child.stderr = Readable.from([]); + child.stdin = new Writable({ write(_chunk, _encoding, callback) { callback(); } }); + child.killed = false; + child.exitCode = null; + child.kill = () => { child.killed = true; return true; }; + setTimeout(() => { child.exitCode = 0; child.emit("close", 0); }, 2); + return child; +} + +describe("qoder adapter", () => { + test("uses only the Global PAT and disables tools, MCP, settings hooks, and persistence", () => { + const env = buildQoderChildEnv(QODER_GLOBAL_PROFILE, "qoder-pat"); + expect(env.QODER_PERSONAL_ACCESS_TOKEN).toBe("qoder-pat"); + expect(Object.keys(env).filter(key => key.startsWith("QODER"))).toEqual(["QODER_PERSONAL_ACCESS_TOKEN"]); + const args = buildQoderArgs(parsed({ options: { reasoning: "high" } }), provider()); + expect(args[args.indexOf("--tools") + 1]).toBe(""); + expect(args[args.indexOf("--setting-sources") + 1]).toBe(""); + expect(args).toContain("--strict-mcp-config"); + expect(args).toContain("--no-session-persistence"); + expect(args[args.indexOf("--reasoning-effort") + 1]).toBe("high"); + expect(args).not.toContain("--dangerously-skip-permissions"); + }); + + test("keeps Global and CN profiles, executables, destinations, and PAT variables isolated", async () => { + expect(resolveQoderProfile("https://qoder.com/")).toBe(QODER_GLOBAL_PROFILE); + expect(resolveQoderProfile("https://qoder.cn/")).toBe(QODER_CN_PROFILE); + expect(QODER_CN_PROFILE.binaryCandidates).toEqual(["qodercn", "qoderclicn"]); + + const globalEnv = buildQoderChildEnv(QODER_GLOBAL_PROFILE, "global-pat"); + const cnEnv = buildQoderChildEnv(QODER_CN_PROFILE, "cn-pat"); + expect(globalEnv.QODER_PERSONAL_ACCESS_TOKEN).toBe("global-pat"); + expect(globalEnv.QODERCN_PERSONAL_ACCESS_TOKEN).toBeUndefined(); + expect(cnEnv.QODERCN_PERSONAL_ACCESS_TOKEN).toBe("cn-pat"); + expect(cnEnv.QODER_PERSONAL_ACCESS_TOKEN).toBeUndefined(); + + const spawned: Array<{ executable: string; env: NodeJS.ProcessEnv }> = []; + const runRegion = async (configured: OcxProviderConfig, executable: string) => { + const adapter = createQoderAdapter(configured, { + which: candidate => candidate === executable ? `/bin/${candidate}` : undefined, + spawn: (command, _args, options) => { + spawned.push({ executable: command, env: options.env ?? {} }); + return fakeChild(['{"type":"result","subtype":"success","is_error":false}\n']); + }, + }); + await adapter.runTurn!(parsed(), { headers: new Headers(), translatorBudget: createTestTranslatorBudget() }, () => {}); + }; + await Promise.all([ + runRegion(provider({ baseUrl: "https://qoder.com", apiKey: "global-pat" }), "qoder"), + runRegion(provider({ baseUrl: "https://qoder.cn", apiKey: "cn-pat" }), "qodercn"), + ]); + expect(spawned).toHaveLength(2); + const global = spawned.find(item => item.executable.endsWith("/qoder"))!; + const cn = spawned.find(item => item.executable.endsWith("/qodercn"))!; + expect(global.env.QODER_PERSONAL_ACCESS_TOKEN).toBe("global-pat"); + expect(global.env.QODERCN_PERSONAL_ACCESS_TOKEN).toBeUndefined(); + expect(cn.env.QODERCN_PERSONAL_ACCESS_TOKEN).toBe("cn-pat"); + expect(cn.env.QODER_PERSONAL_ACCESS_TOKEN).toBeUndefined(); + }); + + test("fails closed before spawn for a non-canonical destination", async () => { + let spawned = 0; + const adapter = createQoderAdapter(provider({ baseUrl: "https://evil.example.test" }), { which: () => "/bin/qoder", spawn: () => { spawned++; return fakeChild([]); } }); + const events: AdapterEvent[] = []; + await adapter.runTurn!(parsed(), { headers: new Headers(), translatorBudget: createTestTranslatorBudget() }, event => events.push(event)); + expect(spawned).toBe(0); + expect(events[0]).toMatchObject({ type: "error", code: "non_canonical_destination" }); + }); + + test("rejects unverified image input instead of silently dropping or forwarding it", async () => { + let spawned = 0; + const adapter = createQoderAdapter(provider(), { which: () => "/bin/qoder", spawn: () => { spawned++; return fakeChild([]); } }); + const request = parsed({ context: { messages: [{ role: "user", content: [{ type: "image", imageUrl: "data:image/png;base64,AA==" }], timestamp: 0 }] } }); + const events: AdapterEvent[] = []; + await adapter.runTurn!(request, { headers: new Headers(), translatorBudget: createTestTranslatorBudget() }, event => events.push(event)); + expect(spawned).toBe(0); + expect(events[0]).toMatchObject({ type: "error", code: "unsupported_input_modality" }); + }); + + test("maps Qoder credit exhaustion to a non-retryable 429", async () => { + const adapter = createQoderAdapter(provider(), { + which: () => "/bin/qoder", + spawn: () => fakeChild([ + '{"type":"assistant","message":{"content":[{"type":"text","text":"limit"}]} }\n', + '{"type":"result","subtype":"error_during_execution","is_error":true,"errors":["You reached your credit usage limit"],"error_code":118}\n', + ]), + killGraceMs: 10, + }); + const events: AdapterEvent[] = []; + await adapter.runTurn!(parsed(), { headers: new Headers(), translatorBudget: createTestTranslatorBudget() }, event => events.push(event)); + expect(events.at(-1)).toMatchObject({ type: "error", status: 429, errorType: "insufficient_quota", code: "insufficient_quota", retryable: false }); + }); +}); diff --git a/tests/providers/qoder-live-models.test.ts b/tests/providers/qoder-live-models.test.ts new file mode 100644 index 00000000000..ba00e378e7f --- /dev/null +++ b/tests/providers/qoder-live-models.test.ts @@ -0,0 +1,89 @@ +import { afterEach, beforeEach, describe, expect, test } from "bun:test"; +import { fetchQoderModels, parseQoderModelList, setFetchQoderModelsForTests } from "../../src/adapters/qoder/live-models"; +import { clearQoderBinaryCache, QODER_CN_PROFILE, QODER_GLOBAL_PROFILE } from "../../src/adapters/qoder/profiles"; +import { fetchProviderModels } from "../../src/codex/catalog/provider-fetch"; +import { clearModelCache, providerCacheGenerations } from "../../src/codex/model-cache"; +import type { OcxProviderConfig } from "../../src/types"; + +beforeEach(() => clearQoderBinaryCache()); +afterEach(() => { + setFetchQoderModelsForTests(null); + clearModelCache("qoder-test"); + providerCacheGenerations.delete("qoder-test"); +}); + +describe("qoder live model discovery", () => { + test("parses the documented plaintext table with validation and dedupe", () => { + expect(parseQoderModelList("MODEL\nQwen3.8-Max\nQwen3.8-Max\nGLM-5.3\n")).toEqual({ ok: true, models: ["Qwen3.8-Max", "GLM-5.3"] }); + expect(parseQoderModelList("warning that is not a roster\n")).toMatchObject({ ok: false, error: "invalid_output" }); + }); + + test("passes PAT only in scoped env and supports Windows cmd shims", async () => { + let seen: { command: string; args: readonly string[]; env?: NodeJS.ProcessEnv } | undefined; + const exec = async (command: string, args: readonly string[], options: { env: Record<string, string> }) => { + seen = { command, args, env: options.env }; + return { stdout: "MODEL\nQwen3.8-Max\n", stderr: "" }; + }; + const result = await fetchQoderModels(QODER_GLOBAL_PROFILE, "secret-pat", { platform: "win32", which: () => "C:\\npm\\qoder.cmd", exec }); + expect(result).toEqual({ ok: true, models: ["Qwen3.8-Max"] }); + expect(seen?.command.toLowerCase()).toContain("cmd.exe"); + expect(seen?.args.slice(0, 3)).toEqual(["/d", "/s", "/c"]); + expect(seen?.env?.QODER_PERSONAL_ACCESS_TOKEN).toBe("secret-pat"); + }); + + test("CN discovery selects qodercn and passes only the CN PAT variable", async () => { + let seen: { command: string; env: Record<string, string> } | undefined; + const result = await fetchQoderModels(QODER_CN_PROFILE, "cn-secret", { + which: candidate => candidate === "qodercn" ? "/bin/qodercn" : undefined, + exec: async (command, _args, options) => { + seen = { command, env: options.env }; + return { stdout: "MODEL\nQwen3.8-Max\nQwen3.8-Flash\n", stderr: "" }; + }, + }); + expect(result).toEqual({ ok: true, models: ["Qwen3.8-Max", "Qwen3.8-Flash"] }); + expect(seen?.command).toBe("/bin/qodercn"); + expect(seen?.env.QODERCN_PERSONAL_ACCESS_TOKEN).toBe("cn-secret"); + expect(seen?.env.QODER_PERSONAL_ACCESS_TOKEN).toBeUndefined(); + }); + + test("live account roster is authoritative and static models are only fallback", async () => { + setFetchQoderModelsForTests((_profile, token) => token === "pat" ? { ok: true, models: ["Account-Model"] } : { ok: false, error: "auth" }); + const provider = { adapter: "qoder", baseUrl: "https://qoder.com", apiKey: "pat", authMode: "key", liveModels: true, models: ["Static-Model"] } as OcxProviderConfig; + const models = await fetchProviderModels("qoder-test", provider, 60_000); + expect(models.map(model => model.id)).toEqual(["Account-Model"]); + }); + + test("a PAT change cannot reuse the previous account's entitlement cache", async () => { + const calls: string[] = []; + setFetchQoderModelsForTests((_profile, token) => { + calls.push(token); + return { ok: true, models: [`${token}-model`] }; + }); + const base = { adapter: "qoder", baseUrl: "https://qoder.com", authMode: "key", liveModels: true } as OcxProviderConfig; + const accountA = await fetchProviderModels("qoder-test", { ...base, apiKey: "account-a" }, 60_000); + const accountB = await fetchProviderModels("qoder-test", { ...base, apiKey: "account-b" }, 60_000); + expect(accountA.map(model => model.id)).toEqual(["account-a-model"]); + expect(accountB.map(model => model.id)).toEqual(["account-b-model"]); + expect(calls).toEqual(["account-a", "account-b"]); + }); + + test("sequential accounts receive only their own PAT and authentication failures are redacted", async () => { + const credentials: string[] = []; + const exec = async (_command: string, _args: readonly string[], options: { env: Record<string, string> }) => { + const token = options.env.QODER_PERSONAL_ACCESS_TOKEN ?? ""; + credentials.push(token); + if (token === "bad-secret") { + throw Object.assign(new Error("auth failed"), { stderr: `Not logged in: QODER_PERSONAL_ACCESS_TOKEN=${token}` }); + } + return { stdout: `MODEL\n${token}-model\n`, stderr: "" }; + }; + const first = await fetchQoderModels(QODER_GLOBAL_PROFILE, "account-a", { which: () => "/bin/qoder", exec }); + const second = await fetchQoderModels(QODER_GLOBAL_PROFILE, "account-b", { which: () => "/bin/qoder", exec }); + const failed = await fetchQoderModels(QODER_GLOBAL_PROFILE, "bad-secret", { which: () => "/bin/qoder", exec }); + expect(credentials).toEqual(["account-a", "account-b", "bad-secret"]); + expect(first).toEqual({ ok: true, models: ["account-a-model"] }); + expect(second).toEqual({ ok: true, models: ["account-b-model"] }); + expect(failed).toMatchObject({ ok: false, error: "auth" }); + expect(JSON.stringify(failed)).not.toContain("bad-secret"); + }); +}); diff --git a/tests/providers/sponsor-presets.test.ts b/tests/providers/sponsor-presets.test.ts new file mode 100644 index 00000000000..c7e28e9e16a --- /dev/null +++ b/tests/providers/sponsor-presets.test.ts @@ -0,0 +1,39 @@ +import { describe, expect, test } from "bun:test"; +import { deriveProviderPresets } from "../../src/providers/derive"; +import { PROVIDER_REGISTRY } from "../../src/providers/registry"; + +/** + * The registry `sponsor` field is the only thing that marks a paid sponsor, and SPONSORS.md + * promises it changes nothing but picker placement and a label. These pin the wire shape the + * dashboard and `ocx provider presets` read, and that every sponsor entry carries a landing URL. + */ +describe("sponsor presets", () => { + test("registry sponsor entries surface tier and URL on the derived preset", () => { + const sponsors = PROVIDER_REGISTRY.filter(entry => entry.sponsor); + const presets = deriveProviderPresets(); + for (const entry of sponsors) { + const preset = presets.find(p => p.id === entry.id); + expect(preset, entry.id).toBeDefined(); + expect(preset?.sponsor).toBe(entry.sponsor!.tier); + expect(preset?.sponsorUrl).toBe(entry.sponsor!.url); + expect(entry.sponsor!.url.startsWith("https://")).toBe(true); + } + }); + + test("non-sponsor presets carry no sponsor keys at all", () => { + const sponsorIds = new Set(PROVIDER_REGISTRY.filter(entry => entry.sponsor).map(entry => entry.id)); + for (const preset of deriveProviderPresets()) { + if (sponsorIds.has(preset.id)) continue; + expect("sponsor" in preset, preset.id).toBe(false); + expect("sponsorUrl" in preset, preset.id).toBe(false); + } + }); + + test("derived preset order is registry order — pinning is the picker's job", () => { + const ids = deriveProviderPresets().map(p => p.id).filter(id => id !== "custom"); + const registryOrder = PROVIDER_REGISTRY.map(e => e.id).filter(id => ids.includes(id)); + const seen = new Set<string>(); + const deduped = registryOrder.filter(id => (seen.has(id) ? false : (seen.add(id), true))); + expect(ids).toEqual(deduped); + }); +}); diff --git a/tests/providers/xai/grok-lifecycle.test.ts b/tests/providers/xai/grok-lifecycle.test.ts index 42a17ee9cc0..cf4221f7276 100644 --- a/tests/providers/xai/grok-lifecycle.test.ts +++ b/tests/providers/xai/grok-lifecycle.test.ts @@ -513,7 +513,18 @@ describe("POST /api/stop teardown", () => { test("a 409 does not escalate to a forced kill", () => { // Escalating would run the daemon's cleanup and strip shared config while the foreign // service keeps the proxy alive — the exact hole the ownership gate exists to close. - expect(PROCESS_CONTROL_SOURCE).toContain('if (res.status === 409) return "refused"'); + // The 409 branch may capture the server's reason first (#4023 added a second refusal + // cause), but it must still return "refused" without falling through to !res.ok. + const stopGracefully = sliceFn( + PROCESS_CONTROL_SOURCE, + "export async function stopProxyGracefully(", + "export async function stopProxy(", + ); + const four09At = stopGracefully.indexOf("res.status === 409"); + expect(four09At).toBeGreaterThan(-1); + expect(stopGracefully.slice(four09At)).toContain('return "refused"'); + expect(stopGracefully.indexOf('return "refused"', four09At)) + .toBeLessThan(stopGracefully.indexOf("if (!res.ok) return false;", four09At)); const stopProxyFn = sliceFn(PROCESS_CONTROL_SOURCE, "export async function stopProxy(", "export function killProxy("); const refusedAt = stopProxyFn.indexOf('graceful === "refused"'); diff --git a/tests/providers/xai/xai-oauth-retry.test.ts b/tests/providers/xai/xai-oauth-retry.test.ts index 542b594a3c9..b5ecfa0efb9 100644 --- a/tests/providers/xai/xai-oauth-retry.test.ts +++ b/tests/providers/xai/xai-oauth-retry.test.ts @@ -1,5 +1,5 @@ import { afterEach, describe, expect, test } from "bun:test"; -import { postXaiToken, XaiTokenRequestError } from "../../../src/oauth/xai"; +import { discoverXaiOAuthEndpoints, postXaiToken, XaiTokenRequestError } from "../../../src/oauth/xai"; const original=globalThis.fetch; afterEach(()=>{globalThis.fetch=original;}); function queue(items:Array<Response|Error>){let n=0;globalThis.fetch=(async()=>{const x=items[n++]!;if(x instanceof Error)throw x;return x;}) as typeof fetch;return()=>n;} const body={grant_type:"refresh_token",client_id:"client",refresh_token:"secret"}; const ok=()=>new Response(JSON.stringify({access_token:"a",refresh_token:"r",expires_in:3600})); @@ -10,3 +10,43 @@ describe("xAI retry",()=>{ test("permanent 4xx is not retried or leaked",async()=>{const calls=queue([new Response(JSON.stringify({error:"invalid_grant"}),{status:400})]);await expect(postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async()=>{}})).rejects.toBeInstanceOf(XaiTokenRequestError);expect(calls()).toBe(1);}); test("caller abort is not retried",async()=>{const c=new AbortController();c.abort();let calls=0;globalThis.fetch=(async()=>{calls++;throw new DOMException("aborted","AbortError")}) as typeof fetch;await expect(postXaiToken("https://auth.x.ai/token",body,c.signal,{sleep:async()=>{}})).rejects.toMatchObject({name:"AbortError"});expect(calls).toBe(1);}); }); + +describe("xAI Retry-After handling",()=>{ + const ra=(value:string)=>new Response("",{status:429,headers:{"retry-after":value}}); + const WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; + const hm=d=>`${String(d.getUTCHours()).padStart(2,"0")}:${String(d.getUTCMinutes()).padStart(2,"0")}:${String(d.getUTCSeconds()).padStart(2,"0")}`; + const rfc850=(d:Date)=>`${WEEKDAYS[d.getUTCDay()]}, ${String(d.getUTCDate()).padStart(2,"0")}-${MONTHS[d.getUTCMonth()]}-${String(d.getUTCFullYear()%100).padStart(2,"0")} ${hm(d)} GMT`; + const asctime=(d:Date)=>`${WEEKDAYS[d.getUTCDay()]!.slice(0,3)} ${MONTHS[d.getUTCMonth()]} ${String(d.getUTCDate()).padStart(2," ")} ${hm(d)} ${d.getUTCFullYear()}`; + test("429 honors Retry-After seconds beyond the jitter cap",async()=>{const calls=queue([ra("60"),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(calls()).toBe(2);expect(d).toEqual([60000]);}); + test("Retry-After above the 60s budget is terminal, never retried early",async()=>{const calls=queue([ra("3600")]),d:number[]=[];await expect(postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5})).rejects.toMatchObject({status:429});expect(calls()).toBe(1);expect(d).toEqual([]);}); + test("Retry-After one second above the budget is terminal",async()=>{const calls=queue([ra("61")]),d:number[]=[];await expect(postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5})).rejects.toMatchObject({status:429});expect(calls()).toBe(1);expect(d).toEqual([]);}); + test("Retry-After below the old 2s cap is honored exactly",async()=>{const calls=queue([ra("1"),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(d).toEqual([1000]);}); + test("fractional Retry-After is honored",async()=>{const calls=queue([ra("1.5"),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(d).toEqual([1500]);}); + test("HTTP-date Retry-After is honored",async()=>{const calls=queue([ra(new Date(Date.now()+30_000).toUTCString()),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(calls()).toBe(2);expect(d.length).toBe(1);expect(d[0]!).toBeGreaterThan(2000);expect(d[0]!).toBeLessThanOrEqual(30000);}); + test("RFC 850 HTTP-date Retry-After is honored",async()=>{const calls=queue([ra(rfc850(new Date(Date.now()+30_000))),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(calls()).toBe(2);expect(d.length).toBe(1);expect(d[0]!).toBeGreaterThan(2000);expect(d[0]!).toBeLessThanOrEqual(30000);}); + test("asctime HTTP-date Retry-After is honored",async()=>{const calls=queue([ra(asctime(new Date(Date.now()+30_000))),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(calls()).toBe(2);expect(d.length).toBe(1);expect(d[0]!).toBeGreaterThan(2000);expect(d[0]!).toBeLessThanOrEqual(30000);}); + test("unparseable Retry-After falls back to jitter",async()=>{const calls=queue([ra("soon"),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(d).toEqual([100]);}); + test("past HTTP-date falls back to jitter",async()=>{const calls=queue([ra("Sun, 06 Nov 1994 08:49:37 GMT"),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(d).toEqual([100]);}); + test("whitespace-padded seconds are honored",async()=>{const calls=queue([ra(" 2 "),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(d).toEqual([2000]);}); + test("hostile Retry-After vectors fall back to jitter",async()=>{for(const v of ["0","-5","1e3","0x10",""]){const calls=queue([ra(v),ok()]),d:number[]=[];await postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)},random:()=>.5});expect(d).toEqual([100]);expect(calls()).toBe(2);}}); +}); + +describe("xAI abort handling",()=>{ + test("abort with a custom reason is not retried",async()=>{const c=new AbortController();const reason=new Error("user cancel");let calls=0;globalThis.fetch=(async()=>{calls++;c.abort(reason);throw c.signal.reason;}) as typeof fetch;const d:number[]=[];await expect(postXaiToken("https://auth.x.ai/token",body,c.signal,{sleep:async x=>{d.push(x)}})).rejects.toBe(reason);expect(calls).toBe(1);expect(d).toEqual([]);}); + test("token request timeout is terminal",async()=>{let calls=0;globalThis.fetch=(async()=>{calls++;throw new DOMException("timed out","TimeoutError");}) as typeof fetch;const d:number[]=[];await expect(postXaiToken("https://auth.x.ai/token",body,undefined,{sleep:async x=>{d.push(x)}})).rejects.toMatchObject({name:"TimeoutError"});expect(calls).toBe(1);expect(d).toEqual([]);}); + test("Bun-shaped timeout abort is terminal",async()=>{const c=new AbortController();let calls=0;globalThis.fetch=(async()=>{calls++;throw new DOMException("The operation was aborted","AbortError");}) as typeof fetch;const d:number[]=[];await expect(postXaiToken("https://auth.x.ai/token",body,c.signal,{sleep:async x=>{d.push(x)}})).rejects.toMatchObject({name:"AbortError"});expect(calls).toBe(1);expect(d).toEqual([]);}); + test("caller aborted before a 429 backoff does not sleep",async()=>{const c=new AbortController();let calls=0;globalThis.fetch=(async()=>{calls++;c.abort();return new Response("",{status:429,headers:{"retry-after":"60"}});}) as typeof fetch;const d:number[]=[];await expect(postXaiToken("https://auth.x.ai/token",body,c.signal,{sleep:async x=>{d.push(x)}})).rejects.toMatchObject({status:429});expect(calls).toBe(1);expect(d).toEqual([]);}); + test("caller abort during a Retry-After wait rejects promptly",async()=>{const c=new AbortController();const reason=new Error("cancel during wait");globalThis.fetch=(async()=>new Response("",{status:429,headers:{"retry-after":"60"}})) as typeof fetch;const d:number[]=[];const pending=postXaiToken("https://auth.x.ai/token",body,c.signal,{sleep:async x=>{d.push(x);await new Promise(()=>{});}});while(!d.length)await Bun.sleep(1);c.abort(reason);await expect(pending).rejects.toBe(reason);expect(d).toEqual([60000]);}); +}); + +describe("xAI endpoint validation",()=>{ + const discover=(authorization_endpoint:string,token_endpoint:string)=>{globalThis.fetch=(async()=>Response.json({authorization_endpoint,token_endpoint})) as typeof fetch;return discoverXaiOAuthEndpoints();}; + test("accepts the live discovery shape",async()=>{const d=await discover("https://auth.x.ai/oauth2/authorize","https://auth.x.ai/oauth2/token");expect(d).toEqual({authorizationEndpoint:"https://auth.x.ai/oauth2/authorize",tokenEndpoint:"https://auth.x.ai/oauth2/token"});}); + test("accepts the allow-listed accounts host",async()=>{const d=await discover("https://accounts.x.ai/oauth2/authorize","https://accounts.x.ai/oauth2/token");expect(d.tokenEndpoint).toBe("https://accounts.x.ai/oauth2/token");}); + test("rejects plain http",async()=>{await expect(discover("http://auth.x.ai/oauth2/authorize","http://auth.x.ai/oauth2/token")).rejects.toThrow(/unexpected endpoint/);}); + test("rejects the apex host",async()=>{await expect(discover("https://x.ai/oauth2/authorize","https://x.ai/oauth2/token")).rejects.toThrow(/unexpected endpoint/);}); + test("rejects unlisted subdomains",async()=>{await expect(discover("https://evil.x.ai/token","https://api.x.ai/token")).rejects.toThrow(/unexpected endpoint/);}); + test("rejects embedded userinfo without echoing it",async()=>{const u="https://u:p@"+"auth.x.ai/oauth2/token";await expect(discover(u,u)).rejects.toThrowError(/unexpected endpoint/);try{await discover(u,u);expect.unreachable();}catch(error){const m=(error as Error).message;expect(m).not.toContain("u:p");expect(m).not.toContain("p@auth");}}); + test("rejects an explicit port",async()=>{await expect(discover("https://auth.x.ai:8443/oauth2/authorize","https://auth.x.ai:8443/oauth2/token")).rejects.toThrow(/unexpected endpoint/);}); + test("malformed discovery URL is a generic Error, not a TypeError",async()=>{await expect(discover("not a url","::")).rejects.toThrowError(/unparseable endpoint URL/);try{await discover("not a url","::");expect.unreachable();}catch(error){expect(error).toBeInstanceOf(Error);expect(error).not.toBeInstanceOf(TypeError);expect(error).not.toBeInstanceOf(XaiTokenRequestError);}}); +}); diff --git a/tests/responses/openai-responses-passthrough.test.ts b/tests/responses/openai-responses-passthrough.test.ts index 25876172ffe..ee273ef8149 100644 --- a/tests/responses/openai-responses-passthrough.test.ts +++ b/tests/responses/openai-responses-passthrough.test.ts @@ -1585,6 +1585,106 @@ describe("OpenAI Responses passthrough sanitization", () => { expect(body.tools[0]?.parameters).toEqual({ ...parameters, type: "object" }); }); + test("drops unicode property-escape patterns on the codex forward path", () => { + // Claude Code 2.1.265 puts `\p{Cc}` in the `pattern` of its built-in Artifact tool. The + // ChatGPT backend compiles `pattern` with Python `re`, which has no property escapes, and + // answers "Invalid schema for function 'Artifact': … is not a 'regex'" — so every request + // from such a client fails, whether or not the tool is ever called. + const field = '^(?!__.*__$)[^\\p{Cc}\\p{Cf}\\p{Zl}\\p{Zp}"\\\\./[\\]]{1,200}$'; + const collection = "^(?!\\.\\.?(?:/|$))[A-Za-z0-9_\\-.~:@+]{1,200}$"; + const request = createResponsesPassthroughAdapter(provider).buildRequest({ + modelId: "test-model", + context: { messages: [] }, + stream: true, + options: {}, + _rawBody: { + model: "test-model", + input: [], + tools: [{ + type: "function", + name: "Artifact", + parameters: { + type: "object", + properties: { + field: { type: "string", pattern: field }, + collection: { type: "string", pattern: collection }, + }, + }, + }], + }, + }, { headers: new Headers() }); + const body = JSON.parse(request.body) as { + tools: Array<{ name: string; parameters: { properties: Record<string, Record<string, unknown>> } }>; + }; + const properties = body.tools[0]?.parameters.properties; + + expect(body.tools).toHaveLength(1); + expect(body.tools[0]?.name).toBe("Artifact"); + expect(properties.field.pattern).toBeUndefined(); + expect(properties.field.type).toBe("string"); + // Lookaheads compile under Python `re`, so only the incompatible pattern is dropped. + expect(properties.collection.pattern).toBe(collection); + }); + + test("leaves a closed regex-keyed object alone on the codex forward path", () => { + // Dropping this matcher would leave `additionalProperties: false` forbidding every key it + // covered, and `minProperties: 1` would make the object admit nothing — a dictionary tool + // silently reduced to an empty-object-only tool. The schema goes out as written instead, so + // a destination that compiles ECMA regexes still works and one that cannot names the regex. + const parameters = { + type: "object", + patternProperties: { "^\\p{L}+$": { type: "string" } }, + additionalProperties: false, + minProperties: 1, + }; + const request = createResponsesPassthroughAdapter(provider).buildRequest({ + modelId: "test-model", + context: { messages: [] }, + stream: true, + options: {}, + _rawBody: { + model: "test-model", + input: [], + tools: [{ type: "function", name: "Label", parameters }], + }, + }, { headers: new Headers() }); + const body = JSON.parse(request.body) as { + tools: Array<{ name: string; parameters: unknown }>; + }; + + expect(body.tools).toHaveLength(1); + expect(body.tools[0]?.parameters).toEqual(parameters); + }); + + + test.each(["allOf", "not", "oneOf"] as const)("Responses wire preserves composed %s argument constraints", kind => { + const matcher = "^\\p{L}+$"; + const parameters = kind === "allOf" ? { + type: "object", minProperties: 1, unevaluatedProperties: false, + allOf: [{ patternProperties: { [matcher]: { type: "string" } } }], + } : kind === "not" ? { + type: "object", required: ["value"], + properties: { value: { not: { type: "string", pattern: matcher } } }, + } : { + type: "object", required: ["value"], + properties: { value: { oneOf: [{ type: "string", pattern: matcher }, { const: "123" }] } }, + }; + const original = JSON.stringify(parameters); + // Witnesses are accepted before normalization: {name:"ok"} evaluates its sole key in + // allOf; {value:"123"} fails the letter pattern, satisfying not or exactly one branch. + expect(new RegExp(matcher, "u").test("name")).toBe(true); + expect(new RegExp(matcher, "u").test("123")).toBe(false); + + const request = createResponsesPassthroughAdapter(provider).buildRequest({ + modelId: "test-model", context: { messages: [] }, stream: true, options: {}, + _rawBody: { model: "test-model", input: [], tools: [{ type: "function", name: "Composed", parameters }] }, + }, { headers: new Headers() }); + const wire = JSON.parse(request.body) as { tools: Array<{ parameters: unknown }> }; + expect(wire.tools).toHaveLength(1); + expect(wire.tools[0].parameters).toEqual(JSON.parse(original)); + expect(JSON.stringify(parameters)).toBe(original); + }); + test("model reasoning-summary opt-out strips unsupported delivery fields (#323)", () => { const adapter = createResponsesPassthroughAdapter({ adapter: "openai-responses", diff --git a/tests/responses/passthrough-abort.test.ts b/tests/responses/passthrough-abort.test.ts index 6985c6cd543..9550b888631 100644 --- a/tests/responses/passthrough-abort.test.ts +++ b/tests/responses/passthrough-abort.test.ts @@ -81,7 +81,7 @@ describe("passthrough relayWithAbort (RC2, passthrough path)", () => { expect(sseBranch).toContain("rewriteBlocks: clientBlockRewrite"); // Elsewhere the failed-tail relay converts mid-stream resets into a clean response.failed. expect(sseBranch).toMatch( - /relaySseWithFailedTail\(\s*rewrittenBody,\s*upstream,\s*reason\s*=>\s*clientGone\.abort\(reason\),\s*\{\s*upstreamError:\s*logCtx\.upstreamError\s*\},\s*\)/, + /relaySseWithFailedTail\(\s*rewrittenBody,\s*upstream,\s*reason\s*=>\s*\{\s*responseCompletionCancelled\s*=\s*true;\s*clientGone\.abort\(reason\);\s*\},\s*\{\s*upstreamError:\s*logCtx\.upstreamError\s*\},\s*\)/, ); expect(sseBranch).toContain("new Response(clientBody"); expect(sseBranch).toContain("markNativePassthroughSseResponse"); diff --git a/tests/responses/responses-account-label.test.ts b/tests/responses/responses-account-label.test.ts index 4c06acd961b..d051508edcb 100644 --- a/tests/responses/responses-account-label.test.ts +++ b/tests/responses/responses-account-label.test.ts @@ -191,6 +191,65 @@ describe("Responses account usage attribution", () => { } }); + test("late WS quota from a replaced pool credential cannot repopulate cleared state", async () => { + const originalWebSocket = globalThis.WebSocket; + let releaseFinalQuota!: () => void; + const finalQuotaAllowed = new Promise<void>(resolve => { releaseFinalQuota = resolve; }); + try { + await withPoolHome(async () => { + savePoolCredential("pool-ws-replaced"); + class MetadataSocket { + listeners = new Map<string, Array<(event: unknown) => void>>(); + constructor() { queueMicrotask(() => this.emit("open", {})); } + addEventListener(type: string, listener: (event: unknown) => void) { + this.listeners.set(type, [...(this.listeners.get(type) ?? []), listener]); + } + removeEventListener(type: string, listener: (event: unknown) => void) { + this.listeners.set(type, (this.listeners.get(type) ?? []).filter(value => value !== listener)); + } + emit(type: string, event: unknown) { + for (const listener of this.listeners.get(type) ?? []) listener(event); + } + send() { + const payload = (value: unknown) => this.emit("message", { data: JSON.stringify(value) }); + queueMicrotask(() => { + payload({ type: "codex.rate_limits", rate_limits: { + primary: { used_percent: 10, window_minutes: 10080 }, + } }); + payload({ type: "response.created", response: { id: "quota-response" } }); + void finalQuotaAllowed.then(() => { + payload({ type: "codex.rate_limits", rate_limits: { + primary: { used_percent: 100, window_minutes: 10080 }, + } }); + payload({ type: "response.completed", response: { id: "quota-response", status: "completed", output: [] } }); + }); + }); + } + close() { this.emit("close", {}); } + } + globalThis.WebSocket = MetadataSocket as unknown as typeof WebSocket; + globalThis.fetch = (async () => { throw new Error("unexpected HTTP request"); }) as typeof fetch; + const response = await handleResponses(new Request("http://localhost/v1/responses", { + method: "POST", headers: { "content-type": "application/json" }, + body: JSON.stringify({ model: "gpt-5.5", input: "hello", stream: true }), + }), poolConfig(["pool-ws-replaced"]), { model: "", provider: "" }, { + codexWsRuntimeIdentity: "1.4.0", + }); + expect(getAccountQuota("pool-ws-replaced")?.weeklyPercent).toBe(10); + + savePoolCredential("pool-ws-replaced"); + clearAccountQuota("pool-ws-replaced"); + releaseFinalQuota(); + await response.text(); + + expect(getAccountQuota("pool-ws-replaced")).toBeNull(); + }); + } finally { + releaseFinalQuota(); + globalThis.WebSocket = originalWebSocket; + } + }); + test("main-pool and legacy added accounts carry their effective labels", async () => { await withPoolHome(async home => { writeFileSync(join(home, "auth.json"), JSON.stringify({ diff --git a/tests/responses/responses-compaction-routing.test.ts b/tests/responses/responses-compaction-routing.test.ts index 2a1f69be1ed..f703a1899e5 100644 --- a/tests/responses/responses-compaction-routing.test.ts +++ b/tests/responses/responses-compaction-routing.test.ts @@ -1,3 +1,5 @@ +import { clearComboSelectionState, clearComboTargetCooldowns } from "../../src/combos"; +import { sessionLaneIdFromRequest } from "../../src/server/request-log-conversation"; /** * Issue #422: a Responses-shaped wire does not imply support for Codex's private * `compaction_trigger` item. Only the canonical ChatGPT backend speaks that @@ -10,6 +12,7 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { handleResponses, handleResponsesCompact } from "../../src/server/responses"; import { OPAQUE_COMPACTION_NOTE, SUMMARY_PREFIX } from "../../src/responses/compaction"; +import { externalTaskInputContent } from "../../src/responses/task-input"; import { looksLikeBackendCiphertext } from "../../src/server/responses/encrypted-payload"; import * as adapterResolveModule from "../../src/server/adapter-resolve"; import * as visionModule from "../../src/vision"; @@ -35,6 +38,8 @@ import { supportsNativeResponsesCompactEndpoint } from "../../src/providers/open import type { RequestLogContext } from "../../src/server/request-log"; import { acquireNativeMainProfileDrain, tryAdmitTurn } from "../../src/server/lifecycle"; import type { OcxConfig, OcxProviderConfig } from "../../src/types"; +import { clearComboRecallForTests, recallComboForLane, rememberComboForLane } from "../../src/server/responses/combo-session-recall"; +import { captureConfigGeneration } from "../../src/lib/state-store-sweeper"; import { removeTreeWithRetry } from "../helpers/remove-tree"; const originalFetch = globalThis.fetch; @@ -949,6 +954,90 @@ describe("compact alternate-account attempt (#913)", () => { }); } + for (const version of ["v1", "v2"] as const) { + test(`${version} recalled native combo reselects the current account and respects admission refusal`, async () => { + await withPoolEnv("ocx-combo-recall-account-", async config => { + clearComboRecallForTests(); + clearComboSelectionState(); + clearComboTargetCooldowns(); + config.combos = { native: { targets: [{ provider: "openai", model: "gpt-5.5" }] } }; + config.codexAccountNamespaces = { side: "pool-a" }; + const headers = { session_id: "account-recall" }; + const accounts: Array<string | null> = []; + // Fix the selected account deterministically while retaining the real credential + // and admission owner; an explicit namespace still owns its account selection. + const resolver = authContextModule.resolveCodexAuthContext; + const authSpy = spyOn(authContextModule, "resolveCodexAuthContext").mockImplementation( + (incoming, liveConfig, mode, options = {}) => resolver(incoming, liveConfig, mode, { + ...options, accountId: options.accountId ?? liveConfig.activeCodexAccountId, + }), + ); + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + accounts.push(request.headers.get("chatgpt-account-id")); + const body = await request.json() as { input?: Array<{ type?: string }> }; + if (request.url.endsWith("/responses/compact")) { + return jsonResponse({ output: [{ type: "compaction", encrypted_content: "native-recall-ciphertext" }] }); + } + const compact = Array.isArray(body.input) && body.input.some(item => item.type === "compaction_trigger"); + return sseResponse([{ type: "response.completed", response: { + ...completedPayload("native answer"), model: "gpt-5.5", + ...(compact ? { output: [{ type: "compaction", encrypted_content: "native-recall-ciphertext" }] } : {}), + } }]); + }) as typeof fetch; + const client = new AbortController(); + let completionTimer: ReturnType<typeof setTimeout> | undefined; + try { + let complete!: () => void; + const completed = new Promise<void>(resolve => { complete = resolve; }); + const seedWork = (async () => { + const seed = await handleResponses(compactionRequest({ model: "combo/native", stream: true, input: "hello" }, client.signal, headers), + config, { model: "", provider: "" }, { onResponseComplete: complete, abortSignal: client.signal }); + expect(seed.status).toBe(200); + await seed.text(); + await completed; + })(); + await Promise.race([ + seedWork, + new Promise<never>((_, reject) => { + completionTimer = setTimeout(() => reject(new Error("native combo seed did not complete")), 10_000); + }), + ]); + clearTimeout(completionTimer); + completionTimer = undefined; + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "account-recall" })), "gpt-5.5")).toBe("native"); + config.activeCodexAccountId = "pool-b"; + const compact = version === "v1" ? handleResponsesCompact : handleResponses; + const log: RequestLogContext = { model: "", provider: "" }; + const response = await compact(compactionRequest(baseCompactionBody({ model: "gpt-5.5", stream: true }), client.signal, headers), config, log); + expect(response.status).toBe(200); + await response.text(); + expect(log.comboId).toBe("native"); + expect(accounts).toEqual(["pool_acc_a", "pool_acc_b"]); + + const explicitLog: RequestLogContext = { model: "", provider: "" }; + const explicit = await compact(compactionRequest(baseCompactionBody({ model: "side/gpt-5.5", stream: true }), client.signal, headers), config, explicitLog); + expect(explicit.status).toBe(200); + await explicit.text(); + expect(explicitLog.comboId).toBeUndefined(); + expect(accounts.at(-1)).toBe("pool_acc_a"); + const sends = accounts.length; + authSpy.mockRejectedValue(new authContextModule.CodexMainProfileDrainingError()); + const refused = await compact(compactionRequest(baseCompactionBody({ model: "gpt-5.5", stream: true }), client.signal, headers), config, { model: "", provider: "" }); + expect(refused.status).toBe(503); + expect(accounts).toHaveLength(sends); + } finally { + if (completionTimer !== undefined) clearTimeout(completionTimer); + client.abort(); + authSpy.mockRestore(); + clearComboRecallForTests(); + clearComboSelectionState(); + clearComboTargetCooldowns(); + } + }); + }); + } + for (const [model, account] of [["gpt-5.5", "pool-a"], ["side/gpt-5.5", "pool-b"]] as const) { test(`native 404 falls back to canonical SSE with ${model} account and session identity`, async () => { await withPoolEnv("ocx-compact-404-canonical-", async config => { @@ -1693,6 +1782,419 @@ describe("compact alternate-account attempt (#913)", () => { }); }); +describe("compaction combo recall after combo switch (#3891)", () => { + afterEach(() => clearComboRecallForTests()); + + function comboTestConfig(): OcxConfig { + return { + defaultProvider: "gw", + providers: { + gw: { + adapter: "openai-chat", + baseUrl: "https://gw-primary.example/v1", + authMode: "key", + apiKey: "key-gw", + models: ["gpt-5.6-terra"], + }, + alt: { + adapter: "openai-chat", + baseUrl: "https://gw-alt.example/v1", + authMode: "key", + apiKey: "key-alt", + models: ["gpt-5.6-luna"], + }, + }, + combos: { + terra: { strategy: "failover", targets: [{ provider: "gw", model: "gpt-5.6-terra" }] }, + }, + } as unknown as OcxConfig; + } + + function chatCompletionPayload(text: string): Record<string, unknown> { + return { + choices: [{ index: 0, message: { role: "assistant", content: text }, finish_reason: "stop" }], + usage: { prompt_tokens: 10, completion_tokens: 5 }, + }; + } + + // The routed compact turn dispatches combo children as SSE (stream is forced + // when route.combo is set), so streaming-capable mocks answer the chat wire. + function chatStreamResponse(text: string): Response { + return new Response([ + `data: ${JSON.stringify({ choices: [{ index: 0, delta: { content: text }, finish_reason: null }] })}\n\n`, + `data: ${JSON.stringify({ choices: [{ index: 0, delta: {}, finish_reason: "stop" }] })}\n\n`, + "data: [DONE]\n\n", + ].join(""), { headers: { "content-type": "text/event-stream" } }); + } + + test("bare native model after combo switch routes through the remembered combo", async () => { + const calls: Array<{ url: string; body: Record<string, unknown> }> = []; + globalThis.fetch = (async (url: unknown, init?: RequestInit) => { + calls.push({ url: String(url), body: JSON.parse(String(init?.body ?? "{}")) as Record<string, unknown> }); + return jsonResponse(chatCompletionPayload("handoff summary")); + }) as typeof fetch; + + const config = comboTestConfig(); + const laneHeaders = { "session_id": "lane-combo-recall" }; + + // Step 1: an ordinary combo turn succeeds, populating the recall map. + const comboRes = await handleResponses( + compactionRequest({ model: "combo/terra", stream: false, input: "hello" }, undefined, laneHeaders), + config, + { model: "", provider: "" }, + ); + expect(comboRes.status).toBe(200); + + // Step 2: compaction arrives with the bare native model on the same lane. + const logCtx: RequestLogContext = { model: "", provider: "" }; + const res = await handleResponses( + compactionRequest(baseCompactionBody({ model: "gpt-5.6-terra" }), undefined, laneHeaders), + config, + logCtx, + ); + + expect(res.status).toBe(200); + expect(logCtx.provider).toBe("combo"); + expect(logCtx.comboId).toBe("terra"); + expect(logCtx.requestedModel).toBe("combo/terra"); + const json = await res.json() as { output?: Array<{ type?: string }> }; + expect((json.output ?? []).filter(item => item.type === "compaction").length).toBe(1); + }); + + test("v1 /responses/compact takes the same recall path", async () => { + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + const body = await request.json() as { stream?: boolean }; + return body.stream === true + ? chatStreamResponse("handoff summary") + : jsonResponse(chatCompletionPayload("handoff summary")); + }) as typeof fetch; + + const config = comboTestConfig(); + const laneHeaders = { "session_id": "lane-compact-recall" }; + + const comboRes = await handleResponses( + compactionRequest({ model: "combo/terra", stream: false, input: "hello" }, undefined, laneHeaders), + config, + { model: "", provider: "" }, + ); + expect(comboRes.status).toBe(200); + + const logCtx: RequestLogContext = { model: "", provider: "" }; + const compactRes = await handleResponsesCompact( + compactionRequest(baseCompactionBody({ model: "gpt-5.6-terra" }), undefined, laneHeaders), + config, + logCtx, + ); + + expect(compactRes.status).toBe(200); + expect(logCtx.provider).toBe("combo"); + }); + + test("a different lane does not borrow the remembered combo", async () => { + globalThis.fetch = (async () => jsonResponse(chatCompletionPayload("handoff summary"))) as typeof fetch; + + const config = comboTestConfig(); + + // Populate recall on lane A. + await handleResponses( + compactionRequest({ model: "combo/terra", stream: false, input: "hello" }, undefined, { "session_id": "lane-A" }), + config, + { model: "", provider: "" }, + ); + + // Compaction on lane B: the bare model should NOT be rewritten to the combo. + // It falls through to the compaction default-provider fallback (#2901) and lands on gw. + const logCtx: RequestLogContext = { model: "", provider: "" }; + const res = await handleResponses( + compactionRequest(baseCompactionBody({ model: "gpt-5.6-terra" }), undefined, { "session_id": "lane-B" }), + config, + logCtx, + ); + + expect(res.status).toBe(200); + expect(logCtx.provider).toBe("gw"); + expect(logCtx.comboId).toBeUndefined(); + }); + + test("a non-matching bare model is not rewritten", async () => { + globalThis.fetch = (async () => jsonResponse(chatCompletionPayload("handoff summary"))) as typeof fetch; + + const config = comboTestConfig(); + const laneHeaders = { "session_id": "lane-no-match" }; + + await handleResponses( + compactionRequest({ model: "combo/terra", stream: false, input: "hello" }, undefined, laneHeaders), + config, + { model: "", provider: "" }, + ); + + // Bare model "gpt-5.6-luna" does not match terra combo target "gpt-5.6-terra". + const logCtx: RequestLogContext = { model: "", provider: "" }; + const res = await handleResponses( + compactionRequest(baseCompactionBody({ model: "gpt-5.6-luna" }), undefined, laneHeaders), + config, + logCtx, + ); + + expect(res.status).toBe(200); + expect(logCtx.provider).toBe("gw"); + expect(logCtx.comboId).toBeUndefined(); + }); + + test("recall routes before the bare model can 404 without an openai provider", async () => { + // Maintainer review: with no canonical openai row, the bare model dies in + // routeCompactionModel before any combo logic unless the recall rewrite + // also reaches the routed identity, not only the raw body model. + const config = { + defaultProvider: "openai", + providers: { + gw: { + adapter: "openai-chat", + baseUrl: "https://gw-primary.example/v1", + authMode: "key", + apiKey: "key-gw", + models: ["gpt-5.6-terra"], + }, + }, + combos: { + terra: { strategy: "failover", targets: [{ provider: "gw", model: "gpt-5.6-terra" }] }, + }, + } as unknown as OcxConfig; + const bodies: Array<Record<string, unknown>> = []; + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + const body = await request.json() as Record<string, unknown>; + bodies.push(body); + return body.stream === true + ? chatStreamResponse("handoff summary") + : jsonResponse(chatCompletionPayload("handoff summary")); + }) as typeof fetch; + + const laneHeaders = { "session_id": "lane-recall-404" }; + const comboRes = await handleResponses( + compactionRequest({ model: "combo/terra", stream: false, input: "hello" }, undefined, laneHeaders), + config, + { model: "", provider: "" }, + ); + expect(comboRes.status).toBe(200); + + const logCtx: RequestLogContext = { model: "", provider: "" }; + const res = await handleResponsesCompact( + compactionRequest(baseCompactionBody({ model: "gpt-5.6-terra" }), undefined, laneHeaders), + config, + logCtx, + ); + + expect(res.status).toBe(200); + expect(logCtx.provider).toBe("combo"); + expect(logCtx.comboId).toBe("terra"); + // The internal combo turn goes out streaming through the combo dispatch. + expect(bodies[1]!.stream).toBe(true); + await res.text(); + }); + + test("recall keeps a native-compact target on the combo /responses path", async () => { + // CodeRabbit review: the recalled target itself can live on a provider + // that supports the native /responses/compact endpoint. Without the + // routed identity sync, the bare model would go straight to the native + // compact endpoint and bypass combo dispatch entirely. + const config = { + defaultProvider: "openai-apikey", + providers: { + "openai-apikey": { + adapter: "openai-responses", + baseUrl: "https://api.openai.com/v1", + authMode: "key", + apiKey: "test-key", + }, + }, + combos: { + terra: { strategy: "failover", targets: [{ provider: "openai-apikey", model: "gpt-5.6-terra" }] }, + }, + } as unknown as OcxConfig; + const calls: Array<{ url: string; body: Record<string, unknown> }> = []; + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + if (request.url.endsWith("/responses/compact")) { + return Response.json({ detail: "Not Found" }, { status: 404 }); + } + calls.push({ url: request.url, body: await request.json() as Record<string, unknown> }); + return calls.at(-1)!.body.stream === true + ? sseResponse([{ type: "response.completed", response: { ...completedPayload("handoff summary"), model: "gpt-5.6-terra" } }]) + : jsonResponse({ ...completedPayload("handoff summary"), model: "gpt-5.6-terra" }); + }) as typeof fetch; + + const laneHeaders = { "session_id": "lane-recall-native" }; + const comboRes = await handleResponses( + compactionRequest({ model: "combo/terra", stream: false, input: "hello" }, undefined, laneHeaders), + config, + { model: "", provider: "" }, + ); + expect(comboRes.status).toBe(200); + + const logCtx: RequestLogContext = { model: "", provider: "" }; + const res = await handleResponsesCompact( + compactionRequest(baseCompactionBody({ model: "gpt-5.6-terra" }), undefined, laneHeaders), + config, + logCtx, + ); + + expect(res.status).toBe(200); + expect(logCtx.provider).toBe("combo"); + expect(logCtx.comboId).toBe("terra"); + // Both upstream calls take the plain /responses path; the native compact + // endpoint (which this provider supports) must never be hit. + expect(calls.map(call => call.url)).toEqual([ + "https://api.openai.com/v1/responses", + "https://api.openai.com/v1/responses", + ]); + expect(calls[1]!.body.stream).toBe(true); + await res.text(); + }); + + function installRecallChatFixture(): void { + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const body = await new Request(input, init).json() as { stream?: boolean }; + return body.stream ? chatStreamResponse("summary") : jsonResponse(chatCompletionPayload("answer")); + }) as typeof fetch; + } + + async function seedRecall(config: OcxConfig, lane: string | undefined = "recall-lane"): Promise<void> { + const response = await handleResponses(compactionRequest( + { model: "combo/terra", stream: false, input: "hello" }, undefined, + lane ? { session_id: lane } : {}, + ), config, { model: "", provider: "" }); + expect(response.status).toBe(200); + expect(await response.json()).toMatchObject({ status: "completed", model: "gpt-5.6-terra" }); + } + + for (const version of ["v1", "v2"] as const) { + const compact = version === "v1" ? handleResponsesCompact : handleResponses; + const dispatch = async (config: OcxConfig, model: string, lane: string | undefined = "recall-lane") => { + const log: RequestLogContext = { model: "", provider: "" }; + const response = await compact(compactionRequest(baseCompactionBody({ model }), undefined, + lane ? { session_id: lane } : {}), config, log); + expect(response.status).toBe(200); + await response.text(); + return log; + }; + + test(`${version} explicit bare nativeAlias beats a different remembered combo`, async () => { + installRecallChatFixture(); + const config = comboTestConfig(); + config.combos!.explicit = { + alias: "gpt-5.6-terra", nativeAlias: true, + targets: [{ provider: "alt", model: "gpt-5.6-luna" }], + }; + await seedRecall(config); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "recall-lane" })), "gpt-5.6-terra")).toBe("terra"); + const log = await dispatch(config, "gpt-5.6-terra"); + expect(log.comboId).toBe("explicit"); + expect(log.resolvedModel).toBe("gpt-5.6-luna"); + }); + + test(`${version} explicit provider and combo selectors beat recall`, async () => { + installRecallChatFixture(); + const config = comboTestConfig(); + config.combos!.explicit = { targets: [{ provider: "alt", model: "gpt-5.6-luna" }] }; + await seedRecall(config); + expect((await dispatch(config, "alt/gpt-5.6-luna")).provider).toBe("alt"); + expect((await dispatch(config, "combo/explicit")).comboId).toBe("explicit"); + }); + + for (const mutation of ["delete", "rename", "replace-target", "delete-provider", "disable-provider"] as const) { + test(`${version} ${mutation} invalidates remembered ownership before fallback`, async () => { + installRecallChatFixture(); + const config = comboTestConfig(); + await seedRecall(config); + // The default is distinct from the original target and remains usable. + config.defaultProvider = "alt"; + if (mutation === "rename") config.combos!.renamed = config.combos!.terra!; + if (mutation === "delete" || mutation === "rename") delete config.combos!.terra; + if (mutation === "replace-target") config.combos!.terra!.targets = [{ provider: "alt", model: "gpt-5.6-luna" }]; + if (mutation === "delete-provider") delete config.providers.gw; + if (mutation === "disable-provider") config.providers.gw!.disabled = true; + const log = await dispatch(config, "gpt-5.6-terra"); + expect(log.comboId).toBeUndefined(); + expect(log.provider).toBe("alt"); + }); + } + + test(`${version} missing and sibling lanes cannot borrow a completed selection`, async () => { + installRecallChatFixture(); + const config = comboTestConfig(); + await seedRecall(config); + expect((await dispatch(config, "gpt-5.6-terra", "sibling")).comboId).toBeUndefined(); + // Empty lane explicitly omits the header (undefined would use the helper default). + expect((await dispatch(config, "gpt-5.6-terra", "")).comboId).toBeUndefined(); + clearComboRecallForTests(); + await seedRecall(config, ""); + expect((await dispatch(config, "gpt-5.6-terra")).comboId).toBeUndefined(); + }); + + test(`${version} recall expires at thirty minutes and evicts the oldest of 257 lanes`, async () => { + installRecallChatFixture(); + const config = comboTestConfig(); + let now = 100_000; + const clock = spyOn(Date, "now").mockImplementation(() => now); + try { + await seedRecall(config); + now += 30 * 60 * 1000 - 1; + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "recall-lane" })), "gpt-5.6-terra")).toBe("terra"); + now += 1; + expect((await dispatch(config, "gpt-5.6-terra")).comboId).toBeUndefined(); + const target = { provider: "gw", model: "gpt-5.6-terra" }; + for (let index = 0; index < 257; index += 1) { + rememberComboForLane(sessionLaneIdFromRequest(new Headers({ session_id: `lane-${index}` })), "terra", target, "gpt-5.6-terra", captureConfigGeneration()); + } + expect((await dispatch(config, "gpt-5.6-terra", "lane-0")).comboId).toBeUndefined(); + expect((await dispatch(config, "gpt-5.6-terra", "lane-1")).comboId).toBe("terra"); + expect((await dispatch(config, "gpt-5.6-terra", "lane-256")).comboId).toBe("terra"); + } finally { + clock.mockRestore(); + } + }); + + test(`${version} virtual Pro target recalls the emitted base model`, async () => { + const config = comboTestConfig(); + config.providers["openai-apikey"] = { + adapter: "openai-responses", baseUrl: "https://api.openai.com/v1", authMode: "key", apiKey: "test-key", + }; + config.combos!.terra!.targets = [{ provider: "openai-apikey", model: "gpt-5.6-terra-pro" }]; + const calls: Array<{ url: string; body: Record<string, unknown> }> = []; + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + const body = await request.json() as Record<string, unknown>; + calls.push({ url: request.url, body }); + const completed = { ...completedPayload("summary"), model: "gpt-5.6-terra" }; + return body.stream ? sseResponse([{ type: "response.completed", response: completed }]) : jsonResponse(completed); + }) as typeof fetch; + await seedRecall(config); + expect(calls[0]!.body).toMatchObject({ model: "gpt-5.6-terra", reasoning: { mode: "pro" } }); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "recall-lane" })), "gpt-5.6-terra-pro")).toBeUndefined(); + expect((await dispatch(config, "gpt-5.6-terra")).comboId).toBe("terra"); + expect(calls.every(call => call.url.endsWith("/responses"))).toBe(true); + }); + + test(`${version} recalled combo resolves the current key rather than retaining a credential`, async () => { + const config = comboTestConfig(); + const auth: Array<string | null> = []; + globalThis.fetch = (async (input: string | URL | Request, init?: RequestInit) => { + const request = new Request(input, init); + auth.push(request.headers.get("authorization")); + const body = await request.json() as { stream?: boolean }; + return body.stream ? chatStreamResponse("summary") : jsonResponse(chatCompletionPayload("answer")); + }) as typeof fetch; + await seedRecall(config); + config.providers.gw!.apiKey = "key-current"; + expect((await dispatch(config, "gpt-5.6-terra")).comboId).toBe("terra"); + expect(auth).toEqual(["Bearer key-gw", "Bearer key-current"]); + }); + } + +}); + test("a no-eligible policy compact request persists the evaluation trace", async () => { const config = { ...keyProviderConfig(), @@ -1890,9 +2392,27 @@ describe("external task-input envelopes (#3735)", () => { expect(captured[0]!.messages).toEqual([{ role: "user", content: "plaintext task" }]); }); + test("an empty or null call_id is task input, not a rejection (#3807 supersedes)", async () => { + // These two shapes were in the invalid list above until #3807 showed they are the same + // seed as the absent-field form: neither value can pair with a `function_call`, and a + // Codex desktop sub-agent seed emitted with an explicit `call_id: null` was answered + // 400 for a turn that is really external task input. A wrong-TYPED key stays rejected. + const captured: Array<Record<string, unknown>> = []; + globalThis.fetch = (async (_url: unknown, init?: RequestInit) => { + captured.push(JSON.parse(String(init?.body))); + return jsonResponse({ id: "chat_seed", choices: [{ index: 0, message: { role: "assistant", content: "ok" }, finish_reason: "stop" }], usage: { prompt_tokens: 1, completion_tokens: 1 } }); + }) as typeof fetch; + for (const callId of [null, ""]) { + captured.length = 0; + const res = await handleResponses(compactionRequest(body({ ...external("seeded task"), call_id: callId })), + keyProviderConfig({ adapter: "openai-chat" }), { model: "", provider: "" }); + expect(res.status).toBe(200); + await res.text(); + expect(captured[0]!.messages).toEqual([{ role: "user", content: "seeded task" }]); + } + }); + const invalid: Array<[string, Record<string, unknown>]> = [ - ["empty call id", { ...external(), call_id: "" }], - ["null call id", { ...external(), call_id: null }], ["numeric call id", { ...external(), call_id: 42 }], ["incomplete metadata", { ...external(), namespace: "" }], ["custom output", { ...external(), type: "custom_tool_call_output" }], @@ -2167,3 +2687,49 @@ describe("unpaired tool result boundary (#3259)", () => { expect(bodies[0]).not.toContain("undefined"); }); }); + +describe("unusable-call_id task-input seed (#3807)", () => { + const seed = (extra: Record<string, unknown>) => ({ + type: "function_call_output", id: "fc_seed", name: "create_thread", namespace: "codex", + output: "<codex_delegation>continue</codex_delegation>", ...extra, + }); + + test("a seed carrying call_id: null is admitted as task input", () => { + // `null` is not a pairing key, so the item is the same external seed the absent-field + // form already carries. Rejecting it produced the reported 400 on clients that emit + // the field explicitly. + expect(externalTaskInputContent(seed({ call_id: null }))).toBe("<codex_delegation>continue</codex_delegation>"); + }); + + test("a seed carrying an empty-string call_id is admitted identically", () => { + expect(externalTaskInputContent(seed({ call_id: "" }))).toBe("<codex_delegation>continue</codex_delegation>"); + expect(externalTaskInputContent(seed({ call_id: " " }))).toBe("<codex_delegation>continue</codex_delegation>"); + }); + + test("the absent-field form still works (no regression on a73bb160f)", () => { + expect(externalTaskInputContent(seed({}))).toBe("<codex_delegation>continue</codex_delegation>"); + }); + + test("a REAL call_id is still a paired tool result, never task input", () => { + // The pairing key is what separates a tool result from a seed. Admitting a paired + // result as user text would silently drop a real tool round-trip. + expect(externalTaskInputContent(seed({ call_id: "call_1" }))).toBeUndefined(); + }); + + test("a non-string, non-null call_id stays rejected", () => { + // A numeric id is malformed input, not the absent-pairing seed shape; it keeps the + // #3259 rejection so a wrong-typed key cannot reach a translating adapter. + expect(externalTaskInputContent(seed({ call_id: 42 }))).toBeUndefined(); + expect(externalTaskInputContent(seed({ call_id: {} }))).toBeUndefined(); + }); + + test("every other #3735 validation still holds with an unusable call_id", () => { + // The relaxation is ONLY about the pairing key. Envelope completeness, blank output, + // and opaque ciphertext keep their existing rejections. + expect(externalTaskInputContent({ type: "function_call_output", call_id: null, output: "x" })).toBeUndefined(); + expect(externalTaskInputContent(seed({ call_id: null, namespace: "" }))).toBeUndefined(); + expect(externalTaskInputContent(seed({ call_id: null, output: " " }))).toBeUndefined(); + expect(externalTaskInputContent(seed({ call_id: null, output: [] }))).toBeUndefined(); + expect(externalTaskInputContent(seed({ call_id: null, output: [{ type: "input_image", image_url: 42 }] }))).toBeUndefined(); + }); +}); diff --git a/tests/responses/responses-opaque-blob-recovery.test.ts b/tests/responses/responses-opaque-blob-recovery.test.ts index cf264313811..87eb74f9232 100644 --- a/tests/responses/responses-opaque-blob-recovery.test.ts +++ b/tests/responses/responses-opaque-blob-recovery.test.ts @@ -154,6 +154,23 @@ function serializedOutboundWithEncryptedAgentMessage(): string { return JSON.stringify({ model: "model-a", input: agentMessageReplayInput() }); } +/** + * What a routed destination receives on the retry: recovery has replaced the undecryptable + * part with an omission marker, which leaves the item entirely plaintext, so the adapter + * converts it into the public user message a routed Responses schema can accept. + */ +function recoveredAgentMessage(): Record<string, unknown> { + return { + type: "message", + role: "user", + content: [ + { type: "input_text", text: 'Agent message {"author":"/root/child_task","recipient":"/root"}' }, + { type: "input_text", text: "Message Type: MESSAGE\nTask name: /root\nSender: /root/child_task\nPayload:" }, + { type: "input_text", text: "[encrypted content omitted]" }, + ], + }; +} + function config(): OcxConfig { return { defaultProvider: "first", @@ -550,15 +567,7 @@ describe("opaque blob recovery through /v1/responses", () => { expect(outbound).toHaveLength(4); const retriedInput = outbound.at(3)?.input as Array<Record<string, unknown>> | undefined; - expect(retriedInput?.at(0)).toEqual({ - type: "agent_message", - author: "/root/child_task", - recipient: "/root", - content: [ - { type: "input_text", text: "Message Type: MESSAGE\nTask name: /root\nSender: /root/child_task\nPayload:" }, - { type: "input_text", text: "[encrypted content omitted]" }, - ], - }); + expect(retriedInput?.at(0)).toEqual(recoveredAgentMessage()); expect(retriedInput?.at(1)).toEqual(agentMessageReplayInput().at(1)); expect(logCtx.activeAttempt?.recoveryKinds).toEqual(["transient-5xx", "opaque-blob-rejection"]); }); @@ -580,15 +589,7 @@ describe("opaque blob recovery through /v1/responses", () => { expect(body).not.toContain(FUNCTION_OUTPUT_DECRYPT_MESSAGE); expect(outbound).toHaveLength(2); const retriedInput = outbound.at(1)?.input as Array<Record<string, unknown>> | undefined; - expect(retriedInput?.at(0)).toEqual({ - type: "agent_message", - author: "/root/child_task", - recipient: "/root", - content: [ - { type: "input_text", text: "Message Type: MESSAGE\nTask name: /root\nSender: /root/child_task\nPayload:" }, - { type: "input_text", text: "[encrypted content omitted]" }, - ], - }); + expect(retriedInput?.at(0)).toEqual(recoveredAgentMessage()); }); test("recovers a zero-output error-event decrypt failure before client relay", async () => { @@ -608,15 +609,7 @@ describe("opaque blob recovery through /v1/responses", () => { expect(body).not.toContain(FUNCTION_OUTPUT_DECRYPT_MESSAGE); expect(outbound).toHaveLength(2); const retriedInput = outbound.at(1)?.input as Array<Record<string, unknown>> | undefined; - expect(retriedInput?.at(0)).toEqual({ - type: "agent_message", - author: "/root/child_task", - recipient: "/root", - content: [ - { type: "input_text", text: "Message Type: MESSAGE\nTask name: /root\nSender: /root/child_task\nPayload:" }, - { type: "input_text", text: "[encrypted content omitted]" }, - ], - }); + expect(retriedInput?.at(0)).toEqual(recoveredAgentMessage()); }); for (const streamMode of ["legacy-tee", "eager-relay"] as const) { @@ -751,15 +744,7 @@ describe("opaque blob recovery through /v1/responses", () => { expect(body).not.toContain(FUNCTION_OUTPUT_DECRYPT_MESSAGE); expect(outbound).toHaveLength(2); const retriedInput = outbound.at(1)?.input as Array<Record<string, unknown>> | undefined; - expect(retriedInput?.at(0)).toEqual({ - type: "agent_message", - author: "/root/child_task", - recipient: "/root", - content: [ - { type: "input_text", text: "Message Type: MESSAGE\nTask name: /root\nSender: /root/child_task\nPayload:" }, - { type: "input_text", text: "[encrypted content omitted]" }, - ], - }); + expect(retriedInput?.at(0)).toEqual(recoveredAgentMessage()); }); test("absent Content-Type decrypt stream does not recover a non-stream request", async () => { diff --git a/tests/responses/responses-parser.test.ts b/tests/responses/responses-parser.test.ts index 0debca2d0a1..12ad3d90825 100644 --- a/tests/responses/responses-parser.test.ts +++ b/tests/responses/responses-parser.test.ts @@ -1020,8 +1020,6 @@ describe("external task-input envelopes (#3735)", () => { { name: "blank name", item: { type: "function_call_output", id: "i", name: "", namespace: "ns", output: "ok" } }, { name: "missing namespace", item: { type: "function_call_output", id: "i", name: "n", output: "ok" } }, { name: "blank namespace", item: { type: "function_call_output", id: "i", name: "n", namespace: "\t", output: "ok" } }, - { name: "empty call_id", item: { type: "function_call_output", call_id: "", id: "i", name: "n", namespace: "ns", output: "ok" } }, - { name: "null call_id", item: { type: "function_call_output", call_id: null, id: "i", name: "n", namespace: "ns", output: "ok" } }, { name: "number call_id", item: { type: "function_call_output", call_id: 1, id: "i", name: "n", namespace: "ns", output: "ok" } }, { name: "custom_tool_call_output", item: { type: "custom_tool_call_output", id: "i", name: "n", namespace: "ns", output: "ok" } }, { @@ -1096,6 +1094,27 @@ describe("external task-input envelopes (#3735)", () => { expect(parsed.context.messages.some((message) => message.role === "toolResult")).toBe(true); }); + test.each([ + { name: "empty call_id", callId: "" }, + { name: "null call_id", callId: null }, + ])("$name is a seed on the user path, not a tool result (#3807 supersedes)", ({ callId }) => { + // These rows asserted a toolResult until #3807: neither value can pair with a + // `function_call`, so a client that emits the field explicitly was carrying the same + // seed as the absent-field form and had it answered 400 downstream. A wrong-TYPED + // key ("number call_id" above) is malformed input and keeps its rejection. + // + // A whitespace-only `call_id` is deliberately absent from this table: it satisfies the + // schema's `z.string().min(1)`, so functionCallOutputItemSchema claims the item and + // strips id/name/namespace before the parser runs. The helper admits it (covered in + // responses-compaction-routing), but the envelope never survives to reach it here. + const parsed = parseFrozen([{ + type: "function_call_output", call_id: callId, + id: "i", name: "n", namespace: "ns", output: "ok", + }]); + expect(parsed.context.messages).toMatchObject([{ role: "user", content: "ok" }]); + expect(parsed.context.messages.some((message) => message.role === "toolResult")).toBe(false); + }); + test("own and inherited call_id properties are helper-ineligible", () => { const base = { type: "function_call_output", diff --git a/tests/responses/responses-state.test.ts b/tests/responses/responses-state.test.ts index 969dbde9120..2fc90e766fd 100644 --- a/tests/responses/responses-state.test.ts +++ b/tests/responses/responses-state.test.ts @@ -3106,21 +3106,26 @@ describe("Responses previous_response_id state", () => { // Two proxies sharing one config dir race every tick. Reporting the loser's ENOENT as a // failure would tell an operator a file is "in use or locked" when nobody holds it. const old = new Date(Date.now() - 60 * 60 * 1_000); - const path = join(home, "responses-state.json.ocx.9104.1.tmp"); + const deadPid = findDeadPid(); + expect(deadPid).not.toBe(process.pid); + const path = join(home, `responses-state.json.ocx.${deadPid}.1.tmp`); writeFileSync(path, "private state"); utimesSync(path, old, old); + const unlinked: string[] = []; const result = recoverStaleResponseStateTemps(home, { isProcessAlive: () => false, bootTime: () => 0, - unlink: () => { + unlink: target => { + unlinked.push(target); const error = new Error("gone") as NodeJS.ErrnoException; error.code = "ENOENT"; throw error; }, }); - expect(result).toMatchObject({ matched: 1, removed: 1, failed: 0 }); + expect(result).toMatchObject({ matched: 1, eligible: 1, removed: 1, failed: 0 }); + expect(unlinked).toEqual([path]); }); test("a dry run reports exactly what a reclaim then removes", () => { diff --git a/tests/routing/combo-child-headers.test.ts b/tests/routing/combo-child-headers.test.ts index 16fb99d4d3f..27c9e89960f 100644 --- a/tests/routing/combo-child-headers.test.ts +++ b/tests/routing/combo-child-headers.test.ts @@ -17,6 +17,8 @@ describe("combo child request headers", () => { const parent = new Request("http://127.0.0.1:10100/v1/responses", { method: "POST", headers: { + authorization: "Bearer fixture", + "chatgpt-account-id": "caller-account", "content-type": "application/json", "content-encoding": "zstd", }, @@ -40,6 +42,8 @@ describe("combo child request headers", () => { ).rejects.toThrow(/Unknown frame descriptor|Invalid JSON|Unexpected token/i); const fixedHeaders = buildComboChildHeaders(parent.headers); + expect(fixedHeaders.has("authorization")).toBe(false); + expect(fixedHeaders.has("chatgpt-account-id")).toBe(false); expect(fixedHeaders.has("content-length")).toBe(false); expect(fixedHeaders.has("content-encoding")).toBe(false); const childDecoded = await readJsonRequestBody( diff --git a/tests/routing/routing-policy-fallback.test.ts b/tests/routing/routing-policy-fallback.test.ts index 205c70b8729..1883c1277d8 100644 --- a/tests/routing/routing-policy-fallback.test.ts +++ b/tests/routing/routing-policy-fallback.test.ts @@ -5,6 +5,7 @@ import { RequestPacingQueueOverloadError } from "../../src/providers/request-pac import type { OcxConfig } from "../../src/types"; import { beginRequestAttempt, type RequestLogContext } from "../../src/server/request-log"; import type { RouteDecisionTraceV1 } from "../../src/routing/trace"; +import { fakeChatGptJwt } from "../helpers/fake-chatgpt-jwt"; import { handleResponsesWithPolicyFallback, rankPolicyFallbackCandidates, @@ -47,6 +48,36 @@ function seedAttempt(logCtx: RequestLogContext, provider: string, model: string) } describe("policy candidate fallback", () => { + test("policy hops retain only the original sidecar snapshot outside primary headers", async () => { + const authorization = `Bearer ${fakeChatGptJwt({ chatgpt_account_id: "sidecar-account" })}`; + const initial = request(); + const headers = new Headers(initial.headers); + headers.set("authorization", authorization); + headers.set("chatgpt-account-id", "sidecar-account"); + const log = { model: "", provider: "" } as RequestLogContext; + const snapshots: unknown[] = []; + const primaryAuth: Array<string | null> = []; + const response = await handleResponsesWithPolicyFallback(new Request(initial, { headers }), { + port: 0, defaultProvider: "provider-a", providers: {}, + }, log, {}, { + runCore: async (req, _config, context, options) => { + snapshots.push(options.openAiSidecarAuth); + primaryAuth.push(req.headers.get("authorization")); + context.routeDecision = policyTrace(); + return snapshots.length === 1 + ? Response.json({ error: { message: "retry next candidate" } }, { status: 503 }) + : Response.json({ status: "completed" }); + }, + }); + expect(response.status).toBe(200); + expect(primaryAuth).toEqual([authorization, null]); + expect(snapshots).toEqual([ + { authorization, chatgptAccountId: "sidecar-account" }, + { authorization, chatgptAccountId: "sidecar-account" }, + ]); + expect(snapshots[1]).toBe(snapshots[0]); + }); + test("ranks only eligible untried candidates by score and stable original order", () => { const ranked = rankPolicyFallbackCandidates(policyTrace(), new Set(["provider-a\u0000model-a"])); expect(ranked.map(candidate => `${candidate.provider}/${candidate.model}`)).toEqual([ @@ -137,16 +168,26 @@ describe("policy candidate fallback", () => { const trace = policyTrace(); const logCtx = { requestedModel: "policy/daily", routeDecision: trace, attempts: [] } as unknown as RequestLogContext; const seenModels: string[] = []; + const seenAuthorization: Array<string | null> = []; + const seenAccountIds: Array<string | null> = []; const seenTerminalCodes: Array<string | undefined> = []; let bodyAcceptedCount = 0; - const response = await handleResponsesWithPolicyFallback(request(), {} as OcxConfig, logCtx, { + const initialRequest = request(); + const initialHeaders = new Headers(initialRequest.headers); + initialHeaders.set("authorization", "Bearer fixture"); + initialHeaders.set("chatgpt-account-id", "caller-account"); + const credentialedRequest = new Request(initialRequest, { headers: initialHeaders }); + + const response = await handleResponsesWithPolicyFallback(credentialedRequest, {} as OcxConfig, logCtx, { onRequestBodyRead: () => { bodyAcceptedCount += 1; }, }, { runCore: async (req, _config, childLog, options) => { options.onRequestBodyRead?.(); + seenAuthorization.push(req.headers.get("authorization")); + seenAccountIds.push(req.headers.get("chatgpt-account-id")); const body = await req.json() as { model: string }; seenModels.push(body.model); seenTerminalCodes.push(childLog.terminalErrorCode); @@ -170,6 +211,8 @@ describe("policy candidate fallback", () => { expect(response.status).toBe(200); expect(bodyAcceptedCount).toBe(1); expect(seenModels).toEqual(["policy/daily", "provider-b/model-b"]); + expect(seenAuthorization).toEqual(["Bearer fixture", null]); + expect(seenAccountIds).toEqual(["caller-account", null]); expect(seenTerminalCodes).toEqual([undefined, undefined]); expect(logCtx.requestedModel).toBe("policy/daily"); expect(logCtx.routeDecision).toBe(trace); diff --git a/tests/routing/subagent-fallback-handle-responses.test.ts b/tests/routing/subagent-fallback-handle-responses.test.ts index 0eb1cac2d42..e3fcb0c82a5 100644 --- a/tests/routing/subagent-fallback-handle-responses.test.ts +++ b/tests/routing/subagent-fallback-handle-responses.test.ts @@ -182,6 +182,30 @@ function installPoolCredential(accountId: string, chatgptAccountId: string, now: }); } +function storedMainFallbackAuthorization() { + const accountId = "normalization-main-account"; + const token = `header.${Buffer.from(JSON.stringify({ exp: Math.floor(Date.now() / 1_000) + 86_400 })) + .toString("base64url")}.signature`; + writeFileSync(join(testDir, "auth.json"), JSON.stringify({ + tokens: { access_token: token, account_id: accountId }, + })); + let claims = 0; + const options: NonNullable<Parameters<typeof handleResponses>[3]> = { + admission: { kind: "environment", source: "bearer" }, + turnAdmissionLease: { + release() {}, + beginCodexAccountSelection() { + return { + mainProfileDraining: false, + claimMainProfile: () => { claims += 1; return true; }, + release() {}, + }; + }, + }, + }; + return { accountId, token, options, headers: { authorization: "Bearer normalization-admission" }, claims: () => claims }; +} + function isCodexModelsFetch(input: unknown): boolean { try { const url = new URL(String(input)); @@ -814,6 +838,7 @@ describe("subagent fallback final-route normalization", () => { }); test("routed primary falling back to native gpt-5.5 clamps max effort to xhigh", async () => { + const credentials = storedMainFallbackAuthorization(); const cfg = poolNativePlusRoutedConfig({ defaultProvider: "xai", subagentModelFallback: ["gpt-5.5"], @@ -849,8 +874,9 @@ describe("subagent fallback final-route normalization", () => { stream: false, reasoning: { effort: "max" }, }, - {}, + credentials.options, logCtx, + credentials.headers, ); expect(response.status).toBe(200); @@ -861,9 +887,12 @@ describe("subagent fallback final-route normalization", () => { }; expect(body.model).toBe("gpt-5.5"); expect(body.reasoning?.effort).toBe("xhigh"); + expect(capture.auths).toEqual([`Bearer ${credentials.token}`]); + expect(credentials.claims()).toBeGreaterThan(0); }); test("routed primary falling back to native gpt-5.6 keeps real max effort", async () => { + const credentials = storedMainFallbackAuthorization(); const cfg = poolNativePlusRoutedConfig({ defaultProvider: "xai", subagentModelFallback: ["gpt-5.6-terra"], @@ -888,18 +917,20 @@ describe("subagent fallback final-route normalization", () => { noteSubagentModelFailure("grok-4.5", "429", cfg); const capture = { urls: [] as string[], bodies: [] as string[], auths: [] as Array<string | null> }; - mockUpstream(capture, { "Bearer caller-codex-token": ["gpt-5.6-terra"] }); + mockUpstream(capture, { [credentials.accountId]: ["gpt-5.6-terra"] }); const response = await postSpawn(cfg, { model: "xai/grok-4.5", input: readableAgentInput(), stream: false, reasoning: { effort: "max" }, - }); + }, credentials.options, { model: "", provider: "" }, credentials.headers); expect(response.status).toBe(200); const body = JSON.parse(capture.bodies[0]!) as { reasoning?: { effort?: string } }; expect(body.reasoning?.effort).toBe("max"); + expect(capture.auths).toEqual([`Bearer ${credentials.token}`]); + expect(credentials.claims()).toBeGreaterThan(0); }); test("native primary falling back to routed does not receive a native clamp", async () => { @@ -941,6 +972,7 @@ describe("subagent fallback final-route normalization", () => { }); test("routed primary falls back to native and preserves encrypted task passthrough", async () => { + const credentials = storedMainFallbackAuthorization(); resetSubagentModelFallbackStateForTests(); const cfg = poolNativePlusRoutedConfig({ defaultProvider: "xai", @@ -963,13 +995,13 @@ describe("subagent fallback final-route normalization", () => { }); const capture = { urls: [] as string[], bodies: [] as string[], auths: [] as Array<string | null> }; - mockUpstream(capture, { "Bearer caller-codex-token": ["gpt-5.6-terra"] }); + mockUpstream(capture, { [credentials.accountId]: ["gpt-5.6-terra"] }); const response = await postSpawn(cfg, { model: "xai/grok-4.5", input: encryptedAgentInput(), stream: false, - }); + }, credentials.options, { model: "", provider: "" }, credentials.headers); if (response.status !== 200) { const body = await response.text(); @@ -977,6 +1009,8 @@ describe("subagent fallback final-route normalization", () => { } expect(capture.urls.some((url) => url.includes("chatgpt.com/backend-api/codex"))).toBe(true); expect(capture.bodies[0]).toContain(FERNET_TASK); + expect(capture.auths).toEqual([`Bearer ${credentials.token}`]); + expect(credentials.claims()).toBeGreaterThan(0); }); test("native primary falls back to routed for readable child tasks", async () => { @@ -2079,6 +2113,44 @@ describe("account-gated retry entitlement boundary", () => { expect(entitlementCalls).toBe(3); }); + test.each(["absent", "present"])("a shadow rewrite cannot restore an opaque source bearer (explicit account: %s)", async accountHeader => { + const hasAccount = accountHeader === "present"; + const now = 1_800_000_000_000; + Date.now = () => now; + installPoolCredential("pool-a", "pool_acc_a", now); + const cfg = retryConfig(); + cfg.shadowCallIntercept = { enabled: true, model: `openai/${model}`, sourceModels: ["gpt-5.6-luna"] }; + let entitlementCalls = 0; + let callerRosterReads = 0; + const observed: Array<{ authorization: string | null; accountId: string | null }> = []; + globalThis.fetch = (async (input, init) => { + const headers = new Headers(init?.headers); + if (new URL(String(input)).pathname.endsWith("/models")) { + callerRosterReads += 1; + return Response.json({ models: [{ slug: model, supported_in_api: true, visibility: "list" }] }); + } + observed.push({ authorization: headers.get("authorization"), accountId: headers.get("chatgpt-account-id") }); + return observed.length === 1 ? unsupportedCodexModelResponse(model) + : Response.json({ id: "unexpected-source-credential-retry", status: "completed", output: [] }); + }) as typeof fetch; + const response = await postDirectCodex(cfg, { model: "gpt-5.6-luna", input: "hello", stream: false }, { + admission: { kind: "environment", source: "dedicated" }, + resolveCodexModelEntitlements: async () => { + entitlementCalls += 1; + return entitlementCalls === 1 ? entitlementSnapshot({ "pool-a": [model] }) + : entitlementSnapshot({ "pool-a": ["gpt-5.6-sol"] }); + }, + }, { + authorization: "Bearer source-route-token", + ...(hasAccount ? { "chatgpt-account-id": "source-route-account" } : {}), + }); + await response.arrayBuffer(); + expect(observed).toEqual([{ authorization: "Bearer pool-a_token", accountId: "pool_acc_a" }]); + expect(callerRosterReads).toBe(0); + expect(entitlementCalls).toBeGreaterThan(1); + expect(response.status).toBe(400); + }); + test("a first-refresh programmer error cancels the 400 and releases its quota probe", async () => { const cooldownAt = 1_800_000_000_000; const probeAt = cooldownAt + CODEX_QUOTA_PROBE_INTERVAL_MS; diff --git a/tests/server/port-reclaim.test.ts b/tests/server/port-reclaim.test.ts index 56833cf4906..930a7866c9c 100644 --- a/tests/server/port-reclaim.test.ts +++ b/tests/server/port-reclaim.test.ts @@ -1,5 +1,5 @@ -import { describe, expect, test } from "bun:test"; -import { reclaimListenPort } from "../../src/server/port-reclaim"; +import { describe, expect, spyOn, test } from "bun:test"; +import { reclaimListenPort, type ReclaimListenPortOptions } from "../../src/server/port-reclaim"; import { isBareIpv6Address, parseTcpQuadsForLocalPort, @@ -7,6 +7,20 @@ import { } from "../../src/server/windows-tcp-drop"; import { parseListenPidsFromNetstat } from "../../src/server/port-reclaim"; +/** Exercise several scans and the deadline without depending on wall-clock scheduling. */ +async function reclaimWithMockClock(options: ReclaimListenPortOptions): Promise<boolean> { + let now = 1_000; + const clock = spyOn(Date, "now").mockImplementation(() => now); + try { + return await reclaimListenPort(10100, "127.0.0.1", { + ...options, timeoutMs: 50, intervalMs: 10, scanIntervalMs: 10, + sleepMs: async () => { now += 10; }, + }); + } finally { + clock.mockRestore(); + } +} + describe("parseListenPidsFromNetstat", () => { test("extracts Windows LISTENING owners for the local port", () => { const output = [ @@ -299,14 +313,11 @@ describe("reclaimListenPort", () => { expect(killed).toEqual([4242]); }); - test("allowlisted pid with failing ocx revalidation is still killed (trusted teardown PID)", async () => { + test("skips kill across later scans when allowlisted pid fails revalidation", async () => { const killed: number[] = []; let available = false; let checks = 0; - await expect(reclaimListenPort(10100, "127.0.0.1", { - timeoutMs: 200, - intervalMs: 20, - scanIntervalMs: 20, + await expect(reclaimWithMockClock({ dropTcpRows: false, killOcxHolders: true, onlyKillPids: [100], @@ -315,29 +326,25 @@ describe("reclaimListenPort", () => { isAliveFn: () => !available, verifyOcxFn: pid => { checks += 1; - // First pass (scan identity) succeeds; later scans reclassify as non-ocx. - // Allowlisted teardown PIDs still take the best-effort kill path. + // Scan identity succeeds, then pre-kill revalidation and later scans reject it. return checks === 1 ? pid : null; }, killFn: pid => { killed.push(pid); available = true; }, - sleepMs: async () => {}, - })).resolves.toBe(true); - expect(killed).toEqual([100]); + })).resolves.toBe(false); + expect(checks).toBeGreaterThanOrEqual(3); + expect(killed).toEqual([]); }); - test("allowlisted revalidation failure still permits TCP drop after kill", async () => { + test("does not drop TCP rows across later scans after allowlisted revalidation fails", async () => { const killed: number[] = []; const dropped: number[] = []; let alive = true; let available = false; let checks = 0; - await expect(reclaimListenPort(10100, "127.0.0.1", { - timeoutMs: 200, - intervalMs: 20, - scanIntervalMs: 20, + await expect(reclaimWithMockClock({ dropTcpRows: true, killOcxHolders: true, onlyKillPids: [100], @@ -357,19 +364,16 @@ describe("reclaimListenPort", () => { available = true; return { dropped: 1, skippedIpv6: 0, accessDenied: 0 }; }, - sleepMs: async () => {}, - })).resolves.toBe(true); - expect(killed).toEqual([100]); - expect(dropped).toEqual([10100]); + })).resolves.toBe(false); + expect(checks).toBeGreaterThanOrEqual(3); + expect(killed).toEqual([]); + expect(dropped).toEqual([]); }); - test("does not drop TCP rows while allowlisted non-ocx survives kill", async () => { + test("does not kill or drop TCP rows for an allowlisted non-ocx listener", async () => { const killed: number[] = []; const dropped: number[] = []; - await expect(reclaimListenPort(10100, "127.0.0.1", { - timeoutMs: 80, - intervalMs: 20, - scanIntervalMs: 20, + await expect(reclaimWithMockClock({ dropTcpRows: true, killOcxHolders: true, onlyKillPids: [100], @@ -384,9 +388,8 @@ describe("reclaimListenPort", () => { dropped.push(port); return { dropped: 1, skippedIpv6: 0, accessDenied: 0 }; }, - sleepMs: async () => {}, })).resolves.toBe(false); - expect(killed).toEqual([100]); + expect(killed).toEqual([]); expect(dropped).toEqual([]); }); @@ -525,20 +528,17 @@ describe("reclaimListenPort", () => { expect(dropped).toEqual([]); }); - test("allowlisted PID that fails ocx verify still gets killed and does not block TCP drop", async () => { + test("allowlisted PID that fails ocx verify stays protected until the deadline", async () => { const killed: number[] = []; const dropped: number[] = []; let alive = true; let available = false; - await expect(reclaimListenPort(10100, "127.0.0.1", { - timeoutMs: 200, - intervalMs: 20, - scanIntervalMs: 20, + await expect(reclaimWithMockClock({ dropTcpRows: true, killOcxHolders: true, onlyKillPids: [14772], isAvailableFn: async () => available, - // Windows often keeps a dead pre-update owner listed; cmdline probe already failed. + // This holder is still alive; a historical PID does not override verifier rejection. listListenPidsFn: () => (alive ? [14772] : []), isAliveFn: () => alive, verifyOcxFn: () => null, @@ -551,9 +551,40 @@ describe("reclaimListenPort", () => { available = true; return { dropped: 1, skippedIpv6: 0, accessDenied: 0 }; }, - sleepMs: async () => {}, + })).resolves.toBe(false); + expect(killed).toEqual([]); + expect(dropped).toEqual([]); + }); + + test.each([false, true])("a different verifier PID is rejected with killAllOcxOnPort=%s", async killAllOcxOnPort => { + const killed: number[] = []; + const dropped: number[] = []; + await expect(reclaimWithMockClock({ + dropTcpRows: true, killOcxHolders: true, killAllOcxOnPort, onlyKillPids: [100], + isAvailableFn: async () => false, listListenPidsFn: () => [100], isAliveFn: () => true, + verifyOcxFn: () => 200, + killFn: pid => { killed.push(pid); }, + dropTcpFn: port => { dropped.push(port); return 1; }, + })).resolves.toBe(false); + expect(killed).toEqual([]); + expect(dropped).toEqual([]); + }); + + test("a later successful verification can reclaim a previously rejected holder", async () => { + let alive = true; + let available = false; + let checks = 0; + const checksAtKill: number[] = []; + const dropped: number[] = []; + await expect(reclaimWithMockClock({ + dropTcpRows: true, killOcxHolders: true, onlyKillPids: [100], + isAvailableFn: async () => available, listListenPidsFn: () => alive ? [100] : [], + isAliveFn: () => alive, + verifyOcxFn: pid => ++checks === 1 ? null : pid, + killFn: () => { checksAtKill.push(checks); alive = false; }, + dropTcpFn: port => { dropped.push(port); available = true; return 1; }, })).resolves.toBe(true); - expect(killed).toEqual([14772]); + expect(checksAtKill).toEqual([3]); // rejected scan, accepted scan, accepted pre-kill check expect(dropped).toEqual([10100]); }); diff --git a/tests/server/relay-eager.test.ts b/tests/server/relay-eager.test.ts index e7be8ba57c6..ad4d4e458e5 100644 --- a/tests/server/relay-eager.test.ts +++ b/tests/server/relay-eager.test.ts @@ -1617,6 +1617,38 @@ describe("relaySseEagerBounded — error paths", () => { expect(rec.synthetics).toEqual([]); expect(rec.dones).toBe(1); }); + + test("(090-13) bare upstream error event at clean EOF passes upstream_error reason to onSynthetic", async () => { + // A { type: "error" } bare error SSE frame arrives, then the upstream closes cleanly. + // The relay emits an upstreamErrorTailFrame rather than an adapterEofIncompleteFrame. + // onSynthetic must receive reason="upstream_error" so callers can distinguish a semantic + // upstream failure from a plain body-read reset (which carries no reason argument). + const up = controlledUpstream(); + const syntheticCalls: Array<[string, string | undefined]> = []; + const rec090 = { dones: 0 }; + const inspector090 = createSseInspector({}); + const hooks090: EagerRelayHooks = { + inspectChunk: c => inspector090.feed(c), + finishInspection: () => inspector090.finish(), + disposeInspection: () => inspector090.dispose(), + sawTerminal: () => inspector090.reported(), + onSynthetic: (kind, reason) => syntheticCalls.push([kind, reason]), + onClientCancel: () => {}, + onDone: () => { rec090.dones += 1; }, + }; + const relayed = relaySseEagerBounded(up.stream, new AbortController(), hooks090); + const bareErrorPayload = JSON.stringify({ type: "error", message: "provider stream failed" }); + up.push(sse(bareErrorPayload)); + up.close(); + const out = await readAll(relayed); + await settle(); + + expect(out.match(/event: response\.failed/g)?.length).toBe(1); + expect(out).not.toContain("response.incomplete"); + expect(out).toContain("provider stream failed"); + expect(syntheticCalls).toEqual([["failed", "upstream_error"]]); + expect(rec090.dones).toBe(1); + }); }); describe("createSseInspector — extraction locks (h)", () => { diff --git a/tests/server/server-combo-failover-e2e.test.ts b/tests/server/server-combo-failover-e2e.test.ts index e5b7570f2ac..eb040a3b97c 100644 --- a/tests/server/server-combo-failover-e2e.test.ts +++ b/tests/server/server-combo-failover-e2e.test.ts @@ -1,3 +1,4 @@ +import { sessionLaneIdFromRequest } from "../../src/server/request-log-conversation"; import { afterEach, beforeEach, describe, expect, mock, setDefaultTimeout, test } from "bun:test"; import { logsFromApiBody } from "../helpers/logs-api"; import { @@ -42,7 +43,9 @@ import { import { clearCursorThreadContinuityForTests } from "../../src/adapters/cursor/thread-continuity"; import { COMPACT_PROMPT, encodeCompactionSummary } from "../../src/responses/compaction"; import { clearKeyCooldowns } from "../../src/providers/key-failover"; -import { consumeComboFailure } from "../../src/server/responses/core"; +import { consumeComboFailure, createChildPassthroughCallbackGate } from "../../src/server/responses/core"; +import { clearComboRecallForTests, recallComboForLane, reconcileComboRecall } from "../../src/server/responses/combo-session-recall"; +import { captureConfigGeneration } from "../../src/lib/state-store-sweeper"; // Full-suite Windows load: startServer + combo rename/delete management flows exceed the // default 5s per-test budget (same flake class as 810fa115 / claude-management-api). @@ -143,6 +146,7 @@ beforeEach(() => { testDir = mkdtempSync(join(tmpdir(), "ocx-combo-030-")); process.env.OPENCODEX_HOME = testDir; clearComboSelectionState(); + clearComboRecallForTests(); clearComboTargetCooldowns(); clearKeyCooldowns(); clearCodexUpstreamHealth(); @@ -175,6 +179,7 @@ afterEach(async () => { isolatedCodexHome = null; if (testDir) removeTreeWithRetry(testDir); clearComboSelectionState(); + clearComboRecallForTests(); clearComboTargetCooldowns(); clearKeyCooldowns(); clearCodexUpstreamHealth(); @@ -437,6 +442,289 @@ function heldNativeTerminal(payload: Record<string, unknown>) { } describe("server combo failover 030 activation matrix", () => { + test("recall completion has an independent gate slot and publishes once only on commit", () => { + const calls: string[] = []; + const gate = createChildPassthroughCallbackGate({ + onNativePassthroughTerminal: status => calls.push(status), + onResponseComplete: model => calls.push(model), + }); + gate.onTerminal("completed"); + gate.onResponseComplete("final-model"); + expect(calls).toEqual([]); + gate.commit(); + gate.commit(); + gate.onResponseComplete("duplicate-model"); + expect(calls).toEqual(["completed", "final-model"]); + }); + + for (const rejection of ["discard", "failed", "incomplete", "cancel"] as const) { + test(`recall gate drops pre-commit completion on ${rejection}`, () => { + const models: string[] = []; + const gate = createChildPassthroughCallbackGate({ onResponseComplete: model => models.push(model) }); + gate.onResponseComplete("unaccepted-model"); + if (rejection === "discard") gate.discard(); + else if (rejection === "cancel") gate.onCancel(); + else gate.onTerminal(rejection); + gate.commit(); + gate.onResponseComplete("late-model"); + expect(models).toEqual([]); + }); + } + + for (const wire of ["native", "chat", "runTurn"] as const) { + for (const stream of [false, true]) { + for (const terminal of ["completed", "failed", "incomplete"] as const) { + test(`${wire} ${stream ? "SSE" : "JSON"} ${terminal} B replaces A only after completed response`, async () => { + const encode = (events: Array<Record<string, unknown>>) => events.map(event => + `event: ${event.type}\ndata: ${JSON.stringify(event)}\n\n`).join(""); + const upstream = serve(async request => { + const body = await request.json() as { model: string; stream?: boolean }; + if (body.model === "m1") return Response.json(responsesSuccess("A", "m1")); + if (wire === "native") { + const response = { ...responsesSuccess("B output", "final-b"), status: terminal }; + return stream ? new Response(encode([ + { type: "response.output_text.delta", delta: "B output", item_id: "msg_b", output_index: 0, content_index: 0 }, + { type: `response.${terminal}`, response }, + ]), { headers: { "content-type": "text/event-stream" } }) : Response.json(response); + } + if (stream) { + if (terminal === "failed") return chatErrorStream("failed after output", "B output"); + return new Response([ + `data: ${JSON.stringify({ choices: [{ index: 0, delta: { content: "B output" }, finish_reason: null }] })}\n\n`, + `data: ${JSON.stringify({ choices: [{ index: 0, delta: {}, finish_reason: terminal === "incomplete" ? "length" : "stop" }] })}\n\n`, + "data: [DONE]\n\n", + ].join(""), { headers: { "content-type": "text/event-stream" } }); + } + if (terminal === "failed") return Response.json({ error: { message: "failed B" } }); + return Response.json({ choices: [{ index: 0, message: { role: "assistant", content: "B output" }, finish_reason: terminal === "incomplete" ? "length" : "stop" }] }); + }); + customRunTurn = async (_parsed, _incoming, emit) => { + emit({ type: "text_delta", text: "B output" }); + if (terminal === "failed") emit({ type: "error", message: "failed after output" }); + else emit({ type: "done", ...(terminal === "incomplete" ? { stopReason: "length" } : {}) }); + }; + const config = comboConfig({ + a: provider("openai-responses", baseUrl(upstream), "key-a"), + b: provider(wire === "native" ? "openai-responses" : wire === "chat" ? "openai-chat" : "test-run-turn", baseUrl(upstream), "key-b"), + }); + config.combos = { + alpha: { targets: [{ provider: "a", model: "m1" }] }, + beta: { targets: [{ provider: "b", model: "m2" }] }, + }; + const headers = { session_id: "terminal-recall" }; + const a = await post(config, { model: "combo/alpha" }, {}, headers); + expect(await a.json()).toMatchObject({ status: "completed", model: "m1" }); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "terminal-recall" })), "m1")).toBe("alpha"); + const models: string[] = []; + const completed = deferred(); + const b = await post(config, { model: "combo/beta", stream }, { + onResponseComplete: model => { models.push(model); completed.resolve(); }, + }, headers); + const body = await b.text(); + if (terminal === "completed") { + await within(completed.promise); + const expected = wire === "native" ? "final-b" : "m2"; + expect(body).toContain(`"model":"${expected}"`); + expect(models).toEqual([expected]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "terminal-recall" })), expected)).toBe("beta"); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "terminal-recall" })), "m1")).toBeUndefined(); + } else { + expect(models).toEqual([]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "terminal-recall" })), "m1")).toBe("alpha"); + } + }); + } + } + } + + for (const recordTerminalOutcomes of [true, false]) { + for (const scenario of ["completed", "missing-model", "empty-model", "failed-first", "incomplete-first", "undeclared-tool"] as const) { + test(`native SSE recall ${scenario} with terminal recording ${recordTerminalOutcomes}`, async () => { + const upstream = serve(() => { + const response = responsesSuccess("B", "final-b"); + if (scenario === "missing-model") delete response.model; + if (scenario === "empty-model") response.model = ""; + const events: Array<Record<string, unknown>> = [{ type: "response.output_text.delta", delta: "B", item_id: "msg_b", output_index: 0, content_index: 0 }]; + if (scenario === "failed-first" || scenario === "incomplete-first") { + const status = scenario === "failed-first" ? "failed" : "incomplete"; + events.push({ type: `response.${status}`, response: { ...response, status } }); + } + if (scenario === "undeclared-tool") events.push({ + type: "response.output_item.added", output_index: 0, + item: { type: "function_call", id: "fc_bad", call_id: "bad", name: "not_declared", arguments: "{}" }, + }); + // Empty terminal output cannot erase an earlier rejected tool call. + events.push({ type: "response.completed", response: { ...response, output: [] } }); + return new Response(events.map(event => `event: ${event.type}\ndata: ${JSON.stringify(event)}\n\n`).join(""), { + headers: { "content-type": "text/event-stream" }, + }); + }); + const seed = serve(() => Response.json(responsesSuccess("A", "m1"))); + const config = comboConfig({ + a: provider("openai-responses", baseUrl(seed), "key-a"), + b: provider("openai-responses", baseUrl(upstream), "key-b"), + }); + config.combos = { + alpha: { targets: [{ provider: "a", model: "m1" }] }, + beta: { targets: [{ provider: "b", model: "m2" }] }, + }; + const headers = { session_id: "native-sticky" }; + await (await post(config, { model: "combo/alpha" }, {}, headers)).text(); + const completed = deferred(); + const models: string[] = []; + const response = await post(config, { model: "combo/beta", stream: true, tools: [] }, { + recordTerminalOutcomes, + onResponseComplete: model => { models.push(model); completed.resolve(); }, + }, headers); + await response.text(); + if (scenario === "completed") { + await within(completed.promise); + expect(models).toEqual(["final-b"]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "native-sticky" })), "final-b")).toBe("beta"); + } else { + expect(models).toEqual([]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "native-sticky" })), "m1")).toBe("alpha"); + } + }); + } + } + + for (const streamMode of ["legacy-tee", "eager-relay"] as const) { + for (const recordTerminalOutcomes of [true, false]) { + for (const firstModel of [undefined, "", "missing-response", "null-response"] as const) { + test(`native ${streamMode} ignores hidden completion after ${firstModel === undefined ? "missing-model" : firstModel || "empty-model"} with recording ${recordTerminalOutcomes}`, async () => { + const seed = serve(() => Response.json(responsesSuccess("A", "m1"))); + const upstream = serve(() => { + const first = responsesSuccess("first", "ignored"); + if (firstModel === undefined) delete first.model; + else if (firstModel === "") first.model = firstModel; + const firstEvent: Record<string, unknown> = { type: "response.completed", response: first }; + if (firstModel === "missing-response") delete firstEvent.response; + else if (firstModel === "null-response") firstEvent.response = null; + const events = [ + { type: "response.output_text.delta", delta: "B", item_id: "msg_b", output_index: 0, content_index: 0 }, + firstEvent, + { type: "response.completed", response: responsesSuccess("hidden", "final-b") }, + ]; + return new Response(events.map(event => `event: ${event.type}\ndata: ${JSON.stringify(event)}\n\n`).join(""), { + headers: { "content-type": "text/event-stream" }, + }); + }); + const config = comboConfig({ + a: provider("openai-responses", baseUrl(seed), "key-a"), + b: provider("openai-responses", baseUrl(upstream), "key-b"), + }); + config.streamMode = streamMode; + config.combos = { + alpha: { targets: [{ provider: "a", model: "m1" }] }, + beta: { targets: [{ provider: "b", model: "m2" }] }, + }; + const headers = { session_id: "first-terminal-recall" }; + const lane = sessionLaneIdFromRequest(new Headers(headers)); + await (await post(config, { model: "combo/alpha" }, {}, headers)).text(); + expect(recallComboForLane(config, lane, "m1")).toBe("alpha"); + const completedModels: string[] = []; + const response = await post(config, { model: "combo/beta", stream: true }, { + recordTerminalOutcomes, onResponseComplete: model => { completedModels.push(model); }, + }, headers); + const wire = await response.text(); + expect(wire).not.toContain("final-b"); + expect(completedModels).toEqual([]); + expect(recallComboForLane(config, lane, "m1")).toBe("alpha"); + expect(recallComboForLane(config, lane, "final-b")).toBeUndefined(); + }); + } + } + } + + test("native output before cancellation preserves A and cannot record late B completion", async () => { + const seed = serve(() => Response.json(responsesSuccess("A", "m1"))); + const held = heldNativeTerminal({ type: "response.completed", response: responsesSuccess("B", "final-b") }); + const config = comboConfig({ + a: provider("openai-responses", baseUrl(seed), "key-a"), + b: provider("openai-responses", baseUrl(held.upstream), "key-b"), + }); + config.combos = { + alpha: { targets: [{ provider: "a", model: "m1" }] }, + beta: { targets: [{ provider: "b", model: "m2" }] }, + }; + const headers = { session_id: "cancel-recall" }; + await (await post(config, { model: "combo/alpha" }, {}, headers)).text(); + const abort = new AbortController(); + const models: string[] = []; + const response = await post(config, { model: "combo/beta", stream: true }, { + abortSignal: abort.signal, onResponseComplete: model => models.push(model), + }, headers); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "cancel-recall" })), "m1")).toBe("alpha"); + abort.abort(); + held.release(); + await response.text().catch(() => undefined); + expect(models).toEqual([]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "cancel-recall" })), "m1")).toBe("alpha"); + }); + + test("a held completed response cannot resurrect recall across combo delete and recreate", async () => { + const seed = serve(() => Response.json(responsesSuccess("A", "m1"))); + const held = heldNativeTerminal({ type: "response.completed", response: responsesSuccess("B", "final-b") }); + const config = comboConfig({ + a: provider("openai-responses", baseUrl(seed), "key-a"), + b: provider("openai-responses", baseUrl(held.upstream), "key-b"), + }); + config.combos = { + alpha: { targets: [{ provider: "a", model: "m1" }] }, + beta: { targets: [{ provider: "b", model: "m2" }] }, + }; + const headers = { session_id: "recreated-recall" }; + await (await post(config, { model: "combo/alpha" }, {}, headers)).text(); + const completed = deferred(); + const response = await post(config, { model: "combo/beta", stream: true }, { + onResponseComplete: () => completed.resolve(), + }, headers); + const generation = captureConfigGeneration(); + delete config.combos.beta; + const owners = { + generation: generation + 1, + providerNames: new Set(["a", "b"]), comboIds: new Set(["alpha"]), comboTargets: new Set(["alpha::a/m1"]), + codexAccountIds: new Set<string>(), oauthAccountKeys: new Set<string>(), configRoots: new Set<string>(), + }; + reconcileComboRecall(owners); + config.combos.beta = { targets: [{ provider: "b", model: "m2" }] }; + reconcileComboRecall({ + ...owners, generation: generation + 2, + comboIds: new Set(["alpha", "beta"]), comboTargets: new Set(["alpha::a/m1", "beta::b/m2"]), + }); + held.release(); + await response.text(); + await within(completed.promise); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "recreated-recall" })), "m1")).toBe("alpha"); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "recreated-recall" })), "final-b")).toBeUndefined(); + }); + + for (const media of ["image", "video"] as const) { + test(`${media} bridge completion records the final response model`, async () => { + const tools: string[] = []; + const routed = serve(async request => { + const body = await request.json() as { tools?: Array<{ function?: { name?: string } }> }; + tools.push(...(body.tools ?? []).map(tool => tool.function?.name ?? "")); + return chatStream("media bridge answer"); + }); + const config = comboConfig({ + a: provider("openai-chat", baseUrl(routed), "key-a"), + xai: provider("openai-chat", "https://api.x.ai/v1", "synthetic-xai-key"), + }, [{ provider: "a", model: "m1" }]); + config.images = media === "image" ? { bridgeEnabled: true } : { videoBridgeEnabled: true }; + const models: string[] = []; + const response = await post(config, { + stream: true, ...(media === "image" ? { tools: [{ type: "image_generation" }] } : {}), + }, { onResponseComplete: model => models.push(model) }, { session_id: "media-recall" }); + const frames = await collectSse(response); + expect(tools).toContain(media === "image" ? "image_gen" : "video_gen"); + expect(frames.some(frame => frame.event === "response.completed")).toBe(true); + expect(models).toEqual(["m1"]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "media-recall" })), "m1")).toBe("free"); + }); + } + test("dispatches a selected concrete target despite a shadowing combo alias", async () => { const hits: string[] = []; const a = serve(async request => { @@ -1575,12 +1863,14 @@ describe("server combo failover 030 activation matrix", () => { }); test("hosted web-search eager model failure hops through the loop path", async () => { - const modelHits: Array<{ model?: string; hasWebTool: boolean }> = []; + const modelHits: Array<{ model?: string; hasWebTool: boolean; authorization: string | null; account: string | null }> = []; const routed = serve(async request => { const body = await request.json() as { model?: string; tools?: Array<{ type?: string }> }; modelHits.push({ model: body.model, hasWebTool: body.tools?.some(tool => tool.type === "function") ?? false, + authorization: request.headers.get("authorization"), + account: request.headers.get("chatgpt-account-id"), }); if (body.model === "m1") { return Response.json({ error: { message: "loop unavailable" } }, { status: 503 }); @@ -1601,10 +1891,12 @@ describe("server combo failover 030 activation matrix", () => { { provider: "b", model: "m2" }, ]); config.webSearchSidecar = { enabled: true, backend: "openai" }; + const models: string[] = []; const response = await post(config, { stream: true, tools: [{ type: "web_search" }], - }, {}, { + }, { onResponseComplete: model => models.push(model) }, { + session_id: "web-search-recall", authorization: `Bearer ${fakeChatGptJwt({ chatgpt_account_id: "acct-combo-search" })}`, "chatgpt-account-id": "acct-combo-search", }); @@ -1612,6 +1904,76 @@ describe("server combo failover 030 activation matrix", () => { expect(JSON.stringify(await collectSse(response))).toContain("web loop backup"); expect(modelHits.map(hit => hit.model)).toEqual(["m1", "m2"]); expect(modelHits.every(hit => hit.hasWebTool)).toBe(true); + expect(modelHits.map(hit => hit.authorization)).toEqual(["Bearer key-a", "Bearer key-b"]); + expect(modelHits.every(hit => hit.account === null)).toBe(true); + expect(models).toEqual(["m2"]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "web-search-recall" })), "m2")).toBe("free"); + }); + + test.each(["valid", "chat-valid", "mismatched-account", "proxy-secret", "joined-proxy-secret", "explicit-null", "org-only-jwt"])("Combo sidecar auth stays off primary wires: %s", async authKind => { + const valid = authKind === "valid" || authKind === "chat-valid"; + const nativeToken = fakeChatGptJwt({ chatgpt_account_id: "acct-scoped-sidecar" }); + // A generic organizations claim is not OpenAI-domain evidence for a sidecar snapshot. + const token = authKind === "proxy-secret" ? `ocx_data_${nativeToken}` + : authKind === "joined-proxy-secret" ? `${nativeToken}, Bearer ocx_data_embedded` + : authKind === "org-only-jwt" ? fakeChatGptJwt({ organizations: [{ id: "org-foreign" }] }) : nativeToken; + const sidecarHits: Array<{ authorization: string | null; account: string | null }> = []; + const primaryHits: Array<{ model?: string; authorization: string | null; account: string | null; webTool: boolean }> = []; + let requestedSearch = false; + const sidecar = serve(request => { + sidecarHits.push({ authorization: request.headers.get("authorization"), account: request.headers.get("chatgpt-account-id") }); + return new Response( + 'event: response.output_text.delta\ndata: {"type":"response.output_text.delta","delta":"synthetic web result"}\n\n' + + 'event: response.completed\ndata: {"type":"response.completed","response":{"status":"completed"}}\n\n', + { headers: { "content-type": "text/event-stream" } }, + ); + }); + const routed = serve(async request => { + const body = await request.json() as { model?: string; tools?: Array<{ type?: string; function?: { name?: string } }> }; + const tool = body.tools?.find(tool => tool.type === "function")?.function?.name; + primaryHits.push({ model: body.model, authorization: request.headers.get("authorization"), account: request.headers.get("chatgpt-account-id"), webTool: !!tool }); + if (body.model === "m1") return Response.json({ error: { message: "try next model" } }, { status: 503 }); + if (tool && !requestedSearch) { + requestedSearch = true; + return new Response(`data: ${JSON.stringify({ choices: [{ index: 0, delta: { tool_calls: [{ index: 0, id: "call_search", type: "function", function: { name: tool, arguments: '{"query":"synthetic query"}' } }] }, finish_reason: null }] })}\n\n` + + 'data: {"choices":[{"index":0,"delta":{},"finish_reason":"tool_calls"}]}\n\ndata: [DONE]\n\n', + { headers: { "content-type": "text/event-stream" } }); + } + return chatStream("scoped sidecar complete"); + }); + globalThis.fetch = (async (input, init) => { + const url = new URL(input instanceof globalThis.Request ? input.url : String(input)); + if (url.origin === "https://chatgpt.com" && url.pathname === "/backend-api/codex/responses") { + return originalFetch(sidecar.url, init); + } + if (url.hostname !== "127.0.0.1" && url.hostname !== "localhost") throw new Error("unexpected external request"); + return originalFetch(input, init); + }) as typeof globalThis.fetch; + const config = comboConfig({ + a: provider("openai-chat", baseUrl(routed), "key-a"), + b: provider("openai-chat", baseUrl(routed), "key-b"), + openai: { adapter: "openai-responses", baseUrl: "https://chatgpt.com/backend-api/codex", authMode: "forward", codexAccountMode: "direct" }, + }, [{ provider: "a", model: "m1" }, { provider: "b", model: "m2" }]); + config.webSearchSidecar = { enabled: true, backend: "openai" }; + const headers = { + authorization: `Bearer ${token}`, + "chatgpt-account-id": authKind === "mismatched-account" ? "other-account" + : authKind === "org-only-jwt" ? "org-foreign" : "acct-scoped-sidecar", + }; + const response = authKind === "chat-valid" + ? await (await import("../../src/server/chat-completions")).handleChatCompletions(new Request("http://localhost/v1/chat/completions", { + method: "POST", headers: { "content-type": "application/json", ...headers }, + body: JSON.stringify({ model: "combo/free", messages: [{ role: "user", content: "search" }], stream: true, tools: [{ type: "web_search" }] }), + }), config, { model: "", provider: "" }) + : await post(config, { stream: true, tools: [{ type: "web_search" }] }, authKind === "explicit-null" ? { openAiSidecarAuth: null } : {}, headers); + expect(response.status).toBe(200); + expect(JSON.stringify(await collectSse(response))).toContain("scoped sidecar complete"); + expect(sidecarHits).toEqual(valid + ? [{ authorization: `Bearer ${nativeToken}`, account: "acct-scoped-sidecar" }] : []); + expect(primaryHits.map(hit => hit.authorization)).toEqual(valid + ? ["Bearer key-a", "Bearer key-b", "Bearer key-b"] : ["Bearer key-a", "Bearer key-b"]); + expect(primaryHits.every(hit => hit.account === null)).toBe(true); + expect(primaryHits.every(hit => hit.webTool === valid)).toBe(true); }); test("context 400 stops while exhausted retryable targets return the sanitized last status", async () => { @@ -2886,7 +3248,7 @@ describe("server combo failover 030 activation matrix", () => { const terminalFrame = (status: "failed" | "completed") => [ `event: response.${status}`, `data: ${JSON.stringify({ type: `response.${status}`, response: { - id: `resp_${status}`, status, output: [], + id: `resp_${status}`, status, model: status === "completed" ? "final-b" : "failed-a", output: [], ...(status === "failed" ? { error: { code: "rate_limit_exceeded", message: "discarded quota failure" } } : {}), } })}`, "", @@ -2905,13 +3267,16 @@ describe("server combo failover 030 activation matrix", () => { }); const finalized = deferred(); const statuses: string[] = []; + const models: string[] = []; + const completed = deferred(); let cancels = 0; const parent: RequestLogContext = { model: "", provider: "" }; const snapshots: RequestLogContext[] = []; const response = await handleResponses(new Request("http://localhost/v1/responses", { - method: "POST", headers: { "content-type": "application/json" }, + method: "POST", headers: { "content-type": "application/json", session_id: "hop-recall" }, body: JSON.stringify({ model: "combo/free", input: "hello", stream: true }), }), config, parent, { + onResponseComplete: model => { models.push(model); completed.resolve(); }, onNativePassthroughTerminal: status => { statuses.push(status); snapshots.push({ ...parent }); @@ -2922,10 +3287,14 @@ describe("server combo failover 030 activation matrix", () => { expect(response.status).toBe(200); await response.text(); await within(finalized.promise); + await within(completed.promise); + expect(models).toEqual(["final-b"]); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "hop-recall" })), "final-b")).toBe("free"); + expect(recallComboForLane(config, sessionLaneIdFromRequest(new Headers({ session_id: "hop-recall" })), "m1")).toBeUndefined(); expect(statuses).toEqual(["completed"]); expect(cancels).toBe(0); expect(snapshots).toHaveLength(1); - expect(snapshots[0]).toMatchObject({ provider: "combo", model: "combo/free", resolvedModel: "m2" }); + expect(snapshots[0]).toMatchObject({ provider: "combo", model: "combo/free", resolvedModel: "final-b" }); for (const field of ["terminalHttpStatus", "terminalIncompleteReason", "terminalErrorCode", "upstreamError"] as const) { expect(snapshots[0]![field]).toBeUndefined(); } diff --git a/tests/server/server-images.test.ts b/tests/server/server-images.test.ts index 6f7481b0346..7fcfd102570 100644 --- a/tests/server/server-images.test.ts +++ b/tests/server/server-images.test.ts @@ -1612,6 +1612,7 @@ function ccaFetchMock( try { parsedBody = JSON.parse(init.body); } catch { /* non-JSON body */ } } if (url.hostname === "daily-cloudcode-pa.googleapis.com") { + expect(init?.redirect).toBe("manual"); registryHits.push({ url: requestUrl, headers, body: parsedBody }); return Response.json(payload, { status }); } @@ -1629,6 +1630,47 @@ const CCA_CREDENTIAL = { projectId: "cca-project-123", } as const; +test.each([307, 308])("CCA image transport does not follow a canonical endpoint's %i", async status => { + let targetHits = 0; + let originHits = 0; + const target = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + targetHits++; + return Response.json({ response: { candidates: [] } }); + } }); + const origin = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + originHits++; + return new Response("redirect", { status, headers: { location: `http://127.0.0.1:${target.port}/target` } }); + } }); + globalThis.fetch = (async (input, init) => { + const url = new URL(input instanceof Request ? input.url : String(input)); + if (url.hostname === "daily-cloudcode-pa.googleapis.com") { + // Map only the canonical URL; pass production init unchanged to the real transport. + return originalFetch(`http://127.0.0.1:${origin.port}/cca`, init); + } + if (url.hostname !== "localhost" && url.hostname !== "127.0.0.1") throw new Error("unexpected external request"); + return originalFetch(input, init); + }) as typeof fetch; + saveConfig(ccaConfig()); + await saveCredential("google-antigravity", { ...CCA_CREDENTIAL }); + const server = startServer(0); + try { + const response = await originalFetch(new URL("/v1/images/generations", server.url), { + method: "POST", headers: { "content-type": "application/json" }, + body: JSON.stringify({ prompt: "synthetic prompt", model: "gpt-image-2" }), + }); + await response.text(); + expect(targetHits).toBe(0); + expect(originHits).toBe(1); + expect(response.status).toBe(502); + expect(response.headers.get("location")).toBeNull(); + } finally { + globalThis.fetch = originalFetch; + await server.stop(true); + await origin.stop(true); + await target.stop(true); + } +}); + test("CCA image fallback generates images via Google Antigravity when no OpenAI upstream exists", async () => { const registryHits: CcaFetchRequest[] = []; const otherHits: CcaFetchRequest[] = []; diff --git a/tests/server/server-live.test.ts b/tests/server/server-live.test.ts index 16ee4c79463..f6d4da89167 100644 --- a/tests/server/server-live.test.ts +++ b/tests/server/server-live.test.ts @@ -1237,10 +1237,12 @@ test("sideband relay preserves multibyte UTF-8 frames byte-identically in both d // The env-gated frame forensic log (OCX_LIVE_FRAME_LOG) records per-frame metadata and // U+FFFD presence without writing full payloads — the attribution tool for multibyte // transcript corruption reports. -test("sideband frame log records direction, kind, and U+FFFD context without full payloads", async () => { +test("sideband frame log preserves delivery without recording damaged or clean text", async () => { const frameLogPath = join(TEST_DIR, "frames.jsonl"); + const previousFrameLog = process.env.OCX_LIVE_FRAME_LOG; process.env.OCX_LIVE_FRAME_LOG = frameLogPath; const FFFD_TEXT = "가볍게 ��기핼봐요"; + const received: string[] = []; const upstream = Bun.serve({ port: 0, @@ -1293,7 +1295,8 @@ test("sideband frame log records direction, kind, and U+FFFD context without ful client.addEventListener("open", () => { client.send("clean-frame"); }); - client.addEventListener("message", () => { + client.addEventListener("message", event => { + received.push(String(event.data)); acks += 1; if (acks >= 2) { clearTimeout(timer); @@ -1316,23 +1319,70 @@ test("sideband frame log records direction, kind, and U+FFFD context without ful expect(u2cFffd).toBeDefined(); expect(u2cFffd.kind).toBe("text"); expect(u2cFffd.bytes).toBeGreaterThan(0); - expect(u2cFffd.context).toContain("�"); + expect(received).toContain(FFFD_TEXT); expect(c2uClean).toBeDefined(); expect(c2uClean.fffd).toBe(false); - // Full payloads must never be logged — only short FFFD context excerpts. + // Even a short damaged transcript must not be persisted as diagnostic context. for (const line of lines) { + expect(Object.keys(line).sort()).toEqual(["bytes", "dir", "fffd", "kind", "ts"]); expect(JSON.stringify(line)).not.toContain("clean-frame"); + expect(JSON.stringify(line)).not.toContain(FFFD_TEXT); } client.close(); } finally { - delete process.env.OCX_LIVE_FRAME_LOG; + if (previousFrameLog === undefined) delete process.env.OCX_LIVE_FRAME_LOG; + else process.env.OCX_LIVE_FRAME_LOG = previousFrameLog; globalThis.WebSocket = RealWebSocket; await server.stop(true); await upstream.stop(true); } }); +test("frame diagnostics retain only metadata for text, binary, and bounded views", async () => { + const { logLiveSidebandFrame } = await import("../../src/server/live"); + const previousFrameLog = process.env.OCX_LIVE_FRAME_LOG; + const frameLogPath = join(TEST_DIR, "frame-metadata.jsonl"); + const damagedText = "private-voice-�"; + const encoded = new TextEncoder().encode(damagedText); + const padded = new TextEncoder().encode("�safe�"); + const frames: Array<{ data: unknown; kind: string; bytes: number; fffd: boolean }> = [ + { data: damagedText, kind: "text", bytes: 17, fffd: true }, + { data: encoded.buffer, kind: "binary", bytes: 17, fffd: true }, + { data: Buffer.from(encoded), kind: "binary", bytes: 17, fffd: true }, + // Replacement characters outside this view must not affect the flag or byte count. + { data: new Uint8Array(padded.buffer, 3, 4), kind: "binary", bytes: 4, fffd: false }, + { data: new DataView(padded.buffer, 3, 4), kind: "binary", bytes: 4, fffd: false }, + { data: "한글", kind: "text", bytes: 6, fffd: false }, + { data: new Uint8Array([0xff]), kind: "binary", bytes: 1, fffd: true }, + ]; + try { + process.env.OCX_LIVE_FRAME_LOG = frameLogPath; + for (const frame of frames) logLiveSidebandFrame("u2c", frame.data); + logLiveSidebandFrame("c2u", { privateText: damagedText }); + const raw = readFileSync(frameLogPath, "utf8"); + const records = raw.trim().split("\n").map(line => JSON.parse(line)); + expect(records).toHaveLength(frames.length); + records.forEach((record, index) => { + const expected = frames[index]!; + expect(record).toEqual({ + ts: expect.any(String), dir: "u2c", kind: expected.kind, + bytes: expected.bytes, fffd: expected.fffd, + }); + expect(Number.isNaN(Date.parse(record.ts))).toBe(false); + }); + for (const content of [damagedText, "safe", "한글", "�"]) expect(raw).not.toContain(content); + delete process.env.OCX_LIVE_FRAME_LOG; + logLiveSidebandFrame("c2u", damagedText); + expect(readFileSync(frameLogPath, "utf8")).toBe(raw); + process.env.OCX_LIVE_FRAME_LOG = TEST_DIR; + expect(() => logLiveSidebandFrame("c2u", damagedText)).not.toThrow(); + } finally { + if (previousFrameLog === undefined) delete process.env.OCX_LIVE_FRAME_LOG; + else process.env.OCX_LIVE_FRAME_LOG = previousFrameLog; + } +}); + // ── /readyz: per-server readiness gate ──────────────────────────────────────── // /healthz remains the immediate liveness signal (with only bounded capability // metadata); /readyz is the stricter gate that reflects the post-startup Codex sync diff --git a/tests/server/server-xai-responses-streaming.test.ts b/tests/server/server-xai-responses-streaming.test.ts index 16ae4511720..8a2298972c9 100644 --- a/tests/server/server-xai-responses-streaming.test.ts +++ b/tests/server/server-xai-responses-streaming.test.ts @@ -1,10 +1,8 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test"; -import { mkdtempSync } from "node:fs"; +import { mkdtempSync} from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { saveConfig } from "../../src/config"; -import { flushConfigDirHardeningForTests } from "../../src/config/paths"; -import { setAsyncIcaclsRunnerForTests, setIcaclsRunnerForTests } from "../../src/lib/windows-secret-acl"; import { saveCredential } from "../../src/oauth/store"; import { XAI_GROK_CLI_BASE_URL, @@ -14,6 +12,7 @@ import { startServer } from "../../src/server"; import type { OcxConfig } from "../../src/types"; import { installIsolatedCodexHome, type IsolatedCodexHome } from "../helpers/isolated-codex-home"; import { removeTreeWithRetry } from "../helpers/remove-tree"; +import { SERVER_BUDGET_MS } from "../helpers/test-budget"; const RESPONSES_ENDPOINT = `${XAI_GROK_CLI_BASE_URL}/responses`; const encoder = new TextEncoder(); @@ -22,11 +21,34 @@ let testDir = ""; let previousHome: string | undefined; let isolatedCodexHome: IsolatedCodexHome | null = null; let originalFetch: typeof fetch; -const ICACLS_OK = { success: true, exitCode: 0, timedOut: false, stdout: "" }; +let activeRoutedCase: { controller: AbortController; settled: Promise<void> } | null = null; + +function runRoutedCase(body: (signal: AbortSignal) => Promise<void>): Promise<void> { + const controller = new AbortController(); + const result = body(controller.signal); + // Observe the entire body, including its server-stop finally, even after a test timeout. + activeRoutedCase = { controller, settled: result.then(() => {}, () => {}) }; + return result; +} + +async function drainRoutedCase(): Promise<void> { + const active = activeRoutedCase; + if (!active) return; + active.controller.abort(new DOMException("xAI fixture cleanup", "AbortError")); + await active.settled; + if (activeRoutedCase === active) activeRoutedCase = null; +} + +function startXaiTestServer() { + return startServer(0, { + // This wire fixture does not exercise native Codex service ownership. Avoid + // unrelated Windows service queries and native-main recovery during setup. + inspectNativeCodexOwnership: () => ({ ownership: "foreign", reason: "xAI wire fixture" }), + }); +} beforeEach(async () => { - setIcaclsRunnerForTests(() => ICACLS_OK); - setAsyncIcaclsRunnerForTests(async () => ICACLS_OK); + if (activeRoutedCase) throw new Error("previous routed-parent fixture has not finished cleanup"); originalFetch = globalThis.fetch; previousHome = process.env.OPENCODEX_HOME; isolatedCodexHome = installIsolatedCodexHome("ocx-xai-responses-codex-"); @@ -42,16 +64,14 @@ beforeEach(async () => { }); afterEach(async () => { + await drainRoutedCase(); globalThis.fetch = originalFetch; - await flushConfigDirHardeningForTests(); - setIcaclsRunnerForTests(null); - setAsyncIcaclsRunnerForTests(null); if (previousHome === undefined) delete process.env.OPENCODEX_HOME; else process.env.OPENCODEX_HOME = previousHome; isolatedCodexHome?.restore(); isolatedCodexHome = null; if (testDir) removeTreeWithRetry(testDir); -}); +}, SERVER_BUDGET_MS); function config(): OcxConfig { return { @@ -80,6 +100,137 @@ function sse(payload: unknown): Uint8Array { } describe("xAI OAuth Responses streaming opt-in", () => { + test("routed-case cleanup waits for the entire aborted body finally", async () => { + let markFinally!: () => void; + const enteredFinally = new Promise<void>(resolve => { markFinally = resolve; }); + let releaseFinally!: () => void; + const finallyGate = new Promise<void>(resolve => { releaseFinally = resolve; }); + let finallyFinished = false; + const running = runRoutedCase(async signal => { + try { + await new Promise<never>((_resolve, reject) => { + signal.addEventListener("abort", () => reject(signal.reason), { once: true }); + }); + } finally { + markFinally(); + await finallyGate; + finallyFinished = true; + } + }); + const outcome = running.then(() => null, (error: unknown) => error); + let drained = false; + const draining = drainRoutedCase().then(() => { drained = true; }); + try { + await enteredFinally; + await Promise.resolve(); + // Awaiting outcome first would hide a drain helper that returned too early. + expect(drained).toBe(false); + expect(finallyFinished).toBe(false); + } finally { + releaseFinally(); + await draining; + await outcome; + } + expect(await outcome).toMatchObject({ name: "AbortError" }); + expect(finallyFinished).toBe(true); + expect(activeRoutedCase).toBeNull(); + }, SERVER_BUDGET_MS); + + test.each([true, false])("continues a routed parent after a string child result (stream=%s)", stream => runRoutedCase(async signal => { + const captured: Array<Record<string, unknown>> = []; + let privateItemRejections = 0; + const childText = " Synthetic worker result\nAll requested observations returned.\n "; + const call = { type: "function_call", id: "fc_parent_probe", status: "completed", + call_id: "call_parent_probe", name: "probe", arguments: "{}", + }; + globalThis.fetch = (async (input, init) => { + const url = input instanceof Request ? input.url : String(input); + // The fixture never falls through to a real OAuth or inference endpoint. + if (url !== RESPONSES_ENDPOINT) throw new Error(`Unexpected fixture destination: ${url}`); + const body = JSON.parse(String(init?.body)) as Record<string, unknown>; + captured.push(body); + const items = body.input as Array<{ type?: string }>; + if (items.some(item => item.type === "agent_message")) { + privateItemRejections += 1; + return Response.json({ error: 'unknown item type "agent_message"' }, { status: 422 }); + } + const output = captured.length === 1 ? [call] : [{ + type: "message", id: `msg_child_result_${captured.length}`, status: "completed", role: "assistant", + content: [{ type: "output_text", text: captured.length === 2 ? childText : "Parent continued", annotations: [] }], + }]; + const response = { id: `resp_child_result_${captured.length}`, object: "response", status: "completed", + model: "grok-4.6", output, + }; + if (!stream) return Response.json(response); + return new Response(new ReadableStream<Uint8Array>({ + start(controller) { + controller.enqueue(sse({ type: "response.created", sequence_number: 0, + response: { ...response, status: "in_progress", output: [] }, + })); + controller.enqueue(sse({ type: "response.output_item.added", sequence_number: 1, output_index: 0, item: output[0] })); + controller.enqueue(sse({ type: "response.output_item.done", sequence_number: 2, output_index: 0, item: output[0] })); + controller.enqueue(sse({ type: "response.completed", sequence_number: 3, response })); + controller.close(); + }, + }), { headers: { "content-type": "text/event-stream" } }); + }) as typeof fetch; + + saveConfig({ ...config(), multiAgentMode: "v2" }); + const server = startXaiTestServer(); + const send = async (session: string, input: unknown[], parentSession?: string) => { + signal.throwIfAborted(); + const response = await originalFetch(new URL("/v1/responses", server.url), { + signal, + method: "POST", headers: { "content-type": "application/json", "session-id": session, + ...(parentSession ? { "x-codex-parent-thread-id": parentSession } : {}), + }, + body: JSON.stringify({ model: "xai/grok-4.6", stream, store: false, input, + tools: [{ type: "function", name: "probe", parameters: { type: "object", properties: {} } }], + }), + }); + expect(response.status).toBe(200); + if (!stream) return await response.json() as { output: Array<Record<string, unknown>> }; + const text = await response.text(); + const events = text.split(/\r?\n/).filter(line => line.startsWith("data: ") && line !== "data: [DONE]") + .map(line => JSON.parse(line.slice(6))); + const terminal = events.find(event => event.type === "response.completed"); + expect(terminal).toBeDefined(); + return terminal.response as { output: Array<Record<string, unknown>> }; + }; + try { + const initial = { type: "message", role: "user", content: [{ type: "input_text", text: "Collect a worker result" }] }; + const parent = await send("fixture-parent", [initial]); + expect(parent.output[0]).toMatchObject(call); + const child = await send("fixture-worker", [ + { type: "message", role: "user", content: [{ type: "input_text", text: "Return the synthetic observations" }] }, + ], "fixture-parent"); + const childContent = child.output[0]!.content as Array<{ type: string; text: string }>; + expect(childContent[0]).toMatchObject({ type: "output_text", text: childText }); + // Codex-client envelope simulation only: no scheduler or real child process is run. + const toolResult = { type: "function_call_output", call_id: call.call_id, output: "Probe completed" }; + const agentMessage = { type: "agent_message", id: "amsg_worker_result", author: "/root/worker", recipient: "/root", + content: childContent[0]!.text, + }; + const resumed = await send("fixture-parent", [initial, ...parent.output, toolResult, agentMessage]); + expect(resumed.output[0]).toMatchObject({ type: "message", content: [{ type: "output_text", text: "Parent continued" }] }); + expect(privateItemRejections).toBe(0); + expect(captured).toHaveLength(3); + const input = captured[2]!.input as Array<Record<string, unknown>>; + expect(input.some(item => item.type === "agent_message")).toBe(false); + expect(input.filter(item => item.type === "function_call")).toEqual([ + expect.objectContaining({ call_id: call.call_id, name: "probe", arguments: "{}" }), + ]); + expect(input.filter(item => item.type === "function_call_output")).toEqual([toolResult]); + expect(input).toContainEqual({ type: "message", role: "user", content: [ + { type: "input_text", text: 'Agent message {"author":"/root/worker","recipient":"/root"}' }, + { type: "input_text", text: childText }, + ] }); + expect(agentMessage.content).toBe(childText); + } finally { + await server.stop(true); + } + }), 10_000); + test("uses the native Responses wire and relays the first delta before completion", async () => { let releaseCompletion!: () => void; const completionGate = new Promise<void>(resolve => { releaseCompletion = resolve; }); @@ -173,7 +324,7 @@ describe("xAI OAuth Responses streaming opt-in", () => { }) as typeof fetch; saveConfig(config()); - const server = startServer(0); + const server = startXaiTestServer(); let reader: ReadableStreamDefaultReader<Uint8Array> | undefined; try { const response = await originalFetch(new URL("/v1/responses", server.url), { @@ -288,7 +439,7 @@ describe("xAI OAuth Responses streaming opt-in", () => { }) as typeof fetch; saveConfig(config()); - const server = startServer(0); + const server = startXaiTestServer(); try { const response = await originalFetch(new URL("/v1/responses", server.url), { method: "POST", @@ -383,7 +534,7 @@ describe("xAI OAuth Responses streaming opt-in", () => { }) as typeof fetch; saveConfig(config()); - const server = startServer(0); + const server = startXaiTestServer(); try { const response = await originalFetch(new URL("/v1/responses", server.url), { method: "POST", diff --git a/tests/server/stream-aborted-marker.test.ts b/tests/server/stream-aborted-marker.test.ts index 5e142a34293..cce7be1fafa 100644 --- a/tests/server/stream-aborted-marker.test.ts +++ b/tests/server/stream-aborted-marker.test.ts @@ -205,4 +205,79 @@ describe("streamAborted marker (codex-router #139)", () => { expect(row?.status).toBe(499); expect(row?.attempts?.[0]?.streamAborted).toBeUndefined(); }); + + test("bare upstream error event at clean EOF meters as 502 without streamAborted", async () => { + const { logCtx, attempt } = makeLogCtx(); + const terminalReported = Promise.withResolvers<void>(); + const terminals: Array<[string, number | undefined]> = []; + // Stream sends a bare { type: "error" } SSE event then closes cleanly (no read error). + // The onCleanEof path in consumeForInspection detects the witnessed bare error and + // reports failed -- but a semantic EOF is not a body-read reset, so streamAborted is absent. + const barePayload = JSON.stringify({ type: "error", message: "provider failed cleanly" }); + const body = new ReadableStream<Uint8Array>({ + pull(controller) { + controller.enqueue(encoder.encode("data: " + barePayload + "\n\n")); + controller.close(); + }, + }); + consumeForInspection( + body, + (status, httpStatusOverride) => { + terminals.push([status, httpStatusOverride]); + terminalReported.resolve(); + }, + undefined, + () => {}, + logCtx, + ); + await terminalReported.promise; + expect(terminals).toEqual([["failed", 502]]); + expect(attempt.streamAborted).toBeUndefined(); + + addFinalRequestLog( + "ocx-bare-error-eof", + Date.now(), + logCtx, + httpStatusForRequestLogTerminal("failed", logCtx), + { terminalStatus: "failed", closeReason: "terminal" }, + addRequestLog, + ); + const [row] = readUsageEntries(); + expect(row?.status).toBe(502); + expect(row?.attempts?.[0]?.status).toBe(502); + expect(row?.attempts?.[0]?.streamAborted).toBeUndefined(); + }); + + test("read error after a bare upstream error event carries streamAborted", async () => { + const { logCtx, attempt } = makeLogCtx(); + const terminalReported = Promise.withResolvers<void>(); + const terminals: Array<[string, number | undefined]> = []; + // A bare error event arrives, then the body-read itself fails (socket reset). + // The read error takes the onReadError path and sets streamAborted. + const barePayload = JSON.stringify({ type: "error", message: "pre-reset error" }); + let reads = 0; + const body = new ReadableStream<Uint8Array>({ + pull(controller) { + reads += 1; + if (reads === 1) { + controller.enqueue(encoder.encode("data: " + barePayload + "\n\n")); + } else { + controller.error(new Error("socket reset after error event")); + } + }, + }); + consumeForInspection( + body, + (status, httpStatusOverride) => { + terminals.push([status, httpStatusOverride]); + terminalReported.resolve(); + }, + undefined, + () => {}, + logCtx, + ); + await terminalReported.promise; + expect(terminals).toEqual([["failed", 502]]); + expect(attempt.streamAborted).toBe(true); + }); }); diff --git a/tests/server/v2-agent-message-failfast.test.ts b/tests/server/v2-agent-message-failfast.test.ts index 0dec3b40715..0d2b77dcdd8 100644 --- a/tests/server/v2-agent-message-failfast.test.ts +++ b/tests/server/v2-agent-message-failfast.test.ts @@ -4,6 +4,7 @@ import { hasUnreadableEncryptedAgentTask, } from "../../src/server/responses"; import type { OcxConfig } from "../../src/types"; +import { fakeChatGptJwt } from "../helpers/fake-chatgpt-jwt"; const originalFetch = globalThis.fetch; @@ -212,9 +213,13 @@ describe("V2 routed agent-message ciphertext guard", () => { test("filters a combo to a decrypt-capable native target before dispatch", async () => { const fetchedUrls: string[] = []; + const nativeToken = fakeChatGptJwt({ chatgpt_account_id: "native-combo-caller" }); + const forwardedAuth: Array<{ authorization: string | null; account: string | null }> = []; let forwardedBody = ""; globalThis.fetch = (async (input, init) => { fetchedUrls.push(String(input)); + const headers = new Headers(init?.headers); + forwardedAuth.push({ authorization: headers.get("authorization"), account: headers.get("chatgpt-account-id") }); forwardedBody = typeof init?.body === "string" ? init.body : ""; return Response.json({ id: "resp_combo_native", @@ -233,13 +238,14 @@ describe("V2 routed agent-message ciphertext guard", () => { { type: "input_text", text: ROUTING_ENVELOPE }, { type: "encrypted_content", encrypted_content: FERNET_TASK }, ]), - { authorization: "Bearer caller-codex-token" }, + { authorization: `Bearer ${nativeToken}`, "chatgpt-account-id": "native-combo-caller" }, ); expect(response.status).toBe(200); expect(fetchedUrls).toHaveLength(1); expect(fetchedUrls[0]).toContain("chatgpt.com/backend-api/codex"); expect(fetchedUrls[0]).not.toContain("api.x.ai"); + expect(forwardedAuth).toEqual([{ authorization: `Bearer ${nativeToken}`, account: "native-combo-caller" }]); expect(forwardedBody).toContain(FERNET_TASK); }); @@ -283,7 +289,11 @@ describe("V2 routed agent-message ciphertext guard", () => { ]; const forwardedModels: string[] = []; const forwardedBodies: string[] = []; + const nativeToken = fakeChatGptJwt({ chatgpt_account_id: "native-combo-caller" }); + const forwardedAuth: Array<{ authorization: string | null; account: string | null }> = []; globalThis.fetch = (async (_input, init) => { + const headers = new Headers(init?.headers); + forwardedAuth.push({ authorization: headers.get("authorization"), account: headers.get("chatgpt-account-id") }); const raw = typeof init?.body === "string" ? init.body : ""; forwardedBodies.push(raw); const parsed = JSON.parse(raw) as { model?: string }; @@ -308,12 +318,13 @@ describe("V2 routed agent-message ciphertext guard", () => { { type: "input_text", text: ROUTING_ENVELOPE }, { type: "encrypted_content", encrypted_content: FERNET_TASK }, ]), - { authorization: "Bearer caller-codex-token" }, + { authorization: `Bearer ${nativeToken}`, "chatgpt-account-id": "native-combo-caller" }, ); expect(response.status).toBe(200); expect(forwardedModels).toEqual(["gpt-native-primary", "gpt-native-backup"]); expect(forwardedBodies).toHaveLength(2); + expect(forwardedAuth).toEqual(Array(2).fill({ authorization: `Bearer ${nativeToken}`, account: "native-combo-caller" })); expect(forwardedBodies.every(body => body.includes(FERNET_TASK))).toBe(true); }); diff --git a/tests/service/init-eof.test.ts b/tests/service/init-eof.test.ts index 11f5c447bd6..bcbdb007d39 100644 --- a/tests/service/init-eof.test.ts +++ b/tests/service/init-eof.test.ts @@ -176,6 +176,55 @@ describe("ocx init piped stdin (#754)", () => { } finally { await stop(proc); } }, 30_000); + test.each(["permissions", "link", "link-residue"])("publication recovery guidance reaches the CLI (%s)", async failure => { + const home = makeHome(); + const backup = join(home, "config.json.pre-openai-tiers-v2.bak"); + writeFileSync(backup, "preserve backup on publication failure"); + const bootstrap = ` + import { mock } from "bun:test"; + const configApi = { ...await import("./src/config.ts") }; + const failure = ${JSON.stringify(failure)}; + const io = failure === "permissions" + ? { harden() { throw new Error("private permission detail"); } } + : { + link() { throw Object.assign(new Error("private link detail"), { code: "EPERM" }); }, + ...(failure === "link-residue" ? { unlink() { throw new Error("private cleanup detail"); } } : {}), + }; + mock.module("./src/config.ts", () => ({ + ...configApi, + initializePersistedConfigIfMissing(config) { + return configApi.initializePersistedConfigIfMissing(config, io); + }, + })); + const { runInit } = await import("./src/cli/init.ts"); + await runInit(); + `; + const proc = launch(home, "init", bootstrap); + const stderr = new Response(proc.stderr).text(); + try { + await reachPortPrompt(proc); + proc.stdin.write("21001\n"); + await proc.stdin.flush(); + const stdout = remainingOutput(proc.stdout); + expect(await proc.exited).toBe(1); + const diagnostic = await stderr; + expect(diagnostic).toContain("OPENCODEX_HOME"); + expect(diagnostic).toContain("ocx init"); + expect(diagnostic).not.toMatch(/fixture-init-key|private (permission|link|cleanup) detail/); + if (failure === "permissions") { + expect(diagnostic).toContain("permissions could not be secured"); + expect(diagnostic).not.toContain("Config may already exist"); + } else { + expect(diagnostic).toContain("hard-link publication"); + expect(diagnostic).toContain("Config may already exist; inspect it before retrying"); + } + expect(diagnostic.includes("A temporary file could not be removed")).toBe(failure === "link-residue"); + expect(await stdout).not.toMatch(/Inject into|autostart shim|Setup complete/); + expect(existsSync(join(home, "config.json"))).toBe(false); + expect(readFileSync(backup, "utf8")).toBe("preserve backup on publication failure"); + } finally { await stop(proc); } + }, 30_000); + // Windows process.kill does not deliver a POSIX SIGINT to readline. test.skipIf(process.platform === "win32")("SIGINT settles a pending prompt without creating config", async () => { const home = makeHome(); diff --git a/tests/service/stop-deferred-teardown.test.ts b/tests/service/stop-deferred-teardown.test.ts index 61eadbdc937..e9d116cfcbf 100644 --- a/tests/service/stop-deferred-teardown.test.ts +++ b/tests/service/stop-deferred-teardown.test.ts @@ -1,11 +1,14 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test"; -import { existsSync, mkdirSync, mkdtempSync, readdirSync, rmSync, writeFileSync } from "node:fs"; +import { spawnSync } from "node:child_process"; +import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { stopProxyGracefully } from "../../src/lib/process-control"; import { performStopTeardown } from "../../src/server/stop-teardown"; import type { CodexNativeRestoreResult } from "../../src/codex/inject"; +import { STOP_HISTORY_INCOMPLETE_EXIT_CODE } from "../../src/update/stop-contract.mjs"; import { removeTreeWithRetry } from "../helpers/remove-tree"; +import { fixturePath, repoPath } from "../helpers/repo-root"; /** * Behavioural cover for the deferred shared teardown (#3008). @@ -46,6 +49,82 @@ function restoreResult(success: boolean): CodexNativeRestoreResult { } as unknown as CodexNativeRestoreResult; } +async function runParentStop(options: { receipt: boolean; response: unknown; restore: CodexNativeRestoreResult; status?: number }) { + const child = spawnSync(process.execPath, [fixturePath("parent-stop-runner.ts")], { + cwd: repoPath(), + env: { ...process.env, OPENCODEX_HOME: home }, + input: JSON.stringify(options), + encoding: "utf8", + timeout: 20_000, + windowsHide: true, + }); + expect(child.error, child.stderr).toBeUndefined(); + expect(child.signal, child.stderr).toBeNull(); + const reportPath = join(home, "parent-stop-result.json"); + expect(existsSync(reportPath), child.stderr).toBe(true); + const report = JSON.parse(readFileSync(reportPath, "utf8")) as { + calls: { killed: number; native: number; grok: number; cleared: number; exited: number }; + urls: string[]; nonce?: string; receiptExists: boolean; unexpectedIo: string[]; + }; + expect(report.unexpectedIo, child.stderr).toEqual([]); + expect(report.urls, child.stderr).toHaveLength(1); + return { ...report, exitCode: child.status, stderr: child.stderr }; +} + +describe("parent CLI shared teardown completion", () => { + test("receipt failure and unconfirmed child teardown cause real parent restoration without a kill", async () => { + const outcome = await runParentStop({ receipt: false, + response: { success: false, sharedTeardown: "performed" }, restore: restoreResult(true) }); + expect(outcome.urls).toEqual(["http://127.0.0.1:10100/api/stop"]); + expect(outcome.calls).toMatchObject({ killed: 0, exited: 1, native: 1, grok: 1, cleared: 0 }); + expect(outcome.exitCode).toBe(0); + }); + + test("a confirmed performed teardown prevents duplicate parent restoration", async () => { + const outcome = await runParentStop({ receipt: false, + response: { success: true, sharedTeardown: "performed" }, restore: restoreResult(true) }); + expect(outcome.calls).toMatchObject({ killed: 0, native: 0, grok: 0 }); + expect(outcome.exitCode).toBe(0); + }); + + test("a failed parent restoration leaves its actual receipt outstanding", async () => { + const outcome = await runParentStop({ receipt: true, + response: { success: false, sharedTeardown: "performed" }, restore: restoreResult(false) }); + expect(outcome.urls[0]).toContain(`teardownNonce=${outcome.nonce}`); + expect(outcome.calls).toMatchObject({ killed: 0, native: 1, grok: 1, cleared: 0 }); + expect(outcome.exitCode).toBe(1); + expect(outcome.receiptExists).toBe(true); + }); + + test("confirmed deferral leaves restoration and receipt discharge to the parent", async () => { + const outcome = await runParentStop({ receipt: true, + response: { success: true, sharedTeardown: "deferred" }, restore: restoreResult(true) }); + expect(outcome.calls).toMatchObject({ killed: 0, native: 1, grok: 1, cleared: 1 }); + expect(outcome.exitCode).toBe(0); + expect(outcome.receiptExists).toBe(false); + }); + + test("history-only parent failure preserves its distinct exit and discharges restored client state", async () => { + const restore = { ...restoreResult(false), artifacts: { + config: { state: "restored" }, catalog: { state: "restored" }, history: { state: "failed" }, + } } as unknown as CodexNativeRestoreResult; + const outcome = await runParentStop({ receipt: true, + response: { success: false, sharedTeardown: "performed" }, restore }); + expect(outcome.calls).toMatchObject({ killed: 0, native: 1, grok: 1, cleared: 1 }); + expect(outcome.exitCode).toBe(STOP_HISTORY_INCOMPLETE_EXIT_CODE); + expect(outcome.receiptExists).toBe(false); + }); + + test("a refused stop keeps the parent from restoring or discharging its receipt", async () => { + const outcome = await runParentStop({ receipt: true, status: 409, + response: { success: false, message: "Run the stop outside the installed service." }, restore: restoreResult(true) }); + expect(outcome.calls).toMatchObject({ killed: 0, exited: 0, native: 0, grok: 0, cleared: 0 }); + expect(outcome.exitCode).toBe(1); + expect(outcome.receiptExists).toBe(true); + expect(outcome.stderr).toContain("Run the stop outside the installed service."); + }); +}); + describe("stopProxyGracefully deferral flag", () => { test("the default stop asks for no deferral", async () => { const urls: string[] = []; @@ -53,7 +132,7 @@ describe("stopProxyGracefully deferral flag", () => { readRuntime: () => ({ port: 10100 }), fetchFn: (async (url: string | URL | Request) => { urls.push(String(url)); - return new Response(JSON.stringify({ success: true }), { status: 200 }); + return new Response(JSON.stringify({ success: true, sharedTeardown: "performed" }), { status: 200 }); }) as typeof fetch, waitExit: () => true, env: {}, @@ -67,7 +146,7 @@ describe("stopProxyGracefully deferral flag", () => { readRuntime: () => ({ port: 10100 }), fetchFn: (async (url: string | URL | Request) => { urls.push(String(url)); - return new Response(JSON.stringify({ success: true }), { status: 200 }); + return new Response(JSON.stringify({ success: true, sharedTeardown: "deferred" }), { status: 200 }); }) as typeof fetch, waitExit: () => true, env: {}, @@ -86,7 +165,7 @@ describe("stopProxyGracefully deferral flag", () => { runtimeEndpoint: { hostname: "127.0.0.1", port: 10100 }, fetchFn: (async (url: string | URL | Request) => { urls.push(String(url)); - return new Response(JSON.stringify({ success: true }), { status: 200 }); + return new Response(JSON.stringify({ success: true, sharedTeardown: "performed" }), { status: 200 }); }) as typeof fetch, waitExit: () => true, env: {}, @@ -456,3 +535,91 @@ describe("pending teardown receipts", () => { expect(mod.deferralMatchesReceipt("")).toBe(false); }); }); + +describe("self-unloading manager refusal (#4023)", () => { + test("a darwin proxy running AS the launchd job reports a self-unload risk", async () => { + // `stopServiceIfInstalledDetailed()` calls `launchctl unload` on the plist that owns + // THIS process, so the manager stop can terminate the request handler before the + // shared teardown two statements later restores native Codex. The Windows guard that + // prevents exactly this returned early for every non-Windows platform. + const { installedServiceRespawnRisk } = await import("../../src/service"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "darwin", { + env: { OCX_SERVICE: "1", OCX_SERVICE_MANAGED: "1" }, + exists: () => true, + })).toBe("self-unload"); + }); + + test("linux systemd is exempted identically and gets the same answer", async () => { + const { installedServiceRespawnRisk } = await import("../../src/service"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "linux", { + env: { OCX_SERVICE: "1", OCX_SERVICE_MANAGED: "1" }, + exists: () => true, + })).toBe("self-unload"); + }); + + test("a manually started proxy is unaffected, even with a service installed", async () => { + // Only the plist and unit write OCX_SERVICE_MANAGED. Without it this process is not + // the managed job, so no unload can reach it and the inline stop stays available. + const { installedServiceRespawnRisk } = await import("../../src/service"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "darwin", { + env: {}, + exists: () => true, + })).toBe("none"); + }); + + test("the managed job with no service definition on disk is not at risk", async () => { + const { installedServiceRespawnRisk } = await import("../../src/service"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "darwin", { + env: { OCX_SERVICE: "1", OCX_SERVICE_MANAGED: "1" }, + exists: () => false, + })).toBe("none"); + }); + + test("Windows classification is untouched by the new branch", async () => { + const { installedServiceRespawnRisk } = await import("../../src/service"); + expect(installedServiceRespawnRisk(() => ({ status: "present" }) as never, "win32", { + env: { OCX_SERVICE: "1" }, + exists: () => true, + })).toBe("respawnable"); + expect(installedServiceRespawnRisk(() => ({ status: "unknown" }) as never, "win32")).toBe("unknown"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "win32")).toBe("none"); + }); + + + test("a proxy spawned by an ensure path is not the managed job", async () => { + // Both `ocx claude` and `ocx opencode` set OCX_SERVICE=1 on their detached child to + // borrow its routing-preservation meaning (src/cli/claude.ts, src/cli/opencode.ts), + // so that variable cannot identify the managed job. A user with the service installed + // but stopped, running one of those commands, must keep a working dashboard Stop. + const { installedServiceRespawnRisk } = await import("../../src/service"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "darwin", { + env: { OCX_SERVICE: "1" }, + exists: () => true, + })).toBe("none"); + expect(installedServiceRespawnRisk(() => ({ status: "absent" }) as never, "linux", { + env: { OCX_SERVICE: "1" }, + exists: () => true, + })).toBe("none"); + }); + + +test("the route refuses a self-unload before the manager is touched", () => { + const source = readFileSync(repoPath("src", "server", "management-api.ts"), "utf8"); + const from = source.indexOf('"/api/stop"'); + const handler = source.slice(from, source.indexOf("/api/codex-auth/", from)); + expect(handler).toContain('code: "self_unload_service"'); + // Same invariant the Windows guard carries: refuse BEFORE acting, and say so. + expect(handler.indexOf('code: "self_unload_service"')) + .toBeLessThan(handler.indexOf("stopServiceIfInstalledDetailed()")); + const branch = handler.slice(handler.indexOf('code: "self_unload_service"'), handler.indexOf('code: "self_unload_service"') + 600); + expect(branch).toContain("Nothing was changed."); + expect(branch).toContain("ocx stop"); + }); + + test("a receipt-backed ocx stop keeps its deferral path", () => { + // `ocx stop` claims a receipt, defers the teardown, and performs it itself once the + // proxy is proven down — so it must not be refused by the new branch. + const source = readFileSync(repoPath("src", "server", "management-api.ts"), "utf8"); + expect(source).toContain('const respawnRisk = holdsReceipt ? "none" : installedServiceRespawnRisk();'); + }); +}); diff --git a/tests/storage/storage-cleanup.test.ts b/tests/storage/storage-cleanup.test.ts index 31cbcd6d215..8e4564e0efa 100644 --- a/tests/storage/storage-cleanup.test.ts +++ b/tests/storage/storage-cleanup.test.ts @@ -586,23 +586,60 @@ describe("executeArchivedCleanup", () => { db.close(); }, { timeout: STORE_BUDGET_MS }); - test("rejects candidates still referenced by a live spawn edge", () => { + test("skips candidates still referenced by a live spawn edge", () => { home = buildHome({ withSpawnEdges: true }); // Edge told→tmid; deleting only oldest (told) leaves tmid outside the set. const result = runWithDigest(34, "quarantine", home); - expect(result.ok).toBe(false); - expect(result.error).toBe("referenced_history"); + expect(result.ok).toBe(true); + expect(result.count).toBe(0); + expect(result.skippedReferencedPaths).toEqual(["archived_sessions/rollout-old.jsonl"]); expect(existsSync(join(home, "archived_sessions", "rollout-old.jsonl"))).toBe(true); + // Stage dir should not remain when no candidates are selected. + expect(existsSync(join(home, ".trash"))).toBe(false); }); - test("rejects paginated history_mode threads", () => { + test("skips paginated history_mode threads", () => { home = buildHome(); const db = new Database(join(home, "state_5.sqlite")); db.exec(`UPDATE threads SET history_mode='paginated' WHERE id='told'`); db.close(); const result = runWithDigest(50, "quarantine", home); - expect(result.ok).toBe(false); - expect(result.error).toBe("referenced_history"); + expect(result.ok).toBe(true); + expect(result.count).toBe(0); + expect(result.skippedReferencedPaths).toEqual(["archived_sessions/rollout-old.jsonl"]); + // Ensure the trash root has been removed when nothing was staged. + expect(existsSync(join(home, ".trash"))).toBe(false); + }); + + test("deletes safe candidates while skipping referenced history", () => { + home = buildHome({ withSpawnEdges: true }); + const exactPaths = [ + "archived_sessions/rollout-old.jsonl", + "archived_sessions/rollout-new.jsonl", + ]; + const preview = previewExactArchivedCleanup( + listArchivedCandidates(home).filter(candidate => exactPaths.includes(candidate.relPath)), + home, + ); + const result = executeArchivedCleanup({ + percent: 0, + mode: "quarantine", + digest: preview.digest, + candidateRelPaths: [ + "archived_sessions/rollout-old.jsonl", + "archived_sessions/rollout-new.jsonl", + ], + codexHome: home, + }); + expect(result.ok).toBe(true); + expect(result.removedPaths).toEqual(["archived_sessions/rollout-new.jsonl"]); + expect(result.skippedReferencedPaths).toEqual(["archived_sessions/rollout-old.jsonl"]); + expect(existsSync(join(home, "archived_sessions", "rollout-old.jsonl"))).toBe(true); + expect(existsSync(join(home, "archived_sessions", "rollout-new.jsonl"))).toBe(false); + const db = new Database(join(home, "state_5.sqlite"), { readonly: true }); + expect(db.query("SELECT id FROM threads WHERE id='told'").get()).toBeTruthy(); + expect(db.query("SELECT id FROM threads WHERE id='tnew'").get()).toBeNull(); + db.close(); }); test("quarantine removes both plain and compressed physical files", () => { diff --git a/tests/storage/storage-mutation-race.test.ts b/tests/storage/storage-mutation-race.test.ts index fb89dd92155..24a410e86f9 100644 --- a/tests/storage/storage-mutation-race.test.ts +++ b/tests/storage/storage-mutation-race.test.ts @@ -265,27 +265,40 @@ describe("storage mutation coordinator", () => { test("policy run is rejected while manual cleanup holds the shared mutation slot", async () => { const home = isolatedCodexHome!.path; - setArchivedCleanupJobTestHooks({ blockMs: 1200 }); + const cleanupReadyPath = join(testDir, "policy-cleanup-slot.ready"); + const releaseCleanupPath = join(testDir, "policy-cleanup-release"); + setArchivedCleanupJobTestHooks({ + pauseAfterAcquire: { + kind: "cleanup", + readyPath: cleanupReadyPath, + releasePath: releaseCleanupPath, + }, + }); seedArchivedPair(home); const server = startServer(0); + let cleanupPromise: Promise<Response> | null = null; try { const preview = await previewDigest(server.url, 50); - const cleanupPromise = fetch(new URL("/api/storage/cleanup", server.url), { + cleanupPromise = fetch(new URL("/api/storage/cleanup", server.url), { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ percent: 50, mode: "quarantine", digest: preview.digest }), }); - await Bun.sleep(80); + await waitForCondition("cleanup slot before policy admission", () => existsSync(cleanupReadyPath)); + expect(getActiveStorageMutation(home)?.kind).toBe("cleanup"); const { startedAt } = await enablePolicyAndRun(server.url); const done = await waitForPolicyJob(server.url, startedAt); expect(done.job.lastOutcome?.ok).toBe(false); expect(done.job.lastOutcome?.error).toBe("storage_mutation_busy"); + writeFileSync(releaseCleanupPath, "release\n"); const cleanupRes = await cleanupPromise; expect(cleanupRes.status).toBe(200); } finally { + writeFileSync(releaseCleanupPath, "release\n"); + if (cleanupPromise) await cleanupPromise.catch(() => undefined); await stopRaceServer(server); } }, { timeout: 30_000 }); diff --git a/tests/usage/request-log.test.ts b/tests/usage/request-log.test.ts index 33fbd13b1f7..6080e52ceb3 100644 --- a/tests/usage/request-log.test.ts +++ b/tests/usage/request-log.test.ts @@ -32,6 +32,7 @@ import { bridgeToResponsesSSE } from "../../src/bridge"; import type { AdapterEvent, OcxConfig, OcxUsage } from "../../src/types"; import { appendUsageEntry, + normalizeUsageEntryForTest, readUsageEntries, resetUsageReadCacheForTests, type PersistedUsageEntry, @@ -447,6 +448,31 @@ describe("request log metadata", () => { } }); + test("persists transport finality evidence from the final request log", () => { + const home = mkdtempSync(join(tmpdir(), "ocx-finality-usage-")); + const previousHome = process.env.OPENCODEX_HOME; + process.env.OPENCODEX_HOME = home; + try { + clearRequestLogsForTests(); + resetUsageReadCacheForTests(); + addFinalRequestLog("ocx-finality-persist", 1, { + model: "gpt-6-astra", + provider: "openai", + transportPhase: "mid_stream", + terminalSource: "synthetic", + upstreamError: "synthetic terminal", + }, 502, { terminalStatus: "failed", closeReason: "terminal" }); + expect(getRequestLogEntries()[0]).toMatchObject({ transportPhase: "mid_stream", terminalSource: "synthetic" }); + expect(readUsageEntries()[0]).toMatchObject({ transportPhase: "mid_stream", terminalSource: "synthetic" }); + } finally { + clearRequestLogsForTests(); + resetUsageReadCacheForTests(); + if (previousHome === undefined) delete process.env.OPENCODEX_HOME; + else process.env.OPENCODEX_HOME = previousHome; + removeTreeWithRetry(home); + } + }); + // The value is caller-controlled, so proving it lands is only half the contract: the // persistence path must also be the SANITIZED one. A test that only ever writes a safe // short slug passes identically whether `sanitizeLogMetadataString` is applied or not. @@ -1760,6 +1786,33 @@ describe("request log metadata", () => { }); describe("request log restart hydrate", () => { + test("persists and rehydrates transport finality evidence", () => { + const persisted = { + requestId: "ocx-finality-evidence", + timestamp: 1_800_000_000_000, + provider: "openai", + model: "gpt-6-astra", + status: 502, + durationMs: 42, + usageStatus: "unreported", + errorCode: "upstream_server_error", + terminalStatus: "failed", + closeReason: "terminal", + upstreamError: "upstream failed", + transportPhase: "mid_stream", + terminalSource: "synthetic", + } as PersistedUsageEntry; + + expect(normalizeUsageEntryForTest(persisted)).toMatchObject({ + transportPhase: "mid_stream", + terminalSource: "synthetic", + }); + expect(requestLogEntryFromPersistedUsage(persisted)).toMatchObject({ + transportPhase: "mid_stream", + terminalSource: "synthetic", + }); + }); + test("projects persisted usage rows into /api/logs entries", () => { const persisted: PersistedUsageEntry = { requestId: "ocx-revive", diff --git a/tests/usage/usage-aggregate-cache.test.ts b/tests/usage/usage-aggregate-cache.test.ts index 3efb5615e4d..cdaea2c23b9 100644 --- a/tests/usage/usage-aggregate-cache.test.ts +++ b/tests/usage/usage-aggregate-cache.test.ts @@ -23,6 +23,12 @@ import { resetUsageReadCacheForTests, type PersistedUsageEntry } from "../../src import * as usageLedgerScannerModule from "../../src/usage/ledger-scanner"; import { refreshUserCostOverlays } from "../../src/usage/user-cost-overlays"; import { buildRouteDecisionTrace } from "../../src/routing/trace"; +import { createAnthropicAdapter } from "../../src/adapters/anthropic"; +import { buildResponseJSON } from "../../src/bridge"; +import { formatUsageReport } from "../../src/cli/usage-report"; +import { addFinalRequestLog, clearRequestLogsForTests, type RequestLogContext } from "../../src/server/request-log"; +import type { AdapterEvent } from "../../src/types"; +import { withTestTranslatorBudget } from "../helpers/translator-budget"; const NOW = Date.parse("2026-09-01T10:00:00.000Z"); @@ -62,6 +68,7 @@ beforeEach(() => { }); afterEach(() => { + clearRequestLogsForTests(); resetUsageAggregateCacheForTests(); resetUsageReadCacheForTests(); resetAppOwnedMemoryForTests(); @@ -72,6 +79,56 @@ afterEach(() => { }); describe("retained usage aggregate cache", () => { + test.each(["message_start", "message_delta"].flatMap(phase => + ["bad", [], null, false, 7, { output_tokens: "bad" }].map(usage => ({ phase, usage })), + ))("malformed streamed usage at $phase stays unreported after a valid update: $usage", async ({ phase, usage }) => { + const adapter = withTestTranslatorBudget(createAnthropicAdapter({ + adapter: "anthropic", baseUrl: "https://api.anthropic.com", apiKey: "test-key", + })); + const frames = [ + { type: "message_start", message: { usage: phase === "message_start" ? usage : { input_tokens: 10 } } }, + { type: "content_block_start", index: 0, content_block: { type: "text", text: "" } }, + { type: "content_block_delta", index: 0, delta: { type: "text_delta", text: "ok" } }, + ...(phase === "message_delta" ? [{ type: "message_delta", delta: {}, usage }] : []), + { type: "message_delta", delta: { stop_reason: "end_turn" }, usage: { output_tokens: 4 } }, + { type: "message_stop" }, + ].map(frame => `event: ${frame.type}\ndata: ${JSON.stringify(frame)}\n\n`).join(""); + const events: AdapterEvent[] = []; + for await (const event of adapter.parseStream(new Response(frames))) events.push(event); + const logCtx: RequestLogContext = { provider: "anthropic", model: "claude-test" }; + const result = buildResponseJSON(events, "anthropic/claude-test", { onUsage: observed => { logCtx.usage = observed; } }); + expect(result.status).toBe("completed"); + expect(JSON.stringify(result.output)).toContain("ok"); + addFinalRequestLog("malformed-stream-usage", Date.now(), logCtx, 200, { closeReason: "non_stream" }); + const persisted = JSON.parse(readFileSync(join(testDir, "usage.jsonl"), "utf8").trim()); + expect(persisted.usageStatus).toBe("unreported"); + expect(persisted.usage).toBeUndefined(); + const report = (await getUsageAggregate()).accumulator.summarize("all", Date.now()); + expect(report.summary.requests).toBe(1); + expect(report.summary.unmeteredRequests).toBe(1); + }); + + test("malformed Anthropic usage stays unmetered through the real ledger and human report", async () => { + const adapter = withTestTranslatorBudget(createAnthropicAdapter({ + adapter: "anthropic", baseUrl: "https://api.anthropic.com", apiKey: "test-key", + })); + const response = Response.json({ + content: [{ type: "text", text: "ok" }], stop_reason: "end_turn", + usage: { input_tokens: 10, output_tokens: "\x1b[2J" }, + }); + const events = await adapter.parseResponse!(response) as AdapterEvent[]; + const logCtx: RequestLogContext = { provider: "anthropic", model: "claude-test" }; + buildResponseJSON(events, "anthropic/claude-test", { onUsage: usage => { logCtx.usage = usage; } }); + addFinalRequestLog("malformed-usage", Date.now(), logCtx, 200, { closeReason: "non_stream" }); + const persisted = JSON.parse(readFileSync(join(testDir, "usage.jsonl"), "utf8").trim()); + const report = (await getUsageAggregate()).accumulator.summarize("all", Date.now()); + expect(report.summary.requests).toBe(1); + expect(formatUsageReport(report).every(line => !/[\x00-\x1f\x7f-\x9f]/.test(line))).toBe(true); + expect(persisted.usageStatus).toBe("unreported"); + expect(persisted.usage).toBeUndefined(); + expect(report.summary.unmeteredRequests).toBe(1); + }); + test("custom cache keys isolate both endpoints and never poison preset aggregates", async () => { const path = join(testDir, "usage.jsonl"); const rows = [NOW - 2_000, NOW - 1_000, NOW].map((timestamp, index) => ({ ...entry(String(index)), timestamp })); diff --git a/tests/videos/xai-video-client.test.ts b/tests/videos/xai-video-client.test.ts index fd8d773484d..2b56ab3e4a0 100644 --- a/tests/videos/xai-video-client.test.ts +++ b/tests/videos/xai-video-client.test.ts @@ -16,6 +16,31 @@ function mockFetchResponse(body: unknown, status = 200): Response { }); } +for (const phase of ["submit", "poll"] as const) test.each([307, 308])(`video ${phase} never follows %i`, async status => { + let targetHits = 0; + let originHits = 0; + const target = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + targetHits++; + return Response.json({ request_id: "redirected", status: "done" }); + } }); + const origin = Bun.serve({ hostname: "127.0.0.1", port: 0, fetch: () => { + originHits++; + return new Response("redirect", { status, headers: { location: `http://127.0.0.1:${target.port}/target` } }); + } }); + try { + const scopedAuth = { baseUrl: `http://127.0.0.1:${origin.port}`, token: "synthetic-video-token" }; + const result = phase === "submit" ? submitVideoJob({ prompt: "synthetic prompt" }, scopedAuth) : pollVideoJob("job", scopedAuth); + const error = await result.catch(error => error as Error & { status: number }); + expect(targetHits).toBe(0); + expect(originHits).toBe(1); + expect(error).toBeInstanceOf(Error); + expect(error).toMatchObject({ status }); + } finally { + await origin.stop(true); + await target.stop(true); + } +}); + describe("submitVideoJob", () => { test("returns request_id from response", async () => { const fetchMock = mock(() => Promise.resolve(mockFetchResponse({ request_id: "vid-123" }))); diff --git a/tests/vision/vision-anthropic.test.ts b/tests/vision/vision-anthropic.test.ts index fe3ad8adfe6..86b08f2289c 100644 --- a/tests/vision/vision-anthropic.test.ts +++ b/tests/vision/vision-anthropic.test.ts @@ -182,6 +182,7 @@ describe("Anthropic vision executor", () => { test("POSTs /v1/messages with the Claude Code OAuth fingerprint and a base64 image block", async () => { let captured: { url: string; headers: Headers; body: Record<string, unknown> } | undefined; globalThis.fetch = (async (url, init) => { + expect(init?.redirect).toBe("manual"); captured = { url: String(url), headers: new Headers(init?.headers), diff --git a/tests/web-search/web-search-anthropic.test.ts b/tests/web-search/web-search-anthropic.test.ts index 980eacddaa0..bba64616bed 100644 --- a/tests/web-search/web-search-anthropic.test.ts +++ b/tests/web-search/web-search-anthropic.test.ts @@ -291,6 +291,7 @@ describe("runAnthropicWebSearch request shape", () => { test("POSTs /v1/messages with the OAuth fingerprint, disabled thinking, and the web_search tool", async () => { let captured: { url: string; headers: Record<string, string>; body: Record<string, unknown> } | null = null; globalThis.fetch = (async (url: string | URL | Request, init?: RequestInit) => { + expect(init?.redirect).toBe("manual"); const headers: Record<string, string> = {}; new Headers(init?.headers).forEach((v, k) => { headers[k] = v; }); captured = { url: String(url), headers, body: JSON.parse(String(init?.body)) }; diff --git a/tests/web-search/web-search.test.ts b/tests/web-search/web-search.test.ts index a5e9ccc7802..315ee73a5e1 100644 --- a/tests/web-search/web-search.test.ts +++ b/tests/web-search/web-search.test.ts @@ -2691,5 +2691,6 @@ describe("connection-reset recovery parity on the web-search legs", () => { // The loop sets accept-encoding: identity so raw byte progress stays observable; the recovery // helper clones headers into a Headers instance and must not drop it. expect(typeof attempts[1]!.body).toBe("string"); + expect(attempts.every(attempt => attempt.redirect === "manual")).toBe(true); }); }); diff --git a/tests/windows/windows-secret-acl.test.ts b/tests/windows/windows-secret-acl.test.ts index aa011bb5169..29d1b7bc3f9 100644 --- a/tests/windows/windows-secret-acl.test.ts +++ b/tests/windows/windows-secret-acl.test.ts @@ -632,6 +632,30 @@ describe("icacls executable authority", () => { }); }); +describe("atomic secret temp writer portability", () => { + test("sync and async secret temp writers use Bun-portable exclusive creation", async () => { + // Bun on Windows misinterpreted the equivalent numeric O_* combination as + // ENOENT, so every pid/config/oauth temp write failed during ocx start + // and on management-API config saves. Keep both writers on the portable + // exclusive-write spelling ("wx" keeps O_EXCL; 0o600 keeps the private + // mode) so the O_CREAT bit can never be dropped again. + const src = readFileSync(repoPath("src", "config", "atomic-write.ts"), "utf8"); + expect(src.match(/openSync\(path, "wx", 0o600\)/g)).toHaveLength(2); + }); +}); + +describe("initial config temp writer portability", () => { + test("initial config publication uses Bun-portable exclusive creation", () => { + // publishInitialConfigNoReplace carries the same Bun/Windows exposure as the + // atomic writers above: the numeric O_* combination lost its creation bit, so + // first-run `ocx init` failed before it could publish config.json. Exclusive + // creation is what makes the added O_TRUNC harmless — an existing temp name + // (or a symlink planted at one) fails the open instead of being truncated. + const src = readFileSync(repoPath("src", "config", "initialize.ts"), "utf8"); + expect(src.match(/openSync\(temp, "wx", 0o600\)/g)).toHaveLength(1); + }); +}); + describe("diagnostics sanitization contract", () => { test("HardenResult diagnostics field is a plain string when present", () => { const filePath = join(testDir, "diag-test.json");

    k>66WiJwT=fcR1( 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%0A_@jga?9qT&bt2SPSI+cp@d@HT0#K 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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/codex-set_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/codex-set_1440.png deleted file mode 100644 index ebdd52d21e1f2a438c7cce550d1193d66abffea4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217210 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%0D6YOW(^TVB3SC`$FZ{iAVU~ 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 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/codex-set_interactive.txt b/devlog/_plan/260904_dashboard_minimal/assets/codex-set_interactive.txt deleted file mode 100644 index 23e978afef6..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/codex-set_interactive.txt +++ /dev/null @@ -1,51 +0,0 @@ -e5 button "대시보드" -e8 button "Codex 설정" -e11 button "프로바이더" -e14 button "모델" -e17 button "서브에이전트" -e20 button "로그&디버그" -e23 button "사용량" -e26 button "저장소" -e29 button "연동" -e32 combobox "언어" -e38 button "프록시 중지" -e40 button "Codex 모델 목록 새로고침" -e42 link "GitHub" -e45 button "GitHub 스타 완료" -e46 button "업데이트 확인" -e49 tab "다중 인증" -e50 tab "프롬프트" -e55 button "Codex Spark 할당량" -e56 button "한도 도달 계정 일시 중지" -e59 button "할당량 새로고침" -e66 button "리셋 크레딧 1개" -e70 button "이 계정을 다음에 사용" -e71 button "일시 중지" -e76 combobox "이 계정의 선택 순서" -e80 button "추가" -e85 button "리셋 크레딧 1개" -e88 button "이 계정을 다음에 사용" -e89 button "일시 중지" -e92 button "별칭 편집" -e93 button "삭제 — " -e96 combobox "이 계정의 선택 순서" -e102 button "리셋 크레딧 1개" -e105 button "이 계정을 다음에 사용" -e106 button "일시 중지" -e109 button "별칭 편집" -e110 button "삭제 — " -e113 combobox "이 계정의 선택 순서" -e119 button "리셋 크레딧 0개" -e123 button "이 계정을 다음에 사용" -e124 button "일시 중지" -e127 button "별칭 편집" -e128 button "삭제 — " -e131 combobox "이 계정의 선택 순서" -e137 button "리셋 크레딧 1개" -e140 button "이 계정을 다음에 사용" -e141 button "일시 중지" -e144 button "별칭 편집" -e145 button "삭제 — " -e148 combobox "이 계정의 선택 순서" -e152 combobox "로테이션 전략" -e155 button "고급 설정" diff --git a/devlog/_plan/260904_dashboard_minimal/assets/codex-set_text.txt b/devlog/_plan/260904_dashboard_minimal/assets/codex-set_text.txt deleted file mode 100644 index 92e164e55c9..00000000000 --- a/devlog/_plan/260904_dashboard_minimal/assets/codex-set_text.txt +++ /dev/null @@ -1,115 +0,0 @@ -opencodex -v2.42.0 -대시보드 -Codex 설정 -프로바이더 -모델 -서브에이전트 -로그&디버그 -사용량 -저장소 -연동 -한국어 -시스템 -프록시 -GitHub -다중 인증 -프롬프트 -Codex 인증 -Codex Spark 할당량 -한도 도달 계정 일시 중지 -할당량 새로고침 -OpenAI 계정 모드 -풀 모드 - -메인 로그인과 사용 가능한 추가 계정이 여기에서 순환됩니다. - -메인 계정 -1 -현재 -이 계정을 다음에 사용 -일시 중지 -앱 로그인 - · pro -선택 순서 -기본 (0) -숫자가 클수록 먼저 사용됩니다. 위에 있는 계정이 모두 소진되거나 사용할 수 없을 때에만 더 낮은 숫자로 넘어갑니다. -주간 -리셋 -9월 7일 -11:46 -26% -계정 풀 -추가 - -pro -1 -이 계정을 다음에 사용 -일시 중지 -별칭 편집 - · pro · ID: account- -선택 순서 -기본 (0) -숫자가 클수록 먼저 사용됩니다. 위에 있는 계정이 모두 소진되거나 사용할 수 없을 때에만 더 낮은 숫자로 넘어갑니다. -주간 -리셋 -9월 7일 -11:28 -26% - -team -1 -이 계정을 다음에 사용 -일시 중지 -별칭 편집 - · team · ID: account- -선택 순서 -기본 (0) -숫자가 클수록 먼저 사용됩니다. 위에 있는 계정이 모두 소진되거나 사용할 수 없을 때에만 더 낮은 숫자로 넘어갑니다. -5시간 -리셋 -오늘 -06:37 -0% -주간 -리셋 -9월 8일 -01:13 -6% - -go -0 -선택됨 -이 계정을 다음에 사용 -일시 중지 -별칭 편집 - · go · ID: account- -선택 순서 -기본 (0) -숫자가 클수록 먼저 사용됩니다. 위에 있는 계정이 모두 소진되거나 사용할 수 없을 때에만 더 낮은 숫자로 넘어갑니다. -30일 -리셋 -10월 1일 -08:49 -0% - -pro -1 -이 계정을 다음에 사용 -일시 중지 -별칭 편집 - · pro · ID: account- -선택 순서 -기본 (0) -숫자가 클수록 먼저 사용됩니다. 위에 있는 계정이 모두 소진되거나 사용할 수 없을 때에만 더 낮은 숫자로 넘어갑니다. -주간 -리셋 -9월 7일 -11:37 -77% -로테이션 전략 -OpenCodex가 새 작업/바인딩 없는 작업에 계정을 배정하는 방식입니다. -할당량 전략은 사용량 임계값을 넘으면 기존 작업의 다음 요청도 다른 계정에 다시 바인딩할 수 있습니다. -새 작업/바인딩 없는 작업은 현재 계정 바인딩이 없는 요청입니다. 기존에 보이던 작업도 프록시나 어피니티 상태가 초기화되면 바인딩이 없어질 수 있습니다. -할당량 -고급 설정 diff --git a/devlog/_plan/260904_dashboard_minimal/assets/dashboard_1440.png b/devlog/_plan/260904_dashboard_minimal/assets/dashboard_1440.png deleted file mode 100644 index 8810d82d439a7f83c71f7edea9fe13fa1b2da266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205723 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