@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,82 @@
|
|
|
1
|
+
// THE LAST LINE OF DEFENCE between a reconciler and a persisted column.
|
|
2
|
+
//
|
|
3
|
+
// A reconciler is the only code in this epic that ever holds `{ url, headers }`
|
|
4
|
+
// - an MCP endpoint and its bearer token. It is handed that target as an
|
|
5
|
+
// argument precisely so it has no store to write to and no config to mutate
|
|
6
|
+
// (see `types.ts`), but it CAN still return a string, and that string is
|
|
7
|
+
// written to `ingestion_items.verified_signature` where it survives restarts
|
|
8
|
+
// and is read back onto a screen.
|
|
9
|
+
//
|
|
10
|
+
// So the write boundary refuses, loudly, rather than trusting six files to be
|
|
11
|
+
// written carefully. That is what makes NFR1 ("no credential ever reaches a
|
|
12
|
+
// persisted column") hold by construction even if one reconciler is written
|
|
13
|
+
// carelessly later, in a story nobody has read yet.
|
|
14
|
+
//
|
|
15
|
+
// This throws rather than sanitizing. A truncated or redacted credential is
|
|
16
|
+
// still evidence a credential was on that code path, and silently storing a
|
|
17
|
+
// scrubbed version would hide the bug that produced it. The exception names
|
|
18
|
+
// the failure at the moment it is cheapest to fix.
|
|
19
|
+
/**
|
|
20
|
+
* Longest signature this column will accept.
|
|
21
|
+
*
|
|
22
|
+
* A signature is meant to be a short human-readable fact - `mr:merged:abc123def`,
|
|
23
|
+
* `pr:closed:42`. Nothing legitimate is 200 characters, and a long one is the
|
|
24
|
+
* shape of a pasted blob: a JWT, a response body, a header dump. The cap is a
|
|
25
|
+
* blast-radius limit AND a smell detector, and it fires before the pattern
|
|
26
|
+
* checks so an enormous input is rejected without regexing it.
|
|
27
|
+
*/
|
|
28
|
+
export const MAX_SIGNATURE_LEN = 200;
|
|
29
|
+
/**
|
|
30
|
+
* Shapes that must never be persisted, in one place.
|
|
31
|
+
*
|
|
32
|
+
* Read it as "what a credential looks like when it leaks", not "what a
|
|
33
|
+
* credential is": each branch is a real thing that ends up in a signature when
|
|
34
|
+
* somebody echoes a header, a query string or a raw token.
|
|
35
|
+
*
|
|
36
|
+
* `bearer\s` an `Authorization: Bearer ...` value, header name stripped
|
|
37
|
+
* `authorization` the header name itself, in any casing
|
|
38
|
+
* `x-api-key` the second header both aggregators send
|
|
39
|
+
* `x-pd-` Pipedream's own header family (`x-pd-environment`, ...)
|
|
40
|
+
* `_authToken` the npm/registry token key, and the shape of a config echo
|
|
41
|
+
* `token=` a token pasted into a query string
|
|
42
|
+
* `secret` the word, wherever it appears
|
|
43
|
+
* `^[\w-]{40,}$` an opaque high-entropy blob with no structure -
|
|
44
|
+
* the shape of a raw API key that carries none of the words
|
|
45
|
+
* above. Anchored, so a legitimate signature that merely
|
|
46
|
+
* CONTAINS a long sha (`mr:merged:<40-char-sha>`) still
|
|
47
|
+
* passes: the prefix and colons break the anchor.
|
|
48
|
+
*/
|
|
49
|
+
const UNSAFE_SIGNATURE_PATTERN = /bearer\s|authorization|x-api-key|x-pd-|_authToken|token=|secret|^[\w-]{40,}$/i;
|
|
50
|
+
/**
|
|
51
|
+
* A reconciler tried to persist something that looks like a credential.
|
|
52
|
+
*
|
|
53
|
+
* Deliberately carries NO copy of the offending value. Attaching it would move
|
|
54
|
+
* the leak from the database into the log file, which is the same leak with a
|
|
55
|
+
* different retention policy. The `reason` is a closed set this module wrote.
|
|
56
|
+
*/
|
|
57
|
+
export class UnsafeSignatureError extends Error {
|
|
58
|
+
constructor(reason) {
|
|
59
|
+
super(reason === "too-long"
|
|
60
|
+
? `Reconcile signature exceeds ${MAX_SIGNATURE_LEN} characters and was refused.`
|
|
61
|
+
: "Reconcile signature is credential-shaped and was refused.");
|
|
62
|
+
this.name = "UnsafeSignatureError";
|
|
63
|
+
this.reason = reason;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Throw unless `signature` is safe to write to a durable column.
|
|
68
|
+
*
|
|
69
|
+
* `null` is always safe and is the common case: every verdict except the two
|
|
70
|
+
* closing ones ships a null signature, and this story's stubs ship nothing else.
|
|
71
|
+
*/
|
|
72
|
+
export function assertSafeSignature(signature) {
|
|
73
|
+
if (signature === null)
|
|
74
|
+
return;
|
|
75
|
+
if (signature.length > MAX_SIGNATURE_LEN) {
|
|
76
|
+
throw new UnsafeSignatureError("too-long");
|
|
77
|
+
}
|
|
78
|
+
if (UNSAFE_SIGNATURE_PATTERN.test(signature)) {
|
|
79
|
+
throw new UnsafeSignatureError("credential-shaped");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=signature-guard.js.map
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** What a fake tool hands back. Exactly one of the three, never two. */
|
|
2
|
+
export interface FakeToolReply {
|
|
3
|
+
/** Serialized to a JSON text content block, the shape aggregator servers emit. */
|
|
4
|
+
payload?: unknown;
|
|
5
|
+
/** An in-band MCP tool failure: `isError: true` with no usable content. */
|
|
6
|
+
isError?: boolean;
|
|
7
|
+
/** A raw text block that is NOT JSON, for the malformed-body case. */
|
|
8
|
+
rawText?: string;
|
|
9
|
+
/** Content array left empty, for the "a read that told you nothing" case. */
|
|
10
|
+
emptyContent?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export type FakeTool = (args: Record<string, unknown>) => FakeToolReply;
|
|
13
|
+
export interface FakeMcpServerHandle {
|
|
14
|
+
url: string;
|
|
15
|
+
/** Every header set the endpoint actually received, in arrival order. */
|
|
16
|
+
receivedHeaders: Array<Record<string, string>>;
|
|
17
|
+
/** Every tool call the endpoint actually received, in arrival order. */
|
|
18
|
+
calls: Array<{
|
|
19
|
+
name: string;
|
|
20
|
+
args: Record<string, unknown>;
|
|
21
|
+
}>;
|
|
22
|
+
close(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Start an MCP endpoint that answers `tools/call` from a plain lookup table.
|
|
26
|
+
*
|
|
27
|
+
* STATELESS (`sessionIdGenerator: undefined`) and one transport per POST, so
|
|
28
|
+
* concurrent reads from the worker pool cannot interleave on one session. That
|
|
29
|
+
* is not test hygiene for its own sake: the service runs four reads at once by
|
|
30
|
+
* design, and a shared-session fake would serialise them and hide any
|
|
31
|
+
* concurrency bug this harness exists to expose.
|
|
32
|
+
*/
|
|
33
|
+
export declare function startFakeMcpServer(tools: Record<string, FakeTool>): Promise<FakeMcpServerHandle>;
|
|
34
|
+
/** Every way an HTTP endpoint can refuse to be an MCP server. */
|
|
35
|
+
export interface BrokenHttpOptions {
|
|
36
|
+
/** The status to answer with. Ignored when `destroySocket` is true. */
|
|
37
|
+
status?: number;
|
|
38
|
+
headers?: Record<string, string>;
|
|
39
|
+
body?: string;
|
|
40
|
+
/** Cut the connection without a response: a transport-level network error. */
|
|
41
|
+
destroySocket?: boolean;
|
|
42
|
+
/** Answer nothing at all, so the caller's timeout or abort is what ends it. */
|
|
43
|
+
hang?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface BrokenHttpHandle {
|
|
46
|
+
url: string;
|
|
47
|
+
/** How many requests actually arrived. Zero after a backoff gate is asserted. */
|
|
48
|
+
requestCount(): number;
|
|
49
|
+
close(): Promise<void>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* An HTTP endpoint that fails in exactly one named way.
|
|
53
|
+
*
|
|
54
|
+
* `hang` keeps the socket open and answers nothing, which is the only honest way
|
|
55
|
+
* to test the timeout: a fast 504 exercises the non-2xx path instead, and the
|
|
56
|
+
* two failures reach the reconciler through different code.
|
|
57
|
+
*/
|
|
58
|
+
export declare function startBrokenHttpServer(options: BrokenHttpOptions): Promise<BrokenHttpHandle>;
|
|
59
|
+
/**
|
|
60
|
+
* A URL nothing is listening on.
|
|
61
|
+
*
|
|
62
|
+
* Bind, read the port, close, hand back the dead address. Picking a number by
|
|
63
|
+
* hand would race whatever else on this machine happens to own it, and a test
|
|
64
|
+
* that fails because port 9999 was busy teaches the next reader to distrust the
|
|
65
|
+
* suite.
|
|
66
|
+
*/
|
|
67
|
+
export declare function unusedLocalUrl(): Promise<string>;
|
|
68
|
+
//# sourceMappingURL=fake-mcp-server.d.ts.map
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// A REAL local MCP endpoint, and a real broken one beside it.
|
|
2
|
+
//
|
|
3
|
+
// The reconciler tests could have mocked `callMcpTool` and asserted the verdict
|
|
4
|
+
// mapping in isolation. They deliberately do not, because three of the five ways
|
|
5
|
+
// this story can lose data live BELOW that mock:
|
|
6
|
+
//
|
|
7
|
+
// a non-2xx status only an HTTP server can produce one
|
|
8
|
+
// a malformed body only a real transport tries to parse it
|
|
9
|
+
// an aborted request only a real socket can be cut mid-flight
|
|
10
|
+
//
|
|
11
|
+
// A mocked transport asserts that the code we wrote does what we wrote. A real
|
|
12
|
+
// server on 127.0.0.1 asserts that a 429 from Composio does not close a row.
|
|
13
|
+
//
|
|
14
|
+
// Two servers, because they answer different questions:
|
|
15
|
+
// `startFakeMcpServer` speaks MCP correctly and returns the payload you gave it
|
|
16
|
+
// `startBrokenHttpServer` answers every request with the failure you asked for
|
|
17
|
+
//
|
|
18
|
+
// Both bind to 127.0.0.1 on an EPHEMERAL port. Nothing in this file can reach a
|
|
19
|
+
// real Gmail, GitLab, GitHub, Jira, Sentry or Calendar account.
|
|
20
|
+
import { createServer } from "node:http";
|
|
21
|
+
import { Server as McpServer } from "@modelcontextprotocol/sdk/server/index.js";
|
|
22
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
23
|
+
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
24
|
+
/**
|
|
25
|
+
* Start an MCP endpoint that answers `tools/call` from a plain lookup table.
|
|
26
|
+
*
|
|
27
|
+
* STATELESS (`sessionIdGenerator: undefined`) and one transport per POST, so
|
|
28
|
+
* concurrent reads from the worker pool cannot interleave on one session. That
|
|
29
|
+
* is not test hygiene for its own sake: the service runs four reads at once by
|
|
30
|
+
* design, and a shared-session fake would serialise them and hide any
|
|
31
|
+
* concurrency bug this harness exists to expose.
|
|
32
|
+
*/
|
|
33
|
+
export async function startFakeMcpServer(tools) {
|
|
34
|
+
const receivedHeaders = [];
|
|
35
|
+
const calls = [];
|
|
36
|
+
const http = createServer((req, res) => {
|
|
37
|
+
void handle(req, res).catch(() => {
|
|
38
|
+
if (!res.headersSent)
|
|
39
|
+
res.writeHead(500).end();
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
async function handle(req, res) {
|
|
43
|
+
const headers = {};
|
|
44
|
+
for (const [name, value] of Object.entries(req.headers)) {
|
|
45
|
+
if (typeof value === "string")
|
|
46
|
+
headers[name] = value;
|
|
47
|
+
}
|
|
48
|
+
receivedHeaders.push(headers);
|
|
49
|
+
const mcp = new McpServer({ name: "fake-source", version: "0.0.0" }, { capabilities: { tools: {} } });
|
|
50
|
+
mcp.setRequestHandler(ListToolsRequestSchema, () => ({
|
|
51
|
+
tools: Object.keys(tools).map((name) => ({
|
|
52
|
+
name,
|
|
53
|
+
inputSchema: { type: "object" },
|
|
54
|
+
})),
|
|
55
|
+
}));
|
|
56
|
+
mcp.setRequestHandler(CallToolRequestSchema, (request) => {
|
|
57
|
+
const args = (request.params.arguments ?? {});
|
|
58
|
+
calls.push({ name: request.params.name, args });
|
|
59
|
+
const tool = tools[request.params.name];
|
|
60
|
+
if (!tool)
|
|
61
|
+
return { content: [], isError: true };
|
|
62
|
+
const reply = tool(args);
|
|
63
|
+
if (reply.isError === true)
|
|
64
|
+
return { content: [], isError: true };
|
|
65
|
+
if (reply.emptyContent === true)
|
|
66
|
+
return { content: [] };
|
|
67
|
+
if (typeof reply.rawText === "string") {
|
|
68
|
+
return { content: [{ type: "text", text: reply.rawText }] };
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
content: [{ type: "text", text: JSON.stringify(reply.payload ?? null) }],
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
const transport = new StreamableHTTPServerTransport({
|
|
75
|
+
sessionIdGenerator: undefined,
|
|
76
|
+
enableJsonResponse: true,
|
|
77
|
+
});
|
|
78
|
+
res.on("close", () => {
|
|
79
|
+
void transport.close();
|
|
80
|
+
void mcp.close();
|
|
81
|
+
});
|
|
82
|
+
await mcp.connect(transport);
|
|
83
|
+
await transport.handleRequest(req, res);
|
|
84
|
+
}
|
|
85
|
+
await new Promise((resolve) => http.listen(0, "127.0.0.1", resolve));
|
|
86
|
+
const port = http.address().port;
|
|
87
|
+
return {
|
|
88
|
+
url: `http://127.0.0.1:${port}/mcp`,
|
|
89
|
+
receivedHeaders,
|
|
90
|
+
calls,
|
|
91
|
+
close: () => closeServer(http),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* An HTTP endpoint that fails in exactly one named way.
|
|
96
|
+
*
|
|
97
|
+
* `hang` keeps the socket open and answers nothing, which is the only honest way
|
|
98
|
+
* to test the timeout: a fast 504 exercises the non-2xx path instead, and the
|
|
99
|
+
* two failures reach the reconciler through different code.
|
|
100
|
+
*/
|
|
101
|
+
export async function startBrokenHttpServer(options) {
|
|
102
|
+
let requests = 0;
|
|
103
|
+
const sockets = new Set();
|
|
104
|
+
const http = createServer((req, res) => {
|
|
105
|
+
requests += 1;
|
|
106
|
+
// The body must be drained or Node holds the request open and the
|
|
107
|
+
// "hang" case becomes indistinguishable from a slow upload.
|
|
108
|
+
req.resume();
|
|
109
|
+
if (options.destroySocket === true) {
|
|
110
|
+
res.destroy();
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (options.hang === true) {
|
|
114
|
+
sockets.add(res);
|
|
115
|
+
res.on("close", () => sockets.delete(res));
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
res.writeHead(options.status ?? 500, {
|
|
119
|
+
"content-type": "application/json",
|
|
120
|
+
...options.headers,
|
|
121
|
+
});
|
|
122
|
+
res.end(options.body ?? '{"error":"nope"}');
|
|
123
|
+
});
|
|
124
|
+
await new Promise((resolve) => http.listen(0, "127.0.0.1", resolve));
|
|
125
|
+
const port = http.address().port;
|
|
126
|
+
return {
|
|
127
|
+
url: `http://127.0.0.1:${port}/mcp`,
|
|
128
|
+
requestCount: () => requests,
|
|
129
|
+
close: async () => {
|
|
130
|
+
for (const res of sockets)
|
|
131
|
+
res.destroy();
|
|
132
|
+
sockets.clear();
|
|
133
|
+
await closeServer(http);
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* A URL nothing is listening on.
|
|
139
|
+
*
|
|
140
|
+
* Bind, read the port, close, hand back the dead address. Picking a number by
|
|
141
|
+
* hand would race whatever else on this machine happens to own it, and a test
|
|
142
|
+
* that fails because port 9999 was busy teaches the next reader to distrust the
|
|
143
|
+
* suite.
|
|
144
|
+
*/
|
|
145
|
+
export async function unusedLocalUrl() {
|
|
146
|
+
const http = createServer();
|
|
147
|
+
await new Promise((resolve) => http.listen(0, "127.0.0.1", resolve));
|
|
148
|
+
const port = http.address().port;
|
|
149
|
+
await closeServer(http);
|
|
150
|
+
return `http://127.0.0.1:${port}/mcp`;
|
|
151
|
+
}
|
|
152
|
+
function closeServer(server) {
|
|
153
|
+
return new Promise((resolve) => {
|
|
154
|
+
server.closeAllConnections();
|
|
155
|
+
server.close(() => resolve());
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=fake-mcp-server.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { McpTarget } from "../types.js";
|
|
2
|
+
import type { ReconcileVerdict } from "@hyperdrive.bot/fleet-protocol/ingestion/run-view";
|
|
3
|
+
/** Re-exported, never re-declared. The protocol enum is the single definition. */
|
|
4
|
+
export type { ReconcileVerdict };
|
|
5
|
+
/**
|
|
6
|
+
* Everything a reconciler is allowed to know about an item.
|
|
7
|
+
*
|
|
8
|
+
* `meta` is the Epic 3 ledger allow-list ONLY - `sourceId`, `subject`, `url`,
|
|
9
|
+
* `groupKey`, `receivedAt`. Do not enumerate beyond those five keys: the source
|
|
10
|
+
* payload is opaque by Epic 1's rule, and a reconciler that reached for a sixth
|
|
11
|
+
* would be reading a field the ledger never promised to store.
|
|
12
|
+
*/
|
|
13
|
+
export interface SourceItemRef {
|
|
14
|
+
itemKey: string;
|
|
15
|
+
meta: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface ReconcileResult {
|
|
18
|
+
verdict: ReconcileVerdict;
|
|
19
|
+
/** Human-readable, non-PII, never a credential. Guarded by `assertSafeSignature`. */
|
|
20
|
+
signature: string | null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* One app's answer to "is this item still open at the source?".
|
|
24
|
+
*
|
|
25
|
+
* Receives `{ url, headers }` as an ARGUMENT, per turn. It is handed no store,
|
|
26
|
+
* no config and no `sourceId`, so it has no write path to `~/.paseo/sources/`
|
|
27
|
+
* and NFR1 holds by construction rather than by review.
|
|
28
|
+
*
|
|
29
|
+
* The signal is ADVISORY. `ReconciliationService` races it against a timeout and
|
|
30
|
+
* does not trust a reconciler to honour it - a reconciler that ignores its
|
|
31
|
+
* signal delays nothing but itself.
|
|
32
|
+
*/
|
|
33
|
+
export type Reconciler = (target: McpTarget, ref: SourceItemRef, signal: AbortSignal) => Promise<ReconcileResult>;
|
|
34
|
+
/**
|
|
35
|
+
* Resolve the MCP endpoint for one source and app.
|
|
36
|
+
*
|
|
37
|
+
* A PORT, not `SourceGateway` (decision D-6.1-J). Story 6.2 supplies the real
|
|
38
|
+
* implementation, which is one line over `SourceGateway.mcpTarget`. Keeping it
|
|
39
|
+
* a function type keeps the credential surface to a single argument that the
|
|
40
|
+
* service assigns to a local `const` and never to a field.
|
|
41
|
+
*/
|
|
42
|
+
export type ResolveMcpTarget = (sourceId: string, appSlug: string) => Promise<McpTarget>;
|
|
43
|
+
export interface ReconcileCandidate {
|
|
44
|
+
filterId: string;
|
|
45
|
+
itemKey: string;
|
|
46
|
+
/** `StoredFilter.match.appSlug`. Opaque runtime string; the registry is the only enumeration. */
|
|
47
|
+
appSlug: string;
|
|
48
|
+
/** `StoredFilter.sourceId`. Groups reads so one dead source cannot blank another (NFR7). */
|
|
49
|
+
sourceId: string;
|
|
50
|
+
ref: SourceItemRef;
|
|
51
|
+
}
|
|
52
|
+
export interface ReconcileOutcome {
|
|
53
|
+
filterId: string;
|
|
54
|
+
itemKey: string;
|
|
55
|
+
/** Null when the item has never been verified AND this call issued no read. */
|
|
56
|
+
verdict: ReconcileVerdict | null;
|
|
57
|
+
signature: string | null;
|
|
58
|
+
verifiedAt: number | null;
|
|
59
|
+
reconcileFailCount: number;
|
|
60
|
+
/** True only when a source read actually happened during THIS call. */
|
|
61
|
+
read: boolean;
|
|
62
|
+
/** True when the candidate was skipped because no reconciler exists for its slug (D-6.1-B). */
|
|
63
|
+
skippedNoReconciler: boolean;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// THE RECONCILE CONTRACT - what a reconciler is allowed to know, and what it is
|
|
2
|
+
// allowed to say.
|
|
3
|
+
//
|
|
4
|
+
// Both halves are deliberately small. A reconciler answers one question about
|
|
5
|
+
// one item ("does the source still think this is open?") and returns one of four
|
|
6
|
+
// verdicts. It is handed the MCP target as an ARGUMENT rather than a store, a
|
|
7
|
+
// config or a sourceId, which is what makes NFR1 hold by construction: there is
|
|
8
|
+
// no object in scope through which it could write to `~/.paseo/sources/`, and
|
|
9
|
+
// nothing it returns can carry a credential past `assertSafeSignature`.
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ReconcileVerdict } from "@hyperdrive.bot/fleet-protocol/ingestion/run-view";
|
|
2
|
+
/**
|
|
3
|
+
* The five independent effects one verdict has on one row.
|
|
4
|
+
*
|
|
5
|
+
* Booleans rather than a single enum because the effects are genuinely
|
|
6
|
+
* independent: `pending` stamps AND clears the counter AND stays in the Inbox,
|
|
7
|
+
* and no single label covers that. An enum here would need one member per
|
|
8
|
+
* combination, which is the truth table with worse names.
|
|
9
|
+
*/
|
|
10
|
+
export interface VerdictRowState {
|
|
11
|
+
/** Does a run carrying this verdict belong in the Inbox at all? */
|
|
12
|
+
inInbox: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Does this outcome earn a fresh `verified_at`?
|
|
15
|
+
*
|
|
16
|
+
* `unreachable` never does (epic D4). Letting a failed read refresh the stamp
|
|
17
|
+
* would let a source that has been down for a week read as freshly verified,
|
|
18
|
+
* and the staleness gate would then stop retrying it. A failed read must age,
|
|
19
|
+
* not reset.
|
|
20
|
+
*/
|
|
21
|
+
advancesVerifiedAt: boolean;
|
|
22
|
+
/** Only a CLOSING verdict carries evidence, so only a closing verdict writes one. */
|
|
23
|
+
writesSignature: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Reconciliation's OWN counter (`reconcile_fail_count`).
|
|
26
|
+
*
|
|
27
|
+
* NEVER Epic 3's dispatch `fail_count` (epic D5). A source paseo could not
|
|
28
|
+
* read is not an item that failed to dispatch, and burning the dispatch
|
|
29
|
+
* backoff on a network condition would park a perfectly good item.
|
|
30
|
+
*/
|
|
31
|
+
clearsFailCount: boolean;
|
|
32
|
+
incrementsReconcileFailCount: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* One verdict to its row policy. Total over the union, by construction.
|
|
36
|
+
*
|
|
37
|
+
* `handled-elsewhere` and `artifact-gone` REMOVE a row; they never label one.
|
|
38
|
+
* There is no sixth wall type and this function must never grow a field that
|
|
39
|
+
* would imply one (epic cross-dependency with Epic 4).
|
|
40
|
+
*/
|
|
41
|
+
export declare function mapVerdict(verdict: ReconcileVerdict): VerdictRowState;
|
|
42
|
+
/**
|
|
43
|
+
* Does a run carrying this verdict belong in the Inbox?
|
|
44
|
+
*
|
|
45
|
+
* `null` - NOBODY HAS LOOKED - is `true`, and that default is the whole reason
|
|
46
|
+
* this wrapper exists rather than every caller writing
|
|
47
|
+
* `view.verdict === null || mapVerdict(view.verdict).inInbox` for itself. An
|
|
48
|
+
* unverified row is an OPEN obligation until a source says otherwise; treating
|
|
49
|
+
* "no verdict yet" as a close would hide every row on a daemon whose
|
|
50
|
+
* reconciliation is disabled, whose ledger just migrated, or whose first pass
|
|
51
|
+
* has not run.
|
|
52
|
+
*/
|
|
53
|
+
export declare function isInInbox(verdict: ReconcileVerdict | null): boolean;
|
|
54
|
+
//# sourceMappingURL=verdict-mapping.d.ts.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// WHAT A VERDICT IS ALLOWED TO DO TO A ROW, in one place with no `default`.
|
|
2
|
+
//
|
|
3
|
+
// Every consumer of a verdict - the ledger write, the `ingestion/runs` filter,
|
|
4
|
+
// the backoff counter - reads its policy from here rather than re-deriving it
|
|
5
|
+
// from a string comparison. That is the point: three `verdict === "unreachable"`
|
|
6
|
+
// checks in three files are three chances to disagree, and the one that
|
|
7
|
+
// disagrees quietly is the one that closes a row nobody handled.
|
|
8
|
+
//
|
|
9
|
+
// The switch has NO `default` branch and a `const _exhaustive: never` tail, so
|
|
10
|
+
// a fifth verdict added to `ReconcileVerdictSchema` fails `tsc` here rather than
|
|
11
|
+
// falling through to whatever the default happened to say. `verdict-mapping.test.ts`
|
|
12
|
+
// iterates `ReconcileVerdictSchema.options`, so it fails the suite too.
|
|
13
|
+
//
|
|
14
|
+
// Deliberately NOT here: any user-facing English. `pending -> "Waiting"`,
|
|
15
|
+
// `unreachable -> "Could not verify"` and their two siblings are Story 6.3's
|
|
16
|
+
// second exhaustive switch, on the client where the i18n keys live. A daemon
|
|
17
|
+
// that ships label text ships it in one language.
|
|
18
|
+
/**
|
|
19
|
+
* One verdict to its row policy. Total over the union, by construction.
|
|
20
|
+
*
|
|
21
|
+
* `handled-elsewhere` and `artifact-gone` REMOVE a row; they never label one.
|
|
22
|
+
* There is no sixth wall type and this function must never grow a field that
|
|
23
|
+
* would imply one (epic cross-dependency with Epic 4).
|
|
24
|
+
*/
|
|
25
|
+
export function mapVerdict(verdict) {
|
|
26
|
+
switch (verdict) {
|
|
27
|
+
case "pending":
|
|
28
|
+
// A successful read that found the artifact still open. It stamps (paseo
|
|
29
|
+
// now knows something) and clears the reconcile counter (the source is
|
|
30
|
+
// reachable again), but writes no signature: there is no event to cite.
|
|
31
|
+
return {
|
|
32
|
+
inInbox: true,
|
|
33
|
+
advancesVerifiedAt: true,
|
|
34
|
+
writesSignature: false,
|
|
35
|
+
clearsFailCount: true,
|
|
36
|
+
incrementsReconcileFailCount: false,
|
|
37
|
+
};
|
|
38
|
+
case "handled-elsewhere":
|
|
39
|
+
case "artifact-gone":
|
|
40
|
+
// The two closing verdicts. Both stamp and both write the signature that
|
|
41
|
+
// is the evidence for the close - which is why `assertSafeSignature` runs
|
|
42
|
+
// before the bind, not after.
|
|
43
|
+
return {
|
|
44
|
+
inInbox: false,
|
|
45
|
+
advancesVerifiedAt: true,
|
|
46
|
+
writesSignature: true,
|
|
47
|
+
clearsFailCount: false,
|
|
48
|
+
incrementsReconcileFailCount: false,
|
|
49
|
+
};
|
|
50
|
+
case "unreachable":
|
|
51
|
+
// Paseo could not look. The row STAYS, nothing is stamped, and the
|
|
52
|
+
// reconcile counter advances toward the backoff window. This single row of
|
|
53
|
+
// the table is the whole epic.
|
|
54
|
+
return {
|
|
55
|
+
inInbox: true,
|
|
56
|
+
advancesVerifiedAt: false,
|
|
57
|
+
writesSignature: false,
|
|
58
|
+
clearsFailCount: false,
|
|
59
|
+
incrementsReconcileFailCount: true,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
// No `default`. A fifth verdict fails tsc here rather than rendering as pending.
|
|
63
|
+
const _exhaustive = verdict;
|
|
64
|
+
return _exhaustive;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Does a run carrying this verdict belong in the Inbox?
|
|
68
|
+
*
|
|
69
|
+
* `null` - NOBODY HAS LOOKED - is `true`, and that default is the whole reason
|
|
70
|
+
* this wrapper exists rather than every caller writing
|
|
71
|
+
* `view.verdict === null || mapVerdict(view.verdict).inInbox` for itself. An
|
|
72
|
+
* unverified row is an OPEN obligation until a source says otherwise; treating
|
|
73
|
+
* "no verdict yet" as a close would hide every row on a daemon whose
|
|
74
|
+
* reconciliation is disabled, whose ledger just migrated, or whose first pass
|
|
75
|
+
* has not run.
|
|
76
|
+
*/
|
|
77
|
+
export function isInInbox(verdict) {
|
|
78
|
+
if (verdict === null)
|
|
79
|
+
return true;
|
|
80
|
+
return mapVerdict(verdict).inInbox;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=verdict-mapping.js.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SourceStore } from "./sources/store.js";
|
|
2
|
+
import type { StoredFilter } from "@hyperdrive.bot/fleet-protocol/ingestion/filter-types";
|
|
3
|
+
import type { MatchedItem, SourceGateway, SourceKind } from "./types.js";
|
|
4
|
+
export interface ResolveMatchedItemsParams {
|
|
5
|
+
filter: StoredFilter;
|
|
6
|
+
sourceStore: SourceStore;
|
|
7
|
+
gatewayResolver: (kind: SourceKind) => SourceGateway;
|
|
8
|
+
itemKeys: readonly string[];
|
|
9
|
+
/** How far back to read. The caller owns the window; this function never guesses one. */
|
|
10
|
+
windowDays: number;
|
|
11
|
+
/** Epoch ms. Injected so a resolution is reproducible. */
|
|
12
|
+
now: () => number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolve `itemKeys` to items, stopping as soon as every requested key is in hand.
|
|
16
|
+
*
|
|
17
|
+
* Keys that do not resolve are simply ABSENT from the result. An item that left
|
|
18
|
+
* the window, or that no longer matches, is an ordinary consequence of the world
|
|
19
|
+
* moving between the preview and the apply, and it shows up honestly as a
|
|
20
|
+
* smaller selection rather than as an exception.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveMatchedItems(params: ResolveMatchedItemsParams): Promise<MatchedItem[]>;
|
|
23
|
+
//# sourceMappingURL=resolve-items.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Item keys back into payload-bearing items, through the same read and the same
|
|
2
|
+
// matcher the preview used.
|
|
3
|
+
//
|
|
4
|
+
// Extracted from `chat-ingestion-session.ts` (Story 5.1) rather than copied,
|
|
5
|
+
// because Story 5.4's restart resume needs the identical resolution and a second
|
|
6
|
+
// implementation is how the manual path and the resumed path quietly start
|
|
7
|
+
// dispatching different item sets for the same group. There is one function; the
|
|
8
|
+
// session delegates to it and so does the resumer.
|
|
9
|
+
import { scanMatchedSourceItems, windowStartFor } from "./backfill.js";
|
|
10
|
+
import { IngestionError } from "./errors.js";
|
|
11
|
+
/**
|
|
12
|
+
* Resolve `itemKeys` to items, stopping as soon as every requested key is in hand.
|
|
13
|
+
*
|
|
14
|
+
* Keys that do not resolve are simply ABSENT from the result. An item that left
|
|
15
|
+
* the window, or that no longer matches, is an ordinary consequence of the world
|
|
16
|
+
* moving between the preview and the apply, and it shows up honestly as a
|
|
17
|
+
* smaller selection rather than as an exception.
|
|
18
|
+
*/
|
|
19
|
+
export async function resolveMatchedItems(params) {
|
|
20
|
+
const { filter, itemKeys } = params;
|
|
21
|
+
const source = await params.sourceStore.get(filter.sourceId);
|
|
22
|
+
if (!source) {
|
|
23
|
+
throw new IngestionError("SOURCE_MISSING", `Filter ${filter.id} points at source ${filter.sourceId}, which no longer exists.`, 404);
|
|
24
|
+
}
|
|
25
|
+
const wanted = new Set(itemKeys);
|
|
26
|
+
const now = params.now();
|
|
27
|
+
const { matched } = await scanMatchedSourceItems({
|
|
28
|
+
filter,
|
|
29
|
+
gateway: params.gatewayResolver(source.kind),
|
|
30
|
+
externalUserId: source.externalUserId,
|
|
31
|
+
accountId: source.externalAccountId ?? "",
|
|
32
|
+
// A one-method port that answers `null` for everything: resolution is not a
|
|
33
|
+
// freshness question. Whether an item was already handled is the ledger's
|
|
34
|
+
// business at CLAIM time, inside `applySelection`, where the compare-and-set
|
|
35
|
+
// makes the answer race-safe. Asking it here would be a second, staler
|
|
36
|
+
// answer to the same question.
|
|
37
|
+
ledger: { get: () => Promise.resolve(null) },
|
|
38
|
+
sinceMs: windowStartFor(now, params.windowDays),
|
|
39
|
+
now: () => now,
|
|
40
|
+
stopWhen: (found) => found.filter((entry) => wanted.has(entry.item.key)).length >= wanted.size,
|
|
41
|
+
});
|
|
42
|
+
return matched
|
|
43
|
+
.filter((entry) => wanted.has(entry.item.key))
|
|
44
|
+
.map(({ item }) => ({
|
|
45
|
+
key: item.key,
|
|
46
|
+
contentHash: item.contentHash,
|
|
47
|
+
// ISO 8601 UTC, which is what grouping orders on. Derived from the
|
|
48
|
+
// adapter's timestamp rather than from this daemon's clock, so two
|
|
49
|
+
// resolutions of the same item order identically.
|
|
50
|
+
observedAt: new Date(item.timestampMs).toISOString(),
|
|
51
|
+
payload: item.payload,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=resolve-items.js.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ScheduleRun } from "@hyperdrive.bot/fleet-protocol/schedule/types";
|
|
2
|
+
import type { IngestionRunView } from "@hyperdrive.bot/fleet-protocol/ingestion/run-view";
|
|
3
|
+
import type { RunViewRow } from "./ledger.js";
|
|
4
|
+
/**
|
|
5
|
+
* Join runs to ledger rows on `lastRunId`, newest first.
|
|
6
|
+
*
|
|
7
|
+
* ORDERING DEPENDENCY, carried here because it is the reason the join works at
|
|
8
|
+
* all: Story 3.2's `claim()` writes the run id BEFORE dispatch, so by the time a
|
|
9
|
+
* `ScheduleRun` exists its ledger row already names it. The arrow only ever
|
|
10
|
+
* points row -> run, never the other way, which is why the row is the index and
|
|
11
|
+
* the run is the lookup.
|
|
12
|
+
*
|
|
13
|
+
* `lastRunId` (ledger schema v4) and NOT `claimRunId`, which is the defect this
|
|
14
|
+
* projection shipped with. `claim_run_id` names the run holding the claim right
|
|
15
|
+
* now, so `mark()` nulls it when the agent finishes and `releaseStaleClaims()`
|
|
16
|
+
* nulls it on the next boot. Joining on it meant the join matched ONLY items
|
|
17
|
+
* whose dispatch was still in flight in this process - so a handled item, which
|
|
18
|
+
* is precisely what an Inbox row represents, never matched, and a restart
|
|
19
|
+
* emptied the list. `last_run_id` carries the same value with no clearing path.
|
|
20
|
+
*
|
|
21
|
+
* A run with NO matching ledger row is EXCLUDED rather than emitted with null
|
|
22
|
+
* verification fields. Such a run is not an ingestion item - it is a clock
|
|
23
|
+
* schedule's ordinary run that happens to live in the same document - and
|
|
24
|
+
* emitting it with `verdict: null` would put a row on the Inbox that has no
|
|
25
|
+
* item behind it and can never be verified. A ledger row whose `lastRunId` is
|
|
26
|
+
* null is likewise excluded: it was seen but never dispatched, so there is no
|
|
27
|
+
* run to show.
|
|
28
|
+
*
|
|
29
|
+
* Sorted by `startedAt` descending, tie-broken by `id` ascending. The tiebreak
|
|
30
|
+
* is not decoration: two runs minted in the same millisecond would otherwise
|
|
31
|
+
* order by whatever `Array.prototype.sort` happened to do, and the test would
|
|
32
|
+
* be a coin flip.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildIngestionRunViews(runs: readonly ScheduleRun[], rows: readonly RunViewRow[]): IngestionRunView[];
|
|
35
|
+
//# sourceMappingURL=run-projection.d.ts.map
|