@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,220 @@
|
|
|
1
|
+
import type { StoredFilter } from "@hyperdrive.bot/fleet-protocol/ingestion/filter-types";
|
|
2
|
+
import type { ApplyStatus, CapReport, CollapseCount } from "@hyperdrive.bot/fleet-protocol/ingestion/types";
|
|
3
|
+
import type { CapLimiterAdmit } from "./cap-limiter.js";
|
|
4
|
+
import { type DryRunDispatcher } from "./dry-run.js";
|
|
5
|
+
import type { ClaimOptions, MarkOptions } from "./ledger.js";
|
|
6
|
+
import type { MatchedItem, MatchedItemGroup } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Above THIS many groups, a manual apply needs an explicit yes.
|
|
9
|
+
*
|
|
10
|
+
* `1`, not `0` and not `5`. Forty items that collapse to a single group produce
|
|
11
|
+
* ONE outward artifact - one merge request, one draft - and that is the
|
|
12
|
+
* single-item case the user already consented to by pressing the verb. The
|
|
13
|
+
* threshold is about how many artifacts appear in the world, never about how
|
|
14
|
+
* many rows were ticked.
|
|
15
|
+
*/
|
|
16
|
+
export declare const BATCH_CONFIRM_THRESHOLD_GROUPS = 1;
|
|
17
|
+
/** What one group of a cohort is doing, on the cohort record. */
|
|
18
|
+
export type CohortGroupStatus = "pending" | "running" | "succeeded" | "failed" | "skipped";
|
|
19
|
+
export interface CohortGroupPatch {
|
|
20
|
+
status?: CohortGroupStatus;
|
|
21
|
+
agentId?: string | null;
|
|
22
|
+
error?: string | null;
|
|
23
|
+
/**
|
|
24
|
+
* The run this group was dispatched as. Written on `running` and nowhere else.
|
|
25
|
+
*
|
|
26
|
+
* Added by Story 5.4 because it is the ONLY thing that makes "this group was
|
|
27
|
+
* dispatched exactly once" checkable after a crash: a second dispatch would
|
|
28
|
+
* have to write a second, different value. `agentId` cannot stand in for it -
|
|
29
|
+
* it is null at dispatch and only arrives when the session comes back.
|
|
30
|
+
*/
|
|
31
|
+
runId?: string | null;
|
|
32
|
+
}
|
|
33
|
+
export interface CohortCreateInput {
|
|
34
|
+
filterId: string;
|
|
35
|
+
mode: "dry-run" | "apply";
|
|
36
|
+
createdAt: number;
|
|
37
|
+
/** Every group this cohort dispatched, in the grouper's deterministic order. */
|
|
38
|
+
groups: Array<{
|
|
39
|
+
key: string;
|
|
40
|
+
itemKeys: string[];
|
|
41
|
+
}>;
|
|
42
|
+
/** How many groups were handed to the provider. NEVER how many succeeded. */
|
|
43
|
+
dispatched: number;
|
|
44
|
+
report: CapReport;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The narrow port `applySelection` records a cohort through (D6).
|
|
48
|
+
*
|
|
49
|
+
* Two methods, no store, no sqlite, no home directory. Story 5.4's
|
|
50
|
+
* `cohort-store.ts` becomes the production implementation by satisfying this
|
|
51
|
+
* structurally; this story's tests use an in-memory fake. Depending on the
|
|
52
|
+
* concrete store here would make 5.3 unshippable until 5.4 lands and would
|
|
53
|
+
* invite a second cohort store to appear in this file in the meantime.
|
|
54
|
+
*/
|
|
55
|
+
export interface CohortRecorder {
|
|
56
|
+
create(input: CohortCreateInput): Promise<string>;
|
|
57
|
+
markGroup(cohortId: string, groupKey: string, patch: CohortGroupPatch): Promise<void>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The ledger surface the apply path touches, and nothing wider.
|
|
61
|
+
*
|
|
62
|
+
* `claim` and `mark` only. No `touch`, no `recordFailure`, no `prune`: the two
|
|
63
|
+
* methods here are the two halves of the discipline this module has to keep -
|
|
64
|
+
* claim when the dispatch leaves, mark only when it comes back succeeded - and
|
|
65
|
+
* a wider port would put "record this as handled" within reach of the dispatch
|
|
66
|
+
* site.
|
|
67
|
+
*/
|
|
68
|
+
export interface ApplyLedger {
|
|
69
|
+
claim(filterId: string, itemKey: string, options: ClaimOptions): boolean;
|
|
70
|
+
mark(filterId: string, itemKey: string, options: MarkOptions): void;
|
|
71
|
+
}
|
|
72
|
+
export interface ApplyResult {
|
|
73
|
+
status: ApplyStatus;
|
|
74
|
+
cohortId: string | null;
|
|
75
|
+
collapse: CollapseCount;
|
|
76
|
+
report: CapReport;
|
|
77
|
+
}
|
|
78
|
+
export interface ApplySelectionParams {
|
|
79
|
+
filter: StoredFilter;
|
|
80
|
+
/**
|
|
81
|
+
* The matched items the selection is drawn FROM - the preview the user was
|
|
82
|
+
* looking at, already matched, already carrying payloads.
|
|
83
|
+
*
|
|
84
|
+
* DIVERGENCE from the story's AC1 signature, which lists eight keys and no
|
|
85
|
+
* item source. Task 2 requires `applySelection` to "resolve `itemKeys` to
|
|
86
|
+
* items", and none of the eight can do that: `ledger` stores hashes and never
|
|
87
|
+
* payloads, and a gateway is deliberately absent. Passing the pool in keeps
|
|
88
|
+
* the resolution a pure set intersection and keeps this module unable to read
|
|
89
|
+
* a source at all, which is decision 3 in the file header.
|
|
90
|
+
*/
|
|
91
|
+
items: readonly MatchedItem[];
|
|
92
|
+
/** The subset of `items` the user ticked, by `MatchedItem.key`. */
|
|
93
|
+
itemKeys: readonly string[];
|
|
94
|
+
mode: "dry-run" | "apply";
|
|
95
|
+
/**
|
|
96
|
+
* The group count the CLIENT is confirming, echoed back from a previous
|
|
97
|
+
* `needs-confirmation` response. Absent on a first call.
|
|
98
|
+
*
|
|
99
|
+
* Never a client-side computation and never a preference. It is a claim about
|
|
100
|
+
* what the client was shown, and this module's only use for it is to check it
|
|
101
|
+
* against a freshly recomputed number and refuse on a mismatch.
|
|
102
|
+
*/
|
|
103
|
+
confirmedGroups?: number;
|
|
104
|
+
limiter: CapLimiterAdmit;
|
|
105
|
+
ledger: ApplyLedger;
|
|
106
|
+
/** `ScheduleService`, structurally. The ONE new-agent minting path in the daemon. */
|
|
107
|
+
schedule: DryRunDispatcher;
|
|
108
|
+
cohorts: CohortRecorder;
|
|
109
|
+
now: () => Date;
|
|
110
|
+
/** Injected for determinism in tests. Defaults to `randomUUID`, like `service.ts`. */
|
|
111
|
+
runIdFactory?: () => string;
|
|
112
|
+
/**
|
|
113
|
+
* Called once the background dispatch loop settles.
|
|
114
|
+
*
|
|
115
|
+
* `applySelection` resolves BEFORE the sessions finish (AC1), so without this
|
|
116
|
+
* a test would have to poll for completion and a caller would have no way to
|
|
117
|
+
* know the cohort reached a terminal state. It is a notification, never a
|
|
118
|
+
* result: nothing downstream is allowed to treat "the loop ended" as "the
|
|
119
|
+
* groups succeeded".
|
|
120
|
+
*/
|
|
121
|
+
onSettled?: (summary: {
|
|
122
|
+
cohortId: string;
|
|
123
|
+
succeeded: number;
|
|
124
|
+
failed: number;
|
|
125
|
+
}) => void;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Filter ids with a manual apply in flight, process-wide.
|
|
129
|
+
*
|
|
130
|
+
* DIVERGENCE from the story's Task 2, which names
|
|
131
|
+
* `ScheduleService.runningScheduleIds`. That set is private, has no accessor,
|
|
132
|
+
* and is keyed by SCHEDULE id - a manual apply has no schedule row, so there is
|
|
133
|
+
* no id of that kind to put in it. The ledger's own comment is explicit that
|
|
134
|
+
* `claim()` is item-level dedupe and NOT a process lock, so item claims do not
|
|
135
|
+
* cover this either: two concurrent applies of the same filter would each pass
|
|
136
|
+
* the confirmation gate, each admit against the cap, and interleave two cohorts
|
|
137
|
+
* over one working directory.
|
|
138
|
+
*
|
|
139
|
+
* Module-scoped rather than per-session because the daemon serves many client
|
|
140
|
+
* connections from one process, and a per-connection guard would let two open
|
|
141
|
+
* tabs dispatch the same backlog twice. Exported so a test can assert it is
|
|
142
|
+
* empty after the loop settles rather than inferring it from behaviour.
|
|
143
|
+
*/
|
|
144
|
+
export declare const applyInFlightFilterIds: Set<string>;
|
|
145
|
+
/**
|
|
146
|
+
* A refusal from the apply path, carrying a closed-set code.
|
|
147
|
+
*
|
|
148
|
+
* Its own class rather than an `IngestionError` code, because `IngestionError`'s
|
|
149
|
+
* set is consumed by `health.ts` to decide whether a SOURCE is `revoked` or
|
|
150
|
+
* `degraded`. Neither of those is true of "an apply is already running" or "this
|
|
151
|
+
* daemon has no ledger", and adding the codes there would force a health verdict
|
|
152
|
+
* about an aggregator that is working perfectly.
|
|
153
|
+
*
|
|
154
|
+
* `code` is what reaches the client (the message can quote local state); the set
|
|
155
|
+
* is closed and written here, so it stays renderable without becoming a channel
|
|
156
|
+
* for anything upstream.
|
|
157
|
+
*/
|
|
158
|
+
export declare class ApplyError extends Error {
|
|
159
|
+
readonly code: "APPLY_ALREADY_RUNNING" | "APPLY_LEDGER_UNAVAILABLE";
|
|
160
|
+
constructor(code: ApplyError["code"], message: string);
|
|
161
|
+
}
|
|
162
|
+
/** A manual apply refused because one is already running for this filter. */
|
|
163
|
+
export declare class ApplyInFlightError extends ApplyError {
|
|
164
|
+
constructor(filterId: string);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Dispatch one group's session and record what happened to it.
|
|
168
|
+
*
|
|
169
|
+
* The claim/mark split is the whole point, and the asymmetry is deliberate:
|
|
170
|
+
* every item is CLAIMED before the provider is called, and items are MARKED only
|
|
171
|
+
* after the run comes back succeeded. A group whose run rejects therefore leaves
|
|
172
|
+
* zero marks, leaves `content_hash` untouched, and leaves every one of its items
|
|
173
|
+
* fresh for a later retry. Marking at dispatch would be recording intent as
|
|
174
|
+
* fact, and the cost of that mistake here is a backlog the user believes was
|
|
175
|
+
* handled and nobody ever looks at again.
|
|
176
|
+
*
|
|
177
|
+
* A group with nothing left to claim is SKIPPED, not dispatched: every one of
|
|
178
|
+
* its items is already held by another run, so briefing a session about them
|
|
179
|
+
* would duplicate that run's outward artifact.
|
|
180
|
+
*
|
|
181
|
+
* ONE try covers the whole body, ledger calls included, and that is not defensive
|
|
182
|
+
* padding - it is a bug this spec caught. `ledger.claim` sits before the
|
|
183
|
+
* dispatch, so a sqlite throw there (the file locked, the disk full, or the
|
|
184
|
+
* connection closed under a daemon that is shutting down mid-batch) escaped the
|
|
185
|
+
* inner try, escaped the loop's `for`, and rejected the un-awaited background
|
|
186
|
+
* promise. An unhandled rejection takes the daemon down, long after the caller
|
|
187
|
+
* that started the apply stopped listening. Caught here, the same condition is
|
|
188
|
+
* one failed group on the cohort and nine surviving runs.
|
|
189
|
+
*/
|
|
190
|
+
/**
|
|
191
|
+
* Dispatch ONE group: claim, mint, mark. The unit of one outward artifact.
|
|
192
|
+
*
|
|
193
|
+
* Exported for Story 5.4's restart resume, which must take the IDENTICAL path a
|
|
194
|
+
* freshly-applied group takes - same limiter reservation, same ledger claim,
|
|
195
|
+
* same single-flight, same prompt. A resume that re-implemented this would be a
|
|
196
|
+
* second dispatcher, and the two would drift on the first change to either.
|
|
197
|
+
*/
|
|
198
|
+
export declare function dispatchGroup(params: {
|
|
199
|
+
filter: StoredFilter;
|
|
200
|
+
group: MatchedItemGroup;
|
|
201
|
+
runId: string;
|
|
202
|
+
ledger: ApplyLedger;
|
|
203
|
+
schedule: DryRunDispatcher;
|
|
204
|
+
cohorts: CohortRecorder;
|
|
205
|
+
cohortId: string;
|
|
206
|
+
limiter: CapLimiterAdmit;
|
|
207
|
+
}): Promise<boolean>;
|
|
208
|
+
/**
|
|
209
|
+
* Apply a selection: price it, gate it, and dispatch it.
|
|
210
|
+
*
|
|
211
|
+
* RESOLVES EARLY, on purpose. On `status: "dispatched"` this promise settles
|
|
212
|
+
* once the cohort row exists and the dispatch loop has been kicked off - not
|
|
213
|
+
* once the sessions have finished. Forty sessions can take an hour; a client
|
|
214
|
+
* that had to hold a correlated RPC open for that long would time out, and the
|
|
215
|
+
* user would be told the apply failed while forty agents were still working.
|
|
216
|
+
* The cohort row is the durable record, and it reads `succeeded === 0` at the
|
|
217
|
+
* moment this returns, which is exactly what it should say.
|
|
218
|
+
*/
|
|
219
|
+
export declare function applySelection(params: ApplySelectionParams): Promise<ApplyResult>;
|
|
220
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
// The APPLY verb: turn a user's selection on the backfill worklist into real
|
|
2
|
+
// sessions, under the filter's own group key and the filter's own daily cap.
|
|
3
|
+
//
|
|
4
|
+
// This is the one gesture in the product that can produce dozens of outward
|
|
5
|
+
// artifacts in a single tap - merge requests, Gmail drafts, CI pipelines,
|
|
6
|
+
// reviewer pings - so the module's whole shape is organised around one
|
|
7
|
+
// invariant: THE NUMBER SHOWN IS THE NUMBER DISPATCHED.
|
|
8
|
+
//
|
|
9
|
+
// Three structural decisions carry that invariant, and each is expressed as an
|
|
10
|
+
// absence rather than as a rule somebody has to remember:
|
|
11
|
+
//
|
|
12
|
+
// 1. NO GROUPING HERE. `groupMatchedItems` and `collapseCount` are imported
|
|
13
|
+
// from `./grouping.js`. This file contains no `Map`-keyed bucketing, no
|
|
14
|
+
// local `groupKey` reducer and no `Set`-based count. Two implementations
|
|
15
|
+
// of "how many sessions is this" can disagree; one cannot, and the one
|
|
16
|
+
// that can disagree is the one that would be wrong on the confirmation
|
|
17
|
+
// screen.
|
|
18
|
+
// 2. NO LIMITER CONSTRUCTION. The `CapLimiter` arrives injected and is the
|
|
19
|
+
// same object the overnight tick spends. `new CapLimiter(` does not appear
|
|
20
|
+
// in this file, and a source-scan test fails the build if it ever does.
|
|
21
|
+
// A second limiter would be a second belief about the day's budget.
|
|
22
|
+
// 3. NO SOURCE GATEWAY. `applySelection` never receives one, so nothing here
|
|
23
|
+
// can read a mailbox, resolve an MCP target or reach an aggregator. Items
|
|
24
|
+
// arrive already matched, from the preview the user was looking at.
|
|
25
|
+
//
|
|
26
|
+
// The confirmation gate is enforced HERE, on the server, and not on the screen.
|
|
27
|
+
// A screen-side confirmation is bypassable by any other caller - a CLI, a
|
|
28
|
+
// script, a future MCP tool - and by a client bug. So a multi-group apply is a
|
|
29
|
+
// two-round-trip protocol: the first call prices the plan with the
|
|
30
|
+
// NON-CONSUMING `limiter.preview` and refuses; the client shows the daemon's own
|
|
31
|
+
// numbers; the second call echoes `confirmedGroups`, the daemon recomputes, and
|
|
32
|
+
// refuses again on any mismatch. See D7 in the story.
|
|
33
|
+
import { randomUUID } from "node:crypto";
|
|
34
|
+
import { FILTER_ID_LABEL, INGESTION_MODE_LABEL, ITEM_GROUP_LABEL, ITEM_KEYS_LABEL, } from "@hyperdrive.bot/fleet-protocol/agent-labels";
|
|
35
|
+
import { buildSourceRunPrompt } from "../schedule/source-prompt.js";
|
|
36
|
+
import { runDryRun } from "./dry-run.js";
|
|
37
|
+
import { collapseCount, groupMatchedItems } from "./grouping.js";
|
|
38
|
+
/**
|
|
39
|
+
* Above THIS many groups, a manual apply needs an explicit yes.
|
|
40
|
+
*
|
|
41
|
+
* `1`, not `0` and not `5`. Forty items that collapse to a single group produce
|
|
42
|
+
* ONE outward artifact - one merge request, one draft - and that is the
|
|
43
|
+
* single-item case the user already consented to by pressing the verb. The
|
|
44
|
+
* threshold is about how many artifacts appear in the world, never about how
|
|
45
|
+
* many rows were ticked.
|
|
46
|
+
*/
|
|
47
|
+
export const BATCH_CONFIRM_THRESHOLD_GROUPS = 1;
|
|
48
|
+
/**
|
|
49
|
+
* Filter ids with a manual apply in flight, process-wide.
|
|
50
|
+
*
|
|
51
|
+
* DIVERGENCE from the story's Task 2, which names
|
|
52
|
+
* `ScheduleService.runningScheduleIds`. That set is private, has no accessor,
|
|
53
|
+
* and is keyed by SCHEDULE id - a manual apply has no schedule row, so there is
|
|
54
|
+
* no id of that kind to put in it. The ledger's own comment is explicit that
|
|
55
|
+
* `claim()` is item-level dedupe and NOT a process lock, so item claims do not
|
|
56
|
+
* cover this either: two concurrent applies of the same filter would each pass
|
|
57
|
+
* the confirmation gate, each admit against the cap, and interleave two cohorts
|
|
58
|
+
* over one working directory.
|
|
59
|
+
*
|
|
60
|
+
* Module-scoped rather than per-session because the daemon serves many client
|
|
61
|
+
* connections from one process, and a per-connection guard would let two open
|
|
62
|
+
* tabs dispatch the same backlog twice. Exported so a test can assert it is
|
|
63
|
+
* empty after the loop settles rather than inferring it from behaviour.
|
|
64
|
+
*/
|
|
65
|
+
export const applyInFlightFilterIds = new Set();
|
|
66
|
+
/**
|
|
67
|
+
* A refusal from the apply path, carrying a closed-set code.
|
|
68
|
+
*
|
|
69
|
+
* Its own class rather than an `IngestionError` code, because `IngestionError`'s
|
|
70
|
+
* set is consumed by `health.ts` to decide whether a SOURCE is `revoked` or
|
|
71
|
+
* `degraded`. Neither of those is true of "an apply is already running" or "this
|
|
72
|
+
* daemon has no ledger", and adding the codes there would force a health verdict
|
|
73
|
+
* about an aggregator that is working perfectly.
|
|
74
|
+
*
|
|
75
|
+
* `code` is what reaches the client (the message can quote local state); the set
|
|
76
|
+
* is closed and written here, so it stays renderable without becoming a channel
|
|
77
|
+
* for anything upstream.
|
|
78
|
+
*/
|
|
79
|
+
export class ApplyError extends Error {
|
|
80
|
+
constructor(code, message) {
|
|
81
|
+
super(message);
|
|
82
|
+
this.name = "ApplyError";
|
|
83
|
+
this.code = code;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** A manual apply refused because one is already running for this filter. */
|
|
87
|
+
export class ApplyInFlightError extends ApplyError {
|
|
88
|
+
constructor(filterId) {
|
|
89
|
+
super("APPLY_ALREADY_RUNNING", `An apply is already running for filter ${filterId}`);
|
|
90
|
+
this.name = "ApplyInFlightError";
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The selected subset, in the pool's own order.
|
|
95
|
+
*
|
|
96
|
+
* Order comes from `items`, never from `itemKeys`, so a client that shuffled its
|
|
97
|
+
* selection set cannot change which groups survive a truncating cap. A key that
|
|
98
|
+
* matches nothing is DROPPED rather than throwing: a stale key is an ordinary
|
|
99
|
+
* consequence of the world moving between the preview and the apply, and it
|
|
100
|
+
* shows up honestly as a smaller `collapse.selected` than the client expected.
|
|
101
|
+
*/
|
|
102
|
+
function selectItems(items, itemKeys) {
|
|
103
|
+
const wanted = new Set(itemKeys);
|
|
104
|
+
return items.filter((item) => wanted.has(item.key));
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Dispatch one group's session and record what happened to it.
|
|
108
|
+
*
|
|
109
|
+
* The claim/mark split is the whole point, and the asymmetry is deliberate:
|
|
110
|
+
* every item is CLAIMED before the provider is called, and items are MARKED only
|
|
111
|
+
* after the run comes back succeeded. A group whose run rejects therefore leaves
|
|
112
|
+
* zero marks, leaves `content_hash` untouched, and leaves every one of its items
|
|
113
|
+
* fresh for a later retry. Marking at dispatch would be recording intent as
|
|
114
|
+
* fact, and the cost of that mistake here is a backlog the user believes was
|
|
115
|
+
* handled and nobody ever looks at again.
|
|
116
|
+
*
|
|
117
|
+
* A group with nothing left to claim is SKIPPED, not dispatched: every one of
|
|
118
|
+
* its items is already held by another run, so briefing a session about them
|
|
119
|
+
* would duplicate that run's outward artifact.
|
|
120
|
+
*
|
|
121
|
+
* ONE try covers the whole body, ledger calls included, and that is not defensive
|
|
122
|
+
* padding - it is a bug this spec caught. `ledger.claim` sits before the
|
|
123
|
+
* dispatch, so a sqlite throw there (the file locked, the disk full, or the
|
|
124
|
+
* connection closed under a daemon that is shutting down mid-batch) escaped the
|
|
125
|
+
* inner try, escaped the loop's `for`, and rejected the un-awaited background
|
|
126
|
+
* promise. An unhandled rejection takes the daemon down, long after the caller
|
|
127
|
+
* that started the apply stopped listening. Caught here, the same condition is
|
|
128
|
+
* one failed group on the cohort and nine surviving runs.
|
|
129
|
+
*/
|
|
130
|
+
/**
|
|
131
|
+
* Dispatch ONE group: claim, mint, mark. The unit of one outward artifact.
|
|
132
|
+
*
|
|
133
|
+
* Exported for Story 5.4's restart resume, which must take the IDENTICAL path a
|
|
134
|
+
* freshly-applied group takes - same limiter reservation, same ledger claim,
|
|
135
|
+
* same single-flight, same prompt. A resume that re-implemented this would be a
|
|
136
|
+
* second dispatcher, and the two would drift on the first change to either.
|
|
137
|
+
*/
|
|
138
|
+
export async function dispatchGroup(params) {
|
|
139
|
+
const { filter, group, runId, ledger, schedule, cohorts, cohortId, limiter } = params;
|
|
140
|
+
try {
|
|
141
|
+
const claimed = group.items.filter((item) => ledger.claim(filter.id, item.key, { runId, agentId: null }));
|
|
142
|
+
if (claimed.length === 0) {
|
|
143
|
+
await cohorts.markGroup(cohortId, group.key, {
|
|
144
|
+
status: "skipped",
|
|
145
|
+
error: "every item in this group is already claimed by another run",
|
|
146
|
+
});
|
|
147
|
+
// The reservation goes back. Without this, a group nobody dispatched would
|
|
148
|
+
// stay burned for the rest of the UTC day and the operator would read "cap
|
|
149
|
+
// reached" with one fewer artifact than the number implies.
|
|
150
|
+
limiter.release(filter.id, 1);
|
|
151
|
+
return false;
|
|
152
|
+
}
|
|
153
|
+
await cohorts.markGroup(cohortId, group.key, { status: "running", runId });
|
|
154
|
+
const outcome = await schedule.runUnattendedSession({
|
|
155
|
+
targetConfig: filter.target.config,
|
|
156
|
+
prompt: buildSourceRunPrompt({ filter, items: claimed, runId, mode: "apply" }),
|
|
157
|
+
// No `paseo.schedule-id` / `paseo.schedule-run`: a manual apply is not a
|
|
158
|
+
// schedule run, and labelling it as one would put a phantom row in every
|
|
159
|
+
// surface that walks schedule provenance.
|
|
160
|
+
labels: {
|
|
161
|
+
[FILTER_ID_LABEL]: filter.id,
|
|
162
|
+
[ITEM_GROUP_LABEL]: group.key,
|
|
163
|
+
[ITEM_KEYS_LABEL]: claimed.map((item) => item.key).join(","),
|
|
164
|
+
[INGESTION_MODE_LABEL]: "apply",
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
// ONLY here. The run reached `succeeded`, so the items it covered are
|
|
168
|
+
// handled, and `agentId` is recorded the way `finishRun` records it on a
|
|
169
|
+
// `ScheduleRun`.
|
|
170
|
+
for (const item of claimed) {
|
|
171
|
+
ledger.mark(filter.id, item.key, {
|
|
172
|
+
outcome: "applied",
|
|
173
|
+
contentHash: item.contentHash,
|
|
174
|
+
agentId: outcome.agentId,
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
await cohorts.markGroup(cohortId, group.key, {
|
|
178
|
+
status: "succeeded",
|
|
179
|
+
agentId: outcome.agentId,
|
|
180
|
+
error: null,
|
|
181
|
+
});
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
// Best-effort: if the cohort recorder is the thing that failed, there is
|
|
186
|
+
// nowhere left to write the failure, and throwing from a catch block would
|
|
187
|
+
// put us straight back in the unhandled-rejection hole this try exists to
|
|
188
|
+
// close.
|
|
189
|
+
await cohorts
|
|
190
|
+
.markGroup(cohortId, group.key, {
|
|
191
|
+
status: "failed",
|
|
192
|
+
agentId: null,
|
|
193
|
+
error: error instanceof Error ? error.message : String(error),
|
|
194
|
+
})
|
|
195
|
+
.catch(() => undefined);
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Apply a selection: price it, gate it, and dispatch it.
|
|
201
|
+
*
|
|
202
|
+
* RESOLVES EARLY, on purpose. On `status: "dispatched"` this promise settles
|
|
203
|
+
* once the cohort row exists and the dispatch loop has been kicked off - not
|
|
204
|
+
* once the sessions have finished. Forty sessions can take an hour; a client
|
|
205
|
+
* that had to hold a correlated RPC open for that long would time out, and the
|
|
206
|
+
* user would be told the apply failed while forty agents were still working.
|
|
207
|
+
* The cohort row is the durable record, and it reads `succeeded === 0` at the
|
|
208
|
+
* moment this returns, which is exactly what it should say.
|
|
209
|
+
*/
|
|
210
|
+
export async function applySelection(params) {
|
|
211
|
+
const { filter, items, itemKeys, mode, limiter, ledger, schedule, cohorts, now } = params;
|
|
212
|
+
const runIdFactory = params.runIdFactory ?? (() => randomUUID());
|
|
213
|
+
const selected = selectItems(items, itemKeys);
|
|
214
|
+
// Both numbers from Epic 2, both from the SAME call path that decides what
|
|
215
|
+
// dispatches. `collapse.groups` and `groups.length` cannot disagree because
|
|
216
|
+
// `collapseCount` delegates to `groupMatchedItems`.
|
|
217
|
+
const collapse = collapseCount(selected, filter.groupKey);
|
|
218
|
+
const groups = groupMatchedItems(selected, filter.groupKey);
|
|
219
|
+
if (mode === "dry-run") {
|
|
220
|
+
// Story 5.2 owns the dry-run branch body, admission included: `runDryRun` is
|
|
221
|
+
// the single admission point for that verb and spends the in-memory tuning
|
|
222
|
+
// budget, never the on-disk apply budget. This story owns the wire surface
|
|
223
|
+
// and delegates. A second dry-run path here is how the two would drift.
|
|
224
|
+
//
|
|
225
|
+
// (The story's Task 2 names `planDryRun`; the merged Story 5.2 code names
|
|
226
|
+
// `runDryRun` as the function `applySelection` delegates to, and states so in
|
|
227
|
+
// its own doc comment. The merged code wins.)
|
|
228
|
+
const dry = await runDryRun({ filter, groups, limiter, dispatcher: schedule, runIdFactory });
|
|
229
|
+
return { status: "dispatched", cohortId: null, collapse, report: dry.report };
|
|
230
|
+
}
|
|
231
|
+
// THE GATE, in this order, and both refusals return before anything is
|
|
232
|
+
// claimed, written or spent.
|
|
233
|
+
if (collapse.groups > BATCH_CONFIRM_THRESHOLD_GROUPS && params.confirmedGroups === undefined) {
|
|
234
|
+
// Priced with the NON-CONSUMING verb. Using `admit` here would spend the
|
|
235
|
+
// day's real budget on a plan the user has not agreed to and may cancel.
|
|
236
|
+
const { report } = limiter.preview(filter.id, groups, filter.cap.runsPerDay);
|
|
237
|
+
return { status: "needs-confirmation", cohortId: null, collapse, report };
|
|
238
|
+
}
|
|
239
|
+
if (params.confirmedGroups !== undefined && params.confirmedGroups !== collapse.groups) {
|
|
240
|
+
// The world moved between the two round trips. Refusing is the point: a
|
|
241
|
+
// silent dispatch of the NEW number would be a different batch than the one
|
|
242
|
+
// the user said yes to, which is precisely the failure this gate exists for.
|
|
243
|
+
const { report } = limiter.preview(filter.id, groups, filter.cap.runsPerDay);
|
|
244
|
+
return { status: "stale-plan", cohortId: null, collapse, report };
|
|
245
|
+
}
|
|
246
|
+
if (applyInFlightFilterIds.has(filter.id)) {
|
|
247
|
+
throw new ApplyInFlightError(filter.id);
|
|
248
|
+
}
|
|
249
|
+
// CLAIMED IN THE SAME TICK AS THE CHECK, before the first `await`. Adding it
|
|
250
|
+
// after `cohorts.create` resolved would leave a window in which two concurrent
|
|
251
|
+
// applies both read an empty set, both awaited, and both dispatched - and this
|
|
252
|
+
// is the one verb in the product where losing that race means two batches of
|
|
253
|
+
// outward artifacts for one gesture. Everything below either releases it or
|
|
254
|
+
// hands it to the background loop's `finally`.
|
|
255
|
+
applyInFlightFilterIds.add(filter.id);
|
|
256
|
+
let admission;
|
|
257
|
+
let cohortId;
|
|
258
|
+
try {
|
|
259
|
+
// The limiter admits GROUPS, not items, because `cap.runsPerDay` counts
|
|
260
|
+
// sessions (D-5.2-E). Group first, admit second: admitting items and then
|
|
261
|
+
// grouping would let a filter capped at 10 dispatch 10 sessions covering far
|
|
262
|
+
// more than 10 items, and the number on the confirmation would stop meaning
|
|
263
|
+
// anything.
|
|
264
|
+
admission = limiter.admit(filter.id, groups, filter.cap.runsPerDay);
|
|
265
|
+
if (admission.admitted.length === 0) {
|
|
266
|
+
// Nothing to dispatch and therefore no cohort. The response still carries
|
|
267
|
+
// both numbers, so a client can tell an empty selection
|
|
268
|
+
// (`report.requested === 0`) from a cap that dropped everything
|
|
269
|
+
// (`requested > 0`, `truncated > 0`) - two states an empty screen would
|
|
270
|
+
// otherwise render identically.
|
|
271
|
+
applyInFlightFilterIds.delete(filter.id);
|
|
272
|
+
return { status: "dispatched", cohortId: null, collapse, report: admission.report };
|
|
273
|
+
}
|
|
274
|
+
cohortId = await cohorts.create({
|
|
275
|
+
filterId: filter.id,
|
|
276
|
+
mode,
|
|
277
|
+
createdAt: now().getTime(),
|
|
278
|
+
groups: admission.admitted.map((group) => ({
|
|
279
|
+
key: group.key,
|
|
280
|
+
itemKeys: group.items.map((item) => item.key),
|
|
281
|
+
})),
|
|
282
|
+
// DISPATCHED, never conflated with succeeded. At the instant this row is
|
|
283
|
+
// written, zero of these groups have succeeded, and the record says so by
|
|
284
|
+
// not carrying a success count at all.
|
|
285
|
+
dispatched: admission.admitted.length,
|
|
286
|
+
report: admission.report,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
// Nothing has been dispatched, so the guard has no owner yet. Reachable only
|
|
291
|
+
// before the background loop starts; once it does, its `finally` owns the
|
|
292
|
+
// release and this block cannot run.
|
|
293
|
+
applyInFlightFilterIds.delete(filter.id);
|
|
294
|
+
throw error;
|
|
295
|
+
}
|
|
296
|
+
// Deliberately NOT awaited - see the doc comment. `void` plus a `.catch` that
|
|
297
|
+
// cannot itself throw: an unhandled rejection here would take the daemon down
|
|
298
|
+
// long after the caller stopped listening.
|
|
299
|
+
void (async () => {
|
|
300
|
+
let succeeded = 0;
|
|
301
|
+
let failed = 0;
|
|
302
|
+
try {
|
|
303
|
+
// SEQUENTIAL, one session at a time, never a parallel fan-out: an admitted
|
|
304
|
+
// batch of ten must not open ten provider sessions in one working
|
|
305
|
+
// directory. Awaiting each dispatch is what bounds concurrency, and a
|
|
306
|
+
// group that fails does NOT abort the rest - one bad group is one failed
|
|
307
|
+
// row, not nine lost runs.
|
|
308
|
+
for (const group of admission.admitted) {
|
|
309
|
+
const ok = await dispatchGroup({
|
|
310
|
+
filter,
|
|
311
|
+
group,
|
|
312
|
+
runId: runIdFactory(),
|
|
313
|
+
ledger,
|
|
314
|
+
schedule,
|
|
315
|
+
cohorts,
|
|
316
|
+
cohortId,
|
|
317
|
+
limiter,
|
|
318
|
+
});
|
|
319
|
+
if (ok) {
|
|
320
|
+
succeeded += 1;
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
failed += 1;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
finally {
|
|
328
|
+
applyInFlightFilterIds.delete(filter.id);
|
|
329
|
+
// A throwing `onSettled` must not become the unhandled rejection either.
|
|
330
|
+
try {
|
|
331
|
+
params.onSettled?.({ cohortId, succeeded, failed });
|
|
332
|
+
}
|
|
333
|
+
catch {
|
|
334
|
+
// The notification is not the work. Losing it costs a test its wake-up;
|
|
335
|
+
// rethrowing it would cost the daemon its process.
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
})().catch(() => {
|
|
339
|
+
// Unreachable while `dispatchGroup` swallows its own failures, and kept as
|
|
340
|
+
// the backstop precisely because "unreachable" is a claim about today's code
|
|
341
|
+
// and this promise has no owner to reject to.
|
|
342
|
+
});
|
|
343
|
+
return { status: "dispatched", cohortId, collapse, report: admission.report };
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=apply.js.map
|