@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
|
@@ -44,7 +44,7 @@ export interface TtsCallStrategy {
|
|
|
44
44
|
*
|
|
45
45
|
* Reads the provider from config via {@link resolveTtsConfig} (or takes
|
|
46
46
|
* `providerOverride`, the provider a caller already resolved after
|
|
47
|
-
*
|
|
47
|
+
* cloud-speech defaulting), then looks up its `callMode` in the catalog.
|
|
48
48
|
*
|
|
49
49
|
* Falls back to `native-twilio` with `"elevenlabs"` when the config
|
|
50
50
|
* or catalog is unavailable (e.g. test mocks, pre-migration configs).
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* correct reply need something the front door cannot do from here? A
|
|
10
10
|
* confident yes overrules a front-door answer and hands the turn off.
|
|
11
11
|
*
|
|
12
|
-
* The judge uses managed Jev by default when Cadet
|
|
12
|
+
* The judge uses managed Jev by default when Cadet Cloud inference is
|
|
13
13
|
* available. An explicit TypeSafe call-site override can use a user-owned
|
|
14
14
|
* connection. Every other outcome (unavailable route, provider error,
|
|
15
15
|
* timeout, unparseable answer) is a "clear" verdict, so the front door's own
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getIsCloud } from "../config/env-registry.js";
|
|
2
2
|
import { loadConfig } from "../config/loader.js";
|
|
3
3
|
import type { AssistantConfig } from "../config/types.js";
|
|
4
4
|
import { getPublicBaseUrl } from "../inbound/public-ingress-urls.js";
|
|
@@ -34,16 +34,16 @@ export async function preflightVoiceIngress(): Promise<VoiceIngressPreflightResu
|
|
|
34
34
|
const ingressConfig = loadConfig();
|
|
35
35
|
|
|
36
36
|
// The daemon performs both STT and TTS on the media-stream transport —
|
|
37
|
-
// in every deployment mode,
|
|
37
|
+
// in every deployment mode, cloud-hosted included — so credential
|
|
38
38
|
// readiness gates outbound placement before any Twilio call is made.
|
|
39
39
|
const readiness = await resolveTelephonyCredentialReadiness();
|
|
40
40
|
if (readiness.status === "not-ready") {
|
|
41
41
|
return fail(readiness.userMessage);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
// Platform-callback deployments register routes with the
|
|
44
|
+
// Platform-callback deployments register routes with the cloud and receive
|
|
45
45
|
// stable callback URLs. No public ingress URL or local gateway is involved.
|
|
46
|
-
if (
|
|
46
|
+
if (getIsCloud()) {
|
|
47
47
|
return {
|
|
48
48
|
ok: true,
|
|
49
49
|
ingressConfig,
|
|
@@ -6,7 +6,7 @@ export interface BundledCliModules {
|
|
|
6
6
|
pluginDiff: typeof import("./lib/diff-plugin.js");
|
|
7
7
|
pluginInspect: typeof import("./lib/inspect-plugin.js");
|
|
8
8
|
pluginInstallGitHub: typeof import("./lib/install-from-github.js");
|
|
9
|
-
pluginInstallPlatform: typeof import("./lib/install-from-
|
|
9
|
+
pluginInstallPlatform: typeof import("./lib/install-from-cloud.js");
|
|
10
10
|
pluginInstalled: typeof import("./lib/list-installed-plugins.js");
|
|
11
11
|
pluginPinHistory: typeof import("./lib/plugin-pin-history.js");
|
|
12
12
|
pluginSearch: typeof import("./lib/search-plugins.js");
|
|
@@ -5,43 +5,15 @@
|
|
|
5
5
|
import { mkdirSync, rmSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { tmpdir } from "node:os";
|
|
7
7
|
import { join } from "node:path";
|
|
8
|
-
import { afterEach, beforeEach, describe, expect,
|
|
8
|
+
import { afterEach, beforeEach, describe, expect, test } from "bun:test";
|
|
9
9
|
|
|
10
|
+
import { mockIpc } from "../../../__tests__/requests-mock.js";
|
|
10
11
|
import { createApp, getAppDirPath } from "../../../apps/app-store.js";
|
|
11
12
|
import { writeAppSourceFingerprint } from "../../../apps/source-fingerprint.js";
|
|
12
13
|
import { getWorkspacePluginsDir } from "../../../util/platform.js";
|
|
13
14
|
import { runCliCommand } from "./cli-test-harness.js";
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
method: string;
|
|
17
|
-
params?: Record<string, unknown>;
|
|
18
|
-
} | null = null;
|
|
19
|
-
|
|
20
|
-
let mockIpcResult: {
|
|
21
|
-
ok: boolean;
|
|
22
|
-
result?: unknown;
|
|
23
|
-
error?: string;
|
|
24
|
-
statusCode?: number;
|
|
25
|
-
} = { ok: true, result: { ok: true, compiled: true } };
|
|
26
|
-
|
|
27
|
-
mock.module("../../../ipc/cli-client.js", () => ({
|
|
28
|
-
cliIpcCall: async (method: string, params?: Record<string, unknown>) => {
|
|
29
|
-
lastIpcCall = { method, params };
|
|
30
|
-
return mockIpcResult;
|
|
31
|
-
},
|
|
32
|
-
exitCodeFromIpcResult: (r: { statusCode?: number }) => {
|
|
33
|
-
if (r.statusCode === undefined) {
|
|
34
|
-
return 10;
|
|
35
|
-
}
|
|
36
|
-
if (r.statusCode >= 500) {
|
|
37
|
-
return 3;
|
|
38
|
-
}
|
|
39
|
-
if (r.statusCode >= 400) {
|
|
40
|
-
return 2;
|
|
41
|
-
}
|
|
42
|
-
return 1;
|
|
43
|
-
},
|
|
44
|
-
}));
|
|
16
|
+
const ipc = await mockIpc("cli");
|
|
45
17
|
|
|
46
18
|
const { registerAppsCommand } = await import("../apps.js");
|
|
47
19
|
|
|
@@ -63,17 +35,13 @@ beforeEach(() => {
|
|
|
63
35
|
previousWorkspaceDir = process.env.CADET_WORKSPACE_DIR;
|
|
64
36
|
workspaceDir = freshWorkspace();
|
|
65
37
|
process.env.CADET_WORKSPACE_DIR = workspaceDir;
|
|
66
|
-
|
|
67
|
-
mockIpcResult = {
|
|
38
|
+
ipc.on("apps_refresh", {
|
|
68
39
|
ok: true,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
compile_duration_ms: 12,
|
|
75
|
-
},
|
|
76
|
-
};
|
|
40
|
+
appId: "app-1",
|
|
41
|
+
name: "Budget",
|
|
42
|
+
compiled: true,
|
|
43
|
+
compile_duration_ms: 12,
|
|
44
|
+
});
|
|
77
45
|
});
|
|
78
46
|
|
|
79
47
|
afterEach(() => {
|
|
@@ -179,7 +147,7 @@ describe("assistant apps refresh", () => {
|
|
|
179
147
|
]);
|
|
180
148
|
|
|
181
149
|
expect(result.exitCode).toBe(0);
|
|
182
|
-
expect(
|
|
150
|
+
expect(ipc.lastCall("apps_refresh")).toEqual({
|
|
183
151
|
method: "apps_refresh",
|
|
184
152
|
params: { pathParams: { id: created.id } },
|
|
185
153
|
});
|
|
@@ -206,7 +174,7 @@ describe("assistant apps refresh", () => {
|
|
|
206
174
|
]);
|
|
207
175
|
|
|
208
176
|
expect(result.exitCode).toBe(0);
|
|
209
|
-
expect(
|
|
177
|
+
expect(ipc.lastCall("apps_refresh")).toEqual({
|
|
210
178
|
method: "apps_refresh",
|
|
211
179
|
params: { pathParams: { id: `plugins~${pluginName}~viewer` } },
|
|
212
180
|
});
|
|
@@ -219,17 +187,14 @@ describe("assistant apps refresh", () => {
|
|
|
219
187
|
schemaJson: "{}",
|
|
220
188
|
htmlDefinition: "<h1>Budget</h1>",
|
|
221
189
|
});
|
|
222
|
-
|
|
190
|
+
ipc.on("apps_refresh", {
|
|
223
191
|
ok: true,
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
compile_errors: [{ text: "Could not resolve foo" }],
|
|
231
|
-
},
|
|
232
|
-
};
|
|
192
|
+
appId: created.id,
|
|
193
|
+
name,
|
|
194
|
+
compiled: false,
|
|
195
|
+
compile_duration_ms: 8,
|
|
196
|
+
compile_errors: [{ text: "Could not resolve foo" }],
|
|
197
|
+
});
|
|
233
198
|
|
|
234
199
|
const result = await runCliCommand(registerAppsCommand, [
|
|
235
200
|
"apps",
|
|
@@ -115,7 +115,7 @@ mock.module("../../lib/confirm-prompt.js", () => ({
|
|
|
115
115
|
}));
|
|
116
116
|
|
|
117
117
|
const realGithub = await import("../../lib/install-from-github.js");
|
|
118
|
-
const realPlatform = await import("../../lib/install-from-
|
|
118
|
+
const realPlatform = await import("../../lib/install-from-cloud.js");
|
|
119
119
|
const realInspect = await import("../../lib/inspect-plugin.js");
|
|
120
120
|
const realUpgrade = await import("../../lib/upgrade-plugin.js");
|
|
121
121
|
const realCliClient = await import("../../../ipc/cli-client.js");
|
|
@@ -165,7 +165,7 @@ mock.module("../../lib/install-from-github.js", () => ({
|
|
|
165
165
|
},
|
|
166
166
|
}));
|
|
167
167
|
|
|
168
|
-
mock.module("../../lib/install-from-
|
|
168
|
+
mock.module("../../lib/install-from-cloud.js", () => ({
|
|
169
169
|
...realPlatform,
|
|
170
170
|
installPluginViaPlatform: async (
|
|
171
171
|
opts: { name: string; force?: boolean },
|
|
@@ -273,8 +273,8 @@ function runCommand(args: string[]): Promise<CliCommandRunResult> {
|
|
|
273
273
|
return runCliCommand(registerPluginsCommand, args);
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
const savedDisablePlatform = process.env.
|
|
277
|
-
const savedIsPlatform = process.env.
|
|
276
|
+
const savedDisablePlatform = process.env.CADET_DISABLE_CLOUD;
|
|
277
|
+
const savedIsPlatform = process.env.IS_CLOUD;
|
|
278
278
|
|
|
279
279
|
beforeEach(() => {
|
|
280
280
|
confirmCalls = [];
|
|
@@ -293,8 +293,8 @@ beforeEach(() => {
|
|
|
293
293
|
installTarget = null;
|
|
294
294
|
// Platform features on by default, so a plain name install takes the
|
|
295
295
|
// platform-tarball branch.
|
|
296
|
-
delete process.env.
|
|
297
|
-
delete process.env.
|
|
296
|
+
delete process.env.CADET_DISABLE_CLOUD;
|
|
297
|
+
delete process.env.IS_CLOUD;
|
|
298
298
|
});
|
|
299
299
|
|
|
300
300
|
afterEach(() => {
|
|
@@ -303,14 +303,14 @@ afterEach(() => {
|
|
|
303
303
|
}
|
|
304
304
|
installTargetDirs.length = 0;
|
|
305
305
|
if (savedDisablePlatform === undefined) {
|
|
306
|
-
delete process.env.
|
|
306
|
+
delete process.env.CADET_DISABLE_CLOUD;
|
|
307
307
|
} else {
|
|
308
|
-
process.env.
|
|
308
|
+
process.env.CADET_DISABLE_CLOUD = savedDisablePlatform;
|
|
309
309
|
}
|
|
310
310
|
if (savedIsPlatform === undefined) {
|
|
311
|
-
delete process.env.
|
|
311
|
+
delete process.env.IS_CLOUD;
|
|
312
312
|
} else {
|
|
313
|
-
process.env.
|
|
313
|
+
process.env.IS_CLOUD = savedIsPlatform;
|
|
314
314
|
}
|
|
315
315
|
});
|
|
316
316
|
|
|
@@ -451,7 +451,7 @@ describe("plugins install - declared-schedules consent", () => {
|
|
|
451
451
|
});
|
|
452
452
|
|
|
453
453
|
test("a bundled-catalog install (platform disabled) is gated too", async () => {
|
|
454
|
-
process.env.
|
|
454
|
+
process.env.CADET_DISABLE_CLOUD = "true";
|
|
455
455
|
stageFixture = writeScheduleFixture;
|
|
456
456
|
confirmResults = ["confirmed"];
|
|
457
457
|
|
|
@@ -465,7 +465,7 @@ describe("plugins install - declared-schedules consent", () => {
|
|
|
465
465
|
expect(r.exitCode).toBe(0);
|
|
466
466
|
});
|
|
467
467
|
|
|
468
|
-
test("a local catalog source bypasses the
|
|
468
|
+
test("a local catalog source bypasses the cloud installer", async () => {
|
|
469
469
|
catalogMatches = [
|
|
470
470
|
{
|
|
471
471
|
name: "fathom",
|
|
@@ -491,7 +491,7 @@ describe("plugins install - declared-schedules consent", () => {
|
|
|
491
491
|
expect(r.exitCode).toBe(0);
|
|
492
492
|
});
|
|
493
493
|
|
|
494
|
-
test("falls back to the
|
|
494
|
+
test("falls back to the cloud installer when catalog discovery fails", async () => {
|
|
495
495
|
catalogError = new Error("catalog unavailable");
|
|
496
496
|
|
|
497
497
|
const r = await runCommand(["plugins", "install", "example"]);
|
|
@@ -353,7 +353,7 @@ describe("tts voice — active-provider routing", () => {
|
|
|
353
353
|
expect(setCall!.params.body.value).toBe("aura-2-zeus-en");
|
|
354
354
|
});
|
|
355
355
|
|
|
356
|
-
test("an ElevenLabs voice id on a
|
|
356
|
+
test("an ElevenLabs voice id on a cloud assistant still writes cadet.model", async () => {
|
|
357
357
|
respondProvider("cadet");
|
|
358
358
|
|
|
359
359
|
const { exitCode } = await runCommand([
|
|
@@ -29,10 +29,10 @@ Examples:
|
|
|
29
29
|
description: "Show platform identity and authentication status",
|
|
30
30
|
helpText: `
|
|
31
31
|
Fields:
|
|
32
|
-
|
|
32
|
+
cloudUrl The Cadet Cloud base URL this assistant connects to
|
|
33
33
|
assistantId This assistant's platform UUID
|
|
34
|
-
organizationId The organization this assistant belongs to (from
|
|
35
|
-
userId The user who owns this assistant (from
|
|
34
|
+
organizationId The organization this assistant belongs to (from CLOUD_ORGANIZATION_ID)
|
|
35
|
+
userId The user who owns this assistant (from CLOUD_USER_ID)
|
|
36
36
|
authenticated Whether all prerequisites for platform authentication are met
|
|
37
37
|
(platform URL and assistant API key both present)
|
|
38
38
|
|
package/src/cli/commands/auth.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { shouldOutputJson, writeOutput } from "../output.js";
|
|
|
8
8
|
import { authHelp } from "./auth.help.js";
|
|
9
9
|
|
|
10
10
|
interface AuthInfoResponse {
|
|
11
|
-
|
|
11
|
+
cloudUrl: string | null;
|
|
12
12
|
assistantId: string | null;
|
|
13
13
|
organizationId: string | null;
|
|
14
14
|
userId: string | null;
|
|
@@ -37,9 +37,7 @@ export function registerAuthCommand(program: Command): void {
|
|
|
37
37
|
writeOutput(cmd, result);
|
|
38
38
|
|
|
39
39
|
if (!shouldOutputJson(cmd)) {
|
|
40
|
-
log.info(
|
|
41
|
-
`Platform URL: ${result.platformUrl ?? "(not set)"}`,
|
|
42
|
-
);
|
|
40
|
+
log.info(`Platform URL: ${result.cloudUrl ?? "(not set)"}`);
|
|
43
41
|
log.info(
|
|
44
42
|
`Assistant ID: ${result.assistantId ?? "(not set)"}`,
|
|
45
43
|
);
|
|
@@ -104,7 +104,7 @@ export const browserHelp: CliCommandHelp = {
|
|
|
104
104
|
{
|
|
105
105
|
flags: "--virtual-desktop",
|
|
106
106
|
description:
|
|
107
|
-
"Use Chrome in the
|
|
107
|
+
"Use Chrome in the cloud-hosted virtual desktop with visible cursor feedback.",
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
110
|
flags: "--session <id>",
|
|
@@ -128,7 +128,7 @@ export const browserHelp: CliCommandHelp = {
|
|
|
128
128
|
],
|
|
129
129
|
helpText: `
|
|
130
130
|
Browser operations are executed through the running assistant.
|
|
131
|
-
Virtual desktop is available only for
|
|
131
|
+
Virtual desktop is available only for cloud-hosted assistants.
|
|
132
132
|
In the web client, automatic selection prefers virtual desktop Chrome when
|
|
133
133
|
its feature is enabled and the conversation has an
|
|
134
134
|
identified guardian. The macOS and Windows apps keep their existing browser
|
|
@@ -72,12 +72,12 @@ and asks for approval like any action with irreversible effects. Reads are
|
|
|
72
72
|
not distinguished from writes: the effect is the endpoint's. To send a
|
|
73
73
|
message, use 'assistant channels send', which posts through the channel's
|
|
74
74
|
transport and records what it sent; a message posted through this command
|
|
75
|
-
reaches the
|
|
75
|
+
reaches the cloud directly and leaves no record of what was said.
|
|
76
76
|
|
|
77
77
|
Arguments:
|
|
78
78
|
<channel> One of: ${BOT_CHANNELS}. A channel with no bot credential of
|
|
79
79
|
its own (phone, cadet) is refused.
|
|
80
|
-
<url> The API method path, relative to the
|
|
80
|
+
<url> The API method path, relative to the cloud's API host
|
|
81
81
|
(for Slack, '/conversations.history'; for Discord, '/users/@me';
|
|
82
82
|
for Telegram, '/getMe'). The provider supplies the host.
|
|
83
83
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* `send` is the send door (see ./send.ts): it runs the daemon's one send
|
|
17
17
|
* implementation for the channel, so the post is threaded, rendered, and
|
|
18
18
|
* recorded like every other message the assistant sends there. Posting
|
|
19
|
-
* through `request` instead reaches the
|
|
19
|
+
* through `request` instead reaches the cloud API and leaves no record.
|
|
20
20
|
*
|
|
21
21
|
* A mutating `refresh` verb (for reconnecting channels, e.g. supplying
|
|
22
22
|
* fresh Slack tokens) is intentionally not part of this group.
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* channel renders a reply, and written to the chat's conversation only once
|
|
10
10
|
* the channel has acknowledged it.
|
|
11
11
|
*
|
|
12
|
-
* Posting the same text through `channels request` reaches the
|
|
12
|
+
* Posting the same text through `channels request` reaches the cloud API
|
|
13
13
|
* directly and leaves no record of what was said, which is why this command
|
|
14
14
|
* exists beside it. Both act as the bot and both carry the same rating: the
|
|
15
15
|
* effect is a message either way.
|
|
@@ -69,7 +69,7 @@ describe("assistant cloud connect", () => {
|
|
|
69
69
|
expect(parsed.showPlatformLogin).toBe(true);
|
|
70
70
|
});
|
|
71
71
|
|
|
72
|
-
// A stored key the
|
|
72
|
+
// A stored key the cloud rejects is a recovery, not a first setup: the
|
|
73
73
|
// outcome has to reach the caller in the response, since the daemon's login
|
|
74
74
|
// signal has no shipped consumer.
|
|
75
75
|
test("a rejected stored credential is reported as such", async () => {
|
|
@@ -79,11 +79,10 @@ describe("assistant cloud disconnect", () => {
|
|
|
79
79
|
expect(parsed.previousBaseUrl).toBe("https://cloud.mycadet.ai");
|
|
80
80
|
});
|
|
81
81
|
|
|
82
|
-
test("rejects with error when running on a
|
|
82
|
+
test("rejects with error when running on a cloud-hosted assistant", async () => {
|
|
83
83
|
mockResponse = {
|
|
84
84
|
ok: false,
|
|
85
|
-
error:
|
|
86
|
-
"Cannot disconnect from the platform on a platform-hosted assistant.",
|
|
85
|
+
error: "Cannot disconnect from the cloud on a cloud-hosted assistant.",
|
|
87
86
|
statusCode: 422,
|
|
88
87
|
};
|
|
89
88
|
|
|
@@ -97,7 +96,7 @@ describe("assistant cloud disconnect", () => {
|
|
|
97
96
|
mockResponse = {
|
|
98
97
|
ok: false,
|
|
99
98
|
error:
|
|
100
|
-
"Not connected to a
|
|
99
|
+
"Not connected to a cloud. Nothing to disconnect.\n\nRun 'assistant cloud status' to check connection state.",
|
|
101
100
|
statusCode: 422,
|
|
102
101
|
};
|
|
103
102
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
2
|
|
|
3
3
|
import { cliIpcCall, exitFromIpcResult } from "../../../ipc/cli-client.js";
|
|
4
|
-
import type { PlatformConnectResponse } from "../../../runtime/routes/
|
|
4
|
+
import type { PlatformConnectResponse } from "../../../runtime/routes/cloud-routes.js";
|
|
5
5
|
import { subcommand } from "../../lib/cli-command-help.js";
|
|
6
6
|
import { log } from "../../logger.js";
|
|
7
7
|
import { shouldOutputJson, writeOutput } from "../../output.js";
|
|
@@ -34,7 +34,7 @@ export function registerCloudConnectCommand(platform: Command): void {
|
|
|
34
34
|
// stops at "already logged in" before the credential pass runs;
|
|
35
35
|
// --force runs it.
|
|
36
36
|
log.info(
|
|
37
|
-
"The stored cloud credential was rejected by the
|
|
37
|
+
"The stored cloud credential was rejected by the cloud. " +
|
|
38
38
|
"Run 'cadet login --force' to sign in again and replace it.",
|
|
39
39
|
);
|
|
40
40
|
} else {
|
|
@@ -69,7 +69,7 @@ export function formatCreditsLines(result: CloudCreditsResult): string[] {
|
|
|
69
69
|
`Expiring: ${formatCostUsd(result.credits_expiring_soon)} within 30 days${when}`,
|
|
70
70
|
);
|
|
71
71
|
} else if (result.next_credit_expiry_at) {
|
|
72
|
-
// A null 30-day figure means the
|
|
72
|
+
// A null 30-day figure means the cloud did not report it, so only an
|
|
73
73
|
// actual zero earns the "nothing expires within 30 days" claim.
|
|
74
74
|
const window =
|
|
75
75
|
result.credits_expiring_soon === null
|
|
@@ -11,11 +11,11 @@ export const cloudHelp: CliCommandHelp = {
|
|
|
11
11
|
helpText: `
|
|
12
12
|
The cloud subsystem manages the connection to Cadet Cloud. Use
|
|
13
13
|
'connect', 'status', and 'disconnect' to manage cloud credentials.
|
|
14
|
-
Any assistant using the
|
|
14
|
+
Any assistant using the cloud LLM proxy can use these commands.
|
|
15
15
|
|
|
16
16
|
External service callbacks (Telegram webhooks, Twilio webhooks, email,
|
|
17
|
-
OAuth redirects) route through the
|
|
18
|
-
'callback-routes'. Works for both
|
|
17
|
+
OAuth redirects) route through the cloud's gateway proxy via
|
|
18
|
+
'callback-routes'. Works for both cloud-managed and self-hosted
|
|
19
19
|
assistants.
|
|
20
20
|
|
|
21
21
|
Examples:
|
|
@@ -52,16 +52,16 @@ Reads platform-related environment variables and stored credentials to report
|
|
|
52
52
|
the current platform deployment context and connection state.
|
|
53
53
|
|
|
54
54
|
Fields:
|
|
55
|
-
isPlatform Whether
|
|
56
|
-
baseUrl
|
|
55
|
+
isPlatform Whether IS_CLOUD is set (boolean)
|
|
56
|
+
baseUrl CADET_CLOUD_URL — the cloud gateway base URL
|
|
57
57
|
assistantId This assistant's platform UUID
|
|
58
58
|
hasAssistantApiKey Whether a stored assistant API key is available; null
|
|
59
59
|
when the credential store could not be read
|
|
60
60
|
hasWebhookSecret Whether a stored webhook secret is available (needed
|
|
61
61
|
for email and other inbound webhook channels)
|
|
62
62
|
available Whether callback registration prerequisites are satisfied
|
|
63
|
-
organizationId The
|
|
64
|
-
userId The
|
|
63
|
+
organizationId The cloud organization ID (from stored credentials)
|
|
64
|
+
userId The cloud user ID (from stored credentials)
|
|
65
65
|
|
|
66
66
|
For the Tunnel state (only relevant for Twilio webhooks and live
|
|
67
67
|
voice/audio), use 'assistant gateway status' instead.
|
|
@@ -76,7 +76,7 @@ Examples:
|
|
|
76
76
|
"Show the organization's credit balance, plan-credit usage, and daily-limit state",
|
|
77
77
|
helpText: `
|
|
78
78
|
Fetches the org's credit balance, plan-included credit usage, extra credit,
|
|
79
|
-
upcoming expiry, today's spend, and daily-limit state from the
|
|
79
|
+
upcoming expiry, today's spend, and daily-limit state from the cloud
|
|
80
80
|
billing summary.
|
|
81
81
|
|
|
82
82
|
Fields:
|
|
@@ -103,14 +103,14 @@ Fields:
|
|
|
103
103
|
credits_expiring_soon Credit on grants expiring within 30 days, in USD
|
|
104
104
|
next_credit_expiry_at Earliest upcoming grant expiry (ISO 8601), or null
|
|
105
105
|
|
|
106
|
-
Grant fields are null when the
|
|
106
|
+
Grant fields are null when the cloud does not report grant figures. Plan
|
|
107
107
|
credit mixes grants with different lifetimes (only the Pro bundle turns over
|
|
108
108
|
with the billing cycle), so it has no single reset date. next_credit_expiry_at
|
|
109
109
|
is the earliest expiry across all grants, plan-included or not, and
|
|
110
110
|
'assistant cloud subscription' gives the billing cycle boundary.
|
|
111
111
|
|
|
112
112
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
113
|
-
ensure
|
|
113
|
+
ensure CADET_CLOUD_URL is set and credentials are stored).
|
|
114
114
|
|
|
115
115
|
Examples:
|
|
116
116
|
$ assistant cloud credits
|
|
@@ -121,7 +121,7 @@ Examples:
|
|
|
121
121
|
description:
|
|
122
122
|
"Show the organization's current plan and subscription state",
|
|
123
123
|
helpText: `
|
|
124
|
-
Fetches the org's plan and subscription state from the
|
|
124
|
+
Fetches the org's plan and subscription state from the cloud. Answers
|
|
125
125
|
"what plan am I on?".
|
|
126
126
|
|
|
127
127
|
Fields:
|
|
@@ -130,7 +130,7 @@ Fields:
|
|
|
130
130
|
null on the base plan
|
|
131
131
|
renewalDate When the current period ends / the plan renews (ISO
|
|
132
132
|
8601), or null on the base plan
|
|
133
|
-
currentPeriodEnd Same as renewalDate; mirrors the
|
|
133
|
+
currentPeriodEnd Same as renewalDate; mirrors the cloud field
|
|
134
134
|
cancelAtPeriodEnd True when the subscription is set to cancel at period end
|
|
135
135
|
cancelAt When the subscription cancels (ISO 8601), or null
|
|
136
136
|
selectedCreditTier The selected Pro credit bundle tier, or null
|
|
@@ -142,7 +142,7 @@ For the credit balance (not the plan), use 'assistant cloud credits'. For
|
|
|
142
142
|
plan pricing, use 'assistant cloud plans'.
|
|
143
143
|
|
|
144
144
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
145
|
-
ensure
|
|
145
|
+
ensure CADET_CLOUD_URL is set and credentials are stored).
|
|
146
146
|
|
|
147
147
|
Examples:
|
|
148
148
|
$ assistant cloud subscription
|
|
@@ -152,7 +152,7 @@ Examples:
|
|
|
152
152
|
name: "plans",
|
|
153
153
|
description: "Show the plan catalog with pricing",
|
|
154
154
|
helpText: `
|
|
155
|
-
Fetches the
|
|
155
|
+
Fetches the cloud plan catalog. Answers "how much does each plan cost?".
|
|
156
156
|
|
|
157
157
|
Returns a "plans" array. Each entry has an "id" ("base" or "pro"), "name",
|
|
158
158
|
"billing_interval", and "included_features". The base plan carries
|
|
@@ -163,7 +163,7 @@ For the org's OWN plan (not the catalog), use 'assistant cloud
|
|
|
163
163
|
subscription'. For the credit balance, use 'assistant cloud credits'.
|
|
164
164
|
|
|
165
165
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
166
|
-
ensure
|
|
166
|
+
ensure CADET_CLOUD_URL is set and credentials are stored).
|
|
167
167
|
|
|
168
168
|
Examples:
|
|
169
169
|
$ assistant cloud plans
|
|
@@ -173,17 +173,17 @@ Examples:
|
|
|
173
173
|
name: "invoices",
|
|
174
174
|
description: "Read the organization's Stripe invoice history",
|
|
175
175
|
helpText: `
|
|
176
|
-
Invoices are read from the
|
|
176
|
+
Invoices are read from the cloud's billing invoices endpoint using this
|
|
177
177
|
assistant's platform API key. Amounts are Stripe-scaled integers; see
|
|
178
178
|
'assistant cloud invoices list --help' for the scaling rules. 'created'
|
|
179
179
|
is a Unix timestamp in seconds.
|
|
180
180
|
|
|
181
|
-
The
|
|
181
|
+
The cloud returns one page of invoices at a time (newest first). When
|
|
182
182
|
the response's 'has_more' is true, pass the last invoice's id via
|
|
183
183
|
--starting-after to fetch the next (older) page.
|
|
184
184
|
|
|
185
185
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
186
|
-
ensure
|
|
186
|
+
ensure CADET_CLOUD_URL is set and credentials are stored).
|
|
187
187
|
|
|
188
188
|
Examples:
|
|
189
189
|
$ assistant cloud invoices list --json
|
|
@@ -202,7 +202,7 @@ Examples:
|
|
|
202
202
|
},
|
|
203
203
|
],
|
|
204
204
|
helpText: `
|
|
205
|
-
Fetches one page of the org's Stripe invoice history from the
|
|
205
|
+
Fetches one page of the org's Stripe invoice history from the cloud,
|
|
206
206
|
newest first.
|
|
207
207
|
|
|
208
208
|
Fields:
|
|
@@ -229,7 +229,7 @@ Fields:
|
|
|
229
229
|
fetch them with --starting-after
|
|
230
230
|
|
|
231
231
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
232
|
-
ensure
|
|
232
|
+
ensure CADET_CLOUD_URL is set and credentials are stored).
|
|
233
233
|
|
|
234
234
|
Examples:
|
|
235
235
|
$ assistant cloud invoices list --json
|
|
@@ -246,13 +246,13 @@ Examples:
|
|
|
246
246
|
},
|
|
247
247
|
],
|
|
248
248
|
helpText: `
|
|
249
|
-
The
|
|
249
|
+
The cloud has no per-invoice endpoint, so the assistant pages through
|
|
250
250
|
the org's invoice list (newest first) until the ID matches. The lookup
|
|
251
251
|
searches the most recent 2,500 invoices (25 pages) and errors if the ID
|
|
252
252
|
is not found within that range.
|
|
253
253
|
|
|
254
254
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
255
|
-
ensure
|
|
255
|
+
ensure CADET_CLOUD_URL is set and credentials are stored).
|
|
256
256
|
|
|
257
257
|
Examples:
|
|
258
258
|
$ assistant cloud invoices get in_1AbCdEfGh
|
|
@@ -265,8 +265,8 @@ Examples:
|
|
|
265
265
|
description: "Disconnect from Cadet Cloud by removing stored credentials",
|
|
266
266
|
helpText: `
|
|
267
267
|
Removes all stored cloud credentials from the assistant's secure
|
|
268
|
-
credential store. After disconnecting,
|
|
269
|
-
proxy,
|
|
268
|
+
credential store. After disconnecting, cloud-managed features (managed
|
|
269
|
+
proxy, cloud OAuth, callback routing) will no longer be available until
|
|
270
270
|
you reconnect with 'assistant cloud connect'.
|
|
271
271
|
|
|
272
272
|
Use 'assistant cloud status' to check the current connection state
|
|
@@ -280,7 +280,7 @@ Examples:
|
|
|
280
280
|
name: "callback-routes",
|
|
281
281
|
description: "Manage platform callback route registrations",
|
|
282
282
|
helpText: `
|
|
283
|
-
Callback routes tell the
|
|
283
|
+
Callback routes tell the cloud gateway how to forward inbound provider
|
|
284
284
|
webhooks to the correct assistant instance. Each route maps a callback path
|
|
285
285
|
and type to a stable external URL that external services (Telegram, Twilio,
|
|
286
286
|
email, OAuth providers) should use.
|
|
@@ -293,7 +293,7 @@ Examples:
|
|
|
293
293
|
subcommands: [
|
|
294
294
|
{
|
|
295
295
|
name: "register",
|
|
296
|
-
description: "Register a callback route with the
|
|
296
|
+
description: "Register a callback route with the cloud gateway",
|
|
297
297
|
options: [
|
|
298
298
|
{
|
|
299
299
|
flags: "--path <path>",
|
|
@@ -309,14 +309,14 @@ Examples:
|
|
|
309
309
|
},
|
|
310
310
|
],
|
|
311
311
|
helpText: `
|
|
312
|
-
Registers a callback route with the
|
|
313
|
-
the
|
|
314
|
-
|
|
312
|
+
Registers a callback route with the cloud's internal gateway endpoint so
|
|
313
|
+
the cloud knows how to forward inbound provider webhooks to this
|
|
314
|
+
cloud assistant instance.
|
|
315
315
|
|
|
316
316
|
Arguments:
|
|
317
317
|
--path The path portion after the ingress base URL. Leading/trailing
|
|
318
|
-
slashes are stripped by the
|
|
319
|
-
--type The route type identifier used by the
|
|
318
|
+
slashes are stripped by the cloud.
|
|
319
|
+
--type The route type identifier used by the cloud to classify and
|
|
320
320
|
route the callback.
|
|
321
321
|
|
|
322
322
|
Known callback path/type combinations:
|
|
@@ -328,8 +328,8 @@ Known callback path/type combinations:
|
|
|
328
328
|
--path webhooks/email --type email
|
|
329
329
|
--path oauth/callback --type oauth
|
|
330
330
|
|
|
331
|
-
Works for both
|
|
332
|
-
|
|
331
|
+
Works for both cloud-managed and self-hosted assistants. Requires
|
|
332
|
+
CADET_CLOUD_URL and a cloud assistant ID. Returns the cloud-provided
|
|
333
333
|
stable callback URL that external services should use.
|
|
334
334
|
|
|
335
335
|
Examples:
|
|
@@ -340,11 +340,11 @@ Examples:
|
|
|
340
340
|
name: "list",
|
|
341
341
|
description: "List registered callback routes for this assistant",
|
|
342
342
|
helpText: `
|
|
343
|
-
Lists all callback routes registered with the
|
|
343
|
+
Lists all callback routes registered with the cloud for this assistant.
|
|
344
344
|
Shows the route type, callback URL, and path for each registered webhook.
|
|
345
345
|
|
|
346
346
|
Requires cloud credentials (run 'assistant cloud connect' first or
|
|
347
|
-
ensure
|
|
347
|
+
ensure IS_CLOUD and CADET_CLOUD_URL are set and credentials are stored).
|
|
348
348
|
|
|
349
349
|
Examples:
|
|
350
350
|
$ assistant cloud callback-routes list
|