@mycadet/assistant 0.12.7 → 0.12.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/activation-funnel-telemetry.md +6 -6
- package/docs/cadet-doctor.md +7 -7
- package/docs/desktop-browser-cli.md +7 -7
- package/docs/skills.md +2 -2
- package/docs/voice-input-diagnostics.md +1 -1
- package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +2 -2
- package/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
- package/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/package.json +1 -1
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
- package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
- package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
- package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
- package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
- package/node_modules/@mycadet/environments/src/types.ts +6 -6
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +1 -1
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
- package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
- package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
- package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
- package/node_modules/@mycadet/service-contracts/package.json +1 -1
- package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/openapi.yaml +6815 -794
- package/package.json +2 -2
- package/scripts/build-test-fixtures.ts +1 -1
- package/scripts/probe-skill-retrieval.ts +1 -1
- package/scripts/sync-llm-catalog.ts +2 -2
- package/scripts/voice-ttft-spike.ts +2 -2
- package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
- package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
- package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
- package/src/__tests__/anthropic-provider.test.ts +2 -2
- package/src/__tests__/available-skills.test.ts +11 -12
- package/src/__tests__/avatar-identity-sync.test.ts +1 -1
- package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
- package/src/__tests__/call-domain.test.ts +1 -1
- package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
- package/src/__tests__/catalog-files.test.ts +10 -10
- package/src/__tests__/catalog-install-normalize.test.ts +3 -3
- package/src/__tests__/channel-availability-routes.test.ts +8 -8
- package/src/__tests__/channel-readiness-routes.test.ts +4 -4
- package/src/__tests__/channel-readiness-service.test.ts +14 -14
- package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
- package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
- package/src/__tests__/checker.test.ts +6 -6
- package/src/__tests__/clawhub.test.ts +1 -1
- package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
- package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
- package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
- package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
- package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +60 -60
- package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
- package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
- package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
- package/src/__tests__/compaction-events.test.ts +7 -5
- package/src/__tests__/config-loader-backfill.test.ts +65 -65
- package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
- package/src/__tests__/config-loader-corrupt.test.ts +1 -1
- package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
- package/src/__tests__/config-schema.test.ts +3 -3
- package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
- package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
- package/src/__tests__/config-watcher.test.ts +1 -1
- package/src/__tests__/contacts-write.test.ts +1 -1
- package/src/__tests__/conversation-agent-loop.test.ts +2 -2
- package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
- package/src/__tests__/conversation-error.test.ts +45 -45
- package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
- package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
- package/src/__tests__/conversation-skill-tools.test.ts +7 -8
- package/src/__tests__/conversation-slash.test.ts +2 -2
- package/src/__tests__/conversation-speed-override.test.ts +8 -10
- package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
- package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
- package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
- package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
- package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
- package/src/__tests__/credential-health-service.test.ts +27 -41
- package/src/__tests__/credential-routes.test.ts +85 -165
- package/src/__tests__/credential-security-invariants.test.ts +6 -7
- package/src/__tests__/custom-profile-ensure.test.ts +1 -1
- package/src/__tests__/date-context.test.ts +1 -1
- package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
- package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
- package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
- package/src/__tests__/disk-usage.test.ts +3 -3
- package/src/__tests__/email-invite-adapter.test.ts +5 -5
- package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
- package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
- package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
- package/src/__tests__/fallback-breaker.test.ts +7 -7
- package/src/__tests__/feature-flag-test-helpers.ts +106 -0
- package/src/__tests__/gateway-flag-listener.test.ts +1 -1
- package/src/__tests__/gemini-image-service.test.ts +2 -2
- package/src/__tests__/gemini-provider.test.ts +5 -5
- package/src/__tests__/get-skill-detail-audit.test.ts +9 -8
- package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
- package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
- package/src/__tests__/image-credentials.test.ts +13 -13
- package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
- package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
- package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
- package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
- package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
- package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
- package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
- package/src/__tests__/input-repairs.test.ts +1 -1
- package/src/__tests__/install-skill-routing.test.ts +10 -8
- package/src/__tests__/integration-status.test.ts +5 -5
- package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
- package/src/__tests__/invite-routes-http.test.ts +1 -1
- package/src/__tests__/llm-catalog-parity.test.ts +5 -7
- package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
- package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
- package/src/__tests__/llm-resolver.test.ts +1 -1
- package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
- package/src/__tests__/llm-usage-store.test.ts +1 -1
- package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
- package/src/__tests__/mcp-abort-signal.test.ts +2 -2
- package/src/__tests__/mcp-client-auth.test.ts +2 -2
- package/src/__tests__/mcp-tool-annotations-risk.test.ts +2 -2
- package/src/__tests__/media-generate-image.test.ts +30 -30
- package/src/__tests__/memory-config-file-parity.test.ts +6 -6
- package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
- package/src/__tests__/migration-import-commit-http.test.ts +1 -1
- package/src/__tests__/mtime-cache.test.ts +2 -2
- package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
- package/src/__tests__/notification-deep-link.test.ts +40 -40
- package/src/__tests__/oauth-apps-routes.test.ts +3 -3
- package/src/__tests__/oauth-cli.test.ts +9 -9
- package/src/__tests__/oauth-commands-routes.test.ts +16 -16
- package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
- package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
- package/src/__tests__/oauth-providers-routes.test.ts +12 -12
- package/src/__tests__/oauth-store.test.ts +1 -1
- package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
- package/src/__tests__/onboarding-persona-write.test.ts +2 -2
- package/src/__tests__/openai-image-service.test.ts +2 -2
- package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
- package/src/__tests__/openai-responses-provider.test.ts +1 -1
- package/src/__tests__/path-policy.test.ts +4 -4
- package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
- package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
- package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
- package/src/__tests__/plugin-api-provider.test.ts +1 -1
- package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
- package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
- package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
- package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
- package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
- package/src/__tests__/provider-connections-backfill.test.ts +9 -9
- package/src/__tests__/provider-error-scenarios.test.ts +8 -8
- package/src/__tests__/provider-registry-ollama.test.ts +1 -1
- package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
- package/src/__tests__/registry.test.ts +3 -3
- package/src/__tests__/requests-mock.ts +972 -0
- package/src/__tests__/resolve-trust-class.test.ts +1 -1
- package/src/__tests__/resource-pressure-guard.test.ts +6 -6
- package/src/__tests__/resource-pressure-routes.test.ts +5 -5
- package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
- package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
- package/src/__tests__/schedule-store.test.ts +1 -1
- package/src/__tests__/search-skills-unified.test.ts +9 -7
- package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
- package/src/__tests__/secret-routes-scrub.test.ts +2 -59
- package/src/__tests__/secure-keys.test.ts +1 -1
- package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
- package/src/__tests__/skill-load-tool.test.ts +1 -1
- package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
- package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
- package/src/__tests__/skill-tool-factory.test.ts +1 -1
- package/src/__tests__/skills-file-content-endpoint.test.ts +12 -12
- package/src/__tests__/skills-files-catalog-fallback.test.ts +9 -9
- package/src/__tests__/skills.test.ts +1 -1
- package/src/__tests__/slim-skill-category.test.ts +11 -9
- package/src/__tests__/stt-stream-session.test.ts +3 -3
- package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
- package/src/__tests__/subagent-disposal.test.ts +5 -5
- package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
- package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
- package/src/__tests__/subagent-manager-notify.test.ts +5 -5
- package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
- package/src/__tests__/system-prompt.test.ts +1 -1
- package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
- package/src/__tests__/telegram-config.test.ts +16 -16
- package/src/__tests__/telephony-tts-guard.test.ts +13 -13
- package/src/__tests__/test-preload.ts +17 -7
- package/src/__tests__/tool-audit.test.ts +1 -1
- package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
- package/src/__tests__/turn-events-store.test.ts +1 -1
- package/src/__tests__/twilio-routes.test.ts +2 -1
- package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
- package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
- package/src/__tests__/validate-input.test.ts +5 -5
- package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
- package/src/__tests__/voice-config-update.test.ts +15 -15
- package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
- package/src/__tests__/web-search.test.ts +340 -859
- package/src/__tests__/workspace-git-service.test.ts +1 -1
- package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
- package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
- package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
- package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
- package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
- package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
- package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
- package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
- package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
- package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
- package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
- package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
- package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
- package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
- package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
- package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
- package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
- package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
- package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
- package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
- package/src/api/events/cloud-disconnected.ts +21 -0
- package/src/api/events/host-bash.ts +1 -1
- package/src/api/events/host-cu.ts +1 -1
- package/src/api/events/host-file.ts +1 -1
- package/src/api/events/notification-intent.ts +1 -1
- package/src/api/events/{show-platform-login.ts → show-cloud-login.ts} +3 -5
- package/src/api/index.ts +11 -11
- package/src/api/responses/home.ts +1 -1
- package/src/api/surfaces.ts +4 -4
- package/src/approvals/guardian-request-resolvers.ts +2 -2
- package/src/avatar/accent-backfill.ts +1 -1
- package/src/avatar/identity-avatar.ts +1 -1
- package/src/avatar/notification-avatar.test.ts +2 -2
- package/src/avatar/notification-avatar.ts +2 -2
- package/src/avatar/resvg-lazy.test.ts +1 -1
- package/src/avatar/resvg-lazy.ts +3 -3
- package/src/avatar/sync-avatar.test.ts +76 -76
- package/src/avatar/sync-avatar.ts +15 -15
- package/src/avatar/traits-png-sync.ts +1 -1
- package/src/background-wake/background-wake-routes.test.ts +39 -39
- package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
- package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
- package/src/background-wake/publisher.ts +4 -4
- package/src/background-wake/wake-intent-hooks.test.ts +3 -3
- package/src/calls/__tests__/call-controller.test.ts +2 -2
- package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
- package/src/calls/call-domain.ts +1 -1
- package/src/calls/resolve-call-tts-provider.ts +6 -6
- package/src/calls/telephony-credential-preflight.ts +3 -3
- package/src/calls/telephony-tts-capability.ts +5 -6
- package/src/calls/tts-call-strategy.ts +1 -1
- package/src/calls/voice-escalation-judge.ts +1 -1
- package/src/calls/voice-ingress-preflight.ts +4 -4
- package/src/cli/bundled-modules.ts +1 -1
- package/src/cli/commands/__tests__/apps.test.ts +18 -53
- package/src/cli/commands/__tests__/plugins.test.ts +13 -13
- package/src/cli/commands/__tests__/tts.test.ts +1 -1
- package/src/cli/commands/auth.help.ts +3 -3
- package/src/cli/commands/auth.ts +2 -4
- package/src/cli/commands/browser.help.ts +2 -2
- package/src/cli/commands/channels/index.help.ts +2 -2
- package/src/cli/commands/channels/index.ts +1 -1
- package/src/cli/commands/channels/send.ts +1 -1
- package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
- package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
- package/src/cli/commands/cloud/connect.ts +2 -2
- package/src/cli/commands/cloud/credits-format.ts +1 -1
- package/src/cli/commands/cloud/index.help.ts +35 -35
- package/src/cli/commands/config.ts +1 -1
- package/src/cli/commands/credentials.ts +10 -12
- package/src/cli/commands/domain.ts +1 -1
- package/src/cli/commands/email.help.ts +1 -1
- package/src/cli/commands/email.ts +2 -2
- package/src/cli/commands/gateway.help.ts +1 -1
- package/src/cli/commands/gateway.ts +1 -1
- package/src/cli/commands/image-generation.help.ts +1 -1
- package/src/cli/commands/inference-providers.ts +1 -1
- package/src/cli/commands/inference.help.ts +2 -2
- package/src/cli/commands/memory/index.help.ts +1 -1
- package/src/cli/commands/oauth/connect.test.ts +2 -2
- package/src/cli/commands/oauth/connect.ts +1 -1
- package/src/cli/commands/oauth/index.help.ts +5 -5
- package/src/cli/commands/oauth/providers.ts +2 -2
- package/src/cli/commands/oauth/shared.ts +3 -3
- package/src/cli/commands/plugins.help.ts +2 -3
- package/src/cli/commands/plugins.ts +5 -5
- package/src/cli/commands/roadmap.help.ts +1 -1
- package/src/cli/commands/telemetry.help.ts +2 -2
- package/src/cli/commands/telemetry.ts +2 -2
- package/src/cli/commands/tts.help.ts +3 -3
- package/src/cli/commands/webhooks.help.ts +9 -9
- package/src/cli/commands/webhooks.ts +1 -1
- package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
- package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
- package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
- package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
- package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
- package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
- package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
- package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
- package/src/cli/lib/bundled-marketplace.json +1 -1
- package/src/cli/lib/inspect-plugin.ts +2 -2
- package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
- package/src/cli/lib/install-from-github.ts +4 -4
- package/src/cli/lib/plugin-catalog-cache.ts +7 -7
- package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
- package/src/cli/lib/plugin-catalog-local.ts +2 -2
- package/src/cli/lib/publish-plugin.ts +9 -10
- package/src/cli/lib/search-plugins.ts +2 -2
- package/src/{platform → cloud}/client.test.ts +85 -86
- package/src/{platform → cloud}/client.ts +38 -46
- package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
- package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
- package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
- package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
- package/src/{platform → cloud}/consent-cache.test.ts +5 -5
- package/src/{platform → cloud}/consent-cache.ts +8 -8
- package/src/cloud/feature-gate.ts +8 -0
- package/src/{platform → cloud}/sync-identity.test.ts +4 -4
- package/src/{platform → cloud}/sync-identity.ts +6 -6
- package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
- package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
- package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
- package/src/config/__tests__/default-provider.test.ts +4 -4
- package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
- package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
- package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
- package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
- package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
- package/src/config/__tests__/profile-materialization.test.ts +7 -7
- package/src/config/__tests__/seed-default-provider.test.ts +17 -17
- package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
- package/src/config/__tests__/webhook-routing.test.ts +51 -51
- package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
- package/src/config/bundled-skills/messaging/SKILL.md +8 -8
- package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
- package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
- package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
- package/src/config/bundled-skills/settings/TOOLS.json +3 -3
- package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
- package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
- package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
- package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
- package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
- package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
- package/src/config/call-site-defaults.ts +6 -6
- package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
- package/src/config/cloud-rehydration.ts +35 -0
- package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
- package/src/config/default-profile-catalog.ts +36 -38
- package/src/config/default-profile-names.ts +11 -11
- package/src/config/default-provider-resolution.ts +2 -2
- package/src/config/default-provider.ts +1 -1
- package/src/config/env-registry.ts +23 -21
- package/src/config/env.ts +33 -46
- package/src/config/feature-flag-registry.json +5 -5
- package/src/config/inference-profile-validation.ts +1 -1
- package/src/config/llm-resolver.ts +9 -10
- package/src/config/loader.ts +33 -17
- package/src/config/profile-materialization.ts +8 -8
- package/src/config/profile-text-generation.test.ts +1 -1
- package/src/config/sanitize-for-transfer.ts +1 -1
- package/src/config/schema.ts +6 -6
- package/src/config/schemas/__tests__/stt.test.ts +2 -2
- package/src/config/schemas/call-site-catalog.ts +1 -1
- package/src/config/schemas/channels.ts +8 -0
- package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
- package/src/config/schemas/host-browser.ts +1 -0
- package/src/config/schemas/ingress.ts +1 -12
- package/src/config/schemas/llm.ts +45 -36
- package/src/config/schemas/memory-lifecycle.ts +11 -1
- package/src/config/schemas/services.ts +4 -4
- package/src/config/schemas/stt.ts +3 -3
- package/src/config/schemas/tts.ts +10 -5
- package/src/config/schemas/voice.ts +1 -1
- package/src/config/seed-inference-profiles.ts +19 -19
- package/src/config/skill-state.ts +2 -2
- package/src/config/skills.ts +4 -4
- package/src/config/sync-gated-profiles.ts +8 -8
- package/src/config/webhook-routing.ts +19 -19
- package/src/contacts/contacts-write.ts +1 -1
- package/src/credential-execution/ces-runtime.ts +6 -6
- package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
- package/src/credential-execution/prompted-credential.ts +6 -18
- package/src/credential-health/credential-health-service.ts +61 -76
- package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
- package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
- package/src/daemon/config-watcher.ts +2 -2
- package/src/daemon/conversation-agent-loop.ts +9 -9
- package/src/daemon/conversation-error.ts +36 -36
- package/src/daemon/conversation-skill-tools.ts +7 -7
- package/src/daemon/conversation-surfaces.ts +1 -1
- package/src/daemon/conversation-tool-setup.ts +2 -2
- package/src/daemon/conversation-turn-finalize.ts +1 -1
- package/src/daemon/conversation-workspace.ts +1 -1
- package/src/daemon/conversation.ts +1 -1
- package/src/daemon/credential-transcript-scrub.ts +21 -35
- package/src/daemon/daemon-readiness.ts +1 -1
- package/src/daemon/event-loop-watchdog.ts +2 -2
- package/src/daemon/handlers/config-ingress.ts +9 -9
- package/src/daemon/handlers/config-telegram.ts +6 -6
- package/src/daemon/handlers/skills.ts +20 -20
- package/src/daemon/host-cu-proxy.ts +1 -1
- package/src/daemon/lifecycle.ts +19 -19
- package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
- package/src/daemon/providers-setup.ts +6 -6
- package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
- package/src/daemon/resource-pressure-guard.ts +6 -6
- package/src/daemon/shutdown-handlers.ts +1 -1
- package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
- package/src/daemon/trust-context.ts +1 -1
- package/src/desktop/desktop-automation-lease.ts +1 -1
- package/src/desktop/desktop-browser-endpoint.ts +2 -4
- package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
- package/src/desktop/desktop-stream-bridge.test.ts +4 -4
- package/src/desktop/desktop-stream-bridge.ts +1 -1
- package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
- package/src/desktop/virtual-desktop-feature.ts +7 -7
- package/src/email/byo-email-credential.ts +1 -1
- package/src/email/registered-inbox.test.ts +16 -16
- package/src/email/registered-inbox.ts +20 -20
- package/src/heartbeat/heartbeat-service.ts +1 -1
- package/src/hooks/hook-loader.ts +2 -2
- package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
- package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
- package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
- package/src/inbound/oauth-callback-url.ts +6 -6
- package/src/inbound/pod-webhook-claim.ts +2 -2
- package/src/inbound/public-ingress-urls.ts +3 -3
- package/src/inbound/tunnel-probe.ts +21 -15
- package/src/inbound/tunnel-webhooks-gate.ts +3 -3
- package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
- package/src/ipc/__tests__/email-ipc.test.ts +8 -8
- package/src/ipc/gateway-client.test.ts +55 -59
- package/src/ipc/gateway-flag-listener.ts +3 -3
- package/src/ipc/routes/db-proxy.ts +1 -1
- package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
- package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
- package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
- package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
- package/src/live-voice/live-activity-reporter.ts +7 -7
- package/src/live-voice/live-voice-credential-preflight.ts +6 -6
- package/src/live-voice/live-voice-session.ts +3 -3
- package/src/live-voice/live-voice-tts.ts +1 -1
- package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
- package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
- package/src/mcp/mcp-oauth-provider.ts +2 -2
- package/src/media/gemini-image-service.ts +11 -13
- package/src/media/image-credentials.ts +9 -9
- package/src/media/openai-image-service.ts +1 -1
- package/src/media/types.ts +3 -3
- package/src/messaging/providers/channel-transport.ts +1 -1
- package/src/messaging/providers/discord/transport.ts +1 -1
- package/src/messaging/providers/gmail/adapter.ts +1 -1
- package/src/messaging/providers/gmail/client.ts +4 -4
- package/src/messaging/providers/outlook/adapter.ts +1 -1
- package/src/messaging/providers/slack/adapter.ts +1 -1
- package/src/messaging/providers/slack/transport.ts +1 -1
- package/src/messaging/providers/telegram-bot/transport.ts +1 -1
- package/src/monitoring/db-integrity-check.ts +1 -1
- package/src/monitoring/db-integrity-sample.ts +2 -2
- package/src/monitoring/mount-watch.ts +1 -1
- package/src/monitoring/oom-kill-reporter.ts +1 -1
- package/src/monitoring/worker.ts +5 -5
- package/src/notifications/README.md +2 -2
- package/src/notifications/__tests__/broadcaster.test.ts +9 -9
- package/src/notifications/__tests__/completion-policy.test.ts +1 -1
- package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
- package/src/notifications/activity-failed-dedupe.ts +1 -1
- package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
- package/src/notifications/broadcaster.ts +10 -10
- package/src/notifications/decision-engine.ts +1 -1
- package/src/notifications/destination-resolver.ts +1 -1
- package/src/notifications/emit-signal.ts +6 -6
- package/src/notifications/types.ts +2 -2
- package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
- package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
- package/src/oauth/byo-connection.test.ts +2 -2
- package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
- package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
- package/src/oauth/connection-resolver.test.ts +59 -61
- package/src/oauth/connection-resolver.ts +22 -22
- package/src/oauth/connection.ts +1 -1
- package/src/oauth/oauth-store.ts +8 -8
- package/src/oauth/provider-serializer.ts +4 -4
- package/src/oauth/revoke.ts +1 -1
- package/src/oauth/seed-providers.ts +32 -32
- package/src/permissions/approval-provenance.ts +1 -1
- package/src/permissions/checker.test.ts +18 -16
- package/src/permissions/checker.ts +3 -3
- package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
- package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
- package/src/persistence/embeddings/embedding-backend.ts +13 -13
- package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
- package/src/persistence/embeddings/embedding-gemini.ts +11 -11
- package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
- package/src/persistence/jobs-store.ts +1 -1
- package/src/persistence/lifecycle-events-store.ts +1 -1
- package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
- package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
- package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
- package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
- package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
- package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
- package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
- package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
- package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
- package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
- package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
- package/src/persistence/schema/oauth.ts +1 -1
- package/src/plugin-api/index.ts +4 -4
- package/src/plugin-api/model-profiles.test.ts +1 -1
- package/src/plugin-api/model-profiles.ts +1 -1
- package/src/plugin-api/transcription-session.ts +1 -1
- package/src/plugin-api/vision-support.test.ts +1 -1
- package/src/plugin-api/webhook-url.ts +12 -12
- package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
- package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
- package/src/plugins/defaults/cloud-hosted/package.json +14 -0
- package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
- package/src/plugins/defaults/index.ts +6 -6
- package/src/plugins/defaults/main.ts +5 -5
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
- package/src/plugins/defaults/memory/config.ts +4 -4
- package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
- package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
- package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
- package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
- package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
- package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
- package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
- package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
- package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
- package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
- package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
- package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
- package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
- package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
- package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
- package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
- package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
- package/src/plugins/defaults/memory/worker.ts +5 -5
- package/src/plugins/defaults/workspace/injectors.ts +2 -2
- package/src/plugins/mtime-cache.ts +1 -1
- package/src/plugins/source-versions.ts +1 -1
- package/src/plugins/types.ts +1 -1
- package/src/prompts/__tests__/system-prompt.test.ts +1 -1
- package/src/prompts/normalize-onboarding.ts +1 -1
- package/src/prompts/persona-resolver.ts +1 -1
- package/src/prompts/templates/system-sections.ts +3 -3
- package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
- package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
- package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
- package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
- package/src/providers/__tests__/inference.test.ts +2 -2
- package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
- package/src/providers/__tests__/retry-callsite.test.ts +1 -1
- package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
- package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
- package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
- package/src/providers/anthropic/client.ts +1 -1
- package/src/providers/cadet/client.ts +1 -1
- package/src/providers/cadet-model-routing.test.ts +19 -19
- package/src/providers/cadet-model-routing.ts +23 -23
- package/src/providers/call-site-routing.ts +10 -10
- package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
- package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
- package/src/providers/connection-resolution.ts +43 -43
- package/src/providers/fallback-breaker.ts +2 -2
- package/src/providers/fetch-provider-catalog.ts +3 -3
- package/src/providers/gemini/client.ts +5 -5
- package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
- package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
- package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
- package/src/providers/inference/adapter-factory.ts +35 -35
- package/src/providers/inference/auth.ts +10 -10
- package/src/providers/inference/backfill.ts +11 -11
- package/src/providers/inference/connection-availability.ts +24 -24
- package/src/providers/inference/connections.ts +18 -20
- package/src/providers/inference/profile-probe.ts +4 -4
- package/src/providers/inference/resolve-auth.ts +8 -8
- package/src/providers/jev/ask.test.ts +1 -1
- package/src/providers/jev/ask.ts +2 -2
- package/src/providers/model-catalog.ts +8 -9
- package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
- package/src/providers/openai/api-error-normalization.ts +2 -2
- package/src/providers/provider-availability.ts +4 -4
- package/src/providers/provider-env-vars.ts +1 -1
- package/src/providers/provider-secret-catalog.ts +1 -1
- package/src/providers/registry.ts +20 -20
- package/src/providers/retry.ts +26 -26
- package/src/providers/routing-identity.ts +10 -10
- package/src/providers/search-provider-catalog.ts +2 -2
- package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
- package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
- package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
- package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
- package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
- package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
- package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
- package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
- package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
- package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
- package/src/providers/speech-to-text/provider-catalog.ts +3 -3
- package/src/providers/speech-to-text/resolve.ts +26 -28
- package/src/providers/together/client.ts +1 -1
- package/src/providers/types.ts +4 -4
- package/src/providers/voice-error-copy.ts +1 -1
- package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
- package/src/runtime/agent-wake.ts +1 -1
- package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
- package/src/runtime/auth/middleware.ts +1 -1
- package/src/runtime/auth/scopes.ts +1 -1
- package/src/runtime/capabilities.ts +1 -1
- package/src/runtime/channel-invite-transports/discord.ts +1 -1
- package/src/runtime/channel-invite-transports/email.ts +2 -2
- package/src/runtime/channel-readiness-service.ts +15 -13
- package/src/runtime/channel-reply-session.test.ts +1 -1
- package/src/runtime/channel-reply-session.ts +1 -1
- package/src/runtime/http-server.ts +4 -4
- package/src/runtime/introduction-policy.ts +4 -4
- package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
- package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
- package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
- package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
- package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
- package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
- package/src/runtime/migrations/migration-transport.ts +3 -3
- package/src/runtime/migrations/origin-mode.ts +6 -9
- package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
- package/src/runtime/migrations/vbundle-importer.ts +4 -4
- package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
- package/src/runtime/migrations/vbundle-validator.ts +1 -1
- package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
- package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
- package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +26 -25
- package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
- package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
- package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
- package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
- package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
- package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
- package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
- package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
- package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
- package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
- package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
- package/src/runtime/routes/app-management-routes.ts +1 -1
- package/src/runtime/routes/attachment-routes.ts +1 -1
- package/src/runtime/routes/auth-routes.ts +14 -14
- package/src/runtime/routes/avatar-routes.ts +0 -14
- package/src/runtime/routes/background-wake-routes.ts +4 -4
- package/src/runtime/routes/channel-availability-routes.ts +4 -4
- package/src/runtime/routes/client-routes.ts +5 -5
- package/src/runtime/routes/cloud-credentials.ts +45 -0
- package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +83 -116
- package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
- package/src/runtime/routes/conversation-query-routes.ts +82 -282
- package/src/runtime/routes/credential-routes.ts +28 -30
- package/src/runtime/routes/default-provider-routes.ts +1 -1
- package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
- package/src/runtime/routes/desktop-setup-routes.ts +1 -1
- package/src/runtime/routes/domain-routes.ts +15 -21
- package/src/runtime/routes/email-routes.ts +13 -13
- package/src/runtime/routes/errors.ts +1 -1
- package/src/runtime/routes/gateway-status-routes.ts +1 -1
- package/src/runtime/routes/identity-routes.ts +3 -3
- package/src/runtime/routes/inbound-message-handler.ts +1 -1
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
- package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
- package/src/runtime/routes/index.ts +1 -1
- package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
- package/src/runtime/routes/inference-profiles-routes.ts +11 -11
- package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
- package/src/runtime/routes/ingress-status-routes.ts +1 -1
- package/src/runtime/routes/integrations/a2a.ts +2 -2
- package/src/runtime/routes/integrations/twilio.ts +21 -35
- package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
- package/src/runtime/routes/live-voice-routes.test.ts +4 -4
- package/src/runtime/routes/live-voice-routes.ts +6 -6
- package/src/runtime/routes/migration-routes.ts +34 -40
- package/src/runtime/routes/oauth-commands-routes.ts +31 -31
- package/src/runtime/routes/oauth-providers.ts +5 -5
- package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
- package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
- package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
- package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
- package/src/runtime/routes/oauth-request-hints.ts +1 -1
- package/src/runtime/routes/plugins-routes.ts +9 -9
- package/src/runtime/routes/profiler-routes.ts +1 -1
- package/src/runtime/routes/ps-routes.ts +4 -0
- package/src/runtime/routes/roadmap-routes.ts +18 -20
- package/src/runtime/routes/secret-routes.ts +29 -55
- package/src/runtime/routes/settings-routes.ts +18 -23
- package/src/runtime/routes/telemetry-routes.ts +4 -4
- package/src/runtime/routes/tts-routes.ts +4 -4
- package/src/runtime/routes/user-route-resolution.ts +1 -1
- package/src/runtime/routes/webhook-routes.ts +18 -18
- package/src/runtime/routes/workflow-routes.ts +5 -5
- package/src/runtime/sync/resource-sync-events.ts +2 -2
- package/src/runtime/verification-outbound-actions.ts +4 -4
- package/src/schedule/integration-status.ts +6 -6
- package/src/schedule/run-script.ts +1 -1
- package/src/schedule/schedule-timezone.ts +1 -1
- package/src/schedule/worker.ts +5 -5
- package/src/security/auth-fallback-events-store.ts +1 -1
- package/src/security/oauth2.ts +4 -4
- package/src/skills/available-skills.ts +4 -4
- package/src/skills/catalog-files.ts +8 -8
- package/src/skills/catalog-install.ts +12 -12
- package/src/skills/categories-cache.ts +3 -3
- package/src/skills/clawhub.ts +1 -1
- package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
- package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
- package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
- package/src/skills/inline-command-runner.ts +1 -1
- package/src/skills/install-meta.ts +1 -1
- package/src/skills/path-classifier.ts +4 -4
- package/src/skills/skill-history.ts +4 -4
- package/src/skills/skillssh-registry.ts +1 -1
- package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
- package/src/stt/daemon-batch-transcriber.ts +7 -7
- package/src/stt/types.ts +3 -3
- package/src/subagent/manager.ts +15 -15
- package/src/subagent/types.ts +1 -1
- package/src/telegram/__tests__/webhook-health.test.ts +16 -16
- package/src/telegram/webhook-health.ts +10 -10
- package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
- package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
- package/src/telemetry/config-setting-events-store.ts +1 -1
- package/src/telemetry/config-setting-snapshot.ts +1 -1
- package/src/telemetry/memory-corpus-size.ts +1 -1
- package/src/telemetry/memory-tier-reporter.test.ts +2 -2
- package/src/telemetry/memory-tier-reporter.ts +3 -3
- package/src/telemetry/telemetry-event-sources.test.ts +2 -2
- package/src/telemetry/telemetry-event-sources.ts +9 -9
- package/src/telemetry/telemetry-events-outbox.ts +2 -2
- package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
- package/src/telemetry/telemetry-wire-validation.ts +3 -3
- package/src/telemetry/telemetry-wire.generated.ts +1 -1
- package/src/telemetry/tool-audit.ts +1 -1
- package/src/telemetry/tool-executed-events-store.test.ts +1 -1
- package/src/telemetry/trace-collection-policy.ts +4 -4
- package/src/telemetry/turn-events-store.ts +1 -1
- package/src/telemetry/turn-outcome.ts +1 -1
- package/src/telemetry/turn-trace-store.ts +2 -2
- package/src/telemetry/types.test.ts +1 -1
- package/src/telemetry/types.ts +19 -19
- package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
- package/src/telemetry/usage-telemetry-reporter.ts +17 -17
- package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
- package/src/telemetry/watchdog-direct-emit.ts +10 -10
- package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
- package/src/tools/browser/cdp-client/factory.ts +1 -1
- package/src/tools/computer-use/target.ts +2 -2
- package/src/tools/credentials/store.ts +6 -15
- package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
- package/src/tools/network/__tests__/web-search.test.ts +14 -14
- package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
- package/src/tools/network/web-search.ts +9 -9
- package/src/tools/permission-checker.ts +2 -2
- package/src/tools/shared/input-misuse.ts +1 -1
- package/src/tools/shared/input-repairs.ts +4 -4
- package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
- package/src/tools/skills/find-similar-skills.test.ts +7 -7
- package/src/tools/skills/find-similar-skills.ts +15 -15
- package/src/tools/skills/load.ts +6 -6
- package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
- package/src/tools/skills/skill-script-runner.ts +2 -2
- package/src/tools/terminal/safe-env.ts +3 -3
- package/src/tools/tool-types.ts +2 -2
- package/src/tools/types.ts +2 -2
- package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
- package/src/tools/workflows/manage-workflows.ts +1 -1
- package/src/tools/workspace-tools/loader.ts +1 -1
- package/src/tts/__tests__/cadet-provider.test.ts +5 -5
- package/src/tts/provider-catalog.ts +1 -1
- package/src/tts/providers/cadet-provider.ts +23 -23
- package/src/tts/providers/cadet-tts-socket.ts +2 -2
- package/src/tts/tts-config-resolver.ts +1 -1
- package/src/tts/tts-voice-field.ts +3 -3
- package/src/usage/subagent-attribution.ts +1 -1
- package/src/util/__tests__/process-table.test.ts +47 -0
- package/src/util/canonicalize-identity.ts +1 -1
- package/src/util/cgroup-cpu.ts +5 -5
- package/src/util/cgroup-memory.ts +2 -2
- package/src/util/container-cpu-sampler.ts +4 -4
- package/src/util/disk-usage.ts +4 -4
- package/src/util/errors.ts +3 -3
- package/src/util/oom-priority.ts +1 -1
- package/src/util/platform.ts +5 -5
- package/src/util/process-table.ts +39 -5
- package/src/util/provider-error-patterns.ts +2 -2
- package/src/watch/__tests__/watch-retro.test.ts +2 -2
- package/src/watch/watch-retro.ts +1 -1
- package/src/watcher/__tests__/telemetry.test.ts +2 -2
- package/src/watcher/telemetry.ts +1 -1
- package/src/windows-compiled-cli.ts +1 -1
- package/src/workspace/adaptive-thinking-repair.ts +4 -4
- package/src/workspace/byok-default-profile-ensure.ts +7 -7
- package/src/workspace/git-service.ts +2 -2
- package/src/workspace/migrations/006-services-config.ts +1 -1
- package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
- package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
- package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
- package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
- package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
- package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
- package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
- package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
- package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
- package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
- package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
- package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
- package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
- package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
- package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
- package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
- package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
- package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
- package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
- package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
- package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
- package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
- package/src/workspace/migrations/127-backfill-default-provider.ts +4 -4
- package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
- package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
- package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
- package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
- package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
- package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
- package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
- package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
- package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
- package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
- package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
- package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
- package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
- package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
- package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
- package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
- package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
- package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
- package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
- package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
- package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
- package/src/workspace/migrations/registry.ts +6 -6
- package/src/workspace/top-level-renderer.ts +1 -1
- package/src/workspace/turn-commit.ts +2 -2
- package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
- package/src/__tests__/mock-gateway-ipc.ts +0 -260
- package/src/api/events/platform-disconnected.ts +0 -21
- package/src/config/platform-rehydration.ts +0 -60
- package/src/platform/feature-gate.ts +0 -8
- package/src/plugins/defaults/platform-hosted/package.json +0 -14
- package/src/runtime/routes/platform-managed-credentials.ts +0 -50
- /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
- /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
* tokenizer's post-compaction count so the web indicator matches the numbers
|
|
13
13
|
* on the `/compact` result card.
|
|
14
14
|
*/
|
|
15
|
-
import { describe, expect, mock, test } from "bun:test";
|
|
15
|
+
import { beforeEach, describe, expect, mock, test } from "bun:test";
|
|
16
16
|
|
|
17
|
+
import { setAllFlagsOnForTesting } from "../__tests__/feature-flag-test-helpers.js";
|
|
17
18
|
import { CompactionCircuit } from "../agent/compaction-circuit.js";
|
|
18
19
|
import type { AgentEvent } from "../agent/loop.js";
|
|
19
20
|
import type { AssistantEvent } from "../api/index.js";
|
|
@@ -57,10 +58,6 @@ setConfig("llm", {
|
|
|
57
58
|
setConfig("memory", { v2: { enabled: false } });
|
|
58
59
|
setConfig("timeouts", { permissionTimeoutSec: 1 });
|
|
59
60
|
|
|
60
|
-
mock.module("../config/assistant-feature-flags.js", () => ({
|
|
61
|
-
isAssistantFeatureFlagEnabled: () => true,
|
|
62
|
-
}));
|
|
63
|
-
|
|
64
61
|
mock.module("../prompts/system-prompt.js", () => ({
|
|
65
62
|
buildSystemPrompt: () => "system prompt",
|
|
66
63
|
}));
|
|
@@ -550,6 +547,11 @@ describe("maybeCompact gate sizing", () => {
|
|
|
550
547
|
|
|
551
548
|
import { computeSummaryQualitySignals } from "../daemon/conversation-agent-loop.js";
|
|
552
549
|
|
|
550
|
+
beforeEach(() => {
|
|
551
|
+
// Real flag resolution replaces the former blanket module mock.
|
|
552
|
+
setAllFlagsOnForTesting();
|
|
553
|
+
});
|
|
554
|
+
|
|
553
555
|
describe("computeSummaryQualitySignals", () => {
|
|
554
556
|
test("counts `## ` headers at the start of lines", () => {
|
|
555
557
|
const summary =
|
|
@@ -166,7 +166,7 @@ const LEGACY_HATCH_PROFILE_NAMES = [
|
|
|
166
166
|
] as const;
|
|
167
167
|
|
|
168
168
|
/**
|
|
169
|
-
* The
|
|
169
|
+
* The cloud Balanced model. These tests assert that resolution serves the
|
|
170
170
|
* code catalog rather than a workspace body, so they follow the catalog
|
|
171
171
|
* instead of restating its pin.
|
|
172
172
|
*/
|
|
@@ -403,13 +403,13 @@ describe("loadConfig startup behavior", () => {
|
|
|
403
403
|
}
|
|
404
404
|
ensureTestDir();
|
|
405
405
|
delete process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH;
|
|
406
|
-
delete process.env.
|
|
406
|
+
delete process.env.IS_CLOUD;
|
|
407
407
|
invalidateConfigCache();
|
|
408
408
|
});
|
|
409
409
|
|
|
410
410
|
afterEach(() => {
|
|
411
411
|
delete process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH;
|
|
412
|
-
delete process.env.
|
|
412
|
+
delete process.env.IS_CLOUD;
|
|
413
413
|
invalidateConfigCache();
|
|
414
414
|
});
|
|
415
415
|
|
|
@@ -588,7 +588,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
588
588
|
expect(raw.dataDir).toBeUndefined();
|
|
589
589
|
});
|
|
590
590
|
|
|
591
|
-
test("off-
|
|
591
|
+
test("off-cloud hatch writes no profile entries; defaults resolve through the hatch provider", () => {
|
|
592
592
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
593
593
|
writeFileSync(
|
|
594
594
|
overlayPath,
|
|
@@ -644,8 +644,8 @@ describe("loadConfig startup behavior", () => {
|
|
|
644
644
|
expect("status" in (effective.balanced ?? {})).toBe(false);
|
|
645
645
|
});
|
|
646
646
|
|
|
647
|
-
test("on-
|
|
648
|
-
process.env.
|
|
647
|
+
test("on-cloud hatch writes no profile entries; defaults resolve from the catalog", () => {
|
|
648
|
+
process.env.IS_CLOUD = "true";
|
|
649
649
|
|
|
650
650
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
651
651
|
writeFileSync(
|
|
@@ -732,8 +732,8 @@ describe("loadConfig startup behavior", () => {
|
|
|
732
732
|
expect(effective.balanced?.provider_connection).toBe("anthropic-personal");
|
|
733
733
|
});
|
|
734
734
|
|
|
735
|
-
test("on-
|
|
736
|
-
process.env.
|
|
735
|
+
test("on-cloud re-hatch resets active profile to balanced", () => {
|
|
736
|
+
process.env.IS_CLOUD = "true";
|
|
737
737
|
|
|
738
738
|
writeConfig({
|
|
739
739
|
llm: {
|
|
@@ -860,7 +860,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
860
860
|
expect(raw.llm.default.model).toBe("codellama");
|
|
861
861
|
});
|
|
862
862
|
|
|
863
|
-
test("off-
|
|
863
|
+
test("off-cloud hatch with openai resolves the defaults through the openai column", () => {
|
|
864
864
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
865
865
|
writeFileSync(
|
|
866
866
|
overlayPath,
|
|
@@ -891,7 +891,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
891
891
|
expect(effective["cost-optimized"]?.model).toBe("gpt-5.6-luna");
|
|
892
892
|
});
|
|
893
893
|
|
|
894
|
-
test("off-
|
|
894
|
+
test("off-cloud hatch with a provider outside the named matrix columns resolves through the shared BYOK templates", () => {
|
|
895
895
|
// `together` has no column in PROFILE_IMPLS and no intent table: the
|
|
896
896
|
// defaults must still anchor on it (not fall back to anthropic), backed
|
|
897
897
|
// by the `together-personal` connection and its catalog defaultModel.
|
|
@@ -931,7 +931,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
931
931
|
}
|
|
932
932
|
});
|
|
933
933
|
|
|
934
|
-
test("off-
|
|
934
|
+
test("off-cloud hatch with a connection-eligible provider that is not a default-provider choice falls back to anthropic", () => {
|
|
935
935
|
// `typesafe` passes the connection gate (API-key catalog provider, and
|
|
936
936
|
// not in PROVIDERS_REQUIRING_BASE_URL_AND_MODELS) but it is not a known
|
|
937
937
|
// LLM provider, so no profile can reference it and it is not a
|
|
@@ -973,7 +973,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
973
973
|
}
|
|
974
974
|
});
|
|
975
975
|
|
|
976
|
-
test("off-
|
|
976
|
+
test("off-cloud boot leaves an existing managed entry byte-identical", () => {
|
|
977
977
|
// A drifted legacy full-body entry left by a previous release stays
|
|
978
978
|
// exactly as written — boots never rewrite managed entries. Content is
|
|
979
979
|
// served from the code catalog at resolution time instead.
|
|
@@ -996,7 +996,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
996
996
|
|
|
997
997
|
expect(raw.llm.profiles.balanced).toEqual(drifted);
|
|
998
998
|
expect(raw.llm.activeProfile).toBe("balanced");
|
|
999
|
-
// Resolution ignores the drifted body: a
|
|
999
|
+
// Resolution ignores the drifted body: a cloud-source entry contributes
|
|
1000
1000
|
// only label/status/topP, everything else comes from the catalog.
|
|
1001
1001
|
const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
|
|
1002
1002
|
expect(effectiveBalanced?.model).toBe(MANAGED_BALANCED_MODEL);
|
|
@@ -1033,7 +1033,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1033
1033
|
expect(effectiveQuality?.source).toBeUndefined();
|
|
1034
1034
|
});
|
|
1035
1035
|
|
|
1036
|
-
test("defaults the advisor profile to the
|
|
1036
|
+
test("defaults the advisor profile to the cloud Quality profile", () => {
|
|
1037
1037
|
writeConfig({ llm: { default: { provider: "anthropic" } } });
|
|
1038
1038
|
|
|
1039
1039
|
mergeDefaultConfigAndSeedInferenceProfiles();
|
|
@@ -1056,7 +1056,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1056
1056
|
// updates ship in a release without any workspace rewrite. Boots never
|
|
1057
1057
|
// touch managed entries; the effective view serves the catalog body and
|
|
1058
1058
|
// overlays only label/status/topP from the workspace entry.
|
|
1059
|
-
process.env.
|
|
1059
|
+
process.env.IS_CLOUD = "true";
|
|
1060
1060
|
|
|
1061
1061
|
const drifted = {
|
|
1062
1062
|
source: "managed",
|
|
@@ -1087,11 +1087,11 @@ describe("loadConfig startup behavior", () => {
|
|
|
1087
1087
|
expect("topP" in (effectiveBalanced ?? {})).toBe(false);
|
|
1088
1088
|
});
|
|
1089
1089
|
|
|
1090
|
-
test("platform boot preserves user-edited label and status on a
|
|
1091
|
-
// The workspace-owned fields a user may set on a
|
|
1090
|
+
test("platform boot preserves user-edited label and status on a cloud stub", () => {
|
|
1091
|
+
// The workspace-owned fields a user may set on a cloud profile — label
|
|
1092
1092
|
// and status — live on the stub, which boots never touch. The effective
|
|
1093
1093
|
// view overlays them onto the code-owned body.
|
|
1094
|
-
process.env.
|
|
1094
|
+
process.env.IS_CLOUD = "true";
|
|
1095
1095
|
|
|
1096
1096
|
const edited = {
|
|
1097
1097
|
source: "managed",
|
|
@@ -1117,8 +1117,8 @@ describe("loadConfig startup behavior", () => {
|
|
|
1117
1117
|
expect(effectiveBalanced?.status).toBe("disabled");
|
|
1118
1118
|
});
|
|
1119
1119
|
|
|
1120
|
-
test("off-
|
|
1121
|
-
// Simulate a user who renamed the
|
|
1120
|
+
test("off-cloud boot preserves a user-edited label on a cloud stub (Codex P1 on PR #30362)", () => {
|
|
1121
|
+
// Simulate a user who renamed the cloud "balanced" profile via
|
|
1122
1122
|
// PUT /v1/config/llm/profiles/balanced { label: "My Default" }.
|
|
1123
1123
|
const stub = { source: "managed", label: "My Default" };
|
|
1124
1124
|
writeConfig({
|
|
@@ -1139,8 +1139,8 @@ describe("loadConfig startup behavior", () => {
|
|
|
1139
1139
|
expect(effectiveBalanced?.model).toBe(MANAGED_BALANCED_MODEL);
|
|
1140
1140
|
});
|
|
1141
1141
|
|
|
1142
|
-
test("off-
|
|
1143
|
-
// Simulate a user who disabled the
|
|
1142
|
+
test("off-cloud boot preserves user-toggled status on a cloud stub", () => {
|
|
1143
|
+
// Simulate a user who disabled the cloud "balanced" profile via
|
|
1144
1144
|
// PUT /v1/config/llm/profiles/balanced { status: "disabled" }.
|
|
1145
1145
|
const stub = { source: "managed", status: "disabled" };
|
|
1146
1146
|
writeConfig({
|
|
@@ -1161,8 +1161,8 @@ describe("loadConfig startup behavior", () => {
|
|
|
1161
1161
|
expect(effectiveBalanced?.model).toBe(MANAGED_BALANCED_MODEL);
|
|
1162
1162
|
});
|
|
1163
1163
|
|
|
1164
|
-
test("boot preserves a user-edited topP override on a
|
|
1165
|
-
// Simulate a user who overrode topP on the
|
|
1164
|
+
test("boot preserves a user-edited topP override on a cloud stub", () => {
|
|
1165
|
+
// Simulate a user who overrode topP on the cloud "balanced" profile via
|
|
1166
1166
|
// PUT /v1/config/llm/profiles/balanced { topP: 0.5 }. The override lives
|
|
1167
1167
|
// on the stub, survives boots untouched, and overlays the catalog body
|
|
1168
1168
|
// (which carries no topP of its own).
|
|
@@ -1199,7 +1199,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1199
1199
|
expect("topP" in (effectiveBalanced ?? {})).toBe(false);
|
|
1200
1200
|
});
|
|
1201
1201
|
|
|
1202
|
-
test("off-
|
|
1202
|
+
test("off-cloud reseed preserves an explicit null label (user cleared it)", () => {
|
|
1203
1203
|
// Setting label to null is the "clear" intent — must survive too,
|
|
1204
1204
|
// otherwise the next boot would re-stamp the template's default
|
|
1205
1205
|
// label and ignore the user's clear action.
|
|
@@ -1224,7 +1224,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1224
1224
|
expect(raw.llm.profiles.balanced.label).toBeNull();
|
|
1225
1225
|
});
|
|
1226
1226
|
|
|
1227
|
-
test("non-hatch off-
|
|
1227
|
+
test("non-hatch off-cloud boot writes no managed entries; defaults resolve bare-labeled from the catalog", () => {
|
|
1228
1228
|
// First boot of a config with no prior profiles and no hatch overlay:
|
|
1229
1229
|
// nothing is materialized for the default names. The " (Managed)" label
|
|
1230
1230
|
// suffix exists only on the thin stubs written at BYOK hatch time; a
|
|
@@ -1246,10 +1246,10 @@ describe("loadConfig startup behavior", () => {
|
|
|
1246
1246
|
// The overlay's `balanced` fragment lands verbatim on disk and stays
|
|
1247
1247
|
// there across boots — boots never rewrite managed entries. Resolution,
|
|
1248
1248
|
// however, always serves default profile CONTENT from the code catalog:
|
|
1249
|
-
// a
|
|
1249
|
+
// a cloud-source workspace entry contributes only label/status/topP,
|
|
1250
1250
|
// so the overlay's provider/model never reach the resolver. Only its
|
|
1251
1251
|
// `label` shows through the effective view.
|
|
1252
|
-
process.env.
|
|
1252
|
+
process.env.IS_CLOUD = "true";
|
|
1253
1253
|
|
|
1254
1254
|
writeConfig({
|
|
1255
1255
|
llm: {
|
|
@@ -1286,7 +1286,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1286
1286
|
source: "managed",
|
|
1287
1287
|
provider: "openai",
|
|
1288
1288
|
model: "gpt-5.4",
|
|
1289
|
-
label: "
|
|
1289
|
+
label: "Cloud Balanced",
|
|
1290
1290
|
},
|
|
1291
1291
|
},
|
|
1292
1292
|
activeProfile: "balanced",
|
|
@@ -1309,7 +1309,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1309
1309
|
source: "managed",
|
|
1310
1310
|
provider: "openai",
|
|
1311
1311
|
model: "gpt-5.4",
|
|
1312
|
-
label: "
|
|
1312
|
+
label: "Cloud Balanced",
|
|
1313
1313
|
});
|
|
1314
1314
|
// Resolution serves default-profile CONTENT from the code catalog: the
|
|
1315
1315
|
// overlay's provider/model never reach the resolver — even on the
|
|
@@ -1323,7 +1323,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1323
1323
|
source: "managed",
|
|
1324
1324
|
provider: "openai",
|
|
1325
1325
|
model: "gpt-5.4",
|
|
1326
|
-
label: "
|
|
1326
|
+
label: "Cloud Balanced",
|
|
1327
1327
|
});
|
|
1328
1328
|
expect(raw.llm.profiles.balanced.maxTokens).toBeUndefined();
|
|
1329
1329
|
expect(raw.llm.profiles.balanced.thinking).toBeUndefined();
|
|
@@ -1339,7 +1339,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1339
1339
|
source: "managed",
|
|
1340
1340
|
provider: "openai",
|
|
1341
1341
|
model: "gpt-5.4",
|
|
1342
|
-
label: "
|
|
1342
|
+
label: "Cloud Balanced",
|
|
1343
1343
|
});
|
|
1344
1344
|
const effectiveBalanced = getEffectiveProfile(
|
|
1345
1345
|
afterRestart.llm.profiles,
|
|
@@ -1353,7 +1353,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1353
1353
|
enabled: true,
|
|
1354
1354
|
streamThinking: true,
|
|
1355
1355
|
});
|
|
1356
|
-
expect(effectiveBalanced?.label).toBe("
|
|
1356
|
+
expect(effectiveBalanced?.label).toBe("Cloud Balanced");
|
|
1357
1357
|
});
|
|
1358
1358
|
|
|
1359
1359
|
test("quarantines corrupt config before merging hatch overlay", () => {
|
|
@@ -1432,7 +1432,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1432
1432
|
});
|
|
1433
1433
|
|
|
1434
1434
|
test("an active managed backup profile is repaired on a BYOK install", () => {
|
|
1435
|
-
// Backups live on the
|
|
1435
|
+
// Backups live on the cloud column alone, so under a BYOK default
|
|
1436
1436
|
// provider the selection names a profile that resolves to nothing. The
|
|
1437
1437
|
// schema rejects the reference on load and the seeder, which resolves
|
|
1438
1438
|
// availability through the same provider-aware view, repairs the stored
|
|
@@ -1456,7 +1456,7 @@ describe("loadConfig startup behavior", () => {
|
|
|
1456
1456
|
expect(raw.llm.activeProfile).toBe("balanced");
|
|
1457
1457
|
});
|
|
1458
1458
|
|
|
1459
|
-
test("a call site pinned to a
|
|
1459
|
+
test("a call site pinned to a cloud backup profile survives a reload", () => {
|
|
1460
1460
|
writeConfig({
|
|
1461
1461
|
llm: {
|
|
1462
1462
|
default: {
|
|
@@ -1523,17 +1523,17 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1523
1523
|
}
|
|
1524
1524
|
ensureTestDir();
|
|
1525
1525
|
delete process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH;
|
|
1526
|
-
delete process.env.
|
|
1526
|
+
delete process.env.IS_CLOUD;
|
|
1527
1527
|
invalidateConfigCache();
|
|
1528
1528
|
});
|
|
1529
1529
|
|
|
1530
1530
|
afterEach(() => {
|
|
1531
1531
|
delete process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH;
|
|
1532
|
-
delete process.env.
|
|
1532
|
+
delete process.env.IS_CLOUD;
|
|
1533
1533
|
invalidateConfigCache();
|
|
1534
1534
|
});
|
|
1535
1535
|
|
|
1536
|
-
test("off-
|
|
1536
|
+
test("off-cloud hatch writes no stubs; defaults resolve active with bare labels", () => {
|
|
1537
1537
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
1538
1538
|
writeFileSync(
|
|
1539
1539
|
overlayPath,
|
|
@@ -1564,7 +1564,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1564
1564
|
expect("status" in (effective["cost-optimized"] ?? {})).toBe(false);
|
|
1565
1565
|
});
|
|
1566
1566
|
|
|
1567
|
-
test("off-
|
|
1567
|
+
test("off-cloud BYOK hatch defaults advisor to quality-optimized", () => {
|
|
1568
1568
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
1569
1569
|
writeFileSync(
|
|
1570
1570
|
overlayPath,
|
|
@@ -1580,7 +1580,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1580
1580
|
expect(config.llm.advisorProfile).toBe("quality-optimized");
|
|
1581
1581
|
});
|
|
1582
1582
|
|
|
1583
|
-
test("off-
|
|
1583
|
+
test("off-cloud boot clears a disabled managed advisor even when a personal profile exists", () => {
|
|
1584
1584
|
writeConfig({
|
|
1585
1585
|
llm: {
|
|
1586
1586
|
advisorProfile: "frontier",
|
|
@@ -1627,13 +1627,13 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1627
1627
|
mergeDefaultConfigAndSeedInferenceProfiles();
|
|
1628
1628
|
const config = loadConfig();
|
|
1629
1629
|
|
|
1630
|
-
// Advisor repair only considers the
|
|
1630
|
+
// Advisor repair only considers the cloud defaults; a user profile is
|
|
1631
1631
|
// never auto-selected, so a fully-disabled managed set clears the field.
|
|
1632
1632
|
expect(config.llm.advisorProfile).toBeUndefined();
|
|
1633
1633
|
});
|
|
1634
1634
|
|
|
1635
|
-
test("platform boot repairs a disabled managed advisor to an active
|
|
1636
|
-
process.env.
|
|
1635
|
+
test("platform boot repairs a disabled managed advisor to an active cloud profile", () => {
|
|
1636
|
+
process.env.IS_CLOUD = "true";
|
|
1637
1637
|
writeConfig({
|
|
1638
1638
|
llm: {
|
|
1639
1639
|
advisorProfile: "frontier",
|
|
@@ -1662,7 +1662,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1662
1662
|
expect(config.llm.advisorProfile).toBe("quality-optimized");
|
|
1663
1663
|
});
|
|
1664
1664
|
|
|
1665
|
-
test("off-
|
|
1665
|
+
test("off-cloud boot clears a disabled managed advisor when no active replacement exists", () => {
|
|
1666
1666
|
writeConfig({
|
|
1667
1667
|
llm: {
|
|
1668
1668
|
advisorProfile: "frontier",
|
|
@@ -1705,7 +1705,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1705
1705
|
expect(config.llm.advisorProfile).toBeUndefined();
|
|
1706
1706
|
});
|
|
1707
1707
|
|
|
1708
|
-
test("off-
|
|
1708
|
+
test("off-cloud managed-inference hatch keeps selected cloud connection active", () => {
|
|
1709
1709
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
1710
1710
|
writeFileSync(
|
|
1711
1711
|
overlayPath,
|
|
@@ -1727,11 +1727,11 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1727
1727
|
const raw = JSON.parse(readFileSync(CONFIG_PATH, "utf-8"));
|
|
1728
1728
|
|
|
1729
1729
|
expect(raw.llm.activeProfile).toBe("balanced");
|
|
1730
|
-
// The hatch overlay selected a
|
|
1730
|
+
// The hatch overlay selected a cloud profile (all cloud profiles
|
|
1731
1731
|
// share the single `cadet` connection), so no disabled stubs are
|
|
1732
1732
|
// written: the defaults stay absent from llm.profiles and resolve active
|
|
1733
1733
|
// from the code catalog. The default advisor falls to the strongest
|
|
1734
|
-
// active
|
|
1734
|
+
// active cloud profile, `quality-optimized`.
|
|
1735
1735
|
expect(raw.llm.advisorProfile).toBe("quality-optimized");
|
|
1736
1736
|
expect(raw.llm.profiles.balanced).toBeUndefined();
|
|
1737
1737
|
const effectiveBalanced = getEffectiveProfile(raw.llm.profiles, "balanced");
|
|
@@ -1739,7 +1739,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1739
1739
|
expect("status" in (effectiveBalanced ?? {})).toBe(false);
|
|
1740
1740
|
});
|
|
1741
1741
|
|
|
1742
|
-
test("off-
|
|
1742
|
+
test("off-cloud managed-inference hatch respects explicit non-managed active connection", () => {
|
|
1743
1743
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
1744
1744
|
writeFileSync(
|
|
1745
1745
|
overlayPath,
|
|
@@ -1778,7 +1778,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1778
1778
|
expect(getConnection(db, "gemini-managed")).not.toBeNull();
|
|
1779
1779
|
});
|
|
1780
1780
|
|
|
1781
|
-
test("non-hatch off-
|
|
1781
|
+
test("non-hatch off-cloud boot writes no managed entries and never auto-disables the defaults", () => {
|
|
1782
1782
|
// Existing installs that upgrade to a version where the workspace
|
|
1783
1783
|
// carries no entries for the default names get nothing materialized on
|
|
1784
1784
|
// a normal boot — and therefore nothing auto-disabled. The disabled
|
|
@@ -1807,8 +1807,8 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1807
1807
|
expect("status" in (effective["cost-optimized"] ?? {})).toBe(false);
|
|
1808
1808
|
});
|
|
1809
1809
|
|
|
1810
|
-
test("on-
|
|
1811
|
-
process.env.
|
|
1810
|
+
test("on-cloud hatch writes no managed stubs; catalog labels stay bare", () => {
|
|
1811
|
+
process.env.IS_CLOUD = "true";
|
|
1812
1812
|
|
|
1813
1813
|
const overlayPath = join(WORKSPACE_DIR, "hatch-overlay.json");
|
|
1814
1814
|
writeFileSync(
|
|
@@ -1831,10 +1831,10 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1831
1831
|
expect(effective["cost-optimized"]?.label).toBe("Budget");
|
|
1832
1832
|
});
|
|
1833
1833
|
|
|
1834
|
-
test("a
|
|
1835
|
-
// An install that predates a newly shipped
|
|
1834
|
+
test("a cloud key missing from profileOrder lands beside its siblings", () => {
|
|
1835
|
+
// An install that predates a newly shipped cloud profile, with a custom
|
|
1836
1836
|
// profile already in its order. The new key belongs with the other
|
|
1837
|
-
//
|
|
1837
|
+
// cloud profiles, not after whatever the user has arranged below them.
|
|
1838
1838
|
writeConfig({
|
|
1839
1839
|
llm: {
|
|
1840
1840
|
default: { provider: "anthropic", model: "claude-opus-4-7" },
|
|
@@ -1869,7 +1869,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1869
1869
|
});
|
|
1870
1870
|
|
|
1871
1871
|
test("boot leaves legacy bare labels on managed entries untouched", () => {
|
|
1872
|
-
// Existing off-
|
|
1872
|
+
// Existing off-cloud install has bare labels (`label: "Balanced"`)
|
|
1873
1873
|
// on its managed entries. Boots never rewrite managed entries — there
|
|
1874
1874
|
// is no label-suffix upgrade pass — so the entries stay byte-identical
|
|
1875
1875
|
// and the bare labels flow through the effective view.
|
|
@@ -1913,7 +1913,7 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1913
1913
|
expect(effective["cost-optimized"]?.label).toBe("Speed");
|
|
1914
1914
|
});
|
|
1915
1915
|
|
|
1916
|
-
test("boot preserves user-customized labels and explicit null on off-
|
|
1916
|
+
test("boot preserves user-customized labels and explicit null on off-cloud", () => {
|
|
1917
1917
|
// A user-set string that differs from the bare default survives, as
|
|
1918
1918
|
// does an explicit null (user cleared the label) — boots never touch
|
|
1919
1919
|
// managed entries, whatever label state they carry.
|
|
@@ -1954,10 +1954,10 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1954
1954
|
expect(raw.llm.profiles["cost-optimized"].label).toBe("Speed (Managed)");
|
|
1955
1955
|
});
|
|
1956
1956
|
|
|
1957
|
-
test("platform boot leaves a bare label on a
|
|
1958
|
-
// An on-
|
|
1957
|
+
test("platform boot leaves a bare label on a cloud entry untouched", () => {
|
|
1958
|
+
// An on-cloud install with a bare "Balanced" label keeps it — boots
|
|
1959
1959
|
// never rewrite managed entries, and no suffix exists on platform.
|
|
1960
|
-
process.env.
|
|
1960
|
+
process.env.IS_CLOUD = "true";
|
|
1961
1961
|
writeConfig({
|
|
1962
1962
|
llm: {
|
|
1963
1963
|
default: { provider: "anthropic", model: "claude-opus-4-7" },
|
|
@@ -1980,8 +1980,8 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
1980
1980
|
expect(config.llm.profiles.balanced?.label).toBe("Balanced");
|
|
1981
1981
|
});
|
|
1982
1982
|
|
|
1983
|
-
test("subsequent off-
|
|
1984
|
-
// Simulate a user who hatched yesterday, then re-enabled the
|
|
1983
|
+
test("subsequent off-cloud boot preserves user-set status on cloud profiles", () => {
|
|
1984
|
+
// Simulate a user who hatched yesterday, then re-enabled the cloud
|
|
1985
1985
|
// Balanced profile (they have platform auth via a separate route).
|
|
1986
1986
|
writeConfig({
|
|
1987
1987
|
llm: {
|
|
@@ -2019,13 +2019,13 @@ describe("seedInferenceProfiles BYOK-mode default profiles", () => {
|
|
|
2019
2019
|
});
|
|
2020
2020
|
|
|
2021
2021
|
// ---------------------------------------------------------------------------
|
|
2022
|
-
// Tests: OS Beta flag-gated
|
|
2022
|
+
// Tests: OS Beta flag-gated cloud profile. The template is defined but
|
|
2023
2023
|
// intentionally NOT part of MANAGED_PROFILE_TEMPLATES, so seedInferenceProfiles
|
|
2024
2024
|
// must never create it. The flag-gated reconcile creates or removes it based on
|
|
2025
2025
|
// the `os-beta` feature flag.
|
|
2026
2026
|
// ---------------------------------------------------------------------------
|
|
2027
2027
|
|
|
2028
|
-
describe("OS Beta
|
|
2028
|
+
describe("OS Beta cloud profile template", () => {
|
|
2029
2029
|
beforeEach(() => {
|
|
2030
2030
|
ensureTestDir();
|
|
2031
2031
|
const resetPaths = [
|
|
@@ -2043,13 +2043,13 @@ describe("OS Beta managed profile template", () => {
|
|
|
2043
2043
|
}
|
|
2044
2044
|
ensureTestDir();
|
|
2045
2045
|
delete process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH;
|
|
2046
|
-
delete process.env.
|
|
2046
|
+
delete process.env.IS_CLOUD;
|
|
2047
2047
|
invalidateConfigCache();
|
|
2048
2048
|
});
|
|
2049
2049
|
|
|
2050
2050
|
afterEach(() => {
|
|
2051
2051
|
delete process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH;
|
|
2052
|
-
delete process.env.
|
|
2052
|
+
delete process.env.IS_CLOUD;
|
|
2053
2053
|
invalidateConfigCache();
|
|
2054
2054
|
});
|
|
2055
2055
|
|