@getpaseo/server 0.1.30 → 0.1.33
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/dist/scripts/daemon-runner.js +1 -1
- package/dist/scripts/daemon-runner.js.map +1 -1
- package/dist/scripts/dev-runner.js +1 -1
- package/dist/scripts/dev-runner.js.map +1 -1
- package/dist/server/client/daemon-client-relay-e2ee-transport.d.ts.map +1 -1
- package/dist/server/client/daemon-client-relay-e2ee-transport.js.map +1 -1
- package/dist/server/client/daemon-client-websocket-transport.d.ts.map +1 -1
- package/dist/server/client/daemon-client-websocket-transport.js.map +1 -1
- package/dist/server/client/daemon-client.d.ts +108 -103
- package/dist/server/client/daemon-client.d.ts.map +1 -1
- package/dist/server/client/daemon-client.js +417 -407
- package/dist/server/client/daemon-client.js.map +1 -1
- package/dist/server/server/agent/activity-curator.d.ts.map +1 -1
- package/dist/server/server/agent/activity-curator.js +5 -4
- package/dist/server/server/agent/activity-curator.js.map +1 -1
- package/dist/server/server/agent/agent-management-mcp.d.ts.map +1 -1
- package/dist/server/server/agent/agent-management-mcp.js +13 -17
- package/dist/server/server/agent/agent-management-mcp.js.map +1 -1
- package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
- package/dist/server/server/agent/agent-manager.js +26 -26
- package/dist/server/server/agent/agent-manager.js.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
- package/dist/server/server/agent/agent-metadata-generator.js +1 -3
- package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
- package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
- package/dist/server/server/agent/agent-projections.js +4 -12
- package/dist/server/server/agent/agent-projections.js.map +1 -1
- package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -1
- package/dist/server/server/agent/agent-response-loop.js +6 -6
- package/dist/server/server/agent/agent-response-loop.js.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.d.ts +23 -0
- package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
- package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
- package/dist/server/server/agent/agent-storage.js +2 -4
- package/dist/server/server/agent/agent-storage.js.map +1 -1
- package/dist/server/server/agent/dictation-debug.d.ts.map +1 -1
- package/dist/server/server/agent/dictation-debug.js.map +1 -1
- package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
- package/dist/server/server/agent/mcp-server.js +19 -27
- package/dist/server/server/agent/mcp-server.js.map +1 -1
- package/dist/server/server/agent/pcm16-resampler.d.ts.map +1 -1
- package/dist/server/server/agent/pcm16-resampler.js.map +1 -1
- package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
- package/dist/server/server/agent/provider-launch-config.js +4 -2
- package/dist/server/server/agent/provider-launch-config.js.map +1 -1
- package/dist/server/server/agent/provider-manifest.d.ts +2 -2
- package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
- package/dist/server/server/agent/provider-manifest.js +63 -9
- package/dist/server/server/agent/provider-manifest.js.map +1 -1
- package/dist/server/server/agent/provider-registry.d.ts +2 -2
- package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
- package/dist/server/server/agent/provider-registry.js +1 -1
- package/dist/server/server/agent/provider-registry.js.map +1 -1
- package/dist/server/server/agent/providers/claude/model-catalog.js +10 -10
- package/dist/server/server/agent/providers/claude/model-catalog.js.map +1 -1
- package/dist/server/server/agent/providers/claude/partial-json.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/partial-json.js +4 -4
- package/dist/server/server/agent/providers/claude/partial-json.js.map +1 -1
- package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts +20 -0
- package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts.map +1 -0
- package/dist/server/server/agent/providers/claude/sidechain-tracker.js +230 -0
- package/dist/server/server/agent/providers/claude/sidechain-tracker.js.map +1 -0
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +11 -0
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.js +37 -20
- package/dist/server/server/agent/providers/claude/task-notification-tool-call.js.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js +21 -11
- package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude/tool-call-mapper.js +23 -11
- package/dist/server/server/agent/providers/claude/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/claude-agent.js +488 -1134
- package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js +2 -2
- package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js +14 -11
- package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-app-server-agent.js +347 -163
- package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts.map +1 -1
- package/dist/server/server/agent/providers/codex-rollout-timeline.js +21 -32
- package/dist/server/server/agent/providers/codex-rollout-timeline.js.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +2 -2
- package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +2 -9
- package/dist/server/server/agent/providers/opencode/tool-call-mapper.js.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
- package/dist/server/server/agent/providers/opencode-agent.js +5 -5
- package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +277 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
- package/dist/server/server/agent/providers/tool-call-detail-primitives.js +149 -15
- package/dist/server/server/agent/providers/tool-call-detail-primitives.js.map +1 -1
- package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts.map +1 -1
- package/dist/server/server/agent/providers/tool-call-mapper-utils.js +1 -3
- package/dist/server/server/agent/providers/tool-call-mapper-utils.js.map +1 -1
- package/dist/server/server/agent/stt-manager.d.ts.map +1 -1
- package/dist/server/server/agent/stt-manager.js +1 -2
- package/dist/server/server/agent/stt-manager.js.map +1 -1
- package/dist/server/server/agent/system-prompt.js +5 -5
- package/dist/server/server/agent/timeline-projection.d.ts.map +1 -1
- package/dist/server/server/agent/timeline-projection.js.map +1 -1
- package/dist/server/server/agent/tts-manager.d.ts.map +1 -1
- package/dist/server/server/agent/tts-manager.js +27 -9
- package/dist/server/server/agent/tts-manager.js.map +1 -1
- package/dist/server/server/agent/wait-for-agent-tracker.d.ts.map +1 -1
- package/dist/server/server/agent/wait-for-agent-tracker.js.map +1 -1
- package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
- package/dist/server/server/agent-attention-policy.js.map +1 -1
- package/dist/server/server/allowed-hosts.d.ts.map +1 -1
- package/dist/server/server/allowed-hosts.js.map +1 -1
- package/dist/server/server/bootstrap.d.ts.map +1 -1
- package/dist/server/server/bootstrap.js +46 -5
- package/dist/server/server/bootstrap.js.map +1 -1
- package/dist/server/server/config.d.ts.map +1 -1
- package/dist/server/server/config.js +4 -11
- package/dist/server/server/config.js.map +1 -1
- package/dist/server/server/connection-offer.d.ts +1 -1
- package/dist/server/server/connection-offer.d.ts.map +1 -1
- package/dist/server/server/connection-offer.js +2 -3
- package/dist/server/server/connection-offer.js.map +1 -1
- package/dist/server/server/daemon-version.d.ts.map +1 -1
- package/dist/server/server/daemon-version.js +1 -1
- package/dist/server/server/daemon-version.js.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -1
- package/dist/server/server/dictation/dictation-stream-manager.js +4 -1
- package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -1
- package/dist/server/server/exports.d.ts +1 -1
- package/dist/server/server/exports.d.ts.map +1 -1
- package/dist/server/server/exports.js +1 -1
- package/dist/server/server/exports.js.map +1 -1
- package/dist/server/server/file-explorer/service.d.ts +1 -1
- package/dist/server/server/file-explorer/service.d.ts.map +1 -1
- package/dist/server/server/file-explorer/service.js +5 -8
- package/dist/server/server/file-explorer/service.js.map +1 -1
- package/dist/server/server/index.js +1 -1
- package/dist/server/server/index.js.map +1 -1
- package/dist/server/server/logger.d.ts.map +1 -1
- package/dist/server/server/logger.js.map +1 -1
- package/dist/server/server/messages.d.ts.map +1 -1
- package/dist/server/server/messages.js.map +1 -1
- package/dist/server/server/package-version.d.ts.map +1 -1
- package/dist/server/server/package-version.js +1 -2
- package/dist/server/server/package-version.js.map +1 -1
- package/dist/server/server/persisted-config.d.ts +10 -10
- package/dist/server/server/persisted-config.d.ts.map +1 -1
- package/dist/server/server/persisted-config.js.map +1 -1
- package/dist/server/server/persistence-hooks.d.ts.map +1 -1
- package/dist/server/server/persistence-hooks.js.map +1 -1
- package/dist/server/server/pid-lock.d.ts.map +1 -1
- package/dist/server/server/pid-lock.js.map +1 -1
- package/dist/server/server/push/push-service.d.ts.map +1 -1
- package/dist/server/server/push/push-service.js.map +1 -1
- package/dist/server/server/relay-transport.d.ts.map +1 -1
- package/dist/server/server/relay-transport.js +6 -2
- package/dist/server/server/relay-transport.js.map +1 -1
- package/dist/server/server/session.d.ts +49 -37
- package/dist/server/server/session.d.ts.map +1 -1
- package/dist/server/server/session.js +1240 -998
- package/dist/server/server/session.js.map +1 -1
- package/dist/server/server/speech/audio.d.ts.map +1 -1
- package/dist/server/server/speech/audio.js.map +1 -1
- package/dist/server/server/speech/providers/local/config.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/config.js +5 -14
- package/dist/server/server/speech/providers/local/config.js.map +1 -1
- package/dist/server/server/speech/providers/local/models.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/models.js +1 -1
- package/dist/server/server/speech/providers/local/models.js.map +1 -1
- package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js +21 -7
- package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +1 -1
- package/dist/server/server/speech/providers/local/runtime.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/runtime.js +1 -23
- package/dist/server/server/speech/providers/local/runtime.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/model-catalog.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/model-downloader.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +9 -4
- package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +7 -2
- package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +5 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +2 -4
- package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js +1 -3
- package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js +2 -4
- package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js +4 -1
- package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js +1 -1
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.d.ts.map +1 -1
- package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.js.map +1 -1
- package/dist/server/server/speech/providers/openai/config.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/config.js +5 -24
- package/dist/server/server/speech/providers/openai/config.js.map +1 -1
- package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/realtime-transcription-session.js +6 -3
- package/dist/server/server/speech/providers/openai/realtime-transcription-session.js.map +1 -1
- package/dist/server/server/speech/providers/openai/runtime.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/runtime.js +2 -6
- package/dist/server/server/speech/providers/openai/runtime.js.map +1 -1
- package/dist/server/server/speech/providers/openai/stt.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/stt.js +1 -3
- package/dist/server/server/speech/providers/openai/stt.js.map +1 -1
- package/dist/server/server/speech/providers/openai/tts.d.ts.map +1 -1
- package/dist/server/server/speech/providers/openai/tts.js.map +1 -1
- package/dist/server/server/speech/speech-config-resolver.d.ts.map +1 -1
- package/dist/server/server/speech/speech-config-resolver.js +3 -7
- package/dist/server/server/speech/speech-config-resolver.js.map +1 -1
- package/dist/server/server/speech/speech-provider.d.ts.map +1 -1
- package/dist/server/server/speech/speech-runtime.d.ts.map +1 -1
- package/dist/server/server/speech/speech-runtime.js.map +1 -1
- package/dist/server/server/speech/turn-detection-provider.d.ts.map +1 -1
- package/dist/server/server/terminal-mcp/server.d.ts.map +1 -1
- package/dist/server/server/terminal-mcp/server.js +3 -11
- package/dist/server/server/terminal-mcp/server.js.map +1 -1
- package/dist/server/server/terminal-mcp/terminal-manager.d.ts.map +1 -1
- package/dist/server/server/terminal-mcp/terminal-manager.js +2 -14
- package/dist/server/server/terminal-mcp/terminal-manager.js.map +1 -1
- package/dist/server/server/terminal-mcp/tmux.d.ts +1 -1
- package/dist/server/server/terminal-mcp/tmux.d.ts.map +1 -1
- package/dist/server/server/terminal-mcp/tmux.js +20 -123
- package/dist/server/server/terminal-mcp/tmux.js.map +1 -1
- package/dist/server/server/utils/diff-highlighter.d.ts +11 -3
- package/dist/server/server/utils/diff-highlighter.d.ts.map +1 -1
- package/dist/server/server/utils/diff-highlighter.js +49 -36
- package/dist/server/server/utils/diff-highlighter.js.map +1 -1
- package/dist/server/server/voice/fixed-duration-pcm-ring-buffer.d.ts.map +1 -1
- package/dist/server/server/voice/fixed-duration-pcm-ring-buffer.js.map +1 -1
- package/dist/server/server/voice/voice-turn-controller.d.ts.map +1 -1
- package/dist/server/server/voice/voice-turn-controller.js +1 -3
- package/dist/server/server/voice/voice-turn-controller.js.map +1 -1
- package/dist/server/server/voice-config.d.ts.map +1 -1
- package/dist/server/server/voice-config.js.map +1 -1
- package/dist/server/server/voice-mcp-bridge.d.ts.map +1 -1
- package/dist/server/server/voice-mcp-bridge.js.map +1 -1
- package/dist/server/server/websocket-server.d.ts +1 -0
- package/dist/server/server/websocket-server.d.ts.map +1 -1
- package/dist/server/server/websocket-server.js +20 -22
- package/dist/server/server/websocket-server.js.map +1 -1
- package/dist/server/server/workspace-registry-bootstrap.d.ts +3 -3
- package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -1
- package/dist/server/server/workspace-registry-bootstrap.js +6 -6
- package/dist/server/server/workspace-registry-bootstrap.js.map +1 -1
- package/dist/server/server/workspace-registry-model.d.ts +14 -3
- package/dist/server/server/workspace-registry-model.d.ts.map +1 -1
- package/dist/server/server/workspace-registry-model.js +40 -15
- package/dist/server/server/workspace-registry-model.js.map +1 -1
- package/dist/server/server/workspace-registry.d.ts +5 -5
- package/dist/server/server/workspace-registry.d.ts.map +1 -1
- package/dist/server/server/workspace-registry.js +16 -13
- package/dist/server/server/workspace-registry.js.map +1 -1
- package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
- package/dist/server/server/worktree-bootstrap.js +17 -6
- package/dist/server/server/worktree-bootstrap.js.map +1 -1
- package/dist/server/shared/agent-attention-notification.d.ts.map +1 -1
- package/dist/server/shared/agent-attention-notification.js.map +1 -1
- package/dist/server/shared/agent-lifecycle.d.ts.map +1 -1
- package/dist/server/shared/daemon-endpoints.d.ts +1 -0
- package/dist/server/shared/daemon-endpoints.d.ts.map +1 -1
- package/dist/server/shared/daemon-endpoints.js +11 -2
- package/dist/server/shared/daemon-endpoints.js.map +1 -1
- package/dist/server/shared/messages.d.ts +1228 -2982
- package/dist/server/shared/messages.d.ts.map +1 -1
- package/dist/server/shared/messages.js +330 -302
- package/dist/server/shared/messages.js.map +1 -1
- package/dist/server/shared/terminal-stream-protocol.d.ts +36 -0
- package/dist/server/shared/terminal-stream-protocol.d.ts.map +1 -0
- package/dist/server/shared/terminal-stream-protocol.js +99 -0
- package/dist/server/shared/terminal-stream-protocol.js.map +1 -0
- package/dist/server/shared/tool-call-display.d.ts.map +1 -1
- package/dist/server/shared/tool-call-display.js +6 -3
- package/dist/server/shared/tool-call-display.js.map +1 -1
- package/dist/server/terminal/terminal.d.ts +9 -48
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +49 -126
- package/dist/server/terminal/terminal.js.map +1 -1
- package/dist/server/utils/checkout-git.d.ts +1 -0
- package/dist/server/utils/checkout-git.d.ts.map +1 -1
- package/dist/server/utils/checkout-git.js +111 -120
- package/dist/server/utils/checkout-git.js.map +1 -1
- package/dist/server/utils/directory-suggestions.d.ts +1 -1
- package/dist/server/utils/directory-suggestions.d.ts.map +1 -1
- package/dist/server/utils/directory-suggestions.js +40 -40
- package/dist/server/utils/directory-suggestions.js.map +1 -1
- package/dist/server/utils/project-icon.d.ts.map +1 -1
- package/dist/server/utils/project-icon.js +2 -11
- package/dist/server/utils/project-icon.js.map +1 -1
- package/dist/server/utils/worktree.d.ts +2 -0
- package/dist/server/utils/worktree.d.ts.map +1 -1
- package/dist/server/utils/worktree.js +22 -19
- package/dist/server/utils/worktree.js.map +1 -1
- package/dist/src/server/agent/activity-curator.js +5 -4
- package/dist/src/server/agent/activity-curator.js.map +1 -1
- package/dist/src/server/agent/agent-manager.js +26 -26
- package/dist/src/server/agent/agent-manager.js.map +1 -1
- package/dist/src/server/agent/agent-metadata-generator.js +1 -3
- package/dist/src/server/agent/agent-metadata-generator.js.map +1 -1
- package/dist/src/server/agent/agent-projections.js +4 -12
- package/dist/src/server/agent/agent-projections.js.map +1 -1
- package/dist/src/server/agent/agent-response-loop.js +6 -6
- package/dist/src/server/agent/agent-response-loop.js.map +1 -1
- package/dist/src/server/agent/agent-sdk-types.js.map +1 -1
- package/dist/src/server/agent/agent-storage.js +2 -4
- package/dist/src/server/agent/agent-storage.js.map +1 -1
- package/dist/src/server/agent/dictation-debug.js.map +1 -1
- package/dist/src/server/agent/mcp-server.js +19 -27
- package/dist/src/server/agent/mcp-server.js.map +1 -1
- package/dist/src/server/agent/pcm16-resampler.js.map +1 -1
- package/dist/src/server/agent/provider-launch-config.js +4 -2
- package/dist/src/server/agent/provider-launch-config.js.map +1 -1
- package/dist/src/server/agent/provider-manifest.js +63 -9
- package/dist/src/server/agent/provider-manifest.js.map +1 -1
- package/dist/src/server/agent/provider-registry.js +1 -1
- package/dist/src/server/agent/provider-registry.js.map +1 -1
- package/dist/src/server/agent/providers/claude/model-catalog.js +10 -10
- package/dist/src/server/agent/providers/claude/model-catalog.js.map +1 -1
- package/dist/src/server/agent/providers/claude/partial-json.js +4 -4
- package/dist/src/server/agent/providers/claude/partial-json.js.map +1 -1
- package/dist/src/server/agent/providers/claude/sidechain-tracker.js +230 -0
- package/dist/src/server/agent/providers/claude/sidechain-tracker.js.map +1 -0
- package/dist/src/server/agent/providers/claude/task-notification-tool-call.js +37 -20
- package/dist/src/server/agent/providers/claude/task-notification-tool-call.js.map +1 -1
- package/dist/src/server/agent/providers/claude/tool-call-detail-parser.js +21 -11
- package/dist/src/server/agent/providers/claude/tool-call-detail-parser.js.map +1 -1
- package/dist/src/server/agent/providers/claude/tool-call-mapper.js +23 -11
- package/dist/src/server/agent/providers/claude/tool-call-mapper.js.map +1 -1
- package/dist/src/server/agent/providers/claude-agent.js +488 -1134
- package/dist/src/server/agent/providers/claude-agent.js.map +1 -1
- package/dist/src/server/agent/providers/codex/tool-call-detail-parser.js +2 -2
- package/dist/src/server/agent/providers/codex/tool-call-detail-parser.js.map +1 -1
- package/dist/src/server/agent/providers/codex/tool-call-mapper.js +14 -11
- package/dist/src/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
- package/dist/src/server/agent/providers/codex-app-server-agent.js +347 -163
- package/dist/src/server/agent/providers/codex-app-server-agent.js.map +1 -1
- package/dist/src/server/agent/providers/codex-rollout-timeline.js +21 -32
- package/dist/src/server/agent/providers/codex-rollout-timeline.js.map +1 -1
- package/dist/src/server/agent/providers/opencode/tool-call-detail-parser.js +2 -2
- package/dist/src/server/agent/providers/opencode/tool-call-detail-parser.js.map +1 -1
- package/dist/src/server/agent/providers/opencode/tool-call-mapper.js +2 -9
- package/dist/src/server/agent/providers/opencode/tool-call-mapper.js.map +1 -1
- package/dist/src/server/agent/providers/opencode-agent.js +5 -5
- package/dist/src/server/agent/providers/opencode-agent.js.map +1 -1
- package/dist/src/server/agent/providers/tool-call-detail-primitives.js +149 -15
- package/dist/src/server/agent/providers/tool-call-detail-primitives.js.map +1 -1
- package/dist/src/server/agent/providers/tool-call-mapper-utils.js +1 -3
- package/dist/src/server/agent/providers/tool-call-mapper-utils.js.map +1 -1
- package/dist/src/server/agent/stt-manager.js +1 -2
- package/dist/src/server/agent/stt-manager.js.map +1 -1
- package/dist/src/server/agent/timeline-projection.js.map +1 -1
- package/dist/src/server/agent/tts-manager.js +27 -9
- package/dist/src/server/agent/tts-manager.js.map +1 -1
- package/dist/src/server/agent/wait-for-agent-tracker.js.map +1 -1
- package/dist/src/server/agent-attention-policy.js.map +1 -1
- package/dist/src/server/allowed-hosts.js.map +1 -1
- package/dist/src/server/bootstrap.js +46 -5
- package/dist/src/server/bootstrap.js.map +1 -1
- package/dist/src/server/config.js +4 -11
- package/dist/src/server/config.js.map +1 -1
- package/dist/src/server/connection-offer.js +2 -3
- package/dist/src/server/connection-offer.js.map +1 -1
- package/dist/src/server/daemon-version.js +1 -1
- package/dist/src/server/daemon-version.js.map +1 -1
- package/dist/src/server/dictation/dictation-stream-manager.js +4 -1
- package/dist/src/server/dictation/dictation-stream-manager.js.map +1 -1
- package/dist/src/server/file-explorer/service.js +5 -8
- package/dist/src/server/file-explorer/service.js.map +1 -1
- package/dist/src/server/messages.js.map +1 -1
- package/dist/src/server/package-version.js +1 -2
- package/dist/src/server/package-version.js.map +1 -1
- package/dist/src/server/pairing-offer.js +45 -0
- package/dist/src/server/pairing-offer.js.map +1 -0
- package/dist/src/server/pairing-qr.js +45 -0
- package/dist/src/server/pairing-qr.js.map +1 -0
- package/dist/src/server/persisted-config.js.map +1 -1
- package/dist/src/server/persistence-hooks.js.map +1 -1
- package/dist/src/server/pid-lock.js.map +1 -1
- package/dist/src/server/push/push-service.js.map +1 -1
- package/dist/src/server/relay-transport.js +6 -2
- package/dist/src/server/relay-transport.js.map +1 -1
- package/dist/src/server/session.js +1240 -998
- package/dist/src/server/session.js.map +1 -1
- package/dist/src/server/speech/audio.js.map +1 -1
- package/dist/src/server/speech/providers/local/config.js +5 -14
- package/dist/src/server/speech/providers/local/config.js.map +1 -1
- package/dist/src/server/speech/providers/local/models.js +1 -1
- package/dist/src/server/speech/providers/local/models.js.map +1 -1
- package/dist/src/server/speech/providers/local/pocket/pocket-tts-onnx.js +21 -7
- package/dist/src/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +1 -1
- package/dist/src/server/speech/providers/local/runtime.js +1 -23
- package/dist/src/server/speech/providers/local/runtime.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/model-catalog.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/model-downloader.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +9 -4
- package/dist/src/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +7 -2
- package/dist/src/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +5 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +2 -4
- package/dist/src/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-realtime-session.js +1 -3
- package/dist/src/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-stt.js +2 -4
- package/dist/src/server/speech/providers/local/sherpa/sherpa-stt.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-tts.js +4 -1
- package/dist/src/server/speech/providers/local/sherpa/sherpa-tts.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/silero-vad-provider.js +1 -1
- package/dist/src/server/speech/providers/local/sherpa/silero-vad-provider.js.map +1 -1
- package/dist/src/server/speech/providers/local/sherpa/silero-vad-session.js.map +1 -1
- package/dist/src/server/speech/providers/openai/config.js +5 -24
- package/dist/src/server/speech/providers/openai/config.js.map +1 -1
- package/dist/src/server/speech/providers/openai/realtime-transcription-session.js +6 -3
- package/dist/src/server/speech/providers/openai/realtime-transcription-session.js.map +1 -1
- package/dist/src/server/speech/providers/openai/runtime.js +2 -6
- package/dist/src/server/speech/providers/openai/runtime.js.map +1 -1
- package/dist/src/server/speech/providers/openai/stt.js +1 -3
- package/dist/src/server/speech/providers/openai/stt.js.map +1 -1
- package/dist/src/server/speech/providers/openai/tts.js.map +1 -1
- package/dist/src/server/speech/speech-config-resolver.js +3 -7
- package/dist/src/server/speech/speech-config-resolver.js.map +1 -1
- package/dist/src/server/speech/speech-runtime.js.map +1 -1
- package/dist/src/server/utils/diff-highlighter.js +49 -36
- package/dist/src/server/utils/diff-highlighter.js.map +1 -1
- package/dist/src/server/voice/fixed-duration-pcm-ring-buffer.js.map +1 -1
- package/dist/src/server/voice/voice-turn-controller.js +1 -3
- package/dist/src/server/voice/voice-turn-controller.js.map +1 -1
- package/dist/src/server/voice-config.js.map +1 -1
- package/dist/src/server/voice-mcp-bridge.js.map +1 -1
- package/dist/src/server/websocket-server.js +20 -22
- package/dist/src/server/websocket-server.js.map +1 -1
- package/dist/src/server/workspace-registry-bootstrap.js +6 -6
- package/dist/src/server/workspace-registry-bootstrap.js.map +1 -1
- package/dist/src/server/workspace-registry-model.js +40 -15
- package/dist/src/server/workspace-registry-model.js.map +1 -1
- package/dist/src/server/workspace-registry.js +16 -13
- package/dist/src/server/workspace-registry.js.map +1 -1
- package/dist/src/server/worktree-bootstrap.js +17 -6
- package/dist/src/server/worktree-bootstrap.js.map +1 -1
- package/dist/src/shared/agent-attention-notification.js.map +1 -1
- package/dist/src/shared/daemon-endpoints.js +11 -2
- package/dist/src/shared/daemon-endpoints.js.map +1 -1
- package/dist/src/shared/messages.js +330 -302
- package/dist/src/shared/messages.js.map +1 -1
- package/dist/src/shared/terminal-stream-protocol.js +99 -0
- package/dist/src/shared/terminal-stream-protocol.js.map +1 -0
- package/dist/src/shared/tool-call-display.js +6 -3
- package/dist/src/shared/tool-call-display.js.map +1 -1
- package/dist/src/terminal/terminal.js +49 -126
- package/dist/src/terminal/terminal.js.map +1 -1
- package/dist/src/utils/checkout-git.js +111 -120
- package/dist/src/utils/checkout-git.js.map +1 -1
- package/dist/src/utils/directory-suggestions.js +40 -40
- package/dist/src/utils/directory-suggestions.js.map +1 -1
- package/dist/src/utils/project-icon.js +2 -11
- package/dist/src/utils/project-icon.js.map +1 -1
- package/dist/src/utils/worktree.js +22 -19
- package/dist/src/utils/worktree.js.map +1 -1
- package/package.json +3 -11
- package/dist/server/client/daemon-client-terminal-stream-manager.d.ts +0 -43
- package/dist/server/client/daemon-client-terminal-stream-manager.d.ts.map +0 -1
- package/dist/server/client/daemon-client-terminal-stream-manager.js +0 -134
- package/dist/server/client/daemon-client-terminal-stream-manager.js.map +0 -1
- package/dist/server/server/utils/syntax-highlighter.d.ts +0 -10
- package/dist/server/server/utils/syntax-highlighter.d.ts.map +0 -1
- package/dist/server/server/utils/syntax-highlighter.js +0 -145
- package/dist/server/server/utils/syntax-highlighter.js.map +0 -1
- package/dist/server/shared/binary-mux.d.ts +0 -31
- package/dist/server/shared/binary-mux.d.ts.map +0 -1
- package/dist/server/shared/binary-mux.js +0 -114
- package/dist/server/shared/binary-mux.js.map +0 -1
- package/dist/server/shared/terminal-key-input.d.ts +0 -9
- package/dist/server/shared/terminal-key-input.d.ts.map +0 -1
- package/dist/server/shared/terminal-key-input.js +0 -132
- package/dist/server/shared/terminal-key-input.js.map +0 -1
- package/dist/src/server/utils/syntax-highlighter.js +0 -145
- package/dist/src/server/utils/syntax-highlighter.js.map +0 -1
- package/dist/src/shared/binary-mux.js +0 -114
- package/dist/src/shared/binary-mux.js.map +0 -1
|
@@ -7,7 +7,6 @@ import { createRequire } from "node:module";
|
|
|
7
7
|
const { Terminal } = xterm;
|
|
8
8
|
const require = createRequire(import.meta.url);
|
|
9
9
|
let nodePtySpawnHelperChecked = false;
|
|
10
|
-
const STATE_BROADCAST_INTERVAL_MS = 33;
|
|
11
10
|
function resolveNodePtyPackageRoot() {
|
|
12
11
|
try {
|
|
13
12
|
const packageJsonPath = require.resolve("node-pty/package.json");
|
|
@@ -89,6 +88,9 @@ function extractCell(terminal, row, col) {
|
|
|
89
88
|
bold: cell.isBold() !== 0,
|
|
90
89
|
italic: cell.isItalic() !== 0,
|
|
91
90
|
underline: cell.isUnderline() !== 0,
|
|
91
|
+
dim: cell.isDim() !== 0,
|
|
92
|
+
inverse: cell.isInverse() !== 0,
|
|
93
|
+
strikethrough: cell.isStrikethrough() !== 0,
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
function extractGrid(terminal) {
|
|
@@ -133,6 +135,9 @@ function extractScrollback(terminal) {
|
|
|
133
135
|
bold: cell.isBold() !== 0,
|
|
134
136
|
italic: cell.isItalic() !== 0,
|
|
135
137
|
underline: cell.isUnderline() !== 0,
|
|
138
|
+
dim: cell.isDim() !== 0,
|
|
139
|
+
inverse: cell.isInverse() !== 0,
|
|
140
|
+
strikethrough: cell.isStrikethrough() !== 0,
|
|
136
141
|
});
|
|
137
142
|
}
|
|
138
143
|
else {
|
|
@@ -147,21 +152,32 @@ function extractScrollback(terminal) {
|
|
|
147
152
|
}
|
|
148
153
|
return scrollback;
|
|
149
154
|
}
|
|
155
|
+
function extractCursorState(terminal) {
|
|
156
|
+
const coreService = terminal._core?.coreService;
|
|
157
|
+
const cursorStyle = coreService?.decPrivateModes?.cursorStyle;
|
|
158
|
+
const normalizedCursorStyle = cursorStyle === "block" || cursorStyle === "underline" || cursorStyle === "bar"
|
|
159
|
+
? cursorStyle
|
|
160
|
+
: undefined;
|
|
161
|
+
const cursorBlink = typeof coreService?.decPrivateModes?.cursorBlink === "boolean"
|
|
162
|
+
? coreService.decPrivateModes.cursorBlink
|
|
163
|
+
: undefined;
|
|
164
|
+
const hidden = Boolean(coreService?.isCursorHidden);
|
|
165
|
+
return {
|
|
166
|
+
row: terminal.buffer.active.cursorY,
|
|
167
|
+
col: terminal.buffer.active.cursorX,
|
|
168
|
+
...(hidden ? { hidden: true } : {}),
|
|
169
|
+
...(normalizedCursorStyle ? { style: normalizedCursorStyle } : {}),
|
|
170
|
+
...(typeof cursorBlink === "boolean" ? { blink: cursorBlink } : {}),
|
|
171
|
+
};
|
|
172
|
+
}
|
|
150
173
|
export async function createTerminal(options) {
|
|
151
174
|
const { cwd, shell = process.env.SHELL || "/bin/sh", env = {}, rows = 24, cols = 80, name = "Terminal", } = options;
|
|
152
175
|
const id = randomUUID();
|
|
153
176
|
const listeners = new Set();
|
|
154
|
-
const rawListeners = new Set();
|
|
155
177
|
const exitListeners = new Set();
|
|
156
|
-
const rawOutputChunks = [];
|
|
157
|
-
const maxRawBufferBytes = 8 * 1024 * 1024;
|
|
158
|
-
let rawBufferBytes = 0;
|
|
159
|
-
let outputOffset = 0;
|
|
160
178
|
let killed = false;
|
|
161
179
|
let disposed = false;
|
|
162
180
|
let exitEmitted = false;
|
|
163
|
-
let stateBroadcastScheduled = false;
|
|
164
|
-
let stateBroadcastTimer = null;
|
|
165
181
|
// Create xterm.js headless terminal
|
|
166
182
|
const terminal = new Terminal({
|
|
167
183
|
rows,
|
|
@@ -182,6 +198,14 @@ export async function createTerminal(options) {
|
|
|
182
198
|
TERM: "xterm-256color",
|
|
183
199
|
},
|
|
184
200
|
});
|
|
201
|
+
// Respond to DA1 queries (CSI c or CSI 0 c) — apps like nvim query terminal capabilities
|
|
202
|
+
terminal.parser.registerCsiHandler({ final: "c" }, (params) => {
|
|
203
|
+
if (params.length === 0 || (params.length === 1 && params[0] === 0)) {
|
|
204
|
+
ptyProcess.write("\x1b[?62;4;22c");
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
return false;
|
|
208
|
+
});
|
|
185
209
|
function emitExit() {
|
|
186
210
|
if (exitEmitted) {
|
|
187
211
|
return;
|
|
@@ -202,92 +226,21 @@ export async function createTerminal(options) {
|
|
|
202
226
|
return;
|
|
203
227
|
}
|
|
204
228
|
disposed = true;
|
|
205
|
-
if (stateBroadcastTimer) {
|
|
206
|
-
clearTimeout(stateBroadcastTimer);
|
|
207
|
-
stateBroadcastTimer = null;
|
|
208
|
-
}
|
|
209
|
-
stateBroadcastScheduled = false;
|
|
210
229
|
terminal.dispose();
|
|
211
230
|
listeners.clear();
|
|
212
|
-
rawListeners.clear();
|
|
213
231
|
exitListeners.clear();
|
|
214
232
|
}
|
|
215
|
-
function emitStateToListeners() {
|
|
216
|
-
stateBroadcastScheduled = false;
|
|
217
|
-
if (disposed || killed || listeners.size === 0) {
|
|
218
|
-
return;
|
|
219
|
-
}
|
|
220
|
-
const state = getState();
|
|
221
|
-
for (const listener of listeners) {
|
|
222
|
-
listener({ type: "full", state });
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
function scheduleStateBroadcast() {
|
|
226
|
-
if (disposed || killed || listeners.size === 0 || stateBroadcastScheduled) {
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
stateBroadcastScheduled = true;
|
|
230
|
-
stateBroadcastTimer = setTimeout(() => {
|
|
231
|
-
stateBroadcastTimer = null;
|
|
232
|
-
emitStateToListeners();
|
|
233
|
-
}, STATE_BROADCAST_INTERVAL_MS);
|
|
234
|
-
}
|
|
235
|
-
function appendRawOutputChunk(data) {
|
|
236
|
-
const chunkBytes = Buffer.byteLength(data);
|
|
237
|
-
if (chunkBytes <= 0) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
const startOffset = outputOffset;
|
|
241
|
-
const endOffset = startOffset + chunkBytes;
|
|
242
|
-
outputOffset = endOffset;
|
|
243
|
-
rawOutputChunks.push({
|
|
244
|
-
startOffset,
|
|
245
|
-
endOffset,
|
|
246
|
-
data,
|
|
247
|
-
});
|
|
248
|
-
rawBufferBytes += chunkBytes;
|
|
249
|
-
while (rawBufferBytes > maxRawBufferBytes && rawOutputChunks.length > 0) {
|
|
250
|
-
const removed = rawOutputChunks.shift();
|
|
251
|
-
if (!removed) {
|
|
252
|
-
break;
|
|
253
|
-
}
|
|
254
|
-
rawBufferBytes -= removed.endOffset - removed.startOffset;
|
|
255
|
-
}
|
|
256
|
-
const chunk = {
|
|
257
|
-
data,
|
|
258
|
-
startOffset,
|
|
259
|
-
endOffset,
|
|
260
|
-
replay: false,
|
|
261
|
-
};
|
|
262
|
-
for (const listener of rawListeners) {
|
|
263
|
-
listener(chunk);
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
function getEarliestAvailableOffset() {
|
|
267
|
-
const earliest = rawOutputChunks[0];
|
|
268
|
-
return earliest ? earliest.startOffset : outputOffset;
|
|
269
|
-
}
|
|
270
|
-
function alignOffsetToChunkBoundary(offset) {
|
|
271
|
-
if (offset === outputOffset) {
|
|
272
|
-
return offset;
|
|
273
|
-
}
|
|
274
|
-
for (const chunk of rawOutputChunks) {
|
|
275
|
-
if (offset === chunk.startOffset || offset === chunk.endOffset) {
|
|
276
|
-
return offset;
|
|
277
|
-
}
|
|
278
|
-
if (offset > chunk.startOffset && offset < chunk.endOffset) {
|
|
279
|
-
return chunk.startOffset;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
return offset;
|
|
283
|
-
}
|
|
284
233
|
// Pipe PTY output to terminal emulator
|
|
285
234
|
ptyProcess.onData((data) => {
|
|
286
235
|
if (killed)
|
|
287
236
|
return;
|
|
288
|
-
appendRawOutputChunk(data);
|
|
289
237
|
terminal.write(data, () => {
|
|
290
|
-
|
|
238
|
+
if (disposed || killed) {
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
for (const listener of listeners) {
|
|
242
|
+
listener({ type: "output", data });
|
|
243
|
+
}
|
|
291
244
|
});
|
|
292
245
|
});
|
|
293
246
|
ptyProcess.onExit(() => {
|
|
@@ -301,10 +254,13 @@ export async function createTerminal(options) {
|
|
|
301
254
|
cols: terminal.cols,
|
|
302
255
|
grid: extractGrid(terminal),
|
|
303
256
|
scrollback: extractScrollback(terminal),
|
|
304
|
-
cursor:
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
257
|
+
cursor: extractCursorState(terminal),
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
function getSize() {
|
|
261
|
+
return {
|
|
262
|
+
rows: terminal.rows,
|
|
263
|
+
cols: terminal.cols,
|
|
308
264
|
};
|
|
309
265
|
}
|
|
310
266
|
function send(msg) {
|
|
@@ -326,10 +282,9 @@ export async function createTerminal(options) {
|
|
|
326
282
|
}
|
|
327
283
|
function subscribe(listener) {
|
|
328
284
|
listeners.add(listener);
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
listener({ type: "full", state: getState() });
|
|
285
|
+
terminal.write("", () => {
|
|
286
|
+
if (!disposed && listeners.has(listener)) {
|
|
287
|
+
listener({ type: "snapshot", state: getState() });
|
|
333
288
|
}
|
|
334
289
|
});
|
|
335
290
|
return () => {
|
|
@@ -353,37 +308,6 @@ export async function createTerminal(options) {
|
|
|
353
308
|
exitListeners.delete(listener);
|
|
354
309
|
};
|
|
355
310
|
}
|
|
356
|
-
function subscribeRaw(listener, options) {
|
|
357
|
-
const requestedOffset = Math.max(0, Math.floor(options?.fromOffset ?? 0));
|
|
358
|
-
const earliestAvailableOffset = getEarliestAvailableOffset();
|
|
359
|
-
const clampedOffset = Math.max(requestedOffset, earliestAvailableOffset);
|
|
360
|
-
const replayedFrom = alignOffsetToChunkBoundary(clampedOffset);
|
|
361
|
-
const reset = replayedFrom !== requestedOffset;
|
|
362
|
-
for (const chunk of rawOutputChunks) {
|
|
363
|
-
if (chunk.endOffset <= replayedFrom) {
|
|
364
|
-
continue;
|
|
365
|
-
}
|
|
366
|
-
listener({
|
|
367
|
-
data: chunk.data,
|
|
368
|
-
startOffset: chunk.startOffset,
|
|
369
|
-
endOffset: chunk.endOffset,
|
|
370
|
-
replay: true,
|
|
371
|
-
});
|
|
372
|
-
}
|
|
373
|
-
rawListeners.add(listener);
|
|
374
|
-
return {
|
|
375
|
-
unsubscribe: () => {
|
|
376
|
-
rawListeners.delete(listener);
|
|
377
|
-
},
|
|
378
|
-
replayedFrom,
|
|
379
|
-
currentOffset: outputOffset,
|
|
380
|
-
earliestAvailableOffset,
|
|
381
|
-
reset,
|
|
382
|
-
};
|
|
383
|
-
}
|
|
384
|
-
function getOutputOffset() {
|
|
385
|
-
return outputOffset;
|
|
386
|
-
}
|
|
387
311
|
function kill() {
|
|
388
312
|
if (!killed) {
|
|
389
313
|
killed = true;
|
|
@@ -401,8 +325,7 @@ export async function createTerminal(options) {
|
|
|
401
325
|
send,
|
|
402
326
|
subscribe,
|
|
403
327
|
onExit,
|
|
404
|
-
|
|
405
|
-
getOutputOffset,
|
|
328
|
+
getSize,
|
|
406
329
|
getState,
|
|
407
330
|
kill,
|
|
408
331
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/terminal/terminal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/terminal/terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -170,7 +170,10 @@ async function listCheckoutFileChanges(cwd, ref) {
|
|
|
170
170
|
cwd,
|
|
171
171
|
env: READ_ONLY_GIT_ENV,
|
|
172
172
|
});
|
|
173
|
-
for (const line of nameStatusOut
|
|
173
|
+
for (const line of nameStatusOut
|
|
174
|
+
.split("\n")
|
|
175
|
+
.map((l) => l.trim())
|
|
176
|
+
.filter(Boolean)) {
|
|
174
177
|
// `--name-status` uses TAB separators, which preserves filenames with spaces.
|
|
175
178
|
const tabParts = line.split("\t");
|
|
176
179
|
const rawStatus = (tabParts[0] ?? "").trim();
|
|
@@ -205,7 +208,10 @@ async function listCheckoutFileChanges(cwd, ref) {
|
|
|
205
208
|
cwd,
|
|
206
209
|
env: READ_ONLY_GIT_ENV,
|
|
207
210
|
});
|
|
208
|
-
for (const file of untrackedOut
|
|
211
|
+
for (const file of untrackedOut
|
|
212
|
+
.split("\n")
|
|
213
|
+
.map((l) => l.trim())
|
|
214
|
+
.filter(Boolean)) {
|
|
209
215
|
changes.push({
|
|
210
216
|
path: file,
|
|
211
217
|
status: "U",
|
|
@@ -228,9 +234,25 @@ async function listCheckoutFileChanges(cwd, ref) {
|
|
|
228
234
|
}
|
|
229
235
|
return Array.from(byPath.values());
|
|
230
236
|
}
|
|
237
|
+
async function readGitFileContentAtRef(cwd, ref, path) {
|
|
238
|
+
try {
|
|
239
|
+
const { stdout } = await execFileAsync("git", ["show", `${ref}:${path}`], {
|
|
240
|
+
cwd,
|
|
241
|
+
env: READ_ONLY_GIT_ENV,
|
|
242
|
+
maxBuffer: SMALL_OUTPUT_MAX_BUFFER,
|
|
243
|
+
});
|
|
244
|
+
return stdout;
|
|
245
|
+
}
|
|
246
|
+
catch {
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
231
250
|
async function tryResolveMergeBase(cwd, baseRef) {
|
|
232
251
|
try {
|
|
233
|
-
const { stdout } = await execGit(`git merge-base ${baseRef} HEAD`, {
|
|
252
|
+
const { stdout } = await execGit(`git merge-base ${baseRef} HEAD`, {
|
|
253
|
+
cwd,
|
|
254
|
+
env: READ_ONLY_GIT_ENV,
|
|
255
|
+
});
|
|
234
256
|
const sha = stdout.trim();
|
|
235
257
|
return sha.length > 0 ? sha : null;
|
|
236
258
|
}
|
|
@@ -348,7 +370,10 @@ async function getCurrentBranch(cwd) {
|
|
|
348
370
|
}
|
|
349
371
|
async function getWorktreeRoot(cwd) {
|
|
350
372
|
try {
|
|
351
|
-
const { stdout } = await execAsync("git rev-parse --path-format=absolute --show-toplevel", {
|
|
373
|
+
const { stdout } = await execAsync("git rev-parse --path-format=absolute --show-toplevel", {
|
|
374
|
+
cwd,
|
|
375
|
+
env: READ_ONLY_GIT_ENV,
|
|
376
|
+
});
|
|
352
377
|
const root = stdout.trim();
|
|
353
378
|
return root.length > 0 ? root : null;
|
|
354
379
|
}
|
|
@@ -407,9 +432,7 @@ async function getWorktreePathForBranch(cwd, branchName) {
|
|
|
407
432
|
env: READ_ONLY_GIT_ENV,
|
|
408
433
|
});
|
|
409
434
|
const entries = parseWorktreeList(stdout);
|
|
410
|
-
const ref = branchName.startsWith("refs/heads/")
|
|
411
|
-
? branchName
|
|
412
|
-
: `refs/heads/${branchName}`;
|
|
435
|
+
const ref = branchName.startsWith("refs/heads/") ? branchName : `refs/heads/${branchName}`;
|
|
413
436
|
return entries.find((entry) => entry.branchRef === ref)?.path ?? null;
|
|
414
437
|
}
|
|
415
438
|
catch {
|
|
@@ -467,7 +490,7 @@ async function hasOriginRemote(cwd) {
|
|
|
467
490
|
const url = await getOriginRemoteUrl(cwd);
|
|
468
491
|
return url !== null;
|
|
469
492
|
}
|
|
470
|
-
async function
|
|
493
|
+
export async function resolveRepositoryDefaultBranch(repoRoot) {
|
|
471
494
|
try {
|
|
472
495
|
const { stdout } = await execAsync("git symbolic-ref --quiet refs/remotes/origin/HEAD", {
|
|
473
496
|
cwd: repoRoot,
|
|
@@ -512,6 +535,9 @@ async function resolveBaseRef(repoRoot) {
|
|
|
512
535
|
}
|
|
513
536
|
return null;
|
|
514
537
|
}
|
|
538
|
+
async function resolveBaseRef(repoRoot) {
|
|
539
|
+
return resolveRepositoryDefaultBranch(repoRoot);
|
|
540
|
+
}
|
|
515
541
|
function normalizeLocalBranchRefName(input) {
|
|
516
542
|
return input.startsWith("origin/") ? input.slice("origin/".length) : input;
|
|
517
543
|
}
|
|
@@ -793,30 +819,40 @@ export async function getCheckoutShortstat(cwd, context) {
|
|
|
793
819
|
}
|
|
794
820
|
const configured = await getConfiguredBaseRefForCwd(cwd, context);
|
|
795
821
|
const localBaseRef = configured.baseRef ?? (await resolveBaseRef(cwd));
|
|
796
|
-
if (!localBaseRef) {
|
|
797
|
-
return null;
|
|
798
|
-
}
|
|
799
822
|
const currentBranch = await getCurrentBranch(cwd);
|
|
800
|
-
|
|
801
|
-
|
|
823
|
+
let diffTarget;
|
|
824
|
+
if (currentBranch && localBaseRef && currentBranch !== localBaseRef) {
|
|
825
|
+
// Feature branch: diff against the merge-base with the base branch
|
|
826
|
+
const comparisonBaseRef = await resolveBestComparisonBaseRef(cwd, normalizeLocalBranchRefName(localBaseRef));
|
|
827
|
+
try {
|
|
828
|
+
const { stdout } = await execAsync(`git merge-base HEAD ${comparisonBaseRef}`, {
|
|
829
|
+
cwd,
|
|
830
|
+
env: READ_ONLY_GIT_ENV,
|
|
831
|
+
});
|
|
832
|
+
const mergeBase = stdout.trim();
|
|
833
|
+
if (!mergeBase) {
|
|
834
|
+
return null;
|
|
835
|
+
}
|
|
836
|
+
diffTarget = mergeBase;
|
|
837
|
+
}
|
|
838
|
+
catch {
|
|
839
|
+
return null;
|
|
840
|
+
}
|
|
802
841
|
}
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
cwd,
|
|
808
|
-
env: READ_ONLY_GIT_ENV,
|
|
809
|
-
});
|
|
810
|
-
mergeBase = stdout.trim();
|
|
811
|
-
if (!mergeBase) {
|
|
842
|
+
else if (currentBranch) {
|
|
843
|
+
// On the base branch (or no base ref configured): diff against remote tracking branch
|
|
844
|
+
const hasOrigin = await doesGitRefExist(cwd, `refs/remotes/origin/${currentBranch}`);
|
|
845
|
+
if (!hasOrigin) {
|
|
812
846
|
return null;
|
|
813
847
|
}
|
|
848
|
+
diffTarget = `origin/${currentBranch}`;
|
|
814
849
|
}
|
|
815
|
-
|
|
850
|
+
else {
|
|
816
851
|
return null;
|
|
817
852
|
}
|
|
818
853
|
try {
|
|
819
|
-
|
|
854
|
+
// Omit HEAD so the diff includes uncommitted (staged + unstaged) changes
|
|
855
|
+
const { stdout } = await execAsync(`git diff --shortstat ${diffTarget}`, {
|
|
820
856
|
cwd,
|
|
821
857
|
env: READ_ONLY_GIT_ENV,
|
|
822
858
|
});
|
|
@@ -890,7 +926,10 @@ export async function getCheckoutDiff(cwd, compare, context) {
|
|
|
890
926
|
};
|
|
891
927
|
const trackedChanges = changes.filter((change) => !change.isUntracked);
|
|
892
928
|
const untrackedChanges = changes.filter((change) => change.isUntracked === true);
|
|
893
|
-
const
|
|
929
|
+
const trackedChangeByPath = new Map(trackedChanges.map((change) => [change.path, change]));
|
|
930
|
+
const trackedNumstatByPath = trackedChanges.length > 0
|
|
931
|
+
? await getTrackedNumstatByPath(cwd, refForDiff)
|
|
932
|
+
: new Map();
|
|
894
933
|
const trackedDiffPaths = [];
|
|
895
934
|
const trackedPlaceholderByPath = new Map();
|
|
896
935
|
for (const change of trackedChanges) {
|
|
@@ -930,7 +969,18 @@ export async function getCheckoutDiff(cwd, compare, context) {
|
|
|
930
969
|
appendDiff(`# ${change.path}: diff too large omitted\n`);
|
|
931
970
|
};
|
|
932
971
|
if (compare.includeStructured) {
|
|
933
|
-
const parsedTrackedFiles = trackedDiffText.length > 0
|
|
972
|
+
const parsedTrackedFiles = trackedDiffText.length > 0
|
|
973
|
+
? await parseAndHighlightDiff(trackedDiffText, cwd, {
|
|
974
|
+
getOldFileContent: async (file) => {
|
|
975
|
+
const change = trackedChangeByPath.get(file.path);
|
|
976
|
+
if (!change || change.isNew) {
|
|
977
|
+
return null;
|
|
978
|
+
}
|
|
979
|
+
const refPath = change.oldPath ?? change.path;
|
|
980
|
+
return readGitFileContentAtRef(cwd, refForDiff, refPath);
|
|
981
|
+
},
|
|
982
|
+
})
|
|
983
|
+
: [];
|
|
934
984
|
const parsedTrackedByPath = new Map(parsedTrackedFiles.map((file) => [file.path, file]));
|
|
935
985
|
for (const change of trackedChanges) {
|
|
936
986
|
const placeholder = trackedPlaceholderByPath.get(change.path);
|
|
@@ -1066,7 +1116,9 @@ export async function mergeToBase(cwd, options = {}, context) {
|
|
|
1066
1116
|
if (mode === "squash") {
|
|
1067
1117
|
await execAsync(`git merge --squash ${currentBranch}`, { cwd: operationCwd });
|
|
1068
1118
|
const message = options.commitMessage ?? `Squash merge ${currentBranch} into ${normalizedBaseRef}`;
|
|
1069
|
-
await execFileAsync("git", ["-c", "commit.gpgsign=false", "commit", "-m", message], {
|
|
1119
|
+
await execFileAsync("git", ["-c", "commit.gpgsign=false", "commit", "-m", message], {
|
|
1120
|
+
cwd: operationCwd,
|
|
1121
|
+
});
|
|
1070
1122
|
}
|
|
1071
1123
|
else {
|
|
1072
1124
|
await execAsync(`git merge ${currentBranch}`, { cwd: operationCwd });
|
|
@@ -1298,46 +1350,6 @@ async function resolveGitHubRepo(cwd) {
|
|
|
1298
1350
|
}
|
|
1299
1351
|
return null;
|
|
1300
1352
|
}
|
|
1301
|
-
async function listPullRequestsForHead(options) {
|
|
1302
|
-
const { stdout } = await execFileAsync("gh", [
|
|
1303
|
-
"api",
|
|
1304
|
-
`repos/${options.repo}/pulls`,
|
|
1305
|
-
"-X",
|
|
1306
|
-
"GET",
|
|
1307
|
-
"-F",
|
|
1308
|
-
`head=${options.owner}:${options.head}`,
|
|
1309
|
-
"-F",
|
|
1310
|
-
`state=${options.state}`,
|
|
1311
|
-
], { cwd: options.cwd });
|
|
1312
|
-
const parsed = JSON.parse(stdout.trim());
|
|
1313
|
-
return Array.isArray(parsed) ? parsed : [];
|
|
1314
|
-
}
|
|
1315
|
-
function buildPullRequestStatus(current, fallbackHead) {
|
|
1316
|
-
if (!current || typeof current !== "object") {
|
|
1317
|
-
return null;
|
|
1318
|
-
}
|
|
1319
|
-
const url = current.html_url ?? current.url;
|
|
1320
|
-
const title = current.title;
|
|
1321
|
-
if (typeof url !== "string" || typeof title !== "string" || !url || !title) {
|
|
1322
|
-
return null;
|
|
1323
|
-
}
|
|
1324
|
-
const mergedAt = typeof current.merged_at === "string" && current.merged_at.trim().length > 0
|
|
1325
|
-
? current.merged_at
|
|
1326
|
-
: null;
|
|
1327
|
-
const state = mergedAt !== null
|
|
1328
|
-
? "merged"
|
|
1329
|
-
: typeof current.state === "string" && current.state.trim().length > 0
|
|
1330
|
-
? current.state
|
|
1331
|
-
: "";
|
|
1332
|
-
return {
|
|
1333
|
-
url,
|
|
1334
|
-
title,
|
|
1335
|
-
state,
|
|
1336
|
-
baseRefName: current.base?.ref ?? "",
|
|
1337
|
-
headRefName: current.head?.ref ?? fallbackHead,
|
|
1338
|
-
isMerged: mergedAt !== null,
|
|
1339
|
-
};
|
|
1340
|
-
}
|
|
1341
1353
|
export async function createPullRequest(cwd, options) {
|
|
1342
1354
|
await requireGitRepo(cwd);
|
|
1343
1355
|
await ensureGhAvailable(cwd);
|
|
@@ -1374,9 +1386,8 @@ export async function createPullRequest(cwd, options) {
|
|
|
1374
1386
|
}
|
|
1375
1387
|
export async function getPullRequestStatus(cwd) {
|
|
1376
1388
|
await requireGitRepo(cwd);
|
|
1377
|
-
const repo = await resolveGitHubRepo(cwd);
|
|
1378
1389
|
const head = await getCurrentBranch(cwd);
|
|
1379
|
-
if (!
|
|
1390
|
+
if (!head) {
|
|
1380
1391
|
return {
|
|
1381
1392
|
status: null,
|
|
1382
1393
|
githubFeaturesEnabled: false,
|
|
@@ -1391,67 +1402,47 @@ export async function getPullRequestStatus(cwd) {
|
|
|
1391
1402
|
githubFeaturesEnabled: false,
|
|
1392
1403
|
};
|
|
1393
1404
|
}
|
|
1394
|
-
const owner = repo.split("/")[0];
|
|
1395
|
-
let openPulls;
|
|
1396
1405
|
try {
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
if (isGhAuthError(error)) {
|
|
1407
|
-
return {
|
|
1408
|
-
status: null,
|
|
1409
|
-
githubFeaturesEnabled: false,
|
|
1410
|
-
};
|
|
1406
|
+
const { stdout } = await execFileAsync("gh", [
|
|
1407
|
+
"pr",
|
|
1408
|
+
"view",
|
|
1409
|
+
"--json",
|
|
1410
|
+
"url,title,state,baseRefName,headRefName,mergedAt",
|
|
1411
|
+
], { cwd });
|
|
1412
|
+
const pr = JSON.parse(stdout.trim());
|
|
1413
|
+
if (!pr || typeof pr !== "object" || !pr.url || !pr.title) {
|
|
1414
|
+
return { status: null, githubFeaturesEnabled: true };
|
|
1411
1415
|
}
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1416
|
+
const mergedAt = typeof pr.mergedAt === "string" && pr.mergedAt.trim().length > 0
|
|
1417
|
+
? pr.mergedAt
|
|
1418
|
+
: null;
|
|
1419
|
+
const state = mergedAt !== null
|
|
1420
|
+
? "merged"
|
|
1421
|
+
: typeof pr.state === "string" && pr.state.trim().length > 0
|
|
1422
|
+
? pr.state.toLowerCase()
|
|
1423
|
+
: "";
|
|
1417
1424
|
return {
|
|
1418
|
-
status:
|
|
1425
|
+
status: {
|
|
1426
|
+
url: pr.url,
|
|
1427
|
+
title: pr.title,
|
|
1428
|
+
state,
|
|
1429
|
+
baseRefName: pr.baseRefName ?? "",
|
|
1430
|
+
headRefName: pr.headRefName ?? head,
|
|
1431
|
+
isMerged: mergedAt !== null,
|
|
1432
|
+
},
|
|
1419
1433
|
githubFeaturesEnabled: true,
|
|
1420
1434
|
};
|
|
1421
1435
|
}
|
|
1422
|
-
let closedPulls;
|
|
1423
|
-
try {
|
|
1424
|
-
closedPulls = await listPullRequestsForHead({
|
|
1425
|
-
cwd,
|
|
1426
|
-
repo,
|
|
1427
|
-
owner,
|
|
1428
|
-
head,
|
|
1429
|
-
state: "closed",
|
|
1430
|
-
});
|
|
1431
|
-
}
|
|
1432
1436
|
catch (error) {
|
|
1433
1437
|
if (isGhAuthError(error)) {
|
|
1434
|
-
return {
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
+
return { status: null, githubFeaturesEnabled: false };
|
|
1439
|
+
}
|
|
1440
|
+
// gh pr view exits non-zero when no PR exists for the branch
|
|
1441
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
1442
|
+
if (message.includes("no pull requests found") || message.includes("Could not resolve")) {
|
|
1443
|
+
return { status: null, githubFeaturesEnabled: true };
|
|
1438
1444
|
}
|
|
1439
1445
|
throw error;
|
|
1440
1446
|
}
|
|
1441
|
-
const mergedClosedPull = closedPulls.find((entry) => entry &&
|
|
1442
|
-
typeof entry === "object" &&
|
|
1443
|
-
typeof entry.merged_at === "string" &&
|
|
1444
|
-
entry.merged_at.trim().length > 0) ?? null;
|
|
1445
|
-
const mergedStatus = buildPullRequestStatus(mergedClosedPull, head);
|
|
1446
|
-
if (!mergedStatus) {
|
|
1447
|
-
return {
|
|
1448
|
-
status: null,
|
|
1449
|
-
githubFeaturesEnabled: true,
|
|
1450
|
-
};
|
|
1451
|
-
}
|
|
1452
|
-
return {
|
|
1453
|
-
status: mergedStatus,
|
|
1454
|
-
githubFeaturesEnabled: true,
|
|
1455
|
-
};
|
|
1456
1447
|
}
|
|
1457
1448
|
//# sourceMappingURL=checkout-git.js.map
|