@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,76 @@
|
|
|
1
|
+
// "Did somebody move this issue to Done without paseo?"
|
|
2
|
+
//
|
|
3
|
+
// Jira's status names are TENANT-CONFIGURABLE - "Done", "Concluído", "Shipped",
|
|
4
|
+
// "Won't Fix" are all real - so matching on the name is matching on a string the
|
|
5
|
+
// customer chose. The `statusCategory.key` is not configurable: Jira collapses
|
|
6
|
+
// every workflow status onto `new`, `indeterminate` or `done`, and `done` is the
|
|
7
|
+
// only one that means the work stopped needing anyone.
|
|
8
|
+
//
|
|
9
|
+
// So the gate is the CATEGORY, never the name. A reconciler that grepped for
|
|
10
|
+
// "done" in a status name would close a Portuguese board's rows never and an
|
|
11
|
+
// English board's "Done - pending review" wrongly.
|
|
12
|
+
import { callMcpTool } from "./mcp-call.js";
|
|
13
|
+
import { asBoolean, asRecord, asString, metaUrl, pickFirst } from "./payload.js";
|
|
14
|
+
/** ONE round-trip. The issue and its status category. */
|
|
15
|
+
const JIRA_ISSUE_TOOL = "JIRA_GET_ISSUE";
|
|
16
|
+
/** Where the issue body might live, unwrapped path first. */
|
|
17
|
+
const ISSUE_PATHS = ["issue", "data.issue", "data", "response_data"];
|
|
18
|
+
/**
|
|
19
|
+
* `https://acme.atlassian.net/browse/ABC-123` -> `ABC-123`.
|
|
20
|
+
*
|
|
21
|
+
* `/browse/` is the canonical issue URL and the only form accepted. A key is
|
|
22
|
+
* uppercase letters/digits, a hyphen and a number; anything else is a URL this
|
|
23
|
+
* reconciler cannot address, which is `unreachable` rather than a guess.
|
|
24
|
+
*/
|
|
25
|
+
export function parseJiraIssueKey(url) {
|
|
26
|
+
if (url === null)
|
|
27
|
+
return null;
|
|
28
|
+
const match = /\/browse\/([A-Z][A-Z0-9_]*-\d+)/i.exec(url);
|
|
29
|
+
return match?.[1]?.toUpperCase() ?? null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Signatures: `jira:done:<key>`, `jira:gone:<key>`.
|
|
33
|
+
*
|
|
34
|
+
* The issue key and nothing else. A summary is prose and would be the PII leak
|
|
35
|
+
* `assertSafeSignature` cannot catch, because a sentence is not credential-shaped.
|
|
36
|
+
*/
|
|
37
|
+
export const jiraReconciler = async (target, ref, signal) => {
|
|
38
|
+
try {
|
|
39
|
+
const key = parseJiraIssueKey(metaUrl(ref.meta));
|
|
40
|
+
if (key === null)
|
|
41
|
+
return { verdict: "unreachable", signature: null };
|
|
42
|
+
const payload = await callMcpTool(target, JIRA_ISSUE_TOOL, { issue_key: key }, signal);
|
|
43
|
+
if (payload === null)
|
|
44
|
+
return { verdict: "unreachable", signature: null };
|
|
45
|
+
// A DEFINITE 404 the server reported, not a read that failed to answer.
|
|
46
|
+
const notFound = asBoolean(pickFirst(payload, ["not_found", "data.not_found", "deleted"]));
|
|
47
|
+
if (notFound === true) {
|
|
48
|
+
return { verdict: "artifact-gone", signature: `jira:gone:${key}` };
|
|
49
|
+
}
|
|
50
|
+
const issue = asRecord(pickFirst(payload, [...ISSUE_PATHS]));
|
|
51
|
+
if (!issue)
|
|
52
|
+
return { verdict: "unreachable", signature: null };
|
|
53
|
+
const category = asString(pickFirst(issue, [
|
|
54
|
+
"fields.status.statusCategory.key",
|
|
55
|
+
"fields.status.status_category.key",
|
|
56
|
+
"status.statusCategory.key",
|
|
57
|
+
"statusCategory.key",
|
|
58
|
+
"status_category",
|
|
59
|
+
]))?.toLowerCase();
|
|
60
|
+
// No category means the payload never told us where the issue stands. Not
|
|
61
|
+
// "it is still open" and certainly not "it is done".
|
|
62
|
+
if (!category)
|
|
63
|
+
return { verdict: "unreachable", signature: null };
|
|
64
|
+
if (category === "done") {
|
|
65
|
+
return { verdict: "handled-elsewhere", signature: `jira:done:${key}` };
|
|
66
|
+
}
|
|
67
|
+
if (category === "new" || category === "indeterminate" || category === "undefined") {
|
|
68
|
+
return { verdict: "pending", signature: null };
|
|
69
|
+
}
|
|
70
|
+
return { verdict: "unreachable", signature: null };
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return { verdict: "unreachable", signature: null };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=jira.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The artifact kinds paseo can re-read at the source.
|
|
3
|
+
*
|
|
4
|
+
* THE ONE list on this axis. `registry.ts` keys `RECONCILERS` off it with
|
|
5
|
+
* `satisfies`, so a member added here without a reconciler fails `tsc`;
|
|
6
|
+
* `registry.test.ts` iterates it at runtime, so an extra reconciler key fails
|
|
7
|
+
* the suite. `artifact-kind.ts` maps opaque app slugs onto it and is the only
|
|
8
|
+
* file allowed to do so.
|
|
9
|
+
*
|
|
10
|
+
* `calendar` rather than `googlecalendar`: the kind is the artifact ("a calendar
|
|
11
|
+
* event ended"), not the vendor slug that happened to deliver it. The slug ->
|
|
12
|
+
* kind bridge, including every Google spelling, lives in `artifact-kind.ts`.
|
|
13
|
+
*/
|
|
14
|
+
export declare const RECONCILABLE_ARTIFACT_KINDS: readonly ["gmail", "gitlab", "github", "jira", "sentry", "calendar"];
|
|
15
|
+
export type ReconcilableArtifactKind = (typeof RECONCILABLE_ARTIFACT_KINDS)[number];
|
|
16
|
+
//# sourceMappingURL=kinds.d.ts.map
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// THE ARTIFACT AXIS. What was handled, never who we asked.
|
|
2
|
+
//
|
|
3
|
+
// Decision D-6.2-A, stated here rather than in a story file because the
|
|
4
|
+
// correction has to survive being read out of context:
|
|
5
|
+
//
|
|
6
|
+
// The epic's Story 6.2 text says to key `RECONCILERS` off Epic 1's single
|
|
7
|
+
// aggregator-kinds constant, and in the same sentence lists the reconciler files
|
|
8
|
+
// as gmail / gitlab / github / jira / sentry / calendar. Those two halves cannot
|
|
9
|
+
// both be true. That constant (declared in `../types.ts:18`, and deliberately
|
|
10
|
+
// not named here - see the note at the foot of this comment) is
|
|
11
|
+
// `["pipedream", "composio"]` - AGGREGATOR kinds - so keying a `Record` off it would
|
|
12
|
+
// produce exactly two reconcilers, a `pipedreamReconciler` and a
|
|
13
|
+
// `composioReconciler`, which is precisely what the epic's own D3 forbids:
|
|
14
|
+
// "reconciliation is per source kind, not per aggregator. Whether an artifact
|
|
15
|
+
// was handled is a Gmail question or a GitLab question; it is not a Pipedream
|
|
16
|
+
// question."
|
|
17
|
+
//
|
|
18
|
+
// So D3 is the intent and the constant name in that sentence is the error.
|
|
19
|
+
// There are TWO closed lists on TWO different axes, and neither derives from
|
|
20
|
+
// the other:
|
|
21
|
+
//
|
|
22
|
+
// `../types.ts`'s aggregator list who paseo asks
|
|
23
|
+
// RECONCILABLE_ARTIFACT_KINDS what was handled
|
|
24
|
+
//
|
|
25
|
+
// Widening either to cover the other is the mistake this comment exists to
|
|
26
|
+
// prevent. A third aggregator does not add a reconciler; a seventh artifact
|
|
27
|
+
// kind does not add an aggregator. Both lists are closed, both are iterated by
|
|
28
|
+
// a test, and both fail the build when a member arrives without its partner.
|
|
29
|
+
//
|
|
30
|
+
// The aggregator constant is referred to BY FILE rather than by name anywhere
|
|
31
|
+
// under `reconcile/`, and that is a deliberate, greppable invariant rather than
|
|
32
|
+
// coyness: AC 2 greps this directory for that identifier and requires ZERO
|
|
33
|
+
// lines back, so that the empty grep proves nothing here reaches for the wrong
|
|
34
|
+
// axis. A mention in a comment - including in this one - would put a line in
|
|
35
|
+
// that output that reads exactly like the mistake, which is why even the
|
|
36
|
+
// sentence describing the rule does not spell the name. The cross-axis property
|
|
37
|
+
// is asserted in `../axes.test.ts`, the one file allowed to import both.
|
|
38
|
+
/**
|
|
39
|
+
* The artifact kinds paseo can re-read at the source.
|
|
40
|
+
*
|
|
41
|
+
* THE ONE list on this axis. `registry.ts` keys `RECONCILERS` off it with
|
|
42
|
+
* `satisfies`, so a member added here without a reconciler fails `tsc`;
|
|
43
|
+
* `registry.test.ts` iterates it at runtime, so an extra reconciler key fails
|
|
44
|
+
* the suite. `artifact-kind.ts` maps opaque app slugs onto it and is the only
|
|
45
|
+
* file allowed to do so.
|
|
46
|
+
*
|
|
47
|
+
* `calendar` rather than `googlecalendar`: the kind is the artifact ("a calendar
|
|
48
|
+
* event ended"), not the vendor slug that happened to deliver it. The slug ->
|
|
49
|
+
* kind bridge, including every Google spelling, lives in `artifact-kind.ts`.
|
|
50
|
+
*/
|
|
51
|
+
export const RECONCILABLE_ARTIFACT_KINDS = [
|
|
52
|
+
"gmail",
|
|
53
|
+
"gitlab",
|
|
54
|
+
"github",
|
|
55
|
+
"jira",
|
|
56
|
+
"sentry",
|
|
57
|
+
"calendar",
|
|
58
|
+
];
|
|
59
|
+
//# sourceMappingURL=kinds.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { McpTarget } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Call one tool on one MCP endpoint and hand back its payload, or `null`.
|
|
4
|
+
*
|
|
5
|
+
* `null` covers, on purpose and without distinction: a transport-level network
|
|
6
|
+
* error, any non-2xx status, a rejected handshake, an aborted signal, an
|
|
7
|
+
* `isError: true` tool result, a body that is not JSON, and a body that is JSON
|
|
8
|
+
* but carries no readable content. Every one of them means the same thing to a
|
|
9
|
+
* reconciler.
|
|
10
|
+
*
|
|
11
|
+
* The `signal` is honoured AND the transport is closed in a `finally`, so an
|
|
12
|
+
* abort mid-flight releases the socket rather than leaving it to the GC. The
|
|
13
|
+
* service races this against its own timeout regardless
|
|
14
|
+
* (`ReconciliationService.readOne`), because "honours AbortSignal" is not a
|
|
15
|
+
* property this function can promise on behalf of a remote server.
|
|
16
|
+
*/
|
|
17
|
+
export declare function callMcpTool(target: McpTarget, toolName: string, args: Record<string, unknown>, signal: AbortSignal): Promise<unknown | null>;
|
|
18
|
+
//# sourceMappingURL=mcp-call.d.ts.map
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// ONE MCP round-trip, and every way it can fail collapses to `null`.
|
|
2
|
+
//
|
|
3
|
+
// Six reconcilers need the same six lines - construct a transport, connect, call
|
|
4
|
+
// one tool, close in a `finally` - and six copies of those lines are six chances
|
|
5
|
+
// for one of them to leak a `throw` into `Promise.allSettled`, where a thrown
|
|
6
|
+
// reconciler is indistinguishable from a rejected sibling. So the round-trip
|
|
7
|
+
// lives here once and its contract is total: it returns the tool's payload, or
|
|
8
|
+
// it returns `null`. It never throws and it never returns a partial answer.
|
|
9
|
+
//
|
|
10
|
+
// `null` means "this read told you nothing" and the caller's only correct
|
|
11
|
+
// response is `unreachable`. It deliberately does NOT distinguish a 401 from a
|
|
12
|
+
// 500 from a timeout from a malformed body, because the caller must treat all
|
|
13
|
+
// four identically: an absence is not evidence the artifact is gone
|
|
14
|
+
// (`archive-if-safe.ts:78-82` has been shipping exactly this for merged PRs).
|
|
15
|
+
//
|
|
16
|
+
// Nothing here logs. The target carries a live bearer token and the tool
|
|
17
|
+
// arguments carry a native artifact id; a log line at this depth is how both end
|
|
18
|
+
// up in a file that outlives the request. `ReconciliationService.readOne` logs
|
|
19
|
+
// the failure with `{ appSlug, sourceId, itemKey }` and nothing else.
|
|
20
|
+
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
21
|
+
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
|
|
22
|
+
/** Identifies paseo to the MCP endpoint. Carries no user, host or workspace identity. */
|
|
23
|
+
const CLIENT_INFO = { name: "paseo-reconcile", version: "1.0.0" };
|
|
24
|
+
/**
|
|
25
|
+
* Call one tool on one MCP endpoint and hand back its payload, or `null`.
|
|
26
|
+
*
|
|
27
|
+
* `null` covers, on purpose and without distinction: a transport-level network
|
|
28
|
+
* error, any non-2xx status, a rejected handshake, an aborted signal, an
|
|
29
|
+
* `isError: true` tool result, a body that is not JSON, and a body that is JSON
|
|
30
|
+
* but carries no readable content. Every one of them means the same thing to a
|
|
31
|
+
* reconciler.
|
|
32
|
+
*
|
|
33
|
+
* The `signal` is honoured AND the transport is closed in a `finally`, so an
|
|
34
|
+
* abort mid-flight releases the socket rather than leaving it to the GC. The
|
|
35
|
+
* service races this against its own timeout regardless
|
|
36
|
+
* (`ReconciliationService.readOne`), because "honours AbortSignal" is not a
|
|
37
|
+
* property this function can promise on behalf of a remote server.
|
|
38
|
+
*/
|
|
39
|
+
export async function callMcpTool(target, toolName, args, signal) {
|
|
40
|
+
let client = null;
|
|
41
|
+
try {
|
|
42
|
+
if (signal.aborted)
|
|
43
|
+
return null;
|
|
44
|
+
const transport = new StreamableHTTPClientTransport(new URL(target.url), {
|
|
45
|
+
requestInit: { headers: target.headers },
|
|
46
|
+
});
|
|
47
|
+
client = new Client(CLIENT_INFO);
|
|
48
|
+
await client.connect(transport, { signal });
|
|
49
|
+
const result = await client.callTool({ name: toolName, arguments: args }, undefined, {
|
|
50
|
+
signal,
|
|
51
|
+
});
|
|
52
|
+
// An MCP tool reports its own failures in-band rather than by rejecting, so
|
|
53
|
+
// this branch is a real failure path and not defensive padding.
|
|
54
|
+
if (result.isError === true)
|
|
55
|
+
return null;
|
|
56
|
+
return extractPayload(result);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// Swallowed on purpose, and the swallow is the contract rather than
|
|
60
|
+
// laziness: an exception escaping a reconciler lands in the service's
|
|
61
|
+
// `Promise.allSettled` and reads as a rejected sibling, which is exactly the
|
|
62
|
+
// ambiguity this epic exists to remove. The caller turns `null` into
|
|
63
|
+
// `unreachable`, which can never close a row.
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
// `close()` can itself reject on an already-broken transport. Losing the
|
|
68
|
+
// socket is not worth losing the verdict.
|
|
69
|
+
await client?.close().catch(() => undefined);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The tool's payload, from whichever of the three places the SDK put it.
|
|
74
|
+
*
|
|
75
|
+
* `structuredContent` first because it is already an object; then a single
|
|
76
|
+
* `text` content block parsed as JSON, which is what most aggregator MCP servers
|
|
77
|
+
* actually emit. Anything else - an image block, an empty content array, a text
|
|
78
|
+
* block that is not JSON - is `null`, because a payload this function cannot
|
|
79
|
+
* read is a payload the reconciler must not guess at.
|
|
80
|
+
*/
|
|
81
|
+
function extractPayload(result) {
|
|
82
|
+
if (typeof result !== "object" || result === null)
|
|
83
|
+
return null;
|
|
84
|
+
const record = result;
|
|
85
|
+
const structured = record.structuredContent;
|
|
86
|
+
if (typeof structured === "object" && structured !== null)
|
|
87
|
+
return structured;
|
|
88
|
+
const content = record.content;
|
|
89
|
+
if (!Array.isArray(content) || content.length === 0)
|
|
90
|
+
return null;
|
|
91
|
+
const first = content[0];
|
|
92
|
+
if (typeof first !== "object" || first === null)
|
|
93
|
+
return null;
|
|
94
|
+
const block = first;
|
|
95
|
+
if (typeof block.text !== "string")
|
|
96
|
+
return null;
|
|
97
|
+
try {
|
|
98
|
+
return JSON.parse(block.text);
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// Valid MCP envelope, unreadable body. Still nothing learned.
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=mcp-call.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export declare function asRecord(value: unknown): Record<string, unknown> | null;
|
|
2
|
+
export declare function asArray(value: unknown): unknown[] | null;
|
|
3
|
+
/** A non-empty trimmed string, or null. An empty string is an absent field, not a value. */
|
|
4
|
+
export declare function asString(value: unknown): string | null;
|
|
5
|
+
export declare function asBoolean(value: unknown): boolean | null;
|
|
6
|
+
/** A finite number, or null. `NaN` and `Infinity` are unreadable, not values. */
|
|
7
|
+
export declare function asNumber(value: unknown): number | null;
|
|
8
|
+
/**
|
|
9
|
+
* Walk a dotted path through nested records.
|
|
10
|
+
*
|
|
11
|
+
* Aggregators wrap their payloads differently - Composio nests the vendor body
|
|
12
|
+
* under `data`, Pipedream sometimes does not - so every reconciler reads its
|
|
13
|
+
* field through a small list of candidate paths rather than one. That keeps the
|
|
14
|
+
* "unwrap the envelope" logic out of six files and, more importantly, keeps it
|
|
15
|
+
* from being written as "try the field, else try `data.field`, else give up" in
|
|
16
|
+
* six subtly different ways.
|
|
17
|
+
*/
|
|
18
|
+
export declare function pick(source: unknown, path: string): unknown;
|
|
19
|
+
/**
|
|
20
|
+
* The first candidate path that resolves to something, or `undefined`.
|
|
21
|
+
*
|
|
22
|
+
* Order matters and the caller owns it: the unwrapped path goes first so a body
|
|
23
|
+
* that carries the field directly is never shadowed by a same-named field on an
|
|
24
|
+
* envelope.
|
|
25
|
+
*/
|
|
26
|
+
export declare function pickFirst(source: unknown, paths: readonly string[]): unknown;
|
|
27
|
+
/**
|
|
28
|
+
* The artifact's own URL from the ledger's `meta`, or null.
|
|
29
|
+
*
|
|
30
|
+
* `meta.url` is the ONLY native-id carrier a reconciler is allowed to read.
|
|
31
|
+
* `SourceItemRef.itemKey` cannot serve: it is a `fingerprint()` digest
|
|
32
|
+
* (`../fingerprint.ts`), deliberately not the vendor's id, so parsing it would
|
|
33
|
+
* yield twelve hex characters and nothing else. `subject` is the other field
|
|
34
|
+
* that looks useful and is forbidden for the opposite reason - it is the user's
|
|
35
|
+
* prose, and prose must never reach a signature.
|
|
36
|
+
*/
|
|
37
|
+
export declare function metaUrl(meta: Record<string, unknown>): string | null;
|
|
38
|
+
//# sourceMappingURL=payload.d.ts.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Narrowing an OPAQUE aggregator body, without an `as any` anywhere.
|
|
2
|
+
//
|
|
3
|
+
// A reconciler receives `unknown` from `callMcpTool` and must not assume a
|
|
4
|
+
// shape: the body is whatever a third-party MCP server chose to emit today.
|
|
5
|
+
// `.oxlintrc.json` runs `typescript/no-explicit-any` at error precisely so the
|
|
6
|
+
// tempting shortcut is unavailable, and these five helpers are what replaces it.
|
|
7
|
+
//
|
|
8
|
+
// Every one of them returns `null` rather than throwing or coercing. That is the
|
|
9
|
+
// same rule as `mcp-call.ts` one layer up: a field the reconciler could not read
|
|
10
|
+
// is a field it must not guess at, and a `null` here becomes an `unreachable`
|
|
11
|
+
// verdict rather than a close built on a coerced empty string.
|
|
12
|
+
export function asRecord(value) {
|
|
13
|
+
if (typeof value !== "object" || value === null || Array.isArray(value))
|
|
14
|
+
return null;
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
export function asArray(value) {
|
|
18
|
+
return Array.isArray(value) ? value : null;
|
|
19
|
+
}
|
|
20
|
+
/** A non-empty trimmed string, or null. An empty string is an absent field, not a value. */
|
|
21
|
+
export function asString(value) {
|
|
22
|
+
if (typeof value !== "string")
|
|
23
|
+
return null;
|
|
24
|
+
const trimmed = value.trim();
|
|
25
|
+
return trimmed.length === 0 ? null : trimmed;
|
|
26
|
+
}
|
|
27
|
+
export function asBoolean(value) {
|
|
28
|
+
return typeof value === "boolean" ? value : null;
|
|
29
|
+
}
|
|
30
|
+
/** A finite number, or null. `NaN` and `Infinity` are unreadable, not values. */
|
|
31
|
+
export function asNumber(value) {
|
|
32
|
+
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Walk a dotted path through nested records.
|
|
36
|
+
*
|
|
37
|
+
* Aggregators wrap their payloads differently - Composio nests the vendor body
|
|
38
|
+
* under `data`, Pipedream sometimes does not - so every reconciler reads its
|
|
39
|
+
* field through a small list of candidate paths rather than one. That keeps the
|
|
40
|
+
* "unwrap the envelope" logic out of six files and, more importantly, keeps it
|
|
41
|
+
* from being written as "try the field, else try `data.field`, else give up" in
|
|
42
|
+
* six subtly different ways.
|
|
43
|
+
*/
|
|
44
|
+
export function pick(source, path) {
|
|
45
|
+
let cursor = source;
|
|
46
|
+
for (const segment of path.split(".")) {
|
|
47
|
+
const record = asRecord(cursor);
|
|
48
|
+
if (!record)
|
|
49
|
+
return undefined;
|
|
50
|
+
cursor = record[segment];
|
|
51
|
+
}
|
|
52
|
+
return cursor;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The first candidate path that resolves to something, or `undefined`.
|
|
56
|
+
*
|
|
57
|
+
* Order matters and the caller owns it: the unwrapped path goes first so a body
|
|
58
|
+
* that carries the field directly is never shadowed by a same-named field on an
|
|
59
|
+
* envelope.
|
|
60
|
+
*/
|
|
61
|
+
export function pickFirst(source, paths) {
|
|
62
|
+
for (const path of paths) {
|
|
63
|
+
const value = pick(source, path);
|
|
64
|
+
if (value !== undefined && value !== null)
|
|
65
|
+
return value;
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The artifact's own URL from the ledger's `meta`, or null.
|
|
71
|
+
*
|
|
72
|
+
* `meta.url` is the ONLY native-id carrier a reconciler is allowed to read.
|
|
73
|
+
* `SourceItemRef.itemKey` cannot serve: it is a `fingerprint()` digest
|
|
74
|
+
* (`../fingerprint.ts`), deliberately not the vendor's id, so parsing it would
|
|
75
|
+
* yield twelve hex characters and nothing else. `subject` is the other field
|
|
76
|
+
* that looks useful and is forbidden for the opposite reason - it is the user's
|
|
77
|
+
* prose, and prose must never reach a signature.
|
|
78
|
+
*/
|
|
79
|
+
export function metaUrl(meta) {
|
|
80
|
+
return asString(meta.url);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=payload.js.map
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Reconciler } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* One reconciler per artifact kind. A missing entry is a COMPILE error.
|
|
4
|
+
*
|
|
5
|
+
* `satisfies Record<ReconcilableArtifactKind, Reconciler>` is what makes that
|
|
6
|
+
* true, and the choice is load-bearing rather than stylistic: an `as const`
|
|
7
|
+
* array plus a `switch` compiles perfectly well with a missing case, so the gap
|
|
8
|
+
* would only surface at runtime as an item that silently never gets verified.
|
|
9
|
+
* The `satisfies` turns the same gap into `tsc` output while keeping the literal
|
|
10
|
+
* key type, so `RECONCILERS` cannot be indexed with an arbitrary string either.
|
|
11
|
+
*
|
|
12
|
+
* `registry.test.ts` iterates `RECONCILABLE_ARTIFACT_KINDS` at runtime as well,
|
|
13
|
+
* because `satisfies` catches a MISSING key and the test catches an EXTRA one.
|
|
14
|
+
*/
|
|
15
|
+
export declare const RECONCILERS: {
|
|
16
|
+
readonly gmail: Reconciler;
|
|
17
|
+
readonly gitlab: Reconciler;
|
|
18
|
+
readonly github: Reconciler;
|
|
19
|
+
readonly jira: Reconciler;
|
|
20
|
+
readonly sentry: Reconciler;
|
|
21
|
+
readonly calendar: Reconciler;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The reconciler for an OPEN-WORLD app slug, or null when paseo has none.
|
|
25
|
+
*
|
|
26
|
+
* Two steps, and the first one is where the open world ends: `resolveArtifactKind`
|
|
27
|
+
* turns an arbitrary catalogue string into a closed-set member or `null`, so this
|
|
28
|
+
* function never indexes `RECONCILERS` with anything the type system has not
|
|
29
|
+
* already vouched for. `"__proto__"`, `"constructor"` and `"toString"` all die at
|
|
30
|
+
* the bridge rather than resolving to an inherited member of `Object.prototype`
|
|
31
|
+
* and being handed to the service as a "reconciler".
|
|
32
|
+
*
|
|
33
|
+
* `null` does NOT mean `unreachable`. See D-6.1-B: `verifyIfStale` skips such a
|
|
34
|
+
* candidate entirely rather than marking it unreachable, because "paseo has no
|
|
35
|
+
* reconciler for this app" is PERMANENT while `unreachable` is the transient
|
|
36
|
+
* verdict that feeds a retry counter and a backoff. Marking it unreachable would
|
|
37
|
+
* burn a retry budget on a network condition that never happened.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveReconciler(appSlug: string): Reconciler | null;
|
|
40
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// THE CLOSED SET, keyed on the ARTIFACT axis.
|
|
2
|
+
//
|
|
3
|
+
// Story 6.1 shipped this keyed on `RECONCILABLE_APP_SLUGS`, a list that mixed
|
|
4
|
+
// the two axes into one: `googlecalendar` is a vendor slug, `github` is both a
|
|
5
|
+
// slug and an artifact kind, and the coincidence hid the fact that they are
|
|
6
|
+
// different things. Story 6.2 splits them (decision D-6.2-A):
|
|
7
|
+
//
|
|
8
|
+
// kinds.ts the ARTIFACT axis - what was handled
|
|
9
|
+
// artifact-kind.ts the BRIDGE - one opaque app slug -> one kind
|
|
10
|
+
// registry.ts the REGISTRY - one kind -> one reconciler
|
|
11
|
+
//
|
|
12
|
+
// Splitting them is what lets three vendor spellings of Google Calendar share
|
|
13
|
+
// one reconciler without three registry entries, and what stops a seventh
|
|
14
|
+
// aggregator from implying a seventh reconciler.
|
|
15
|
+
//
|
|
16
|
+
// Epic 1's aggregator-kinds constant (`../types.ts:18`) is not read, not
|
|
17
|
+
// imported and not modified by anything in this directory. It is the AGGREGATOR
|
|
18
|
+
// axis and lives on the other side of a wall this comment is part of - which is
|
|
19
|
+
// why it is named by file rather than by identifier: the invariant is a grep
|
|
20
|
+
// that must come back empty, and a comment mentioning it would spoil the grep.
|
|
21
|
+
// See `kinds.ts` for the full statement of D-6.2-A.
|
|
22
|
+
import { calendarReconciler } from "./calendar.js";
|
|
23
|
+
import { githubReconciler } from "./github.js";
|
|
24
|
+
import { gitlabReconciler } from "./gitlab.js";
|
|
25
|
+
import { gmailReconciler } from "./gmail.js";
|
|
26
|
+
import { jiraReconciler } from "./jira.js";
|
|
27
|
+
import { resolveArtifactKind } from "./artifact-kind.js";
|
|
28
|
+
import { sentryReconciler } from "./sentry.js";
|
|
29
|
+
/**
|
|
30
|
+
* One reconciler per artifact kind. A missing entry is a COMPILE error.
|
|
31
|
+
*
|
|
32
|
+
* `satisfies Record<ReconcilableArtifactKind, Reconciler>` is what makes that
|
|
33
|
+
* true, and the choice is load-bearing rather than stylistic: an `as const`
|
|
34
|
+
* array plus a `switch` compiles perfectly well with a missing case, so the gap
|
|
35
|
+
* would only surface at runtime as an item that silently never gets verified.
|
|
36
|
+
* The `satisfies` turns the same gap into `tsc` output while keeping the literal
|
|
37
|
+
* key type, so `RECONCILERS` cannot be indexed with an arbitrary string either.
|
|
38
|
+
*
|
|
39
|
+
* `registry.test.ts` iterates `RECONCILABLE_ARTIFACT_KINDS` at runtime as well,
|
|
40
|
+
* because `satisfies` catches a MISSING key and the test catches an EXTRA one.
|
|
41
|
+
*/
|
|
42
|
+
export const RECONCILERS = {
|
|
43
|
+
gmail: gmailReconciler,
|
|
44
|
+
gitlab: gitlabReconciler,
|
|
45
|
+
github: githubReconciler,
|
|
46
|
+
jira: jiraReconciler,
|
|
47
|
+
sentry: sentryReconciler,
|
|
48
|
+
calendar: calendarReconciler,
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* The reconciler for an OPEN-WORLD app slug, or null when paseo has none.
|
|
52
|
+
*
|
|
53
|
+
* Two steps, and the first one is where the open world ends: `resolveArtifactKind`
|
|
54
|
+
* turns an arbitrary catalogue string into a closed-set member or `null`, so this
|
|
55
|
+
* function never indexes `RECONCILERS` with anything the type system has not
|
|
56
|
+
* already vouched for. `"__proto__"`, `"constructor"` and `"toString"` all die at
|
|
57
|
+
* the bridge rather than resolving to an inherited member of `Object.prototype`
|
|
58
|
+
* and being handed to the service as a "reconciler".
|
|
59
|
+
*
|
|
60
|
+
* `null` does NOT mean `unreachable`. See D-6.1-B: `verifyIfStale` skips such a
|
|
61
|
+
* candidate entirely rather than marking it unreachable, because "paseo has no
|
|
62
|
+
* reconciler for this app" is PERMANENT while `unreachable` is the transient
|
|
63
|
+
* verdict that feeds a retry counter and a backoff. Marking it unreachable would
|
|
64
|
+
* burn a retry budget on a network condition that never happened.
|
|
65
|
+
*/
|
|
66
|
+
export function resolveReconciler(appSlug) {
|
|
67
|
+
const kind = resolveArtifactKind(appSlug);
|
|
68
|
+
if (kind === null)
|
|
69
|
+
return null;
|
|
70
|
+
return RECONCILERS[kind];
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type pino from "pino";
|
|
2
|
+
import type { IngestionRunView } from "@hyperdrive.bot/fleet-protocol/ingestion/run-view";
|
|
3
|
+
import type { StoredFilter } from "@hyperdrive.bot/fleet-protocol/ingestion/filter-types";
|
|
4
|
+
import type { ReconciliationService } from "./service.js";
|
|
5
|
+
/** The one method `ChatIngestionSession` needs. A port, so a test needs no service. */
|
|
6
|
+
export interface ReconciliationPort {
|
|
7
|
+
verify(filterId: string, views: readonly IngestionRunView[]): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
/** The one filter-store method this needs. Read-only by shape. */
|
|
10
|
+
export interface FilterReader {
|
|
11
|
+
get(id: string): Promise<StoredFilter | null>;
|
|
12
|
+
}
|
|
13
|
+
/** The one ledger method this needs beyond what the handler already read. */
|
|
14
|
+
export interface ItemMetaReader {
|
|
15
|
+
get(filterId: string, itemKey: string): {
|
|
16
|
+
meta: string | null;
|
|
17
|
+
} | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface IngestionReconciliationRunnerOptions {
|
|
20
|
+
filters: FilterReader;
|
|
21
|
+
ledger: ItemMetaReader;
|
|
22
|
+
service: Pick<ReconciliationService, "verifyIfStale">;
|
|
23
|
+
logger: pino.Logger;
|
|
24
|
+
}
|
|
25
|
+
export declare class IngestionReconciliationRunner implements ReconciliationPort {
|
|
26
|
+
private readonly filters;
|
|
27
|
+
private readonly ledger;
|
|
28
|
+
private readonly service;
|
|
29
|
+
private readonly logger;
|
|
30
|
+
constructor(options: IngestionReconciliationRunnerOptions);
|
|
31
|
+
/**
|
|
32
|
+
* Turn one filter's rendered views into candidates and hand them to the
|
|
33
|
+
* service.
|
|
34
|
+
*
|
|
35
|
+
* A filter that no longer exists, or one whose match carries no `appSlug`,
|
|
36
|
+
* produces zero candidates and issues zero reads. Both are ordinary states -
|
|
37
|
+
* a filter can be deleted between the render and this call - and neither is
|
|
38
|
+
* worth a verdict, because "the filter is gone" says nothing about whether the
|
|
39
|
+
* artifact was handled.
|
|
40
|
+
*/
|
|
41
|
+
verify(filterId: string, views: readonly IngestionRunView[]): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// FROM A RENDERED VIEW BACK TO A READABLE CANDIDATE.
|
|
2
|
+
//
|
|
3
|
+
// `ReconciliationService` takes `ReconcileCandidate`s - filter, item, app slug,
|
|
4
|
+
// source, and the item's `meta`. The `ingestion/runs` handler has
|
|
5
|
+
// `IngestionRunView`s, which carry `itemKey` and nothing else about where the
|
|
6
|
+
// item came from. Something has to bridge them, and this is it.
|
|
7
|
+
//
|
|
8
|
+
// It is a separate file rather than three more methods on `ChatIngestionSession`
|
|
9
|
+
// because of what it has to hold: the filter store, the ledger AND the service.
|
|
10
|
+
// Putting that on the session would give a class whose safety argument is "it
|
|
11
|
+
// holds no write path" three more collaborators to be audited against, and the
|
|
12
|
+
// bridge itself is pure lookup that deserves its own test.
|
|
13
|
+
//
|
|
14
|
+
// The whole class is best-effort. Every method that can fail returns early
|
|
15
|
+
// rather than throwing, because its one caller has ALREADY emitted a response:
|
|
16
|
+
// a throw here would surface as an unhandled rejection attached to a request the
|
|
17
|
+
// client was told succeeded.
|
|
18
|
+
/**
|
|
19
|
+
* The item's stored `meta`, parsed, or an empty object.
|
|
20
|
+
*
|
|
21
|
+
* `meta` is a TEXT column holding JSON the ledger itself wrote through its
|
|
22
|
+
* five-key allow-list, so it should always parse - but "should always" is not a
|
|
23
|
+
* reason to let a hand-edited row take down a background pass. An unparseable
|
|
24
|
+
* value yields `{}`, which makes every reconciler return `unreachable` (no URL,
|
|
25
|
+
* no read), which leaves the row standing. The safe direction, again.
|
|
26
|
+
*/
|
|
27
|
+
function parseMeta(raw) {
|
|
28
|
+
if (raw === null)
|
|
29
|
+
return {};
|
|
30
|
+
try {
|
|
31
|
+
const parsed = JSON.parse(raw);
|
|
32
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
|
|
33
|
+
return {};
|
|
34
|
+
return parsed;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class IngestionReconciliationRunner {
|
|
41
|
+
constructor(options) {
|
|
42
|
+
this.filters = options.filters;
|
|
43
|
+
this.ledger = options.ledger;
|
|
44
|
+
this.service = options.service;
|
|
45
|
+
this.logger = options.logger;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Turn one filter's rendered views into candidates and hand them to the
|
|
49
|
+
* service.
|
|
50
|
+
*
|
|
51
|
+
* A filter that no longer exists, or one whose match carries no `appSlug`,
|
|
52
|
+
* produces zero candidates and issues zero reads. Both are ordinary states -
|
|
53
|
+
* a filter can be deleted between the render and this call - and neither is
|
|
54
|
+
* worth a verdict, because "the filter is gone" says nothing about whether the
|
|
55
|
+
* artifact was handled.
|
|
56
|
+
*/
|
|
57
|
+
async verify(filterId, views) {
|
|
58
|
+
if (views.length === 0)
|
|
59
|
+
return;
|
|
60
|
+
const filter = await this.filters.get(filterId);
|
|
61
|
+
if (!filter)
|
|
62
|
+
return;
|
|
63
|
+
const appSlug = filter.match.appSlug;
|
|
64
|
+
// `appSlug` is an opaque runtime string; the registry decides whether paseo
|
|
65
|
+
// can read it, and it decides that inside the service (gate 2), not here.
|
|
66
|
+
// Pre-filtering here would duplicate that judgement in a second place.
|
|
67
|
+
if (typeof appSlug !== "string" || appSlug.trim().length === 0)
|
|
68
|
+
return;
|
|
69
|
+
const candidates = [];
|
|
70
|
+
for (const view of views) {
|
|
71
|
+
const entry = this.ledger.get(filterId, view.itemKey);
|
|
72
|
+
candidates.push({
|
|
73
|
+
filterId,
|
|
74
|
+
itemKey: view.itemKey,
|
|
75
|
+
appSlug,
|
|
76
|
+
sourceId: filter.sourceId,
|
|
77
|
+
ref: { itemKey: view.itemKey, meta: parseMeta(entry?.meta ?? null) },
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
const outcomes = await this.service.verifyIfStale(candidates);
|
|
81
|
+
const read = [...outcomes.values()].filter((outcome) => outcome.read).length;
|
|
82
|
+
if (read > 0) {
|
|
83
|
+
// Debug rather than info: this fires on every Inbox poll whose stamps went
|
|
84
|
+
// stale, which on an open Inbox is every minute. The per-slug LATENCY
|
|
85
|
+
// snapshot is the line worth reading, and the service emits that one on
|
|
86
|
+
// its own interval.
|
|
87
|
+
this.logger.debug({ filterId, appSlug, candidates: candidates.length, read }, "Ingestion reconcile pass complete");
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=runner.js.map
|