@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,38 @@
|
|
|
1
|
+
import type { SourceStatus, StoredSource } from "@hyperdrive.bot/fleet-protocol/ingestion/types";
|
|
2
|
+
import type { SourceGateway, SourceKind } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* What `checkSource` needs from the world.
|
|
5
|
+
*
|
|
6
|
+
* `now` is injected rather than read from the clock so a caller's tests are
|
|
7
|
+
* hermetic; the gateway is resolved through a function rather than passed
|
|
8
|
+
* directly so one sweep can span sources of different kinds without the caller
|
|
9
|
+
* pre-grouping them.
|
|
10
|
+
*/
|
|
11
|
+
export interface HealthDeps {
|
|
12
|
+
resolveGateway(kind: SourceKind): SourceGateway;
|
|
13
|
+
externalUserId: string;
|
|
14
|
+
now(): Date;
|
|
15
|
+
}
|
|
16
|
+
/** The decision returned by a health check. Deliberately not a StoredSource patch. */
|
|
17
|
+
export interface SourceHealth {
|
|
18
|
+
status: SourceStatus;
|
|
19
|
+
lastError: string | null;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The ONE health implementation for a connected source.
|
|
23
|
+
*
|
|
24
|
+
* It is a pure decision function: it asks the gateway what accounts exist and
|
|
25
|
+
* maps the answer onto a status. It performs NO writes. Both the `source/check`
|
|
26
|
+
* RPC and the background sweep call this and then persist through the single
|
|
27
|
+
* private method on IngestionService, so there is exactly one notion of what
|
|
28
|
+
* "healthy" means and exactly one place that records it. A second liveness
|
|
29
|
+
* check added elsewhere is a defect, not an optimization.
|
|
30
|
+
*
|
|
31
|
+
* `lastError` always carries an error CODE, never a thrown message. That field
|
|
32
|
+
* is persisted to disk and returned on the wire, and an aggregator's error body
|
|
33
|
+
* is text we did not write which can echo request context, so interpolating it
|
|
34
|
+
* is the exact mechanism by which a header value ends up in a JSON file nobody
|
|
35
|
+
* can trace back to a commit.
|
|
36
|
+
*/
|
|
37
|
+
export declare function checkSource(source: StoredSource, deps: HealthDeps): Promise<SourceHealth>;
|
|
38
|
+
//# sourceMappingURL=health.d.ts.map
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { IngestionError } from "./errors.js";
|
|
2
|
+
/**
|
|
3
|
+
* How each aggregator failure maps onto a source status.
|
|
4
|
+
*
|
|
5
|
+
* A `Record<IngestionErrorCode, ...>` rather than a switch, matching
|
|
6
|
+
* `SOURCE_ADAPTERS` in adapters.ts and for the same reason: a code added to
|
|
7
|
+
* INGESTION_ERROR_CODES without a mapping here fails to satisfy the record and
|
|
8
|
+
* breaks the build, instead of silently falling through to a default that
|
|
9
|
+
* quietly mislabels a revoked source as degraded.
|
|
10
|
+
*
|
|
11
|
+
* The split is "can the user fix this by re-authorizing?". A rejected platform
|
|
12
|
+
* credential and a resource deleted upstream are terminal for this source, so
|
|
13
|
+
* they read `revoked`. Everything else is a transient or operator-side fault
|
|
14
|
+
* the next sweep may clear, so it reads `degraded`.
|
|
15
|
+
*/
|
|
16
|
+
const ERROR_CODE_STATUS = {
|
|
17
|
+
PIPEDREAM_OFF: "degraded",
|
|
18
|
+
COMPOSIO_OFF: "degraded",
|
|
19
|
+
COMPOSIO_NEEDS_SETUP: "degraded",
|
|
20
|
+
PIPEDREAM_OFFLINE: "degraded",
|
|
21
|
+
PIPEDREAM_AUTH: "revoked",
|
|
22
|
+
COMPOSIO_OFFLINE: "degraded",
|
|
23
|
+
COMPOSIO_AUTH: "revoked",
|
|
24
|
+
COMPOSIO_ERROR: "degraded",
|
|
25
|
+
SOURCE_GONE: "revoked",
|
|
26
|
+
SOURCE_ERROR: "degraded",
|
|
27
|
+
// The 404 pair cannot arise from a health check: `checkSource` is only ever
|
|
28
|
+
// called with a source record that was just read off disk, so "no such
|
|
29
|
+
// source" and "no such filter" are unreachable here. They are mapped anyway
|
|
30
|
+
// rather than excluded from the type, because the record's whole job is to
|
|
31
|
+
// make the code set exhaustive at compile time - an exclusion would reopen
|
|
32
|
+
// the hole it exists to close. `degraded` and not `revoked`: if one ever did
|
|
33
|
+
// arrive, it would mean a local record went missing, which re-authorizing
|
|
34
|
+
// cannot fix and which the next sweep may well find restored.
|
|
35
|
+
FILTER_MISSING: "degraded",
|
|
36
|
+
SOURCE_MISSING: "degraded",
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* The ONE health implementation for a connected source.
|
|
40
|
+
*
|
|
41
|
+
* It is a pure decision function: it asks the gateway what accounts exist and
|
|
42
|
+
* maps the answer onto a status. It performs NO writes. Both the `source/check`
|
|
43
|
+
* RPC and the background sweep call this and then persist through the single
|
|
44
|
+
* private method on IngestionService, so there is exactly one notion of what
|
|
45
|
+
* "healthy" means and exactly one place that records it. A second liveness
|
|
46
|
+
* check added elsewhere is a defect, not an optimization.
|
|
47
|
+
*
|
|
48
|
+
* `lastError` always carries an error CODE, never a thrown message. That field
|
|
49
|
+
* is persisted to disk and returned on the wire, and an aggregator's error body
|
|
50
|
+
* is text we did not write which can echo request context, so interpolating it
|
|
51
|
+
* is the exact mechanism by which a header value ends up in a JSON file nobody
|
|
52
|
+
* can trace back to a commit.
|
|
53
|
+
*/
|
|
54
|
+
export async function checkSource(source, deps) {
|
|
55
|
+
// Resolved OUTSIDE the try on purpose. The resolver is a local synchronous
|
|
56
|
+
// factory, so a throw here is a wiring fault in this daemon, not an
|
|
57
|
+
// aggregator fault. Classifying it as "the source is degraded" would be a
|
|
58
|
+
// false diagnosis that sends the next reader to debug Gmail. Letting it
|
|
59
|
+
// propagate is what gives the sweep's Promise.allSettled a rejected entry to
|
|
60
|
+
// log and skip.
|
|
61
|
+
const gateway = deps.resolveGateway(source.kind);
|
|
62
|
+
try {
|
|
63
|
+
const accounts = await gateway.listAccounts(deps.externalUserId, source.appSlug);
|
|
64
|
+
if (accounts.length === 0) {
|
|
65
|
+
return { status: "revoked", lastError: "account_not_found" };
|
|
66
|
+
}
|
|
67
|
+
if (source.externalAccountId !== null) {
|
|
68
|
+
const known = accounts.find((account) => account.id === source.externalAccountId);
|
|
69
|
+
if (!known) {
|
|
70
|
+
// The account we recorded is gone upstream, even though others remain.
|
|
71
|
+
return { status: "revoked", lastError: "account_not_found" };
|
|
72
|
+
}
|
|
73
|
+
return known.status === "active"
|
|
74
|
+
? { status: "active", lastError: null }
|
|
75
|
+
: { status: "degraded", lastError: "account_inactive" };
|
|
76
|
+
}
|
|
77
|
+
return accounts.some((account) => account.status === "active")
|
|
78
|
+
? { status: "active", lastError: null }
|
|
79
|
+
: { status: "degraded", lastError: "account_inactive" };
|
|
80
|
+
}
|
|
81
|
+
catch (error) {
|
|
82
|
+
if (error instanceof IngestionError) {
|
|
83
|
+
return { status: ERROR_CODE_STATUS[error.code], lastError: error.code };
|
|
84
|
+
}
|
|
85
|
+
// Not an IngestionError, so the message is unclassified text of unknown
|
|
86
|
+
// provenance. Record a sentinel and drop the message on the floor.
|
|
87
|
+
return { status: "degraded", lastError: "check_failed" };
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { DatabaseSync } from "node:sqlite";
|
|
2
|
+
/**
|
|
3
|
+
* Bump when the DDL below changes in a way an existing file cannot satisfy.
|
|
4
|
+
* Mirrors `INDEX_SCHEMA_VERSION` in `search/index-store.ts`, but the handling
|
|
5
|
+
* differs: the search index is a derived cache that can be rebuilt, whereas
|
|
6
|
+
* this ledger is the daemon's only memory of what it already dispatched. A
|
|
7
|
+
* future version bump must MIGRATE, never `DELETE FROM`.
|
|
8
|
+
*
|
|
9
|
+
* Version history:
|
|
10
|
+
* v1 (Story 3.1) `ingestion_items` + `ingestion_dispatch_budget`
|
|
11
|
+
* v2 (Story 5.4) `ingestion_cohorts` + `ingestion_cohort_groups`
|
|
12
|
+
* v3 (Story 6.1) the five RECONCILE columns on `ingestion_items` -
|
|
13
|
+
* `verified_at`, `verified_verdict`, `verified_signature`,
|
|
14
|
+
* `reconcile_attempted_at`, `reconcile_fail_count`
|
|
15
|
+
*
|
|
16
|
+
* v1 and v2 are additive `CREATE TABLE IF NOT EXISTS`. v3 is the first version
|
|
17
|
+
* that has to ALTER an existing populated table, which is why it gets its own
|
|
18
|
+
* `migrateToV3` step with a `table_info` guard rather than a bare `ALTER`.
|
|
19
|
+
*/
|
|
20
|
+
export declare const LEDGER_SCHEMA_VERSION = 4;
|
|
21
|
+
/** Consecutive failures before an item is parked. Written by Story 3.3. */
|
|
22
|
+
export declare const BACKOFF_THRESHOLD = 3;
|
|
23
|
+
/** How long a parked item stays parked: 6h, so a bad item gets ~4 shots a day, not 116. */
|
|
24
|
+
export declare const BACKOFF_COOLDOWN_MS = 21600000;
|
|
25
|
+
/** Rows untouched for this long are prunable. The pruner itself is Story 3.2. */
|
|
26
|
+
export declare const LEDGER_PRUNE_DAYS = 30;
|
|
27
|
+
/**
|
|
28
|
+
* THE v3 COLUMN SET - reconciliation's five columns on `ingestion_items`.
|
|
29
|
+
*
|
|
30
|
+
* Additive `ALTER TABLE ... ADD COLUMN` only. Nothing in this file drops a
|
|
31
|
+
* table or a column, builds a shadow table to copy rows into, or deletes from
|
|
32
|
+
* `ingestion_items`: the ledger is the daemon's only memory of what it already
|
|
33
|
+
* dispatched, so a migration that rewrote it would trade a schema change for a
|
|
34
|
+
* night of duplicate outward artifacts. `ledger-schema.test.ts` asserts that
|
|
35
|
+
* STATICALLY, by scanning this file's own source for the five destructive SQL
|
|
36
|
+
* forms - which is why this comment describes them in prose rather than
|
|
37
|
+
* spelling them, since a grep gate cannot tell a warning from an instruction.
|
|
38
|
+
*
|
|
39
|
+
* `reconcile_fail_count` carries `NOT NULL DEFAULT 0` while the other four are
|
|
40
|
+
* nullable, for two independent reasons that happen to agree:
|
|
41
|
+
* - sqlite REQUIRES a non-null default to add a `NOT NULL` column to a table
|
|
42
|
+
* that already has rows; without it the ALTER throws
|
|
43
|
+
* - a counter's identity IS zero. "This item has failed no reconcile reads"
|
|
44
|
+
* is a fact, not an absence. A timestamp's absence is genuinely unknown -
|
|
45
|
+
* `verified_at NULL` means "never verified", which must never render as
|
|
46
|
+
* "verified at the epoch".
|
|
47
|
+
*
|
|
48
|
+
* Named as data rather than inlined so `migrateToV3` can diff it against
|
|
49
|
+
* `PRAGMA table_info` and add only what is missing: sqlite has no
|
|
50
|
+
* `ADD COLUMN IF NOT EXISTS`, so re-running a bare ALTER throws
|
|
51
|
+
* `duplicate column name`.
|
|
52
|
+
*/
|
|
53
|
+
export declare const RECONCILE_COLUMNS_V3: readonly [{
|
|
54
|
+
readonly name: "verified_at";
|
|
55
|
+
readonly ddl: "ALTER TABLE ingestion_items ADD COLUMN verified_at INTEGER";
|
|
56
|
+
}, {
|
|
57
|
+
readonly name: "verified_verdict";
|
|
58
|
+
readonly ddl: "ALTER TABLE ingestion_items ADD COLUMN verified_verdict TEXT";
|
|
59
|
+
}, {
|
|
60
|
+
readonly name: "verified_signature";
|
|
61
|
+
readonly ddl: "ALTER TABLE ingestion_items ADD COLUMN verified_signature TEXT";
|
|
62
|
+
}, {
|
|
63
|
+
readonly name: "reconcile_attempted_at";
|
|
64
|
+
readonly ddl: "ALTER TABLE ingestion_items ADD COLUMN reconcile_attempted_at INTEGER";
|
|
65
|
+
}, {
|
|
66
|
+
readonly name: "reconcile_fail_count";
|
|
67
|
+
readonly ddl: "ALTER TABLE ingestion_items ADD COLUMN reconcile_fail_count INTEGER NOT NULL DEFAULT 0";
|
|
68
|
+
}];
|
|
69
|
+
/**
|
|
70
|
+
* The v4 column, added by Story 6.2 because the v3 join did not survive contact
|
|
71
|
+
* with the item lifecycle.
|
|
72
|
+
*
|
|
73
|
+
* `claim_run_id` names the run CURRENTLY holding the claim, so `mark()` and
|
|
74
|
+
* `releaseStaleClaims()` both null it - correctly, for what that column means.
|
|
75
|
+
* But the `ingestion/runs` projection joined on it, and the population the Inbox
|
|
76
|
+
* is actually about is HANDLED items: an item whose agent finished has
|
|
77
|
+
* `claim_run_id IS NULL`, so it never joined, so it was never reconciled, and
|
|
78
|
+
* after any daemon restart `releaseStaleClaims()` nulled the rest. The Inbox
|
|
79
|
+
* could only ever have shown rows whose dispatch was still in flight in this
|
|
80
|
+
* process.
|
|
81
|
+
*
|
|
82
|
+
* `last_run_id` is the same value with a different lifetime: written beside
|
|
83
|
+
* `claim_run_id` on `claim()`, and never cleared by anything. The two are
|
|
84
|
+
* deliberately separate columns rather than one repurposed column, because they
|
|
85
|
+
* answer different questions - "who holds this now?" drives release, "which run
|
|
86
|
+
* produced this row?" drives the projection - and collapsing them would make
|
|
87
|
+
* `releaseStaleClaims()` unable to tell a live claim from a finished one.
|
|
88
|
+
*/
|
|
89
|
+
export declare const RUN_ID_COLUMNS_V4: readonly [{
|
|
90
|
+
readonly name: "last_run_id";
|
|
91
|
+
readonly ddl: "ALTER TABLE ingestion_items ADD COLUMN last_run_id TEXT";
|
|
92
|
+
}];
|
|
93
|
+
/**
|
|
94
|
+
* Bring `db` up to `LEDGER_SCHEMA_VERSION`. Idempotent: every statement is
|
|
95
|
+
* `IF NOT EXISTS` or guarded by a `PRAGMA table_info` diff, so a second call
|
|
96
|
+
* against an already-provisioned database is a no-op that destroys no rows.
|
|
97
|
+
*/
|
|
98
|
+
export declare function ensureSchema(db: DatabaseSync): void;
|
|
99
|
+
//# sourceMappingURL=ledger-schema.d.ts.map
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
// Schema for the ingestion ledger: one row per (filter, item) the daemon has
|
|
2
|
+
// ever laid eyes on, in the `paseo.sqlite` file under the daemon's home
|
|
3
|
+
// directory (injected by the caller, never re-derived here).
|
|
4
|
+
//
|
|
5
|
+
// The whole point of this table is a single question - "is this item fresh?" -
|
|
6
|
+
// answered from durable storage rather than process memory, so a daemon restart
|
|
7
|
+
// does not re-dispatch a night's worth of already-handled items.
|
|
8
|
+
//
|
|
9
|
+
// Ownership of the columns is split across three stories on purpose, and the
|
|
10
|
+
// full table is created here so neither later story needs a migration:
|
|
11
|
+
// Story 3.1 (this one) WRITES first_seen_at, last_seen_at, content_hash, meta
|
|
12
|
+
// Story 3.2 WRITES handled_at, outcome, claimed_at, claim_run_id, agent_id
|
|
13
|
+
// Story 3.3 WRITES fail_count, last_fail_at, fail_sig, alerted_on
|
|
14
|
+
// Writing handled_at/outcome here would silently defeat 3.2's "mark only after
|
|
15
|
+
// success" guarantee, so this story leaves them null.
|
|
16
|
+
/**
|
|
17
|
+
* Bump when the DDL below changes in a way an existing file cannot satisfy.
|
|
18
|
+
* Mirrors `INDEX_SCHEMA_VERSION` in `search/index-store.ts`, but the handling
|
|
19
|
+
* differs: the search index is a derived cache that can be rebuilt, whereas
|
|
20
|
+
* this ledger is the daemon's only memory of what it already dispatched. A
|
|
21
|
+
* future version bump must MIGRATE, never `DELETE FROM`.
|
|
22
|
+
*
|
|
23
|
+
* Version history:
|
|
24
|
+
* v1 (Story 3.1) `ingestion_items` + `ingestion_dispatch_budget`
|
|
25
|
+
* v2 (Story 5.4) `ingestion_cohorts` + `ingestion_cohort_groups`
|
|
26
|
+
* v3 (Story 6.1) the five RECONCILE columns on `ingestion_items` -
|
|
27
|
+
* `verified_at`, `verified_verdict`, `verified_signature`,
|
|
28
|
+
* `reconcile_attempted_at`, `reconcile_fail_count`
|
|
29
|
+
*
|
|
30
|
+
* v1 and v2 are additive `CREATE TABLE IF NOT EXISTS`. v3 is the first version
|
|
31
|
+
* that has to ALTER an existing populated table, which is why it gets its own
|
|
32
|
+
* `migrateToV3` step with a `table_info` guard rather than a bare `ALTER`.
|
|
33
|
+
*/
|
|
34
|
+
export const LEDGER_SCHEMA_VERSION = 4;
|
|
35
|
+
/** Consecutive failures before an item is parked. Written by Story 3.3. */
|
|
36
|
+
export const BACKOFF_THRESHOLD = 3;
|
|
37
|
+
/** How long a parked item stays parked: 6h, so a bad item gets ~4 shots a day, not 116. */
|
|
38
|
+
export const BACKOFF_COOLDOWN_MS = 21600000;
|
|
39
|
+
/** Rows untouched for this long are prunable. The pruner itself is Story 3.2. */
|
|
40
|
+
export const LEDGER_PRUNE_DAYS = 30;
|
|
41
|
+
/**
|
|
42
|
+
* THE v3 COLUMN SET - reconciliation's five columns on `ingestion_items`.
|
|
43
|
+
*
|
|
44
|
+
* Additive `ALTER TABLE ... ADD COLUMN` only. Nothing in this file drops a
|
|
45
|
+
* table or a column, builds a shadow table to copy rows into, or deletes from
|
|
46
|
+
* `ingestion_items`: the ledger is the daemon's only memory of what it already
|
|
47
|
+
* dispatched, so a migration that rewrote it would trade a schema change for a
|
|
48
|
+
* night of duplicate outward artifacts. `ledger-schema.test.ts` asserts that
|
|
49
|
+
* STATICALLY, by scanning this file's own source for the five destructive SQL
|
|
50
|
+
* forms - which is why this comment describes them in prose rather than
|
|
51
|
+
* spelling them, since a grep gate cannot tell a warning from an instruction.
|
|
52
|
+
*
|
|
53
|
+
* `reconcile_fail_count` carries `NOT NULL DEFAULT 0` while the other four are
|
|
54
|
+
* nullable, for two independent reasons that happen to agree:
|
|
55
|
+
* - sqlite REQUIRES a non-null default to add a `NOT NULL` column to a table
|
|
56
|
+
* that already has rows; without it the ALTER throws
|
|
57
|
+
* - a counter's identity IS zero. "This item has failed no reconcile reads"
|
|
58
|
+
* is a fact, not an absence. A timestamp's absence is genuinely unknown -
|
|
59
|
+
* `verified_at NULL` means "never verified", which must never render as
|
|
60
|
+
* "verified at the epoch".
|
|
61
|
+
*
|
|
62
|
+
* Named as data rather than inlined so `migrateToV3` can diff it against
|
|
63
|
+
* `PRAGMA table_info` and add only what is missing: sqlite has no
|
|
64
|
+
* `ADD COLUMN IF NOT EXISTS`, so re-running a bare ALTER throws
|
|
65
|
+
* `duplicate column name`.
|
|
66
|
+
*/
|
|
67
|
+
export const RECONCILE_COLUMNS_V3 = [
|
|
68
|
+
{ name: "verified_at", ddl: "ALTER TABLE ingestion_items ADD COLUMN verified_at INTEGER" },
|
|
69
|
+
{
|
|
70
|
+
name: "verified_verdict",
|
|
71
|
+
ddl: "ALTER TABLE ingestion_items ADD COLUMN verified_verdict TEXT",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
name: "verified_signature",
|
|
75
|
+
ddl: "ALTER TABLE ingestion_items ADD COLUMN verified_signature TEXT",
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "reconcile_attempted_at",
|
|
79
|
+
ddl: "ALTER TABLE ingestion_items ADD COLUMN reconcile_attempted_at INTEGER",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: "reconcile_fail_count",
|
|
83
|
+
ddl: "ALTER TABLE ingestion_items ADD COLUMN reconcile_fail_count INTEGER NOT NULL DEFAULT 0",
|
|
84
|
+
},
|
|
85
|
+
];
|
|
86
|
+
/**
|
|
87
|
+
* The v4 column, added by Story 6.2 because the v3 join did not survive contact
|
|
88
|
+
* with the item lifecycle.
|
|
89
|
+
*
|
|
90
|
+
* `claim_run_id` names the run CURRENTLY holding the claim, so `mark()` and
|
|
91
|
+
* `releaseStaleClaims()` both null it - correctly, for what that column means.
|
|
92
|
+
* But the `ingestion/runs` projection joined on it, and the population the Inbox
|
|
93
|
+
* is actually about is HANDLED items: an item whose agent finished has
|
|
94
|
+
* `claim_run_id IS NULL`, so it never joined, so it was never reconciled, and
|
|
95
|
+
* after any daemon restart `releaseStaleClaims()` nulled the rest. The Inbox
|
|
96
|
+
* could only ever have shown rows whose dispatch was still in flight in this
|
|
97
|
+
* process.
|
|
98
|
+
*
|
|
99
|
+
* `last_run_id` is the same value with a different lifetime: written beside
|
|
100
|
+
* `claim_run_id` on `claim()`, and never cleared by anything. The two are
|
|
101
|
+
* deliberately separate columns rather than one repurposed column, because they
|
|
102
|
+
* answer different questions - "who holds this now?" drives release, "which run
|
|
103
|
+
* produced this row?" drives the projection - and collapsing them would make
|
|
104
|
+
* `releaseStaleClaims()` unable to tell a live claim from a finished one.
|
|
105
|
+
*/
|
|
106
|
+
export const RUN_ID_COLUMNS_V4 = [
|
|
107
|
+
{ name: "last_run_id", ddl: "ALTER TABLE ingestion_items ADD COLUMN last_run_id TEXT" },
|
|
108
|
+
];
|
|
109
|
+
/**
|
|
110
|
+
* `STRICT` is load-bearing, not decoration: every bound value must match its
|
|
111
|
+
* declared type, so a `Date` or a float accidentally bound to an INTEGER column
|
|
112
|
+
* throws at write time instead of silently storing a value that later reads
|
|
113
|
+
* back as the wrong type and skews a freshness verdict. Always bind
|
|
114
|
+
* `now().getTime()`.
|
|
115
|
+
*/
|
|
116
|
+
const CREATE_TABLE_SQL = `
|
|
117
|
+
CREATE TABLE IF NOT EXISTS ingestion_items (
|
|
118
|
+
filter_id TEXT NOT NULL,
|
|
119
|
+
item_key TEXT NOT NULL,
|
|
120
|
+
content_hash TEXT,
|
|
121
|
+
first_seen_at INTEGER NOT NULL,
|
|
122
|
+
last_seen_at INTEGER NOT NULL,
|
|
123
|
+
handled_at INTEGER,
|
|
124
|
+
outcome TEXT,
|
|
125
|
+
fail_count INTEGER NOT NULL DEFAULT 0,
|
|
126
|
+
last_fail_at INTEGER,
|
|
127
|
+
fail_sig TEXT,
|
|
128
|
+
alerted_on TEXT,
|
|
129
|
+
claimed_at INTEGER,
|
|
130
|
+
claim_run_id TEXT,
|
|
131
|
+
agent_id TEXT,
|
|
132
|
+
meta TEXT,
|
|
133
|
+
PRIMARY KEY (filter_id, item_key)
|
|
134
|
+
) STRICT;
|
|
135
|
+
`;
|
|
136
|
+
/**
|
|
137
|
+
* Serves the list path (`WHERE filter_id = ? ORDER BY last_seen_at DESC`).
|
|
138
|
+
* The point lookup rides the composite PRIMARY KEY's implicit
|
|
139
|
+
* `sqlite_autoindex_ingestion_items_1` instead, which is why no second index
|
|
140
|
+
* on (filter_id, item_key) exists here.
|
|
141
|
+
*/
|
|
142
|
+
const CREATE_INDEX_SQL = `
|
|
143
|
+
CREATE INDEX IF NOT EXISTS idx_ingestion_items_filter_seen
|
|
144
|
+
ON ingestion_items (filter_id, last_seen_at DESC);
|
|
145
|
+
`;
|
|
146
|
+
/**
|
|
147
|
+
* THE DAY'S DISPATCH BUDGET - one row per (filter, UTC day), holding how many
|
|
148
|
+
* dispatches that filter has been GRANTED today. Story 3.4.
|
|
149
|
+
*
|
|
150
|
+
* It is a counter table and deliberately NOT a query over `ingestion_items`
|
|
151
|
+
* (decision D-3.4-A). `ingestion_items` is keyed `(filter_id, item_key)`, so
|
|
152
|
+
* any `COUNT(*)` over it counts DISTINCT ITEMS, never attempts - a retry
|
|
153
|
+
* overwrites the same row. Story 3.3 admits up to 7 attempts per item per UTC
|
|
154
|
+
* day (3 before the threshold, then one per 6h cooldown), so a cap of 10
|
|
155
|
+
* enforced per distinct item would permit up to 70 minted sessions in a day.
|
|
156
|
+
* That is the disaster the cap exists to prevent, arrived at THROUGH the
|
|
157
|
+
* mitigation. This table counts attempts.
|
|
158
|
+
*
|
|
159
|
+
* `day` is a zero-padded `YYYY-MM-DD` UTC string precisely so lexicographic
|
|
160
|
+
* comparison equals chronological comparison - that is what `prune()`'s
|
|
161
|
+
* `day < ?` clause depends on, and why the key is an ISO date string rather
|
|
162
|
+
* than a number.
|
|
163
|
+
*
|
|
164
|
+
* Three columns and no free-text payload column, on purpose: there is nowhere
|
|
165
|
+
* for an item's content (and therefore a credential) to land. `CapLimiter`
|
|
166
|
+
* persists a count and nothing else.
|
|
167
|
+
*
|
|
168
|
+
* `PRIMARY KEY (filter_id, day)` is the only index this table gets; the
|
|
169
|
+
* implicit `sqlite_autoindex` already serves the one query shape (a point
|
|
170
|
+
* lookup on both columns), which a test asserts with `EXPLAIN QUERY PLAN`.
|
|
171
|
+
*/
|
|
172
|
+
const CREATE_BUDGET_TABLE_SQL = `
|
|
173
|
+
CREATE TABLE IF NOT EXISTS ingestion_dispatch_budget (
|
|
174
|
+
filter_id TEXT NOT NULL,
|
|
175
|
+
day TEXT NOT NULL,
|
|
176
|
+
dispatched INTEGER NOT NULL DEFAULT 0,
|
|
177
|
+
PRIMARY KEY (filter_id, day)
|
|
178
|
+
) STRICT;
|
|
179
|
+
`;
|
|
180
|
+
/**
|
|
181
|
+
* A COHORT - one batch apply, however many sessions it collapsed to. Story 5.4.
|
|
182
|
+
*
|
|
183
|
+
* Forty selected items are not forty rows on screen; they are one cohort whose
|
|
184
|
+
* progress line has to stay honest while it moves. The counter columns here are
|
|
185
|
+
* DENORMALIZED on purpose and are never what `inspect` returns: `markGroup`
|
|
186
|
+
* maintains them inside the same transaction that moves a group row, and
|
|
187
|
+
* `inspect` derives its counts by `GROUP BY status` over the group rows, so the
|
|
188
|
+
* two are a live consistency check on the transaction boundary rather than two
|
|
189
|
+
* places a number can rot.
|
|
190
|
+
*
|
|
191
|
+
* `dispatched` means DISPATCHED. It increments on `pending -> running` and on
|
|
192
|
+
* nothing else. A cohort that dispatched six sessions and finished none reads
|
|
193
|
+
* `dispatched = 6, succeeded = 0`, because recording intent as fact here would
|
|
194
|
+
* put "6 done" on a screen above six sessions that have not written anything.
|
|
195
|
+
*
|
|
196
|
+
* There is no payload column. `item_keys` on the groups table holds `fingerprint()`
|
|
197
|
+
* item keys - short opaque hashes - so there is nowhere for a Gmail body or an
|
|
198
|
+
* `authorization` header to land, exactly as `ingestion_dispatch_budget` has
|
|
199
|
+
* nowhere for a count to become content.
|
|
200
|
+
*
|
|
201
|
+
* `cancelled_at` on the cohort, not a status column: a cancelled cohort still has
|
|
202
|
+
* running groups finishing normally, so "this cohort was cancelled" and "this
|
|
203
|
+
* group did not run" are two different facts and are stored as two.
|
|
204
|
+
*/
|
|
205
|
+
const CREATE_COHORTS_TABLE_SQL = `
|
|
206
|
+
CREATE TABLE IF NOT EXISTS ingestion_cohorts (
|
|
207
|
+
cohort_id TEXT PRIMARY KEY,
|
|
208
|
+
filter_id TEXT NOT NULL,
|
|
209
|
+
mode TEXT NOT NULL,
|
|
210
|
+
created_at INTEGER NOT NULL,
|
|
211
|
+
updated_at INTEGER NOT NULL,
|
|
212
|
+
requested INTEGER NOT NULL,
|
|
213
|
+
groups_total INTEGER NOT NULL,
|
|
214
|
+
dispatched INTEGER NOT NULL DEFAULT 0,
|
|
215
|
+
succeeded INTEGER NOT NULL DEFAULT 0,
|
|
216
|
+
failed INTEGER NOT NULL DEFAULT 0,
|
|
217
|
+
cancelled INTEGER NOT NULL DEFAULT 0,
|
|
218
|
+
truncated INTEGER NOT NULL DEFAULT 0,
|
|
219
|
+
cap_per_day INTEGER,
|
|
220
|
+
cancelled_at INTEGER
|
|
221
|
+
) STRICT;
|
|
222
|
+
`;
|
|
223
|
+
/**
|
|
224
|
+
* One group of a cohort: the unit that becomes one session and therefore one
|
|
225
|
+
* outward artifact.
|
|
226
|
+
*
|
|
227
|
+
* `run_id` and `agent_id` are null until dispatch and are what the restart proof
|
|
228
|
+
* asserts on - "this group was dispatched exactly once" is only checkable
|
|
229
|
+
* because a second dispatch would have to write a second, different `run_id`.
|
|
230
|
+
*/
|
|
231
|
+
const CREATE_COHORT_GROUPS_TABLE_SQL = `
|
|
232
|
+
CREATE TABLE IF NOT EXISTS ingestion_cohort_groups (
|
|
233
|
+
cohort_id TEXT NOT NULL,
|
|
234
|
+
group_key TEXT NOT NULL,
|
|
235
|
+
item_keys TEXT NOT NULL,
|
|
236
|
+
status TEXT NOT NULL,
|
|
237
|
+
run_id TEXT,
|
|
238
|
+
agent_id TEXT,
|
|
239
|
+
PRIMARY KEY (cohort_id, group_key)
|
|
240
|
+
) STRICT;
|
|
241
|
+
`;
|
|
242
|
+
/**
|
|
243
|
+
* Serves the two queries that decide what a cohort row says and what a restart
|
|
244
|
+
* finishes: `GROUP BY status` for one cohort (`inspect`), and the `status =
|
|
245
|
+
* 'pending'` scan (`cancelRemaining`, `resumePending`).
|
|
246
|
+
*/
|
|
247
|
+
const CREATE_COHORT_GROUPS_INDEX_SQL = `
|
|
248
|
+
CREATE INDEX IF NOT EXISTS idx_cohort_groups_status
|
|
249
|
+
ON ingestion_cohort_groups (cohort_id, status);
|
|
250
|
+
`;
|
|
251
|
+
/** Read `PRAGMA user_version`, defaulting an unreadable value to 0. */
|
|
252
|
+
function readUserVersion(db) {
|
|
253
|
+
const row = db.prepare("PRAGMA user_version").get();
|
|
254
|
+
return typeof row?.user_version === "number" ? row.user_version : 0;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Add the v3 reconcile columns to an existing `ingestion_items`, in place.
|
|
258
|
+
*
|
|
259
|
+
* Two gates, and BOTH are load-bearing:
|
|
260
|
+
* - the `user_version` gate makes the common path (an already-current file
|
|
261
|
+
* opened on every daemon boot) cost one PRAGMA read and nothing else
|
|
262
|
+
* - the `table_info` diff is what makes it IDEMPOTENT even when
|
|
263
|
+
* `user_version` is out of sync with reality - a hand-edited file, a
|
|
264
|
+
* restored backup, or a crash between the ALTERs and the version stamp.
|
|
265
|
+
* sqlite has no `ADD COLUMN IF NOT EXISTS`, so without this diff a second
|
|
266
|
+
* run throws `duplicate column name` and takes the daemon down at boot.
|
|
267
|
+
*
|
|
268
|
+
* Nothing is dropped, nothing is rewritten, no row is touched. A column added
|
|
269
|
+
* by `ALTER TABLE` reads
|
|
270
|
+
* back as its default (NULL, or 0 for the counter) on every pre-existing row,
|
|
271
|
+
* which is exactly the semantics the reconciler wants: "never verified".
|
|
272
|
+
*/
|
|
273
|
+
function migrateToV3(db) {
|
|
274
|
+
if (readUserVersion(db) >= 3)
|
|
275
|
+
return;
|
|
276
|
+
const existing = new Set();
|
|
277
|
+
for (const row of db.prepare("PRAGMA table_info(ingestion_items)").all()) {
|
|
278
|
+
const name = row.name;
|
|
279
|
+
if (typeof name === "string")
|
|
280
|
+
existing.add(name);
|
|
281
|
+
}
|
|
282
|
+
for (const column of RECONCILE_COLUMNS_V3) {
|
|
283
|
+
if (existing.has(column.name))
|
|
284
|
+
continue;
|
|
285
|
+
db.exec(column.ddl);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Add the v4 non-clearing run id, in place.
|
|
290
|
+
*
|
|
291
|
+
* Same two gates and the same reasoning as `migrateToV3`: the `user_version`
|
|
292
|
+
* check keeps the boot path to one PRAGMA read, and the `table_info` diff is
|
|
293
|
+
* what survives a `user_version` that is out of sync with the file.
|
|
294
|
+
*
|
|
295
|
+
* Pre-existing rows get `last_run_id = NULL`, which reads as "this row predates
|
|
296
|
+
* v4" and simply keeps them out of the projection - the same place they already
|
|
297
|
+
* were. Nothing is backfilled from `claim_run_id`: for every row that matters
|
|
298
|
+
* that column is already NULL, so a backfill would copy nothing while looking
|
|
299
|
+
* like it had done something.
|
|
300
|
+
*/
|
|
301
|
+
function migrateToV4(db) {
|
|
302
|
+
if (readUserVersion(db) >= 4)
|
|
303
|
+
return;
|
|
304
|
+
const existing = new Set();
|
|
305
|
+
for (const row of db.prepare("PRAGMA table_info(ingestion_items)").all()) {
|
|
306
|
+
const name = row.name;
|
|
307
|
+
if (typeof name === "string")
|
|
308
|
+
existing.add(name);
|
|
309
|
+
}
|
|
310
|
+
for (const column of RUN_ID_COLUMNS_V4) {
|
|
311
|
+
if (existing.has(column.name))
|
|
312
|
+
continue;
|
|
313
|
+
db.exec(column.ddl);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Bring `db` up to `LEDGER_SCHEMA_VERSION`. Idempotent: every statement is
|
|
318
|
+
* `IF NOT EXISTS` or guarded by a `PRAGMA table_info` diff, so a second call
|
|
319
|
+
* against an already-provisioned database is a no-op that destroys no rows.
|
|
320
|
+
*/
|
|
321
|
+
export function ensureSchema(db) {
|
|
322
|
+
// WAL so a reader (the client listing items) never blocks the writer (the
|
|
323
|
+
// ingestion pass), and survives an unclean exit.
|
|
324
|
+
db.exec("PRAGMA journal_mode = WAL");
|
|
325
|
+
db.exec("PRAGMA foreign_keys = ON");
|
|
326
|
+
db.exec(CREATE_TABLE_SQL);
|
|
327
|
+
db.exec(CREATE_INDEX_SQL);
|
|
328
|
+
db.exec(CREATE_BUDGET_TABLE_SQL);
|
|
329
|
+
// v2 (Story 5.4). Additive `IF NOT EXISTS` DDL, so a v1 file gains the two
|
|
330
|
+
// cohort tables in place: no migration step, no rewrite, and every existing
|
|
331
|
+
// `ingestion_items` row is left byte-identical.
|
|
332
|
+
db.exec(CREATE_COHORTS_TABLE_SQL);
|
|
333
|
+
db.exec(CREATE_COHORT_GROUPS_TABLE_SQL);
|
|
334
|
+
db.exec(CREATE_COHORT_GROUPS_INDEX_SQL);
|
|
335
|
+
// v3 (Story 6.1). Runs AFTER the v1 `CREATE TABLE IF NOT EXISTS` above, so a
|
|
336
|
+
// brand-new file gets the base table and then the five reconcile columns in
|
|
337
|
+
// the same call, and an existing v1/v2 file gets only the columns.
|
|
338
|
+
//
|
|
339
|
+
// No index is added for them on purpose: every new column is read either
|
|
340
|
+
// through the composite PRIMARY KEY (a point lookup on
|
|
341
|
+
// `(filter_id, item_key)`) or through `idx_ingestion_items_filter_seen`
|
|
342
|
+
// (`WHERE filter_id = ? ORDER BY last_seen_at DESC`). A sixth index would be
|
|
343
|
+
// write cost on the ingestion hot path for a read that already has a plan.
|
|
344
|
+
migrateToV3(db);
|
|
345
|
+
// v4 (Story 6.2). Additive, and for the same reason v3 needs no index: the
|
|
346
|
+
// column is read through `idx_ingestion_items_filter_seen` on a query that
|
|
347
|
+
// already has a plan, and the join it feeds happens in memory over one
|
|
348
|
+
// filter's page of rows.
|
|
349
|
+
migrateToV4(db);
|
|
350
|
+
// Stamp the version so a future migration has something to read. Left
|
|
351
|
+
// unchanged when already current - `PRAGMA user_version` is not
|
|
352
|
+
// parameterizable, hence the interpolation of a module-private integer
|
|
353
|
+
// constant (never caller input).
|
|
354
|
+
const current = readUserVersion(db);
|
|
355
|
+
if (current !== LEDGER_SCHEMA_VERSION) {
|
|
356
|
+
db.exec(`PRAGMA user_version = ${LEDGER_SCHEMA_VERSION}`);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=ledger-schema.js.map
|