@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,79 @@
|
|
|
1
|
+
import { createRemoteJWKSet, jwtVerify } from "jose";
|
|
2
|
+
export function cognitoIssuer(config) {
|
|
3
|
+
return `https://cognito-idp.${config.region}.amazonaws.com/${config.userPoolId}`;
|
|
4
|
+
}
|
|
5
|
+
function asStringArray(value) {
|
|
6
|
+
if (Array.isArray(value)) {
|
|
7
|
+
return value.filter((entry) => typeof entry === "string");
|
|
8
|
+
}
|
|
9
|
+
return typeof value === "string" ? [value] : [];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Cognito signs with RS256. The algorithm list is an ALLOWLIST on purpose: without
|
|
13
|
+
* it a token could name `none` (or an HMAC alg keyed on the public JWKS material)
|
|
14
|
+
* and verify against our own published key.
|
|
15
|
+
*/
|
|
16
|
+
const ALLOWED_ALGORITHMS = ["RS256"];
|
|
17
|
+
export function createTenantTokenVerifier(config) {
|
|
18
|
+
const issuer = cognitoIssuer(config);
|
|
19
|
+
// jose caches the key set and re-fetches on an unknown `kid`, so pool key
|
|
20
|
+
// rotation is handled without restarting the daemon.
|
|
21
|
+
const jwks = createRemoteJWKSet(new URL(`${issuer}/.well-known/jwks.json`), {
|
|
22
|
+
cooldownDuration: 30000,
|
|
23
|
+
cacheMaxAge: 10 * 60000,
|
|
24
|
+
});
|
|
25
|
+
return {
|
|
26
|
+
issuer,
|
|
27
|
+
async verify(token) {
|
|
28
|
+
let payload;
|
|
29
|
+
try {
|
|
30
|
+
// jwtVerify enforces signature, `iss`, `exp` and `nbf`.
|
|
31
|
+
({ payload } = await jwtVerify(token, jwks, {
|
|
32
|
+
issuer,
|
|
33
|
+
algorithms: [...ALLOWED_ALGORITHMS],
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// Every failure path lands here, including a JWKS fetch failure. The
|
|
38
|
+
// caller must treat this as a rejection and never as "skip the check".
|
|
39
|
+
return { ok: false, reason: error instanceof Error ? error.message : "invalid token" };
|
|
40
|
+
}
|
|
41
|
+
const tokenUse = payload.token_use;
|
|
42
|
+
if (tokenUse !== "id" && tokenUse !== "access") {
|
|
43
|
+
return { ok: false, reason: `unexpected token_use: ${String(tokenUse)}` };
|
|
44
|
+
}
|
|
45
|
+
if (config.clientId) {
|
|
46
|
+
// Cognito puts the app client in `aud` on id tokens and `client_id` on
|
|
47
|
+
// access tokens. Checking only one silently accepts the other kind.
|
|
48
|
+
const audience = tokenUse === "id" ? asStringArray(payload.aud) : [];
|
|
49
|
+
const clientId = typeof payload.client_id === "string" ? payload.client_id : null;
|
|
50
|
+
const matches = audience.includes(config.clientId) || (clientId !== null && clientId === config.clientId);
|
|
51
|
+
if (!matches) {
|
|
52
|
+
return { ok: false, reason: "token was not issued for this app client" };
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const groups = asStringArray(payload["cognito:groups"]);
|
|
56
|
+
if (config.allowedGroups && config.allowedGroups.length > 0) {
|
|
57
|
+
const permitted = groups.some((group) => config.allowedGroups?.includes(group));
|
|
58
|
+
if (!permitted) {
|
|
59
|
+
return { ok: false, reason: "token carries no permitted group" };
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const sub = typeof payload.sub === "string" ? payload.sub : null;
|
|
63
|
+
if (!sub) {
|
|
64
|
+
return { ok: false, reason: "token has no sub" };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
ok: true,
|
|
68
|
+
identity: {
|
|
69
|
+
sub,
|
|
70
|
+
email: typeof payload.email === "string" ? payload.email : undefined,
|
|
71
|
+
groups,
|
|
72
|
+
tokenUse,
|
|
73
|
+
expiresAt: typeof payload.exp === "number" ? payload.exp : 0,
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=tenant-token-verifier.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export interface InstallerDeps {
|
|
2
|
+
/** Injected for tests. Runs a command and resolves on exit 0. */
|
|
3
|
+
run?: (command: string, args: string[], options: {
|
|
4
|
+
cwd?: string;
|
|
5
|
+
env?: NodeJS.ProcessEnv;
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
}) => Promise<{
|
|
8
|
+
stdout: string;
|
|
9
|
+
stderr: string;
|
|
10
|
+
}>;
|
|
11
|
+
nodeExecPath?: string;
|
|
12
|
+
npmExecPath?: string;
|
|
13
|
+
registryUrl?: string;
|
|
14
|
+
log?: (message: string, fields?: Record<string, unknown>) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Install a version into its own slot. Never touches the running slot.
|
|
18
|
+
*
|
|
19
|
+
* NODE_ENV is cleared explicitly: this box exports NODE_ENV=production and npm then
|
|
20
|
+
* resolves with omit=dev, which has already caused real breakage here. A staging
|
|
21
|
+
* install must be deterministic regardless of the daemon's ambient environment.
|
|
22
|
+
*/
|
|
23
|
+
export declare function stageVersion(paseoHome: string, version: string, deps?: InstallerDeps & {
|
|
24
|
+
/**
|
|
25
|
+
* Activate a slot that is already on disk instead of downloading it. For
|
|
26
|
+
* staging on one machine and activating later, or activating a locally built
|
|
27
|
+
* slot. Activation is still gated by `verifySlot`, so this skips the download,
|
|
28
|
+
* never the safety check.
|
|
29
|
+
*/
|
|
30
|
+
reuseExisting?: boolean;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
slotRoot: string;
|
|
33
|
+
reused: boolean;
|
|
34
|
+
}>;
|
|
35
|
+
export interface VerifyResult {
|
|
36
|
+
ok: boolean;
|
|
37
|
+
problems: string[];
|
|
38
|
+
workerEntry: string | null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Prove a staged slot is actually runnable before making it `current`.
|
|
42
|
+
*
|
|
43
|
+
* The three checks are not arbitrary. Releases 0.2.6 through 0.3.2 installed
|
|
44
|
+
* cleanly and were still unusable, because `@hyperdrive.bot/fleet-server` depended
|
|
45
|
+
* on a package that had never been published: `npm install` exited 0 and the daemon
|
|
46
|
+
* died on `import`. So an exit code is not evidence. What is evidence: the worker
|
|
47
|
+
* binary exists, the SDK resolves from the server's own tree, and the module in that
|
|
48
|
+
* failure's stack trace actually imports.
|
|
49
|
+
*/
|
|
50
|
+
export declare function verifySlot(slotRoot: string, deps?: InstallerDeps): Promise<VerifyResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Make `version` current, remembering the outgoing version as `previous`.
|
|
53
|
+
*
|
|
54
|
+
* Returns the version that was displaced, or null on a first install.
|
|
55
|
+
*/
|
|
56
|
+
export declare function swapTo(paseoHome: string, version: string): {
|
|
57
|
+
previousVersion: string | null;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Point `current` back at `previous` and pin the failed version.
|
|
61
|
+
*
|
|
62
|
+
* Pinning is the part that matters: without it the next poll re-installs the same
|
|
63
|
+
* broken version, and supervisor backoff only slows that loop rather than ending it.
|
|
64
|
+
*/
|
|
65
|
+
export declare function rollback(paseoHome: string, failedVersion: string, reason: string): {
|
|
66
|
+
rolledBackTo: string | null;
|
|
67
|
+
};
|
|
68
|
+
/** Delete slots that are neither current nor previous, oldest first. */
|
|
69
|
+
export declare function pruneSlots(paseoHome: string, keep: string[]): string[];
|
|
70
|
+
//# sourceMappingURL=installer.d.ts.map
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { existsSync, mkdirSync, readdirSync, renameSync, rmSync, symlinkSync, unlinkSync, } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { promisify } from "node:util";
|
|
5
|
+
import { currentLinkPath, previousLinkPath, readSlotVersion, slotPath, slotWorkerEntryCandidates, slotsRoot, } from "./slots.js";
|
|
6
|
+
import { DAEMON_PACKAGE_NAME } from "./registry.js";
|
|
7
|
+
import { writeUpdateState } from "./state.js";
|
|
8
|
+
const execFileAsync = promisify(execFile);
|
|
9
|
+
function defaultRun(command, args, options) {
|
|
10
|
+
return execFileAsync(command, args, {
|
|
11
|
+
cwd: options.cwd,
|
|
12
|
+
env: options.env,
|
|
13
|
+
timeout: options.timeoutMs ?? 600000,
|
|
14
|
+
maxBuffer: 32 * 1024 * 1024,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Install a version into its own slot. Never touches the running slot.
|
|
19
|
+
*
|
|
20
|
+
* NODE_ENV is cleared explicitly: this box exports NODE_ENV=production and npm then
|
|
21
|
+
* resolves with omit=dev, which has already caused real breakage here. A staging
|
|
22
|
+
* install must be deterministic regardless of the daemon's ambient environment.
|
|
23
|
+
*/
|
|
24
|
+
export async function stageVersion(paseoHome, version, deps = {}) {
|
|
25
|
+
const run = deps.run ?? defaultRun;
|
|
26
|
+
const slotRoot = slotPath(paseoHome, version);
|
|
27
|
+
if (deps.reuseExisting && existsSync(slotRoot)) {
|
|
28
|
+
deps.log?.("reusing staged slot", { version, slotRoot });
|
|
29
|
+
return { slotRoot, reused: true };
|
|
30
|
+
}
|
|
31
|
+
// A half-finished slot from a previous attempt is worse than no slot: it can
|
|
32
|
+
// satisfy the entry-exists check while missing a transitive dependency.
|
|
33
|
+
if (existsSync(slotRoot)) {
|
|
34
|
+
rmSync(slotRoot, { recursive: true, force: true });
|
|
35
|
+
}
|
|
36
|
+
mkdirSync(slotRoot, { recursive: true });
|
|
37
|
+
// `--global` is load-bearing, not cosmetic. A local `npm install --prefix X` lands
|
|
38
|
+
// in `X/node_modules`; a global one lands in `X/lib/node_modules` and also writes
|
|
39
|
+
// `X/bin/paseo`. Slot resolution looks for the global layout, so dropping `-g` here
|
|
40
|
+
// produces a slot that installs perfectly and then resolves to nothing.
|
|
41
|
+
const args = [
|
|
42
|
+
"install",
|
|
43
|
+
"--global",
|
|
44
|
+
"--prefix",
|
|
45
|
+
slotRoot,
|
|
46
|
+
"--no-fund",
|
|
47
|
+
"--no-audit",
|
|
48
|
+
`${DAEMON_PACKAGE_NAME}@${version}`,
|
|
49
|
+
];
|
|
50
|
+
if (deps.registryUrl) {
|
|
51
|
+
args.push("--registry", deps.registryUrl);
|
|
52
|
+
}
|
|
53
|
+
deps.log?.("staging update", { version, slotRoot });
|
|
54
|
+
await run(deps.npmExecPath ?? "npm", args, {
|
|
55
|
+
env: { ...process.env, NODE_ENV: "" },
|
|
56
|
+
timeoutMs: 900000,
|
|
57
|
+
});
|
|
58
|
+
return { slotRoot, reused: false };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Prove a staged slot is actually runnable before making it `current`.
|
|
62
|
+
*
|
|
63
|
+
* The three checks are not arbitrary. Releases 0.2.6 through 0.3.2 installed
|
|
64
|
+
* cleanly and were still unusable, because `@hyperdrive.bot/fleet-server` depended
|
|
65
|
+
* on a package that had never been published: `npm install` exited 0 and the daemon
|
|
66
|
+
* died on `import`. So an exit code is not evidence. What is evidence: the worker
|
|
67
|
+
* binary exists, the SDK resolves from the server's own tree, and the module in that
|
|
68
|
+
* failure's stack trace actually imports.
|
|
69
|
+
*/
|
|
70
|
+
export async function verifySlot(slotRoot, deps = {}) {
|
|
71
|
+
const run = deps.run ?? defaultRun;
|
|
72
|
+
const node = deps.nodeExecPath ?? process.execPath;
|
|
73
|
+
const problems = [];
|
|
74
|
+
const workerEntry = slotWorkerEntryCandidates(slotRoot).find((c) => existsSync(c)) ?? null;
|
|
75
|
+
if (!workerEntry) {
|
|
76
|
+
problems.push(`no daemon-worker.js found under ${slotRoot}`);
|
|
77
|
+
return { ok: false, problems, workerEntry: null };
|
|
78
|
+
}
|
|
79
|
+
const serverDir = workerEntry.slice(0, workerEntry.indexOf(`${path.sep}dist${path.sep}`));
|
|
80
|
+
// 1. The dependency that made seven releases uninstallable must resolve.
|
|
81
|
+
try {
|
|
82
|
+
await run(node, [
|
|
83
|
+
"-e",
|
|
84
|
+
`require.resolve("@hyperdrive.bot/fleet-extension-sdk", { paths: [${JSON.stringify(serverDir)}] })`,
|
|
85
|
+
], { timeoutMs: 60000 });
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
problems.push(`extension SDK does not resolve from the staged server: ${describe(error)}`);
|
|
89
|
+
}
|
|
90
|
+
// 2. The exact module from that failure's stack trace must import.
|
|
91
|
+
const loader = path.join(serverDir, "dist", "server", "extensions", "extension-loader.js");
|
|
92
|
+
if (existsSync(loader)) {
|
|
93
|
+
try {
|
|
94
|
+
await run(node, ["--input-type=module", "-e", `await import(${JSON.stringify(loader)})`], {
|
|
95
|
+
timeoutMs: 60000,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
problems.push(`extension-loader.js failed to import: ${describe(error)}`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
problems.push(`extension-loader.js missing at ${loader}`);
|
|
104
|
+
}
|
|
105
|
+
return { ok: problems.length === 0, problems, workerEntry };
|
|
106
|
+
}
|
|
107
|
+
function describe(error) {
|
|
108
|
+
if (error && typeof error === "object" && "stderr" in error) {
|
|
109
|
+
const stderr = String(error.stderr ?? "").trim();
|
|
110
|
+
if (stderr)
|
|
111
|
+
return stderr.split("\n").slice(-2).join(" ").slice(0, 300);
|
|
112
|
+
}
|
|
113
|
+
return error instanceof Error ? error.message.slice(0, 300) : String(error).slice(0, 300);
|
|
114
|
+
}
|
|
115
|
+
/** Atomically point a slot symlink at a version directory. */
|
|
116
|
+
function linkAtomically(linkPath, targetDir) {
|
|
117
|
+
const tmp = `${linkPath}.tmp-${process.pid}-${Math.trunc(performance.now())}`;
|
|
118
|
+
if (existsSync(tmp)) {
|
|
119
|
+
unlinkSync(tmp);
|
|
120
|
+
}
|
|
121
|
+
symlinkSync(targetDir, tmp, "dir");
|
|
122
|
+
// rename(2) over an existing symlink is atomic on POSIX: no window where the
|
|
123
|
+
// daemon could observe a missing `current`.
|
|
124
|
+
renameSync(tmp, linkPath);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Make `version` current, remembering the outgoing version as `previous`.
|
|
128
|
+
*
|
|
129
|
+
* Returns the version that was displaced, or null on a first install.
|
|
130
|
+
*/
|
|
131
|
+
export function swapTo(paseoHome, version) {
|
|
132
|
+
const target = slotPath(paseoHome, version);
|
|
133
|
+
if (!existsSync(target)) {
|
|
134
|
+
throw new Error(`cannot swap to ${version}: slot ${target} does not exist`);
|
|
135
|
+
}
|
|
136
|
+
const previousVersion = readSlotVersion(paseoHome, "current");
|
|
137
|
+
if (previousVersion) {
|
|
138
|
+
linkAtomically(previousLinkPath(paseoHome), slotPath(paseoHome, previousVersion));
|
|
139
|
+
}
|
|
140
|
+
linkAtomically(currentLinkPath(paseoHome), target);
|
|
141
|
+
return { previousVersion };
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Point `current` back at `previous` and pin the failed version.
|
|
145
|
+
*
|
|
146
|
+
* Pinning is the part that matters: without it the next poll re-installs the same
|
|
147
|
+
* broken version, and supervisor backoff only slows that loop rather than ending it.
|
|
148
|
+
*/
|
|
149
|
+
export function rollback(paseoHome, failedVersion, reason) {
|
|
150
|
+
const previousVersion = readSlotVersion(paseoHome, "previous");
|
|
151
|
+
if (previousVersion && existsSync(slotPath(paseoHome, previousVersion))) {
|
|
152
|
+
linkAtomically(currentLinkPath(paseoHome), slotPath(paseoHome, previousVersion));
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
// No usable previous slot: drop `current` entirely so entry resolution falls
|
|
156
|
+
// back to the bundled worker rather than exec'ing a known-bad slot.
|
|
157
|
+
try {
|
|
158
|
+
unlinkSync(currentLinkPath(paseoHome));
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
/* already absent */
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
writeUpdateState(paseoHome, { pinned: failedVersion, pinnedReason: reason });
|
|
165
|
+
return { rolledBackTo: previousVersion };
|
|
166
|
+
}
|
|
167
|
+
/** Delete slots that are neither current nor previous, oldest first. */
|
|
168
|
+
export function pruneSlots(paseoHome, keep) {
|
|
169
|
+
const root = slotsRoot(paseoHome);
|
|
170
|
+
if (!existsSync(root))
|
|
171
|
+
return [];
|
|
172
|
+
const removed = [];
|
|
173
|
+
for (const entry of readdirSync(root, { withFileTypes: true })) {
|
|
174
|
+
if (!entry.isDirectory() || keep.includes(entry.name))
|
|
175
|
+
continue;
|
|
176
|
+
rmSync(path.join(root, entry.name), { recursive: true, force: true });
|
|
177
|
+
removed.push(entry.name);
|
|
178
|
+
}
|
|
179
|
+
return removed;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=installer.js.map
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads published versions of the daemon package from the npm registry.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately narrow: it answers "what is the newest version on this dist-tag",
|
|
5
|
+
* and nothing else. It never installs, never writes, and never throws into the
|
|
6
|
+
* daemon loop, because a version check failing must not degrade a running daemon.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DAEMON_PACKAGE_NAME = "@hyperdrive.bot/fleet-cli";
|
|
9
|
+
/** npm dist-tag a release channel publishes to. */
|
|
10
|
+
export type ReleaseChannel = "stable" | "beta" | "dev";
|
|
11
|
+
export declare function distTagForChannel(channel: ReleaseChannel): string;
|
|
12
|
+
export interface RegistryLookup {
|
|
13
|
+
/** Newest version on the requested tag, or null when the tag does not exist. */
|
|
14
|
+
version: string | null;
|
|
15
|
+
/** Every dist-tag, for diagnostics. */
|
|
16
|
+
distTags: Record<string, string>;
|
|
17
|
+
}
|
|
18
|
+
export interface FetchDistTagsDeps {
|
|
19
|
+
fetchImpl?: typeof fetch;
|
|
20
|
+
registryUrl?: string;
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Fetch dist-tags for the daemon package.
|
|
25
|
+
*
|
|
26
|
+
* Uses the registry's lightweight dist-tags endpoint rather than the full packument,
|
|
27
|
+
* which for this package is megabytes of version metadata we do not need.
|
|
28
|
+
*
|
|
29
|
+
* Throws on network or HTTP failure. Callers in the daemon must catch and degrade;
|
|
30
|
+
* see `checkForUpdate` which does exactly that.
|
|
31
|
+
*/
|
|
32
|
+
export declare function fetchDistTags(packageName?: string, deps?: FetchDistTagsDeps): Promise<RegistryLookup & {
|
|
33
|
+
distTags: Record<string, string>;
|
|
34
|
+
}>;
|
|
35
|
+
/** Newest version published to a channel, or null when the channel has no release. */
|
|
36
|
+
export declare function fetchChannelVersion(channel: ReleaseChannel, packageName?: string, deps?: FetchDistTagsDeps): Promise<RegistryLookup>;
|
|
37
|
+
/**
|
|
38
|
+
* Compare two semver-ish versions.
|
|
39
|
+
*
|
|
40
|
+
* Intentionally small rather than pulling a semver dependency into the daemon's
|
|
41
|
+
* runtime deps: the only question asked is "is `candidate` newer than `current`",
|
|
42
|
+
* over versions this project itself publishes (`0.3.3`, `0.1.104-beta.4`).
|
|
43
|
+
* Returns 1, -1 or 0. A prerelease sorts below its own release, per semver.
|
|
44
|
+
*/
|
|
45
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
46
|
+
export declare function isNewer(candidate: string, current: string): boolean;
|
|
47
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads published versions of the daemon package from the npm registry.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately narrow: it answers "what is the newest version on this dist-tag",
|
|
5
|
+
* and nothing else. It never installs, never writes, and never throws into the
|
|
6
|
+
* daemon loop, because a version check failing must not degrade a running daemon.
|
|
7
|
+
*/
|
|
8
|
+
export const DAEMON_PACKAGE_NAME = "@hyperdrive.bot/fleet-cli";
|
|
9
|
+
const DEFAULT_REGISTRY = "https://registry.npmjs.org";
|
|
10
|
+
const DEFAULT_TIMEOUT_MS = 10000;
|
|
11
|
+
export function distTagForChannel(channel) {
|
|
12
|
+
// `stable` is npm's default tag. beta/dev map to their own tags, which is what
|
|
13
|
+
// scripts/publish-workspaces.mjs already does for prerelease versions.
|
|
14
|
+
return channel === "stable" ? "latest" : channel;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Fetch dist-tags for the daemon package.
|
|
18
|
+
*
|
|
19
|
+
* Uses the registry's lightweight dist-tags endpoint rather than the full packument,
|
|
20
|
+
* which for this package is megabytes of version metadata we do not need.
|
|
21
|
+
*
|
|
22
|
+
* Throws on network or HTTP failure. Callers in the daemon must catch and degrade;
|
|
23
|
+
* see `checkForUpdate` which does exactly that.
|
|
24
|
+
*/
|
|
25
|
+
export async function fetchDistTags(packageName = DAEMON_PACKAGE_NAME, deps = {}) {
|
|
26
|
+
const fetchImpl = deps.fetchImpl ?? fetch;
|
|
27
|
+
const registryUrl = (deps.registryUrl ?? DEFAULT_REGISTRY).replace(/\/+$/, "");
|
|
28
|
+
const timeoutMs = deps.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
29
|
+
const url = `${registryUrl}/-/package/${encodeURIComponent(packageName)}/dist-tags`;
|
|
30
|
+
const controller = new AbortController();
|
|
31
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
32
|
+
try {
|
|
33
|
+
const response = await fetchImpl(url, {
|
|
34
|
+
signal: controller.signal,
|
|
35
|
+
headers: { accept: "application/json" },
|
|
36
|
+
});
|
|
37
|
+
if (!response.ok) {
|
|
38
|
+
throw new Error(`registry responded ${response.status} for ${packageName} dist-tags`);
|
|
39
|
+
}
|
|
40
|
+
const body = (await response.json());
|
|
41
|
+
if (typeof body !== "object" || body === null) {
|
|
42
|
+
throw new Error(`registry returned a non-object dist-tags body for ${packageName}`);
|
|
43
|
+
}
|
|
44
|
+
const distTags = {};
|
|
45
|
+
for (const [tag, version] of Object.entries(body)) {
|
|
46
|
+
if (typeof version === "string" && version.length > 0) {
|
|
47
|
+
distTags[tag] = version;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return { version: null, distTags };
|
|
51
|
+
}
|
|
52
|
+
finally {
|
|
53
|
+
clearTimeout(timer);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Newest version published to a channel, or null when the channel has no release. */
|
|
57
|
+
export async function fetchChannelVersion(channel, packageName = DAEMON_PACKAGE_NAME, deps = {}) {
|
|
58
|
+
const { distTags } = await fetchDistTags(packageName, deps);
|
|
59
|
+
const tag = distTagForChannel(channel);
|
|
60
|
+
return { version: distTags[tag] ?? null, distTags };
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Compare two semver-ish versions.
|
|
64
|
+
*
|
|
65
|
+
* Intentionally small rather than pulling a semver dependency into the daemon's
|
|
66
|
+
* runtime deps: the only question asked is "is `candidate` newer than `current`",
|
|
67
|
+
* over versions this project itself publishes (`0.3.3`, `0.1.104-beta.4`).
|
|
68
|
+
* Returns 1, -1 or 0. A prerelease sorts below its own release, per semver.
|
|
69
|
+
*/
|
|
70
|
+
export function compareVersions(a, b) {
|
|
71
|
+
const parse = (v) => {
|
|
72
|
+
const [core, pre = ""] = v.trim().replace(/^v/, "").split("-", 2);
|
|
73
|
+
const nums = core.split(".").map((n) => Number.parseInt(n, 10) || 0);
|
|
74
|
+
return { nums: [nums[0] ?? 0, nums[1] ?? 0, nums[2] ?? 0], pre };
|
|
75
|
+
};
|
|
76
|
+
const pa = parse(a);
|
|
77
|
+
const pb = parse(b);
|
|
78
|
+
for (let i = 0; i < 3; i += 1) {
|
|
79
|
+
if (pa.nums[i] !== pb.nums[i]) {
|
|
80
|
+
return pa.nums[i] > pb.nums[i] ? 1 : -1;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (pa.pre === pb.pre)
|
|
84
|
+
return 0;
|
|
85
|
+
// No prerelease outranks any prerelease of the same core version.
|
|
86
|
+
if (pa.pre === "")
|
|
87
|
+
return 1;
|
|
88
|
+
if (pb.pre === "")
|
|
89
|
+
return -1;
|
|
90
|
+
return pa.pre > pb.pre ? 1 : -1;
|
|
91
|
+
}
|
|
92
|
+
export function isNewer(candidate, current) {
|
|
93
|
+
return compareVersions(candidate, current) > 0;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Self-update slot layout, rooted at the paseo home.
|
|
3
|
+
*
|
|
4
|
+
* <home>/versions/<version>/ an `npm install --prefix` tree
|
|
5
|
+
* <home>/current -> versions/<version> symlink, atomically swapped
|
|
6
|
+
* <home>/previous -> versions/<version> symlink, the rollback target
|
|
7
|
+
* <home>/update-state.json channel, pinned version, failures
|
|
8
|
+
*
|
|
9
|
+
* Slots live under the paseo home rather than the npm global prefix on purpose:
|
|
10
|
+
* that prefix is nvm-versioned (`~/.nvm/versions/node/<v>/lib/node_modules`), so a
|
|
11
|
+
* node switch would strand the daemon, and `npm i -g` writes in place, which
|
|
12
|
+
* forecloses rollback. The paseo home is already the unit the pid lock isolates on.
|
|
13
|
+
*/
|
|
14
|
+
export declare const SLOT_CURRENT = "current";
|
|
15
|
+
export declare const SLOT_PREVIOUS = "previous";
|
|
16
|
+
export declare const SLOT_VERSIONS_DIR = "versions";
|
|
17
|
+
export declare const UPDATE_STATE_FILE = "update-state.json";
|
|
18
|
+
export declare function slotsRoot(paseoHome: string): string;
|
|
19
|
+
export declare function slotPath(paseoHome: string, version: string): string;
|
|
20
|
+
export declare function currentLinkPath(paseoHome: string): string;
|
|
21
|
+
export declare function previousLinkPath(paseoHome: string): string;
|
|
22
|
+
export declare function updateStatePath(paseoHome: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Worker entry candidates inside an installed slot.
|
|
25
|
+
*
|
|
26
|
+
* Two layouts, because npm does not guarantee where a transitive dependency lands:
|
|
27
|
+
* `@hyperdrive.bot/fleet-server` is nested under the CLI in the layout observed on
|
|
28
|
+
* this box, but npm is free to hoist it to the top of the prefix instead. Both are
|
|
29
|
+
* checked rather than assumed.
|
|
30
|
+
*
|
|
31
|
+
* The `dist/server/server/` doubling is real: the published tarball ships
|
|
32
|
+
* `dist/server/server/daemon-worker.js`, verified against the installed 0.3.3 tree.
|
|
33
|
+
*/
|
|
34
|
+
export declare function slotWorkerEntryCandidates(slotRoot: string): string[];
|
|
35
|
+
/**
|
|
36
|
+
* The worker entry for the active slot, or null when no usable slot is installed.
|
|
37
|
+
*
|
|
38
|
+
* Returning null is the normal case for an npm-global or checkout install, and the
|
|
39
|
+
* caller must fall back to its own resolution so those installs behave exactly as
|
|
40
|
+
* they did before slots existed.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveSlotWorkerEntry(paseoHome: string): string | null;
|
|
43
|
+
/** Version a slot symlink points at, or null when absent or dangling. */
|
|
44
|
+
export declare function readSlotVersion(paseoHome: string, link: string): string | null;
|
|
45
|
+
//# sourceMappingURL=slots.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { existsSync, readlinkSync, statSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* Self-update slot layout, rooted at the paseo home.
|
|
5
|
+
*
|
|
6
|
+
* <home>/versions/<version>/ an `npm install --prefix` tree
|
|
7
|
+
* <home>/current -> versions/<version> symlink, atomically swapped
|
|
8
|
+
* <home>/previous -> versions/<version> symlink, the rollback target
|
|
9
|
+
* <home>/update-state.json channel, pinned version, failures
|
|
10
|
+
*
|
|
11
|
+
* Slots live under the paseo home rather than the npm global prefix on purpose:
|
|
12
|
+
* that prefix is nvm-versioned (`~/.nvm/versions/node/<v>/lib/node_modules`), so a
|
|
13
|
+
* node switch would strand the daemon, and `npm i -g` writes in place, which
|
|
14
|
+
* forecloses rollback. The paseo home is already the unit the pid lock isolates on.
|
|
15
|
+
*/
|
|
16
|
+
export const SLOT_CURRENT = "current";
|
|
17
|
+
export const SLOT_PREVIOUS = "previous";
|
|
18
|
+
export const SLOT_VERSIONS_DIR = "versions";
|
|
19
|
+
export const UPDATE_STATE_FILE = "update-state.json";
|
|
20
|
+
export function slotsRoot(paseoHome) {
|
|
21
|
+
return path.join(paseoHome, SLOT_VERSIONS_DIR);
|
|
22
|
+
}
|
|
23
|
+
export function slotPath(paseoHome, version) {
|
|
24
|
+
return path.join(slotsRoot(paseoHome), version);
|
|
25
|
+
}
|
|
26
|
+
export function currentLinkPath(paseoHome) {
|
|
27
|
+
return path.join(paseoHome, SLOT_CURRENT);
|
|
28
|
+
}
|
|
29
|
+
export function previousLinkPath(paseoHome) {
|
|
30
|
+
return path.join(paseoHome, SLOT_PREVIOUS);
|
|
31
|
+
}
|
|
32
|
+
export function updateStatePath(paseoHome) {
|
|
33
|
+
return path.join(paseoHome, UPDATE_STATE_FILE);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Worker entry candidates inside an installed slot.
|
|
37
|
+
*
|
|
38
|
+
* Two layouts, because npm does not guarantee where a transitive dependency lands:
|
|
39
|
+
* `@hyperdrive.bot/fleet-server` is nested under the CLI in the layout observed on
|
|
40
|
+
* this box, but npm is free to hoist it to the top of the prefix instead. Both are
|
|
41
|
+
* checked rather than assumed.
|
|
42
|
+
*
|
|
43
|
+
* The `dist/server/server/` doubling is real: the published tarball ships
|
|
44
|
+
* `dist/server/server/daemon-worker.js`, verified against the installed 0.3.3 tree.
|
|
45
|
+
*/
|
|
46
|
+
export function slotWorkerEntryCandidates(slotRoot) {
|
|
47
|
+
const modules = path.join(slotRoot, "lib", "node_modules");
|
|
48
|
+
const tail = path.join("dist", "server", "server", "daemon-worker.js");
|
|
49
|
+
return [
|
|
50
|
+
// Nested under the CLI (observed layout for `npm i @hyperdrive.bot/fleet-cli`).
|
|
51
|
+
path.join(modules, "@hyperdrive.bot", "fleet-cli", "node_modules", "@hyperdrive.bot", "fleet-server", tail),
|
|
52
|
+
// Hoisted to the prefix root.
|
|
53
|
+
path.join(modules, "@hyperdrive.bot", "fleet-server", tail),
|
|
54
|
+
];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The worker entry for the active slot, or null when no usable slot is installed.
|
|
58
|
+
*
|
|
59
|
+
* Returning null is the normal case for an npm-global or checkout install, and the
|
|
60
|
+
* caller must fall back to its own resolution so those installs behave exactly as
|
|
61
|
+
* they did before slots existed.
|
|
62
|
+
*/
|
|
63
|
+
export function resolveSlotWorkerEntry(paseoHome) {
|
|
64
|
+
const link = currentLinkPath(paseoHome);
|
|
65
|
+
// `existsSync` follows symlinks, so a dangling `current` (mid-swap, or a rollback
|
|
66
|
+
// that removed the target) correctly reports false and we fall back.
|
|
67
|
+
if (!existsSync(link)) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
if (!statSync(link).isDirectory()) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
for (const candidate of slotWorkerEntryCandidates(link)) {
|
|
79
|
+
if (existsSync(candidate)) {
|
|
80
|
+
return candidate;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/** Version a slot symlink points at, or null when absent or dangling. */
|
|
86
|
+
export function readSlotVersion(paseoHome, link) {
|
|
87
|
+
const linkPath = path.join(paseoHome, link);
|
|
88
|
+
try {
|
|
89
|
+
const target = readlinkSync(linkPath);
|
|
90
|
+
const base = path.basename(target);
|
|
91
|
+
return base.length > 0 ? base : null;
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=slots.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable state for daemon self-update, at `<paseoHome>/update-state.json`.
|
|
3
|
+
*
|
|
4
|
+
* The important field is `pinned`. A version that failed to boot is recorded here
|
|
5
|
+
* so it is never retried automatically. Without it, a bad release plus an update
|
|
6
|
+
* loop is a restart storm that survives supervisor backoff, because each attempt
|
|
7
|
+
* looks like a fresh install rather than a repeat of a known-bad one.
|
|
8
|
+
*/
|
|
9
|
+
export interface UpdateState {
|
|
10
|
+
/** Last version whose install+boot failed. Never auto-installed again. */
|
|
11
|
+
pinned: string | null;
|
|
12
|
+
/** Why it was pinned, for the operator reading this file at 3am. */
|
|
13
|
+
pinnedReason: string | null;
|
|
14
|
+
/** Version installed by the most recent successful update. */
|
|
15
|
+
lastInstalled: string | null;
|
|
16
|
+
/** Epoch ms of the last registry check, used to honour the poll interval. */
|
|
17
|
+
lastCheckedAt: number | null;
|
|
18
|
+
/** Newest version seen on the channel at that check. */
|
|
19
|
+
lastSeenVersion: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Stable per-install id, used as the staged-rollout bucket seed so a given
|
|
22
|
+
* machine lands in the same percentile on every release rather than
|
|
23
|
+
* re-rolling the dice and updating on day one half the time.
|
|
24
|
+
*/
|
|
25
|
+
installId: string | null;
|
|
26
|
+
}
|
|
27
|
+
export declare const EMPTY_UPDATE_STATE: UpdateState;
|
|
28
|
+
/** Read state, returning defaults for a missing or unparseable file. */
|
|
29
|
+
export declare function readUpdateState(paseoHome: string): UpdateState;
|
|
30
|
+
/** Merge a patch into state and write it atomically. */
|
|
31
|
+
export declare function writeUpdateState(paseoHome: string, patch: Partial<UpdateState>): UpdateState;
|
|
32
|
+
/** True when this version previously failed and must not be auto-installed. */
|
|
33
|
+
export declare function isPinned(state: UpdateState, version: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Stable install id, created on first use.
|
|
36
|
+
*
|
|
37
|
+
* Not a machine fingerprint on purpose: it only needs to be stable and uniformly
|
|
38
|
+
* distributed to seed the rollout bucket.
|
|
39
|
+
*/
|
|
40
|
+
export declare function ensureInstallId(paseoHome: string, generate: () => string): string;
|
|
41
|
+
//# sourceMappingURL=state.d.ts.map
|