@mycadet/assistant 0.12.7 → 0.12.9
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 +2 -2
- 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/package.json +1 -1
- package/node_modules/@mycadet/ces-client/src/__tests__/ces-client.test.ts +14 -14
- 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 +2 -2
- 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 +2 -2
- 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 +6804 -799
- 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} +77 -75
- 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-set-route.test.ts +12 -8
- 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 +28 -40
- 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 +134 -288
- 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 +1 -2
- package/src/__tests__/mcp-client-auth.test.ts +1 -2
- package/src/__tests__/mcp-config-secret-boundary.test.ts +44 -40
- package/src/__tests__/mcp-tool-annotations-risk.test.ts +1 -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-store-credential.test.ts +4 -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 +222 -536
- package/src/__tests__/skills-files-catalog-fallback.test.ts +259 -577
- 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-cloud-login.ts +18 -0
- 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__/callback-routes-list.test.ts +2 -2
- 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/cloud/index.ts +1 -1
- package/src/cli/commands/config.ts +2 -2
- 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__/substrate-twin-shadowing.test.ts +36 -26
- 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 +21 -26
- 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 +29 -10
- package/src/config/schemas/llm.ts +36 -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/substrate-twin-shadowing.ts +12 -17
- package/src/config/sync-gated-profiles.ts +8 -9
- 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 +2 -23
- package/src/credential-health/credential-health-service.ts +59 -70
- 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 +32 -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/__tests__/memory-tier-boundary-guard.test.ts +5 -0
- 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 +126 -82
- 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} +86 -119
- package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
- package/src/runtime/routes/conversation-query-routes.ts +345 -667
- 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 +20 -61
- 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 +2 -20
- 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/layout.ts +479 -0
- package/src/util/oom-priority.ts +1 -1
- package/src/util/platform.ts +12 -468
- 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 +6 -6
- 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/api/events/show-platform-login.ts +0 -20
- 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
|
@@ -3,15 +3,15 @@ import { join } from "node:path";
|
|
|
3
3
|
|
|
4
4
|
import { getCatalogProviderForModel } from "../providers/model-catalog.js";
|
|
5
5
|
|
|
6
|
-
// Enable adaptive thinking on the
|
|
6
|
+
// Enable adaptive thinking on the cloud "balanced" and "quality-optimized"
|
|
7
7
|
// profiles.
|
|
8
8
|
//
|
|
9
9
|
// The assistant-side seed defaults (MANAGED_PROFILE_TEMPLATES in
|
|
10
10
|
// seed-inference-profiles.ts) already ship thinking: { enabled: true,
|
|
11
11
|
// streamThinking: true } for both profiles, which normalizes to
|
|
12
12
|
// { type: "adaptive" } on the wire. Off-platform (BYOK) instances pick this
|
|
13
|
-
// up on every boot because the seeder overwrites
|
|
14
|
-
// instances preserve existing profiles (the
|
|
13
|
+
// up on every boot because the seeder overwrites cloud profiles. On-platform
|
|
14
|
+
// instances preserve existing profiles (the cloud overlay is authoritative),
|
|
15
15
|
// so instances that were hatched before thinking was enabled in the templates
|
|
16
16
|
// are stuck with thinking disabled or absent.
|
|
17
17
|
//
|
|
@@ -47,7 +47,7 @@ const TARGET_PROFILES = ["balanced", "quality-optimized"] as const;
|
|
|
47
47
|
*
|
|
48
48
|
* Idempotent: profiles that already have thinking enabled are skipped.
|
|
49
49
|
*/
|
|
50
|
-
export function
|
|
50
|
+
export function repairAdaptiveThinkingOnCloudProfiles(
|
|
51
51
|
workspaceDir: string,
|
|
52
52
|
): void {
|
|
53
53
|
const configPath = join(workspaceDir, "config.json");
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
USER_PROFILE_TEMPLATES,
|
|
9
9
|
} from "../config/default-profile-catalog.js";
|
|
10
10
|
import type { DefaultProfileKey } from "../config/default-profile-names.js";
|
|
11
|
-
import {
|
|
11
|
+
import { getIsCloud } from "../config/env-registry.js";
|
|
12
12
|
import { invalidateConfigCache } from "../config/loader.js";
|
|
13
13
|
import {
|
|
14
14
|
isByokDefaultProviderChoice,
|
|
@@ -90,7 +90,7 @@ type HatchEraProfileKey = (typeof HATCH_ERA_PROFILE_KEYS)[number];
|
|
|
90
90
|
* carried off a retired copy by this pass) is user overlay state and stays.
|
|
91
91
|
* The carry arm below never writes the frozen label, so a match is always
|
|
92
92
|
* hatch-written modulo the status toggle. A managed-source entry with any
|
|
93
|
-
* other key (a
|
|
93
|
+
* other key (a cloud overlay body) is not a stub and is likewise left
|
|
94
94
|
* alone.
|
|
95
95
|
*/
|
|
96
96
|
const STUB_ONLY_KEYS = new Set(["source", "status", "label", "thinking"]);
|
|
@@ -101,7 +101,7 @@ const HATCH_STUB_LABELS: Record<HatchEraProfileKey, string> = {
|
|
|
101
101
|
};
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
|
-
* Migration 097 and `
|
|
104
|
+
* Migration 097 and `repairAdaptiveThinkingOnCloudProfiles` stamp exactly
|
|
105
105
|
* this `thinking` value onto managed anthropic-backed entries, hatch stubs
|
|
106
106
|
* included, so live stubs commonly carry it (confirmed on real workspaces).
|
|
107
107
|
* A stub's `thinking` must equal this frozen shape byte-for-byte to count as
|
|
@@ -162,7 +162,7 @@ function foldPersonalEntryName(provider: string): string {
|
|
|
162
162
|
* copies, verified against `providers/model-intents.ts` git history. Hatch
|
|
163
163
|
* seeding materializes a copy's model exactly once (`custom-*` seeding began
|
|
164
164
|
* 2026-05-05, #29755), and the profile-model migrations (100, 103, 109, 113,
|
|
165
|
-
* 123) deliberately rewrite only the
|
|
165
|
+
* 123) deliberately rewrite only the cloud default entries (`custom-*` is
|
|
166
166
|
* the user's to manage), so an untouched copy still carries whichever value
|
|
167
167
|
* its hatch-era intent resolved to. Migrations 136 and 146 are the
|
|
168
168
|
* exceptions: they rewrite stale Fireworks pins (`custom-*` included) in
|
|
@@ -255,7 +255,7 @@ export function ensureByokDefaultProfiles(workspaceDir: string): void {
|
|
|
255
255
|
if (!existsSync(configPath)) {
|
|
256
256
|
return;
|
|
257
257
|
}
|
|
258
|
-
if (
|
|
258
|
+
if (getIsCloud()) {
|
|
259
259
|
return;
|
|
260
260
|
}
|
|
261
261
|
|
|
@@ -275,7 +275,7 @@ export function ensureByokDefaultProfiles(workspaceDir: string): void {
|
|
|
275
275
|
return;
|
|
276
276
|
}
|
|
277
277
|
// The selection lives in the `llm.default` blob; a value the matrix
|
|
278
|
-
// cannot implement reads as the
|
|
278
|
+
// cannot implement reads as the cloud column and converts nothing.
|
|
279
279
|
const blob = RawDefaultSelectionSchema.parse(llm.default);
|
|
280
280
|
const defaultProvider = blob.provider;
|
|
281
281
|
if (defaultProvider == null || !isDefaultProviderChoice(defaultProvider)) {
|
|
@@ -620,7 +620,7 @@ function repointRetiredReferences(
|
|
|
620
620
|
}
|
|
621
621
|
|
|
622
622
|
/**
|
|
623
|
-
* Advisor fallback order, mirroring the
|
|
623
|
+
* Advisor fallback order, mirroring the cloud list `seedInferenceProfiles`
|
|
624
624
|
* repairs from.
|
|
625
625
|
*/
|
|
626
626
|
const ADVISOR_FALLBACK_ORDER = [
|
|
@@ -1743,14 +1743,14 @@ export class WorkspaceGitService {
|
|
|
1743
1743
|
}
|
|
1744
1744
|
|
|
1745
1745
|
/**
|
|
1746
|
-
* Drop tracked files matched by the Cadet
|
|
1746
|
+
* Drop tracked files matched by the Cadet Cloud ignore rules from the
|
|
1747
1747
|
* index (working tree untouched). Ignore rules only affect untracked
|
|
1748
1748
|
* paths, so committed runtime state (e.g. embedding-models/) stays in the
|
|
1749
1749
|
* index — and churns every commit — until explicitly removed here. The
|
|
1750
1750
|
* staged deletions ride along with the next commit. Best-effort: failures
|
|
1751
1751
|
* are logged, never block init. Must be called with the mutex lock held.
|
|
1752
1752
|
*
|
|
1753
|
-
* Deliberately matches against the Cadet
|
|
1753
|
+
* Deliberately matches against the Cadet Cloud rules only — not the
|
|
1754
1754
|
* workspace .gitignore (which may carry user-authored rules whose matches
|
|
1755
1755
|
* are force-added on purpose) and not --exclude-standard (the user's
|
|
1756
1756
|
* global/local exclude files). The rules are passed via a temp file under
|
|
@@ -67,7 +67,7 @@ export const servicesConfigMigration: WorkspaceMigration = {
|
|
|
67
67
|
let inferenceMode: "managed" | "your-own" = "your-own";
|
|
68
68
|
try {
|
|
69
69
|
// Check if the user has ANY inference provider key configured.
|
|
70
|
-
// If so, keep "your-own" regardless of
|
|
70
|
+
// If so, keep "your-own" regardless of cloud credentials.
|
|
71
71
|
const inferenceProviders = [
|
|
72
72
|
"anthropic",
|
|
73
73
|
"openai",
|
|
@@ -46,7 +46,7 @@ export const seedLatencyCallSiteDefaultsMigration: WorkspaceMigration = {
|
|
|
46
46
|
description:
|
|
47
47
|
"Seed latency-optimized call-site defaults for background LLM tasks",
|
|
48
48
|
run(workspaceDir: string): void {
|
|
49
|
-
// If a
|
|
49
|
+
// If a cloud default-config overlay is in play, it runs after
|
|
50
50
|
// migrations and is the authoritative source for both provider and
|
|
51
51
|
// call-site seeds. Skip to avoid mismatched provider/model pairs.
|
|
52
52
|
if (process.env.CADET_DEFAULT_WORKSPACE_CONFIG_PATH) {
|
|
@@ -33,7 +33,7 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
33
33
|
* call-site defaults because they are the user's chat-model selection.
|
|
34
34
|
*
|
|
35
35
|
* **Skip when `CADET_DEFAULT_WORKSPACE_CONFIG_PATH` is set.** Like
|
|
36
|
-
* migration 040, a
|
|
36
|
+
* migration 040, a cloud-provided default-config overlay (applied
|
|
37
37
|
* after migrations) is the authoritative source for both provider and
|
|
38
38
|
* profile seeds. Skipping here avoids mismatched provider/model pairs.
|
|
39
39
|
*/
|
|
@@ -22,7 +22,7 @@ const RELEASE_NOTE = `${MARKER}
|
|
|
22
22
|
Inference profiles now show max output tokens as a model-aware slider, so the
|
|
23
23
|
available range follows the selected model instead of accepting invalid values.
|
|
24
24
|
|
|
25
|
-
You can also configure the context window per profile. New
|
|
25
|
+
You can also configure the context window per profile. New cloud profiles
|
|
26
26
|
stay at the conservative 200K context budget by default, and existing profiles
|
|
27
27
|
keep their current effective context budget unless you edit them.
|
|
28
28
|
`;
|
|
@@ -7,7 +7,7 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
7
7
|
* Seed a cheap, bounded default for the `heartbeatAgent` LLM call site.
|
|
8
8
|
*
|
|
9
9
|
* Heartbeats are default-on and now run frequently, so they should not inherit
|
|
10
|
-
* the workspace's active chat profile. The default
|
|
10
|
+
* the workspace's active chat profile. The default cloud profile is Sonnet
|
|
11
11
|
* with high effort and thinking enabled, which is appropriate for interactive
|
|
12
12
|
* chat but too expensive for a periodic background triage pass.
|
|
13
13
|
*
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* thinking but **no `label`** field. The runtime profile seeder
|
|
13
13
|
* (`seedInferenceProfiles`) materializes labels on its second pass —
|
|
14
14
|
* but only when the profile didn't already exist. In platform mode
|
|
15
|
-
* (`
|
|
15
|
+
* (`IS_CLOUD=true`) it deliberately defers to the existing on-disk
|
|
16
16
|
* entry to avoid clobbering platform-supplied overlay fragments, so the
|
|
17
17
|
* label never gets written.
|
|
18
18
|
*
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
*
|
|
35
35
|
* Idempotent: running twice produces no second write.
|
|
36
36
|
*
|
|
37
|
-
* Does NOT skip on `CADET_DEFAULT_WORKSPACE_CONFIG_PATH`: the
|
|
37
|
+
* Does NOT skip on `CADET_DEFAULT_WORKSPACE_CONFIG_PATH`: the cloud
|
|
38
38
|
* overlay supplies its own label when it cares, and the runtime seeder's
|
|
39
39
|
* `preservedProfileNames` skip path will defer to that overlay-supplied
|
|
40
40
|
* label on every boot. This migration only fills the gap when no source
|
|
@@ -52,7 +52,7 @@ const log = getLogger(
|
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
* Bare template labels for the canonical
|
|
55
|
+
* Bare template labels for the canonical cloud profile triplet. Kept in
|
|
56
56
|
* sync with `MANAGED_PROFILE_TEMPLATES` in
|
|
57
57
|
* `assistant/src/config/seed-inference-profiles.ts`. Duplicated here
|
|
58
58
|
* intentionally — migrations are forward-only and self-contained per the
|
|
@@ -65,7 +65,7 @@ const CANONICAL_MANAGED_PROFILE_LABELS: Record<string, string> = {
|
|
|
65
65
|
"cost-optimized": "Speed",
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
export const
|
|
68
|
+
export const backfillCloudProfileLabelsMigration: WorkspaceMigration = {
|
|
69
69
|
id: "082-backfill-managed-profile-labels",
|
|
70
70
|
description:
|
|
71
71
|
"Backfill label on canonical managed inference profiles when absent",
|
|
@@ -11,8 +11,8 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
11
11
|
//
|
|
12
12
|
// Two skip conditions guard against runtime regressions:
|
|
13
13
|
//
|
|
14
|
-
// 1. BYOK / non-Anthropic workspaces. `balanced` resolves to the
|
|
15
|
-
// Anthropic connection (see seedInferenceProfiles), which off-
|
|
14
|
+
// 1. BYOK / non-Anthropic workspaces. `balanced` resolves to the cloud
|
|
15
|
+
// Anthropic connection (see seedInferenceProfiles), which off-cloud
|
|
16
16
|
// installs explicitly disable. Forcing `balanced` there would make
|
|
17
17
|
// getConfiguredProvider("memoryRouter") return null and silently
|
|
18
18
|
// disable memory injection. Detect this by inspecting llm.default.provider
|
|
@@ -20,7 +20,7 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
20
20
|
//
|
|
21
21
|
// 2. User-customized memoryRouter config. If the existing entry isn't the
|
|
22
22
|
// exact 077-seeded shape (and isn't already {profile: "balanced"}), the
|
|
23
|
-
// user — or a
|
|
23
|
+
// user — or a cloud overlay — chose those values deliberately. Match
|
|
24
24
|
// 077's pattern of preserving any prior config.
|
|
25
25
|
export const memoryRouterBalancedProfileMigration: WorkspaceMigration = {
|
|
26
26
|
id: "087-memory-router-balanced-profile",
|
|
@@ -5,7 +5,7 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
5
5
|
|
|
6
6
|
// Flip callSites.memoryRouter from { profile: "balanced" } (the shape that
|
|
7
7
|
// migration 087 wrote) to the shipped cost-optimized default so the router
|
|
8
|
-
// rides the workspace's cheaper/faster
|
|
8
|
+
// rides the workspace's cheaper/faster cloud profile.
|
|
9
9
|
//
|
|
10
10
|
// The migrated entry must mirror the shipped default in call-site-defaults.ts
|
|
11
11
|
// EXACTLY — { profile: "cost-optimized", contextWindow: { maxInputTokens:
|
|
@@ -26,14 +26,14 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
26
26
|
//
|
|
27
27
|
// Two skip conditions, mirroring 087:
|
|
28
28
|
//
|
|
29
|
-
// 1. BYOK / non-Anthropic workspaces. `cost-optimized` is a
|
|
30
|
-
// Anthropic profile, which off-
|
|
29
|
+
// 1. BYOK / non-Anthropic workspaces. `cost-optimized` is a cloud
|
|
30
|
+
// Anthropic profile, which off-cloud installs disable. Forcing it
|
|
31
31
|
// there would make getConfiguredProvider("memoryRouter") return null
|
|
32
32
|
// and silently disable memory injection. Detect via llm.default.provider.
|
|
33
33
|
//
|
|
34
34
|
// 2. User-customized memoryRouter config. If the existing entry carries any
|
|
35
35
|
// key beyond a bare balanced/cost-optimized profile reference, the user —
|
|
36
|
-
// or a
|
|
36
|
+
// or a cloud overlay — chose those values deliberately. Preserve them.
|
|
37
37
|
const MEMORY_ROUTER_COST_OPTIMIZED = {
|
|
38
38
|
profile: "cost-optimized",
|
|
39
39
|
contextWindow: { maxInputTokens: 1_000_000 },
|
|
@@ -3,15 +3,15 @@ import { join } from "node:path";
|
|
|
3
3
|
|
|
4
4
|
import type { WorkspaceMigration } from "./types.js";
|
|
5
5
|
|
|
6
|
-
// Enable adaptive thinking on the
|
|
6
|
+
// Enable adaptive thinking on the cloud "balanced" and "quality-optimized"
|
|
7
7
|
// profiles for existing platform instances.
|
|
8
8
|
//
|
|
9
9
|
// The assistant-side seed defaults (MANAGED_PROFILE_TEMPLATES in
|
|
10
10
|
// seed-inference-profiles.ts) already ship thinking: { enabled: true,
|
|
11
11
|
// streamThinking: true } for both profiles, which normalizes to
|
|
12
12
|
// { type: "adaptive" } on the wire. Off-platform (BYOK) instances pick this
|
|
13
|
-
// up on every boot because the seeder overwrites
|
|
14
|
-
// instances preserve existing profiles (the
|
|
13
|
+
// up on every boot because the seeder overwrites cloud profiles. On-platform
|
|
14
|
+
// instances preserve existing profiles (the cloud overlay is authoritative),
|
|
15
15
|
// so instances that were hatched before thinking was enabled in the templates
|
|
16
16
|
// are stuck with thinking disabled or absent.
|
|
17
17
|
//
|
|
@@ -32,7 +32,7 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
32
32
|
// migration 052 off the repair while still patching profiles that pin a
|
|
33
33
|
// known Claude model under a non-Anthropic default.
|
|
34
34
|
//
|
|
35
|
-
// Note: the live startup path re-runs the same repair after the
|
|
35
|
+
// Note: the live startup path re-runs the same repair after the cloud
|
|
36
36
|
// overlay merge — see assistant/src/workspace/adaptive-thinking-repair.ts.
|
|
37
37
|
// This file keeps its own frozen copy of the logic because migration modules
|
|
38
38
|
// are self-contained snapshots and must never be imported by other code.
|
|
@@ -40,7 +40,7 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
40
40
|
const ADAPTIVE_THINKING = { enabled: true, streamThinking: true } as const;
|
|
41
41
|
const TARGET_PROFILES = ["balanced", "quality-optimized"] as const;
|
|
42
42
|
|
|
43
|
-
export const
|
|
43
|
+
export const enableAdaptiveThinkingCloudProfilesMigration: WorkspaceMigration =
|
|
44
44
|
{
|
|
45
45
|
id: "097-enable-adaptive-thinking-managed-profiles",
|
|
46
46
|
description:
|
|
@@ -6,15 +6,15 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
6
6
|
// Upgrade quality-optimized profiles to Claude Fable 5.
|
|
7
7
|
//
|
|
8
8
|
// The quality-optimized model intent moved to claude-fable-5 (#34498), but
|
|
9
|
-
// the intent map is only consulted when a profile is seeded: off-
|
|
10
|
-
// installs reseed
|
|
9
|
+
// the intent map is only consulted when a profile is seeded: off-cloud
|
|
10
|
+
// installs reseed cloud profiles on every boot, while on-cloud
|
|
11
11
|
// workspaces keep the profile they were hatched with — the seeder skips
|
|
12
12
|
// existing profiles there, and the hatch overlay is consumed exactly once.
|
|
13
13
|
// Existing platform assistants are therefore stuck on whichever model the
|
|
14
14
|
// quality intent pointed at when they hatched (claude-opus-4-7 or
|
|
15
15
|
// claude-opus-4-8) until a migration rewrites it.
|
|
16
16
|
//
|
|
17
|
-
// Only the
|
|
17
|
+
// Only the cloud quality-optimized profile is touched — the user-owned
|
|
18
18
|
// custom-quality-optimized copy is theirs to manage. Within it, only a model
|
|
19
19
|
// still on a previous quality-intent default is upgraded — matching by model
|
|
20
20
|
// value also covers the OpenRouter-prefixed ids. A profile whose model the
|
|
@@ -32,7 +32,7 @@ const MODEL_UPGRADES: Record<string, string> = {
|
|
|
32
32
|
export const upgradeQualityProfileToFable5Migration: WorkspaceMigration = {
|
|
33
33
|
id: "100-upgrade-quality-profile-to-fable-5",
|
|
34
34
|
description:
|
|
35
|
-
"Upgrade the
|
|
35
|
+
"Upgrade the cloud quality-optimized profile from Opus 4.7/4.8 to Claude Fable 5",
|
|
36
36
|
run(workspaceDir: string): void {
|
|
37
37
|
const configPath = join(workspaceDir, "config.json");
|
|
38
38
|
if (!existsSync(configPath)) {
|
|
@@ -6,14 +6,14 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
6
6
|
// Switch the Balanced Economy profile from Kimi K2.6 to MiniMax M3.
|
|
7
7
|
//
|
|
8
8
|
// The Fireworks balanced model intent moved to MiniMax M3 (#34726), but the
|
|
9
|
-
// intent map is only consulted when a profile is seeded: off-
|
|
10
|
-
// installs reseed
|
|
9
|
+
// intent map is only consulted when a profile is seeded: off-cloud
|
|
10
|
+
// installs reseed cloud profiles on every boot, while on-cloud
|
|
11
11
|
// workspaces keep the profile they were hatched with — the seeder skips
|
|
12
12
|
// existing profiles there. Existing platform assistants would otherwise stay
|
|
13
13
|
// on Kimi K2.6 (including the now-dropped `suppress-cjk` logit-bias preset)
|
|
14
14
|
// until a migration rewrites the profile.
|
|
15
15
|
//
|
|
16
|
-
// Only the
|
|
16
|
+
// Only the cloud balanced-economy profile still pointing at the old
|
|
17
17
|
// default model is touched — a profile whose model the user changed is left
|
|
18
18
|
// alone. The rewrite mirrors the new seed template: MiniMax M3, 32K max
|
|
19
19
|
// output tokens, no logit-bias preset.
|
|
@@ -24,7 +24,7 @@ const NEW_MODEL = "accounts/fireworks/models/minimax-m3";
|
|
|
24
24
|
export const upgradeBalancedEconomyToMinimaxM3Migration: WorkspaceMigration = {
|
|
25
25
|
id: "101-upgrade-balanced-economy-to-minimax-m3",
|
|
26
26
|
description:
|
|
27
|
-
"Switch the
|
|
27
|
+
"Switch the cloud Balanced Economy profile from Kimi K2.6 to MiniMax M3",
|
|
28
28
|
run(workspaceDir: string): void {
|
|
29
29
|
const configPath = join(workspaceDir, "config.json");
|
|
30
30
|
if (!existsSync(configPath)) {
|
|
@@ -3,17 +3,17 @@ import { join } from "node:path";
|
|
|
3
3
|
|
|
4
4
|
import type { WorkspaceMigration } from "./types.js";
|
|
5
5
|
|
|
6
|
-
// Move the
|
|
6
|
+
// Move the cloud quality-optimized profile from Claude Fable 5 to Opus 4.8.
|
|
7
7
|
//
|
|
8
8
|
// The quality-optimized intent maps to claude-opus-4-8, but the intent map is
|
|
9
|
-
// only consulted when a profile is seeded: off-
|
|
10
|
-
//
|
|
9
|
+
// only consulted when a profile is seeded: off-cloud installs reseed
|
|
10
|
+
// cloud profiles on every boot, while on-cloud workspaces keep the
|
|
11
11
|
// profile they were hatched with — the seeder skips existing profiles there,
|
|
12
12
|
// and the hatch overlay is consumed exactly once. A platform workspace holding
|
|
13
13
|
// a Claude Fable 5 quality-optimized profile therefore keeps it until a
|
|
14
14
|
// migration rewrites it.
|
|
15
15
|
//
|
|
16
|
-
// Only the
|
|
16
|
+
// Only the cloud quality-optimized profile is touched — the user-owned
|
|
17
17
|
// custom-quality-optimized copy is theirs to manage. Within it, only a profile
|
|
18
18
|
// still on claude-fable-5 is rewritten — matching by model value also covers
|
|
19
19
|
// the OpenRouter-prefixed id. A profile whose model the user changed to
|
|
@@ -29,7 +29,7 @@ const MODEL_UPGRADES: Record<string, string> = {
|
|
|
29
29
|
export const upgradeQualityProfileToOpus48Migration: WorkspaceMigration = {
|
|
30
30
|
id: "103-upgrade-quality-profile-to-opus-4-8",
|
|
31
31
|
description:
|
|
32
|
-
"Move the
|
|
32
|
+
"Move the cloud quality-optimized profile from Claude Fable 5 to Opus 4.8",
|
|
33
33
|
run(workspaceDir: string): void {
|
|
34
34
|
const configPath = join(workspaceDir, "config.json");
|
|
35
35
|
if (!existsSync(configPath)) {
|
|
@@ -35,7 +35,7 @@ export const recheckAdaptiveThinkingModelImpliedAnthropicMigration: WorkspaceMig
|
|
|
35
35
|
{
|
|
36
36
|
id: "104-recheck-adaptive-thinking-model-implied-anthropic",
|
|
37
37
|
description:
|
|
38
|
-
"Re-enable adaptive thinking on
|
|
38
|
+
"Re-enable adaptive thinking on cloud profiles that imply Anthropic via a known Claude model",
|
|
39
39
|
run(workspaceDir: string): void {
|
|
40
40
|
const configPath = join(workspaceDir, "config.json");
|
|
41
41
|
if (!existsSync(configPath)) {
|
|
@@ -4,7 +4,7 @@ import { join } from "node:path";
|
|
|
4
4
|
import type { WorkspaceMigration } from "./types.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Drops the `collectUsageData` config key (gating is governed by the
|
|
7
|
+
* Drops the `collectUsageData` config key (gating is governed by the cloud
|
|
8
8
|
* `share_analytics` consent). An explicit local opt-out (`collectUsageData:
|
|
9
9
|
* false`) is preserved as `legacyTelemetryOptOut: true` so telemetry stays off
|
|
10
10
|
* regardless of platform consent, which defaults to opt-in and cannot be
|
|
@@ -3,10 +3,10 @@ import { join } from "node:path";
|
|
|
3
3
|
|
|
4
4
|
import type { WorkspaceMigration } from "./types.js";
|
|
5
5
|
|
|
6
|
-
// Reclaim the
|
|
6
|
+
// Reclaim the cloud `balanced-economy` inference profile. Its
|
|
7
7
|
// MiniMax-M3-on-Fireworks config lives on `balanced`, whose content the seeder
|
|
8
8
|
// reconciles from the templates on every boot; the seeder never deletes a
|
|
9
|
-
// profile, so this migration deletes the
|
|
9
|
+
// profile, so this migration deletes the cloud `balanced-economy` object and
|
|
10
10
|
// repoints every reference to it — its `profileOrder` entry, the `activeProfile`
|
|
11
11
|
// and `advisorProfile` selections, call-site `profile` overrides, and mix-profile
|
|
12
12
|
// arms — onto `balanced`, which resolves to the same MiniMax M3 route. A
|
|
@@ -19,7 +19,7 @@ const REPLACEMENT = "balanced";
|
|
|
19
19
|
export const dropBalancedEconomyProfileMigration: WorkspaceMigration = {
|
|
20
20
|
id: "108-drop-balanced-economy-profile",
|
|
21
21
|
description:
|
|
22
|
-
"Remove the
|
|
22
|
+
"Remove the cloud Balanced Economy profile and repoint its references to Balanced",
|
|
23
23
|
run(workspaceDir: string): void {
|
|
24
24
|
const configPath = join(workspaceDir, "config.json");
|
|
25
25
|
if (!existsSync(configPath)) {
|
|
@@ -46,7 +46,7 @@ export const dropBalancedEconomyProfileMigration: WorkspaceMigration = {
|
|
|
46
46
|
const economy = profiles !== null ? readObject(profiles[ECONOMY]) : null;
|
|
47
47
|
|
|
48
48
|
// A user-owned profile that happens to use this name keeps everything,
|
|
49
|
-
// references included — only the
|
|
49
|
+
// references included — only the cloud profile is reclaimed.
|
|
50
50
|
if (economy !== null && economy.source !== "managed") {
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
@@ -4,26 +4,26 @@ import { join } from "node:path";
|
|
|
4
4
|
import type { WorkspaceMigration } from "./types.js";
|
|
5
5
|
|
|
6
6
|
// Bring an existing workspace's managed inference config in line with the
|
|
7
|
-
// current code templates: the
|
|
8
|
-
// (Fireworks), and the default advisor points at the
|
|
7
|
+
// current code templates: the cloud `quality-optimized` profile runs GLM 5.2
|
|
8
|
+
// (Fireworks), and the default advisor points at the cloud `frontier` (Opus)
|
|
9
9
|
// profile.
|
|
10
10
|
//
|
|
11
|
-
// A migration is needed even though the seeder reconciles
|
|
11
|
+
// A migration is needed even though the seeder reconciles cloud-profile
|
|
12
12
|
// content from the templates on every boot, because the seeder only consults a
|
|
13
13
|
// template when it reseeds that profile. Off-platform installs reseed every
|
|
14
|
-
// boot, but a
|
|
14
|
+
// boot, but a cloud workspace keeps the profile it was hatched with (the
|
|
15
15
|
// seeder skips overlay-supplied profiles, and the overlay is consumed once). A
|
|
16
16
|
// platform workspace whose `quality-optimized` profile resolves to Opus
|
|
17
17
|
// therefore relies on this migration to move it to GLM 5.2.
|
|
18
18
|
//
|
|
19
|
-
// Scope: only the
|
|
19
|
+
// Scope: only the cloud `quality-optimized` profile is rewritten — the
|
|
20
20
|
// user-owned `custom-quality-optimized` copy is theirs to manage, and an
|
|
21
21
|
// explicitly user-owned `quality-optimized` is left alone. A profile matches
|
|
22
22
|
// only when its model is an Opus id (the OpenRouter-prefixed id included);
|
|
23
23
|
// absent `source` on this canonical name means legacy managed (migration 052
|
|
24
24
|
// seeds it source-less), so it counts as ours.
|
|
25
25
|
//
|
|
26
|
-
// The
|
|
26
|
+
// The cloud `frontier` profile is materialized by the boot seeder (it is a
|
|
27
27
|
// managed template), so this migration only points the default advisor at it,
|
|
28
28
|
// and only when the workspace still carries the seeded `quality-optimized`
|
|
29
29
|
// default and no user-owned `frontier` profile exists.
|
|
@@ -38,7 +38,7 @@ const GLM_52_MODEL = "accounts/fireworks/models/glm-5p2";
|
|
|
38
38
|
export const swapQualityProfileToGlm52Migration: WorkspaceMigration = {
|
|
39
39
|
id: "109-swap-quality-profile-to-glm-5p2",
|
|
40
40
|
description:
|
|
41
|
-
"Set the
|
|
41
|
+
"Set the cloud quality-optimized profile to GLM 5.2 and point the default advisor at frontier",
|
|
42
42
|
run(workspaceDir: string): void {
|
|
43
43
|
const configPath = join(workspaceDir, "config.json");
|
|
44
44
|
if (!existsSync(configPath)) {
|
|
@@ -66,7 +66,7 @@ export const swapQualityProfileToGlm52Migration: WorkspaceMigration = {
|
|
|
66
66
|
const profiles = readObject(llm.profiles);
|
|
67
67
|
if (profiles !== null) {
|
|
68
68
|
const profile = readObject(profiles["quality-optimized"]);
|
|
69
|
-
// Only the
|
|
69
|
+
// Only the cloud profile is ours to migrate. `quality-optimized` is a
|
|
70
70
|
// canonical name reserved since migration 052, which seeded it source-less,
|
|
71
71
|
// so absent `source` means legacy managed — treat it as ours. Only an
|
|
72
72
|
// explicit `source: "user"` (a profile the user took ownership of) is left
|
|
@@ -90,15 +90,15 @@ export const swapQualityProfileToGlm52Migration: WorkspaceMigration = {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
// Move the default advisor pointer to the new strongest
|
|
93
|
+
// Move the default advisor pointer to the new strongest cloud profile.
|
|
94
94
|
// Only the seeded default (`quality-optimized`) is rewritten; a workspace
|
|
95
95
|
// that picked its own advisor profile keeps it. Skip the rewrite when a
|
|
96
96
|
// user already owns a profile named `frontier`: the seeder leaves that
|
|
97
|
-
// user profile in place rather than materializing the
|
|
97
|
+
// user profile in place rather than materializing the cloud Opus one, so
|
|
98
98
|
// pointing the advisor at it would consult an arbitrary user model. Leaving
|
|
99
99
|
// the advisor on `quality-optimized` (now managed GLM 5.2) is the safe
|
|
100
100
|
// fallback in that collision case. Any `frontier` present at migration time
|
|
101
|
-
// is user-owned (the
|
|
101
|
+
// is user-owned (the cloud one is materialized later, at seed time);
|
|
102
102
|
// treat anything not explicitly `source: "managed"` as theirs, since the
|
|
103
103
|
// settings UI saves custom profiles without a `source`.
|
|
104
104
|
const existingFrontier = readObject(profiles?.frontier);
|
|
@@ -3,18 +3,18 @@ import { join } from "node:path";
|
|
|
3
3
|
|
|
4
4
|
import type { WorkspaceMigration } from "./types.js";
|
|
5
5
|
|
|
6
|
-
// Move the
|
|
6
|
+
// Move the cloud `balanced` profile from Fireworks MiniMax M3 to Together AI.
|
|
7
7
|
//
|
|
8
8
|
// Together serves MiniMax M3 with correct forced-`tool_choice` and object-typed
|
|
9
9
|
// tool-arg handling; the Fireworks copy collapses object args to `{}`. The boot
|
|
10
|
-
// seeder reconciles
|
|
11
|
-
// it reseeds a profile: off-
|
|
10
|
+
// seeder reconciles cloud-profile content from the templates, but only when
|
|
11
|
+
// it reseeds a profile: off-cloud installs reseed every boot, while a
|
|
12
12
|
// platform workspace keeps the profile it was hatched with (the seeder skips
|
|
13
13
|
// overlay-supplied profiles, and the overlay is consumed once). A platform
|
|
14
14
|
// workspace whose `balanced` profile still resolves to Fireworks MiniMax M3
|
|
15
15
|
// therefore relies on this migration to move it to Together.
|
|
16
16
|
//
|
|
17
|
-
// Scope: only the
|
|
17
|
+
// Scope: only the cloud `balanced` profile still on the Fireworks MiniMax M3
|
|
18
18
|
// default is rewritten. A user-owned `balanced` (`source: "user"`) or one whose
|
|
19
19
|
// model the user changed is left alone. Migration 052 seeds `balanced`
|
|
20
20
|
// source-less, so absent `source` means legacy managed — treat it as ours. The
|
|
@@ -27,7 +27,7 @@ const NEW_MODEL = "MiniMaxAI/MiniMax-M3";
|
|
|
27
27
|
export const flipBalancedProfileToTogetherMigration: WorkspaceMigration = {
|
|
28
28
|
id: "110-flip-balanced-profile-to-together",
|
|
29
29
|
description:
|
|
30
|
-
"Move the
|
|
30
|
+
"Move the cloud balanced profile from Fireworks to Together AI (MiniMax M3)",
|
|
31
31
|
run(workspaceDir: string): void {
|
|
32
32
|
const configPath = join(workspaceDir, "config.json");
|
|
33
33
|
if (!existsSync(configPath)) {
|
|
@@ -56,7 +56,7 @@ export const flipBalancedProfileToTogetherMigration: WorkspaceMigration = {
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
const profile = readObject(profiles["balanced"]);
|
|
59
|
-
// Only the
|
|
59
|
+
// Only the cloud profile still on the Fireworks MiniMax M3 default is
|
|
60
60
|
// ours to migrate. `balanced` is seeded source-less by migration 052, so
|
|
61
61
|
// absent `source` means legacy managed; only an explicit `source: "user"`
|
|
62
62
|
// is left untouched. Matching on the old model id leaves a user-retargeted
|
|
@@ -5,18 +5,18 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
5
5
|
|
|
6
6
|
// Bring an existing workspace's managed `balanced` profile in line with the
|
|
7
7
|
// current code template: it now runs GLM 5.2 (Fireworks) at effort `high`,
|
|
8
|
-
// taking over the model the
|
|
8
|
+
// taking over the model the cloud `quality-optimized` profile used to serve.
|
|
9
9
|
// The slot keeps its own `label` and `description`.
|
|
10
10
|
//
|
|
11
|
-
// A migration is needed even though the seeder reconciles
|
|
11
|
+
// A migration is needed even though the seeder reconciles cloud-profile
|
|
12
12
|
// content from the templates on every boot, because the seeder only consults a
|
|
13
13
|
// template when it reseeds that profile. Off-platform installs reseed every
|
|
14
|
-
// boot, but a
|
|
14
|
+
// boot, but a cloud workspace keeps the profile it was hatched with (the
|
|
15
15
|
// seeder skips overlay-supplied profiles, and the overlay is consumed once). A
|
|
16
16
|
// platform workspace whose `balanced` profile still resolves to Together
|
|
17
17
|
// MiniMax M3 therefore relies on this migration to move it to GLM 5.2.
|
|
18
18
|
//
|
|
19
|
-
// Scope: only the
|
|
19
|
+
// Scope: only the cloud `balanced` profile is rewritten. `balanced` is a
|
|
20
20
|
// canonical name reserved since migration 052, which seeded it source-less, so
|
|
21
21
|
// absent `source` means legacy managed — treat it as ours. An explicit
|
|
22
22
|
// `source: "user"` (a profile the user took ownership of) or one whose model the
|
|
@@ -43,7 +43,7 @@ const SEEDED_TOP_P = 0.95;
|
|
|
43
43
|
|
|
44
44
|
export const swapBalancedProfileToGlm52Migration: WorkspaceMigration = {
|
|
45
45
|
id: "113-swap-balanced-profile-to-glm-5p2",
|
|
46
|
-
description: "Set the
|
|
46
|
+
description: "Set the cloud balanced profile to GLM 5.2 (Fireworks)",
|
|
47
47
|
run(workspaceDir: string): void {
|
|
48
48
|
const configPath = join(workspaceDir, "config.json");
|
|
49
49
|
if (!existsSync(configPath)) {
|
|
@@ -9,15 +9,15 @@ import type { WorkspaceMigration } from "./types.js";
|
|
|
9
9
|
// managed `balanced` profile takes over the GLM 5.2 model `quality-optimized`
|
|
10
10
|
// used to serve (migration 113).
|
|
11
11
|
//
|
|
12
|
-
// A migration is needed even though the seeder reconciles
|
|
12
|
+
// A migration is needed even though the seeder reconciles cloud-profile
|
|
13
13
|
// content from the templates on every boot, because the seeder only consults a
|
|
14
14
|
// template when it reseeds that profile. Off-platform installs reseed every
|
|
15
|
-
// boot, but a
|
|
15
|
+
// boot, but a cloud workspace keeps the profile it was hatched with (the
|
|
16
16
|
// seeder skips overlay-supplied profiles, and the overlay is consumed once). A
|
|
17
17
|
// platform workspace whose `quality-optimized` profile resolves to GLM 5.2
|
|
18
18
|
// therefore relies on this migration to move it to Opus.
|
|
19
19
|
//
|
|
20
|
-
// Scope: only the
|
|
20
|
+
// Scope: only the cloud `quality-optimized` profile still on the GLM 5.2
|
|
21
21
|
// default is rewritten. `quality-optimized` is a canonical name reserved since
|
|
22
22
|
// migration 052, which seeded it source-less, so absent `source` means legacy
|
|
23
23
|
// managed — treat it as ours. An explicit `source: "user"` (a profile the user
|
|
@@ -32,7 +32,7 @@ const NEW_MODEL = "claude-opus-4-8";
|
|
|
32
32
|
export const swapQualityProfileToOpusMigration: WorkspaceMigration = {
|
|
33
33
|
id: "114-swap-quality-profile-to-opus",
|
|
34
34
|
description:
|
|
35
|
-
"Set the
|
|
35
|
+
"Set the cloud quality-optimized profile to Anthropic Opus (matching frontier)",
|
|
36
36
|
run(workspaceDir: string): void {
|
|
37
37
|
const configPath = join(workspaceDir, "config.json");
|
|
38
38
|
if (!existsSync(configPath)) {
|