@vellumai/assistant 0.3.4 → 0.3.6
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/Dockerfile +2 -0
- package/README.md +88 -2
- package/eslint.config.mjs +31 -0
- package/package.json +1 -1
- package/scripts/ipc/check-swift-decoder-drift.ts +4 -1
- package/scripts/ipc/generate-swift.ts +31 -2
- package/src/__tests__/__snapshots__/ipc-snapshot.test.ts.snap +438 -1
- package/src/__tests__/approval-conversation-turn.test.ts +214 -0
- package/src/__tests__/approval-hardcoded-copy-guard.test.ts +41 -0
- package/src/__tests__/approval-message-composer.test.ts +253 -0
- package/src/__tests__/browser-manager.test.ts +1 -0
- package/src/__tests__/call-conversation-messages.test.ts +130 -0
- package/src/__tests__/call-domain.test.ts +12 -2
- package/src/__tests__/call-orchestrator.test.ts +799 -249
- package/src/__tests__/call-pointer-messages.test.ts +148 -0
- package/src/__tests__/call-recovery.test.ts +3 -0
- package/src/__tests__/call-routes-http.test.ts +32 -2
- package/src/__tests__/call-store.test.ts +3 -0
- package/src/__tests__/channel-approval-routes.test.ts +1277 -98
- package/src/__tests__/channel-approval.test.ts +37 -0
- package/src/__tests__/channel-approvals.test.ts +36 -50
- package/src/__tests__/channel-guardian.test.ts +630 -22
- package/src/__tests__/channel-readiness-service.test.ts +324 -0
- package/src/__tests__/checker.test.ts +14 -7
- package/src/__tests__/clarification-resolver.test.ts +44 -24
- package/src/__tests__/commit-message-enrichment-service.test.ts +9 -4
- package/src/__tests__/computer-use-session-working-dir.test.ts +8 -0
- package/src/__tests__/config-schema.test.ts +14 -8
- package/src/__tests__/context-window-manager.test.ts +30 -2
- package/src/__tests__/contradiction-checker.test.ts +20 -5
- package/src/__tests__/credential-security-invariants.test.ts +7 -2
- package/src/__tests__/daemon-lifecycle.test.ts +13 -12
- package/src/__tests__/db-migration-rollback.test.ts +752 -0
- package/src/__tests__/dictation-mode-detection.test.ts +63 -0
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +2 -0
- package/src/__tests__/entity-search.test.ts +615 -0
- package/src/__tests__/fuzzy-match-property.test.ts +5 -5
- package/src/__tests__/guardian-action-store.test.ts +123 -0
- package/src/__tests__/guardian-action-sweep.test.ts +277 -0
- package/src/__tests__/guardian-dispatch.test.ts +389 -0
- package/src/__tests__/guardian-question-copy.test.ts +47 -0
- package/src/__tests__/handlers-telegram-config.test.ts +4 -2
- package/src/__tests__/handlers-twilio-config.test.ts +533 -0
- package/src/__tests__/intent-routing.test.ts +2 -0
- package/src/__tests__/ipc-snapshot.test.ts +291 -1
- package/src/__tests__/memory-upsert-concurrency.test.ts +828 -0
- package/src/__tests__/messaging-send-tool.test.ts +65 -0
- package/src/__tests__/model-intents.test.ts +96 -0
- package/src/__tests__/no-direct-anthropic-sdk-imports.test.ts +42 -0
- package/src/__tests__/oauth2-gateway-transport.test.ts +130 -0
- package/src/__tests__/onboarding-starter-tasks.test.ts +2 -0
- package/src/__tests__/provider-commit-message-generator.test.ts +89 -13
- package/src/__tests__/provider-error-scenarios.test.ts +621 -0
- package/src/__tests__/provider-fail-open-selection.test.ts +119 -0
- package/src/__tests__/qdrant-manager.test.ts +27 -20
- package/src/__tests__/relay-server.test.ts +779 -40
- package/src/__tests__/run-orchestrator-assistant-events.test.ts +6 -0
- package/src/__tests__/run-orchestrator.test.ts +42 -4
- package/src/__tests__/runtime-runs-http.test.ts +17 -1
- package/src/__tests__/runtime-runs.test.ts +16 -0
- package/src/__tests__/schedule-store.test.ts +18 -4
- package/src/__tests__/scheduler-recurrence.test.ts +13 -4
- package/src/__tests__/session-abort-tool-results.test.ts +6 -0
- package/src/__tests__/session-agent-loop.test.ts +857 -0
- package/src/__tests__/session-conflict-gate.test.ts +6 -0
- package/src/__tests__/session-pre-run-repair.test.ts +6 -0
- package/src/__tests__/session-profile-injection.test.ts +6 -0
- package/src/__tests__/session-provider-retry-repair.test.ts +6 -0
- package/src/__tests__/session-queue.test.ts +6 -0
- package/src/__tests__/session-runtime-assembly.test.ts +321 -13
- package/src/__tests__/session-slash-known.test.ts +6 -0
- package/src/__tests__/session-slash-queue.test.ts +6 -0
- package/src/__tests__/session-slash-unknown.test.ts +6 -0
- package/src/__tests__/session-surfaces-task-progress.test.ts +2 -0
- package/src/__tests__/session-tool-setup-app-refresh.test.ts +1 -0
- package/src/__tests__/session-tool-setup-memory-scope.test.ts +1 -0
- package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +1 -0
- package/src/__tests__/session-workspace-injection.test.ts +6 -0
- package/src/__tests__/session-workspace-tool-tracking.test.ts +6 -0
- package/src/__tests__/skills.test.ts +2 -0
- package/src/__tests__/sms-messaging-provider.test.ts +126 -0
- package/src/__tests__/starter-task-flow.test.ts +2 -0
- package/src/__tests__/swarm-dag-pathological.test.ts +535 -0
- package/src/__tests__/system-prompt.test.ts +2 -0
- package/src/__tests__/task-management-tools.test.ts +2 -2
- package/src/__tests__/task-runner.test.ts +14 -4
- package/src/__tests__/terminal-tools.test.ts +25 -19
- package/src/__tests__/tool-execution-abort-cleanup.test.ts +545 -0
- package/src/__tests__/tool-executor-shell-integration.test.ts +11 -11
- package/src/__tests__/tool-executor.test.ts +23 -24
- package/src/__tests__/trust-store.test.ts +3 -3
- package/src/__tests__/twilio-rest.test.ts +29 -0
- package/src/__tests__/twilio-routes-elevenlabs.test.ts +3 -0
- package/src/__tests__/twilio-routes-twiml.test.ts +11 -0
- package/src/__tests__/twilio-routes.test.ts +167 -11
- package/src/__tests__/twitter-cli-error-shaping.test.ts +2 -2
- package/src/__tests__/user-reference.test.ts +2 -0
- package/src/__tests__/voice-quality.test.ts +222 -0
- package/src/__tests__/web-search.test.ts +46 -30
- package/src/__tests__/work-item-output.test.ts +110 -0
- package/src/agent/loop.ts +1 -1
- package/src/agent-heartbeat/agent-heartbeat-service.ts +2 -10
- package/src/amazon/client.ts +1418 -0
- package/src/amazon/request-extractor.ts +135 -0
- package/src/amazon/session.ts +109 -0
- package/src/autonomy/autonomy-store.ts +5 -5
- package/src/browser-extension-relay/client.ts +124 -0
- package/src/browser-extension-relay/protocol.ts +63 -0
- package/src/browser-extension-relay/server.ts +177 -0
- package/src/bundler/app-bundler.ts +3 -3
- package/src/bundler/bundle-signer.ts +1 -1
- package/src/bundler/signature-verifier.ts +1 -1
- package/src/calls/call-conversation-messages.ts +33 -0
- package/src/calls/call-domain.ts +114 -10
- package/src/calls/call-orchestrator.ts +268 -59
- package/src/calls/call-pointer-messages.ts +53 -0
- package/src/calls/call-recovery.ts +3 -8
- package/src/calls/call-store.ts +69 -87
- package/src/calls/elevenlabs-config.ts +3 -2
- package/src/calls/guardian-action-sweep.ts +105 -0
- package/src/calls/guardian-dispatch.ts +203 -0
- package/src/calls/guardian-question-copy.ts +133 -0
- package/src/calls/relay-server.ts +466 -8
- package/src/calls/speaker-identification.ts +1 -1
- package/src/calls/twilio-config.ts +22 -14
- package/src/calls/twilio-provider.ts +6 -4
- package/src/calls/twilio-rest.ts +308 -7
- package/src/calls/twilio-routes.ts +65 -12
- package/src/calls/types.ts +3 -1
- package/src/channels/types.ts +25 -0
- package/src/cli/amazon.ts +815 -0
- package/src/cli/config-commands.ts +2 -2
- package/src/cli/core-commands.ts +4 -3
- package/src/cli/influencer.ts +244 -0
- package/src/cli/map.ts +89 -6
- package/src/cli.ts +1 -1
- package/src/config/agent-schema.ts +171 -0
- package/src/config/bundled-skills/amazon/SKILL.md +127 -0
- package/src/config/bundled-skills/amazon/icon.svg +13 -0
- package/src/config/bundled-skills/api-mapping/SKILL.md +78 -0
- package/src/config/bundled-skills/browser/SKILL.md +1 -0
- package/src/config/bundled-skills/browser/TOOLS.json +17 -0
- package/src/config/bundled-skills/browser/tools/browser-wait-for-download.ts +25 -0
- package/src/config/bundled-skills/doordash/SKILL.md +51 -51
- package/src/config/bundled-skills/email-setup/SKILL.md +14 -5
- package/src/config/bundled-skills/google-oauth-setup/SKILL.md +183 -0
- package/src/config/bundled-skills/influencer/SKILL.md +144 -0
- package/src/config/bundled-skills/knowledge-graph/SKILL.md +15 -0
- package/src/config/bundled-skills/knowledge-graph/TOOLS.json +56 -0
- package/src/config/bundled-skills/knowledge-graph/tools/graph-query.ts +185 -0
- package/src/config/bundled-skills/macos-automation/icon.svg +12 -0
- package/src/config/bundled-skills/media-processing/SKILL.md +176 -0
- package/src/config/bundled-skills/media-processing/TOOLS.json +230 -0
- package/src/config/bundled-skills/media-processing/__tests__/concurrency-pool.test.ts +77 -0
- package/src/config/bundled-skills/media-processing/__tests__/cost-tracker.test.ts +69 -0
- package/src/config/bundled-skills/media-processing/__tests__/preprocess.test.ts +303 -0
- package/src/config/bundled-skills/media-processing/services/concurrency-pool.ts +55 -0
- package/src/config/bundled-skills/media-processing/services/cost-tracker.ts +86 -0
- package/src/config/bundled-skills/media-processing/services/gemini-map.ts +339 -0
- package/src/config/bundled-skills/media-processing/services/preprocess.ts +551 -0
- package/src/config/bundled-skills/media-processing/services/processing-pipeline.ts +259 -0
- package/src/config/bundled-skills/media-processing/services/reduce.ts +197 -0
- package/src/config/bundled-skills/media-processing/tools/analyze-keyframes.ts +136 -0
- package/src/config/bundled-skills/media-processing/tools/extract-keyframes.ts +59 -0
- package/src/config/bundled-skills/media-processing/tools/generate-clip.ts +195 -0
- package/src/config/bundled-skills/media-processing/tools/ingest-media.ts +197 -0
- package/src/config/bundled-skills/media-processing/tools/media-diagnostics.ts +143 -0
- package/src/config/bundled-skills/media-processing/tools/media-status.ts +75 -0
- package/src/config/bundled-skills/media-processing/tools/query-media-events.ts +65 -0
- package/src/config/bundled-skills/messaging/SKILL.md +33 -8
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +4 -7
- package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +2 -1
- package/src/config/bundled-skills/messaging/tools/messaging-send.ts +5 -1
- package/src/config/bundled-skills/phone-calls/SKILL.md +88 -23
- package/src/config/bundled-skills/twitter/SKILL.md +19 -3
- package/src/config/bundled-skills/twitter/icon.svg +14 -0
- package/src/config/bundled-tool-registry.ts +310 -0
- package/src/config/calls-schema.ts +181 -0
- package/src/config/core-schema.ts +309 -0
- package/src/config/defaults.ts +28 -3
- package/src/config/env-registry.ts +162 -0
- package/src/config/env.ts +175 -0
- package/src/config/loader.ts +6 -6
- package/src/config/memory-schema.ts +528 -0
- package/src/config/sandbox-schema.ts +55 -0
- package/src/config/schema.ts +158 -1133
- package/src/config/skill-state.ts +1 -1
- package/src/config/skills-schema.ts +32 -0
- package/src/config/skills.ts +35 -24
- package/src/config/system-prompt.ts +131 -56
- package/src/config/templates/IDENTITY.md +2 -2
- package/src/config/templates/SOUL.md +1 -1
- package/src/config/types.ts +1 -0
- package/src/config/user-reference.ts +4 -9
- package/src/config/vellum-skills/catalog.json +6 -7
- package/src/config/vellum-skills/chatgpt-import/tools/chatgpt-import.ts +5 -1
- package/src/config/vellum-skills/slack-oauth-setup/SKILL.md +4 -3
- package/src/config/vellum-skills/sms-setup/SKILL.md +216 -0
- package/src/config/vellum-skills/twilio-setup/SKILL.md +40 -8
- package/src/context/window-manager.ts +27 -7
- package/src/daemon/approval-generators.ts +186 -0
- package/src/daemon/approved-devices-store.ts +140 -0
- package/src/daemon/assistant-attachments.ts +1 -1
- package/src/daemon/classifier.ts +35 -32
- package/src/daemon/config-watcher.ts +1 -1
- package/src/daemon/daemon-control.ts +217 -0
- package/src/daemon/handlers/apps.ts +2 -3
- package/src/daemon/handlers/config-channels.ts +158 -0
- package/src/daemon/handlers/config-inbox.ts +540 -0
- package/src/daemon/handlers/config-ingress.ts +231 -0
- package/src/daemon/handlers/config-integrations.ts +258 -0
- package/src/daemon/handlers/config-model.ts +143 -0
- package/src/daemon/handlers/config-parental.ts +163 -0
- package/src/daemon/handlers/config-scheduling.ts +172 -0
- package/src/daemon/handlers/config-slack.ts +92 -0
- package/src/daemon/handlers/config-telegram.ts +301 -0
- package/src/daemon/handlers/config-tools.ts +177 -0
- package/src/daemon/handlers/config-trust.ts +104 -0
- package/src/daemon/handlers/config-twilio.ts +1080 -0
- package/src/daemon/handlers/config.ts +53 -1689
- package/src/daemon/handlers/diagnostics.ts +1 -1
- package/src/daemon/handlers/dictation.ts +180 -0
- package/src/daemon/handlers/documents.ts +18 -32
- package/src/daemon/handlers/identity.ts +14 -23
- package/src/daemon/handlers/index.ts +11 -0
- package/src/daemon/handlers/misc.ts +3 -5
- package/src/daemon/handlers/pairing.ts +98 -0
- package/src/daemon/handlers/sessions.ts +56 -5
- package/src/daemon/handlers/shared.ts +6 -1
- package/src/daemon/handlers/skills.ts +1 -1
- package/src/daemon/handlers/twitter-auth.ts +2 -0
- package/src/daemon/handlers/work-items.ts +17 -9
- package/src/daemon/handlers/workspace-files.ts +4 -3
- package/src/daemon/install-cli-launchers.ts +113 -0
- package/src/daemon/ipc-contract/apps.ts +356 -0
- package/src/daemon/ipc-contract/browser.ts +74 -0
- package/src/daemon/ipc-contract/computer-use.ts +151 -0
- package/src/daemon/ipc-contract/diagnostics.ts +56 -0
- package/src/daemon/ipc-contract/documents.ts +74 -0
- package/src/daemon/ipc-contract/inbox.ts +209 -0
- package/src/daemon/ipc-contract/integrations.ts +284 -0
- package/src/daemon/ipc-contract/memory.ts +48 -0
- package/src/daemon/ipc-contract/messages.ts +211 -0
- package/src/daemon/ipc-contract/pairing.ts +45 -0
- package/src/daemon/ipc-contract/parental-control.ts +95 -0
- package/src/daemon/ipc-contract/schedules.ts +97 -0
- package/src/daemon/ipc-contract/sessions.ts +315 -0
- package/src/daemon/ipc-contract/shared.ts +42 -0
- package/src/daemon/ipc-contract/skills.ts +120 -0
- package/src/daemon/ipc-contract/subagents.ts +58 -0
- package/src/daemon/ipc-contract/surfaces.ts +250 -0
- package/src/daemon/ipc-contract/trust.ts +60 -0
- package/src/daemon/ipc-contract/work-items.ts +225 -0
- package/src/daemon/ipc-contract/workspace.ts +113 -0
- package/src/daemon/ipc-contract-inventory.json +70 -0
- package/src/daemon/ipc-contract-inventory.ts +55 -29
- package/src/daemon/ipc-contract.ts +229 -2426
- package/src/daemon/ipc-protocol.ts +1 -1
- package/src/daemon/ipc-validate.ts +7 -0
- package/src/daemon/lifecycle.ts +97 -377
- package/src/daemon/pairing-store.ts +177 -0
- package/src/daemon/providers-setup.ts +43 -0
- package/src/daemon/ride-shotgun-handler.ts +68 -3
- package/src/daemon/server.ts +66 -46
- package/src/daemon/session-agent-loop-handlers.ts +421 -0
- package/src/daemon/session-agent-loop.ts +117 -275
- package/src/daemon/session-dynamic-profile.ts +1 -1
- package/src/daemon/session-history.ts +1 -1
- package/src/daemon/session-media-retry.ts +1 -1
- package/src/daemon/session-messaging.ts +37 -2
- package/src/daemon/session-notifiers.ts +5 -25
- package/src/daemon/session-process.ts +99 -59
- package/src/daemon/session-queue-manager.ts +96 -4
- package/src/daemon/session-runtime-assembly.ts +199 -10
- package/src/daemon/session-surfaces.ts +19 -4
- package/src/daemon/session-tool-setup.ts +30 -30
- package/src/daemon/session-workspace.ts +1 -1
- package/src/daemon/session.ts +35 -2
- package/src/daemon/shutdown-handlers.ts +122 -0
- package/src/daemon/trace-emitter.ts +1 -1
- package/src/daemon/watch-handler.ts +36 -33
- package/src/doordash/cart-queries.ts +787 -0
- package/src/doordash/client.ts +144 -127
- package/src/doordash/order-queries.ts +85 -0
- package/src/doordash/queries.ts +10 -1308
- package/src/doordash/search-queries.ts +203 -0
- package/src/doordash/session.ts +3 -2
- package/src/doordash/store-queries.ts +246 -0
- package/src/doordash/types.ts +367 -0
- package/src/email/providers/agentmail.ts +2 -1
- package/src/email/providers/index.ts +3 -2
- package/src/email/service.ts +3 -2
- package/src/errors.ts +43 -0
- package/src/home-base/prebuilt/seed.ts +1 -1
- package/src/hooks/cli.ts +6 -5
- package/src/hooks/config.ts +6 -8
- package/src/hooks/discovery.ts +6 -5
- package/src/hooks/manager.ts +4 -3
- package/src/hooks/runner.ts +2 -2
- package/src/hooks/templates.ts +5 -5
- package/src/inbound/public-ingress-urls.ts +6 -4
- package/src/index.ts +4 -2
- package/src/influencer/client.ts +1104 -0
- package/src/instrument.ts +4 -3
- package/src/logfire.ts +4 -3
- package/src/memory/admin.ts +25 -35
- package/src/memory/attachments-store.ts +4 -7
- package/src/memory/channel-delivery-store.ts +30 -1
- package/src/memory/channel-guardian-store.ts +202 -2
- package/src/memory/clarification-resolver.ts +37 -33
- package/src/memory/conflict-store.ts +67 -61
- package/src/memory/contradiction-checker.ts +141 -117
- package/src/memory/conversation-store.ts +335 -51
- package/src/memory/db-connection.ts +27 -4
- package/src/memory/db-init.ts +265 -4
- package/src/memory/db.ts +14 -1
- package/src/memory/embedding-backend.ts +27 -5
- package/src/memory/embedding-ollama.ts +2 -1
- package/src/memory/entity-extractor.ts +38 -35
- package/src/memory/guardian-action-store.ts +430 -0
- package/src/memory/inbox-escalation-projection.ts +59 -0
- package/src/memory/inbox-thread-store.ts +218 -0
- package/src/memory/ingress-invite-store.ts +338 -0
- package/src/memory/ingress-member-store.ts +350 -0
- package/src/memory/items-extractor.ts +91 -97
- package/src/memory/job-handlers/index-maintenance.ts +3 -3
- package/src/memory/job-handlers/media-processing.ts +69 -0
- package/src/memory/job-handlers/summarization.ts +32 -26
- package/src/memory/job-utils.ts +3 -10
- package/src/memory/jobs-store.ts +8 -10
- package/src/memory/jobs-worker.ts +55 -36
- package/src/memory/media-store.ts +759 -0
- package/src/memory/migrations/001-job-deferrals.ts +45 -0
- package/src/memory/migrations/002-tool-invocations-fk.ts +43 -0
- package/src/memory/migrations/003-memory-fts-backfill.ts +24 -0
- package/src/memory/migrations/004-entity-relation-dedup.ts +87 -0
- package/src/memory/migrations/005-fingerprint-scope-unique.ts +80 -0
- package/src/memory/migrations/006-scope-salted-fingerprints.ts +62 -0
- package/src/memory/migrations/007-assistant-id-to-self.ts +254 -0
- package/src/memory/migrations/008-remove-assistant-id-columns.ts +208 -0
- package/src/memory/migrations/009-llm-usage-events-drop-assistant-id.ts +83 -0
- package/src/memory/migrations/010-ext-conv-bindings-channel-chat-unique.ts +56 -0
- package/src/memory/migrations/011-call-sessions-provider-sid-dedup.ts +63 -0
- package/src/memory/migrations/012-call-sessions-add-initiated-from.ts +19 -0
- package/src/memory/migrations/013-guardian-action-tables.ts +68 -0
- package/src/memory/migrations/014-backfill-inbox-thread-state.ts +76 -0
- package/src/memory/migrations/015-drop-active-search-index.ts +27 -0
- package/src/memory/migrations/016-memory-segments-indexes.ts +11 -0
- package/src/memory/migrations/017-memory-items-indexes.ts +10 -0
- package/src/memory/migrations/018-remaining-table-indexes.ts +13 -0
- package/src/memory/migrations/index.ts +24 -0
- package/src/memory/migrations/registry.ts +79 -0
- package/src/memory/migrations/validate-migration-state.ts +69 -0
- package/src/memory/qdrant-manager.ts +49 -8
- package/src/memory/query-builder.ts +1 -1
- package/src/memory/raw-query.ts +119 -0
- package/src/memory/recall-cache.ts +4 -1
- package/src/memory/retriever.ts +165 -47
- package/src/memory/schema-migration.ts +25 -984
- package/src/memory/schema.ts +228 -7
- package/src/memory/search/entity.ts +205 -31
- package/src/memory/search/lexical.ts +81 -52
- package/src/memory/search/ranking.ts +27 -23
- package/src/memory/search/semantic.ts +157 -19
- package/src/memory/search/types.ts +24 -0
- package/src/memory/shared-app-links-store.ts +4 -5
- package/src/memory/validation.ts +19 -0
- package/src/messaging/draft-store.ts +5 -6
- package/src/messaging/provider-types.ts +2 -0
- package/src/messaging/providers/sms/adapter.ts +201 -0
- package/src/messaging/providers/sms/client.ts +93 -0
- package/src/messaging/providers/sms/types.ts +7 -0
- package/src/messaging/providers/telegram-bot/adapter.ts +2 -5
- package/src/messaging/providers/whatsapp/adapter.ts +136 -0
- package/src/messaging/providers/whatsapp/client.ts +67 -0
- package/src/messaging/style-analyzer.ts +5 -4
- package/src/messaging/thread-summarizer.ts +61 -69
- package/src/messaging/triage-engine.ts +62 -71
- package/src/migrations/config-merge.ts +53 -0
- package/src/migrations/data-layout.ts +68 -0
- package/src/migrations/data-merge.ts +33 -0
- package/src/migrations/hooks-merge.ts +90 -0
- package/src/migrations/index.ts +6 -0
- package/src/migrations/log.ts +23 -0
- package/src/migrations/skills-merge.ts +33 -0
- package/src/migrations/workspace-layout.ts +79 -0
- package/src/permissions/checker.ts +133 -11
- package/src/permissions/prompter.ts +14 -0
- package/src/permissions/shell-identity.ts +31 -1
- package/src/permissions/trust-store.ts +21 -1
- package/src/providers/anthropic/client.ts +4 -4
- package/src/providers/failover.ts +2 -2
- package/src/providers/model-intents.ts +70 -0
- package/src/providers/ollama/client.ts +2 -1
- package/src/providers/provider-send-message.ts +176 -0
- package/src/providers/registry.ts +71 -30
- package/src/providers/retry.ts +35 -1
- package/src/providers/types.ts +12 -1
- package/src/runtime/approval-conversation-turn.ts +97 -0
- package/src/runtime/approval-message-composer.ts +253 -0
- package/src/runtime/channel-approval-parser.ts +36 -2
- package/src/runtime/channel-approvals.ts +11 -24
- package/src/runtime/channel-guardian-service.ts +88 -21
- package/src/runtime/channel-readiness-service.ts +418 -0
- package/src/runtime/channel-readiness-types.ts +35 -0
- package/src/runtime/channel-retry-sweep.ts +184 -0
- package/src/runtime/guardian-context-resolver.ts +108 -0
- package/src/runtime/http-server.ts +275 -717
- package/src/runtime/http-types.ts +59 -3
- package/src/runtime/middleware/auth.ts +116 -0
- package/src/runtime/middleware/error-handler.ts +33 -0
- package/src/runtime/middleware/twilio-validation.ts +127 -0
- package/src/runtime/routes/app-routes.ts +1 -1
- package/src/runtime/routes/call-routes.ts +51 -7
- package/src/runtime/routes/channel-delivery-routes.ts +170 -0
- package/src/runtime/routes/channel-guardian-routes.ts +1191 -0
- package/src/runtime/routes/channel-inbound-routes.ts +1152 -0
- package/src/runtime/routes/channel-route-shared.ts +144 -0
- package/src/runtime/routes/channel-routes.ts +32 -1588
- package/src/runtime/routes/conversation-routes.ts +50 -7
- package/src/runtime/routes/events-routes.ts +2 -2
- package/src/runtime/routes/identity-routes.ts +126 -0
- package/src/runtime/routes/pairing-routes.ts +143 -0
- package/src/runtime/routes/run-routes.ts +15 -1
- package/src/runtime/run-orchestrator.ts +86 -35
- package/src/schedule/schedule-store.ts +36 -32
- package/src/schedule/scheduler.ts +3 -3
- package/src/security/encrypted-store.ts +5 -7
- package/src/security/oauth2.ts +45 -15
- package/src/security/parental-control-store.ts +183 -0
- package/src/security/secret-allowlist.ts +4 -3
- package/src/security/secret-scanner.ts +5 -5
- package/src/security/secure-keys.ts +1 -1
- package/src/security/token-manager.ts +3 -2
- package/src/services/vercel-deploy.ts +6 -2
- package/src/skills/tool-manifest.ts +3 -3
- package/src/skills/vellum-catalog-remote.ts +75 -16
- package/src/slack/slack-webhook.ts +2 -1
- package/src/swarm/orchestrator.ts +92 -1
- package/src/swarm/router-planner.ts +6 -9
- package/src/swarm/worker-prompts.ts +9 -12
- package/src/tasks/task-compiler.ts +19 -28
- package/src/tasks/task-runner.ts +1 -1
- package/src/tools/assets/materialize.ts +2 -2
- package/src/tools/assets/search.ts +15 -14
- package/src/tools/browser/__tests__/auth-detector.test.ts +1 -0
- package/src/tools/browser/auto-navigate.ts +1 -0
- package/src/tools/browser/browser-execution.ts +10 -1
- package/src/tools/browser/browser-manager.ts +119 -4
- package/src/tools/browser/network-recorder.ts +5 -0
- package/src/tools/calls/call-start.ts +1 -0
- package/src/tools/credentials/broker.ts +11 -2
- package/src/tools/credentials/metadata-store.ts +18 -14
- package/src/tools/credentials/post-connect-hooks.ts +61 -0
- package/src/tools/credentials/vault.ts +49 -23
- package/src/tools/execution-target.ts +11 -1
- package/src/tools/executor.ts +68 -9
- package/src/tools/host-terminal/cli-discover.ts +1 -1
- package/src/tools/network/script-proxy/http-forwarder.ts +1 -1
- package/src/tools/network/script-proxy/mitm-handler.ts +1 -1
- package/src/tools/network/script-proxy/server.ts +1 -1
- package/src/tools/network/script-proxy/session-manager.ts +6 -5
- package/src/tools/network/web-fetch.ts +18 -2
- package/src/tools/network/web-search.ts +8 -4
- package/src/tools/reminder/reminder-store.ts +14 -15
- package/src/tools/schedule/create.ts +1 -0
- package/src/tools/schedule/list.ts +2 -1
- package/src/tools/shared/filesystem/file-ops-service.ts +5 -7
- package/src/tools/skills/skill-script-runner.ts +24 -9
- package/src/tools/skills/skill-tool-factory.ts +1 -0
- package/src/tools/tasks/work-item-enqueue.ts +2 -2
- package/src/tools/terminal/evaluate-typescript.ts +21 -12
- package/src/tools/terminal/parser.ts +50 -0
- package/src/tools/types.ts +2 -0
- package/src/tools/watcher/delete.ts +6 -0
- package/src/tools/weather/service.ts +1 -1
- package/src/twitter/client.ts +190 -24
- package/src/twitter/router.ts +1 -1
- package/src/twitter/session.ts +4 -3
- package/src/util/clipboard.ts +1 -1
- package/src/util/errors.ts +65 -8
- package/src/util/fs.ts +40 -0
- package/src/util/json.ts +10 -0
- package/src/util/log-redact.ts +189 -0
- package/src/util/logger.ts +19 -17
- package/src/util/object.ts +3 -0
- package/src/util/platform.ts +105 -363
- package/src/util/pricing.ts +1 -1
- package/src/util/promise-guard.ts +1 -1
- package/src/util/retry.ts +19 -0
- package/src/util/row-mapper.ts +79 -0
- package/src/util/silently.ts +21 -0
- package/src/watcher/engine.ts +5 -1
- package/src/watcher/provider-types.ts +20 -0
- package/src/watcher/providers/github.ts +156 -0
- package/src/watcher/providers/gmail.ts +1 -0
- package/src/watcher/providers/google-calendar.ts +1 -0
- package/src/watcher/providers/linear.ts +460 -0
- package/src/watcher/providers/slack.ts +1 -0
- package/src/work-items/work-item-runner.ts +1 -1
- package/src/workspace/git-service.ts +1 -1
- package/src/workspace/provider-commit-message-generator.ts +51 -22
- package/src/__tests__/call-bridge.test.ts +0 -517
- package/src/__tests__/session-process-bridge.test.ts +0 -244
- package/src/calls/call-bridge.ts +0 -168
- package/src/config/vellum-skills/google-oauth-setup/SKILL.md +0 -199
|
@@ -37,7 +37,7 @@ exports[`IPC message snapshots ClientMessage types session_create serializes to
|
|
|
37
37
|
"threadType": "standard",
|
|
38
38
|
"title": "New session",
|
|
39
39
|
"transport": {
|
|
40
|
-
"channelId": "
|
|
40
|
+
"channelId": "macos",
|
|
41
41
|
"hints": [
|
|
42
42
|
"dashboard-capable",
|
|
43
43
|
],
|
|
@@ -374,6 +374,13 @@ exports[`IPC message snapshots ClientMessage types schedule_remove serializes to
|
|
|
374
374
|
}
|
|
375
375
|
`;
|
|
376
376
|
|
|
377
|
+
exports[`IPC message snapshots ClientMessage types schedule_run_now serializes to expected JSON 1`] = `
|
|
378
|
+
{
|
|
379
|
+
"id": "sched-001",
|
|
380
|
+
"type": "schedule_run_now",
|
|
381
|
+
}
|
|
382
|
+
`;
|
|
383
|
+
|
|
377
384
|
exports[`IPC message snapshots ClientMessage types reminders_list serializes to expected JSON 1`] = `
|
|
378
385
|
{
|
|
379
386
|
"type": "reminders_list",
|
|
@@ -475,6 +482,15 @@ exports[`IPC message snapshots ClientMessage types sessions_clear serializes to
|
|
|
475
482
|
}
|
|
476
483
|
`;
|
|
477
484
|
|
|
485
|
+
exports[`IPC message snapshots ClientMessage types conversation_search serializes to expected JSON 1`] = `
|
|
486
|
+
{
|
|
487
|
+
"limit": 20,
|
|
488
|
+
"maxMessagesPerConversation": 3,
|
|
489
|
+
"query": "hello world",
|
|
490
|
+
"type": "conversation_search",
|
|
491
|
+
}
|
|
492
|
+
`;
|
|
493
|
+
|
|
478
494
|
exports[`IPC message snapshots ClientMessage types ipc_blob_probe serializes to expected JSON 1`] = `
|
|
479
495
|
{
|
|
480
496
|
"nonceSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
@@ -601,6 +617,15 @@ exports[`IPC message snapshots ClientMessage types twilio_config serializes to e
|
|
|
601
617
|
}
|
|
602
618
|
`;
|
|
603
619
|
|
|
620
|
+
exports[`IPC message snapshots ClientMessage types channel_readiness serializes to expected JSON 1`] = `
|
|
621
|
+
{
|
|
622
|
+
"action": "get",
|
|
623
|
+
"channel": "sms",
|
|
624
|
+
"includeRemote": true,
|
|
625
|
+
"type": "channel_readiness",
|
|
626
|
+
}
|
|
627
|
+
`;
|
|
628
|
+
|
|
604
629
|
exports[`IPC message snapshots ClientMessage types guardian_verification serializes to expected JSON 1`] = `
|
|
605
630
|
{
|
|
606
631
|
"action": "create_challenge",
|
|
@@ -908,6 +933,109 @@ exports[`IPC message snapshots ClientMessage types tool_names_list serializes to
|
|
|
908
933
|
}
|
|
909
934
|
`;
|
|
910
935
|
|
|
936
|
+
exports[`IPC message snapshots ClientMessage types dictation_request serializes to expected JSON 1`] = `
|
|
937
|
+
{
|
|
938
|
+
"context": {
|
|
939
|
+
"appName": "Example App",
|
|
940
|
+
"bundleIdentifier": "com.example.app",
|
|
941
|
+
"cursorInTextField": true,
|
|
942
|
+
"selectedText": "some selected text",
|
|
943
|
+
"windowTitle": "Main Window",
|
|
944
|
+
},
|
|
945
|
+
"transcription": "Hello world",
|
|
946
|
+
"type": "dictation_request",
|
|
947
|
+
}
|
|
948
|
+
`;
|
|
949
|
+
|
|
950
|
+
exports[`IPC message snapshots ClientMessage types parental_control_get serializes to expected JSON 1`] = `
|
|
951
|
+
{
|
|
952
|
+
"type": "parental_control_get",
|
|
953
|
+
}
|
|
954
|
+
`;
|
|
955
|
+
|
|
956
|
+
exports[`IPC message snapshots ClientMessage types parental_control_verify_pin serializes to expected JSON 1`] = `
|
|
957
|
+
{
|
|
958
|
+
"pin": "123456",
|
|
959
|
+
"type": "parental_control_verify_pin",
|
|
960
|
+
}
|
|
961
|
+
`;
|
|
962
|
+
|
|
963
|
+
exports[`IPC message snapshots ClientMessage types parental_control_set_pin serializes to expected JSON 1`] = `
|
|
964
|
+
{
|
|
965
|
+
"current_pin": "123456",
|
|
966
|
+
"new_pin": "654321",
|
|
967
|
+
"type": "parental_control_set_pin",
|
|
968
|
+
}
|
|
969
|
+
`;
|
|
970
|
+
|
|
971
|
+
exports[`IPC message snapshots ClientMessage types parental_control_update serializes to expected JSON 1`] = `
|
|
972
|
+
{
|
|
973
|
+
"blocked_tool_categories": [
|
|
974
|
+
"shell",
|
|
975
|
+
"network",
|
|
976
|
+
],
|
|
977
|
+
"content_restrictions": [
|
|
978
|
+
"violence",
|
|
979
|
+
"adult_content",
|
|
980
|
+
],
|
|
981
|
+
"enabled": true,
|
|
982
|
+
"pin": "123456",
|
|
983
|
+
"type": "parental_control_update",
|
|
984
|
+
}
|
|
985
|
+
`;
|
|
986
|
+
|
|
987
|
+
exports[`IPC message snapshots ClientMessage types ingress_invite serializes to expected JSON 1`] = `
|
|
988
|
+
{
|
|
989
|
+
"action": "create",
|
|
990
|
+
"expiresInMs": 86400000,
|
|
991
|
+
"maxUses": 5,
|
|
992
|
+
"note": "Test invite",
|
|
993
|
+
"sourceChannel": "telegram",
|
|
994
|
+
"type": "ingress_invite",
|
|
995
|
+
}
|
|
996
|
+
`;
|
|
997
|
+
|
|
998
|
+
exports[`IPC message snapshots ClientMessage types ingress_member serializes to expected JSON 1`] = `
|
|
999
|
+
{
|
|
1000
|
+
"action": "upsert",
|
|
1001
|
+
"displayName": "Test User",
|
|
1002
|
+
"externalChatId": "chat-456",
|
|
1003
|
+
"externalUserId": "user-123",
|
|
1004
|
+
"policy": "allow",
|
|
1005
|
+
"sourceChannel": "telegram",
|
|
1006
|
+
"status": "active",
|
|
1007
|
+
"type": "ingress_member",
|
|
1008
|
+
"username": "testuser",
|
|
1009
|
+
}
|
|
1010
|
+
`;
|
|
1011
|
+
|
|
1012
|
+
exports[`IPC message snapshots ClientMessage types assistant_inbox serializes to expected JSON 1`] = `
|
|
1013
|
+
{
|
|
1014
|
+
"action": "list_threads",
|
|
1015
|
+
"assistantId": "asst-001",
|
|
1016
|
+
"limit": 20,
|
|
1017
|
+
"offset": 0,
|
|
1018
|
+
"type": "assistant_inbox",
|
|
1019
|
+
}
|
|
1020
|
+
`;
|
|
1021
|
+
|
|
1022
|
+
exports[`IPC message snapshots ClientMessage types assistant_inbox_escalation serializes to expected JSON 1`] = `
|
|
1023
|
+
{
|
|
1024
|
+
"action": "list",
|
|
1025
|
+
"assistantId": "asst-001",
|
|
1026
|
+
"status": "pending",
|
|
1027
|
+
"type": "assistant_inbox_escalation",
|
|
1028
|
+
}
|
|
1029
|
+
`;
|
|
1030
|
+
|
|
1031
|
+
exports[`IPC message snapshots ClientMessage types assistant_inbox_reply serializes to expected JSON 1`] = `
|
|
1032
|
+
{
|
|
1033
|
+
"content": "Hello from the assistant",
|
|
1034
|
+
"conversationId": "conv-001",
|
|
1035
|
+
"type": "assistant_inbox_reply",
|
|
1036
|
+
}
|
|
1037
|
+
`;
|
|
1038
|
+
|
|
911
1039
|
exports[`IPC message snapshots ServerMessage types auth_result serializes to expected JSON 1`] = `
|
|
912
1040
|
{
|
|
913
1041
|
"success": true,
|
|
@@ -1063,6 +1191,14 @@ exports[`IPC message snapshots ServerMessage types session_info serializes to ex
|
|
|
1063
1191
|
}
|
|
1064
1192
|
`;
|
|
1065
1193
|
|
|
1194
|
+
exports[`IPC message snapshots ServerMessage types session_title_updated serializes to expected JSON 1`] = `
|
|
1195
|
+
{
|
|
1196
|
+
"sessionId": "sess-001",
|
|
1197
|
+
"title": "Plan sprint rollout",
|
|
1198
|
+
"type": "session_title_updated",
|
|
1199
|
+
}
|
|
1200
|
+
`;
|
|
1201
|
+
|
|
1066
1202
|
exports[`IPC message snapshots ServerMessage types session_list_response serializes to expected JSON 1`] = `
|
|
1067
1203
|
{
|
|
1068
1204
|
"sessions": [
|
|
@@ -1090,6 +1226,28 @@ exports[`IPC message snapshots ServerMessage types sessions_clear_response seria
|
|
|
1090
1226
|
}
|
|
1091
1227
|
`;
|
|
1092
1228
|
|
|
1229
|
+
exports[`IPC message snapshots ServerMessage types conversation_search_response serializes to expected JSON 1`] = `
|
|
1230
|
+
{
|
|
1231
|
+
"query": "hello world",
|
|
1232
|
+
"results": [
|
|
1233
|
+
{
|
|
1234
|
+
"conversationId": "conv-001",
|
|
1235
|
+
"conversationTitle": "My Conversation",
|
|
1236
|
+
"conversationUpdatedAt": 1700000000,
|
|
1237
|
+
"matchingMessages": [
|
|
1238
|
+
{
|
|
1239
|
+
"createdAt": 1699999000,
|
|
1240
|
+
"excerpt": "…hello world, how are you?…",
|
|
1241
|
+
"messageId": "msg-001",
|
|
1242
|
+
"role": "user",
|
|
1243
|
+
},
|
|
1244
|
+
],
|
|
1245
|
+
},
|
|
1246
|
+
],
|
|
1247
|
+
"type": "conversation_search_response",
|
|
1248
|
+
}
|
|
1249
|
+
`;
|
|
1250
|
+
|
|
1093
1251
|
exports[`IPC message snapshots ServerMessage types error serializes to expected JSON 1`] = `
|
|
1094
1252
|
{
|
|
1095
1253
|
"message": "Something went wrong",
|
|
@@ -1323,6 +1481,14 @@ exports[`IPC message snapshots ServerMessage types task_routed serializes to exp
|
|
|
1323
1481
|
}
|
|
1324
1482
|
`;
|
|
1325
1483
|
|
|
1484
|
+
exports[`IPC message snapshots ServerMessage types ride_shotgun_progress serializes to expected JSON 1`] = `
|
|
1485
|
+
{
|
|
1486
|
+
"message": "Observing user activity...",
|
|
1487
|
+
"type": "ride_shotgun_progress",
|
|
1488
|
+
"watchId": "watch-shotgun-001",
|
|
1489
|
+
}
|
|
1490
|
+
`;
|
|
1491
|
+
|
|
1326
1492
|
exports[`IPC message snapshots ServerMessage types ride_shotgun_result serializes to expected JSON 1`] = `
|
|
1327
1493
|
{
|
|
1328
1494
|
"observationCount": 5,
|
|
@@ -1929,13 +2095,74 @@ exports[`IPC message snapshots ServerMessage types telegram_config_response seri
|
|
|
1929
2095
|
|
|
1930
2096
|
exports[`IPC message snapshots ServerMessage types twilio_config_response serializes to expected JSON 1`] = `
|
|
1931
2097
|
{
|
|
2098
|
+
"compliance": {
|
|
2099
|
+
"numberType": "toll_free",
|
|
2100
|
+
"verificationSid": "TF_VER_001",
|
|
2101
|
+
"verificationStatus": "TWILIO_APPROVED",
|
|
2102
|
+
},
|
|
2103
|
+
"diagnostics": {
|
|
2104
|
+
"actionItems": [],
|
|
2105
|
+
"compliance": {
|
|
2106
|
+
"detail": "Toll-free verification: TWILIO_APPROVED",
|
|
2107
|
+
"status": "TWILIO_APPROVED",
|
|
2108
|
+
},
|
|
2109
|
+
"overallStatus": "healthy",
|
|
2110
|
+
"readiness": {
|
|
2111
|
+
"issues": [],
|
|
2112
|
+
"ready": true,
|
|
2113
|
+
},
|
|
2114
|
+
},
|
|
1932
2115
|
"hasCredentials": true,
|
|
1933
2116
|
"phoneNumber": "+15551234567",
|
|
1934
2117
|
"success": true,
|
|
2118
|
+
"testResult": {
|
|
2119
|
+
"finalStatus": "delivered",
|
|
2120
|
+
"initialStatus": "queued",
|
|
2121
|
+
"messageSid": "SM-test-001",
|
|
2122
|
+
"to": "+15559876543",
|
|
2123
|
+
},
|
|
1935
2124
|
"type": "twilio_config_response",
|
|
1936
2125
|
}
|
|
1937
2126
|
`;
|
|
1938
2127
|
|
|
2128
|
+
exports[`IPC message snapshots ServerMessage types channel_readiness_response serializes to expected JSON 1`] = `
|
|
2129
|
+
{
|
|
2130
|
+
"snapshots": [
|
|
2131
|
+
{
|
|
2132
|
+
"channel": "sms",
|
|
2133
|
+
"checkedAt": 1700000000000,
|
|
2134
|
+
"localChecks": [
|
|
2135
|
+
{
|
|
2136
|
+
"message": "Twilio credentials are not configured",
|
|
2137
|
+
"name": "twilio_credentials",
|
|
2138
|
+
"passed": false,
|
|
2139
|
+
},
|
|
2140
|
+
{
|
|
2141
|
+
"message": "Phone number is assigned",
|
|
2142
|
+
"name": "phone_number",
|
|
2143
|
+
"passed": true,
|
|
2144
|
+
},
|
|
2145
|
+
{
|
|
2146
|
+
"message": "Public ingress URL is configured",
|
|
2147
|
+
"name": "ingress",
|
|
2148
|
+
"passed": true,
|
|
2149
|
+
},
|
|
2150
|
+
],
|
|
2151
|
+
"ready": false,
|
|
2152
|
+
"reasons": [
|
|
2153
|
+
{
|
|
2154
|
+
"code": "twilio_credentials",
|
|
2155
|
+
"text": "Twilio credentials are not configured",
|
|
2156
|
+
},
|
|
2157
|
+
],
|
|
2158
|
+
"stale": false,
|
|
2159
|
+
},
|
|
2160
|
+
],
|
|
2161
|
+
"success": true,
|
|
2162
|
+
"type": "channel_readiness_response",
|
|
2163
|
+
}
|
|
2164
|
+
`;
|
|
2165
|
+
|
|
1939
2166
|
exports[`IPC message snapshots ServerMessage types guardian_verification_response serializes to expected JSON 1`] = `
|
|
1940
2167
|
{
|
|
1941
2168
|
"instruction": "Send this code to the Telegram bot",
|
|
@@ -2383,6 +2610,17 @@ exports[`IPC message snapshots ServerMessage types task_run_thread_created seria
|
|
|
2383
2610
|
}
|
|
2384
2611
|
`;
|
|
2385
2612
|
|
|
2613
|
+
exports[`IPC message snapshots ServerMessage types guardian_request_thread_created serializes to expected JSON 1`] = `
|
|
2614
|
+
{
|
|
2615
|
+
"callSessionId": "call-001",
|
|
2616
|
+
"conversationId": "conv-guardian-001",
|
|
2617
|
+
"questionText": "What is the gate code?",
|
|
2618
|
+
"requestId": "req-guardian-001",
|
|
2619
|
+
"title": "Guardian action request",
|
|
2620
|
+
"type": "guardian_request_thread_created",
|
|
2621
|
+
}
|
|
2622
|
+
`;
|
|
2623
|
+
|
|
2386
2624
|
exports[`IPC message snapshots ServerMessage types subagent_spawned serializes to expected JSON 1`] = `
|
|
2387
2625
|
{
|
|
2388
2626
|
"label": "Research Agent",
|
|
@@ -2499,3 +2737,202 @@ exports[`IPC message snapshots ServerMessage types tool_names_list_response seri
|
|
|
2499
2737
|
"type": "tool_names_list_response",
|
|
2500
2738
|
}
|
|
2501
2739
|
`;
|
|
2740
|
+
|
|
2741
|
+
exports[`IPC message snapshots ServerMessage types dictation_response serializes to expected JSON 1`] = `
|
|
2742
|
+
{
|
|
2743
|
+
"mode": "dictation",
|
|
2744
|
+
"text": "Hello world",
|
|
2745
|
+
"type": "dictation_response",
|
|
2746
|
+
}
|
|
2747
|
+
`;
|
|
2748
|
+
|
|
2749
|
+
exports[`IPC message snapshots ServerMessage types parental_control_get_response serializes to expected JSON 1`] = `
|
|
2750
|
+
{
|
|
2751
|
+
"blocked_tool_categories": [
|
|
2752
|
+
"shell",
|
|
2753
|
+
"network",
|
|
2754
|
+
],
|
|
2755
|
+
"content_restrictions": [
|
|
2756
|
+
"violence",
|
|
2757
|
+
"adult_content",
|
|
2758
|
+
],
|
|
2759
|
+
"enabled": true,
|
|
2760
|
+
"has_pin": true,
|
|
2761
|
+
"type": "parental_control_get_response",
|
|
2762
|
+
}
|
|
2763
|
+
`;
|
|
2764
|
+
|
|
2765
|
+
exports[`IPC message snapshots ServerMessage types parental_control_verify_pin_response serializes to expected JSON 1`] = `
|
|
2766
|
+
{
|
|
2767
|
+
"type": "parental_control_verify_pin_response",
|
|
2768
|
+
"verified": true,
|
|
2769
|
+
}
|
|
2770
|
+
`;
|
|
2771
|
+
|
|
2772
|
+
exports[`IPC message snapshots ServerMessage types parental_control_set_pin_response serializes to expected JSON 1`] = `
|
|
2773
|
+
{
|
|
2774
|
+
"success": true,
|
|
2775
|
+
"type": "parental_control_set_pin_response",
|
|
2776
|
+
}
|
|
2777
|
+
`;
|
|
2778
|
+
|
|
2779
|
+
exports[`IPC message snapshots ServerMessage types parental_control_update_response serializes to expected JSON 1`] = `
|
|
2780
|
+
{
|
|
2781
|
+
"blocked_tool_categories": [
|
|
2782
|
+
"shell",
|
|
2783
|
+
"network",
|
|
2784
|
+
],
|
|
2785
|
+
"content_restrictions": [
|
|
2786
|
+
"violence",
|
|
2787
|
+
"adult_content",
|
|
2788
|
+
],
|
|
2789
|
+
"enabled": true,
|
|
2790
|
+
"has_pin": true,
|
|
2791
|
+
"success": true,
|
|
2792
|
+
"type": "parental_control_update_response",
|
|
2793
|
+
}
|
|
2794
|
+
`;
|
|
2795
|
+
|
|
2796
|
+
exports[`IPC message snapshots ServerMessage types ingress_invite_response serializes to expected JSON 1`] = `
|
|
2797
|
+
{
|
|
2798
|
+
"invite": {
|
|
2799
|
+
"createdAt": 1700000000,
|
|
2800
|
+
"expiresAt": 1700100000000,
|
|
2801
|
+
"id": "inv-001",
|
|
2802
|
+
"maxUses": 5,
|
|
2803
|
+
"note": "Test invite",
|
|
2804
|
+
"sourceChannel": "telegram",
|
|
2805
|
+
"status": "active",
|
|
2806
|
+
"token": "tok-abc123",
|
|
2807
|
+
"tokenHash": "hash-abc123",
|
|
2808
|
+
"useCount": 0,
|
|
2809
|
+
},
|
|
2810
|
+
"success": true,
|
|
2811
|
+
"type": "ingress_invite_response",
|
|
2812
|
+
}
|
|
2813
|
+
`;
|
|
2814
|
+
|
|
2815
|
+
exports[`IPC message snapshots ServerMessage types ingress_member_response serializes to expected JSON 1`] = `
|
|
2816
|
+
{
|
|
2817
|
+
"member": {
|
|
2818
|
+
"createdAt": 1700000000,
|
|
2819
|
+
"displayName": "Test User",
|
|
2820
|
+
"externalChatId": "chat-456",
|
|
2821
|
+
"externalUserId": "user-123",
|
|
2822
|
+
"id": "mem-001",
|
|
2823
|
+
"lastSeenAt": 1700000000,
|
|
2824
|
+
"policy": "allow",
|
|
2825
|
+
"sourceChannel": "telegram",
|
|
2826
|
+
"status": "active",
|
|
2827
|
+
"username": "testuser",
|
|
2828
|
+
},
|
|
2829
|
+
"success": true,
|
|
2830
|
+
"type": "ingress_member_response",
|
|
2831
|
+
}
|
|
2832
|
+
`;
|
|
2833
|
+
|
|
2834
|
+
exports[`IPC message snapshots ServerMessage types assistant_inbox_response serializes to expected JSON 1`] = `
|
|
2835
|
+
{
|
|
2836
|
+
"success": true,
|
|
2837
|
+
"threads": [
|
|
2838
|
+
{
|
|
2839
|
+
"conversationId": "conv-001",
|
|
2840
|
+
"displayName": "Test User",
|
|
2841
|
+
"externalChatId": "chat-456",
|
|
2842
|
+
"externalUserId": "user-123",
|
|
2843
|
+
"hasPendingEscalation": false,
|
|
2844
|
+
"lastInboundAt": 1700000000,
|
|
2845
|
+
"lastMessageAt": 1700000000,
|
|
2846
|
+
"lastOutboundAt": 1699999000,
|
|
2847
|
+
"sourceChannel": "telegram",
|
|
2848
|
+
"unreadCount": 3,
|
|
2849
|
+
"username": "testuser",
|
|
2850
|
+
},
|
|
2851
|
+
],
|
|
2852
|
+
"type": "assistant_inbox_response",
|
|
2853
|
+
}
|
|
2854
|
+
`;
|
|
2855
|
+
|
|
2856
|
+
exports[`IPC message snapshots ServerMessage types assistant_inbox_escalation_response serializes to expected JSON 1`] = `
|
|
2857
|
+
{
|
|
2858
|
+
"escalations": [
|
|
2859
|
+
{
|
|
2860
|
+
"channel": "telegram",
|
|
2861
|
+
"conversationId": "conv-001",
|
|
2862
|
+
"createdAt": 1700000000,
|
|
2863
|
+
"id": "esc-001",
|
|
2864
|
+
"requestSummary": "User wants to delete their account",
|
|
2865
|
+
"requesterChatId": "chat-456",
|
|
2866
|
+
"requesterExternalUserId": "user-123",
|
|
2867
|
+
"runId": "run-001",
|
|
2868
|
+
"status": "pending",
|
|
2869
|
+
},
|
|
2870
|
+
],
|
|
2871
|
+
"success": true,
|
|
2872
|
+
"type": "assistant_inbox_escalation_response",
|
|
2873
|
+
}
|
|
2874
|
+
`;
|
|
2875
|
+
|
|
2876
|
+
exports[`IPC message snapshots ServerMessage types assistant_inbox_reply_response serializes to expected JSON 1`] = `
|
|
2877
|
+
{
|
|
2878
|
+
"messageId": "msg-reply-001",
|
|
2879
|
+
"success": true,
|
|
2880
|
+
"type": "assistant_inbox_reply_response",
|
|
2881
|
+
}
|
|
2882
|
+
`;
|
|
2883
|
+
|
|
2884
|
+
exports[`IPC message snapshots ClientMessage types pairing_approval_response serializes to expected JSON 1`] = `
|
|
2885
|
+
{
|
|
2886
|
+
"decision": "approve_once",
|
|
2887
|
+
"pairingRequestId": "pair-001",
|
|
2888
|
+
"type": "pairing_approval_response",
|
|
2889
|
+
}
|
|
2890
|
+
`;
|
|
2891
|
+
|
|
2892
|
+
exports[`IPC message snapshots ClientMessage types approved_devices_list serializes to expected JSON 1`] = `
|
|
2893
|
+
{
|
|
2894
|
+
"type": "approved_devices_list",
|
|
2895
|
+
}
|
|
2896
|
+
`;
|
|
2897
|
+
|
|
2898
|
+
exports[`IPC message snapshots ClientMessage types approved_device_remove serializes to expected JSON 1`] = `
|
|
2899
|
+
{
|
|
2900
|
+
"hashedDeviceId": "hashed-device-001",
|
|
2901
|
+
"type": "approved_device_remove",
|
|
2902
|
+
}
|
|
2903
|
+
`;
|
|
2904
|
+
|
|
2905
|
+
exports[`IPC message snapshots ClientMessage types approved_devices_clear serializes to expected JSON 1`] = `
|
|
2906
|
+
{
|
|
2907
|
+
"type": "approved_devices_clear",
|
|
2908
|
+
}
|
|
2909
|
+
`;
|
|
2910
|
+
|
|
2911
|
+
exports[`IPC message snapshots ServerMessage types pairing_approval_request serializes to expected JSON 1`] = `
|
|
2912
|
+
{
|
|
2913
|
+
"deviceId": "device-001",
|
|
2914
|
+
"deviceName": "iPhone 15",
|
|
2915
|
+
"pairingRequestId": "pair-001",
|
|
2916
|
+
"type": "pairing_approval_request",
|
|
2917
|
+
}
|
|
2918
|
+
`;
|
|
2919
|
+
|
|
2920
|
+
exports[`IPC message snapshots ServerMessage types approved_devices_list_response serializes to expected JSON 1`] = `
|
|
2921
|
+
{
|
|
2922
|
+
"devices": [
|
|
2923
|
+
{
|
|
2924
|
+
"deviceName": "iPhone 15",
|
|
2925
|
+
"hashedDeviceId": "hashed-device-001",
|
|
2926
|
+
"lastPairedAt": 1700000000000,
|
|
2927
|
+
},
|
|
2928
|
+
],
|
|
2929
|
+
"type": "approved_devices_list_response",
|
|
2930
|
+
}
|
|
2931
|
+
`;
|
|
2932
|
+
|
|
2933
|
+
exports[`IPC message snapshots ServerMessage types approved_device_remove_response serializes to expected JSON 1`] = `
|
|
2934
|
+
{
|
|
2935
|
+
"success": true,
|
|
2936
|
+
"type": "approved_device_remove_response",
|
|
2937
|
+
}
|
|
2938
|
+
`;
|