@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,64 @@
|
|
|
1
|
+
import type { Logger } from "pino";
|
|
2
|
+
import type { AgentManager } from "./agent-manager.js";
|
|
3
|
+
import { generateStructuredAgentResponseWithFallback } from "./agent-response-loop.js";
|
|
4
|
+
import { type StructuredGenerationDaemonConfig } from "./structured-generation-providers.js";
|
|
5
|
+
import type { ProviderSnapshotManager } from "./provider-snapshot-manager.js";
|
|
6
|
+
/**
|
|
7
|
+
* Daemon-side digest refresh. Triggered on the running→idle transition: derives
|
|
8
|
+
* keyFiles deterministically and generates summary/accomplishments via the same
|
|
9
|
+
* borrowed-provider rail that powers auto-title generation (no daemon API key).
|
|
10
|
+
* Self-reported fields (goal/nextStep/blockers/links) are preserved by the
|
|
11
|
+
* merge. See docs/session-digest.md §4.3 + §5.
|
|
12
|
+
*/
|
|
13
|
+
export interface SessionDigestGeneratorDeps {
|
|
14
|
+
generateStructuredAgentResponseWithFallback?: typeof generateStructuredAgentResponseWithFallback;
|
|
15
|
+
}
|
|
16
|
+
export interface SessionDigestRefreshOptions {
|
|
17
|
+
agentManager: AgentManager;
|
|
18
|
+
agentId: string;
|
|
19
|
+
cwd: string;
|
|
20
|
+
providerSnapshotManager?: Pick<ProviderSnapshotManager, "listProviders">;
|
|
21
|
+
daemonConfig?: StructuredGenerationDaemonConfig | null;
|
|
22
|
+
currentSelection?: {
|
|
23
|
+
provider?: string | null;
|
|
24
|
+
model?: string | null;
|
|
25
|
+
thinkingOptionId?: string | null;
|
|
26
|
+
};
|
|
27
|
+
logger: Logger;
|
|
28
|
+
deps?: SessionDigestGeneratorDeps;
|
|
29
|
+
/**
|
|
30
|
+
* Called once the derivation has finished, whether it produced a digest,
|
|
31
|
+
* skipped, or failed (JARVIS-V1-SPEC §4).
|
|
32
|
+
*
|
|
33
|
+
* This exists because the Jarvis judge and this refresh both listen to the
|
|
34
|
+
* SAME `finished` attention event. Run in parallel, the judge always wins the
|
|
35
|
+
* race and reads a digest that has not been written yet, so every briefing
|
|
36
|
+
* arrives with no summary, no blockers and no deadline, and the judge
|
|
37
|
+
* correctly answers "quiet" forever. That failure is silent: no error, no log,
|
|
38
|
+
* a feature that looks alive and delivers nothing. Chaining the judge off this
|
|
39
|
+
* callback is what makes the substrate actually reach it.
|
|
40
|
+
*/
|
|
41
|
+
onSettled?: () => void;
|
|
42
|
+
/** Test seam. Defaults to DIGEST_GENERATION_TIMEOUT_MS. */
|
|
43
|
+
timeoutMs?: number;
|
|
44
|
+
}
|
|
45
|
+
/** Observability for a path whose failures are permanent (§3.1, hazard 2). */
|
|
46
|
+
declare const digestCounters: {
|
|
47
|
+
attempted: number;
|
|
48
|
+
succeeded: number;
|
|
49
|
+
failed: number;
|
|
50
|
+
timedOut: number;
|
|
51
|
+
skippedUnchanged: number;
|
|
52
|
+
};
|
|
53
|
+
export declare function getSessionDigestCounters(): Readonly<typeof digestCounters>;
|
|
54
|
+
/** Test seam: the maps are module-level, so tests need a way back to a clean slate. */
|
|
55
|
+
export declare function resetSessionDigestStateForTests(): void;
|
|
56
|
+
export declare function generateAndApplySessionDigest(options: SessionDigestRefreshOptions): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Fire-and-forget, debounced digest refresh. Safe to call on every running→idle
|
|
59
|
+
* transition — coalesces concurrent calls and skips if refreshed within the
|
|
60
|
+
* debounce window.
|
|
61
|
+
*/
|
|
62
|
+
export declare function scheduleSessionDigestRefresh(options: SessionDigestRefreshOptions): void;
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=session-digest-generator.d.ts.map
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { StructuredAgentFallbackError, StructuredAgentResponseError, generateStructuredAgentResponseWithFallback, } from "./agent-response-loop.js";
|
|
3
|
+
import { resolveStructuredGenerationProviders, } from "./structured-generation-providers.js";
|
|
4
|
+
import { buildDigestSourceText, deriveKeyFilesFromTimeline, mergeDigest, } from "./session-digest.js";
|
|
5
|
+
const SUMMARY_MAX_CHARS = 600;
|
|
6
|
+
const ACCOMPLISHMENT_MAX = 10;
|
|
7
|
+
const NEXT_STEP_MAX_CHARS = 240;
|
|
8
|
+
const BLOCKER_MAX = 5;
|
|
9
|
+
const DIGEST_SUMMARY_SCHEMA = z.object({
|
|
10
|
+
summary: z.string().max(SUMMARY_MAX_CHARS),
|
|
11
|
+
accomplishments: z.array(z.string()).max(ACCOMPLISHMENT_MAX),
|
|
12
|
+
// Jarvis substrate (JARVIS-V1-SPEC §3.1). These land in `derived*` digest keys,
|
|
13
|
+
// never in the self-reported `nextStep`/`blockers`.
|
|
14
|
+
// Nullish rather than required: partial substrate beats a whole generation
|
|
15
|
+
// failing schema validation and costing the summary too. Cheap insurance, and
|
|
16
|
+
// unlike a second generation call it costs no extra tokens.
|
|
17
|
+
nextStep: z.string().max(NEXT_STEP_MAX_CHARS).nullish(),
|
|
18
|
+
blockers: z.array(z.string()).max(BLOCKER_MAX).nullish(),
|
|
19
|
+
urgency: z.enum(["low", "normal", "high"]).nullish(),
|
|
20
|
+
deadline: z.string().nullish(),
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Refresh gating (JARVIS-V1-SPEC §3.1, hazard 1).
|
|
24
|
+
*
|
|
25
|
+
* The ORIGINAL gate was a flat 10-minute wall-clock debounce, stamped BEFORE the
|
|
26
|
+
* work ran. Two consequences made it unsafe once the digest became a one-shot,
|
|
27
|
+
* unrecoverable derivation rather than a nice-to-have summary:
|
|
28
|
+
*
|
|
29
|
+
* 1. Back-to-back idles inside the window were silently dropped, and a dropped
|
|
30
|
+
* derivation is not always recoverable (see the readability note below).
|
|
31
|
+
* 2. Stamping before the attempt meant a FAILED generation still burned the
|
|
32
|
+
* window, so the next idle was skipped too. That is "record intent as fact":
|
|
33
|
+
* the timestamp meant "we tried", not "we produced a digest".
|
|
34
|
+
*
|
|
35
|
+
* CORRECTION (measured 2026-07-31). An earlier version of this comment claimed
|
|
36
|
+
* the timeline is "destroyed shortly after a session goes cold". That is WRONG,
|
|
37
|
+
* and it was generalized from two probes at the extremes with nothing in between.
|
|
38
|
+
* What is actually true:
|
|
39
|
+
*
|
|
40
|
+
* - paseo stores NO timeline of its own. Agent records on disk are ~4 KB of
|
|
41
|
+
* pure metadata with no timeline key.
|
|
42
|
+
* - `get_agent_activity` reads THROUGH to the provider's own transcript, for
|
|
43
|
+
* Claude `~/.claude/projects/<slug>/<sid>.jsonl`. Readability is binary and
|
|
44
|
+
* age-independent: a 19.6-day-old session returned 88 activities in full.
|
|
45
|
+
* - Content is lost only when that provider file is pruned. For Claude that is
|
|
46
|
+
* `cleanupPeriodDays`, default 30, which runs at CLI startup on file mtime.
|
|
47
|
+
* - A second gate exists: the read fails outright when the agent's `cwd` no
|
|
48
|
+
* longer exists ("Working directory does not exist"), which affects sessions
|
|
49
|
+
* from removed worktrees or another machine regardless of file retention.
|
|
50
|
+
*
|
|
51
|
+
* So this derivation is NOT primarily insurance against a minutes-later loss.
|
|
52
|
+
* Its real value is (a) surviving the provider's prune window, (b) surviving the
|
|
53
|
+
* cwd gate, (c) normalizing across providers whose stores paseo cannot read, and
|
|
54
|
+
* (d) cost: a few hundred bytes of digest instead of re-reading a transcript that
|
|
55
|
+
* can exceed 40 MB. Still worth doing on every idle, for different reasons than
|
|
56
|
+
* originally written.
|
|
57
|
+
*
|
|
58
|
+
* The replacement gates on CONTENT and nothing else: skip only when the timeline
|
|
59
|
+
* has not grown since the last SUCCESSFUL digest. New content is new information
|
|
60
|
+
* and is always worth deriving.
|
|
61
|
+
*
|
|
62
|
+
* There is deliberately NO wall-clock floor. An earlier draft had one, and it
|
|
63
|
+
* reintroduced exactly the bug being fixed: two idles a minute apart, both with
|
|
64
|
+
* new content, and the second silently dropped. Any clock-based gate re-creates
|
|
65
|
+
* that, because "we ran recently" and "nothing new happened" are different
|
|
66
|
+
* questions and only the second is a safe reason to skip a one-shot derivation.
|
|
67
|
+
*
|
|
68
|
+
* Cost note: on a chatty session this derives roughly once per completed turn
|
|
69
|
+
* instead of once per 10 minutes. That is the intended trade. The spec classifies
|
|
70
|
+
* a lost derivation as a correctness bug and an extra derivation as a cost line.
|
|
71
|
+
* If cost needs tuning later, the knob must stay content-based (for example
|
|
72
|
+
* "only derive when the timeline grew by more than N rows"), never clock-based.
|
|
73
|
+
*/
|
|
74
|
+
/**
|
|
75
|
+
* Hard ceiling on one generation (found live 2026-07-31).
|
|
76
|
+
*
|
|
77
|
+
* `generateStructuredAgentResponseWithFallback` takes no signal and no timeout,
|
|
78
|
+
* and it CAN hang indefinitely: an internal generator agent spawned at 17:50:42
|
|
79
|
+
* and never settled, no success and no error, for the rest of the daemon's life.
|
|
80
|
+
*
|
|
81
|
+
* That is far worse than a slow digest. The hung promise never leaves `inFlight`,
|
|
82
|
+
* so the agent can never derive again, AND because the Jarvis judge is chained to
|
|
83
|
+
* `onSettled`, the judge goes permanently silent for that agent too. One stuck
|
|
84
|
+
* generation quietly removes a card from Jarvis forever, with nothing in the log.
|
|
85
|
+
*
|
|
86
|
+
* Racing a timeout turns that into an ordinary failure: counted, logged, mark not
|
|
87
|
+
* stamped so the next idle retries, and onSettled still fires so the judge runs
|
|
88
|
+
* with whatever substrate already exists. The abandoned work may keep running in
|
|
89
|
+
* the background; that is acceptable, recovering the caller is the point.
|
|
90
|
+
*/
|
|
91
|
+
const DIGEST_GENERATION_TIMEOUT_MS = 120000;
|
|
92
|
+
class DigestGenerationTimeoutError extends Error {
|
|
93
|
+
constructor(ms) {
|
|
94
|
+
super(`Session digest generation exceeded ${ms}ms`);
|
|
95
|
+
this.name = "DigestGenerationTimeoutError";
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function withTimeout(work, ms) {
|
|
99
|
+
let timer;
|
|
100
|
+
const bomb = new Promise((_resolve, reject) => {
|
|
101
|
+
timer = setTimeout(() => reject(new DigestGenerationTimeoutError(ms)), ms);
|
|
102
|
+
// Never let this timer keep the daemon alive on shutdown.
|
|
103
|
+
timer.unref?.();
|
|
104
|
+
});
|
|
105
|
+
return Promise.race([work, bomb]).finally(() => {
|
|
106
|
+
if (timer) {
|
|
107
|
+
clearTimeout(timer);
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
const lastDigestAt = new Map();
|
|
112
|
+
/** agentId -> `${epoch}:${maxSeq}` of the last SUCCESSFUL digest. */
|
|
113
|
+
const lastDigestMark = new Map();
|
|
114
|
+
const inFlight = new Set();
|
|
115
|
+
/** Observability for a path whose failures are permanent (§3.1, hazard 2). */
|
|
116
|
+
const digestCounters = { attempted: 0, succeeded: 0, failed: 0, timedOut: 0, skippedUnchanged: 0 };
|
|
117
|
+
export function getSessionDigestCounters() {
|
|
118
|
+
return { ...digestCounters };
|
|
119
|
+
}
|
|
120
|
+
/** Test seam: the maps are module-level, so tests need a way back to a clean slate. */
|
|
121
|
+
export function resetSessionDigestStateForTests() {
|
|
122
|
+
lastDigestAt.clear();
|
|
123
|
+
lastDigestMark.clear();
|
|
124
|
+
inFlight.clear();
|
|
125
|
+
digestCounters.attempted = 0;
|
|
126
|
+
digestCounters.succeeded = 0;
|
|
127
|
+
digestCounters.failed = 0;
|
|
128
|
+
digestCounters.timedOut = 0;
|
|
129
|
+
digestCounters.skippedUnchanged = 0;
|
|
130
|
+
}
|
|
131
|
+
function buildDigestPrompt(sourceText, todayIso) {
|
|
132
|
+
return [
|
|
133
|
+
"You are summarizing a coding agent session so an orchestrator can understand it",
|
|
134
|
+
"without reading the full transcript. Return JSON with exactly these fields:",
|
|
135
|
+
`- summary: one paragraph (<= ${SUMMARY_MAX_CHARS} chars) describing what this session`,
|
|
136
|
+
" is doing and its current state.",
|
|
137
|
+
`- accomplishments: up to ${ACCOMPLISHMENT_MAX} short strings, each a concrete thing done`,
|
|
138
|
+
" (file changed, feature added, bug fixed). Be specific and factual; do not invent.",
|
|
139
|
+
`- nextStep: <= ${NEXT_STEP_MAX_CHARS} chars, the single concrete thing this session was`,
|
|
140
|
+
" about to do next, phrased as an action. Null if the work is finished or you cannot tell.",
|
|
141
|
+
`- blockers: up to ${BLOCKER_MAX} short strings, each something STOPPING progress. If the`,
|
|
142
|
+
" session is waiting on a specific person or an external party, name them explicitly",
|
|
143
|
+
' (for example "waiting on Marco to sign the contract"). Empty array if nothing blocks it.',
|
|
144
|
+
"- urgency: one of low, normal, high. Judge from the work itself, not from how recent it is.",
|
|
145
|
+
" high = production is broken, a client is affected, or a dated commitment is at risk.",
|
|
146
|
+
" normal = ordinary in-flight work. low = exploration, cleanup, or already finished.",
|
|
147
|
+
`- deadline: a real-world calendar date named in the session as a commitment, in YYYY-MM-DD`,
|
|
148
|
+
` form. Today is ${todayIso}, so resolve relative phrases like "Friday" against it. Null if`,
|
|
149
|
+
" no date is committed to. Do NOT invent one and do not infer a date from mere urgency.",
|
|
150
|
+
"",
|
|
151
|
+
"Session transcript:",
|
|
152
|
+
sourceText,
|
|
153
|
+
].join("\n");
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* `${epoch}:${maxSeq}` for the agent's current timeline.
|
|
157
|
+
*
|
|
158
|
+
* Row `seq` restarts at 1 whenever the timeline store is re-initialized without
|
|
159
|
+
* seeded rows, so a seq is ONLY comparable within an epoch. Comparing a bare seq
|
|
160
|
+
* across epochs makes a fresh timeline look older than the last digest and skips
|
|
161
|
+
* forever, silently. Found live: turn 2 of a session never re-derived because
|
|
162
|
+
* its post-resume seq was below the pre-resume high-water mark.
|
|
163
|
+
*/
|
|
164
|
+
function resolveDigestMark(agentManager, agentId, rows) {
|
|
165
|
+
const maxSeq = rows.length > 0 ? rows[rows.length - 1].seq : 0;
|
|
166
|
+
try {
|
|
167
|
+
return `${agentManager.getTimelineEpoch(agentId)}:${maxSeq}`;
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Agent not resident: use a marker that can never match a stored one, so we
|
|
171
|
+
// derive rather than skip. Skipping is the dangerous direction.
|
|
172
|
+
return `unknown-${Date.now()}:${maxSeq}`;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
function isUnchangedSinceLastDigest(agentId, mark) {
|
|
176
|
+
const seen = lastDigestMark.get(agentId);
|
|
177
|
+
if (seen === undefined) {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
const sep = seen.lastIndexOf(":");
|
|
181
|
+
const markSep = mark.lastIndexOf(":");
|
|
182
|
+
const sameEpoch = seen.slice(0, sep) === mark.slice(0, markSep);
|
|
183
|
+
return sameEpoch && Number(mark.slice(markSep + 1)) <= Number(seen.slice(sep + 1));
|
|
184
|
+
}
|
|
185
|
+
export async function generateAndApplySessionDigest(options) {
|
|
186
|
+
const { agentManager, agentId, cwd, logger } = options;
|
|
187
|
+
const rows = await agentManager.getTimelineRows(agentId);
|
|
188
|
+
if (rows.length === 0) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
// Content-based gate (see the lastDigestMark block comment above). Extracted
|
|
192
|
+
// to a helper to stay under the oxlint complexity ceiling of 20.
|
|
193
|
+
const mark = resolveDigestMark(agentManager, agentId, rows);
|
|
194
|
+
if (isUnchangedSinceLastDigest(agentId, mark)) {
|
|
195
|
+
digestCounters.skippedUnchanged += 1;
|
|
196
|
+
// INFO, not debug. Every bug in this file has been a silent skip; a skip
|
|
197
|
+
// nobody can see is how a dead feature looks healthy.
|
|
198
|
+
logger.info({ agentId, mark }, "Session digest skipped: timeline unchanged");
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// Deterministic, no LLM — always safe to refresh.
|
|
202
|
+
const keyFiles = deriveKeyFilesFromTimeline(rows);
|
|
203
|
+
const existing = agentManager.getAgent(agentId)?.digest;
|
|
204
|
+
let summaryPatch = {};
|
|
205
|
+
const sourceText = buildDigestSourceText(rows);
|
|
206
|
+
if (sourceText.trim().length > 0) {
|
|
207
|
+
const generator = options.deps?.generateStructuredAgentResponseWithFallback ??
|
|
208
|
+
generateStructuredAgentResponseWithFallback;
|
|
209
|
+
try {
|
|
210
|
+
const providers = options.providerSnapshotManager
|
|
211
|
+
? await resolveStructuredGenerationProviders({
|
|
212
|
+
cwd,
|
|
213
|
+
providerSnapshotManager: options.providerSnapshotManager,
|
|
214
|
+
daemonConfig: options.daemonConfig,
|
|
215
|
+
currentSelection: options.currentSelection,
|
|
216
|
+
})
|
|
217
|
+
: [];
|
|
218
|
+
digestCounters.attempted += 1;
|
|
219
|
+
const result = await withTimeout(generator({
|
|
220
|
+
manager: agentManager,
|
|
221
|
+
cwd,
|
|
222
|
+
prompt: buildDigestPrompt(sourceText, new Date().toISOString().slice(0, 10)),
|
|
223
|
+
schema: DIGEST_SUMMARY_SCHEMA,
|
|
224
|
+
schemaName: "SessionDigestSummary",
|
|
225
|
+
maxRetries: 2,
|
|
226
|
+
providers,
|
|
227
|
+
persistSession: false,
|
|
228
|
+
logger,
|
|
229
|
+
agentConfigOverrides: {
|
|
230
|
+
title: "Session digest generator",
|
|
231
|
+
internal: true,
|
|
232
|
+
},
|
|
233
|
+
}), options.timeoutMs ?? DIGEST_GENERATION_TIMEOUT_MS);
|
|
234
|
+
summaryPatch = {
|
|
235
|
+
summary: result.summary,
|
|
236
|
+
accomplishments: result.accomplishments,
|
|
237
|
+
// Derived fields go in their own keys. Writing `nextStep`/`blockers`
|
|
238
|
+
// directly would clobber whatever the session self-reported, because
|
|
239
|
+
// mergeDigest overwrites any key present in the patch.
|
|
240
|
+
...(result.nextStep ? { derivedNextStep: result.nextStep } : {}),
|
|
241
|
+
...(result.blockers ? { derivedBlockers: result.blockers } : {}),
|
|
242
|
+
...(result.urgency ? { urgency: result.urgency } : {}),
|
|
243
|
+
...(result.deadline ? { derivedDeadline: result.deadline } : {}),
|
|
244
|
+
};
|
|
245
|
+
// Stamp ONLY on success. A failure must leave the window open so the next
|
|
246
|
+
// idle retries: there is no catch-up job, and the source transcript is
|
|
247
|
+
// subject to the provider's own prune window and the cwd gate, so a
|
|
248
|
+
// derivation missed today may not be reproducible later.
|
|
249
|
+
lastDigestAt.set(agentId, Date.now());
|
|
250
|
+
lastDigestMark.set(agentId, mark);
|
|
251
|
+
digestCounters.succeeded += 1;
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
digestCounters.failed += 1;
|
|
255
|
+
if (error instanceof DigestGenerationTimeoutError) {
|
|
256
|
+
digestCounters.timedOut += 1;
|
|
257
|
+
}
|
|
258
|
+
const attempts = error instanceof StructuredAgentFallbackError ? error.attempts : undefined;
|
|
259
|
+
logger.error({ err: error, agentId, attempts, failedTotal: digestCounters.failed }, error instanceof StructuredAgentResponseError ||
|
|
260
|
+
error instanceof StructuredAgentFallbackError
|
|
261
|
+
? "Session digest summary generation failed (derivation lost for this idle; will retry on next idle)"
|
|
262
|
+
: "Session digest generation failed (derivation lost for this idle; will retry on next idle)");
|
|
263
|
+
// Fall through — still persist the deterministic keyFiles + timestamp.
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
const next = mergeDigest(existing, {
|
|
267
|
+
keyFiles,
|
|
268
|
+
generatedAt: new Date().toISOString(),
|
|
269
|
+
...summaryPatch,
|
|
270
|
+
});
|
|
271
|
+
await agentManager.updateAgentMetadata(agentId, { digest: next });
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Fire-and-forget, debounced digest refresh. Safe to call on every running→idle
|
|
275
|
+
* transition — coalesces concurrent calls and skips if refreshed within the
|
|
276
|
+
* debounce window.
|
|
277
|
+
*/
|
|
278
|
+
export function scheduleSessionDigestRefresh(options) {
|
|
279
|
+
const { agentId } = options;
|
|
280
|
+
if (inFlight.has(agentId)) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
// The gate itself moved into generateAndApplySessionDigest: it needs the
|
|
284
|
+
// timeline to tell "nothing new happened" apart from "we ran recently", and
|
|
285
|
+
// only the former is a safe reason to skip a one-shot derivation.
|
|
286
|
+
inFlight.add(agentId);
|
|
287
|
+
queueMicrotask(() => {
|
|
288
|
+
void generateAndApplySessionDigest(options)
|
|
289
|
+
.catch((error) => {
|
|
290
|
+
options.logger.error({ err: error, agentId }, "Session digest refresh crashed");
|
|
291
|
+
})
|
|
292
|
+
.finally(() => {
|
|
293
|
+
inFlight.delete(agentId);
|
|
294
|
+
// Fires even on skip or failure: a judge that only ran on the happy path
|
|
295
|
+
// would go silent exactly when something went wrong, which is when the
|
|
296
|
+
// user most needs to hear about it.
|
|
297
|
+
try {
|
|
298
|
+
options.onSettled?.();
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
options.logger.error({ err: error, agentId }, "Session digest onSettled hook threw");
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=session-digest-generator.js.map
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { PendingDecision, SessionDigest } from "../messages.js";
|
|
2
|
+
import type { AgentTimelineItem } from "./agent-sdk-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Pure helpers for the session digest feature. Kept free of I/O so they are
|
|
5
|
+
* trivially unit-testable. See docs/session-digest.md.
|
|
6
|
+
*/
|
|
7
|
+
export interface DigestTimelineRow {
|
|
8
|
+
item: AgentTimelineItem;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Deterministically derive the touched-files list from an agent's timeline —
|
|
12
|
+
* the filePath of every edit/write tool call, most-recently-touched first,
|
|
13
|
+
* de-duplicated, capped. No LLM, cannot drift from what the agent actually did.
|
|
14
|
+
* See docs/session-digest.md §4.2.
|
|
15
|
+
*/
|
|
16
|
+
export declare function deriveKeyFilesFromTimeline(rows: readonly DigestTimelineRow[], max?: number): string[];
|
|
17
|
+
/**
|
|
18
|
+
* Assemble a compact transcript from the timeline for the digest summary LLM
|
|
19
|
+
* pass — user/assistant messages plus a one-line note per notable tool call.
|
|
20
|
+
* Keeps the most-recent tail within maxChars so the prompt stays bounded.
|
|
21
|
+
*/
|
|
22
|
+
export declare function buildDigestSourceText(rows: readonly DigestTimelineRow[], maxChars?: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Merge a digest patch onto an existing digest, dropping undefined keys so a
|
|
25
|
+
* partial update never clobbers fields it doesn't set. Self-reported fields
|
|
26
|
+
* (goal/nextStep/blockers/links) and daemon-derived fields (keyFiles/summary/
|
|
27
|
+
* accomplishments) own disjoint keys, so the merge is conflict-free.
|
|
28
|
+
*/
|
|
29
|
+
export declare function mergeDigest(existing: SessionDigest | undefined, patch: Partial<SessionDigest>): SessionDigest;
|
|
30
|
+
/**
|
|
31
|
+
* True when a digest carries no meaningful content (all fields empty/absent).
|
|
32
|
+
* Used to avoid emitting empty digest objects.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isDigestEmpty(digest: SessionDigest | undefined): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Cap on decisions carried on a digest. Answered entries are pruned first —
|
|
37
|
+
* they only exist so the agent can read the answer back — so a full list never
|
|
38
|
+
* silently drops something still waiting on the user.
|
|
39
|
+
*/
|
|
40
|
+
export declare const MAX_PENDING_DECISIONS = 20;
|
|
41
|
+
/**
|
|
42
|
+
* Merge agent-reported decisions onto the stored list, upserting by `id`.
|
|
43
|
+
*
|
|
44
|
+
* The agent never writes the answer fields — they are stripped off the incoming
|
|
45
|
+
* entry and carried forward from the stored one. Without that, an agent that
|
|
46
|
+
* re-reports its open questions on a later turn would wipe a choice the user
|
|
47
|
+
* made in between, and the answer would be lost with no trace. Same principle
|
|
48
|
+
* that keeps `keyFiles`/`summary` daemon-owned: whoever is not the authority on
|
|
49
|
+
* a field cannot overwrite it.
|
|
50
|
+
*
|
|
51
|
+
* `replace` mode replaces the SET of decisions (ids absent from `incoming` are
|
|
52
|
+
* dropped); it still cannot fabricate or erase an answer for an id it keeps.
|
|
53
|
+
*/
|
|
54
|
+
export declare function mergePendingDecisions(existing: readonly PendingDecision[] | undefined, incoming: readonly PendingDecision[], mode?: "merge" | "replace"): PendingDecision[];
|
|
55
|
+
export interface AnswerPendingDecisionInput {
|
|
56
|
+
decisionId: string;
|
|
57
|
+
optionId: string | null;
|
|
58
|
+
note: string | null;
|
|
59
|
+
at: string;
|
|
60
|
+
by: NonNullable<PendingDecision["answeredBy"]>;
|
|
61
|
+
}
|
|
62
|
+
export type AnswerPendingDecisionResult = {
|
|
63
|
+
ok: true;
|
|
64
|
+
decisions: PendingDecision[];
|
|
65
|
+
decision: PendingDecision;
|
|
66
|
+
} | {
|
|
67
|
+
ok: false;
|
|
68
|
+
error: string;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Record the user's choice on one pending decision. Pure — the caller persists.
|
|
72
|
+
*
|
|
73
|
+
* Rejects an unknown decision id and an option id that is not on that decision,
|
|
74
|
+
* rather than storing a dangling reference the agent would later read as a
|
|
75
|
+
* choice nobody made. Answering with `optionId: null` requires a note, so an
|
|
76
|
+
* answer always carries content.
|
|
77
|
+
*/
|
|
78
|
+
export declare function answerPendingDecision(existing: readonly PendingDecision[] | undefined, input: AnswerPendingDecisionInput): AnswerPendingDecisionResult;
|
|
79
|
+
/** Decisions still waiting on a human — the read the whole feature exists for. */
|
|
80
|
+
export declare function decisionsAwaitingUser(digest: SessionDigest | undefined): PendingDecision[];
|
|
81
|
+
//# sourceMappingURL=session-digest.d.ts.map
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
const MAX_KEY_FILES = 20;
|
|
2
|
+
const DEFAULT_TRANSCRIPT_MAX_CHARS = 6000;
|
|
3
|
+
/**
|
|
4
|
+
* Deterministically derive the touched-files list from an agent's timeline —
|
|
5
|
+
* the filePath of every edit/write tool call, most-recently-touched first,
|
|
6
|
+
* de-duplicated, capped. No LLM, cannot drift from what the agent actually did.
|
|
7
|
+
* See docs/session-digest.md §4.2.
|
|
8
|
+
*/
|
|
9
|
+
export function deriveKeyFilesFromTimeline(rows, max = MAX_KEY_FILES) {
|
|
10
|
+
const seen = new Set();
|
|
11
|
+
const ordered = [];
|
|
12
|
+
for (let i = rows.length - 1; i >= 0; i--) {
|
|
13
|
+
const item = rows[i].item;
|
|
14
|
+
if (item.type !== "tool_call") {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const detail = item.detail;
|
|
18
|
+
if (detail.type !== "edit" && detail.type !== "write") {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const filePath = detail.filePath;
|
|
22
|
+
if (filePath.length === 0 || seen.has(filePath)) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
seen.add(filePath);
|
|
26
|
+
ordered.push(filePath);
|
|
27
|
+
if (ordered.length >= max) {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return ordered;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Assemble a compact transcript from the timeline for the digest summary LLM
|
|
35
|
+
* pass — user/assistant messages plus a one-line note per notable tool call.
|
|
36
|
+
* Keeps the most-recent tail within maxChars so the prompt stays bounded.
|
|
37
|
+
*/
|
|
38
|
+
export function buildDigestSourceText(rows, maxChars = DEFAULT_TRANSCRIPT_MAX_CHARS) {
|
|
39
|
+
const lines = [];
|
|
40
|
+
for (const { item } of rows) {
|
|
41
|
+
if (item.type === "user_message") {
|
|
42
|
+
const text = item.text.trim();
|
|
43
|
+
if (text) {
|
|
44
|
+
lines.push(`User: ${text}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else if (item.type === "assistant_message") {
|
|
48
|
+
const text = item.text.trim();
|
|
49
|
+
if (text) {
|
|
50
|
+
lines.push(`Assistant: ${text}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if (item.type === "tool_call") {
|
|
54
|
+
const detail = item.detail;
|
|
55
|
+
if (detail.type === "edit") {
|
|
56
|
+
lines.push(`[edited ${detail.filePath}]`);
|
|
57
|
+
}
|
|
58
|
+
else if (detail.type === "write") {
|
|
59
|
+
lines.push(`[wrote ${detail.filePath}]`);
|
|
60
|
+
}
|
|
61
|
+
else if (detail.type === "shell") {
|
|
62
|
+
lines.push(`[ran: ${detail.command}]`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
const joined = lines.join("\n");
|
|
67
|
+
if (joined.length <= maxChars) {
|
|
68
|
+
return joined;
|
|
69
|
+
}
|
|
70
|
+
// Keep the most-recent tail — that's where the current state lives.
|
|
71
|
+
return joined.slice(joined.length - maxChars);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Merge a digest patch onto an existing digest, dropping undefined keys so a
|
|
75
|
+
* partial update never clobbers fields it doesn't set. Self-reported fields
|
|
76
|
+
* (goal/nextStep/blockers/links) and daemon-derived fields (keyFiles/summary/
|
|
77
|
+
* accomplishments) own disjoint keys, so the merge is conflict-free.
|
|
78
|
+
*/
|
|
79
|
+
export function mergeDigest(existing, patch) {
|
|
80
|
+
const merged = { ...existing };
|
|
81
|
+
for (const [key, value] of Object.entries(patch)) {
|
|
82
|
+
if (value !== undefined) {
|
|
83
|
+
merged[key] = value;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return merged;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* True when a digest carries no meaningful content (all fields empty/absent).
|
|
90
|
+
* Used to avoid emitting empty digest objects.
|
|
91
|
+
*/
|
|
92
|
+
export function isDigestEmpty(digest) {
|
|
93
|
+
if (!digest) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
return (!digest.goal &&
|
|
97
|
+
!digest.nextStep &&
|
|
98
|
+
!digest.summary &&
|
|
99
|
+
(digest.blockers?.length ?? 0) === 0 &&
|
|
100
|
+
(digest.links?.length ?? 0) === 0 &&
|
|
101
|
+
(digest.keyFiles?.length ?? 0) === 0 &&
|
|
102
|
+
(digest.accomplishments?.length ?? 0) === 0);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Cap on decisions carried on a digest. Answered entries are pruned first —
|
|
106
|
+
* they only exist so the agent can read the answer back — so a full list never
|
|
107
|
+
* silently drops something still waiting on the user.
|
|
108
|
+
*/
|
|
109
|
+
export const MAX_PENDING_DECISIONS = 20;
|
|
110
|
+
/** The four fields only the USER (never the agent) may write on a decision. */
|
|
111
|
+
const ANSWER_KEYS = ["answeredAt", "chosenOptionId", "answerNote", "answeredBy"];
|
|
112
|
+
function stripAnswer(decision) {
|
|
113
|
+
const next = { ...decision };
|
|
114
|
+
for (const key of ANSWER_KEYS) {
|
|
115
|
+
delete next[key];
|
|
116
|
+
}
|
|
117
|
+
return next;
|
|
118
|
+
}
|
|
119
|
+
function carryAnswerForward(incoming, existing) {
|
|
120
|
+
if (!existing.answeredAt) {
|
|
121
|
+
return incoming;
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
...incoming,
|
|
125
|
+
answeredAt: existing.answeredAt,
|
|
126
|
+
...(existing.chosenOptionId !== undefined ? { chosenOptionId: existing.chosenOptionId } : {}),
|
|
127
|
+
...(existing.answerNote !== undefined ? { answerNote: existing.answerNote } : {}),
|
|
128
|
+
...(existing.answeredBy !== undefined ? { answeredBy: existing.answeredBy } : {}),
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Trim to MAX_PENDING_DECISIONS, dropping ANSWERED entries oldest-first. An
|
|
133
|
+
* unanswered decision is only dropped when the list is entirely unanswered and
|
|
134
|
+
* over cap — the alternative (dropping by position regardless of state) would
|
|
135
|
+
* quietly delete a question the user never saw.
|
|
136
|
+
*/
|
|
137
|
+
function capDecisions(decisions) {
|
|
138
|
+
if (decisions.length <= MAX_PENDING_DECISIONS) {
|
|
139
|
+
return decisions;
|
|
140
|
+
}
|
|
141
|
+
const overflow = decisions.length - MAX_PENDING_DECISIONS;
|
|
142
|
+
const answeredOldestFirst = decisions
|
|
143
|
+
.map((decision, index) => ({ decision, index }))
|
|
144
|
+
.filter((row) => Boolean(row.decision.answeredAt))
|
|
145
|
+
.sort((a, b) => (a.decision.answeredAt ?? "").localeCompare(b.decision.answeredAt ?? ""));
|
|
146
|
+
const drop = new Set(answeredOldestFirst.slice(0, overflow).map((row) => row.index));
|
|
147
|
+
const kept = decisions.filter((_, index) => !drop.has(index));
|
|
148
|
+
// Still over cap → every remaining entry is unanswered; keep the newest.
|
|
149
|
+
return kept.length <= MAX_PENDING_DECISIONS
|
|
150
|
+
? kept
|
|
151
|
+
: kept.slice(kept.length - MAX_PENDING_DECISIONS);
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Merge agent-reported decisions onto the stored list, upserting by `id`.
|
|
155
|
+
*
|
|
156
|
+
* The agent never writes the answer fields — they are stripped off the incoming
|
|
157
|
+
* entry and carried forward from the stored one. Without that, an agent that
|
|
158
|
+
* re-reports its open questions on a later turn would wipe a choice the user
|
|
159
|
+
* made in between, and the answer would be lost with no trace. Same principle
|
|
160
|
+
* that keeps `keyFiles`/`summary` daemon-owned: whoever is not the authority on
|
|
161
|
+
* a field cannot overwrite it.
|
|
162
|
+
*
|
|
163
|
+
* `replace` mode replaces the SET of decisions (ids absent from `incoming` are
|
|
164
|
+
* dropped); it still cannot fabricate or erase an answer for an id it keeps.
|
|
165
|
+
*/
|
|
166
|
+
export function mergePendingDecisions(existing, incoming, mode = "merge") {
|
|
167
|
+
const byId = new Map();
|
|
168
|
+
for (const decision of existing ?? []) {
|
|
169
|
+
byId.set(decision.id, decision);
|
|
170
|
+
}
|
|
171
|
+
const out = mode === "replace" ? [] : [...(existing ?? [])];
|
|
172
|
+
for (const raw of incoming) {
|
|
173
|
+
const sanitized = stripAnswer(raw);
|
|
174
|
+
const previous = byId.get(raw.id);
|
|
175
|
+
const next = previous ? carryAnswerForward(sanitized, previous) : sanitized;
|
|
176
|
+
const at = out.findIndex((decision) => decision.id === raw.id);
|
|
177
|
+
if (at >= 0) {
|
|
178
|
+
out[at] = next;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
out.push(next);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return capDecisions(out);
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Record the user's choice on one pending decision. Pure — the caller persists.
|
|
188
|
+
*
|
|
189
|
+
* Rejects an unknown decision id and an option id that is not on that decision,
|
|
190
|
+
* rather than storing a dangling reference the agent would later read as a
|
|
191
|
+
* choice nobody made. Answering with `optionId: null` requires a note, so an
|
|
192
|
+
* answer always carries content.
|
|
193
|
+
*/
|
|
194
|
+
export function answerPendingDecision(existing, input) {
|
|
195
|
+
const decisions = [...(existing ?? [])];
|
|
196
|
+
const index = decisions.findIndex((decision) => decision.id === input.decisionId);
|
|
197
|
+
if (index < 0) {
|
|
198
|
+
return { ok: false, error: `No pending decision with id "${input.decisionId}"` };
|
|
199
|
+
}
|
|
200
|
+
const target = decisions[index];
|
|
201
|
+
const note = input.note?.trim() ?? "";
|
|
202
|
+
if (input.optionId === null && note.length === 0) {
|
|
203
|
+
return { ok: false, error: "Answer needs an optionId or a note" };
|
|
204
|
+
}
|
|
205
|
+
if (input.optionId !== null && !target.options.some((option) => option.id === input.optionId)) {
|
|
206
|
+
const available = target.options.map((option) => option.id).join(", ");
|
|
207
|
+
return {
|
|
208
|
+
ok: false,
|
|
209
|
+
error: `Option "${input.optionId}" is not on decision "${input.decisionId}" (options: ${available})`,
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
const answered = {
|
|
213
|
+
...target,
|
|
214
|
+
answeredAt: input.at,
|
|
215
|
+
answeredBy: input.by,
|
|
216
|
+
...(input.optionId !== null ? { chosenOptionId: input.optionId } : {}),
|
|
217
|
+
...(note.length > 0 ? { answerNote: note } : {}),
|
|
218
|
+
};
|
|
219
|
+
decisions[index] = answered;
|
|
220
|
+
return { ok: true, decisions, decision: answered };
|
|
221
|
+
}
|
|
222
|
+
/** Decisions still waiting on a human — the read the whole feature exists for. */
|
|
223
|
+
export function decisionsAwaitingUser(digest) {
|
|
224
|
+
return (digest?.pendingDecisions ?? []).filter((decision) => !decision.answeredAt);
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=session-digest.js.map
|