@vellumai/assistant 0.4.41 → 0.4.43
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/.env.example +1 -6
- package/.prettierignore +3 -0
- package/ARCHITECTURE.md +131 -393
- package/Dockerfile +0 -1
- package/README.md +73 -83
- package/bun.lock +8 -2
- package/docs/architecture/integrations.md +16 -21
- package/docs/architecture/memory.md +1 -1
- package/docs/architecture/scheduling.md +63 -63
- package/docs/architecture/security.md +3 -3
- package/docs/runbook-trusted-contacts.md +11 -12
- package/docs/trusted-contact-access.md +39 -39
- package/package.json +5 -8
- package/src/__tests__/access-request-decision.test.ts +4 -4
- package/src/__tests__/active-skill-tools.test.ts +49 -34
- package/src/__tests__/actor-token-service.test.ts +55 -85
- package/src/__tests__/amazon-cdp-integration.test.ts +14 -26
- package/src/__tests__/app-bundler.test.ts +14 -368
- package/src/__tests__/app-compiler.test.ts +0 -1
- package/src/__tests__/app-executors.test.ts +10 -1
- package/src/__tests__/approval-hardcoded-copy-guard.test.ts +1 -1
- package/src/__tests__/approval-primitive.test.ts +2 -4
- package/src/__tests__/approval-routes-http.test.ts +1 -1
- package/src/__tests__/asset-materialize-tool.test.ts +1 -4
- package/src/__tests__/asset-search-tool.test.ts +1 -4
- package/src/__tests__/assistant-attachments.test.ts +23 -0
- package/src/__tests__/assistant-feature-flags-integration.test.ts +4 -8
- package/src/__tests__/assistant-id-boundary-guard.test.ts +5 -5
- package/src/__tests__/attachments-store.test.ts +1 -4
- package/src/__tests__/avatar-e2e.test.ts +43 -23
- package/src/__tests__/browser-fill-credential.test.ts +1 -1
- package/src/__tests__/bundled-skill-retrieval-guard.test.ts +2 -9
- package/src/__tests__/call-controller.test.ts +4 -8
- package/src/__tests__/call-conversation-messages.test.ts +1 -1
- package/src/__tests__/call-domain.test.ts +250 -8
- package/src/__tests__/call-pointer-message-composer.test.ts +14 -14
- package/src/__tests__/call-pointer-messages.test.ts +7 -11
- package/src/__tests__/call-recovery.test.ts +47 -0
- package/src/__tests__/call-routes-http.test.ts +13 -0
- package/src/__tests__/call-start-guardian-guard.test.ts +1 -1
- package/src/__tests__/callback-handoff-copy.test.ts +5 -5
- package/src/__tests__/canonical-guardian-store.test.ts +3 -3
- package/src/__tests__/channel-approval-routes.test.ts +101 -134
- package/src/__tests__/channel-approval.test.ts +0 -201
- package/src/__tests__/channel-approvals.test.ts +2 -2
- package/src/__tests__/channel-delivery-store.test.ts +16 -24
- package/src/__tests__/channel-guardian.test.ts +641 -740
- package/src/__tests__/channel-invite-transport.test.ts +1 -2
- package/src/__tests__/channel-policy.test.ts +9 -12
- package/src/__tests__/channel-readiness-service.test.ts +156 -45
- package/src/__tests__/channel-reply-delivery.test.ts +3 -3
- package/src/__tests__/channel-retry-sweep.test.ts +7 -7
- package/src/__tests__/checker.test.ts +10 -7
- package/src/__tests__/chrome-cdp.test.ts +57 -17
- package/src/__tests__/cli-help-reference-sync.test.ts +26 -0
- package/src/__tests__/compaction.benchmark.test.ts +25 -5
- package/src/__tests__/computer-use-session-lifecycle.test.ts +1 -1
- package/src/__tests__/computer-use-session-working-dir.test.ts +2 -6
- package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +1 -1
- package/src/__tests__/config-loader-backfill.test.ts +310 -0
- package/src/__tests__/config-watcher.test.ts +1 -5
- package/src/__tests__/confirmation-request-guardian-bridge.test.ts +3 -5
- package/src/__tests__/connection-policy.test.ts +3 -62
- package/src/__tests__/contacts-tools.test.ts +0 -2
- package/src/__tests__/context-memory-e2e.test.ts +11 -7
- package/src/__tests__/context-overflow-policy.test.ts +2 -2
- package/src/__tests__/context-window-manager.test.ts +220 -61
- package/src/__tests__/conversation-attention-store.test.ts +178 -2
- package/src/__tests__/conversation-attention-telegram.test.ts +8 -11
- package/src/__tests__/conversation-pairing.test.ts +14 -14
- package/src/__tests__/conversation-routes-guardian-reply.test.ts +1 -1
- package/src/__tests__/conversation-store.test.ts +2 -2
- package/src/__tests__/conversation-unread-route.test.ts +155 -0
- package/src/__tests__/credential-metadata-store.test.ts +0 -2
- package/src/__tests__/credential-security-invariants.test.ts +9 -16
- package/src/__tests__/credentials-cli.test.ts +49 -5
- package/src/__tests__/daemon-assistant-events.test.ts +4 -22
- package/src/__tests__/db-migration-rollback.test.ts +2 -2
- package/src/__tests__/deterministic-verification-control-plane.test.ts +19 -19
- package/src/__tests__/dictation-mode-detection.test.ts +1 -1
- package/src/__tests__/dynamic-page-surface.test.ts +2 -2
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +2 -6
- package/src/__tests__/email-cli.test.ts +12 -12
- package/src/__tests__/email-service-config-fallback.test.ts +1 -1
- package/src/__tests__/emit-signal-routing-intent.test.ts +3 -18
- package/src/__tests__/event-bus.test.ts +0 -1
- package/src/__tests__/followup-tools.test.ts +0 -2
- package/src/__tests__/gateway-client-managed-outbound.test.ts +6 -6
- package/src/__tests__/gateway-only-enforcement.test.ts +13 -77
- package/src/__tests__/gateway-only-guard.test.ts +5 -0
- package/src/__tests__/guardian-action-conversation-turn.test.ts +3 -3
- package/src/__tests__/guardian-action-followup-executor.test.ts +29 -94
- package/src/__tests__/guardian-action-followup-store.test.ts +2 -12
- package/src/__tests__/guardian-action-grant-mint-consume.test.ts +48 -194
- package/src/__tests__/guardian-action-late-reply.test.ts +12 -12
- package/src/__tests__/guardian-action-store.test.ts +2 -2
- package/src/__tests__/guardian-action-sweep.test.ts +5 -5
- package/src/__tests__/guardian-decision-primitive-canonical.test.ts +1 -3
- package/src/__tests__/guardian-dispatch.test.ts +5 -46
- package/src/__tests__/guardian-grant-minting.test.ts +5 -44
- package/src/__tests__/guardian-outbound-http.test.ts +95 -114
- package/src/__tests__/guardian-question-mode.test.ts +1 -4
- package/src/__tests__/guardian-routing-invariants.test.ts +5 -13
- package/src/__tests__/guardian-routing-state.test.ts +3 -3
- package/src/__tests__/guardian-verification-voice-binding.test.ts +64 -7
- package/src/__tests__/guardian-verify-setup-skill-regression.test.ts +2 -2
- package/src/__tests__/handle-user-message-secret-resume.test.ts +3 -5
- package/src/__tests__/handlers-user-message-approval-consumption.test.ts +16 -34
- package/src/__tests__/headless-browser-interactions.test.ts +1 -1
- package/src/__tests__/headless-browser-navigate.test.ts +1 -1
- package/src/__tests__/headless-browser-read-tools.test.ts +1 -1
- package/src/__tests__/headless-browser-snapshot.test.ts +1 -1
- package/src/__tests__/heartbeat-service.test.ts +1 -1
- package/src/__tests__/home-base-bootstrap.test.ts +0 -2
- package/src/__tests__/host-shell-tool.test.ts +3 -12
- package/src/__tests__/inbound-invite-redemption.test.ts +2 -2
- package/src/__tests__/ingress-url-consistency.test.ts +0 -64
- package/src/__tests__/integration-status.test.ts +8 -8
- package/src/__tests__/intent-routing.test.ts +9 -13
- package/src/__tests__/invite-redemption-service.test.ts +4 -4
- package/src/__tests__/invite-routes-http.test.ts +10 -10
- package/src/__tests__/llm-usage-store.test.ts +45 -9
- package/src/__tests__/local-gateway-health.test.ts +209 -0
- package/src/__tests__/managed-avatar-client.test.ts +23 -12
- package/src/__tests__/managed-skill-lifecycle.test.ts +1 -2
- package/src/__tests__/managed-store.test.ts +29 -12
- package/src/__tests__/managed-twitter-guardrails.test.ts +353 -0
- package/src/__tests__/mcp-cli.test.ts +1 -1
- package/src/__tests__/mcp-health-check.test.ts +1 -1
- package/src/__tests__/media-generate-image.test.ts +1 -1
- package/src/__tests__/media-reuse-story.e2e.test.ts +1 -4
- package/src/__tests__/memory-context-benchmark.benchmark.test.ts +9 -6
- package/src/__tests__/memory-regressions.test.ts +1 -166
- package/src/__tests__/messaging-send-tool.test.ts +8 -4
- package/src/__tests__/migration-export-http.test.ts +2 -2
- package/src/__tests__/migration-transport.test.ts +44 -0
- package/src/__tests__/non-member-access-request.test.ts +49 -36
- package/src/__tests__/notification-broadcaster.test.ts +15 -15
- package/src/__tests__/notification-decision-fallback.test.ts +2 -2
- package/src/__tests__/notification-decision-strategy.test.ts +4 -4
- package/src/__tests__/notification-deep-link.test.ts +3 -3
- package/src/__tests__/notification-guardian-path.test.ts +6 -44
- package/src/__tests__/notification-routing-intent.test.ts +11 -7
- package/src/__tests__/oauth-cli.test.ts +1 -1
- package/src/__tests__/onboarding-starter-tasks.test.ts +2 -6
- package/src/__tests__/onboarding-template-contract.test.ts +2 -2
- package/src/__tests__/platform.test.ts +168 -5
- package/src/__tests__/playbook-execution.test.ts +0 -2
- package/src/__tests__/playbook-tools.test.ts +0 -2
- package/src/__tests__/pricing.test.ts +125 -0
- package/src/__tests__/provider-error-scenarios.test.ts +9 -3
- package/src/__tests__/recording-handler.test.ts +46 -80
- package/src/__tests__/recording-state-machine.test.ts +112 -183
- package/src/__tests__/registry.test.ts +1 -1
- package/src/__tests__/relay-server.test.ts +69 -71
- package/src/__tests__/reminder-store.test.ts +3 -3
- package/src/__tests__/request-file-tool.test.ts +2 -2
- package/src/__tests__/ride-shotgun-handler.test.ts +2 -33
- package/src/__tests__/runtime-attachment-metadata.test.ts +3 -3
- package/src/__tests__/runtime-events-sse-parity.test.ts +1 -1
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +4 -4
- package/src/__tests__/schedule-store.test.ts +13 -4
- package/src/__tests__/schedule-tools.test.ts +0 -2
- package/src/__tests__/scheduler-recurrence.test.ts +3 -4
- package/src/__tests__/scoped-approval-grants.test.ts +3 -5
- package/src/__tests__/scoped-grant-security-matrix.test.ts +6 -8
- package/src/__tests__/secret-prompt-log-hygiene.test.ts +1 -1
- package/src/__tests__/secret-response-routing.test.ts +1 -1
- package/src/__tests__/send-endpoint-busy.test.ts +1 -1
- package/src/__tests__/sequence-store.test.ts +0 -2
- package/src/__tests__/server-history-render.test.ts +2 -199
- package/src/__tests__/session-abort-tool-results.test.ts +9 -3
- package/src/__tests__/session-agent-loop.test.ts +107 -3
- package/src/__tests__/session-confirmation-signals.test.ts +10 -4
- package/src/__tests__/session-conflict-gate.test.ts +9 -3
- package/src/__tests__/session-init.benchmark.test.ts +22 -13
- package/src/__tests__/session-load-history-repair.test.ts +6 -3
- package/src/__tests__/session-pre-run-repair.test.ts +9 -3
- package/src/__tests__/session-profile-injection.test.ts +9 -3
- package/src/__tests__/session-provider-retry-repair.test.ts +10 -4
- package/src/__tests__/session-queue.test.ts +10 -4
- package/src/__tests__/session-runtime-assembly.test.ts +28 -18
- package/src/__tests__/session-skill-tools.test.ts +2 -3
- package/src/__tests__/session-slash-known.test.ts +11 -4
- package/src/__tests__/session-slash-queue.test.ts +11 -4
- package/src/__tests__/session-slash-unknown.test.ts +12 -4
- package/src/__tests__/session-surfaces-deselection.test.ts +2 -2
- package/src/__tests__/session-surfaces-task-progress.test.ts +3 -3
- package/src/__tests__/session-tool-setup-app-refresh.test.ts +1 -1
- package/src/__tests__/session-tool-setup-memory-scope.test.ts +1 -1
- package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +1 -1
- package/src/__tests__/session-usage.test.ts +180 -0
- package/src/__tests__/session-workspace-cache-state.test.ts +8 -2
- package/src/__tests__/session-workspace-injection.test.ts +8 -2
- package/src/__tests__/session-workspace-tool-tracking.test.ts +8 -2
- package/src/__tests__/skill-feature-flags-integration.test.ts +5 -11
- package/src/__tests__/skill-feature-flags.test.ts +1 -0
- package/src/__tests__/skill-include-graph.test.ts +1 -0
- package/src/__tests__/skill-load-feature-flag.test.ts +3 -9
- package/src/__tests__/skill-load-tool.test.ts +90 -12
- package/src/__tests__/skill-projection-feature-flag.test.ts +14 -15
- package/src/__tests__/skills-uninstall.test.ts +131 -0
- package/src/__tests__/skills.test.ts +32 -16
- package/src/__tests__/slack-block-formatting.test.ts +1 -1
- package/src/__tests__/slack-channel-config.test.ts +71 -12
- package/src/__tests__/slack-inbound-verification.test.ts +7 -7
- package/src/__tests__/slack-share-routes.test.ts +1 -1
- package/src/__tests__/slack-skill.test.ts +2 -2
- package/src/__tests__/slash-commands-catalog.test.ts +1 -0
- package/src/__tests__/slash-commands-resolver.test.ts +1 -0
- package/src/__tests__/starter-task-flow.test.ts +1 -1
- package/src/__tests__/subagent-manager-notify.test.ts +1 -1
- package/src/__tests__/subagent-tools.test.ts +2 -2
- package/src/__tests__/system-prompt.test.ts +4 -8
- package/src/__tests__/task-compiler.test.ts +0 -2
- package/src/__tests__/task-management-tools.test.ts +0 -2
- package/src/__tests__/task-runner.test.ts +0 -2
- package/src/__tests__/task-scheduler.test.ts +2 -2
- package/src/__tests__/telegram-bot-username-resolution.test.ts +46 -44
- package/src/__tests__/terminal-tools.test.ts +1 -11
- package/src/__tests__/thread-seed-composer.test.ts +3 -1
- package/src/__tests__/tool-approval-handler.test.ts +5 -7
- package/src/__tests__/tool-executor.test.ts +2 -2
- package/src/__tests__/tool-grant-request-escalation.test.ts +3 -5
- package/src/__tests__/tool-notification-listener.test.ts +1 -1
- package/src/__tests__/tool-profiling-listener.test.ts +1 -1
- package/src/__tests__/tool-trace-listener.test.ts +1 -2
- package/src/__tests__/trace-emitter.test.ts +1 -1
- package/src/__tests__/trust-context-guards.test.ts +1 -1
- package/src/__tests__/trust-store.test.ts +44 -395
- package/src/__tests__/trusted-contact-approval-notifier.test.ts +6 -8
- package/src/__tests__/trusted-contact-inline-approval-integration.test.ts +5 -7
- package/src/__tests__/trusted-contact-lifecycle-notifications.test.ts +6 -6
- package/src/__tests__/trusted-contact-multichannel.test.ts +54 -47
- package/src/__tests__/trusted-contact-verification.test.ts +12 -12
- package/src/__tests__/twilio-config.test.ts +11 -2
- package/src/__tests__/twilio-provider.test.ts +6 -4
- package/src/__tests__/twilio-routes.test.ts +408 -86
- package/src/__tests__/twitter-platform-proxy-client.test.ts +450 -0
- package/src/__tests__/update-bulletin-format.test.ts +1 -1
- package/src/__tests__/update-bulletin-state.test.ts +1 -1
- package/src/__tests__/update-bulletin.test.ts +4 -8
- package/src/__tests__/update-template-contract.test.ts +1 -1
- package/src/__tests__/usage-cache-backfill-migration.test.ts +406 -0
- package/src/__tests__/usage-routes.test.ts +23 -5
- package/src/__tests__/user-reference.test.ts +1 -1
- package/src/__tests__/{guardian-control-plane-policy.test.ts → verification-control-plane-policy.test.ts} +142 -170
- package/src/__tests__/{guardian-verification-intent-routing.test.ts → verification-session-intent-routing.test.ts} +16 -16
- package/src/__tests__/view-image-tool.test.ts +0 -2
- package/src/__tests__/voice-ingress-preflight.test.ts +36 -0
- package/src/__tests__/voice-invite-redemption.test.ts +18 -18
- package/src/__tests__/voice-scoped-grant-consumer.test.ts +7 -7
- package/src/__tests__/voice-session-bridge.test.ts +14 -16
- package/src/__tests__/workspace-policy.test.ts +1 -1
- package/src/approvals/AGENTS.md +4 -4
- package/src/approvals/approval-primitive.ts +2 -2
- package/src/approvals/guardian-decision-primitive.ts +1 -1
- package/src/approvals/guardian-request-resolvers.ts +3 -4
- package/src/bundler/app-bundler.ts +29 -217
- package/src/bundler/app-compiler.ts +131 -103
- package/src/bundler/compiler-tools.ts +248 -0
- package/src/calls/active-call-lease.ts +207 -0
- package/src/calls/call-constants.ts +0 -7
- package/src/calls/call-controller.ts +1 -1
- package/src/calls/call-conversation-messages.ts +6 -6
- package/src/calls/call-domain.ts +73 -38
- package/src/calls/call-pointer-message-composer.ts +6 -6
- package/src/calls/call-pointer-messages.ts +14 -13
- package/src/calls/call-recovery.ts +2 -0
- package/src/calls/call-store.ts +21 -28
- package/src/calls/guardian-action-sweep.ts +6 -8
- package/src/calls/guardian-dispatch.ts +2 -6
- package/src/calls/relay-access-wait.ts +4 -4
- package/src/calls/relay-server.ts +69 -80
- package/src/calls/relay-setup-router.ts +16 -21
- package/src/calls/relay-verification.ts +27 -28
- package/src/calls/twilio-config.ts +28 -3
- package/src/calls/twilio-provider.ts +5 -5
- package/src/calls/twilio-rest.ts +26 -27
- package/src/calls/twilio-routes.ts +67 -54
- package/src/calls/types.ts +8 -8
- package/src/calls/voice-ingress-preflight.ts +110 -0
- package/src/calls/voice-session-bridge.ts +7 -7
- package/src/channels/config.ts +1 -10
- package/src/{config/channel-permission-profiles.ts → channels/permission-profiles.ts} +1 -1
- package/src/channels/types.ts +2 -13
- package/src/cli/__tests__/notifications.test.ts +1 -1
- package/src/{amazon → cli/commands/amazon}/client.ts +99 -42
- package/src/cli/{amazon.ts → commands/amazon/index.ts} +12 -17
- package/src/{amazon → cli/commands/amazon}/request-extractor.ts +39 -3
- package/src/cli/commands/amazon/session.ts +116 -0
- package/src/cli/{audit.ts → commands/audit.ts} +2 -4
- package/src/cli/{autonomy.ts → commands/autonomy.ts} +1 -3
- package/src/cli/commands/browser-relay.ts +520 -0
- package/src/cli/commands/channel-verification-sessions.ts +442 -0
- package/src/cli/{completions.ts → commands/completions.ts} +1 -3
- package/src/cli/{config.ts → commands/config.ts} +3 -5
- package/src/cli/{contacts.ts → commands/contacts.ts} +263 -16
- package/src/cli/{credentials.ts → commands/credentials.ts} +9 -10
- package/src/cli/{default-action.ts → commands/default-action.ts} +3 -3
- package/src/cli/{dev.ts → commands/dev.ts} +4 -6
- package/src/cli/{doctor.ts → commands/doctor.ts} +36 -60
- package/src/cli/{email.ts → commands/email.ts} +2 -2
- package/src/cli/{keys.ts → commands/keys.ts} +6 -6
- package/src/cli/{map.ts → commands/map.ts} +85 -93
- package/src/cli/{mcp.ts → commands/mcp.ts} +5 -7
- package/src/cli/{memory.ts → commands/memory.ts} +6 -7
- package/src/cli/{notifications.ts → commands/notifications.ts} +8 -10
- package/src/cli/{oauth.ts → commands/oauth.ts} +2 -2
- package/src/cli/commands/platform.ts +176 -0
- package/src/cli/{sequence.ts → commands/sequence.ts} +3 -3
- package/src/cli/{sessions.ts → commands/sessions.ts} +32 -52
- package/src/cli/commands/skills.ts +498 -0
- package/src/cli/{trust.ts → commands/trust.ts} +2 -4
- package/src/{__tests__/twitter-cli-error-shaping.test.ts → cli/commands/twitter/__tests__/cli-error-shaping.test.ts} +43 -2
- package/src/cli/commands/twitter/__tests__/cli-read-routing.test.ts +483 -0
- package/src/{__tests__/twitter-cli-routing.test.ts → cli/commands/twitter/__tests__/cli-routing.test.ts} +130 -4
- package/src/{__tests__/twitter-oauth-client.test.ts → cli/commands/twitter/__tests__/oauth-client.test.ts} +2 -2
- package/src/{twitter → cli/commands/twitter}/client.ts +17 -7
- package/src/cli/{twitter.ts → commands/twitter/index.ts} +322 -273
- package/src/cli/commands/twitter/router.ts +396 -0
- package/src/cli/commands/twitter/session.ts +121 -0
- package/src/cli/db.ts +1 -0
- package/src/cli/http-client.ts +87 -0
- package/src/cli/logger.ts +6 -0
- package/src/cli/main-screen.tsx +4 -3
- package/src/cli/output.ts +19 -0
- package/src/cli/program.ts +29 -27
- package/src/cli/reference.ts +27 -37
- package/src/cli.ts +452 -240
- package/src/config/assistant-feature-flags.ts +3 -15
- package/src/config/bundled-skills/_shared/CLI_RETRIEVAL_PATTERN.md +3 -6
- package/src/config/bundled-skills/agentmail/SKILL.md +4 -4
- package/src/config/bundled-skills/amazon/SKILL.md +15 -5
- package/src/config/bundled-skills/api-mapping/SKILL.md +4 -4
- package/src/config/bundled-skills/app-builder/SKILL.md +21 -6
- package/src/config/bundled-skills/browser/SKILL.md +4 -5
- package/src/config/bundled-skills/chatgpt-import/SKILL.md +4 -4
- package/src/config/bundled-skills/chatgpt-import/tools/chatgpt-import.ts +1 -1
- package/src/config/bundled-skills/claude-code/SKILL.md +4 -4
- package/src/config/bundled-skills/cli-discover/SKILL.md +4 -4
- package/src/config/bundled-skills/computer-use/SKILL.md +4 -4
- package/src/config/bundled-skills/contacts/SKILL.md +87 -229
- package/src/config/bundled-skills/deploy-fullstack-vercel/SKILL.md +4 -4
- package/src/config/bundled-skills/document/SKILL.md +4 -3
- package/src/config/bundled-skills/document-writer/SKILL.md +4 -4
- package/src/config/bundled-skills/doordash/SKILL.md +4 -11
- package/src/config/bundled-skills/doordash/__tests__/doordash-session.test.ts +8 -16
- package/src/config/bundled-skills/doordash/doordash-cli.ts +120 -86
- package/src/config/bundled-skills/doordash/lib/session.ts +1 -2
- package/src/config/bundled-skills/doordash/lib/shared/platform.ts +26 -9
- package/src/config/bundled-skills/elevenlabs-voice/SKILL.md +140 -0
- package/src/config/bundled-skills/email-setup/SKILL.md +4 -4
- package/src/config/bundled-skills/followups/SKILL.md +4 -3
- package/src/config/bundled-skills/frontend-design/SKILL.md +2 -0
- package/src/config/bundled-skills/google-calendar/SKILL.md +4 -4
- package/src/config/bundled-skills/google-oauth-setup/SKILL.md +4 -6
- package/src/config/bundled-skills/guardian-verify-setup/SKILL.md +26 -41
- package/src/config/bundled-skills/image-studio/SKILL.md +4 -5
- package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +1 -1
- package/src/config/bundled-skills/influencer/SKILL.md +19 -19
- package/src/{influencer → config/bundled-skills/influencer/scripts}/client.ts +73 -56
- package/src/config/bundled-skills/influencer/scripts/influencer.ts +267 -0
- package/src/config/bundled-skills/knowledge-graph/SKILL.md +4 -2
- package/src/config/bundled-skills/macos-automation/SKILL.md +4 -5
- package/src/config/bundled-skills/mcp-setup/SKILL.md +4 -4
- package/src/config/bundled-skills/media-processing/SKILL.md +3 -2
- package/src/config/bundled-skills/messaging/SKILL.md +6 -33
- package/src/config/bundled-skills/messaging/tools/messaging-send.ts +0 -5
- package/src/config/bundled-skills/notifications/SKILL.md +4 -4
- package/src/config/bundled-skills/notion/SKILL.md +4 -4
- package/src/config/bundled-skills/notion-oauth-setup/SKILL.md +4 -5
- package/src/config/bundled-skills/oauth-setup/SKILL.md +4 -5
- package/src/config/bundled-skills/phone-calls/SKILL.md +24 -458
- package/src/config/bundled-skills/phone-calls/references/CONFIG.md +83 -0
- package/src/config/bundled-skills/phone-calls/references/TRANSCRIPTS.md +57 -0
- package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +67 -0
- package/src/config/bundled-skills/playbooks/SKILL.md +4 -3
- package/src/config/bundled-skills/public-ingress/SKILL.md +65 -14
- package/src/config/bundled-skills/reminder/SKILL.md +4 -3
- package/src/config/bundled-skills/restaurant-reservation/SKILL.md +4 -6
- package/src/config/bundled-skills/schedule/SKILL.md +4 -3
- package/src/config/bundled-skills/screen-recording/SKILL.md +4 -3
- package/src/config/bundled-skills/self-upgrade/SKILL.md +4 -4
- package/src/config/bundled-skills/skills-catalog/SKILL.md +4 -4
- package/src/config/bundled-skills/slack/SKILL.md +4 -8
- package/src/config/bundled-skills/slack/tools/slack-channel-permissions.ts +1 -1
- package/src/config/bundled-skills/slack-app-setup/SKILL.md +66 -88
- package/src/config/bundled-skills/slack-digest-setup/SKILL.md +4 -5
- package/src/config/bundled-skills/slack-oauth-setup/SKILL.md +4 -5
- package/src/config/bundled-skills/start-the-day/SKILL.md +4 -4
- package/src/config/bundled-skills/subagent/SKILL.md +4 -3
- package/src/config/bundled-skills/tasks/SKILL.md +4 -3
- package/src/config/bundled-skills/telegram-setup/SKILL.md +63 -112
- package/src/config/bundled-skills/time-based-actions/SKILL.md +4 -3
- package/src/config/bundled-skills/transcribe/SKILL.md +4 -3
- package/src/config/bundled-skills/twilio-setup/SKILL.md +23 -50
- package/src/config/bundled-skills/twitter/SKILL.md +56 -14
- package/src/config/bundled-skills/typescript-eval/SKILL.md +4 -4
- package/src/config/bundled-skills/vercel-token-setup/SKILL.md +4 -5
- package/src/config/bundled-skills/voice-setup/SKILL.md +19 -45
- package/src/config/bundled-skills/watcher/SKILL.md +4 -3
- package/src/config/env-registry.ts +1 -10
- package/src/config/feature-flag-registry.json +0 -16
- package/src/config/loader.ts +78 -38
- package/src/config/schema.ts +143 -106
- package/src/config/schemas/channels.ts +80 -0
- package/src/config/schemas/heartbeat.ts +51 -0
- package/src/config/schemas/inference.ts +136 -0
- package/src/config/schemas/ingress.ts +81 -0
- package/src/config/schemas/logging.ts +21 -0
- package/src/config/schemas/memory-lifecycle.ts +67 -0
- package/src/config/schemas/memory-processing.ts +215 -0
- package/src/config/schemas/memory-retrieval.ts +222 -0
- package/src/config/schemas/memory-storage.ts +83 -0
- package/src/config/schemas/memory.ts +58 -0
- package/src/config/schemas/platform.ts +64 -0
- package/src/config/schemas/security.ts +54 -0
- package/src/config/schemas/swarm.ts +50 -0
- package/src/config/schemas/timeouts.ts +47 -0
- package/src/config/{agent-schema.ts → schemas/workspace-git.ts} +0 -97
- package/src/config/skill-state.ts +3 -13
- package/src/config/skills.ts +233 -75
- package/src/config/types.ts +1 -20
- package/src/contacts/contact-store.ts +12 -49
- package/src/contacts/contacts-write.ts +1 -5
- package/src/contacts/index.ts +0 -2
- package/src/contacts/types.ts +0 -8
- package/src/context/window-manager.ts +73 -14
- package/src/daemon/assistant-attachments.ts +9 -0
- package/src/daemon/computer-use-session.ts +3 -3
- package/src/daemon/connection-policy.ts +6 -21
- package/src/daemon/context-overflow-policy.ts +1 -1
- package/src/daemon/daemon-control.ts +46 -54
- package/src/daemon/doordash-steps.ts +1 -1
- package/src/daemon/handlers/config-channels.ts +407 -71
- package/src/daemon/handlers/config-ingress.ts +17 -85
- package/src/daemon/handlers/config-model.ts +145 -123
- package/src/daemon/handlers/config-slack-channel.ts +43 -29
- package/src/daemon/handlers/config-telegram.ts +32 -27
- package/src/daemon/handlers/config-voice.ts +1 -4
- package/src/daemon/handlers/dictation.ts +11 -16
- package/src/daemon/handlers/identity.ts +5 -6
- package/src/daemon/handlers/pairing.ts +5 -13
- package/src/daemon/handlers/recording.ts +97 -199
- package/src/daemon/handlers/session-history.ts +110 -96
- package/src/daemon/handlers/session-user-message.ts +29 -57
- package/src/daemon/handlers/sessions.ts +240 -137
- package/src/daemon/handlers/shared.ts +62 -95
- package/src/daemon/handlers/skills.ts +492 -543
- package/src/daemon/lifecycle.ts +168 -55
- package/src/daemon/main.ts +1 -0
- package/src/daemon/{ipc-contract.ts → message-protocol.ts} +49 -49
- package/src/daemon/{ipc-contract → message-types}/computer-use.ts +0 -3
- package/src/daemon/{ipc-contract → message-types}/diagnostics.ts +0 -16
- package/src/daemon/{ipc-contract → message-types}/integrations.ts +29 -13
- package/src/daemon/{ipc-contract → message-types}/memory.ts +8 -0
- package/src/daemon/{ipc-contract → message-types}/notifications.ts +15 -1
- package/src/daemon/{ipc-contract → message-types}/sessions.ts +1 -0
- package/src/daemon/{ipc-contract → message-types}/shared.ts +0 -8
- package/src/daemon/{ipc-contract → message-types}/workspace.ts +2 -2
- package/src/daemon/providers-setup.ts +0 -5
- package/src/daemon/recording-executor.ts +0 -7
- package/src/daemon/ride-shotgun-handler.ts +9 -13
- package/src/daemon/server.ts +136 -510
- package/src/daemon/session-agent-loop-handlers.ts +22 -7
- package/src/daemon/session-agent-loop.ts +86 -24
- package/src/daemon/session-attachments.ts +1 -1
- package/src/daemon/session-error.ts +1 -1
- package/src/daemon/session-history.ts +20 -15
- package/src/daemon/session-lifecycle.ts +9 -7
- package/src/daemon/session-memory.ts +15 -1
- package/src/daemon/session-messaging.ts +10 -6
- package/src/daemon/session-notifiers.ts +10 -8
- package/src/daemon/session-process.ts +34 -25
- package/src/daemon/session-queue-manager.ts +1 -1
- package/src/daemon/session-runtime-assembly.ts +6 -25
- package/src/daemon/session-surfaces.ts +2 -2
- package/src/daemon/session-tool-setup.ts +1 -1
- package/src/daemon/session-usage.ts +119 -18
- package/src/daemon/session.ts +13 -9
- package/src/daemon/tool-side-effects.ts +6 -5
- package/src/daemon/trace-emitter.ts +1 -1
- package/src/daemon/{guardian-verification-intent.ts → verification-session-intent.ts} +16 -16
- package/src/daemon/watch-handler.ts +2 -5
- package/src/email/service.ts +8 -8
- package/src/events/domain-events.ts +0 -1
- package/src/events/tool-notification-listener.ts +1 -1
- package/src/followups/followup-store.ts +1 -2
- package/src/followups/types.ts +0 -6
- package/src/heartbeat/heartbeat-service.ts +1 -1
- package/src/inbound/platform-callback-registration.ts +1 -1
- package/src/inbound/public-ingress-urls.ts +0 -8
- package/src/index.ts +12 -0
- package/src/mcp/client.ts +1 -1
- package/src/mcp/manager.ts +1 -1
- package/src/memory/app-store.ts +1 -42
- package/src/memory/{guardian-verification.ts → channel-verification-sessions.ts} +110 -93
- package/src/memory/conversation-attention-store.ts +154 -0
- package/src/memory/conversation-bootstrap.ts +1 -1
- package/src/memory/conversation-crud.ts +53 -1
- package/src/memory/conversation-display-order-migration.ts +2 -3
- package/src/memory/conversation-queries.ts +1 -29
- package/src/memory/conversation-title-service.ts +26 -21
- package/src/memory/db-connection.ts +1 -8
- package/src/memory/db-init.ts +20 -0
- package/src/memory/delivery-crud.ts +4 -34
- package/src/memory/external-conversation-store.ts +1 -1
- package/src/memory/format-recall.ts +47 -0
- package/src/memory/guardian-action-store.ts +4 -5
- package/src/memory/guardian-rate-limits.ts +0 -3
- package/src/memory/invite-store.ts +1 -1
- package/src/memory/job-handlers/backfill.ts +9 -2
- package/src/memory/job-handlers/extraction.ts +2 -7
- package/src/memory/job-handlers/summarization.ts +1 -1
- package/src/memory/llm-usage-store.ts +11 -0
- package/src/memory/migrations/114-notifications.ts +12 -40
- package/src/memory/migrations/140-backfill-usage-cache-accounting.ts +357 -0
- package/src/memory/migrations/141-rename-verification-table.ts +55 -0
- package/src/memory/migrations/142-rename-verification-session-id-column.ts +32 -0
- package/src/memory/migrations/143-rename-guardian-verification-values.ts +48 -0
- package/src/memory/migrations/144-rename-voice-to-phone.ts +147 -0
- package/src/memory/migrations/index.ts +5 -0
- package/src/memory/migrations/registry.ts +30 -0
- package/src/memory/qdrant-circuit-breaker.ts +5 -0
- package/src/memory/retriever.test.ts +707 -0
- package/src/memory/retriever.ts +120 -116
- package/src/memory/schema/calls.ts +3 -7
- package/src/memory/schema/guardian.ts +2 -2
- package/src/memory/search/lexical.ts +4 -1
- package/src/memory/search/query-expansion.test.ts +70 -0
- package/src/memory/search/query-expansion.ts +118 -0
- package/src/memory/search/types.ts +18 -17
- package/src/messaging/providers/telegram-bot/adapter.ts +1 -1
- package/src/messaging/providers/whatsapp/adapter.ts +1 -4
- package/src/messaging/registry.ts +0 -1
- package/src/notifications/README.md +13 -22
- package/src/notifications/adapters/macos.ts +1 -1
- package/src/notifications/conversation-pairing.ts +2 -2
- package/src/notifications/copy-composer.ts +2 -2
- package/src/notifications/decision-engine.ts +1 -10
- package/src/notifications/destination-resolver.ts +2 -3
- package/src/notifications/emit-signal.ts +2 -8
- package/src/notifications/guardian-question-mode.ts +5 -8
- package/src/notifications/signal.ts +1 -2
- package/src/notifications/types.ts +1 -1
- package/src/oauth/token-persistence.ts +25 -1
- package/src/permissions/checker.ts +4 -29
- package/src/permissions/defaults.ts +6 -6
- package/src/permissions/prompter.ts +1 -1
- package/src/permissions/secret-prompter.ts +1 -1
- package/src/permissions/shell-identity.ts +1 -1
- package/src/permissions/trust-store.ts +13 -76
- package/src/permissions/workspace-policy.ts +1 -1
- package/src/{config → prompts}/computer-use-prompt.ts +1 -1
- package/src/{config → prompts}/system-prompt.ts +40 -21
- package/src/runtime/AGENTS.md +6 -8
- package/src/runtime/access-request-helper.ts +36 -55
- package/src/runtime/actor-trust-resolver.ts +1 -24
- package/src/runtime/approval-message-composer.ts +6 -2
- package/src/runtime/assistant-event.ts +1 -1
- package/src/runtime/auth/__tests__/ipc-auth-context.test.ts +1 -1
- package/src/runtime/auth/__tests__/subject.test.ts +32 -0
- package/src/runtime/auth/route-policy.ts +140 -24
- package/src/runtime/auth/subject.ts +9 -0
- package/src/runtime/auth/token-service.ts +11 -0
- package/src/runtime/auth/types.ts +1 -1
- package/src/runtime/channel-approval-types.ts +1 -1
- package/src/runtime/channel-approvals.ts +1 -1
- package/src/runtime/channel-invite-transport.ts +0 -2
- package/src/runtime/channel-invite-transports/slack.ts +5 -19
- package/src/runtime/channel-invite-transports/telegram.ts +17 -34
- package/src/runtime/channel-invite-transports/voice.ts +1 -1
- package/src/runtime/channel-readiness-service.ts +24 -159
- package/src/runtime/channel-readiness-types.ts +5 -1
- package/src/runtime/channel-reply-delivery.ts +43 -3
- package/src/runtime/channel-retry-sweep.ts +14 -22
- package/src/runtime/{channel-guardian-service.ts → channel-verification-service.ts} +50 -53
- package/src/runtime/confirmation-request-guardian-bridge.ts +2 -3
- package/src/runtime/gateway-client.ts +12 -15
- package/src/runtime/guardian-action-followup-executor.ts +8 -73
- package/src/runtime/guardian-action-grant-minter.ts +45 -61
- package/src/runtime/guardian-action-message-composer.ts +4 -4
- package/src/runtime/guardian-reply-router.ts +3 -3
- package/src/runtime/http-server.ts +133 -24
- package/src/runtime/http-types.ts +34 -1
- package/src/runtime/invite-instruction-generator.ts +1 -3
- package/src/runtime/invite-redemption-service.ts +5 -5
- package/src/runtime/invite-service.ts +7 -7
- package/src/runtime/local-actor-identity.ts +28 -2
- package/src/runtime/local-gateway-health.ts +275 -0
- package/src/runtime/middleware/twilio-validation.ts +3 -3
- package/src/runtime/migrations/migration-transport.ts +18 -3
- package/src/runtime/migrations/rebind-secrets-screen.ts +2 -2
- package/src/runtime/nl-approval-parser.ts +2 -3
- package/src/runtime/routes/access-request-decision.ts +2 -2
- package/src/runtime/routes/app-management-routes.ts +921 -0
- package/src/runtime/routes/approval-routes.ts +76 -7
- package/src/runtime/routes/approval-strategies/guardian-callback-strategy.ts +38 -203
- package/src/runtime/routes/channel-delivery-routes.ts +5 -4
- package/src/runtime/routes/channel-route-shared.ts +1 -3
- package/src/runtime/routes/channel-routes.ts +1 -4
- package/src/runtime/routes/channel-verification-routes.ts +257 -0
- package/src/runtime/routes/computer-use-routes.ts +595 -0
- package/src/runtime/routes/contact-routes.ts +1 -317
- package/src/runtime/routes/conversation-attention-routes.ts +6 -5
- package/src/runtime/routes/conversation-routes.ts +11 -18
- package/src/runtime/routes/debug-routes.ts +1 -1
- package/src/runtime/routes/diagnostics-routes.ts +813 -0
- package/src/runtime/routes/documents-routes.ts +227 -0
- package/src/runtime/routes/guardian-approval-interception.ts +25 -48
- package/src/runtime/routes/guardian-bootstrap-routes.ts +3 -3
- package/src/runtime/routes/guardian-expiry-sweep.ts +2 -2
- package/src/runtime/routes/guardian-refresh-routes.ts +11 -6
- package/src/runtime/routes/inbound-conversation.ts +3 -10
- package/src/runtime/routes/inbound-message-handler.ts +7 -6
- package/src/runtime/routes/inbound-stages/acl-enforcement.ts +22 -22
- package/src/runtime/routes/inbound-stages/background-dispatch.test.ts +44 -0
- package/src/runtime/routes/inbound-stages/background-dispatch.ts +140 -22
- package/src/runtime/routes/inbound-stages/bootstrap-intercept.ts +4 -4
- package/src/runtime/routes/inbound-stages/edit-intercept.ts +5 -5
- package/src/runtime/routes/inbound-stages/escalation-intercept.ts +3 -3
- package/src/runtime/routes/inbound-stages/secret-ingress-check.ts +4 -4
- package/src/runtime/routes/inbound-stages/verification-intercept.ts +13 -14
- package/src/runtime/routes/integrations/slack/channel.ts +72 -0
- package/src/runtime/routes/{slack-share-routes.ts → integrations/slack/share.ts} +9 -9
- package/src/runtime/routes/integrations/telegram.ts +111 -0
- package/src/runtime/routes/integrations/twilio.ts +451 -0
- package/src/runtime/routes/invite-routes.ts +2 -2
- package/src/runtime/routes/pairing-routes.ts +1 -1
- package/src/runtime/routes/recording-routes.ts +332 -0
- package/src/{daemon/handlers/config-scheduling.ts → runtime/routes/schedule-routes.ts} +91 -106
- package/src/runtime/routes/session-management-routes.ts +167 -0
- package/src/runtime/routes/session-query-routes.ts +204 -0
- package/src/runtime/routes/settings-routes.ts +977 -0
- package/src/runtime/routes/skills-routes.ts +266 -0
- package/src/runtime/routes/subagents-routes.ts +246 -0
- package/src/runtime/routes/surface-action-routes.ts +100 -10
- package/src/runtime/routes/surface-content-routes.ts +1 -1
- package/src/runtime/routes/work-items-routes.ts +809 -0
- package/src/runtime/routes/workspace-routes.test.ts +778 -0
- package/src/runtime/routes/workspace-routes.ts +410 -0
- package/src/runtime/routes/workspace-utils.ts +88 -0
- package/src/runtime/telegram-streaming-delivery.test.ts +597 -0
- package/src/runtime/telegram-streaming-delivery.ts +380 -0
- package/src/runtime/tool-grant-request-helper.ts +1 -2
- package/src/runtime/trust-context-resolver.ts +0 -1
- package/src/runtime/{guardian-outbound-actions.ts → verification-outbound-actions.ts} +23 -188
- package/src/runtime/verification-rate-limiter.ts +2 -2
- package/src/runtime/{guardian-verification-templates.ts → verification-templates.ts} +2 -28
- package/src/schedule/integration-status.ts +2 -2
- package/src/schedule/schedule-store.ts +7 -9
- package/src/sequence/engine.ts +1 -1
- package/src/skills/active-skill-tools.ts +0 -8
- package/src/skills/clawhub.ts +1 -10
- package/src/skills/managed-store.ts +14 -4
- package/src/skills/slash-commands.ts +1 -1
- package/src/subagent/manager.ts +1 -1
- package/src/subagent/types.ts +1 -1
- package/src/tasks/SPEC.md +10 -10
- package/src/tasks/task-scheduler.ts +1 -1
- package/src/telegram/bot-username.ts +13 -0
- package/src/tools/assets/materialize.ts +1 -1
- package/src/tools/assets/search.ts +1 -1
- package/src/tools/browser/browser-execution.ts +2 -2
- package/src/tools/browser/browser-manager.ts +88 -11
- package/src/tools/browser/browser-screencast.ts +1 -1
- package/src/tools/browser/headless-browser.ts +0 -17
- package/src/tools/browser/jit-auth.ts +1 -1
- package/src/tools/browser/recording-store.ts +19 -1
- package/src/tools/browser/runtime-check.ts +4 -2
- package/src/tools/calls/call-start.ts +3 -3
- package/src/tools/credentials/metadata-store.ts +0 -13
- package/src/tools/credentials/vault.ts +7 -31
- package/src/tools/followups/followup_create.ts +0 -8
- package/src/tools/mcp/mcp-tool-factory.ts +1 -1
- package/src/tools/memory/definitions.ts +32 -10
- package/src/tools/memory/handlers.test.ts +573 -0
- package/src/tools/memory/handlers.ts +222 -65
- package/src/tools/memory/register.ts +53 -24
- package/src/tools/network/script-proxy/session-manager.ts +1 -12
- package/src/tools/schedule/update.ts +0 -8
- package/src/tools/skills/load.ts +3 -3
- package/src/tools/subagent/read.ts +1 -1
- package/src/tools/system/voice-config.ts +2 -14
- package/src/tools/terminal/safe-env.ts +5 -18
- package/src/tools/tool-approval-handler.ts +4 -4
- package/src/tools/tool-manifest.ts +4 -2
- package/src/tools/types.ts +1 -1
- package/src/tools/{guardian-control-plane-policy.ts → verification-control-plane-policy.ts} +37 -39
- package/src/twitter/platform-proxy-client.ts +405 -0
- package/src/usage/types.ts +21 -0
- package/src/util/canonicalize-identity.ts +2 -6
- package/src/util/cookie-session.ts +35 -51
- package/src/util/platform.ts +93 -86
- package/src/util/pricing.ts +180 -43
- package/src/work-items/work-item-runner.ts +1 -1
- package/scripts/ipc/check-contract-inventory.ts +0 -107
- package/scripts/ipc/check-swift-decoder-drift.ts +0 -184
- package/scripts/ipc/generate-swift.ts +0 -528
- package/src/__tests__/__snapshots__/ipc-snapshot.test.ts.snap +0 -3043
- package/src/__tests__/app-migration.test.ts +0 -148
- package/src/__tests__/config-loader-migration.test.ts +0 -85
- package/src/__tests__/daemon-lifecycle.test.ts +0 -715
- package/src/__tests__/daemon-server-session-init.test.ts +0 -864
- package/src/__tests__/guardian-actions-endpoint.test.ts +0 -1452
- package/src/__tests__/handlers-add-trust-rule-metadata.test.ts +0 -228
- package/src/__tests__/handlers-cu-observation-blob.test.ts +0 -397
- package/src/__tests__/handlers-ipc-blob-probe.test.ts +0 -218
- package/src/__tests__/handlers-slack-config.test.ts +0 -140
- package/src/__tests__/handlers-telegram-config.test.ts +0 -1317
- package/src/__tests__/handlers-twitter-config.test.ts +0 -1145
- package/src/__tests__/ingress-reconcile.test.ts +0 -606
- package/src/__tests__/integrations-cli.test.ts +0 -232
- package/src/__tests__/ipc-blob-store.test.ts +0 -329
- package/src/__tests__/ipc-contract-inventory.test.ts +0 -69
- package/src/__tests__/ipc-contract.test.ts +0 -76
- package/src/__tests__/ipc-protocol.test.ts +0 -120
- package/src/__tests__/ipc-roundtrip.benchmark.test.ts +0 -250
- package/src/__tests__/ipc-snapshot.test.ts +0 -2197
- package/src/__tests__/ipc-validate.test.ts +0 -471
- package/src/__tests__/migration-cli-flows.test.ts +0 -186
- package/src/__tests__/migration-ordering.test.ts +0 -267
- package/src/__tests__/oauth-connect-handler.test.ts +0 -361
- package/src/__tests__/platform-move-helper.test.ts +0 -108
- package/src/__tests__/platform-socket-path.test.ts +0 -52
- package/src/__tests__/platform-workspace-migration.test.ts +0 -1051
- package/src/__tests__/recording-intent-handler.test.ts +0 -1155
- package/src/__tests__/script-proxy-profile-template-fallback.test.ts +0 -127
- package/src/__tests__/sms-messaging-provider.test.ts +0 -156
- package/src/__tests__/tool-permission-simulate-handler.test.ts +0 -367
- package/src/__tests__/twitter-auth-handler.test.ts +0 -561
- package/src/__tests__/work-item-output.test.ts +0 -150
- package/src/amazon/session.ts +0 -58
- package/src/cli/channels.ts +0 -51
- package/src/cli/influencer.ts +0 -319
- package/src/cli/integrations.ts +0 -372
- package/src/cli/ipc-client.ts +0 -88
- package/src/config/bundled-skills/configure-settings/SKILL.md +0 -86
- package/src/config/bundled-skills/doordash/lib/shared/ipc.ts +0 -32
- package/src/config/bundled-skills/sms-setup/SKILL.md +0 -210
- package/src/config/core-schema.ts +0 -434
- package/src/config/memory-schema.ts +0 -617
- package/src/daemon/auth-manager.ts +0 -106
- package/src/daemon/handlers/apps.ts +0 -758
- package/src/daemon/handlers/avatar.ts +0 -73
- package/src/daemon/handlers/browser.ts +0 -3
- package/src/daemon/handlers/computer-use.ts +0 -231
- package/src/daemon/handlers/config-dispatch.ts +0 -29
- package/src/daemon/handlers/config-heartbeat.ts +0 -299
- package/src/daemon/handlers/config-inbox.ts +0 -457
- package/src/daemon/handlers/config-integrations.ts +0 -409
- package/src/daemon/handlers/config-platform.ts +0 -77
- package/src/daemon/handlers/config-slack.ts +0 -41
- package/src/daemon/handlers/config-tools.ts +0 -226
- package/src/daemon/handlers/config-trust.ts +0 -135
- package/src/daemon/handlers/config.ts +0 -64
- package/src/daemon/handlers/contacts.ts +0 -193
- package/src/daemon/handlers/diagnostics.ts +0 -382
- package/src/daemon/handlers/documents.ts +0 -188
- package/src/daemon/handlers/guardian-actions.ts +0 -82
- package/src/daemon/handlers/home-base.ts +0 -82
- package/src/daemon/handlers/index.ts +0 -222
- package/src/daemon/handlers/misc.ts +0 -1139
- package/src/daemon/handlers/navigate-settings.ts +0 -29
- package/src/daemon/handlers/oauth-connect.ts +0 -202
- package/src/daemon/handlers/open-bundle-handler.ts +0 -88
- package/src/daemon/handlers/publish.ts +0 -176
- package/src/daemon/handlers/signing.ts +0 -56
- package/src/daemon/handlers/subagents.ts +0 -286
- package/src/daemon/handlers/twitter-auth.ts +0 -220
- package/src/daemon/handlers/work-items.ts +0 -796
- package/src/daemon/handlers/workspace-files.ts +0 -84
- package/src/daemon/handlers.ts +0 -16
- package/src/daemon/ipc-blob-store.ts +0 -246
- package/src/daemon/ipc-contract-inventory.json +0 -348
- package/src/daemon/ipc-contract-inventory.ts +0 -202
- package/src/daemon/ipc-handler.ts +0 -120
- package/src/daemon/ipc-protocol.ts +0 -85
- package/src/daemon/ipc-validate.ts +0 -254
- package/src/memory/app-migration.ts +0 -114
- package/src/memory/channel-delivery-store.ts +0 -40
- package/src/memory/channel-guardian-store.ts +0 -83
- package/src/memory/conversation-store.ts +0 -102
- package/src/memory/schema-migration.ts +0 -38
- package/src/messaging/providers/sms/adapter.ts +0 -232
- package/src/messaging/providers/sms/client.ts +0 -93
- package/src/messaging/providers/sms/types.ts +0 -7
- package/src/migrations/config-merge.ts +0 -62
- package/src/migrations/data-layout.ts +0 -89
- package/src/migrations/data-merge.ts +0 -44
- package/src/migrations/hooks-merge.ts +0 -118
- package/src/migrations/index.ts +0 -6
- package/src/migrations/log.ts +0 -28
- package/src/migrations/skills-merge.ts +0 -44
- package/src/migrations/workspace-layout.ts +0 -94
- package/src/notifications/adapters/sms.ts +0 -94
- package/src/runtime/channel-approval-parser.ts +0 -123
- package/src/runtime/channel-invite-transports/sms.ts +0 -53
- package/src/runtime/routes/approval-strategies/guardian-legacy-fallback-strategy.ts +0 -82
- package/src/runtime/routes/integration-routes.ts +0 -381
- package/src/runtime/routes/twilio-routes.ts +0 -1251
- package/src/twitter/router.ts +0 -131
- package/src/twitter/session.ts +0 -54
- package/src/watcher/providers/slack.ts +0 -282
- /package/src/{amazon → cli/commands/amazon}/cart.ts +0 -0
- /package/src/{amazon → cli/commands/amazon}/checkout.ts +0 -0
- /package/src/{amazon → cli/commands/amazon}/product-details.ts +0 -0
- /package/src/{amazon → cli/commands/amazon}/search.ts +0 -0
- /package/src/{twitter → cli/commands/twitter}/oauth-client.ts +0 -0
- /package/src/config/{calls-schema.ts → schemas/calls.ts} +0 -0
- /package/src/config/{elevenlabs-schema.ts → schemas/elevenlabs.ts} +0 -0
- /package/src/config/{mcp-schema.ts → schemas/mcp.ts} +0 -0
- /package/src/config/{notifications-schema.ts → schemas/notifications.ts} +0 -0
- /package/src/config/{sandbox-schema.ts → schemas/sandbox.ts} +0 -0
- /package/src/config/{skills-schema.ts → schemas/skills.ts} +0 -0
- /package/src/daemon/{ipc-contract → message-types}/apps.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/browser.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/contacts.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/documents.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/guardian-actions.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/inbox.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/messages.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/pairing.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/schedules.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/settings.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/skills.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/subagents.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/surfaces.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/trust.ts +0 -0
- /package/src/daemon/{ipc-contract → message-types}/work-items.ts +0 -0
- /package/src/{cli/email-guardrails.ts → email/guardrails.ts} +0 -0
- /package/src/{config → prompts}/__tests__/build-cli-reference-section.test.ts +0 -0
- /package/src/{config → prompts}/templates/BOOTSTRAP.md +0 -0
- /package/src/{config → prompts}/templates/IDENTITY.md +0 -0
- /package/src/{config → prompts}/templates/SOUL.md +0 -0
- /package/src/{config → prompts}/templates/UPDATES.md +0 -0
- /package/src/{config → prompts}/templates/USER.md +0 -0
- /package/src/{config → prompts}/update-bulletin-format.ts +0 -0
- /package/src/{config → prompts}/update-bulletin-state.ts +0 -0
- /package/src/{config → prompts}/update-bulletin-template-path.ts +0 -0
- /package/src/{config → prompts}/update-bulletin.ts +0 -0
- /package/src/{config → prompts}/user-reference.ts +0 -0
package/src/cli/integrations.ts
DELETED
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
import type { Command } from "commander";
|
|
2
|
-
|
|
3
|
-
import { DEFAULT_ELEVENLABS_VOICE_ID } from "../config/elevenlabs-schema.js";
|
|
4
|
-
import { getGatewayInternalBaseUrl } from "../config/env.js";
|
|
5
|
-
import { loadRawConfig } from "../config/loader.js";
|
|
6
|
-
import {
|
|
7
|
-
initAuthSigningKey,
|
|
8
|
-
isSigningKeyInitialized,
|
|
9
|
-
loadOrCreateSigningKey,
|
|
10
|
-
mintEdgeRelayToken,
|
|
11
|
-
} from "../runtime/auth/token-service.js";
|
|
12
|
-
|
|
13
|
-
type GuardianChannel = "telegram" | "voice" | "sms";
|
|
14
|
-
|
|
15
|
-
function asRecord(value: unknown): Record<string, unknown> {
|
|
16
|
-
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
17
|
-
return {};
|
|
18
|
-
}
|
|
19
|
-
return value as Record<string, unknown>;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export function shouldOutputJson(cmd: Command): boolean {
|
|
23
|
-
let current: Command | null = cmd;
|
|
24
|
-
while (current) {
|
|
25
|
-
if ((current.opts() as { json?: boolean }).json) return true;
|
|
26
|
-
current = current.parent;
|
|
27
|
-
}
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function writeOutput(cmd: Command, payload: unknown): void {
|
|
32
|
-
const compact = shouldOutputJson(cmd);
|
|
33
|
-
process.stdout.write(
|
|
34
|
-
compact
|
|
35
|
-
? JSON.stringify(payload) + "\n"
|
|
36
|
-
: JSON.stringify(payload, null, 2) + "\n",
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
function getGatewayToken(): string {
|
|
41
|
-
const existing = process.env.GATEWAY_AUTH_TOKEN?.trim();
|
|
42
|
-
if (existing) return existing;
|
|
43
|
-
|
|
44
|
-
if (!isSigningKeyInitialized()) {
|
|
45
|
-
initAuthSigningKey(loadOrCreateSigningKey());
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return mintEdgeRelayToken();
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
export function toQueryString(
|
|
52
|
-
params: Record<string, string | undefined>,
|
|
53
|
-
): string {
|
|
54
|
-
const query = new URLSearchParams();
|
|
55
|
-
for (const [key, value] of Object.entries(params)) {
|
|
56
|
-
if (value) query.set(key, value);
|
|
57
|
-
}
|
|
58
|
-
const encoded = query.toString();
|
|
59
|
-
return encoded ? `?${encoded}` : "";
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function readIngressConfig(): {
|
|
63
|
-
success: true;
|
|
64
|
-
enabled: boolean;
|
|
65
|
-
publicBaseUrl?: string;
|
|
66
|
-
localGatewayTarget: string;
|
|
67
|
-
} {
|
|
68
|
-
const raw = loadRawConfig();
|
|
69
|
-
const ingress = asRecord(raw.ingress);
|
|
70
|
-
const configuredUrl =
|
|
71
|
-
typeof ingress.publicBaseUrl === "string"
|
|
72
|
-
? ingress.publicBaseUrl.trim()
|
|
73
|
-
: "";
|
|
74
|
-
const explicitEnabled =
|
|
75
|
-
typeof ingress.enabled === "boolean" ? ingress.enabled : undefined;
|
|
76
|
-
const enabled = explicitEnabled ?? configuredUrl.length > 0;
|
|
77
|
-
|
|
78
|
-
return {
|
|
79
|
-
success: true,
|
|
80
|
-
enabled,
|
|
81
|
-
publicBaseUrl: configuredUrl || undefined,
|
|
82
|
-
localGatewayTarget: getGatewayInternalBaseUrl(),
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
function readVoiceConfig(): {
|
|
87
|
-
success: true;
|
|
88
|
-
callsEnabled: boolean;
|
|
89
|
-
voiceId: string;
|
|
90
|
-
configuredVoiceId?: string;
|
|
91
|
-
usesDefaultVoice: boolean;
|
|
92
|
-
} {
|
|
93
|
-
const raw = loadRawConfig();
|
|
94
|
-
const calls = asRecord(raw.calls);
|
|
95
|
-
const elevenlabs = asRecord(raw.elevenlabs);
|
|
96
|
-
const configuredVoiceId =
|
|
97
|
-
typeof elevenlabs.voiceId === "string" ? elevenlabs.voiceId.trim() : "";
|
|
98
|
-
|
|
99
|
-
return {
|
|
100
|
-
success: true,
|
|
101
|
-
callsEnabled: calls.enabled === true,
|
|
102
|
-
voiceId: configuredVoiceId || DEFAULT_ELEVENLABS_VOICE_ID,
|
|
103
|
-
configuredVoiceId: configuredVoiceId || undefined,
|
|
104
|
-
usesDefaultVoice: configuredVoiceId.length === 0,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// CLI-specific gateway helper — uses GATEWAY_AUTH_TOKEN env var for out-of-process
|
|
109
|
-
// access. See runtime/gateway-internal-client.ts for daemon-internal usage which
|
|
110
|
-
// mints fresh tokens.
|
|
111
|
-
export async function gatewayGet(path: string): Promise<unknown> {
|
|
112
|
-
const gatewayBase = getGatewayInternalBaseUrl();
|
|
113
|
-
const token = getGatewayToken();
|
|
114
|
-
|
|
115
|
-
const response = await fetch(`${gatewayBase}${path}`, {
|
|
116
|
-
method: "GET",
|
|
117
|
-
headers: {
|
|
118
|
-
Accept: "application/json",
|
|
119
|
-
Authorization: `Bearer ${token}`,
|
|
120
|
-
},
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
const rawBody = await response.text();
|
|
124
|
-
let parsed: unknown = { ok: false, error: rawBody };
|
|
125
|
-
|
|
126
|
-
if (rawBody.length > 0) {
|
|
127
|
-
try {
|
|
128
|
-
parsed = JSON.parse(rawBody) as unknown;
|
|
129
|
-
} catch {
|
|
130
|
-
parsed = { ok: false, error: rawBody };
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
if (!response.ok) {
|
|
135
|
-
const message =
|
|
136
|
-
typeof parsed === "object" && parsed && "error" in parsed
|
|
137
|
-
? String((parsed as { error?: unknown }).error)
|
|
138
|
-
: `Gateway request failed (${response.status})`;
|
|
139
|
-
throw new Error(`${message} [${response.status}]`);
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
return parsed;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
export async function gatewayPost(
|
|
146
|
-
path: string,
|
|
147
|
-
body: unknown,
|
|
148
|
-
): Promise<unknown> {
|
|
149
|
-
const gatewayBase = getGatewayInternalBaseUrl();
|
|
150
|
-
const token = getGatewayToken();
|
|
151
|
-
|
|
152
|
-
const response = await fetch(`${gatewayBase}${path}`, {
|
|
153
|
-
method: "POST",
|
|
154
|
-
headers: {
|
|
155
|
-
"Content-Type": "application/json",
|
|
156
|
-
Accept: "application/json",
|
|
157
|
-
Authorization: `Bearer ${token}`,
|
|
158
|
-
},
|
|
159
|
-
body: JSON.stringify(body),
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
const rawBody = await response.text();
|
|
163
|
-
let parsed: unknown = { ok: false, error: rawBody };
|
|
164
|
-
|
|
165
|
-
if (rawBody.length > 0) {
|
|
166
|
-
try {
|
|
167
|
-
parsed = JSON.parse(rawBody) as unknown;
|
|
168
|
-
} catch {
|
|
169
|
-
parsed = { ok: false, error: rawBody };
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (!response.ok) {
|
|
174
|
-
const message =
|
|
175
|
-
typeof parsed === "object" && parsed && "error" in parsed
|
|
176
|
-
? String((parsed as { error?: unknown }).error)
|
|
177
|
-
: `Gateway request failed (${response.status})`;
|
|
178
|
-
throw new Error(`${message} [${response.status}]`);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return parsed;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
export async function runRead(
|
|
185
|
-
cmd: Command,
|
|
186
|
-
reader: () => Promise<unknown>,
|
|
187
|
-
): Promise<void> {
|
|
188
|
-
try {
|
|
189
|
-
const result = await reader();
|
|
190
|
-
writeOutput(cmd, result);
|
|
191
|
-
} catch (err) {
|
|
192
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
193
|
-
writeOutput(cmd, { ok: false, error: message });
|
|
194
|
-
process.exitCode = 1;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
export function registerIntegrationsCommand(program: Command): void {
|
|
199
|
-
const integrations = program
|
|
200
|
-
.command("integrations")
|
|
201
|
-
.description("Read integration and ingress status through the gateway API")
|
|
202
|
-
.option("--json", "Machine-readable compact JSON output");
|
|
203
|
-
|
|
204
|
-
integrations.addHelpText(
|
|
205
|
-
"after",
|
|
206
|
-
`
|
|
207
|
-
Reads integration configuration and status through the gateway API. The
|
|
208
|
-
assistant must be running for most subcommands (telegram, guardian)
|
|
209
|
-
since they query the gateway. Exceptions: "ingress config" and "voice config"
|
|
210
|
-
read from the local config file and do not require the gateway.
|
|
211
|
-
|
|
212
|
-
Integration categories:
|
|
213
|
-
telegram Telegram bot configuration and webhook status
|
|
214
|
-
guardian Guardian trust verification system for contacts
|
|
215
|
-
ingress Public ingress URL and local gateway target (config-only)
|
|
216
|
-
voice Voice/call readiness and ElevenLabs voice ID (config-only)
|
|
217
|
-
|
|
218
|
-
Examples:
|
|
219
|
-
$ assistant integrations telegram config
|
|
220
|
-
$ assistant integrations guardian status --channel sms`,
|
|
221
|
-
);
|
|
222
|
-
|
|
223
|
-
const telegram = integrations
|
|
224
|
-
.command("telegram")
|
|
225
|
-
.description("Telegram integration status");
|
|
226
|
-
|
|
227
|
-
telegram.addHelpText(
|
|
228
|
-
"after",
|
|
229
|
-
`
|
|
230
|
-
Checks the Telegram bot configuration status through the gateway API.
|
|
231
|
-
Requires the assistant to be running.
|
|
232
|
-
|
|
233
|
-
Examples:
|
|
234
|
-
$ assistant integrations telegram config
|
|
235
|
-
$ assistant integrations telegram config --json`,
|
|
236
|
-
);
|
|
237
|
-
|
|
238
|
-
telegram
|
|
239
|
-
.command("config")
|
|
240
|
-
.description("Get Telegram integration configuration status")
|
|
241
|
-
.addHelpText(
|
|
242
|
-
"after",
|
|
243
|
-
`
|
|
244
|
-
Returns the Telegram bot token status, webhook URL, and bot username from
|
|
245
|
-
the gateway. Requires the assistant to be running.
|
|
246
|
-
|
|
247
|
-
The response includes whether a bot token is configured, the current webhook
|
|
248
|
-
endpoint, and the bot's Telegram username.
|
|
249
|
-
|
|
250
|
-
Examples:
|
|
251
|
-
$ assistant integrations telegram config
|
|
252
|
-
$ assistant integrations telegram config --json`,
|
|
253
|
-
)
|
|
254
|
-
.action(async (_opts: unknown, cmd: Command) => {
|
|
255
|
-
await runRead(cmd, async () =>
|
|
256
|
-
gatewayGet("/v1/integrations/telegram/config"),
|
|
257
|
-
);
|
|
258
|
-
});
|
|
259
|
-
|
|
260
|
-
const guardian = integrations
|
|
261
|
-
.command("guardian")
|
|
262
|
-
.description("Guardian verification status");
|
|
263
|
-
|
|
264
|
-
guardian.addHelpText(
|
|
265
|
-
"after",
|
|
266
|
-
`
|
|
267
|
-
Guardian is the trust verification system for contacts. It tracks whether
|
|
268
|
-
contacts on each channel have completed identity verification. Requires
|
|
269
|
-
the assistant to be running.
|
|
270
|
-
|
|
271
|
-
Examples:
|
|
272
|
-
$ assistant integrations guardian status
|
|
273
|
-
$ assistant integrations guardian status --channel voice`,
|
|
274
|
-
);
|
|
275
|
-
|
|
276
|
-
guardian
|
|
277
|
-
.command("status")
|
|
278
|
-
.description("Get guardian status for a channel")
|
|
279
|
-
.option("--channel <channel>", "Channel: telegram|voice|sms", "telegram")
|
|
280
|
-
.addHelpText(
|
|
281
|
-
"after",
|
|
282
|
-
`
|
|
283
|
-
Returns the guardian verification state for the specified channel. Requires
|
|
284
|
-
the assistant to be running.
|
|
285
|
-
|
|
286
|
-
The --channel flag accepts: telegram, voice, sms. Defaults to telegram if
|
|
287
|
-
not specified. The response includes whether guardian verification is active
|
|
288
|
-
and the current verification state for that channel.
|
|
289
|
-
|
|
290
|
-
Examples:
|
|
291
|
-
$ assistant integrations guardian status
|
|
292
|
-
$ assistant integrations guardian status --channel telegram
|
|
293
|
-
$ assistant integrations guardian status --channel voice
|
|
294
|
-
$ assistant integrations guardian status --channel sms --json`,
|
|
295
|
-
)
|
|
296
|
-
.action(async (opts: { channel?: GuardianChannel }, cmd: Command) => {
|
|
297
|
-
const channel = opts.channel ?? "telegram";
|
|
298
|
-
await runRead(cmd, async () =>
|
|
299
|
-
gatewayGet(
|
|
300
|
-
`/v1/integrations/guardian/status${toQueryString({ channel })}`,
|
|
301
|
-
),
|
|
302
|
-
);
|
|
303
|
-
});
|
|
304
|
-
|
|
305
|
-
const ingress = integrations
|
|
306
|
-
.command("ingress")
|
|
307
|
-
.description("Trusted contact membership and invite status");
|
|
308
|
-
|
|
309
|
-
ingress.addHelpText(
|
|
310
|
-
"after",
|
|
311
|
-
`
|
|
312
|
-
Shows the public ingress URL and local gateway target URL. Reads from the
|
|
313
|
-
local config file and does not require the gateway to be running.
|
|
314
|
-
|
|
315
|
-
Examples:
|
|
316
|
-
$ assistant integrations ingress config`,
|
|
317
|
-
);
|
|
318
|
-
|
|
319
|
-
ingress
|
|
320
|
-
.command("config")
|
|
321
|
-
.description("Get public ingress URL and local gateway target")
|
|
322
|
-
.addHelpText(
|
|
323
|
-
"after",
|
|
324
|
-
`
|
|
325
|
-
Shows the public ingress URL and the local gateway target URL. Reads from
|
|
326
|
-
the local config file and does not require the gateway to be running.
|
|
327
|
-
|
|
328
|
-
The response includes whether ingress is enabled, the configured public base
|
|
329
|
-
URL (if any), and the local gateway target address. Ingress is considered
|
|
330
|
-
enabled if explicitly set to true or if a publicBaseUrl is configured.
|
|
331
|
-
|
|
332
|
-
Examples:
|
|
333
|
-
$ assistant integrations ingress config
|
|
334
|
-
$ assistant integrations ingress config --json`,
|
|
335
|
-
)
|
|
336
|
-
.action(async (_opts: unknown, cmd: Command) => {
|
|
337
|
-
await runRead(cmd, async () => readIngressConfig());
|
|
338
|
-
});
|
|
339
|
-
|
|
340
|
-
const voice = integrations.command("voice").description("Voice setup status");
|
|
341
|
-
|
|
342
|
-
voice.addHelpText(
|
|
343
|
-
"after",
|
|
344
|
-
`
|
|
345
|
-
Shows voice and call readiness configuration. Reads from the local config
|
|
346
|
-
file and does not require the gateway to be running.
|
|
347
|
-
|
|
348
|
-
Examples:
|
|
349
|
-
$ assistant integrations voice config`,
|
|
350
|
-
);
|
|
351
|
-
|
|
352
|
-
voice
|
|
353
|
-
.command("config")
|
|
354
|
-
.description("Get voice and call readiness config")
|
|
355
|
-
.addHelpText(
|
|
356
|
-
"after",
|
|
357
|
-
`
|
|
358
|
-
Shows voice and call readiness status. Reads from the local config file and
|
|
359
|
-
does not require the gateway to be running.
|
|
360
|
-
|
|
361
|
-
The response includes whether calls are enabled, the active ElevenLabs voice
|
|
362
|
-
ID (falls back to default if not configured), whether a custom voice ID is
|
|
363
|
-
set, and whether the default voice is in use.
|
|
364
|
-
|
|
365
|
-
Examples:
|
|
366
|
-
$ assistant integrations voice config
|
|
367
|
-
$ assistant integrations voice config --json`,
|
|
368
|
-
)
|
|
369
|
-
.action(async (_opts: unknown, cmd: Command) => {
|
|
370
|
-
await runRead(cmd, async () => readVoiceConfig());
|
|
371
|
-
});
|
|
372
|
-
}
|
package/src/cli/ipc-client.ts
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import * as net from "node:net";
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
type ClientMessage,
|
|
5
|
-
createMessageParser,
|
|
6
|
-
serialize,
|
|
7
|
-
type ServerMessage,
|
|
8
|
-
} from "../daemon/ipc-protocol.js";
|
|
9
|
-
import { IpcError } from "../util/errors.js";
|
|
10
|
-
import { getSocketPath, readSessionToken } from "../util/platform.js";
|
|
11
|
-
|
|
12
|
-
export function sendOneMessage(msg: ClientMessage): Promise<ServerMessage> {
|
|
13
|
-
return new Promise((resolve, reject) => {
|
|
14
|
-
const socket = net.createConnection(getSocketPath());
|
|
15
|
-
const parser = createMessageParser();
|
|
16
|
-
let resolved = false;
|
|
17
|
-
let authenticated = false;
|
|
18
|
-
|
|
19
|
-
socket.on("connect", () => {
|
|
20
|
-
// Authenticate first — the daemon requires a valid session token
|
|
21
|
-
// before it will accept any other messages.
|
|
22
|
-
const token = readSessionToken();
|
|
23
|
-
if (!token) {
|
|
24
|
-
resolved = true;
|
|
25
|
-
reject(
|
|
26
|
-
new IpcError("Session token not found — is the assistant running?"),
|
|
27
|
-
);
|
|
28
|
-
socket.destroy();
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
socket.write(serialize({ type: "auth", token }));
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
socket.on("data", (data) => {
|
|
35
|
-
const messages = parser.feed(data.toString()) as ServerMessage[];
|
|
36
|
-
for (const m of messages) {
|
|
37
|
-
// Handle auth handshake
|
|
38
|
-
if (!authenticated) {
|
|
39
|
-
if (m.type === "auth_result") {
|
|
40
|
-
if ((m as { success: boolean }).success) {
|
|
41
|
-
authenticated = true;
|
|
42
|
-
// Now send the actual message
|
|
43
|
-
socket.write(serialize(msg));
|
|
44
|
-
} else {
|
|
45
|
-
resolved = true;
|
|
46
|
-
reject(
|
|
47
|
-
new IpcError(
|
|
48
|
-
(m as { message?: string }).message ??
|
|
49
|
-
"Authentication failed",
|
|
50
|
-
),
|
|
51
|
-
);
|
|
52
|
-
socket.destroy();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Skip push messages that aren't responses to our request
|
|
59
|
-
if (m.type === "daemon_status") {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
// On auto-auth sockets the server may send a second auth_result
|
|
63
|
-
// in response to the client's auth message after we're already
|
|
64
|
-
// authenticated — ignore it so it doesn't resolve as the response.
|
|
65
|
-
if (m.type === "auth_result") {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (m.type === "session_info" && msg.type !== "session_create") {
|
|
69
|
-
continue;
|
|
70
|
-
}
|
|
71
|
-
resolved = true;
|
|
72
|
-
socket.end();
|
|
73
|
-
resolve(m);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
socket.on("error", (err) => {
|
|
79
|
-
if (!resolved) reject(err);
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
socket.on("close", () => {
|
|
83
|
-
if (!resolved) {
|
|
84
|
-
reject(new IpcError("Socket closed before receiving a response"));
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: "Configure Settings"
|
|
3
|
-
description: "Read, update, or reset assistant configuration values using the assistant config CLI"
|
|
4
|
-
user-invocable: true
|
|
5
|
-
metadata: { "vellum": { "emoji": "⚙️" } }
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are helping the user view or change assistant configuration through the `vellum` CLI. Treat CLI commands as the canonical interface. Do **not** read or edit config files directly.
|
|
9
|
-
|
|
10
|
-
## Domain Status Reads First
|
|
11
|
-
|
|
12
|
-
When a user asks for setup/status of a specific capability, prefer domain commands before generic `assistant config get`:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
assistant integrations voice config --json
|
|
16
|
-
assistant integrations ingress config --json
|
|
17
|
-
assistant integrations twilio config --json
|
|
18
|
-
assistant email status --json
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
Use `assistant config get` for generic keys that do not have a domain command.
|
|
22
|
-
|
|
23
|
-
## Reading a value
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
assistant config get <key>
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Examples:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
assistant config get platform.baseUrl
|
|
33
|
-
assistant config get memory.qdrant.url
|
|
34
|
-
assistant config get provider
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
If the result is empty, the compiled default is in effect.
|
|
38
|
-
|
|
39
|
-
## Setting a value
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
assistant config set <key> <value>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
Examples:
|
|
46
|
-
|
|
47
|
-
```bash
|
|
48
|
-
assistant config set platform.baseUrl "https://platform.vellum.ai"
|
|
49
|
-
assistant config set provider "openai"
|
|
50
|
-
assistant config set memory.enabled false
|
|
51
|
-
assistant config set maxTokens 8000
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Resetting a value to its default
|
|
55
|
-
|
|
56
|
-
Set the key to an empty string (for strings) or omit it from the config file:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
assistant config set <key> ""
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Listing all configuration
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
assistant config list
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Common configuration keys
|
|
69
|
-
|
|
70
|
-
| Key | Description |
|
|
71
|
-
| ----------------------- | ---------------------------------------------- |
|
|
72
|
-
| `platform.baseUrl` | Vellum platform URL for auth and API calls |
|
|
73
|
-
| `provider` | Default LLM provider (anthropic, openai, etc.) |
|
|
74
|
-
| `model` | Default model name |
|
|
75
|
-
| `memory.enabled` | Enable/disable memory system |
|
|
76
|
-
| `memory.qdrant.url` | Qdrant vector store URL |
|
|
77
|
-
| `calls.enabled` | Enable/disable phone call support |
|
|
78
|
-
| `sandbox.enabled` | Enable/disable sandbox for tool execution |
|
|
79
|
-
| `ingress.publicBaseUrl` | Public ingress URL for webhooks |
|
|
80
|
-
|
|
81
|
-
## Notes
|
|
82
|
-
|
|
83
|
-
- Changes to most settings take effect after the assistant restarts or reconnects
|
|
84
|
-
- Platform URL changes take effect after the macOS app reconnects (Settings > Connect)
|
|
85
|
-
- Boolean values should be `true` or `false`; numeric values are bare numbers
|
|
86
|
-
- The full config schema is defined in `assistant/src/config/core-schema.ts`
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Minimal IPC serialization/parsing for daemon communication.
|
|
3
|
-
* Inlined from assistant/src/daemon/ipc-protocol.ts (stripped of type dependencies).
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export function serialize(msg: Record<string, unknown>): string {
|
|
7
|
-
return JSON.stringify(msg) + "\n";
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function createMessageParser() {
|
|
11
|
-
let buffer = "";
|
|
12
|
-
|
|
13
|
-
return {
|
|
14
|
-
feed(data: string): Array<Record<string, unknown>> {
|
|
15
|
-
buffer += data;
|
|
16
|
-
const lines = buffer.split("\n");
|
|
17
|
-
buffer = lines.pop() ?? "";
|
|
18
|
-
const results: Array<Record<string, unknown>> = [];
|
|
19
|
-
for (const line of lines) {
|
|
20
|
-
const trimmed = line.trim();
|
|
21
|
-
if (trimmed) {
|
|
22
|
-
try {
|
|
23
|
-
results.push(JSON.parse(trimmed) as Record<string, unknown>);
|
|
24
|
-
} catch {
|
|
25
|
-
// Skip malformed messages
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return results;
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
}
|