@mycadet/assistant 0.12.7 → 0.12.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/activation-funnel-telemetry.md +6 -6
- package/docs/cadet-doctor.md +7 -7
- package/docs/desktop-browser-cli.md +7 -7
- package/docs/skills.md +2 -2
- package/docs/voice-input-diagnostics.md +1 -1
- package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +2 -2
- package/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
- package/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/package.json +1 -1
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
- package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
- package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
- package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
- package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
- package/node_modules/@mycadet/environments/src/types.ts +6 -6
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +1 -1
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
- package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
- package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
- package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
- package/node_modules/@mycadet/service-contracts/package.json +1 -1
- package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
- package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
- package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
- package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
- package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
- package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
- package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
- package/openapi.yaml +6815 -794
- package/package.json +2 -2
- package/scripts/build-test-fixtures.ts +1 -1
- package/scripts/probe-skill-retrieval.ts +1 -1
- package/scripts/sync-llm-catalog.ts +2 -2
- package/scripts/voice-ttft-spike.ts +2 -2
- package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
- package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
- package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
- package/src/__tests__/anthropic-provider.test.ts +2 -2
- package/src/__tests__/available-skills.test.ts +11 -12
- package/src/__tests__/avatar-identity-sync.test.ts +1 -1
- package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
- package/src/__tests__/call-domain.test.ts +1 -1
- package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
- package/src/__tests__/catalog-files.test.ts +10 -10
- package/src/__tests__/catalog-install-normalize.test.ts +3 -3
- package/src/__tests__/channel-availability-routes.test.ts +8 -8
- package/src/__tests__/channel-readiness-routes.test.ts +4 -4
- package/src/__tests__/channel-readiness-service.test.ts +14 -14
- package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
- package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
- package/src/__tests__/checker.test.ts +6 -6
- package/src/__tests__/clawhub.test.ts +1 -1
- package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
- package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
- package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
- package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
- package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +60 -60
- package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
- package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
- package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
- package/src/__tests__/compaction-events.test.ts +7 -5
- package/src/__tests__/config-loader-backfill.test.ts +65 -65
- package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
- package/src/__tests__/config-loader-corrupt.test.ts +1 -1
- package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
- package/src/__tests__/config-schema.test.ts +3 -3
- package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
- package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
- package/src/__tests__/config-watcher.test.ts +1 -1
- package/src/__tests__/contacts-write.test.ts +1 -1
- package/src/__tests__/conversation-agent-loop.test.ts +2 -2
- package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
- package/src/__tests__/conversation-error.test.ts +45 -45
- package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
- package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
- package/src/__tests__/conversation-skill-tools.test.ts +7 -8
- package/src/__tests__/conversation-slash.test.ts +2 -2
- package/src/__tests__/conversation-speed-override.test.ts +8 -10
- package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
- package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
- package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
- package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
- package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
- package/src/__tests__/credential-health-service.test.ts +27 -41
- package/src/__tests__/credential-routes.test.ts +85 -165
- package/src/__tests__/credential-security-invariants.test.ts +6 -7
- package/src/__tests__/custom-profile-ensure.test.ts +1 -1
- package/src/__tests__/date-context.test.ts +1 -1
- package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
- package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
- package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
- package/src/__tests__/disk-usage.test.ts +3 -3
- package/src/__tests__/email-invite-adapter.test.ts +5 -5
- package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
- package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
- package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
- package/src/__tests__/fallback-breaker.test.ts +7 -7
- package/src/__tests__/feature-flag-test-helpers.ts +106 -0
- package/src/__tests__/gateway-flag-listener.test.ts +1 -1
- package/src/__tests__/gemini-image-service.test.ts +2 -2
- package/src/__tests__/gemini-provider.test.ts +5 -5
- package/src/__tests__/get-skill-detail-audit.test.ts +9 -8
- package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
- package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
- package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
- package/src/__tests__/image-credentials.test.ts +13 -13
- package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
- package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
- package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
- package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
- package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
- package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
- package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
- package/src/__tests__/input-repairs.test.ts +1 -1
- package/src/__tests__/install-skill-routing.test.ts +10 -8
- package/src/__tests__/integration-status.test.ts +5 -5
- package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
- package/src/__tests__/invite-routes-http.test.ts +1 -1
- package/src/__tests__/llm-catalog-parity.test.ts +5 -7
- package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
- package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
- package/src/__tests__/llm-resolver.test.ts +1 -1
- package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
- package/src/__tests__/llm-usage-store.test.ts +1 -1
- package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
- package/src/__tests__/mcp-abort-signal.test.ts +2 -2
- package/src/__tests__/mcp-client-auth.test.ts +2 -2
- package/src/__tests__/mcp-tool-annotations-risk.test.ts +2 -2
- package/src/__tests__/media-generate-image.test.ts +30 -30
- package/src/__tests__/memory-config-file-parity.test.ts +6 -6
- package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
- package/src/__tests__/migration-import-commit-http.test.ts +1 -1
- package/src/__tests__/mtime-cache.test.ts +2 -2
- package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
- package/src/__tests__/notification-deep-link.test.ts +40 -40
- package/src/__tests__/oauth-apps-routes.test.ts +3 -3
- package/src/__tests__/oauth-cli.test.ts +9 -9
- package/src/__tests__/oauth-commands-routes.test.ts +16 -16
- package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
- package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
- package/src/__tests__/oauth-providers-routes.test.ts +12 -12
- package/src/__tests__/oauth-store.test.ts +1 -1
- package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
- package/src/__tests__/onboarding-persona-write.test.ts +2 -2
- package/src/__tests__/openai-image-service.test.ts +2 -2
- package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
- package/src/__tests__/openai-responses-provider.test.ts +1 -1
- package/src/__tests__/path-policy.test.ts +4 -4
- package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
- package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
- package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
- package/src/__tests__/plugin-api-provider.test.ts +1 -1
- package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
- package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
- package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
- package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
- package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
- package/src/__tests__/provider-connections-backfill.test.ts +9 -9
- package/src/__tests__/provider-error-scenarios.test.ts +8 -8
- package/src/__tests__/provider-registry-ollama.test.ts +1 -1
- package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
- package/src/__tests__/registry.test.ts +3 -3
- package/src/__tests__/requests-mock.ts +972 -0
- package/src/__tests__/resolve-trust-class.test.ts +1 -1
- package/src/__tests__/resource-pressure-guard.test.ts +6 -6
- package/src/__tests__/resource-pressure-routes.test.ts +5 -5
- package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
- package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
- package/src/__tests__/schedule-store.test.ts +1 -1
- package/src/__tests__/search-skills-unified.test.ts +9 -7
- package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
- package/src/__tests__/secret-routes-scrub.test.ts +2 -59
- package/src/__tests__/secure-keys.test.ts +1 -1
- package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
- package/src/__tests__/skill-load-tool.test.ts +1 -1
- package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
- package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
- package/src/__tests__/skill-tool-factory.test.ts +1 -1
- package/src/__tests__/skills-file-content-endpoint.test.ts +12 -12
- package/src/__tests__/skills-files-catalog-fallback.test.ts +9 -9
- package/src/__tests__/skills.test.ts +1 -1
- package/src/__tests__/slim-skill-category.test.ts +11 -9
- package/src/__tests__/stt-stream-session.test.ts +3 -3
- package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
- package/src/__tests__/subagent-disposal.test.ts +5 -5
- package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
- package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
- package/src/__tests__/subagent-manager-notify.test.ts +5 -5
- package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
- package/src/__tests__/system-prompt.test.ts +1 -1
- package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
- package/src/__tests__/telegram-config.test.ts +16 -16
- package/src/__tests__/telephony-tts-guard.test.ts +13 -13
- package/src/__tests__/test-preload.ts +17 -7
- package/src/__tests__/tool-audit.test.ts +1 -1
- package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
- package/src/__tests__/turn-events-store.test.ts +1 -1
- package/src/__tests__/twilio-routes.test.ts +2 -1
- package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
- package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
- package/src/__tests__/validate-input.test.ts +5 -5
- package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
- package/src/__tests__/voice-config-update.test.ts +15 -15
- package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
- package/src/__tests__/web-search.test.ts +340 -859
- package/src/__tests__/workspace-git-service.test.ts +1 -1
- package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
- package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
- package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
- package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
- package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
- package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
- package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
- package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
- package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
- package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
- package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
- package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
- package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
- package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
- package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
- package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
- package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
- package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
- package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
- package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
- package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
- package/src/api/events/cloud-disconnected.ts +21 -0
- package/src/api/events/host-bash.ts +1 -1
- package/src/api/events/host-cu.ts +1 -1
- package/src/api/events/host-file.ts +1 -1
- package/src/api/events/notification-intent.ts +1 -1
- package/src/api/events/{show-platform-login.ts → show-cloud-login.ts} +3 -5
- package/src/api/index.ts +11 -11
- package/src/api/responses/home.ts +1 -1
- package/src/api/surfaces.ts +4 -4
- package/src/approvals/guardian-request-resolvers.ts +2 -2
- package/src/avatar/accent-backfill.ts +1 -1
- package/src/avatar/identity-avatar.ts +1 -1
- package/src/avatar/notification-avatar.test.ts +2 -2
- package/src/avatar/notification-avatar.ts +2 -2
- package/src/avatar/resvg-lazy.test.ts +1 -1
- package/src/avatar/resvg-lazy.ts +3 -3
- package/src/avatar/sync-avatar.test.ts +76 -76
- package/src/avatar/sync-avatar.ts +15 -15
- package/src/avatar/traits-png-sync.ts +1 -1
- package/src/background-wake/background-wake-routes.test.ts +39 -39
- package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
- package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
- package/src/background-wake/publisher.ts +4 -4
- package/src/background-wake/wake-intent-hooks.test.ts +3 -3
- package/src/calls/__tests__/call-controller.test.ts +2 -2
- package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
- package/src/calls/call-domain.ts +1 -1
- package/src/calls/resolve-call-tts-provider.ts +6 -6
- package/src/calls/telephony-credential-preflight.ts +3 -3
- package/src/calls/telephony-tts-capability.ts +5 -6
- package/src/calls/tts-call-strategy.ts +1 -1
- package/src/calls/voice-escalation-judge.ts +1 -1
- package/src/calls/voice-ingress-preflight.ts +4 -4
- package/src/cli/bundled-modules.ts +1 -1
- package/src/cli/commands/__tests__/apps.test.ts +18 -53
- package/src/cli/commands/__tests__/plugins.test.ts +13 -13
- package/src/cli/commands/__tests__/tts.test.ts +1 -1
- package/src/cli/commands/auth.help.ts +3 -3
- package/src/cli/commands/auth.ts +2 -4
- package/src/cli/commands/browser.help.ts +2 -2
- package/src/cli/commands/channels/index.help.ts +2 -2
- package/src/cli/commands/channels/index.ts +1 -1
- package/src/cli/commands/channels/send.ts +1 -1
- package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
- package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
- package/src/cli/commands/cloud/connect.ts +2 -2
- package/src/cli/commands/cloud/credits-format.ts +1 -1
- package/src/cli/commands/cloud/index.help.ts +35 -35
- package/src/cli/commands/config.ts +1 -1
- package/src/cli/commands/credentials.ts +10 -12
- package/src/cli/commands/domain.ts +1 -1
- package/src/cli/commands/email.help.ts +1 -1
- package/src/cli/commands/email.ts +2 -2
- package/src/cli/commands/gateway.help.ts +1 -1
- package/src/cli/commands/gateway.ts +1 -1
- package/src/cli/commands/image-generation.help.ts +1 -1
- package/src/cli/commands/inference-providers.ts +1 -1
- package/src/cli/commands/inference.help.ts +2 -2
- package/src/cli/commands/memory/index.help.ts +1 -1
- package/src/cli/commands/oauth/connect.test.ts +2 -2
- package/src/cli/commands/oauth/connect.ts +1 -1
- package/src/cli/commands/oauth/index.help.ts +5 -5
- package/src/cli/commands/oauth/providers.ts +2 -2
- package/src/cli/commands/oauth/shared.ts +3 -3
- package/src/cli/commands/plugins.help.ts +2 -3
- package/src/cli/commands/plugins.ts +5 -5
- package/src/cli/commands/roadmap.help.ts +1 -1
- package/src/cli/commands/telemetry.help.ts +2 -2
- package/src/cli/commands/telemetry.ts +2 -2
- package/src/cli/commands/tts.help.ts +3 -3
- package/src/cli/commands/webhooks.help.ts +9 -9
- package/src/cli/commands/webhooks.ts +1 -1
- package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
- package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
- package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
- package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
- package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
- package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
- package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
- package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
- package/src/cli/lib/bundled-marketplace.json +1 -1
- package/src/cli/lib/inspect-plugin.ts +2 -2
- package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
- package/src/cli/lib/install-from-github.ts +4 -4
- package/src/cli/lib/plugin-catalog-cache.ts +7 -7
- package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
- package/src/cli/lib/plugin-catalog-local.ts +2 -2
- package/src/cli/lib/publish-plugin.ts +9 -10
- package/src/cli/lib/search-plugins.ts +2 -2
- package/src/{platform → cloud}/client.test.ts +85 -86
- package/src/{platform → cloud}/client.ts +38 -46
- package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
- package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
- package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
- package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
- package/src/{platform → cloud}/consent-cache.test.ts +5 -5
- package/src/{platform → cloud}/consent-cache.ts +8 -8
- package/src/cloud/feature-gate.ts +8 -0
- package/src/{platform → cloud}/sync-identity.test.ts +4 -4
- package/src/{platform → cloud}/sync-identity.ts +6 -6
- package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
- package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
- package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
- package/src/config/__tests__/default-provider.test.ts +4 -4
- package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
- package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
- package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
- package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
- package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
- package/src/config/__tests__/profile-materialization.test.ts +7 -7
- package/src/config/__tests__/seed-default-provider.test.ts +17 -17
- package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
- package/src/config/__tests__/webhook-routing.test.ts +51 -51
- package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
- package/src/config/bundled-skills/messaging/SKILL.md +8 -8
- package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
- package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
- package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
- package/src/config/bundled-skills/settings/TOOLS.json +3 -3
- package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
- package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
- package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
- package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
- package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
- package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
- package/src/config/call-site-defaults.ts +6 -6
- package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
- package/src/config/cloud-rehydration.ts +35 -0
- package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
- package/src/config/default-profile-catalog.ts +36 -38
- package/src/config/default-profile-names.ts +11 -11
- package/src/config/default-provider-resolution.ts +2 -2
- package/src/config/default-provider.ts +1 -1
- package/src/config/env-registry.ts +23 -21
- package/src/config/env.ts +33 -46
- package/src/config/feature-flag-registry.json +5 -5
- package/src/config/inference-profile-validation.ts +1 -1
- package/src/config/llm-resolver.ts +9 -10
- package/src/config/loader.ts +33 -17
- package/src/config/profile-materialization.ts +8 -8
- package/src/config/profile-text-generation.test.ts +1 -1
- package/src/config/sanitize-for-transfer.ts +1 -1
- package/src/config/schema.ts +6 -6
- package/src/config/schemas/__tests__/stt.test.ts +2 -2
- package/src/config/schemas/call-site-catalog.ts +1 -1
- package/src/config/schemas/channels.ts +8 -0
- package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
- package/src/config/schemas/host-browser.ts +1 -0
- package/src/config/schemas/ingress.ts +1 -12
- package/src/config/schemas/llm.ts +45 -36
- package/src/config/schemas/memory-lifecycle.ts +11 -1
- package/src/config/schemas/services.ts +4 -4
- package/src/config/schemas/stt.ts +3 -3
- package/src/config/schemas/tts.ts +10 -5
- package/src/config/schemas/voice.ts +1 -1
- package/src/config/seed-inference-profiles.ts +19 -19
- package/src/config/skill-state.ts +2 -2
- package/src/config/skills.ts +4 -4
- package/src/config/sync-gated-profiles.ts +8 -8
- package/src/config/webhook-routing.ts +19 -19
- package/src/contacts/contacts-write.ts +1 -1
- package/src/credential-execution/ces-runtime.ts +6 -6
- package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
- package/src/credential-execution/prompted-credential.ts +6 -18
- package/src/credential-health/credential-health-service.ts +61 -76
- package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
- package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
- package/src/daemon/config-watcher.ts +2 -2
- package/src/daemon/conversation-agent-loop.ts +9 -9
- package/src/daemon/conversation-error.ts +36 -36
- package/src/daemon/conversation-skill-tools.ts +7 -7
- package/src/daemon/conversation-surfaces.ts +1 -1
- package/src/daemon/conversation-tool-setup.ts +2 -2
- package/src/daemon/conversation-turn-finalize.ts +1 -1
- package/src/daemon/conversation-workspace.ts +1 -1
- package/src/daemon/conversation.ts +1 -1
- package/src/daemon/credential-transcript-scrub.ts +21 -35
- package/src/daemon/daemon-readiness.ts +1 -1
- package/src/daemon/event-loop-watchdog.ts +2 -2
- package/src/daemon/handlers/config-ingress.ts +9 -9
- package/src/daemon/handlers/config-telegram.ts +6 -6
- package/src/daemon/handlers/skills.ts +20 -20
- package/src/daemon/host-cu-proxy.ts +1 -1
- package/src/daemon/lifecycle.ts +19 -19
- package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
- package/src/daemon/providers-setup.ts +6 -6
- package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
- package/src/daemon/resource-pressure-guard.ts +6 -6
- package/src/daemon/shutdown-handlers.ts +1 -1
- package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
- package/src/daemon/trust-context.ts +1 -1
- package/src/desktop/desktop-automation-lease.ts +1 -1
- package/src/desktop/desktop-browser-endpoint.ts +2 -4
- package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
- package/src/desktop/desktop-stream-bridge.test.ts +4 -4
- package/src/desktop/desktop-stream-bridge.ts +1 -1
- package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
- package/src/desktop/virtual-desktop-feature.ts +7 -7
- package/src/email/byo-email-credential.ts +1 -1
- package/src/email/registered-inbox.test.ts +16 -16
- package/src/email/registered-inbox.ts +20 -20
- package/src/heartbeat/heartbeat-service.ts +1 -1
- package/src/hooks/hook-loader.ts +2 -2
- package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
- package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
- package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
- package/src/inbound/oauth-callback-url.ts +6 -6
- package/src/inbound/pod-webhook-claim.ts +2 -2
- package/src/inbound/public-ingress-urls.ts +3 -3
- package/src/inbound/tunnel-probe.ts +21 -15
- package/src/inbound/tunnel-webhooks-gate.ts +3 -3
- package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
- package/src/ipc/__tests__/email-ipc.test.ts +8 -8
- package/src/ipc/gateway-client.test.ts +55 -59
- package/src/ipc/gateway-flag-listener.ts +3 -3
- package/src/ipc/routes/db-proxy.ts +1 -1
- package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
- package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
- package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
- package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
- package/src/live-voice/live-activity-reporter.ts +7 -7
- package/src/live-voice/live-voice-credential-preflight.ts +6 -6
- package/src/live-voice/live-voice-session.ts +3 -3
- package/src/live-voice/live-voice-tts.ts +1 -1
- package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
- package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
- package/src/mcp/mcp-oauth-provider.ts +2 -2
- package/src/media/gemini-image-service.ts +11 -13
- package/src/media/image-credentials.ts +9 -9
- package/src/media/openai-image-service.ts +1 -1
- package/src/media/types.ts +3 -3
- package/src/messaging/providers/channel-transport.ts +1 -1
- package/src/messaging/providers/discord/transport.ts +1 -1
- package/src/messaging/providers/gmail/adapter.ts +1 -1
- package/src/messaging/providers/gmail/client.ts +4 -4
- package/src/messaging/providers/outlook/adapter.ts +1 -1
- package/src/messaging/providers/slack/adapter.ts +1 -1
- package/src/messaging/providers/slack/transport.ts +1 -1
- package/src/messaging/providers/telegram-bot/transport.ts +1 -1
- package/src/monitoring/db-integrity-check.ts +1 -1
- package/src/monitoring/db-integrity-sample.ts +2 -2
- package/src/monitoring/mount-watch.ts +1 -1
- package/src/monitoring/oom-kill-reporter.ts +1 -1
- package/src/monitoring/worker.ts +5 -5
- package/src/notifications/README.md +2 -2
- package/src/notifications/__tests__/broadcaster.test.ts +9 -9
- package/src/notifications/__tests__/completion-policy.test.ts +1 -1
- package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
- package/src/notifications/activity-failed-dedupe.ts +1 -1
- package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
- package/src/notifications/broadcaster.ts +10 -10
- package/src/notifications/decision-engine.ts +1 -1
- package/src/notifications/destination-resolver.ts +1 -1
- package/src/notifications/emit-signal.ts +6 -6
- package/src/notifications/types.ts +2 -2
- package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
- package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
- package/src/oauth/byo-connection.test.ts +2 -2
- package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
- package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
- package/src/oauth/connection-resolver.test.ts +59 -61
- package/src/oauth/connection-resolver.ts +22 -22
- package/src/oauth/connection.ts +1 -1
- package/src/oauth/oauth-store.ts +8 -8
- package/src/oauth/provider-serializer.ts +4 -4
- package/src/oauth/revoke.ts +1 -1
- package/src/oauth/seed-providers.ts +32 -32
- package/src/permissions/approval-provenance.ts +1 -1
- package/src/permissions/checker.test.ts +18 -16
- package/src/permissions/checker.ts +3 -3
- package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
- package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
- package/src/persistence/embeddings/embedding-backend.ts +13 -13
- package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
- package/src/persistence/embeddings/embedding-gemini.ts +11 -11
- package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
- package/src/persistence/jobs-store.ts +1 -1
- package/src/persistence/lifecycle-events-store.ts +1 -1
- package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
- package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
- package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
- package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
- package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
- package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
- package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
- package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
- package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
- package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
- package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
- package/src/persistence/schema/oauth.ts +1 -1
- package/src/plugin-api/index.ts +4 -4
- package/src/plugin-api/model-profiles.test.ts +1 -1
- package/src/plugin-api/model-profiles.ts +1 -1
- package/src/plugin-api/transcription-session.ts +1 -1
- package/src/plugin-api/vision-support.test.ts +1 -1
- package/src/plugin-api/webhook-url.ts +12 -12
- package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
- package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
- package/src/plugins/defaults/cloud-hosted/package.json +14 -0
- package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
- package/src/plugins/defaults/index.ts +6 -6
- package/src/plugins/defaults/main.ts +5 -5
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
- package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
- package/src/plugins/defaults/memory/config.ts +4 -4
- package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
- package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
- package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
- package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
- package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
- package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
- package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
- package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
- package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
- package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
- package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
- package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
- package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
- package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
- package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
- package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
- package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
- package/src/plugins/defaults/memory/worker.ts +5 -5
- package/src/plugins/defaults/workspace/injectors.ts +2 -2
- package/src/plugins/mtime-cache.ts +1 -1
- package/src/plugins/source-versions.ts +1 -1
- package/src/plugins/types.ts +1 -1
- package/src/prompts/__tests__/system-prompt.test.ts +1 -1
- package/src/prompts/normalize-onboarding.ts +1 -1
- package/src/prompts/persona-resolver.ts +1 -1
- package/src/prompts/templates/system-sections.ts +3 -3
- package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
- package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
- package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
- package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
- package/src/providers/__tests__/inference.test.ts +2 -2
- package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
- package/src/providers/__tests__/retry-callsite.test.ts +1 -1
- package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
- package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
- package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
- package/src/providers/anthropic/client.ts +1 -1
- package/src/providers/cadet/client.ts +1 -1
- package/src/providers/cadet-model-routing.test.ts +19 -19
- package/src/providers/cadet-model-routing.ts +23 -23
- package/src/providers/call-site-routing.ts +10 -10
- package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
- package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
- package/src/providers/connection-resolution.ts +43 -43
- package/src/providers/fallback-breaker.ts +2 -2
- package/src/providers/fetch-provider-catalog.ts +3 -3
- package/src/providers/gemini/client.ts +5 -5
- package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
- package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
- package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
- package/src/providers/inference/adapter-factory.ts +35 -35
- package/src/providers/inference/auth.ts +10 -10
- package/src/providers/inference/backfill.ts +11 -11
- package/src/providers/inference/connection-availability.ts +24 -24
- package/src/providers/inference/connections.ts +18 -20
- package/src/providers/inference/profile-probe.ts +4 -4
- package/src/providers/inference/resolve-auth.ts +8 -8
- package/src/providers/jev/ask.test.ts +1 -1
- package/src/providers/jev/ask.ts +2 -2
- package/src/providers/model-catalog.ts +8 -9
- package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
- package/src/providers/openai/api-error-normalization.ts +2 -2
- package/src/providers/provider-availability.ts +4 -4
- package/src/providers/provider-env-vars.ts +1 -1
- package/src/providers/provider-secret-catalog.ts +1 -1
- package/src/providers/registry.ts +20 -20
- package/src/providers/retry.ts +26 -26
- package/src/providers/routing-identity.ts +10 -10
- package/src/providers/search-provider-catalog.ts +2 -2
- package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
- package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
- package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
- package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
- package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
- package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
- package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
- package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
- package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
- package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
- package/src/providers/speech-to-text/provider-catalog.ts +3 -3
- package/src/providers/speech-to-text/resolve.ts +26 -28
- package/src/providers/together/client.ts +1 -1
- package/src/providers/types.ts +4 -4
- package/src/providers/voice-error-copy.ts +1 -1
- package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
- package/src/runtime/agent-wake.ts +1 -1
- package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
- package/src/runtime/auth/middleware.ts +1 -1
- package/src/runtime/auth/scopes.ts +1 -1
- package/src/runtime/capabilities.ts +1 -1
- package/src/runtime/channel-invite-transports/discord.ts +1 -1
- package/src/runtime/channel-invite-transports/email.ts +2 -2
- package/src/runtime/channel-readiness-service.ts +15 -13
- package/src/runtime/channel-reply-session.test.ts +1 -1
- package/src/runtime/channel-reply-session.ts +1 -1
- package/src/runtime/http-server.ts +4 -4
- package/src/runtime/introduction-policy.ts +4 -4
- package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
- package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
- package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
- package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
- package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
- package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
- package/src/runtime/migrations/migration-transport.ts +3 -3
- package/src/runtime/migrations/origin-mode.ts +6 -9
- package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
- package/src/runtime/migrations/vbundle-importer.ts +4 -4
- package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
- package/src/runtime/migrations/vbundle-validator.ts +1 -1
- package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
- package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
- package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
- package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +26 -25
- package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
- package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
- package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
- package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
- package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
- package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
- package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
- package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
- package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
- package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
- package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
- package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
- package/src/runtime/routes/app-management-routes.ts +1 -1
- package/src/runtime/routes/attachment-routes.ts +1 -1
- package/src/runtime/routes/auth-routes.ts +14 -14
- package/src/runtime/routes/avatar-routes.ts +0 -14
- package/src/runtime/routes/background-wake-routes.ts +4 -4
- package/src/runtime/routes/channel-availability-routes.ts +4 -4
- package/src/runtime/routes/client-routes.ts +5 -5
- package/src/runtime/routes/cloud-credentials.ts +45 -0
- package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +83 -116
- package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
- package/src/runtime/routes/conversation-query-routes.ts +82 -282
- package/src/runtime/routes/credential-routes.ts +28 -30
- package/src/runtime/routes/default-provider-routes.ts +1 -1
- package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
- package/src/runtime/routes/desktop-setup-routes.ts +1 -1
- package/src/runtime/routes/domain-routes.ts +15 -21
- package/src/runtime/routes/email-routes.ts +13 -13
- package/src/runtime/routes/errors.ts +1 -1
- package/src/runtime/routes/gateway-status-routes.ts +1 -1
- package/src/runtime/routes/identity-routes.ts +3 -3
- package/src/runtime/routes/inbound-message-handler.ts +1 -1
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
- package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
- package/src/runtime/routes/index.ts +1 -1
- package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
- package/src/runtime/routes/inference-profiles-routes.ts +11 -11
- package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
- package/src/runtime/routes/ingress-status-routes.ts +1 -1
- package/src/runtime/routes/integrations/a2a.ts +2 -2
- package/src/runtime/routes/integrations/twilio.ts +21 -35
- package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
- package/src/runtime/routes/live-voice-routes.test.ts +4 -4
- package/src/runtime/routes/live-voice-routes.ts +6 -6
- package/src/runtime/routes/migration-routes.ts +34 -40
- package/src/runtime/routes/oauth-commands-routes.ts +31 -31
- package/src/runtime/routes/oauth-providers.ts +5 -5
- package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
- package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
- package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
- package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
- package/src/runtime/routes/oauth-request-hints.ts +1 -1
- package/src/runtime/routes/plugins-routes.ts +9 -9
- package/src/runtime/routes/profiler-routes.ts +1 -1
- package/src/runtime/routes/ps-routes.ts +4 -0
- package/src/runtime/routes/roadmap-routes.ts +18 -20
- package/src/runtime/routes/secret-routes.ts +29 -55
- package/src/runtime/routes/settings-routes.ts +18 -23
- package/src/runtime/routes/telemetry-routes.ts +4 -4
- package/src/runtime/routes/tts-routes.ts +4 -4
- package/src/runtime/routes/user-route-resolution.ts +1 -1
- package/src/runtime/routes/webhook-routes.ts +18 -18
- package/src/runtime/routes/workflow-routes.ts +5 -5
- package/src/runtime/sync/resource-sync-events.ts +2 -2
- package/src/runtime/verification-outbound-actions.ts +4 -4
- package/src/schedule/integration-status.ts +6 -6
- package/src/schedule/run-script.ts +1 -1
- package/src/schedule/schedule-timezone.ts +1 -1
- package/src/schedule/worker.ts +5 -5
- package/src/security/auth-fallback-events-store.ts +1 -1
- package/src/security/oauth2.ts +4 -4
- package/src/skills/available-skills.ts +4 -4
- package/src/skills/catalog-files.ts +8 -8
- package/src/skills/catalog-install.ts +12 -12
- package/src/skills/categories-cache.ts +3 -3
- package/src/skills/clawhub.ts +1 -1
- package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
- package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
- package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
- package/src/skills/inline-command-runner.ts +1 -1
- package/src/skills/install-meta.ts +1 -1
- package/src/skills/path-classifier.ts +4 -4
- package/src/skills/skill-history.ts +4 -4
- package/src/skills/skillssh-registry.ts +1 -1
- package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
- package/src/stt/daemon-batch-transcriber.ts +7 -7
- package/src/stt/types.ts +3 -3
- package/src/subagent/manager.ts +15 -15
- package/src/subagent/types.ts +1 -1
- package/src/telegram/__tests__/webhook-health.test.ts +16 -16
- package/src/telegram/webhook-health.ts +10 -10
- package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
- package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
- package/src/telemetry/config-setting-events-store.ts +1 -1
- package/src/telemetry/config-setting-snapshot.ts +1 -1
- package/src/telemetry/memory-corpus-size.ts +1 -1
- package/src/telemetry/memory-tier-reporter.test.ts +2 -2
- package/src/telemetry/memory-tier-reporter.ts +3 -3
- package/src/telemetry/telemetry-event-sources.test.ts +2 -2
- package/src/telemetry/telemetry-event-sources.ts +9 -9
- package/src/telemetry/telemetry-events-outbox.ts +2 -2
- package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
- package/src/telemetry/telemetry-wire-validation.ts +3 -3
- package/src/telemetry/telemetry-wire.generated.ts +1 -1
- package/src/telemetry/tool-audit.ts +1 -1
- package/src/telemetry/tool-executed-events-store.test.ts +1 -1
- package/src/telemetry/trace-collection-policy.ts +4 -4
- package/src/telemetry/turn-events-store.ts +1 -1
- package/src/telemetry/turn-outcome.ts +1 -1
- package/src/telemetry/turn-trace-store.ts +2 -2
- package/src/telemetry/types.test.ts +1 -1
- package/src/telemetry/types.ts +19 -19
- package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
- package/src/telemetry/usage-telemetry-reporter.ts +17 -17
- package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
- package/src/telemetry/watchdog-direct-emit.ts +10 -10
- package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
- package/src/tools/browser/cdp-client/factory.ts +1 -1
- package/src/tools/computer-use/target.ts +2 -2
- package/src/tools/credentials/store.ts +6 -15
- package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
- package/src/tools/network/__tests__/web-search.test.ts +14 -14
- package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
- package/src/tools/network/web-search.ts +9 -9
- package/src/tools/permission-checker.ts +2 -2
- package/src/tools/shared/input-misuse.ts +1 -1
- package/src/tools/shared/input-repairs.ts +4 -4
- package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
- package/src/tools/skills/find-similar-skills.test.ts +7 -7
- package/src/tools/skills/find-similar-skills.ts +15 -15
- package/src/tools/skills/load.ts +6 -6
- package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
- package/src/tools/skills/skill-script-runner.ts +2 -2
- package/src/tools/terminal/safe-env.ts +3 -3
- package/src/tools/tool-types.ts +2 -2
- package/src/tools/types.ts +2 -2
- package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
- package/src/tools/workflows/manage-workflows.ts +1 -1
- package/src/tools/workspace-tools/loader.ts +1 -1
- package/src/tts/__tests__/cadet-provider.test.ts +5 -5
- package/src/tts/provider-catalog.ts +1 -1
- package/src/tts/providers/cadet-provider.ts +23 -23
- package/src/tts/providers/cadet-tts-socket.ts +2 -2
- package/src/tts/tts-config-resolver.ts +1 -1
- package/src/tts/tts-voice-field.ts +3 -3
- package/src/usage/subagent-attribution.ts +1 -1
- package/src/util/__tests__/process-table.test.ts +47 -0
- package/src/util/canonicalize-identity.ts +1 -1
- package/src/util/cgroup-cpu.ts +5 -5
- package/src/util/cgroup-memory.ts +2 -2
- package/src/util/container-cpu-sampler.ts +4 -4
- package/src/util/disk-usage.ts +4 -4
- package/src/util/errors.ts +3 -3
- package/src/util/oom-priority.ts +1 -1
- package/src/util/platform.ts +5 -5
- package/src/util/process-table.ts +39 -5
- package/src/util/provider-error-patterns.ts +2 -2
- package/src/watch/__tests__/watch-retro.test.ts +2 -2
- package/src/watch/watch-retro.ts +1 -1
- package/src/watcher/__tests__/telemetry.test.ts +2 -2
- package/src/watcher/telemetry.ts +1 -1
- package/src/windows-compiled-cli.ts +1 -1
- package/src/workspace/adaptive-thinking-repair.ts +4 -4
- package/src/workspace/byok-default-profile-ensure.ts +7 -7
- package/src/workspace/git-service.ts +2 -2
- package/src/workspace/migrations/006-services-config.ts +1 -1
- package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
- package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
- package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
- package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
- package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
- package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
- package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
- package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
- package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
- package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
- package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
- package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
- package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
- package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
- package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
- package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
- package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
- package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
- package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
- package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
- package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
- package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
- package/src/workspace/migrations/127-backfill-default-provider.ts +4 -4
- package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
- package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
- package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
- package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
- package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
- package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
- package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
- package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
- package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
- package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
- package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
- package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
- package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
- package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
- package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
- package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
- package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
- package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
- package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
- package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
- package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
- package/src/workspace/migrations/registry.ts +6 -6
- package/src/workspace/top-level-renderer.ts +1 -1
- package/src/workspace/turn-commit.ts +2 -2
- package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
- package/src/__tests__/mock-gateway-ipc.ts +0 -260
- package/src/api/events/platform-disconnected.ts +0 -21
- package/src/config/platform-rehydration.ts +0 -60
- package/src/platform/feature-gate.ts +0 -8
- package/src/plugins/defaults/platform-hosted/package.json +0 -14
- package/src/runtime/routes/platform-managed-credentials.ts +0 -50
- /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
- /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
|
@@ -179,14 +179,48 @@ async function runProcessTableCommandAsync(
|
|
|
179
179
|
return parser(stdout);
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
+
/**
|
|
183
|
+
* The enumeration subprocess appears in its own snapshot: `ps -A` lists every
|
|
184
|
+
* process on the machine — including the `ps` child this module just spawned
|
|
185
|
+
* (parented to the caller) — and the PowerShell Win32_Process query includes
|
|
186
|
+
* the powershell.exe running it. Drop those self rows so a tree built from
|
|
187
|
+
* the table does not report the enumerator as one of the caller's subsystems.
|
|
188
|
+
*/
|
|
189
|
+
export function dropProcessTableSelfRows(
|
|
190
|
+
rows: ProcessTableRow[],
|
|
191
|
+
): ProcessTableRow[] {
|
|
192
|
+
return rows.filter((row) => !isProcessTableSelfRow(row.command));
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function isProcessTableSelfRow(command: string): boolean {
|
|
196
|
+
const normalized = command.toLowerCase();
|
|
197
|
+
return (
|
|
198
|
+
(normalized.startsWith("ps ") && normalized.includes("pid=,ppid=")) ||
|
|
199
|
+
(normalized.includes("powershell") && normalized.includes("win32_process"))
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
function parsePsProcessTableWithoutSelfRows(output: string): ProcessTableRow[] {
|
|
204
|
+
return dropProcessTableSelfRows(parsePsProcessTable(output));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function parseWindowsProcessTableWithoutSelfRows(
|
|
208
|
+
output: string,
|
|
209
|
+
): ProcessTableRow[] {
|
|
210
|
+
return dropProcessTableSelfRows(parseWindowsProcessTable(output));
|
|
211
|
+
}
|
|
212
|
+
|
|
182
213
|
function listProcessesFromPs(): ProcessTableRow[] {
|
|
183
|
-
return runProcessTableCommand(
|
|
214
|
+
return runProcessTableCommand(
|
|
215
|
+
PS_PROCESS_TABLE_COMMAND,
|
|
216
|
+
parsePsProcessTableWithoutSelfRows,
|
|
217
|
+
);
|
|
184
218
|
}
|
|
185
219
|
|
|
186
220
|
function listProcessesFromPowerShell(): ProcessTableRow[] {
|
|
187
221
|
return runProcessTableCommand(
|
|
188
222
|
WINDOWS_PROCESS_TABLE_COMMAND,
|
|
189
|
-
|
|
223
|
+
parseWindowsProcessTableWithoutSelfRows,
|
|
190
224
|
);
|
|
191
225
|
}
|
|
192
226
|
|
|
@@ -212,7 +246,7 @@ export async function listProcessTableAsync(
|
|
|
212
246
|
if (platform === "win32") {
|
|
213
247
|
return runProcessTableCommandAsync(
|
|
214
248
|
WINDOWS_PROCESS_TABLE_COMMAND,
|
|
215
|
-
|
|
249
|
+
parseWindowsProcessTableWithoutSelfRows,
|
|
216
250
|
);
|
|
217
251
|
}
|
|
218
252
|
if (platform === "linux") {
|
|
@@ -221,13 +255,13 @@ export async function listProcessTableAsync(
|
|
|
221
255
|
} catch {
|
|
222
256
|
return runProcessTableCommandAsync(
|
|
223
257
|
PS_PROCESS_TABLE_COMMAND,
|
|
224
|
-
|
|
258
|
+
parsePsProcessTableWithoutSelfRows,
|
|
225
259
|
);
|
|
226
260
|
}
|
|
227
261
|
}
|
|
228
262
|
return runProcessTableCommandAsync(
|
|
229
263
|
PS_PROCESS_TABLE_COMMAND,
|
|
230
|
-
|
|
264
|
+
parsePsProcessTableWithoutSelfRows,
|
|
231
265
|
);
|
|
232
266
|
}
|
|
233
267
|
|
|
@@ -94,14 +94,14 @@ export const INSUFFICIENT_CREDITS_PATTERNS = [
|
|
|
94
94
|
/key limit (?:has been )?(?:exceeded|reached)/i,
|
|
95
95
|
];
|
|
96
96
|
|
|
97
|
-
// Managed-proxy daily-credit-limit rejection: the
|
|
97
|
+
// Managed-proxy daily-credit-limit rejection: the cloud emits a 402 whose
|
|
98
98
|
// body carries `"code": "daily_limit_reached"`. More specific than the generic
|
|
99
99
|
// credit-exhaustion prose above — both are 402s from the same proxy — so
|
|
100
100
|
// classification sites must test this before INSUFFICIENT_CREDITS_PATTERNS.
|
|
101
101
|
export const DAILY_LIMIT_PATTERNS = [/"code"\s*:\s*"daily_limit_reached"/i];
|
|
102
102
|
|
|
103
103
|
// Managed-proxy free-tier daily usage-credit cap: a 402 whose body carries
|
|
104
|
-
// `"code": "free_tier_daily_limit_reached"`. The
|
|
104
|
+
// `"code": "free_tier_daily_limit_reached"`. The cloud imposes it on a
|
|
105
105
|
// cohort of free-tier orgs (it is not the user-configured daily limit above,
|
|
106
106
|
// which caps purchased spend), so it gets its own reason and copy: there is
|
|
107
107
|
// no limit for the user to raise, only the UTC reset, an upgrade, or extra
|
|
@@ -374,7 +374,7 @@ describe("watch retrospective", () => {
|
|
|
374
374
|
await runWatchRetro(summary, { dispatch });
|
|
375
375
|
|
|
376
376
|
const { prompt } = calls[0]!;
|
|
377
|
-
// `skill-management` is a selector, and a
|
|
377
|
+
// `skill-management` is a selector, and a cloud or workspace skill of the
|
|
378
378
|
// same id replaces the bundled one in the catalog. Putting the load ahead
|
|
379
379
|
// of the card is what lets a shadow, or the refusal a clientless wake
|
|
380
380
|
// gives an inline-command load, land before the user has been told
|
|
@@ -396,7 +396,7 @@ describe("watch retrospective", () => {
|
|
|
396
396
|
expect(prompt).toContain("Do not author or scaffold a skill yet");
|
|
397
397
|
// The retro delegates authoring to the skill-management flow rather than
|
|
398
398
|
// naming the tool that writes a skill, so nothing here can reach it.
|
|
399
|
-
expect(prompt).not.toContain("
|
|
399
|
+
expect(prompt).not.toContain("scaffold_cloud_skill");
|
|
400
400
|
});
|
|
401
401
|
|
|
402
402
|
test("draws the card from the turn's report call", async () => {
|
package/src/watch/watch-retro.ts
CHANGED
|
@@ -140,7 +140,7 @@ const WATCH_RETRO_WAKE_SOURCE = "watch-retro";
|
|
|
140
140
|
* after it would read as a sign-off nobody asked for.
|
|
141
141
|
*
|
|
142
142
|
* **The card does not depend on the load succeeding.** `skill-management` is a
|
|
143
|
-
* selector, not a fixed definition: `loadSkillCatalog` lets a
|
|
143
|
+
* selector, not a fixed definition: `loadSkillCatalog` lets a cloud or
|
|
144
144
|
* workspace skill of the same id replace the bundled one, and
|
|
145
145
|
* `resolveSkillSelector` hands back whichever entry won. So the load can come
|
|
146
146
|
* back as someone else's skill, or as a refusal, and putting it ahead of the
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
import { beforeEach, describe, expect, mock, test } from "bun:test";
|
|
10
10
|
|
|
11
|
+
import type { ConsentState } from "../../cloud/consent-cache.js";
|
|
11
12
|
import type { LifecycleEvent } from "../../persistence/lifecycle-events-store.js";
|
|
12
|
-
import type { ConsentState } from "../../platform/consent-cache.js";
|
|
13
13
|
|
|
14
14
|
const checkpoints = new Map<string, string>();
|
|
15
15
|
const recordedEvents: string[] = [];
|
|
@@ -32,7 +32,7 @@ mock.module("../../persistence/lifecycle-events-store.js", () => ({
|
|
|
32
32
|
recordLifecycleEvent: (name: string) => recordImpl(name),
|
|
33
33
|
}));
|
|
34
34
|
|
|
35
|
-
mock.module("../../
|
|
35
|
+
mock.module("../../cloud/consent-cache.js", () => ({
|
|
36
36
|
getRawShareAnalytics: () => shareAnalytics,
|
|
37
37
|
}));
|
|
38
38
|
|
package/src/watcher/telemetry.ts
CHANGED
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
* swallows storage errors.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
+
import { getRawShareAnalytics } from "../cloud/consent-cache.js";
|
|
22
23
|
import {
|
|
23
24
|
getMemoryCheckpoint,
|
|
24
25
|
setMemoryCheckpoint,
|
|
25
26
|
} from "../persistence/checkpoints.js";
|
|
26
27
|
import { recordLifecycleEvent } from "../persistence/lifecycle-events-store.js";
|
|
27
|
-
import { getRawShareAnalytics } from "../platform/consent-cache.js";
|
|
28
28
|
import { getLogger } from "../util/logger.js";
|
|
29
29
|
import { listWatchers } from "./watcher-store.js";
|
|
30
30
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { setBundledCliModules } from "./cli/bundled-modules.js";
|
|
2
2
|
import * as pluginDiff from "./cli/lib/diff-plugin.js";
|
|
3
3
|
import * as pluginInspect from "./cli/lib/inspect-plugin.js";
|
|
4
|
+
import * as pluginInstallPlatform from "./cli/lib/install-from-cloud.js";
|
|
4
5
|
import * as pluginInstallGitHub from "./cli/lib/install-from-github.js";
|
|
5
|
-
import * as pluginInstallPlatform from "./cli/lib/install-from-platform.js";
|
|
6
6
|
import * as pluginInstalled from "./cli/lib/list-installed-plugins.js";
|
|
7
7
|
import * as pluginCatalogCache from "./cli/lib/plugin-catalog-cache.js";
|
|
8
8
|
import * as pluginCatalogLocal from "./cli/lib/plugin-catalog-local.js";
|
|
@@ -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
|
}
|