@hyperdrive.bot/fleet-server 0.3.99
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 +31 -0
- package/README.md +111 -0
- package/dist/scripts/dev-runner.js +37 -0
- package/dist/scripts/mcp-stdio-socket-bridge-cli.mjs +62 -0
- package/dist/scripts/supervisor-entrypoint.js +156 -0
- package/dist/scripts/supervisor-log-config.js +31 -0
- package/dist/scripts/supervisor.js +345 -0
- package/dist/server/executable-resolution/executable-resolution.d.ts +10 -0
- package/dist/server/executable-resolution/executable-resolution.js +118 -0
- package/dist/server/executable-resolution/windows.d.ts +18 -0
- package/dist/server/executable-resolution/windows.js +65 -0
- package/dist/server/extensions/daemon-backend.d.ts +11 -0
- package/dist/server/extensions/daemon-backend.js +146 -0
- package/dist/server/extensions/extension-host-manager.d.ts +48 -0
- package/dist/server/extensions/extension-host-manager.js +141 -0
- package/dist/server/extensions/extension-loader.d.ts +11 -0
- package/dist/server/extensions/extension-loader.js +47 -0
- package/dist/server/extensions/extension-service.d.ts +17 -0
- package/dist/server/extensions/extension-service.js +76 -0
- package/dist/server/server/agent/activity-curator.d.ts +28 -0
- package/dist/server/server/agent/activity-curator.js +227 -0
- package/dist/server/server/agent/agent-archive.d.ts +11 -0
- package/dist/server/server/agent/agent-archive.js +16 -0
- package/dist/server/server/agent/agent-list-filter.d.ts +76 -0
- package/dist/server/server/agent/agent-list-filter.js +184 -0
- package/dist/server/server/agent/agent-loading.d.ts +12 -0
- package/dist/server/server/agent/agent-loading.js +76 -0
- package/dist/server/server/agent/agent-manager.d.ts +628 -0
- package/dist/server/server/agent/agent-manager.js +3370 -0
- package/dist/server/server/agent/agent-projections.d.ts +65 -0
- package/dist/server/server/agent/agent-projections.js +548 -0
- package/dist/server/server/agent/agent-prompt.d.ts +65 -0
- package/dist/server/server/agent/agent-prompt.js +271 -0
- package/dist/server/server/agent/agent-response-loop.d.ts +67 -0
- package/dist/server/server/agent/agent-response-loop.js +326 -0
- package/dist/server/server/agent/agent-routes.d.ts +18 -0
- package/dist/server/server/agent/agent-routes.js +107 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts +809 -0
- package/dist/server/server/agent/agent-sdk-types.js +22 -0
- package/dist/server/server/agent/agent-storage.d.ts +209 -0
- package/dist/server/server/agent/agent-storage.js +365 -0
- package/dist/server/server/agent/agent-stream-coalescer.d.ts +41 -0
- package/dist/server/server/agent/agent-stream-coalescer.js +166 -0
- package/dist/server/server/agent/agent-timeline-store-types.d.ts +50 -0
- package/dist/server/server/agent/agent-timeline-store-types.js +2 -0
- package/dist/server/server/agent/agent-timeline-store.d.ts +27 -0
- package/dist/server/server/agent/agent-timeline-store.js +277 -0
- package/dist/server/server/agent/audio-utils.d.ts +3 -0
- package/dist/server/server/agent/audio-utils.js +19 -0
- package/dist/server/server/agent/authorship-ledger.d.ts +139 -0
- package/dist/server/server/agent/authorship-ledger.js +207 -0
- package/dist/server/server/agent/authorship-markup.d.ts +198 -0
- package/dist/server/server/agent/authorship-markup.js +288 -0
- package/dist/server/server/agent/blocker-log.d.ts +81 -0
- package/dist/server/server/agent/blocker-log.js +113 -0
- package/dist/server/server/agent/card-move-log.d.ts +66 -0
- package/dist/server/server/agent/card-move-log.js +113 -0
- package/dist/server/server/agent/create-agent/create.d.ts +126 -0
- package/dist/server/server/agent/create-agent/create.js +378 -0
- package/dist/server/server/agent/create-agent/routine.d.ts +45 -0
- package/dist/server/server/agent/create-agent/routine.js +53 -0
- package/dist/server/server/agent/create-agent-lifecycle-dispatch.d.ts +54 -0
- package/dist/server/server/agent/create-agent-lifecycle-dispatch.js +152 -0
- package/dist/server/server/agent/create-agent-mode.d.ts +13 -0
- package/dist/server/server/agent/create-agent-mode.js +62 -0
- package/dist/server/server/agent/create-agent-title.d.ts +10 -0
- package/dist/server/server/agent/create-agent-title.js +34 -0
- package/dist/server/server/agent/dictation-debug.d.ts +13 -0
- package/dist/server/server/agent/dictation-debug.js +50 -0
- package/dist/server/server/agent/foreground-run-state.d.ts +50 -0
- package/dist/server/server/agent/foreground-run-state.js +160 -0
- package/dist/server/server/agent/import-sessions.d.ts +52 -0
- package/dist/server/server/agent/import-sessions.js +170 -0
- package/dist/server/server/agent/jarvis-judge.d.ts +157 -0
- package/dist/server/server/agent/jarvis-judge.js +289 -0
- package/dist/server/server/agent/judge-relay-gate.d.ts +70 -0
- package/dist/server/server/agent/judge-relay-gate.js +92 -0
- package/dist/server/server/agent/lifecycle-command.d.ts +75 -0
- package/dist/server/server/agent/lifecycle-command.js +97 -0
- package/dist/server/server/agent/mcp-server.d.ts +22 -0
- package/dist/server/server/agent/mcp-server.js +653 -0
- package/dist/server/server/agent/mcp-shared.d.ts +239 -0
- package/dist/server/server/agent/mcp-shared.js +200 -0
- package/dist/server/server/agent/output-language.d.ts +16 -0
- package/dist/server/server/agent/output-language.js +62 -0
- package/dist/server/server/agent/pcm16-resampler.d.ts +14 -0
- package/dist/server/server/agent/pcm16-resampler.js +63 -0
- package/dist/server/server/agent/permission-response.d.ts +15 -0
- package/dist/server/server/agent/permission-response.js +14 -0
- package/dist/server/server/agent/prompt-attachments.d.ts +7 -0
- package/dist/server/server/agent/prompt-attachments.js +90 -0
- package/dist/server/server/agent/provider-config-reload.d.ts +27 -0
- package/dist/server/server/agent/provider-config-reload.js +65 -0
- package/dist/server/server/agent/provider-history-timestamps.d.ts +2 -0
- package/dist/server/server/agent/provider-history-timestamps.js +16 -0
- package/dist/server/server/agent/provider-launch-config.d.ts +51 -0
- package/dist/server/server/agent/provider-launch-config.js +183 -0
- package/dist/server/server/agent/provider-notices.d.ts +3 -0
- package/dist/server/server/agent/provider-notices.js +5 -0
- package/dist/server/server/agent/provider-registry-contract.d.ts +40 -0
- package/dist/server/server/agent/provider-registry-contract.js +28 -0
- package/dist/server/server/agent/provider-registry.d.ts +97 -0
- package/dist/server/server/agent/provider-registry.js +686 -0
- package/dist/server/server/agent/provider-session-import.d.ts +10 -0
- package/dist/server/server/agent/provider-session-import.js +49 -0
- package/dist/server/server/agent/provider-snapshot-manager.d.ts +166 -0
- package/dist/server/server/agent/provider-snapshot-manager.js +760 -0
- package/dist/server/server/agent/providers/acp-agent.d.ts +354 -0
- package/dist/server/server/agent/providers/acp-agent.js +2438 -0
- package/dist/server/server/agent/providers/claude/agent.d.ts +491 -0
- package/dist/server/server/agent/providers/claude/agent.js +5128 -0
- package/dist/server/server/agent/providers/claude/background-shell-kill-keys.d.ts +32 -0
- package/dist/server/server/agent/providers/claude/background-shell-kill-keys.js +34 -0
- package/dist/server/server/agent/providers/claude/background-task-tracker.d.ts +217 -0
- package/dist/server/server/agent/providers/claude/background-task-tracker.js +511 -0
- package/dist/server/server/agent/providers/claude/background-work-kinds.d.ts +124 -0
- package/dist/server/server/agent/providers/claude/background-work-kinds.js +96 -0
- package/dist/server/server/agent/providers/claude/feature-definitions.d.ts +8 -0
- package/dist/server/server/agent/providers/claude/feature-definitions.js +24 -0
- package/dist/server/server/agent/providers/claude/hook-handler.d.ts +37 -0
- package/dist/server/server/agent/providers/claude/hook-handler.js +193 -0
- package/dist/server/server/agent/providers/claude/hooks/event-translator.d.ts +49 -0
- package/dist/server/server/agent/providers/claude/hooks/event-translator.js +151 -0
- package/dist/server/server/agent/providers/claude/image-compression.d.ts +10 -0
- package/dist/server/server/agent/providers/claude/image-compression.js +32 -0
- package/dist/server/server/agent/providers/claude/model-manifest.d.ts +116 -0
- package/dist/server/server/agent/providers/claude/model-manifest.js +279 -0
- package/dist/server/server/agent/providers/claude/models.d.ts +11 -0
- package/dist/server/server/agent/providers/claude/models.js +97 -0
- package/dist/server/server/agent/providers/claude/partial-json.d.ts +5 -0
- package/dist/server/server/agent/providers/claude/partial-json.js +306 -0
- package/dist/server/server/agent/providers/claude/project-dir.d.ts +6 -0
- package/dist/server/server/agent/providers/claude/project-dir.js +57 -0
- package/dist/server/server/agent/providers/claude/pty-session-launcher.d.ts +62 -0
- package/dist/server/server/agent/providers/claude/pty-session-launcher.js +175 -0
- package/dist/server/server/agent/providers/claude/resume-source.d.ts +11 -0
- package/dist/server/server/agent/providers/claude/resume-source.js +37 -0
- package/dist/server/server/agent/providers/claude/rewind.d.ts +30 -0
- package/dist/server/server/agent/providers/claude/rewind.js +30 -0
- package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts +22 -0
- package/dist/server/server/agent/providers/claude/sidechain-tracker.js +232 -0
- package/dist/server/server/agent/providers/claude/spawn-config-writer.d.ts +70 -0
- package/dist/server/server/agent/providers/claude/spawn-config-writer.js +229 -0
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +47 -0
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.js +292 -0
- package/dist/server/server/agent/providers/claude/test-rewind-claude-sdk.d.ts +24 -0
- package/dist/server/server/agent/providers/claude/test-rewind-claude-sdk.js +23 -0
- package/dist/server/server/agent/providers/claude/tool-allowlist-guard.d.ts +41 -0
- package/dist/server/server/agent/providers/claude/tool-allowlist-guard.js +95 -0
- package/dist/server/server/agent/providers/claude/tool-allowlist.d.ts +68 -0
- package/dist/server/server/agent/providers/claude/tool-allowlist.js +133 -0
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts +3 -0
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js +130 -0
- package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts +16 -0
- package/dist/server/server/agent/providers/claude/tool-call-mapper.js +129 -0
- package/dist/server/server/agent/providers/claude/transport/claude-paths.d.ts +31 -0
- package/dist/server/server/agent/providers/claude/transport/claude-paths.js +63 -0
- package/dist/server/server/agent/providers/claude/transport/continue-flag.d.ts +31 -0
- package/dist/server/server/agent/providers/claude/transport/continue-flag.js +42 -0
- package/dist/server/server/agent/providers/claude/transport/pty-query.d.ts +493 -0
- package/dist/server/server/agent/providers/claude/transport/pty-query.js +2075 -0
- package/dist/server/server/agent/providers/claude/transport/pty.d.ts +153 -0
- package/dist/server/server/agent/providers/claude/transport/pty.js +367 -0
- package/dist/server/server/agent/providers/claude/transport/redact.d.ts +8 -0
- package/dist/server/server/agent/providers/claude/transport/redact.js +33 -0
- package/dist/server/server/agent/providers/claude/transport/sdk.d.ts +65 -0
- package/dist/server/server/agent/providers/claude/transport/sdk.js +219 -0
- package/dist/server/server/agent/providers/claude/transport/tmux.d.ts +141 -0
- package/dist/server/server/agent/providers/claude/transport/tmux.js +218 -0
- package/dist/server/server/agent/providers/claude/transport/transcript-sdk-reader.d.ts +53 -0
- package/dist/server/server/agent/providers/claude/transport/transcript-sdk-reader.js +243 -0
- package/dist/server/server/agent/providers/claude/transport/transcript-tailer.d.ts +28 -0
- package/dist/server/server/agent/providers/claude/transport/transcript-tailer.js +166 -0
- package/dist/server/server/agent/providers/claude/transport/truncate-session.d.ts +50 -0
- package/dist/server/server/agent/providers/claude/transport/truncate-session.js +121 -0
- package/dist/server/server/agent/providers/claude/transport/turn-id-reconciler.d.ts +36 -0
- package/dist/server/server/agent/providers/claude/transport/turn-id-reconciler.js +75 -0
- package/dist/server/server/agent/providers/claude/transport/types.d.ts +61 -0
- package/dist/server/server/agent/providers/claude/transport/types.js +2 -0
- package/dist/server/server/agent/providers/codex/app-server-transport.d.ts +90 -0
- package/dist/server/server/agent/providers/codex/app-server-transport.js +262 -0
- package/dist/server/server/agent/providers/codex/rewind.d.ts +21 -0
- package/dist/server/server/agent/providers/codex/rewind.js +46 -0
- package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts +36 -0
- package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js +217 -0
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts +12 -0
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js +104 -0
- package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts +24 -0
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js +830 -0
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +308 -0
- package/dist/server/server/agent/providers/codex-app-server-agent.js +4515 -0
- package/dist/server/server/agent/providers/codex-feature-definitions.d.ts +11 -0
- package/dist/server/server/agent/providers/codex-feature-definitions.js +45 -0
- package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +26 -0
- package/dist/server/server/agent/providers/copilot-acp-agent.js +187 -0
- package/dist/server/server/agent/providers/cursor-acp-agent.d.ts +15 -0
- package/dist/server/server/agent/providers/cursor-acp-agent.js +18 -0
- package/dist/server/server/agent/providers/diagnostic-utils.d.ts +36 -0
- package/dist/server/server/agent/providers/diagnostic-utils.js +355 -0
- package/dist/server/server/agent/providers/generic-acp-agent.d.ts +42 -0
- package/dist/server/server/agent/providers/generic-acp-agent.js +161 -0
- package/dist/server/server/agent/providers/kiro-acp-agent.d.ts +17 -0
- package/dist/server/server/agent/providers/kiro-acp-agent.js +78 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +85 -0
- package/dist/server/server/agent/providers/mock-load-test-agent.js +1010 -0
- package/dist/server/server/agent/providers/mock-slow-provider.d.ts +14 -0
- package/dist/server/server/agent/providers/mock-slow-provider.js +39 -0
- package/dist/server/server/agent/providers/opencode/paths.d.ts +2 -0
- package/dist/server/server/agent/providers/opencode/paths.js +7 -0
- package/dist/server/server/agent/providers/opencode/rewind.d.ts +18 -0
- package/dist/server/server/agent/providers/opencode/rewind.js +14 -0
- package/dist/server/server/agent/providers/opencode/server-manager.d.ts +91 -0
- package/dist/server/server/agent/providers/opencode/server-manager.js +425 -0
- package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +25 -0
- package/dist/server/server/agent/providers/opencode/test-server-manager.js +39 -0
- package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-harness.d.ts +92 -0
- package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-harness.js +268 -0
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts +3 -0
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +256 -0
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts +13 -0
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +53 -0
- package/dist/server/server/agent/providers/opencode-agent.d.ts +293 -0
- package/dist/server/server/agent/providers/opencode-agent.js +2908 -0
- package/dist/server/server/agent/providers/pi/agent.d.ts +137 -0
- package/dist/server/server/agent/providers/pi/agent.js +1651 -0
- package/dist/server/server/agent/providers/pi/cli-runtime.d.ts +21 -0
- package/dist/server/server/agent/providers/pi/cli-runtime.js +233 -0
- package/dist/server/server/agent/providers/pi/history-mapper.d.ts +9 -0
- package/dist/server/server/agent/providers/pi/history-mapper.js +140 -0
- package/dist/server/server/agent/providers/pi/rewind.d.ts +8 -0
- package/dist/server/server/agent/providers/pi/rewind.js +8 -0
- package/dist/server/server/agent/providers/pi/rpc-types.d.ts +208 -0
- package/dist/server/server/agent/providers/pi/rpc-types.js +2 -0
- package/dist/server/server/agent/providers/pi/runtime.d.ts +57 -0
- package/dist/server/server/agent/providers/pi/runtime.js +56 -0
- package/dist/server/server/agent/providers/pi/session-descriptor.d.ts +16 -0
- package/dist/server/server/agent/providers/pi/session-descriptor.js +346 -0
- package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts +83 -0
- package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js +184 -0
- package/dist/server/server/agent/providers/pi/tool-call-mapper.d.ts +112 -0
- package/dist/server/server/agent/providers/pi/tool-call-mapper.js +284 -0
- package/dist/server/server/agent/providers/provider-image-output.d.ts +25 -0
- package/dist/server/server/agent/providers/provider-image-output.js +111 -0
- package/dist/server/server/agent/providers/provider-runner.d.ts +27 -0
- package/dist/server/server/agent/providers/provider-runner.js +81 -0
- package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts +3 -0
- package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +60 -0
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +884 -0
- package/dist/server/server/agent/providers/tool-call-detail-primitives.js +778 -0
- package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +25 -0
- package/dist/server/server/agent/providers/tool-call-mapper-utils.js +208 -0
- package/dist/server/server/agent/recordings-debug.d.ts +3 -0
- package/dist/server/server/agent/recordings-debug.js +19 -0
- package/dist/server/server/agent/render-file-attachment.d.ts +29 -0
- package/dist/server/server/agent/render-file-attachment.js +41 -0
- package/dist/server/server/agent/resolve-resume-cwd.d.ts +14 -0
- package/dist/server/server/agent/resolve-resume-cwd.js +49 -0
- package/dist/server/server/agent/rewind/rewind.d.ts +10 -0
- package/dist/server/server/agent/rewind/rewind.js +29 -0
- package/dist/server/server/agent/rewind/test-rewind-session.d.ts +48 -0
- package/dist/server/server/agent/rewind/test-rewind-session.js +88 -0
- package/dist/server/server/agent/runtime-mcp-config.d.ts +14 -0
- package/dist/server/server/agent/runtime-mcp-config.js +53 -0
- package/dist/server/server/agent/session-digest-generator.d.ts +64 -0
- package/dist/server/server/agent/session-digest-generator.js +306 -0
- package/dist/server/server/agent/session-digest.d.ts +81 -0
- package/dist/server/server/agent/session-digest.js +226 -0
- package/dist/server/server/agent/structured-generation-providers.d.ts +29 -0
- package/dist/server/server/agent/structured-generation-providers.js +236 -0
- package/dist/server/server/agent/stt-debug.d.ts +10 -0
- package/dist/server/server/agent/stt-debug.js +33 -0
- package/dist/server/server/agent/stt-manager.d.ts +47 -0
- package/dist/server/server/agent/stt-manager.js +263 -0
- package/dist/server/server/agent/system-prompt.d.ts +2 -0
- package/dist/server/server/agent/system-prompt.js +8 -0
- package/dist/server/server/agent/timeline-append.d.ts +10 -0
- package/dist/server/server/agent/timeline-append.js +27 -0
- package/dist/server/server/agent/timeline-projection.d.ts +71 -0
- package/dist/server/server/agent/timeline-projection.js +373 -0
- package/dist/server/server/agent/tools/paseo-tools.d.ts +66 -0
- package/dist/server/server/agent/tools/paseo-tools.js +2616 -0
- package/dist/server/server/agent/tools/read-only-surface.d.ts +53 -0
- package/dist/server/server/agent/tools/read-only-surface.js +69 -0
- package/dist/server/server/agent/tools/types.d.ts +41 -0
- package/dist/server/server/agent/tools/types.js +2 -0
- package/dist/server/server/agent/tts-debug.d.ts +8 -0
- package/dist/server/server/agent/tts-debug.js +24 -0
- package/dist/server/server/agent/tts-manager.d.ts +41 -0
- package/dist/server/server/agent/tts-manager.js +375 -0
- package/dist/server/server/agent/wait-for-agent-tracker.d.ts +15 -0
- package/dist/server/server/agent/wait-for-agent-tracker.js +53 -0
- package/dist/server/server/agent-attention-policy.d.ts +29 -0
- package/dist/server/server/agent-attention-policy.js +36 -0
- package/dist/server/server/atomic-file.d.ts +3 -0
- package/dist/server/server/atomic-file.js +19 -0
- package/dist/server/server/auth.d.ts +68 -0
- package/dist/server/server/auth.js +207 -0
- package/dist/server/server/auto-archive-on-merge/archive-if-safe.d.ts +40 -0
- package/dist/server/server/auto-archive-on-merge/archive-if-safe.js +92 -0
- package/dist/server/server/auto-archive-on-merge/index.d.ts +8 -0
- package/dist/server/server/auto-archive-on-merge/index.js +15 -0
- package/dist/server/server/bootstrap.d.ts +163 -0
- package/dist/server/server/bootstrap.js +1597 -0
- package/dist/server/server/browser-tools/broker.d.ts +45 -0
- package/dist/server/server/browser-tools/broker.js +390 -0
- package/dist/server/server/browser-tools/errors.d.ts +22 -0
- package/dist/server/server/browser-tools/errors.js +27 -0
- package/dist/server/server/browser-tools/policy.d.ts +10 -0
- package/dist/server/server/browser-tools/policy.js +16 -0
- package/dist/server/server/browser-tools/tools.d.ts +16 -0
- package/dist/server/server/browser-tools/tools.js +845 -0
- package/dist/server/server/chat/chat-mentions.d.ts +47 -0
- package/dist/server/server/chat/chat-mentions.js +113 -0
- package/dist/server/server/chat/chat-service.d.ts +78 -0
- package/dist/server/server/chat/chat-service.js +337 -0
- package/dist/server/server/checkout/status-projection.d.ts +19 -0
- package/dist/server/server/checkout/status-projection.js +102 -0
- package/dist/server/server/checkout-diff-manager.d.ts +41 -0
- package/dist/server/server/checkout-diff-manager.js +189 -0
- package/dist/server/server/checkout-git-utils.d.ts +11 -0
- package/dist/server/server/checkout-git-utils.js +34 -0
- package/dist/server/server/client-message-id.d.ts +3 -0
- package/dist/server/server/client-message-id.js +12 -0
- package/dist/server/server/config.d.ts +20 -0
- package/dist/server/server/config.js +427 -0
- package/dist/server/server/connection-offer.d.ts +20 -0
- package/dist/server/server/connection-offer.js +59 -0
- package/dist/server/server/daemon-config-store.d.ts +78 -0
- package/dist/server/server/daemon-config-store.js +320 -0
- package/dist/server/server/daemon-keypair.d.ts +8 -0
- package/dist/server/server/daemon-keypair.js +42 -0
- package/dist/server/server/daemon-version.d.ts +5 -0
- package/dist/server/server/daemon-version.js +22 -0
- package/dist/server/server/daemon-worker.d.ts +2 -0
- package/dist/server/server/daemon-worker.js +251 -0
- package/dist/server/server/dictation/dictation-stream-manager.d.ts +95 -0
- package/dist/server/server/dictation/dictation-stream-manager.js +581 -0
- package/dist/server/server/editor-targets.d.ts +18 -0
- package/dist/server/server/editor-targets.js +109 -0
- package/dist/server/server/ensure-workspace-for-create.d.ts +30 -0
- package/dist/server/server/ensure-workspace-for-create.js +20 -0
- package/dist/server/server/exports.d.ts +28 -0
- package/dist/server/server/exports.js +31 -0
- package/dist/server/server/file-download/token-store.d.ts +24 -0
- package/dist/server/server/file-download/token-store.js +40 -0
- package/dist/server/server/file-explorer/file-download-frames.d.ts +27 -0
- package/dist/server/server/file-explorer/file-download-frames.js +47 -0
- package/dist/server/server/file-explorer/mime-types.d.ts +58 -0
- package/dist/server/server/file-explorer/mime-types.js +212 -0
- package/dist/server/server/file-explorer/service.d.ts +97 -0
- package/dist/server/server/file-explorer/service.js +362 -0
- package/dist/server/server/file-upload/index.d.ts +27 -0
- package/dist/server/server/file-upload/index.js +158 -0
- package/dist/server/server/fleet/decision-service.d.ts +47 -0
- package/dist/server/server/fleet/decision-service.js +156 -0
- package/dist/server/server/fleet/fleet-controls.d.ts +77 -0
- package/dist/server/server/fleet/fleet-controls.js +217 -0
- package/dist/server/server/fleet/fleet-reader.d.ts +106 -0
- package/dist/server/server/fleet/fleet-reader.js +470 -0
- package/dist/server/server/fleet/fleet-scaffold.d.ts +26 -0
- package/dist/server/server/fleet/fleet-scaffold.js +48 -0
- package/dist/server/server/fleet/fleet-scheduler.d.ts +75 -0
- package/dist/server/server/fleet/fleet-scheduler.js +186 -0
- package/dist/server/server/fleet/fleet-service.d.ts +75 -0
- package/dist/server/server/fleet/fleet-service.js +134 -0
- package/dist/server/server/hostnames.d.ts +13 -0
- package/dist/server/server/hostnames.js +94 -0
- package/dist/server/server/ingestion/adapters.d.ts +21 -0
- package/dist/server/server/ingestion/adapters.js +27 -0
- package/dist/server/server/ingestion/apply.d.ts +220 -0
- package/dist/server/server/ingestion/apply.js +345 -0
- package/dist/server/server/ingestion/backfill.d.ts +123 -0
- package/dist/server/server/ingestion/backfill.js +160 -0
- package/dist/server/server/ingestion/cap-limiter.d.ts +148 -0
- package/dist/server/server/ingestion/cap-limiter.js +264 -0
- package/dist/server/server/ingestion/cohort-recorder-memory.d.ts +25 -0
- package/dist/server/server/ingestion/cohort-recorder-memory.js +78 -0
- package/dist/server/server/ingestion/cohort-recorder-store.d.ts +12 -0
- package/dist/server/server/ingestion/cohort-recorder-store.js +99 -0
- package/dist/server/server/ingestion/cohort-resume.d.ts +22 -0
- package/dist/server/server/ingestion/cohort-resume.js +171 -0
- package/dist/server/server/ingestion/cohort-store.d.ts +227 -0
- package/dist/server/server/ingestion/cohort-store.js +462 -0
- package/dist/server/server/ingestion/composio/gateway.d.ts +8 -0
- package/dist/server/server/ingestion/composio/gateway.js +469 -0
- package/dist/server/server/ingestion/dry-run.d.ts +70 -0
- package/dist/server/server/ingestion/dry-run.js +142 -0
- package/dist/server/server/ingestion/errors.d.ts +48 -0
- package/dist/server/server/ingestion/errors.js +63 -0
- package/dist/server/server/ingestion/external-user-id.d.ts +24 -0
- package/dist/server/server/ingestion/external-user-id.js +35 -0
- package/dist/server/server/ingestion/filters/store.d.ts +28 -0
- package/dist/server/server/ingestion/filters/store.js +74 -0
- package/dist/server/server/ingestion/fingerprint.d.ts +13 -0
- package/dist/server/server/ingestion/fingerprint.js +31 -0
- package/dist/server/server/ingestion/grouping.d.ts +26 -0
- package/dist/server/server/ingestion/grouping.js +116 -0
- package/dist/server/server/ingestion/hard-failure.d.ts +73 -0
- package/dist/server/server/ingestion/hard-failure.js +125 -0
- package/dist/server/server/ingestion/health.d.ts +38 -0
- package/dist/server/server/ingestion/health.js +90 -0
- package/dist/server/server/ingestion/ledger-schema.d.ts +99 -0
- package/dist/server/server/ingestion/ledger-schema.js +359 -0
- package/dist/server/server/ingestion/ledger.d.ts +562 -0
- package/dist/server/server/ingestion/ledger.js +881 -0
- package/dist/server/server/ingestion/match.d.ts +57 -0
- package/dist/server/server/ingestion/match.js +102 -0
- package/dist/server/server/ingestion/pipedream/gateway.d.ts +8 -0
- package/dist/server/server/ingestion/pipedream/gateway.js +282 -0
- package/dist/server/server/ingestion/presets.d.ts +57 -0
- package/dist/server/server/ingestion/presets.js +57 -0
- package/dist/server/server/ingestion/reconcile/artifact-kind.d.ts +19 -0
- package/dist/server/server/ingestion/reconcile/artifact-kind.js +65 -0
- package/dist/server/server/ingestion/reconcile/calendar.d.ts +19 -0
- package/dist/server/server/ingestion/reconcile/calendar.js +110 -0
- package/dist/server/server/ingestion/reconcile/constants.d.ts +60 -0
- package/dist/server/server/ingestion/reconcile/constants.js +62 -0
- package/dist/server/server/ingestion/reconcile/github.d.ts +21 -0
- package/dist/server/server/ingestion/reconcile/github.js +83 -0
- package/dist/server/server/ingestion/reconcile/gitlab.d.ts +23 -0
- package/dist/server/server/ingestion/reconcile/gitlab.js +94 -0
- package/dist/server/server/ingestion/reconcile/gmail.d.ts +9 -0
- package/dist/server/server/ingestion/reconcile/gmail.js +141 -0
- package/dist/server/server/ingestion/reconcile/jira.d.ts +17 -0
- package/dist/server/server/ingestion/reconcile/jira.js +76 -0
- package/dist/server/server/ingestion/reconcile/kinds.d.ts +16 -0
- package/dist/server/server/ingestion/reconcile/kinds.js +59 -0
- package/dist/server/server/ingestion/reconcile/mcp-call.d.ts +18 -0
- package/dist/server/server/ingestion/reconcile/mcp-call.js +105 -0
- package/dist/server/server/ingestion/reconcile/payload.d.ts +38 -0
- package/dist/server/server/ingestion/reconcile/payload.js +82 -0
- package/dist/server/server/ingestion/reconcile/registry.d.ts +40 -0
- package/dist/server/server/ingestion/reconcile/registry.js +72 -0
- package/dist/server/server/ingestion/reconcile/runner.d.ts +43 -0
- package/dist/server/server/ingestion/reconcile/runner.js +91 -0
- package/dist/server/server/ingestion/reconcile/sentry.d.ts +20 -0
- package/dist/server/server/ingestion/reconcile/sentry.js +85 -0
- package/dist/server/server/ingestion/reconcile/service.d.ts +134 -0
- package/dist/server/server/ingestion/reconcile/service.js +409 -0
- package/dist/server/server/ingestion/reconcile/signature-guard.d.ts +30 -0
- package/dist/server/server/ingestion/reconcile/signature-guard.js +82 -0
- package/dist/server/server/ingestion/reconcile/testing/fake-mcp-server.d.ts +68 -0
- package/dist/server/server/ingestion/reconcile/testing/fake-mcp-server.js +158 -0
- package/dist/server/server/ingestion/reconcile/types.d.ts +65 -0
- package/dist/server/server/ingestion/reconcile/types.js +11 -0
- package/dist/server/server/ingestion/reconcile/verdict-mapping.d.ts +54 -0
- package/dist/server/server/ingestion/reconcile/verdict-mapping.js +82 -0
- package/dist/server/server/ingestion/resolve-items.d.ts +23 -0
- package/dist/server/server/ingestion/resolve-items.js +54 -0
- package/dist/server/server/ingestion/run-projection.d.ts +35 -0
- package/dist/server/server/ingestion/run-projection.js +76 -0
- package/dist/server/server/ingestion/service.d.ts +147 -0
- package/dist/server/server/ingestion/service.js +364 -0
- package/dist/server/server/ingestion/sources/store.d.ts +27 -0
- package/dist/server/server/ingestion/sources/store.js +71 -0
- package/dist/server/server/ingestion/testing/claim-and-hang.d.ts +2 -0
- package/dist/server/server/ingestion/testing/claim-and-hang.js +21 -0
- package/dist/server/server/ingestion/testing/cohort-crash.d.ts +2 -0
- package/dist/server/server/ingestion/testing/cohort-crash.js +89 -0
- package/dist/server/server/ingestion/types.d.ts +226 -0
- package/dist/server/server/ingestion/types.js +18 -0
- package/dist/server/server/ingestion/utc-day.d.ts +27 -0
- package/dist/server/server/ingestion/utc-day.js +44 -0
- package/dist/server/server/json-utils.d.ts +11 -0
- package/dist/server/server/json-utils.js +45 -0
- package/dist/server/server/lifecycle-reasons.d.ts +4 -0
- package/dist/server/server/lifecycle-reasons.js +6 -0
- package/dist/server/server/logger.d.ts +29 -0
- package/dist/server/server/logger.js +125 -0
- package/dist/server/server/loop-service.d.ts +234 -0
- package/dist/server/server/loop-service.js +769 -0
- package/dist/server/server/managed-processes/managed-processes.d.ts +76 -0
- package/dist/server/server/managed-processes/managed-processes.js +326 -0
- package/dist/server/server/meetings/capture-http.d.ts +3 -0
- package/dist/server/server/meetings/capture-http.js +71 -0
- package/dist/server/server/meetings/capture-orchestrator.d.ts +123 -0
- package/dist/server/server/meetings/capture-orchestrator.js +531 -0
- package/dist/server/server/meetings/capture-stream-ws.d.ts +42 -0
- package/dist/server/server/meetings/capture-stream-ws.js +68 -0
- package/dist/server/server/meetings/live-transcription.d.ts +57 -0
- package/dist/server/server/meetings/live-transcription.js +280 -0
- package/dist/server/server/meetings/meetings-http.d.ts +42 -0
- package/dist/server/server/meetings/meetings-http.js +266 -0
- package/dist/server/server/messages.d.ts +9 -0
- package/dist/server/server/messages.js +29 -0
- package/dist/server/server/migrations/backfill-workspace-id.migration.d.ts +9 -0
- package/dist/server/server/migrations/backfill-workspace-id.migration.js +64 -0
- package/dist/server/server/monitoring/telemetry.d.ts +13 -0
- package/dist/server/server/monitoring/telemetry.js +21 -0
- package/dist/server/server/package-version.d.ts +19 -0
- package/dist/server/server/package-version.js +60 -0
- package/dist/server/server/pagination/cursor.d.ts +16 -0
- package/dist/server/server/pagination/cursor.js +62 -0
- package/dist/server/server/pagination/sortable-pager.d.ts +24 -0
- package/dist/server/server/pagination/sortable-pager.js +68 -0
- package/dist/server/server/pairing-offer.d.ts +18 -0
- package/dist/server/server/pairing-offer.js +47 -0
- package/dist/server/server/pairing-qr.d.ts +7 -0
- package/dist/server/server/pairing-qr.js +45 -0
- package/dist/server/server/paseo-env.d.ts +13 -0
- package/dist/server/server/paseo-env.js +53 -0
- package/dist/server/server/paseo-home.d.ts +2 -0
- package/dist/server/server/paseo-home.js +19 -0
- package/dist/server/server/paseo-worktree-service.d.ts +52 -0
- package/dist/server/server/paseo-worktree-service.js +294 -0
- package/dist/server/server/path-utils.d.ts +5 -0
- package/dist/server/server/path-utils.js +34 -0
- package/dist/server/server/persisted-config.d.ts +390 -0
- package/dist/server/server/persisted-config.js +424 -0
- package/dist/server/server/persistence-hooks.d.ts +32 -0
- package/dist/server/server/persistence-hooks.js +99 -0
- package/dist/server/server/pid-lock.d.ts +32 -0
- package/dist/server/server/pid-lock.js +170 -0
- package/dist/server/server/private-files.d.ts +6 -0
- package/dist/server/server/private-files.js +37 -0
- package/dist/server/server/process-diagnostics.d.ts +17 -0
- package/dist/server/server/process-diagnostics.js +22 -0
- package/dist/server/server/push/categories.d.ts +35 -0
- package/dist/server/server/push/categories.js +40 -0
- package/dist/server/server/push/expo-worker.d.ts +51 -0
- package/dist/server/server/push/expo-worker.js +188 -0
- package/dist/server/server/push/index.d.ts +39 -0
- package/dist/server/server/push/index.js +45 -0
- package/dist/server/server/push/notifications.d.ts +9 -0
- package/dist/server/server/push/notifications.js +15 -0
- package/dist/server/server/push/push-service.d.ts +20 -0
- package/dist/server/server/push/push-service.js +66 -0
- package/dist/server/server/push/routes.d.ts +28 -0
- package/dist/server/server/push/routes.js +74 -0
- package/dist/server/server/push/subscriptions.d.ts +42 -0
- package/dist/server/server/push/subscriptions.js +112 -0
- package/dist/server/server/push/token-store.d.ts +29 -0
- package/dist/server/server/push/token-store.js +78 -0
- package/dist/server/server/push/triggers.d.ts +68 -0
- package/dist/server/server/push/triggers.js +103 -0
- package/dist/server/server/push/vapid-keys.d.ts +15 -0
- package/dist/server/server/push/vapid-keys.js +52 -0
- package/dist/server/server/push/web-worker.d.ts +44 -0
- package/dist/server/server/push/web-worker.js +99 -0
- package/dist/server/server/reference-enricher.d.ts +41 -0
- package/dist/server/server/reference-enricher.js +392 -0
- package/dist/server/server/relay-transport.d.ts +31 -0
- package/dist/server/server/relay-transport.js +545 -0
- package/dist/server/server/resolve-workspace-id-for-path.d.ts +4 -0
- package/dist/server/server/resolve-workspace-id-for-path.js +71 -0
- package/dist/server/server/resolve-worktree-creation-intent.d.ts +32 -0
- package/dist/server/server/resolve-worktree-creation-intent.js +121 -0
- package/dist/server/server/restart-manifest.d.ts +83 -0
- package/dist/server/server/restart-manifest.js +122 -0
- package/dist/server/server/resume-after-restart.d.ts +50 -0
- package/dist/server/server/resume-after-restart.js +108 -0
- package/dist/server/server/schedule/create-cadence.d.ts +22 -0
- package/dist/server/server/schedule/create-cadence.js +70 -0
- package/dist/server/server/schedule/cron.d.ts +8 -0
- package/dist/server/server/schedule/cron.js +114 -0
- package/dist/server/server/schedule/service.d.ts +207 -0
- package/dist/server/server/schedule/service.js +867 -0
- package/dist/server/server/schedule/source-prompt.d.ts +42 -0
- package/dist/server/server/schedule/source-prompt.js +87 -0
- package/dist/server/server/schedule/store.d.ts +13 -0
- package/dist/server/server/schedule/store.js +57 -0
- package/dist/server/server/script-health-monitor.d.ts +39 -0
- package/dist/server/server/script-health-monitor.js +159 -0
- package/dist/server/server/script-proxy.d.ts +3 -0
- package/dist/server/server/script-proxy.js +2 -0
- package/dist/server/server/script-route-branch-handler.d.ts +10 -0
- package/dist/server/server/script-route-branch-handler.js +11 -0
- package/dist/server/server/script-status-projection.d.ts +36 -0
- package/dist/server/server/script-status-projection.js +200 -0
- package/dist/server/server/search/extract.d.ts +53 -0
- package/dist/server/server/search/extract.js +222 -0
- package/dist/server/server/search/index-store.d.ts +83 -0
- package/dist/server/server/search/index-store.js +241 -0
- package/dist/server/server/search/indexer.d.ts +69 -0
- package/dist/server/server/search/indexer.js +362 -0
- package/dist/server/server/search/resolve-cwd.d.ts +40 -0
- package/dist/server/server/search/resolve-cwd.js +109 -0
- package/dist/server/server/search/session-search-service.d.ts +59 -0
- package/dist/server/server/search/session-search-service.js +171 -0
- package/dist/server/server/server-id.d.ts +17 -0
- package/dist/server/server/server-id.js +68 -0
- package/dist/server/server/service-proxy.d.ts +237 -0
- package/dist/server/server/service-proxy.js +714 -0
- package/dist/server/server/session/agent-config/agent-config-session.d.ts +50 -0
- package/dist/server/server/session/agent-config/agent-config-session.js +98 -0
- package/dist/server/server/session/agent-updates/agent-updates-service.d.ts +59 -0
- package/dist/server/server/session/agent-updates/agent-updates-service.js +220 -0
- package/dist/server/server/session/chat/chat-ingestion-session.d.ts +285 -0
- package/dist/server/server/session/chat/chat-ingestion-session.js +504 -0
- package/dist/server/server/session/chat/chat-schedule-loop-session.d.ts +175 -0
- package/dist/server/server/session/chat/chat-schedule-loop-session.js +720 -0
- package/dist/server/server/session/checkout/checkout-session.d.ts +140 -0
- package/dist/server/server/session/checkout/checkout-session.js +927 -0
- package/dist/server/server/session/checkout/git-metadata-generator.d.ts +53 -0
- package/dist/server/server/session/checkout/git-metadata-generator.js +159 -0
- package/dist/server/server/session/daemon/daemon-self-update-session-controller.d.ts +32 -0
- package/dist/server/server/session/daemon/daemon-self-update-session-controller.js +88 -0
- package/dist/server/server/session/daemon/daemon-self-updater.d.ts +32 -0
- package/dist/server/server/session/daemon/daemon-self-updater.js +56 -0
- package/dist/server/server/session/daemon/daemon-session.d.ts +89 -0
- package/dist/server/server/session/daemon/daemon-session.js +179 -0
- package/dist/server/server/session/daemon/diagnostics.d.ts +41 -0
- package/dist/server/server/session/daemon/diagnostics.js +431 -0
- package/dist/server/server/session/daemon/install-origin.d.ts +7 -0
- package/dist/server/server/session/daemon/install-origin.js +64 -0
- package/dist/server/server/session/daemon/npm-global-cli.d.ts +29 -0
- package/dist/server/server/session/daemon/npm-global-cli.js +98 -0
- package/dist/server/server/session/files/workspace-files-session.d.ts +53 -0
- package/dist/server/server/session/files/workspace-files-session.js +245 -0
- package/dist/server/server/session/git-mutation/git-mutation-service.d.ts +34 -0
- package/dist/server/server/session/git-mutation/git-mutation-service.js +71 -0
- package/dist/server/server/session/ingestion/source-session.d.ts +78 -0
- package/dist/server/server/session/ingestion/source-session.js +191 -0
- package/dist/server/server/session/project-config/project-config-session.d.ts +34 -0
- package/dist/server/server/session/project-config/project-config-session.js +125 -0
- package/dist/server/server/session/provider/provider-catalog-session.d.ts +105 -0
- package/dist/server/server/session/provider/provider-catalog-session.js +364 -0
- package/dist/server/server/session/session-rename-route.d.ts +4 -0
- package/dist/server/server/session/session-rename-route.js +71 -0
- package/dist/server/server/session/session-rename-service.d.ts +25 -0
- package/dist/server/server/session/session-rename-service.js +76 -0
- package/dist/server/server/session/voice/voice-session.d.ts +166 -0
- package/dist/server/server/session/voice/voice-session.js +899 -0
- package/dist/server/server/session/voice/voice-turn-controller.d.ts +38 -0
- package/dist/server/server/session/voice/voice-turn-controller.js +393 -0
- package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.d.ts +36 -0
- package/dist/server/server/session/workspace-git-observer/workspace-git-observer-service.js +134 -0
- package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.d.ts +46 -0
- package/dist/server/server/session/workspace-provisioning/workspace-provisioning-service.js +214 -0
- package/dist/server/server/session/workspace-scripts/workspace-scripts-service.d.ts +41 -0
- package/dist/server/server/session/workspace-scripts/workspace-scripts-service.js +100 -0
- package/dist/server/server/session.d.ts +677 -0
- package/dist/server/server/session.js +6531 -0
- package/dist/server/server/speech/audio.d.ts +10 -0
- package/dist/server/server/speech/audio.js +101 -0
- package/dist/server/server/speech/provider-resolver.d.ts +3 -0
- package/dist/server/server/speech/provider-resolver.js +7 -0
- package/dist/server/server/speech/providers/local/config.d.ts +30 -0
- package/dist/server/server/speech/providers/local/config.js +134 -0
- package/dist/server/server/speech/providers/local/models.d.ts +11 -0
- package/dist/server/server/speech/providers/local/models.js +17 -0
- package/dist/server/server/speech/providers/local/runtime.d.ts +31 -0
- package/dist/server/server/speech/providers/local/runtime.js +135 -0
- package/dist/server/server/speech/providers/local/sherpa/assets/silero_vad.onnx +0 -0
- package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts +56 -0
- package/dist/server/server/speech/providers/local/sherpa/model-catalog.js +74 -0
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts +15 -0
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.js +142 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts +49 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +73 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts +9 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js +107 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts +28 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +137 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts +21 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +133 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts +18 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js +84 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts +21 -0
- package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js +101 -0
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.d.ts +19 -0
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js +49 -0
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.d.ts +38 -0
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.js +176 -0
- package/dist/server/server/speech/providers/local/worker-bytes.d.ts +4 -0
- package/dist/server/server/speech/providers/local/worker-bytes.js +9 -0
- package/dist/server/server/speech/providers/local/worker-client.d.ts +93 -0
- package/dist/server/server/speech/providers/local/worker-client.js +611 -0
- package/dist/server/server/speech/providers/local/worker-process.d.ts +2 -0
- package/dist/server/server/speech/providers/local/worker-process.js +270 -0
- package/dist/server/server/speech/providers/local/worker-protocol.d.ts +95 -0
- package/dist/server/server/speech/providers/local/worker-protocol.js +2 -0
- package/dist/server/server/speech/providers/openai/config.d.ts +19 -0
- package/dist/server/server/speech/providers/openai/config.js +148 -0
- package/dist/server/server/speech/providers/openai/runtime.d.ts +29 -0
- package/dist/server/server/speech/providers/openai/runtime.js +102 -0
- package/dist/server/server/speech/providers/openai/stt.d.ts +23 -0
- package/dist/server/server/speech/providers/openai/stt.js +209 -0
- package/dist/server/server/speech/providers/openai/tts.d.ts +19 -0
- package/dist/server/server/speech/providers/openai/tts.js +48 -0
- package/dist/server/server/speech/speech-config-resolver.d.ts +11 -0
- package/dist/server/server/speech/speech-config-resolver.js +132 -0
- package/dist/server/server/speech/speech-provider.d.ts +59 -0
- package/dist/server/server/speech/speech-provider.js +2 -0
- package/dist/server/server/speech/speech-runtime.d.ts +45 -0
- package/dist/server/server/speech/speech-runtime.js +562 -0
- package/dist/server/server/speech/speech-types.d.ts +22 -0
- package/dist/server/server/speech/speech-types.js +8 -0
- package/dist/server/server/speech/turn-detection-provider.d.ts +23 -0
- package/dist/server/server/speech/turn-detection-provider.js +2 -0
- package/dist/server/server/tenant-token-verifier.d.ts +43 -0
- package/dist/server/server/tenant-token-verifier.js +79 -0
- package/dist/server/server/update/installer.d.ts +70 -0
- package/dist/server/server/update/installer.js +181 -0
- package/dist/server/server/update/registry.d.ts +47 -0
- package/dist/server/server/update/registry.js +95 -0
- package/dist/server/server/update/slots.d.ts +45 -0
- package/dist/server/server/update/slots.js +97 -0
- package/dist/server/server/update/state.d.ts +41 -0
- package/dist/server/server/update/state.js +65 -0
- package/dist/server/server/uploads/file-attachment-validation.d.ts +61 -0
- package/dist/server/server/uploads/file-attachment-validation.js +56 -0
- package/dist/server/server/uploads/staging-service.d.ts +91 -0
- package/dist/server/server/uploads/staging-service.js +144 -0
- package/dist/server/server/utils/diff-highlighter.d.ts +57 -0
- package/dist/server/server/utils/diff-highlighter.js +279 -0
- package/dist/server/server/voice/voice-turn-controller.d.ts +38 -0
- package/dist/server/server/voice/voice-turn-controller.js +393 -0
- package/dist/server/server/voice-config.d.ts +15 -0
- package/dist/server/server/voice-config.js +54 -0
- package/dist/server/server/voice-permission-policy.d.ts +4 -0
- package/dist/server/server/voice-permission-policy.js +13 -0
- package/dist/server/server/voice-types.d.ts +12 -0
- package/dist/server/server/voice-types.js +2 -0
- package/dist/server/server/watch/composer-dictate.d.ts +42 -0
- package/dist/server/server/watch/composer-dictate.js +37 -0
- package/dist/server/server/watch/notification-action.d.ts +38 -0
- package/dist/server/server/watch/notification-action.js +54 -0
- package/dist/server/server/watch/notification-registry.d.ts +16 -0
- package/dist/server/server/watch/notification-registry.js +2 -0
- package/dist/server/server/web-ui.d.ts +10 -0
- package/dist/server/server/web-ui.js +247 -0
- package/dist/server/server/websocket/runtime-metrics.d.ts +94 -0
- package/dist/server/server/websocket/runtime-metrics.js +148 -0
- package/dist/server/server/websocket-server.d.ts +231 -0
- package/dist/server/server/websocket-server.js +1853 -0
- package/dist/server/server/whatsapp-bridge.d.ts +74 -0
- package/dist/server/server/whatsapp-bridge.js +142 -0
- package/dist/server/server/workflow/workflow-agent-resolution.d.ts +82 -0
- package/dist/server/server/workflow/workflow-agent-resolution.js +105 -0
- package/dist/server/server/workflow/workflow-feature.d.ts +2 -0
- package/dist/server/server/workflow/workflow-feature.js +8 -0
- package/dist/server/server/workflow/workflow-http-routes.d.ts +27 -0
- package/dist/server/server/workflow/workflow-http-routes.js +97 -0
- package/dist/server/server/workflow/workflow-manager.d.ts +363 -0
- package/dist/server/server/workflow/workflow-manager.js +852 -0
- package/dist/server/server/workflow/workflow-progress.d.ts +148 -0
- package/dist/server/server/workflow/workflow-progress.js +274 -0
- package/dist/server/server/workflow/workflow-storage.d.ts +36 -0
- package/dist/server/server/workflow/workflow-storage.js +143 -0
- package/dist/server/server/workspace/all-sessions-route.d.ts +32 -0
- package/dist/server/server/workspace/all-sessions-route.js +218 -0
- package/dist/server/server/workspace/recall-search-feature.d.ts +2 -0
- package/dist/server/server/workspace/recall-search-feature.js +31 -0
- package/dist/server/server/workspace/session-openable.d.ts +16 -0
- package/dist/server/server/workspace/session-openable.js +48 -0
- package/dist/server/server/workspace/sessions-route.d.ts +15 -0
- package/dist/server/server/workspace/sessions-route.js +108 -0
- package/dist/server/server/workspace/sessions-search-route.d.ts +40 -0
- package/dist/server/server/workspace/sessions-search-route.js +74 -0
- package/dist/server/server/workspace-archive-service.d.ts +65 -0
- package/dist/server/server/workspace-archive-service.js +229 -0
- package/dist/server/server/workspace-auto-name.d.ts +55 -0
- package/dist/server/server/workspace-auto-name.js +128 -0
- package/dist/server/server/workspace-bootstrap-dedupe.d.ts +34 -0
- package/dist/server/server/workspace-bootstrap-dedupe.js +23 -0
- package/dist/server/server/workspace-directory.d.ts +93 -0
- package/dist/server/server/workspace-directory.js +440 -0
- package/dist/server/server/workspace-git-metadata.d.ts +24 -0
- package/dist/server/server/workspace-git-metadata.js +55 -0
- package/dist/server/server/workspace-git-service.d.ts +257 -0
- package/dist/server/server/workspace-git-service.js +1386 -0
- package/dist/server/server/workspace-reconciliation-service.d.ts +57 -0
- package/dist/server/server/workspace-reconciliation-service.js +278 -0
- package/dist/server/server/workspace-registry-bootstrap.d.ts +13 -0
- package/dist/server/server/workspace-registry-bootstrap.js +121 -0
- package/dist/server/server/workspace-registry-model.d.ts +55 -0
- package/dist/server/server/workspace-registry-model.js +190 -0
- package/dist/server/server/workspace-registry.d.ts +117 -0
- package/dist/server/server/workspace-registry.js +194 -0
- package/dist/server/server/workspace-script-runtime-store.d.ts +28 -0
- package/dist/server/server/workspace-script-runtime-store.js +78 -0
- package/dist/server/server/workspace-service-env.d.ts +18 -0
- package/dist/server/server/workspace-service-env.js +85 -0
- package/dist/server/server/workspace-service-port-registry.d.ts +19 -0
- package/dist/server/server/workspace-service-port-registry.js +59 -0
- package/dist/server/server/worktree/commands.d.ts +55 -0
- package/dist/server/server/worktree/commands.js +107 -0
- package/dist/server/server/worktree-bootstrap.d.ts +76 -0
- package/dist/server/server/worktree-bootstrap.js +720 -0
- package/dist/server/server/worktree-branch-name-generator.d.ts +35 -0
- package/dist/server/server/worktree-branch-name-generator.js +91 -0
- package/dist/server/server/worktree-core.d.ts +31 -0
- package/dist/server/server/worktree-core.js +105 -0
- package/dist/server/server/worktree-errors.d.ts +12 -0
- package/dist/server/server/worktree-errors.js +28 -0
- package/dist/server/server/worktree-session.d.ts +152 -0
- package/dist/server/server/worktree-session.js +466 -0
- package/dist/server/services/github-service.d.ts +337 -0
- package/dist/server/services/github-service.js +2101 -0
- package/dist/server/services/quota-fetcher/manifest.d.ts +4 -0
- package/dist/server/services/quota-fetcher/manifest.js +52 -0
- package/dist/server/services/quota-fetcher/provider.d.ts +17 -0
- package/dist/server/services/quota-fetcher/provider.js +2 -0
- package/dist/server/services/quota-fetcher/providers/claude.d.ts +26 -0
- package/dist/server/services/quota-fetcher/providers/claude.js +217 -0
- package/dist/server/services/quota-fetcher/providers/codex.d.ts +23 -0
- package/dist/server/services/quota-fetcher/providers/codex.js +211 -0
- package/dist/server/services/quota-fetcher/providers/copilot.d.ts +17 -0
- package/dist/server/services/quota-fetcher/providers/copilot.js +75 -0
- package/dist/server/services/quota-fetcher/providers/cursor.d.ts +17 -0
- package/dist/server/services/quota-fetcher/providers/cursor.js +123 -0
- package/dist/server/services/quota-fetcher/providers/grok.d.ts +18 -0
- package/dist/server/services/quota-fetcher/providers/grok.js +89 -0
- package/dist/server/services/quota-fetcher/providers/kimi.d.ts +20 -0
- package/dist/server/services/quota-fetcher/providers/kimi.js +89 -0
- package/dist/server/services/quota-fetcher/providers/minimax.d.ts +29 -0
- package/dist/server/services/quota-fetcher/providers/minimax.js +227 -0
- package/dist/server/services/quota-fetcher/providers/zai.d.ts +17 -0
- package/dist/server/services/quota-fetcher/providers/zai.js +58 -0
- package/dist/server/services/quota-fetcher/service.d.ts +28 -0
- package/dist/server/services/quota-fetcher/service.js +58 -0
- package/dist/server/services/quota-fetcher/usage.d.ts +22 -0
- package/dist/server/services/quota-fetcher/usage.js +49 -0
- package/dist/server/terminal/activity/terminal-activity-tracker.d.ts +20 -0
- package/dist/server/terminal/activity/terminal-activity-tracker.js +59 -0
- package/dist/server/terminal/agent-hooks/agent-hook-installer.d.ts +62 -0
- package/dist/server/terminal/agent-hooks/agent-hook-installer.js +117 -0
- package/dist/server/terminal/agent-hooks/claude/claude-settings.d.ts +7 -0
- package/dist/server/terminal/agent-hooks/claude/claude-settings.js +88 -0
- package/dist/server/terminal/agent-hooks/claude/claude.d.ts +4 -0
- package/dist/server/terminal/agent-hooks/claude/claude.js +47 -0
- package/dist/server/terminal/agent-hooks/codex/codex-settings.d.ts +7 -0
- package/dist/server/terminal/agent-hooks/codex/codex-settings.js +99 -0
- package/dist/server/terminal/agent-hooks/codex/codex.d.ts +4 -0
- package/dist/server/terminal/agent-hooks/codex/codex.js +30 -0
- package/dist/server/terminal/agent-hooks/opencode/opencode-plugin.d.ts +4 -0
- package/dist/server/terminal/agent-hooks/opencode/opencode-plugin.js +46 -0
- package/dist/server/terminal/agent-hooks/opencode/opencode.d.ts +3 -0
- package/dist/server/terminal/agent-hooks/opencode/opencode.js +23 -0
- package/dist/server/terminal/agent-hooks/provider-registry.d.ts +24 -0
- package/dist/server/terminal/agent-hooks/provider-registry.js +36 -0
- package/dist/server/terminal/agent-hooks/terminal-agent-hook-setting.d.ts +10 -0
- package/dist/server/terminal/agent-hooks/terminal-agent-hook-setting.js +26 -0
- package/dist/server/terminal/shell-integration/zsh/.zshenv +17 -0
- package/dist/server/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
- package/dist/server/terminal/terminal-capture.d.ts +12 -0
- package/dist/server/terminal/terminal-capture.js +43 -0
- package/dist/server/terminal/terminal-manager-factory.d.ts +6 -0
- package/dist/server/terminal/terminal-manager-factory.js +5 -0
- package/dist/server/terminal/terminal-manager.d.ts +78 -0
- package/dist/server/terminal/terminal-manager.js +319 -0
- package/dist/server/terminal/terminal-output-coalescer.d.ts +34 -0
- package/dist/server/terminal/terminal-output-coalescer.js +73 -0
- package/dist/server/terminal/terminal-restore.d.ts +18 -0
- package/dist/server/terminal/terminal-restore.js +52 -0
- package/dist/server/terminal/terminal-session-controller.d.ts +85 -0
- package/dist/server/terminal/terminal-session-controller.js +819 -0
- package/dist/server/terminal/terminal-ts-loader.mjs +20 -0
- package/dist/server/terminal/terminal-worker-process.d.ts +2 -0
- package/dist/server/terminal/terminal-worker-process.js +304 -0
- package/dist/server/terminal/terminal-worker-protocol.d.ts +119 -0
- package/dist/server/terminal/terminal-worker-protocol.js +2 -0
- package/dist/server/terminal/terminal.d.ts +151 -0
- package/dist/server/terminal/terminal.js +1161 -0
- package/dist/server/terminal/worker-terminal-manager.d.ts +20 -0
- package/dist/server/terminal/worker-terminal-manager.js +688 -0
- package/dist/server/utils/build-metadata-prompt.d.ts +19 -0
- package/dist/server/utils/build-metadata-prompt.js +29 -0
- package/dist/server/utils/checkout-git.d.ts +253 -0
- package/dist/server/utils/checkout-git.js +2238 -0
- package/dist/server/utils/directory-suggestions.d.ts +26 -0
- package/dist/server/utils/directory-suggestions.js +860 -0
- package/dist/server/utils/git-rev-parse-path.d.ts +3 -0
- package/dist/server/utils/git-rev-parse-path.js +21 -0
- package/dist/server/utils/github-remote.d.ts +9 -0
- package/dist/server/utils/github-remote.js +62 -0
- package/dist/server/utils/paseo-config-file.d.ts +30 -0
- package/dist/server/utils/paseo-config-file.js +90 -0
- package/dist/server/utils/path.d.ts +18 -0
- package/dist/server/utils/path.js +123 -0
- package/dist/server/utils/project-icon.d.ts +39 -0
- package/dist/server/utils/project-icon.js +364 -0
- package/dist/server/utils/promise-timeout.d.ts +9 -0
- package/dist/server/utils/promise-timeout.js +25 -0
- package/dist/server/utils/run-git-command.d.ts +37 -0
- package/dist/server/utils/run-git-command.js +232 -0
- package/dist/server/utils/spawn.d.ts +33 -0
- package/dist/server/utils/spawn.js +71 -0
- package/dist/server/utils/string-command-shell.d.ts +10 -0
- package/dist/server/utils/string-command-shell.js +21 -0
- package/dist/server/utils/tree-kill.d.ts +18 -0
- package/dist/server/utils/tree-kill.js +77 -0
- package/dist/server/utils/windows-command.d.ts +15 -0
- package/dist/server/utils/windows-command.js +41 -0
- package/dist/server/utils/worktree-metadata.d.ts +39 -0
- package/dist/server/utils/worktree-metadata.js +174 -0
- package/dist/server/utils/worktree.d.ts +205 -0
- package/dist/server/utils/worktree.js +1119 -0
- package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css +1 -0
- package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css.br +0 -0
- package/dist/server/web-ui/_expo/static/css/xterm-3bb1704bf6cb0876640973dc0244b4cb.css.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js +5 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-67f19cbfce758da6aa23c38c2dbd6a33.js.map.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js +3 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-6888615a6b700f975c1f78501ad8577c.js.map.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js +16683 -0
- package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-dc1e81e7cbad84d30a01c48dcc9a5a3e.js.map.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js +3 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-991ae7fd00f9fed45084fbb39160e8b8.js.map.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js +5 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-fdb4d787a259ce350f76280ca0e2bfa2.js.map.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js +11 -0
- package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/profiler-9502a8e721925a6353ec45f7613f537e.js.map.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js +60 -0
- package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.map.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/startRecording-4ed5094aa059a0fc724f5ae70dd2f693.js.map.gz +0 -0
- package/dist/server/web-ui/apple-touch-icon.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/back-icon-mask.0a328cd9c1afd0afe8e3b1ec5165b1b4.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/back-icon.35ba0eaec5a4f5ed12ca16fabeae451d.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@2x.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@3x.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@4x.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@2x.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@3x.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@4x.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/@react-navigation/elements/lib/module/assets/search-icon.286d67d3f74808a60a78d3ebf1a5fb57.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/arrow_down.017bc6ba3fc25503e5eb5e53826d48a8.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/error.d1ea1496f9057eb392d5bbf3732a61b7.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/file.19eeb73b9593a38f8e9f418337fc7d10.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/forward.d8b800c443b8972542883e0b9de2bdc6.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/pkg.ab19f4cbc543357183a20571f68380a3.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/sitemap.412dd9275b6b48ad28f5e3d81bb1f626.png +0 -0
- package/dist/server/web-ui/assets/__node_modules/expo-router/assets/unmatched.20e71bdf79e3a97bf55fd9e164041578.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/antigravity.6e91a685c33435e0b466a56db86cf141.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/cursor.c31d6bce4fe9aadc3fe59962f4c4fcf3.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/file-explorer.3e15e8f72c825c85ce336bcb0cdef776.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/finder.7f68fc2c475621a672e1be09309d5567.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/vscode.832bdb4c685d930f1c864c793703600b.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/webstorm.aa5dc2cd8c20cc0a155c4c5c5ab3c5f5.png +0 -0
- package/dist/server/web-ui/assets/assets/images/editor-apps/zed.f3a670b7f9aa226da4fe53fb86f1abbd.png +0 -0
- package/dist/server/web-ui/assets/assets/images/favicon-dark-attention.882b3a27dcb2073e9e31b334f9ed9728.png +0 -0
- package/dist/server/web-ui/assets/assets/images/favicon-dark-running.8112342ff0d39e047a7f8d4fad9402f3.png +0 -0
- package/dist/server/web-ui/assets/assets/images/favicon-dark.8005ed36ac07a5a7c60de25780897bd4.png +0 -0
- package/dist/server/web-ui/assets/assets/images/favicon-light-attention.882b3a27dcb2073e9e31b334f9ed9728.png +0 -0
- package/dist/server/web-ui/assets/assets/images/favicon-light-running.8112342ff0d39e047a7f8d4fad9402f3.png +0 -0
- package/dist/server/web-ui/assets/assets/images/favicon-light.8005ed36ac07a5a7c60de25780897bd4.png +0 -0
- package/dist/server/web-ui/assets/assets/images/notification-icon.3bf81d33ddbf380606bdd248ba83e158.png +0 -0
- package/dist/server/web-ui/favicon.ico +0 -0
- package/dist/server/web-ui/index.html +196 -0
- package/dist/server/web-ui/index.html.br +0 -0
- package/dist/server/web-ui/index.html.gz +0 -0
- package/dist/server/web-ui/manifest.json +27 -0
- package/dist/server/web-ui/manifest.json.br +0 -0
- package/dist/server/web-ui/manifest.json.gz +0 -0
- package/dist/server/web-ui/metadata.json +1 -0
- package/dist/server/web-ui/metadata.json.br +1 -0
- package/dist/server/web-ui/metadata.json.gz +0 -0
- package/dist/server/web-ui/pwa-icon-192.png +0 -0
- package/dist/server/web-ui/pwa-icon-512.png +0 -0
- package/dist/server/web-ui/robots.txt +2 -0
- package/dist/server/web-ui/service-worker.js +87 -0
- package/dist/server/web-ui/service-worker.js.br +0 -0
- package/dist/server/web-ui/service-worker.js.gz +0 -0
- package/dist/src/executable-resolution/executable-resolution.js +118 -0
- package/dist/src/executable-resolution/windows.js +65 -0
- package/dist/src/server/agent/provider-launch-config.js +183 -0
- package/dist/src/server/paseo-env.js +53 -0
- package/dist/src/server/paseo-home.js +19 -0
- package/dist/src/server/persisted-config.js +424 -0
- package/dist/src/server/pid-lock.js +170 -0
- package/dist/src/server/private-files.js +37 -0
- package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js +84 -0
- package/dist/src/server/update/slots.js +97 -0
- package/dist/src/terminal/shell-integration/zsh/.zshenv +17 -0
- package/dist/src/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
- package/dist/src/utils/spawn.js +71 -0
- package/dist/src/utils/windows-command.js +41 -0
- package/package.json +146 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
import { IngestionError } from "../errors.js";
|
|
2
|
+
import { fingerprint } from "../fingerprint.js";
|
|
3
|
+
/**
|
|
4
|
+
* Gateway for Composio, the second aggregator.
|
|
5
|
+
*
|
|
6
|
+
* It speaks Composio's REST v3.1 through plain `fetch`. Authorization is a
|
|
7
|
+
* single `x-api-key` header on every request, with no OAuth dance, which is
|
|
8
|
+
* why this adapter carries no SDK and adds no npm dependency.
|
|
9
|
+
*
|
|
10
|
+
* Three properties this module holds on purpose:
|
|
11
|
+
*
|
|
12
|
+
* - The platform key is SERVER SIDE ONLY. It is read from the environment,
|
|
13
|
+
* never returned to a client, never logged, and only ever placed in an
|
|
14
|
+
* outbound header (and in the per-turn MCP header set).
|
|
15
|
+
* - NOTHING here writes to disk. There is no `node:fs` import anywhere under
|
|
16
|
+
* `ingestion/composio/`, and `no-persistence.test.ts` fails the build if one
|
|
17
|
+
* appears. The ids below are PLATFORM state, shared by every user of this
|
|
18
|
+
* daemon; a persisted copy would rot the moment someone deletes the resource
|
|
19
|
+
* in the Composio dashboard, which is exactly why the caches are in-memory
|
|
20
|
+
* and list-first: after a restart the first call rediscovers by name.
|
|
21
|
+
* - `mcpTarget` results are per turn. The returned object carries a live
|
|
22
|
+
* credential, so it is never assigned to a stored object and never crosses
|
|
23
|
+
* back to a client.
|
|
24
|
+
*
|
|
25
|
+
* The lifecycle this adapter hides from the rest of the daemon:
|
|
26
|
+
*
|
|
27
|
+
* - one AUTH CONFIG per toolkit (Composio-managed OAuth), created lazily on
|
|
28
|
+
* the first connect and reused by every user;
|
|
29
|
+
* - one MCP SERVER per toolkit, named deterministically `paseo-<slug>`, also
|
|
30
|
+
* shared. Isolation between users comes from the `user_id` baked into the
|
|
31
|
+
* generated per-user MCP URL, not from a per-user server.
|
|
32
|
+
*/
|
|
33
|
+
const API_BASE = "https://backend.composio.dev/api/v3.1";
|
|
34
|
+
/** One catalogue page: the infinite scroll in the client loads 20 at a time. */
|
|
35
|
+
const TOOLKITS_LIMIT = 20;
|
|
36
|
+
/**
|
|
37
|
+
* The event body, parsed out of the JSON string Composio wraps it in.
|
|
38
|
+
*
|
|
39
|
+
* A body that is absent, unparseable or not an object becomes `{}` rather than
|
|
40
|
+
* an exception: a filter clause resolving against `{}` simply does not match,
|
|
41
|
+
* which is the honest outcome for an item whose content we could not read.
|
|
42
|
+
*/
|
|
43
|
+
function parseTriggerPayload(raw) {
|
|
44
|
+
if (!raw) {
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
47
|
+
try {
|
|
48
|
+
const parsed = JSON.parse(raw);
|
|
49
|
+
return parsed && typeof parsed === "object" && !Array.isArray(parsed)
|
|
50
|
+
? parsed
|
|
51
|
+
: {};
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function notConfigured() {
|
|
58
|
+
throw new IngestionError("COMPOSIO_OFF", "Composio sources are not configured on this daemon.", 422);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The internal 404 sentinel: an id we cached no longer exists upstream.
|
|
62
|
+
*
|
|
63
|
+
* Module-private on purpose. It is never exported and is never allowed to
|
|
64
|
+
* escape a public method: every path either converts it (COMPOSIO_NEEDS_SETUP
|
|
65
|
+
* at the create site, SOURCE_GONE after the single retry) or recovers from it.
|
|
66
|
+
*/
|
|
67
|
+
class GoneError extends Error {
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Not defensive padding: the id genuinely arrives under a different key on the
|
|
71
|
+
* list endpoint than on the create endpoint.
|
|
72
|
+
*/
|
|
73
|
+
function readAuthConfigId(raw) {
|
|
74
|
+
return raw?.auth_config?.id ?? raw?.id ?? raw?.nanoid ?? null;
|
|
75
|
+
}
|
|
76
|
+
/** Composio has more account states than the flow needs; reduce to the contract's three. */
|
|
77
|
+
function normalizeStatus(raw) {
|
|
78
|
+
const status = (raw ?? "").toUpperCase();
|
|
79
|
+
if (status === "ACTIVE") {
|
|
80
|
+
return "active";
|
|
81
|
+
}
|
|
82
|
+
// Both spellings mean the same thing: the user is still inside the popup.
|
|
83
|
+
if (status === "INITIALIZING" || status === "INITIATED") {
|
|
84
|
+
return "pending";
|
|
85
|
+
}
|
|
86
|
+
return "inactive";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Deterministic MCP server name (Composio accepts 4-30 alphanumeric-or-hyphen
|
|
90
|
+
* characters). Deterministic so a daemon restart rediscovers the server by name
|
|
91
|
+
* instead of creating a duplicate on every boot.
|
|
92
|
+
*/
|
|
93
|
+
function serverNameFor(slug) {
|
|
94
|
+
const cleaned = slug.toLowerCase().replace(/[^a-z0-9-]+/g, "-");
|
|
95
|
+
return `paseo-${cleaned}`.slice(0, 30);
|
|
96
|
+
}
|
|
97
|
+
export function createComposioGateway(config) {
|
|
98
|
+
const apiKey = config.apiKey;
|
|
99
|
+
const configured = Boolean(apiKey);
|
|
100
|
+
/** The platform key, narrowed. Nothing reaches the network without it. */
|
|
101
|
+
function platformKey() {
|
|
102
|
+
if (!apiKey) {
|
|
103
|
+
notConfigured();
|
|
104
|
+
}
|
|
105
|
+
return apiKey;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The single outbound seam. Every request in this file goes through it, so
|
|
109
|
+
* the status mapping below is exhaustive by construction:
|
|
110
|
+
*
|
|
111
|
+
* fetch throws -> COMPOSIO_OFFLINE (the host is unreachable)
|
|
112
|
+
* 401 / 403 -> COMPOSIO_AUTH (Composio rejected OUR platform key)
|
|
113
|
+
* 404 -> GoneError (internal; the caller decides meaning)
|
|
114
|
+
* other non-ok -> COMPOSIO_ERROR (a 500 is Composio failing, not "offline")
|
|
115
|
+
*/
|
|
116
|
+
async function call(method, path, body) {
|
|
117
|
+
const key = platformKey();
|
|
118
|
+
let response;
|
|
119
|
+
try {
|
|
120
|
+
response = await fetch(`${API_BASE}${path}`, {
|
|
121
|
+
method,
|
|
122
|
+
headers: {
|
|
123
|
+
"x-api-key": key,
|
|
124
|
+
...(body !== undefined ? { "content-type": "application/json" } : {}),
|
|
125
|
+
},
|
|
126
|
+
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
throw new IngestionError("COMPOSIO_OFFLINE", "Could not reach Composio. Check this machine's network connection.", 502);
|
|
131
|
+
}
|
|
132
|
+
if (response.status === 401 || response.status === 403) {
|
|
133
|
+
throw new IngestionError("COMPOSIO_AUTH", "Composio rejected this daemon's API key (PASEO_COMPOSIO_API_KEY).", 502);
|
|
134
|
+
}
|
|
135
|
+
if (response.status === 404) {
|
|
136
|
+
throw new GoneError(path);
|
|
137
|
+
}
|
|
138
|
+
if (!response.ok) {
|
|
139
|
+
throw new IngestionError("COMPOSIO_ERROR", `Composio responded with an error (${response.status}). Try again.`, 502);
|
|
140
|
+
}
|
|
141
|
+
return (await response.json());
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Memoizes the PROMISE, not the value: two concurrent turns asking for the
|
|
145
|
+
* same toolkit perform ONE creation. A rejected promise is evicted, so a
|
|
146
|
+
* network blip cannot poison the slug for the life of the process.
|
|
147
|
+
*/
|
|
148
|
+
function memo(cache, key, produce) {
|
|
149
|
+
const hit = cache.get(key);
|
|
150
|
+
if (hit) {
|
|
151
|
+
return hit;
|
|
152
|
+
}
|
|
153
|
+
const promise = produce().catch((error) => {
|
|
154
|
+
cache.delete(key);
|
|
155
|
+
throw error;
|
|
156
|
+
});
|
|
157
|
+
cache.set(key, promise);
|
|
158
|
+
return promise;
|
|
159
|
+
}
|
|
160
|
+
// Instance-local, never module scope and never persisted: two gateways in one
|
|
161
|
+
// process must not share ids, and a stored id would rot silently.
|
|
162
|
+
const authConfigs = new Map();
|
|
163
|
+
const servers = new Map();
|
|
164
|
+
/** Generated per-user MCP URL, keyed `slug:externalUserId`. In memory only. */
|
|
165
|
+
const userUrls = new Map();
|
|
166
|
+
/**
|
|
167
|
+
* List-first: reuse whatever already exists, including an auth config created
|
|
168
|
+
* by hand in the dashboard and one created before the last restart. Only an
|
|
169
|
+
* empty list leads to a create.
|
|
170
|
+
*/
|
|
171
|
+
function ensureAuthConfig(slug) {
|
|
172
|
+
return memo(authConfigs, slug, async () => {
|
|
173
|
+
// Deliberately OUTSIDE the try/catch below: a 404 on the LIST is a rotted
|
|
174
|
+
// request, not a setup requirement, so it must stay a GoneError and reach
|
|
175
|
+
// the recovery wrapper.
|
|
176
|
+
const found = await call("GET", `/auth_configs?toolkit_slug=${encodeURIComponent(slug)}&limit=10`);
|
|
177
|
+
for (const item of found.items ?? []) {
|
|
178
|
+
const id = readAuthConfigId(item);
|
|
179
|
+
if (id) {
|
|
180
|
+
return id;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
let created;
|
|
184
|
+
try {
|
|
185
|
+
created = await call("POST", "/auth_configs", {
|
|
186
|
+
toolkit: { slug },
|
|
187
|
+
auth_config: { type: "use_composio_managed_auth" },
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
/*
|
|
192
|
+
* No self-service for this toolkit: Composio refuses to create the
|
|
193
|
+
* config. 404 (their code 306, "no managed credentials") for SAML apps
|
|
194
|
+
* like SAP SuccessFactors, 400 for own-OAuth apps like Workday.
|
|
195
|
+
*
|
|
196
|
+
* A 404 HERE is not a rotted id, because there is no id yet. Converting
|
|
197
|
+
* it inside this function is the mechanism that keeps it away from
|
|
198
|
+
* `withRecovery`: the GoneError simply never reaches the wrapper, so no
|
|
199
|
+
* retry can fire. Do not replace this with a flag threaded through the
|
|
200
|
+
* wrapper.
|
|
201
|
+
*/
|
|
202
|
+
if (error instanceof GoneError ||
|
|
203
|
+
(error instanceof IngestionError && error.code === "COMPOSIO_ERROR")) {
|
|
204
|
+
throw new IngestionError("COMPOSIO_NEEDS_SETUP", "This app needs its own OAuth or SAML setup. Create the auth config for it in the Composio dashboard, then try again.", 422);
|
|
205
|
+
}
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
208
|
+
const id = readAuthConfigId(created);
|
|
209
|
+
if (!id) {
|
|
210
|
+
throw new IngestionError("COMPOSIO_ERROR", "Composio returned no auth config id.", 502);
|
|
211
|
+
}
|
|
212
|
+
return id;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/** Create, or rediscover by deterministic name, the MCP server for a toolkit. */
|
|
216
|
+
function ensureMcpServer(slug) {
|
|
217
|
+
return memo(servers, slug, async () => {
|
|
218
|
+
const authConfigId = await ensureAuthConfig(slug);
|
|
219
|
+
const name = serverNameFor(slug);
|
|
220
|
+
const list = await call("GET", "/mcp/servers?limit=100");
|
|
221
|
+
const existing = (list.items ?? []).find((server) => server.name === name);
|
|
222
|
+
if (existing?.id) {
|
|
223
|
+
return existing.id;
|
|
224
|
+
}
|
|
225
|
+
const created = await call("POST", "/mcp/servers", {
|
|
226
|
+
name,
|
|
227
|
+
auth_config_ids: [authConfigId],
|
|
228
|
+
managed_auth_via_composio: true,
|
|
229
|
+
});
|
|
230
|
+
if (!created.id) {
|
|
231
|
+
throw new IngestionError("COMPOSIO_ERROR", "Composio returned no MCP server id.", 502);
|
|
232
|
+
}
|
|
233
|
+
return created.id;
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Recovery for the OTHER 404, the one that means an id we cached rotted.
|
|
238
|
+
*
|
|
239
|
+
* Composio answers 404 for two unrelated conditions and the right response to
|
|
240
|
+
* each is the opposite of the other:
|
|
241
|
+
*
|
|
242
|
+
* - "no Composio-managed credentials for this toolkit", raised by the CREATE
|
|
243
|
+
* call, means nobody has set the app up yet. Retrying it is pointless and
|
|
244
|
+
* the message must say "create the auth config in the dashboard". That
|
|
245
|
+
* case never arrives here: `ensureAuthConfig` converts it at the create
|
|
246
|
+
* site, before the GoneError can escape.
|
|
247
|
+
* - "the auth config or MCP server whose id we cached was deleted in the
|
|
248
|
+
* dashboard", raised mid-flow by a call carrying that id. That IS
|
|
249
|
+
* recoverable: drop the caches for the slug and run once more.
|
|
250
|
+
*
|
|
251
|
+
* Conflating them fails in both directions. In integrahr this exact
|
|
252
|
+
* conflation told SAP SuccessFactors "no longer exists... reconnect" when the
|
|
253
|
+
* truth was "nobody has created the auth config yet".
|
|
254
|
+
*
|
|
255
|
+
* The retry is bounded to one. A second GoneError is a permanently deleted
|
|
256
|
+
* resource, so it becomes SOURCE_GONE rather than another attempt.
|
|
257
|
+
*/
|
|
258
|
+
async function withRecovery(slug, externalUserId, run) {
|
|
259
|
+
try {
|
|
260
|
+
return await run();
|
|
261
|
+
}
|
|
262
|
+
catch (error) {
|
|
263
|
+
if (!(error instanceof GoneError)) {
|
|
264
|
+
throw error;
|
|
265
|
+
}
|
|
266
|
+
authConfigs.delete(slug);
|
|
267
|
+
servers.delete(slug);
|
|
268
|
+
userUrls.delete(`${slug}:${externalUserId}`);
|
|
269
|
+
try {
|
|
270
|
+
return await run();
|
|
271
|
+
}
|
|
272
|
+
catch (again) {
|
|
273
|
+
if (!(again instanceof GoneError)) {
|
|
274
|
+
throw again;
|
|
275
|
+
}
|
|
276
|
+
throw new IngestionError("SOURCE_GONE", "This app's setup no longer exists in Composio; reconnect this source.", 502);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* The boundary for the two methods that carry no cached id. A 404 from either
|
|
282
|
+
* is a real answer from Composio about a real resource, so it must surface
|
|
283
|
+
* rather than trigger the eviction-and-retry path. The GoneError sentinel is
|
|
284
|
+
* module-private though, so it is converted here rather than escaping: no
|
|
285
|
+
* caller of this gateway ever sees anything but an IngestionError.
|
|
286
|
+
*/
|
|
287
|
+
async function surfacing(run) {
|
|
288
|
+
try {
|
|
289
|
+
return await run();
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
if (error instanceof GoneError) {
|
|
293
|
+
throw new IngestionError("COMPOSIO_ERROR", "Composio responded with an error (404). Try again.", 502);
|
|
294
|
+
}
|
|
295
|
+
throw error;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
function mcpHeaders() {
|
|
299
|
+
return { "x-api-key": platformKey() };
|
|
300
|
+
}
|
|
301
|
+
return {
|
|
302
|
+
configured,
|
|
303
|
+
async listSources(query, cursor) {
|
|
304
|
+
if (!configured) {
|
|
305
|
+
notConfigured();
|
|
306
|
+
}
|
|
307
|
+
const params = new URLSearchParams({
|
|
308
|
+
limit: String(TOOLKITS_LIMIT),
|
|
309
|
+
// With no search term, popular first (Gmail, Slack...), not alphabetical.
|
|
310
|
+
sort_by: "usage",
|
|
311
|
+
});
|
|
312
|
+
const trimmed = query.trim();
|
|
313
|
+
if (trimmed) {
|
|
314
|
+
params.set("search", trimmed);
|
|
315
|
+
}
|
|
316
|
+
if (cursor) {
|
|
317
|
+
params.set("cursor", cursor);
|
|
318
|
+
}
|
|
319
|
+
// Not wrapped in withRecovery: the catalogue carries no cached id.
|
|
320
|
+
const body = await surfacing(() => call("GET", `/toolkits?${params.toString()}`));
|
|
321
|
+
const items = [];
|
|
322
|
+
for (const toolkit of body.items ?? []) {
|
|
323
|
+
if (!toolkit.slug) {
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
326
|
+
items.push({
|
|
327
|
+
slug: toolkit.slug,
|
|
328
|
+
name: toolkit.name ?? toolkit.slug,
|
|
329
|
+
imgSrc: toolkit.meta?.logo ?? "",
|
|
330
|
+
description: toolkit.meta?.description ?? "",
|
|
331
|
+
});
|
|
332
|
+
if (items.length >= TOOLKITS_LIMIT) {
|
|
333
|
+
break;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
return {
|
|
337
|
+
items,
|
|
338
|
+
// A next page is only offered when this one came back full. A cursor
|
|
339
|
+
// handed out from a partial page makes the UI request blank pages
|
|
340
|
+
// forever.
|
|
341
|
+
nextCursor: items.length === TOOLKITS_LIMIT ? (body.next_cursor ?? null) : null,
|
|
342
|
+
};
|
|
343
|
+
},
|
|
344
|
+
async connect(externalUserId, appSlug) {
|
|
345
|
+
if (!configured) {
|
|
346
|
+
notConfigured();
|
|
347
|
+
}
|
|
348
|
+
return withRecovery(appSlug, externalUserId, async () => {
|
|
349
|
+
const authConfigId = await ensureAuthConfig(appSlug);
|
|
350
|
+
const body = await call("POST", "/connected_accounts/link", {
|
|
351
|
+
auth_config_id: authConfigId,
|
|
352
|
+
user_id: externalUserId,
|
|
353
|
+
});
|
|
354
|
+
if (!body.redirect_url) {
|
|
355
|
+
throw new IngestionError("COMPOSIO_ERROR", "Composio returned no authorization URL.", 502);
|
|
356
|
+
}
|
|
357
|
+
// Composio's link response carries no expiry, and the contract says to
|
|
358
|
+
// report that as null rather than invent one.
|
|
359
|
+
return { redirectUrl: body.redirect_url, expiresAt: null };
|
|
360
|
+
});
|
|
361
|
+
},
|
|
362
|
+
async listAccounts(externalUserId, appSlug) {
|
|
363
|
+
if (!configured) {
|
|
364
|
+
notConfigured();
|
|
365
|
+
}
|
|
366
|
+
// Deliberately NOT wrapped in withRecovery: this call carries no cached
|
|
367
|
+
// id, so a 404 here is a real answer from Composio and must surface.
|
|
368
|
+
const params = new URLSearchParams({
|
|
369
|
+
user_ids: externalUserId,
|
|
370
|
+
toolkit_slugs: appSlug,
|
|
371
|
+
});
|
|
372
|
+
const body = await surfacing(() => call("GET", `/connected_accounts?${params.toString()}`));
|
|
373
|
+
const accounts = [];
|
|
374
|
+
for (const item of body.items ?? []) {
|
|
375
|
+
if (!item.id) {
|
|
376
|
+
continue;
|
|
377
|
+
}
|
|
378
|
+
accounts.push({ id: item.id, status: normalizeStatus(item.status) });
|
|
379
|
+
}
|
|
380
|
+
return accounts;
|
|
381
|
+
},
|
|
382
|
+
/**
|
|
383
|
+
* One page of history, read from Composio's trigger event log.
|
|
384
|
+
*
|
|
385
|
+
* `POST /internal/trigger/logs` is the only endpoint Composio exposes that
|
|
386
|
+
* returns what actually arrived on a connected account (verified against
|
|
387
|
+
* the live OpenAPI document at `backend.composio.dev/api/v3/openapi.json`
|
|
388
|
+
* on 2026-08-22). It is under `/internal/`, so `RawTriggerLog` treats every
|
|
389
|
+
* field as optional and an unreadable row is skipped rather than thrown.
|
|
390
|
+
*
|
|
391
|
+
* `accountId` narrows nothing here on purpose: the log is scoped by
|
|
392
|
+
* `userId`, and Composio's `connectionId` is the connected-account id only
|
|
393
|
+
* for accounts created through this daemon. Filtering on it would silently
|
|
394
|
+
* hide a user's own dashboard-created connection.
|
|
395
|
+
*
|
|
396
|
+
* A read, and only a read: no MCP server is ensured, no auth config is
|
|
397
|
+
* created, nothing is cached and nothing is written.
|
|
398
|
+
*/
|
|
399
|
+
async listItems(input) {
|
|
400
|
+
if (!configured) {
|
|
401
|
+
notConfigured();
|
|
402
|
+
}
|
|
403
|
+
// Not wrapped in withRecovery: this path carries no cached id, so a 404
|
|
404
|
+
// is a real answer about a real resource rather than a rotted reference.
|
|
405
|
+
const body = await surfacing(() => call("POST", "/internal/trigger/logs", {
|
|
406
|
+
userId: input.externalUserId,
|
|
407
|
+
from: input.sinceMs,
|
|
408
|
+
limit: input.limit,
|
|
409
|
+
include_payload: true,
|
|
410
|
+
...(input.cursor ? { cursor: input.cursor } : {}),
|
|
411
|
+
}));
|
|
412
|
+
const items = [];
|
|
413
|
+
for (const log of body.data ?? []) {
|
|
414
|
+
if (!log.id) {
|
|
415
|
+
continue;
|
|
416
|
+
}
|
|
417
|
+
// The log is not filterable by toolkit upstream, so the app match
|
|
418
|
+
// happens here. Case-insensitive: Composio writes `appName` in display
|
|
419
|
+
// casing ("Gmail") while a source stores the slug ("gmail").
|
|
420
|
+
if ((log.appName ?? "").toLowerCase() !== input.appSlug.toLowerCase()) {
|
|
421
|
+
continue;
|
|
422
|
+
}
|
|
423
|
+
// An item we cannot date cannot be placed in the window, and inventing
|
|
424
|
+
// a timestamp would silently move it into or out of one.
|
|
425
|
+
const timestampMs = Date.parse(log.createdAt ?? "");
|
|
426
|
+
if (!Number.isFinite(timestampMs)) {
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
429
|
+
const payload = parseTriggerPayload(log.meta?.triggerClientPayload);
|
|
430
|
+
const triggerName = log.meta?.triggerName ?? input.appSlug;
|
|
431
|
+
items.push({
|
|
432
|
+
key: fingerprint("composio", input.appSlug, log.id),
|
|
433
|
+
contentHash: fingerprint(JSON.stringify(payload)),
|
|
434
|
+
timestampMs,
|
|
435
|
+
title: triggerName,
|
|
436
|
+
subtitle: log.status ?? "",
|
|
437
|
+
payload,
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
return { items, cursor: body.nextCursor ?? null };
|
|
441
|
+
},
|
|
442
|
+
async mcpTarget(externalUserId, appSlug) {
|
|
443
|
+
if (!configured) {
|
|
444
|
+
notConfigured();
|
|
445
|
+
}
|
|
446
|
+
const key = `${appSlug}:${externalUserId}`;
|
|
447
|
+
const cached = userUrls.get(key);
|
|
448
|
+
if (cached) {
|
|
449
|
+
return { url: cached, headers: mcpHeaders() };
|
|
450
|
+
}
|
|
451
|
+
const url = await withRecovery(appSlug, externalUserId, async () => {
|
|
452
|
+
const serverId = await ensureMcpServer(appSlug);
|
|
453
|
+
const generated = await call("POST", "/mcp/servers/generate", { mcp_server_id: serverId, user_ids: [externalUserId] });
|
|
454
|
+
const perUser = generated.user_ids_url?.[0];
|
|
455
|
+
if (perUser) {
|
|
456
|
+
return perUser;
|
|
457
|
+
}
|
|
458
|
+
if (generated.mcp_url) {
|
|
459
|
+
const separator = generated.mcp_url.includes("?") ? "&" : "?";
|
|
460
|
+
return `${generated.mcp_url}${separator}user_id=${encodeURIComponent(externalUserId)}`;
|
|
461
|
+
}
|
|
462
|
+
throw new IngestionError("COMPOSIO_ERROR", "Composio returned no MCP server URL.", 502);
|
|
463
|
+
});
|
|
464
|
+
userUrls.set(key, url);
|
|
465
|
+
return { url, headers: mcpHeaders() };
|
|
466
|
+
},
|
|
467
|
+
};
|
|
468
|
+
}
|
|
469
|
+
//# sourceMappingURL=gateway.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { StoredFilter } from "@hyperdrive.bot/fleet-protocol/ingestion/filter-types";
|
|
2
|
+
import type { CapReport, DryRunResult } from "@hyperdrive.bot/fleet-protocol/ingestion/types";
|
|
3
|
+
import type { CapLimiter } from "./cap-limiter.js";
|
|
4
|
+
import type { MatchedItemGroup } from "./types.js";
|
|
5
|
+
/** Everything the dispatcher needs for one group, and nothing it does not. */
|
|
6
|
+
export interface DryRunPlan {
|
|
7
|
+
runId: string;
|
|
8
|
+
groupKey: string;
|
|
9
|
+
itemKeys: string[];
|
|
10
|
+
prompt: string;
|
|
11
|
+
labels: Record<string, string>;
|
|
12
|
+
/** Empty on purpose. Replaces filter.target.config.mcpServers verbatim. See D-5.2-B. */
|
|
13
|
+
mcpServers: Record<string, never>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The narrow view of `ScheduleService` this module dispatches through.
|
|
17
|
+
*
|
|
18
|
+
* Structural, with no adapter class: `ScheduleService` satisfies it directly, so
|
|
19
|
+
* the dry run mints its session through the SAME code path the overnight tick
|
|
20
|
+
* uses. A second minting path is how the two would drift on `unattended`, on
|
|
21
|
+
* archival, or on title derivation.
|
|
22
|
+
*/
|
|
23
|
+
export interface DryRunDispatcher {
|
|
24
|
+
runUnattendedSession(input: {
|
|
25
|
+
targetConfig: StoredFilter["target"]["config"];
|
|
26
|
+
prompt: string;
|
|
27
|
+
labels: Record<string, string>;
|
|
28
|
+
mcpServersOverride?: Record<string, unknown>;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
agentId: string;
|
|
31
|
+
output: string | null;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Everything one dry-run session needs, computed without touching anything.
|
|
36
|
+
*
|
|
37
|
+
* Pure and synchronous: no clock, no `randomUUID`, no I/O. The `runId` is a
|
|
38
|
+
* parameter precisely so this stays true - two calls with identical arguments
|
|
39
|
+
* return a deeply-equal object, which is what makes the prompt and the
|
|
40
|
+
* MCP-stripping assertable without an agent runtime.
|
|
41
|
+
*/
|
|
42
|
+
export declare function planDryRun(params: {
|
|
43
|
+
filter: StoredFilter;
|
|
44
|
+
group: MatchedItemGroup;
|
|
45
|
+
runId: string;
|
|
46
|
+
}): DryRunPlan;
|
|
47
|
+
/**
|
|
48
|
+
* The single admission point for the dry-run verb.
|
|
49
|
+
*
|
|
50
|
+
* Admission happens HERE, once, rather than in Story 5.3's `applySelection`,
|
|
51
|
+
* so the ceiling sits in the same module as the loop it bounds (D-5.2-C).
|
|
52
|
+
* `applySelection` delegates to this function for `mode: "dry-run"` and calls no
|
|
53
|
+
* admit method of its own.
|
|
54
|
+
*
|
|
55
|
+
* The limiter admits GROUPS, not items, because `cap.runsPerDay` counts sessions
|
|
56
|
+
* (D-5.2-E). Group first, admit second: admitting items and then grouping would
|
|
57
|
+
* let a filter capped at 10 dispatch 10 sessions covering far more than 10 items,
|
|
58
|
+
* and the number on the confirmation screen would stop meaning anything.
|
|
59
|
+
*/
|
|
60
|
+
export declare function runDryRun(params: {
|
|
61
|
+
filter: StoredFilter;
|
|
62
|
+
groups: MatchedItemGroup[];
|
|
63
|
+
limiter: Pick<CapLimiter, "admitDryRun">;
|
|
64
|
+
dispatcher: DryRunDispatcher;
|
|
65
|
+
runIdFactory?: () => string;
|
|
66
|
+
}): Promise<{
|
|
67
|
+
results: DryRunResult[];
|
|
68
|
+
report: CapReport;
|
|
69
|
+
}>;
|
|
70
|
+
//# sourceMappingURL=dry-run.d.ts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
// The dry-run verb: run a filter's brief over a selection and read back what each
|
|
2
|
+
// session WOULD read, produce and stop at, with nothing outward happening.
|
|
3
|
+
//
|
|
4
|
+
// Three guarantees, and each one is expressed as an ABSENT PARAMETER rather than
|
|
5
|
+
// as a rule somebody has to remember:
|
|
6
|
+
//
|
|
7
|
+
// 1. Nothing is written to `ingestion_items` or `ingestion_dispatch_budget`.
|
|
8
|
+
// Neither function here receives the on-disk item store, the budget store or
|
|
9
|
+
// a database handle, so there is no method on any object in scope that could
|
|
10
|
+
// write a row. Freshness is not consumed either: a dry run followed by an
|
|
11
|
+
// apply dispatches the full set.
|
|
12
|
+
// 2. No source reach. Neither function receives a `SourceGateway`, so the method
|
|
13
|
+
// that hands a session its source tools cannot be called from here, and the
|
|
14
|
+
// minted session's config carries zero MCP servers.
|
|
15
|
+
// 3. No schedule run. Nothing here touches `ScheduleStore` or the single-flight
|
|
16
|
+
// set, so a dry run leaves `runs`, `lastRunAt` and `nextRunAt` alone.
|
|
17
|
+
//
|
|
18
|
+
// WHAT `mcpServers: {}` DOES AND DOES NOT GUARANTEE. It is a guarantee about what
|
|
19
|
+
// PASEO contributes: the dry-run session receives zero MCP servers from us, and
|
|
20
|
+
// the module that builds it never holds a gateway to ask one for. It is NOT a
|
|
21
|
+
// guarantee about the provider CLI's own ambient MCP configuration on the opt-in
|
|
22
|
+
// PTY transport: `buildInteractiveFlags`
|
|
23
|
+
// (`agent/providers/claude/pty-session-launcher.ts:120`) only passes
|
|
24
|
+
// `--mcp-config` when the record is non-empty, so an empty record leaves the CLI
|
|
25
|
+
// free to load `~/.claude.json` and project `.mcp.json` servers. That is true of
|
|
26
|
+
// every paseo session including the overnight tick, it is not introduced here,
|
|
27
|
+
// and closing it means adding `--strict-mcp-config` to a pinned claude build.
|
|
28
|
+
// Tracked in `~/super-repo/docs/tech-debt.md`; deliberately not fixed in this
|
|
29
|
+
// story, because a flag the pinned build does not recognise aborts the spawn.
|
|
30
|
+
import { randomUUID } from "node:crypto";
|
|
31
|
+
import { FILTER_ID_LABEL, INGESTION_MODE_LABEL, ITEM_GROUP_LABEL, ITEM_KEYS_LABEL, } from "@hyperdrive.bot/fleet-protocol/agent-labels";
|
|
32
|
+
import { buildSourceRunPrompt } from "../schedule/source-prompt.js";
|
|
33
|
+
/**
|
|
34
|
+
* Everything one dry-run session needs, computed without touching anything.
|
|
35
|
+
*
|
|
36
|
+
* Pure and synchronous: no clock, no `randomUUID`, no I/O. The `runId` is a
|
|
37
|
+
* parameter precisely so this stays true - two calls with identical arguments
|
|
38
|
+
* return a deeply-equal object, which is what makes the prompt and the
|
|
39
|
+
* MCP-stripping assertable without an agent runtime.
|
|
40
|
+
*/
|
|
41
|
+
export function planDryRun(params) {
|
|
42
|
+
const { filter, group, runId } = params;
|
|
43
|
+
const itemKeys = group.items.map((item) => item.key);
|
|
44
|
+
return {
|
|
45
|
+
runId,
|
|
46
|
+
groupKey: group.key,
|
|
47
|
+
itemKeys,
|
|
48
|
+
prompt: buildSourceRunPrompt({
|
|
49
|
+
filter,
|
|
50
|
+
items: group.items,
|
|
51
|
+
runId,
|
|
52
|
+
mode: "dry-run",
|
|
53
|
+
}),
|
|
54
|
+
// Four labels, and no `paseo.schedule-id` / `paseo.schedule-run`: a dry run is
|
|
55
|
+
// not a schedule run, so labelling it as one would put a phantom row in every
|
|
56
|
+
// surface that walks schedule provenance.
|
|
57
|
+
labels: {
|
|
58
|
+
[FILTER_ID_LABEL]: filter.id,
|
|
59
|
+
[ITEM_GROUP_LABEL]: group.key,
|
|
60
|
+
[ITEM_KEYS_LABEL]: itemKeys.join(","),
|
|
61
|
+
[INGESTION_MODE_LABEL]: "dry-run",
|
|
62
|
+
},
|
|
63
|
+
// An empty RECORD, not an empty array: `ScheduleTargetSchema.config.mcpServers`
|
|
64
|
+
// is `z.record(...)` and `AgentSessionConfig.mcpServers` is
|
|
65
|
+
// `Record<string, McpServerConfig>`, so `[]` would not type-check against
|
|
66
|
+
// either. `{}` expresses the same decision in the type this codebase has, and
|
|
67
|
+
// it replaces the filter's stored record entirely rather than merging with it.
|
|
68
|
+
// See D-5.2-B.
|
|
69
|
+
mcpServers: {},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The single admission point for the dry-run verb.
|
|
74
|
+
*
|
|
75
|
+
* Admission happens HERE, once, rather than in Story 5.3's `applySelection`,
|
|
76
|
+
* so the ceiling sits in the same module as the loop it bounds (D-5.2-C).
|
|
77
|
+
* `applySelection` delegates to this function for `mode: "dry-run"` and calls no
|
|
78
|
+
* admit method of its own.
|
|
79
|
+
*
|
|
80
|
+
* The limiter admits GROUPS, not items, because `cap.runsPerDay` counts sessions
|
|
81
|
+
* (D-5.2-E). Group first, admit second: admitting items and then grouping would
|
|
82
|
+
* let a filter capped at 10 dispatch 10 sessions covering far more than 10 items,
|
|
83
|
+
* and the number on the confirmation screen would stop meaning anything.
|
|
84
|
+
*/
|
|
85
|
+
export async function runDryRun(params) {
|
|
86
|
+
const { filter, groups, limiter, dispatcher } = params;
|
|
87
|
+
// Matches `service.ts`'s run-id minting. A parameter so tests are deterministic;
|
|
88
|
+
// `planDryRun` itself stays free of `randomUUID` so it can stay pure.
|
|
89
|
+
const runIdFactory = params.runIdFactory ?? (() => randomUUID());
|
|
90
|
+
const admission = limiter.admitDryRun(filter.id, groups, filter.cap.runsPerDay);
|
|
91
|
+
const results = [];
|
|
92
|
+
// SEQUENTIAL, one session at a time, never a parallel fan-out: a selection of 40
|
|
93
|
+
// groups must not open 40 provider sessions in one working directory. Awaiting
|
|
94
|
+
// each dispatch is what bounds concurrency here, and it is also why no
|
|
95
|
+
// single-flight lock is taken - a dry run persists nothing and produces no
|
|
96
|
+
// outward artifact, so it cannot race the overnight tick's dedupe. Widening
|
|
97
|
+
// the schedule service's in-flight set to cover it would only make a rehearsal
|
|
98
|
+
// able to block a real run.
|
|
99
|
+
//
|
|
100
|
+
// A dispatch that rejects does NOT abort the rest: one bad group is one failed
|
|
101
|
+
// card, not a lost run over the other 39.
|
|
102
|
+
for (const group of admission.admitted) {
|
|
103
|
+
const plan = planDryRun({ filter, group, runId: runIdFactory() });
|
|
104
|
+
try {
|
|
105
|
+
const outcome = await dispatcher.runUnattendedSession({
|
|
106
|
+
targetConfig: filter.target.config,
|
|
107
|
+
prompt: plan.prompt,
|
|
108
|
+
labels: plan.labels,
|
|
109
|
+
mcpServersOverride: plan.mcpServers,
|
|
110
|
+
});
|
|
111
|
+
results.push({
|
|
112
|
+
groupKey: plan.groupKey,
|
|
113
|
+
itemKeys: plan.itemKeys,
|
|
114
|
+
runId: plan.runId,
|
|
115
|
+
agentId: outcome.agentId,
|
|
116
|
+
status: "succeeded",
|
|
117
|
+
// A session that ended with nothing to say is a succeeded run with an
|
|
118
|
+
// empty plan, surfaced as an empty state rather than as a blank card.
|
|
119
|
+
// It is NOT reported as a failure: empty output is not evidence of a
|
|
120
|
+
// crash any more than it is evidence of success.
|
|
121
|
+
plan: outcome.output ?? "",
|
|
122
|
+
error: null,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
results.push({
|
|
127
|
+
groupKey: plan.groupKey,
|
|
128
|
+
itemKeys: plan.itemKeys,
|
|
129
|
+
runId: plan.runId,
|
|
130
|
+
agentId: null,
|
|
131
|
+
status: "failed",
|
|
132
|
+
plan: "",
|
|
133
|
+
error: error instanceof Error ? error.message : String(error),
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// The report goes back verbatim, `truncated` included. A dry run that covered
|
|
138
|
+
// 10 of the 40 selected groups has to be able to say so; a cap nobody renders
|
|
139
|
+
// is a silent cap.
|
|
140
|
+
return { results, report: admission.report };
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=dry-run.js.map
|