@getpaseo/server 0.1.29 → 0.1.32
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 +10 -1
- package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
- package/dist/server/server/agent/provider-manifest.js +25 -0
- 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 +5 -0
- package/dist/server/server/agent/providers/claude/partial-json.d.ts.map +1 -0
- package/dist/server/server/agent/providers/claude/partial-json.js +306 -0
- package/dist/server/server/agent/providers/claude/partial-json.js.map +1 -0
- 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 +508 -1141
- 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.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 +1234 -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 +5 -48
- package/dist/server/terminal/terminal.d.ts.map +1 -1
- package/dist/server/terminal/terminal.js +44 -98
- 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 +25 -0
- 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 +306 -0
- package/dist/src/server/agent/providers/claude/partial-json.js.map +1 -0
- 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 +508 -1141
- 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 +1234 -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 +44 -98
- 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
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { z } from
|
|
2
|
-
import { AGENT_LIFECYCLE_STATUSES } from
|
|
3
|
-
import { MAX_EXPLICIT_AGENT_TITLE_CHARS } from
|
|
4
|
-
import { AgentProviderSchema } from
|
|
5
|
-
import { TOOL_CALL_ICON_NAMES } from
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { AGENT_LIFECYCLE_STATUSES } from "./agent-lifecycle.js";
|
|
3
|
+
import { MAX_EXPLICIT_AGENT_TITLE_CHARS } from "../server/agent/agent-title-limits.js";
|
|
4
|
+
import { AgentProviderSchema } from "../server/agent/provider-manifest.js";
|
|
5
|
+
import { TOOL_CALL_ICON_NAMES } from "../server/agent/agent-sdk-types.js";
|
|
6
6
|
export const AgentStatusSchema = z.enum(AGENT_LIFECYCLE_STATUSES);
|
|
7
7
|
const AgentModeSchema = z.object({
|
|
8
8
|
id: z.string(),
|
|
@@ -41,22 +41,22 @@ const AgentUsageSchema = z.object({
|
|
|
41
41
|
totalCostUsd: z.number().optional(),
|
|
42
42
|
});
|
|
43
43
|
const McpStdioServerConfigSchema = z.object({
|
|
44
|
-
type: z.literal(
|
|
44
|
+
type: z.literal("stdio"),
|
|
45
45
|
command: z.string(),
|
|
46
46
|
args: z.array(z.string()).optional(),
|
|
47
47
|
env: z.record(z.string()).optional(),
|
|
48
48
|
});
|
|
49
49
|
const McpHttpServerConfigSchema = z.object({
|
|
50
|
-
type: z.literal(
|
|
50
|
+
type: z.literal("http"),
|
|
51
51
|
url: z.string(),
|
|
52
52
|
headers: z.record(z.string()).optional(),
|
|
53
53
|
});
|
|
54
54
|
const McpSseServerConfigSchema = z.object({
|
|
55
|
-
type: z.literal(
|
|
55
|
+
type: z.literal("sse"),
|
|
56
56
|
url: z.string(),
|
|
57
57
|
headers: z.record(z.string()).optional(),
|
|
58
58
|
});
|
|
59
|
-
const McpServerConfigSchema = z.discriminatedUnion(
|
|
59
|
+
const McpServerConfigSchema = z.discriminatedUnion("type", [
|
|
60
60
|
McpStdioServerConfigSchema,
|
|
61
61
|
McpHttpServerConfigSchema,
|
|
62
62
|
McpSseServerConfigSchema,
|
|
@@ -85,12 +85,12 @@ const AgentSessionConfigSchema = z.object({
|
|
|
85
85
|
const AgentPermissionUpdateSchema = z.record(z.unknown());
|
|
86
86
|
export const AgentPermissionResponseSchema = z.union([
|
|
87
87
|
z.object({
|
|
88
|
-
behavior: z.literal(
|
|
88
|
+
behavior: z.literal("allow"),
|
|
89
89
|
updatedInput: z.record(z.unknown()).optional(),
|
|
90
90
|
updatedPermissions: z.array(AgentPermissionUpdateSchema).optional(),
|
|
91
91
|
}),
|
|
92
92
|
z.object({
|
|
93
|
-
behavior: z.literal(
|
|
93
|
+
behavior: z.literal("deny"),
|
|
94
94
|
message: z.string().optional(),
|
|
95
95
|
interrupt: z.boolean().optional(),
|
|
96
96
|
}),
|
|
@@ -99,7 +99,7 @@ export const AgentPermissionRequestPayloadSchema = z.object({
|
|
|
99
99
|
id: z.string(),
|
|
100
100
|
provider: AgentProviderSchema,
|
|
101
101
|
name: z.string(),
|
|
102
|
-
kind: z.enum([
|
|
102
|
+
kind: z.enum(["tool", "plan", "question", "mode", "other"]),
|
|
103
103
|
title: z.string().optional(),
|
|
104
104
|
description: z.string().optional(),
|
|
105
105
|
input: z.record(z.unknown()).optional(),
|
|
@@ -121,39 +121,65 @@ const NonNullUnknownSchema = z.union([
|
|
|
121
121
|
z.array(z.unknown()),
|
|
122
122
|
z.object({}).passthrough(),
|
|
123
123
|
]);
|
|
124
|
-
const ToolCallDetailPayloadSchema = z.discriminatedUnion(
|
|
124
|
+
const ToolCallDetailPayloadSchema = z.discriminatedUnion("type", [
|
|
125
125
|
z.object({
|
|
126
|
-
type: z.literal(
|
|
126
|
+
type: z.literal("shell"),
|
|
127
127
|
command: z.string(),
|
|
128
128
|
cwd: z.string().optional(),
|
|
129
129
|
output: z.string().optional(),
|
|
130
130
|
exitCode: z.number().nullable().optional(),
|
|
131
131
|
}),
|
|
132
132
|
z.object({
|
|
133
|
-
type: z.literal(
|
|
133
|
+
type: z.literal("read"),
|
|
134
134
|
filePath: z.string(),
|
|
135
135
|
content: z.string().optional(),
|
|
136
136
|
offset: z.number().optional(),
|
|
137
137
|
limit: z.number().optional(),
|
|
138
138
|
}),
|
|
139
139
|
z.object({
|
|
140
|
-
type: z.literal(
|
|
140
|
+
type: z.literal("edit"),
|
|
141
141
|
filePath: z.string(),
|
|
142
142
|
oldString: z.string().optional(),
|
|
143
143
|
newString: z.string().optional(),
|
|
144
144
|
unifiedDiff: z.string().optional(),
|
|
145
145
|
}),
|
|
146
146
|
z.object({
|
|
147
|
-
type: z.literal(
|
|
147
|
+
type: z.literal("write"),
|
|
148
148
|
filePath: z.string(),
|
|
149
149
|
content: z.string().optional(),
|
|
150
150
|
}),
|
|
151
151
|
z.object({
|
|
152
|
-
type: z.literal(
|
|
152
|
+
type: z.literal("search"),
|
|
153
153
|
query: z.string(),
|
|
154
|
+
toolName: z.enum(["search", "grep", "glob", "web_search"]).optional(),
|
|
155
|
+
content: z.string().optional(),
|
|
156
|
+
filePaths: z.array(z.string()).optional(),
|
|
157
|
+
webResults: z
|
|
158
|
+
.array(z.object({
|
|
159
|
+
title: z.string(),
|
|
160
|
+
url: z.string(),
|
|
161
|
+
}))
|
|
162
|
+
.optional(),
|
|
163
|
+
annotations: z.array(z.string()).optional(),
|
|
164
|
+
numFiles: z.number().optional(),
|
|
165
|
+
numMatches: z.number().optional(),
|
|
166
|
+
durationMs: z.number().optional(),
|
|
167
|
+
durationSeconds: z.number().optional(),
|
|
168
|
+
truncated: z.boolean().optional(),
|
|
169
|
+
mode: z.enum(["content", "files_with_matches", "count"]).optional(),
|
|
170
|
+
}),
|
|
171
|
+
z.object({
|
|
172
|
+
type: z.literal("fetch"),
|
|
173
|
+
url: z.string(),
|
|
174
|
+
prompt: z.string().optional(),
|
|
175
|
+
result: z.string().optional(),
|
|
176
|
+
code: z.number().optional(),
|
|
177
|
+
codeText: z.string().optional(),
|
|
178
|
+
bytes: z.number().optional(),
|
|
179
|
+
durationMs: z.number().optional(),
|
|
154
180
|
}),
|
|
155
181
|
z.object({
|
|
156
|
-
type: z.literal(
|
|
182
|
+
type: z.literal("worktree_setup"),
|
|
157
183
|
worktreePath: z.string(),
|
|
158
184
|
branchName: z.string(),
|
|
159
185
|
log: z.string(),
|
|
@@ -161,14 +187,14 @@ const ToolCallDetailPayloadSchema = z.discriminatedUnion('type', [
|
|
|
161
187
|
index: z.number().int().positive(),
|
|
162
188
|
command: z.string(),
|
|
163
189
|
cwd: z.string(),
|
|
164
|
-
status: z.enum([
|
|
190
|
+
status: z.enum(["running", "completed", "failed"]),
|
|
165
191
|
exitCode: z.number().nullable(),
|
|
166
192
|
durationMs: z.number().nonnegative().optional(),
|
|
167
193
|
})),
|
|
168
194
|
truncated: z.boolean().optional(),
|
|
169
195
|
}),
|
|
170
196
|
z.object({
|
|
171
|
-
type: z.literal(
|
|
197
|
+
type: z.literal("sub_agent"),
|
|
172
198
|
subAgentType: z.string().optional(),
|
|
173
199
|
description: z.string().optional(),
|
|
174
200
|
log: z.string(),
|
|
@@ -179,20 +205,20 @@ const ToolCallDetailPayloadSchema = z.discriminatedUnion('type', [
|
|
|
179
205
|
})),
|
|
180
206
|
}),
|
|
181
207
|
z.object({
|
|
182
|
-
type: z.literal(
|
|
208
|
+
type: z.literal("plain_text"),
|
|
183
209
|
label: z.string().optional(),
|
|
184
210
|
text: z.string().optional(),
|
|
185
211
|
icon: z.enum(TOOL_CALL_ICON_NAMES).optional(),
|
|
186
212
|
}),
|
|
187
213
|
z.object({
|
|
188
|
-
type: z.literal(
|
|
214
|
+
type: z.literal("unknown"),
|
|
189
215
|
input: UnknownValueSchema,
|
|
190
216
|
output: UnknownValueSchema,
|
|
191
217
|
}),
|
|
192
218
|
]);
|
|
193
219
|
const ToolCallBasePayloadSchema = z
|
|
194
220
|
.object({
|
|
195
|
-
type: z.literal(
|
|
221
|
+
type: z.literal("tool_call"),
|
|
196
222
|
callId: z.string(),
|
|
197
223
|
name: z.string(),
|
|
198
224
|
detail: ToolCallDetailPayloadSchema,
|
|
@@ -200,19 +226,19 @@ const ToolCallBasePayloadSchema = z
|
|
|
200
226
|
})
|
|
201
227
|
.strict();
|
|
202
228
|
const ToolCallRunningPayloadSchema = ToolCallBasePayloadSchema.extend({
|
|
203
|
-
status: z.literal(
|
|
229
|
+
status: z.literal("running"),
|
|
204
230
|
error: z.null(),
|
|
205
231
|
});
|
|
206
232
|
const ToolCallCompletedPayloadSchema = ToolCallBasePayloadSchema.extend({
|
|
207
|
-
status: z.literal(
|
|
233
|
+
status: z.literal("completed"),
|
|
208
234
|
error: z.null(),
|
|
209
235
|
});
|
|
210
236
|
const ToolCallFailedPayloadSchema = ToolCallBasePayloadSchema.extend({
|
|
211
|
-
status: z.literal(
|
|
237
|
+
status: z.literal("failed"),
|
|
212
238
|
error: NonNullUnknownSchema,
|
|
213
239
|
});
|
|
214
240
|
const ToolCallCanceledPayloadSchema = ToolCallBasePayloadSchema.extend({
|
|
215
|
-
status: z.literal(
|
|
241
|
+
status: z.literal("canceled"),
|
|
216
242
|
error: z.null(),
|
|
217
243
|
});
|
|
218
244
|
const ToolCallTimelineItemPayloadSchema = z.union([
|
|
@@ -223,84 +249,84 @@ const ToolCallTimelineItemPayloadSchema = z.union([
|
|
|
223
249
|
]);
|
|
224
250
|
export const AgentTimelineItemPayloadSchema = z.union([
|
|
225
251
|
z.object({
|
|
226
|
-
type: z.literal(
|
|
252
|
+
type: z.literal("user_message"),
|
|
227
253
|
text: z.string(),
|
|
228
254
|
messageId: z.string().optional(),
|
|
229
255
|
}),
|
|
230
256
|
z.object({
|
|
231
|
-
type: z.literal(
|
|
257
|
+
type: z.literal("assistant_message"),
|
|
232
258
|
text: z.string(),
|
|
233
259
|
}),
|
|
234
260
|
z.object({
|
|
235
|
-
type: z.literal(
|
|
261
|
+
type: z.literal("reasoning"),
|
|
236
262
|
text: z.string(),
|
|
237
263
|
}),
|
|
238
264
|
ToolCallTimelineItemPayloadSchema,
|
|
239
265
|
z.object({
|
|
240
|
-
type: z.literal(
|
|
266
|
+
type: z.literal("todo"),
|
|
241
267
|
items: z.array(z.object({
|
|
242
268
|
text: z.string(),
|
|
243
269
|
completed: z.boolean(),
|
|
244
270
|
})),
|
|
245
271
|
}),
|
|
246
272
|
z.object({
|
|
247
|
-
type: z.literal(
|
|
273
|
+
type: z.literal("error"),
|
|
248
274
|
message: z.string(),
|
|
249
275
|
}),
|
|
250
276
|
z.object({
|
|
251
|
-
type: z.literal(
|
|
252
|
-
status: z.enum([
|
|
253
|
-
trigger: z.enum([
|
|
277
|
+
type: z.literal("compaction"),
|
|
278
|
+
status: z.enum(["loading", "completed"]),
|
|
279
|
+
trigger: z.enum(["auto", "manual"]).optional(),
|
|
254
280
|
preTokens: z.number().optional(),
|
|
255
281
|
}),
|
|
256
282
|
]);
|
|
257
|
-
export const AgentStreamEventPayloadSchema = z.discriminatedUnion(
|
|
283
|
+
export const AgentStreamEventPayloadSchema = z.discriminatedUnion("type", [
|
|
258
284
|
z.object({
|
|
259
|
-
type: z.literal(
|
|
285
|
+
type: z.literal("thread_started"),
|
|
260
286
|
sessionId: z.string(),
|
|
261
287
|
provider: AgentProviderSchema,
|
|
262
288
|
}),
|
|
263
289
|
z.object({
|
|
264
|
-
type: z.literal(
|
|
290
|
+
type: z.literal("turn_started"),
|
|
265
291
|
provider: AgentProviderSchema,
|
|
266
292
|
}),
|
|
267
293
|
z.object({
|
|
268
|
-
type: z.literal(
|
|
294
|
+
type: z.literal("turn_completed"),
|
|
269
295
|
provider: AgentProviderSchema,
|
|
270
296
|
usage: AgentUsageSchema.optional(),
|
|
271
297
|
}),
|
|
272
298
|
z.object({
|
|
273
|
-
type: z.literal(
|
|
299
|
+
type: z.literal("turn_failed"),
|
|
274
300
|
provider: AgentProviderSchema,
|
|
275
301
|
error: z.string(),
|
|
276
302
|
code: z.string().optional(),
|
|
277
303
|
diagnostic: z.string().optional(),
|
|
278
304
|
}),
|
|
279
305
|
z.object({
|
|
280
|
-
type: z.literal(
|
|
306
|
+
type: z.literal("turn_canceled"),
|
|
281
307
|
provider: AgentProviderSchema,
|
|
282
308
|
reason: z.string(),
|
|
283
309
|
}),
|
|
284
310
|
z.object({
|
|
285
|
-
type: z.literal(
|
|
311
|
+
type: z.literal("timeline"),
|
|
286
312
|
provider: AgentProviderSchema,
|
|
287
313
|
item: AgentTimelineItemPayloadSchema,
|
|
288
314
|
}),
|
|
289
315
|
z.object({
|
|
290
|
-
type: z.literal(
|
|
316
|
+
type: z.literal("permission_requested"),
|
|
291
317
|
provider: AgentProviderSchema,
|
|
292
318
|
request: AgentPermissionRequestPayloadSchema,
|
|
293
319
|
}),
|
|
294
320
|
z.object({
|
|
295
|
-
type: z.literal(
|
|
321
|
+
type: z.literal("permission_resolved"),
|
|
296
322
|
provider: AgentProviderSchema,
|
|
297
323
|
requestId: z.string(),
|
|
298
324
|
resolution: AgentPermissionResponseSchema,
|
|
299
325
|
}),
|
|
300
326
|
z.object({
|
|
301
|
-
type: z.literal(
|
|
327
|
+
type: z.literal("attention_required"),
|
|
302
328
|
provider: AgentProviderSchema,
|
|
303
|
-
reason: z.enum([
|
|
329
|
+
reason: z.enum(["finished", "error", "permission"]),
|
|
304
330
|
timestamp: z.string(),
|
|
305
331
|
shouldNotify: z.boolean(),
|
|
306
332
|
notification: z
|
|
@@ -310,7 +336,7 @@ export const AgentStreamEventPayloadSchema = z.discriminatedUnion('type', [
|
|
|
310
336
|
data: z.object({
|
|
311
337
|
serverId: z.string(),
|
|
312
338
|
agentId: z.string(),
|
|
313
|
-
reason: z.enum([
|
|
339
|
+
reason: z.enum(["finished", "error", "permission"]),
|
|
314
340
|
}),
|
|
315
341
|
})
|
|
316
342
|
.optional(),
|
|
@@ -354,7 +380,7 @@ export const AgentSnapshotPayloadSchema = z.object({
|
|
|
354
380
|
title: z.string().nullable(),
|
|
355
381
|
labels: z.record(z.string()).default({}),
|
|
356
382
|
requiresAttention: z.boolean().optional(),
|
|
357
|
-
attentionReason: z.enum([
|
|
383
|
+
attentionReason: z.enum(["finished", "error", "permission"]).nullable().optional(),
|
|
358
384
|
attentionTimestamp: z.string().nullable().optional(),
|
|
359
385
|
archivedAt: z.string().nullable().optional(),
|
|
360
386
|
});
|
|
@@ -362,16 +388,16 @@ export const AgentSnapshotPayloadSchema = z.object({
|
|
|
362
388
|
// Session Inbound Messages (Session receives these)
|
|
363
389
|
// ============================================================================
|
|
364
390
|
export const VoiceAudioChunkMessageSchema = z.object({
|
|
365
|
-
type: z.literal(
|
|
391
|
+
type: z.literal("voice_audio_chunk"),
|
|
366
392
|
audio: z.string(), // base64 encoded
|
|
367
393
|
format: z.string(),
|
|
368
394
|
isLast: z.boolean(),
|
|
369
395
|
});
|
|
370
396
|
export const AbortRequestMessageSchema = z.object({
|
|
371
|
-
type: z.literal(
|
|
397
|
+
type: z.literal("abort_request"),
|
|
372
398
|
});
|
|
373
399
|
export const AudioPlayedMessageSchema = z.object({
|
|
374
|
-
type: z.literal(
|
|
400
|
+
type: z.literal("audio_played"),
|
|
375
401
|
id: z.string(),
|
|
376
402
|
});
|
|
377
403
|
const AgentDirectoryFilterSchema = z.object({
|
|
@@ -383,30 +409,30 @@ const AgentDirectoryFilterSchema = z.object({
|
|
|
383
409
|
thinkingOptionId: z.string().nullable().optional(),
|
|
384
410
|
});
|
|
385
411
|
export const DeleteAgentRequestMessageSchema = z.object({
|
|
386
|
-
type: z.literal(
|
|
412
|
+
type: z.literal("delete_agent_request"),
|
|
387
413
|
agentId: z.string(),
|
|
388
414
|
requestId: z.string(),
|
|
389
415
|
});
|
|
390
416
|
export const ArchiveAgentRequestMessageSchema = z.object({
|
|
391
|
-
type: z.literal(
|
|
417
|
+
type: z.literal("archive_agent_request"),
|
|
392
418
|
agentId: z.string(),
|
|
393
419
|
requestId: z.string(),
|
|
394
420
|
});
|
|
395
421
|
export const UpdateAgentRequestMessageSchema = z.object({
|
|
396
|
-
type: z.literal(
|
|
422
|
+
type: z.literal("update_agent_request"),
|
|
397
423
|
agentId: z.string(),
|
|
398
424
|
name: z.string().optional(),
|
|
399
425
|
labels: z.record(z.string()).optional(),
|
|
400
426
|
requestId: z.string(),
|
|
401
427
|
});
|
|
402
428
|
export const SetVoiceModeMessageSchema = z.object({
|
|
403
|
-
type: z.literal(
|
|
429
|
+
type: z.literal("set_voice_mode"),
|
|
404
430
|
enabled: z.boolean(),
|
|
405
431
|
agentId: z.string().optional(),
|
|
406
432
|
requestId: z.string().optional(),
|
|
407
433
|
});
|
|
408
434
|
export const SendAgentMessageSchema = z.object({
|
|
409
|
-
type: z.literal(
|
|
435
|
+
type: z.literal("send_agent_message"),
|
|
410
436
|
agentId: z.string(),
|
|
411
437
|
text: z.string(),
|
|
412
438
|
messageId: z.string().optional(), // Client-provided ID for deduplication
|
|
@@ -421,13 +447,13 @@ export const SendAgentMessageSchema = z.object({
|
|
|
421
447
|
// Agent RPCs (requestId-correlated)
|
|
422
448
|
// ============================================================================
|
|
423
449
|
export const FetchAgentsRequestMessageSchema = z.object({
|
|
424
|
-
type: z.literal(
|
|
450
|
+
type: z.literal("fetch_agents_request"),
|
|
425
451
|
requestId: z.string(),
|
|
426
452
|
filter: AgentDirectoryFilterSchema.optional(),
|
|
427
453
|
sort: z
|
|
428
454
|
.array(z.object({
|
|
429
|
-
key: z.enum([
|
|
430
|
-
direction: z.enum([
|
|
455
|
+
key: z.enum(["status_priority", "created_at", "updated_at", "title"]),
|
|
456
|
+
direction: z.enum(["asc", "desc"]),
|
|
431
457
|
}))
|
|
432
458
|
.optional(),
|
|
433
459
|
page: z
|
|
@@ -443,14 +469,14 @@ export const FetchAgentsRequestMessageSchema = z.object({
|
|
|
443
469
|
.optional(),
|
|
444
470
|
});
|
|
445
471
|
const WorkspaceStateBucketSchema = z.enum([
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
472
|
+
"needs_input",
|
|
473
|
+
"failed",
|
|
474
|
+
"running",
|
|
475
|
+
"attention",
|
|
476
|
+
"done",
|
|
451
477
|
]);
|
|
452
478
|
export const FetchWorkspacesRequestMessageSchema = z.object({
|
|
453
|
-
type: z.literal(
|
|
479
|
+
type: z.literal("fetch_workspaces_request"),
|
|
454
480
|
requestId: z.string(),
|
|
455
481
|
filter: z
|
|
456
482
|
.object({
|
|
@@ -461,8 +487,8 @@ export const FetchWorkspacesRequestMessageSchema = z.object({
|
|
|
461
487
|
.optional(),
|
|
462
488
|
sort: z
|
|
463
489
|
.array(z.object({
|
|
464
|
-
key: z.enum([
|
|
465
|
-
direction: z.enum([
|
|
490
|
+
key: z.enum(["status_priority", "activity_at", "name", "project_id"]),
|
|
491
|
+
direction: z.enum(["asc", "desc"]),
|
|
466
492
|
}))
|
|
467
493
|
.optional(),
|
|
468
494
|
page: z
|
|
@@ -478,13 +504,13 @@ export const FetchWorkspacesRequestMessageSchema = z.object({
|
|
|
478
504
|
.optional(),
|
|
479
505
|
});
|
|
480
506
|
export const FetchAgentRequestMessageSchema = z.object({
|
|
481
|
-
type: z.literal(
|
|
507
|
+
type: z.literal("fetch_agent_request"),
|
|
482
508
|
requestId: z.string(),
|
|
483
509
|
/** Accepts full ID, unique prefix, or exact full title (server resolves). */
|
|
484
510
|
agentId: z.string(),
|
|
485
511
|
});
|
|
486
512
|
export const SendAgentMessageRequestSchema = z.object({
|
|
487
|
-
type: z.literal(
|
|
513
|
+
type: z.literal("send_agent_message_request"),
|
|
488
514
|
requestId: z.string(),
|
|
489
515
|
/** Accepts full ID, unique prefix, or exact full title (server resolves). */
|
|
490
516
|
agentId: z.string(),
|
|
@@ -498,7 +524,7 @@ export const SendAgentMessageRequestSchema = z.object({
|
|
|
498
524
|
.optional(),
|
|
499
525
|
});
|
|
500
526
|
export const WaitForFinishRequestSchema = z.object({
|
|
501
|
-
type: z.literal(
|
|
527
|
+
type: z.literal("wait_for_finish_request"),
|
|
502
528
|
requestId: z.string(),
|
|
503
529
|
/** Accepts full ID, unique prefix, or exact full title (server resolves). */
|
|
504
530
|
agentId: z.string(),
|
|
@@ -508,24 +534,24 @@ export const WaitForFinishRequestSchema = z.object({
|
|
|
508
534
|
// Dictation Streaming (lossless, resumable)
|
|
509
535
|
// ============================================================================
|
|
510
536
|
export const DictationStreamStartMessageSchema = z.object({
|
|
511
|
-
type: z.literal(
|
|
537
|
+
type: z.literal("dictation_stream_start"),
|
|
512
538
|
dictationId: z.string(),
|
|
513
539
|
format: z.string(), // e.g. "audio/pcm;rate=16000;bits=16"
|
|
514
540
|
});
|
|
515
541
|
export const DictationStreamChunkMessageSchema = z.object({
|
|
516
|
-
type: z.literal(
|
|
542
|
+
type: z.literal("dictation_stream_chunk"),
|
|
517
543
|
dictationId: z.string(),
|
|
518
544
|
seq: z.number().int().nonnegative(),
|
|
519
545
|
audio: z.string(), // base64 encoded chunk
|
|
520
546
|
format: z.string(), // e.g. "audio/pcm;rate=16000;bits=16"
|
|
521
547
|
});
|
|
522
548
|
export const DictationStreamFinishMessageSchema = z.object({
|
|
523
|
-
type: z.literal(
|
|
549
|
+
type: z.literal("dictation_stream_finish"),
|
|
524
550
|
dictationId: z.string(),
|
|
525
551
|
finalSeq: z.number().int().nonnegative(),
|
|
526
552
|
});
|
|
527
553
|
export const DictationStreamCancelMessageSchema = z.object({
|
|
528
|
-
type: z.literal(
|
|
554
|
+
type: z.literal("dictation_stream_cancel"),
|
|
529
555
|
dictationId: z.string(),
|
|
530
556
|
});
|
|
531
557
|
const GitSetupOptionsSchema = z.object({
|
|
@@ -536,7 +562,7 @@ const GitSetupOptionsSchema = z.object({
|
|
|
536
562
|
worktreeSlug: z.string().optional(),
|
|
537
563
|
});
|
|
538
564
|
export const CreateAgentRequestMessageSchema = z.object({
|
|
539
|
-
type: z.literal(
|
|
565
|
+
type: z.literal("create_agent_request"),
|
|
540
566
|
config: AgentSessionConfigSchema,
|
|
541
567
|
worktreeName: z.string().optional(),
|
|
542
568
|
initialPrompt: z.string().optional(),
|
|
@@ -553,46 +579,46 @@ export const CreateAgentRequestMessageSchema = z.object({
|
|
|
553
579
|
requestId: z.string(),
|
|
554
580
|
});
|
|
555
581
|
export const ListProviderModelsRequestMessageSchema = z.object({
|
|
556
|
-
type: z.literal(
|
|
582
|
+
type: z.literal("list_provider_models_request"),
|
|
557
583
|
provider: AgentProviderSchema,
|
|
558
584
|
cwd: z.string().optional(),
|
|
559
585
|
requestId: z.string(),
|
|
560
586
|
});
|
|
561
587
|
export const ListAvailableProvidersRequestMessageSchema = z.object({
|
|
562
|
-
type: z.literal(
|
|
588
|
+
type: z.literal("list_available_providers_request"),
|
|
563
589
|
requestId: z.string(),
|
|
564
590
|
});
|
|
565
591
|
export const SpeechModelsListRequestSchema = z.object({
|
|
566
|
-
type: z.literal(
|
|
592
|
+
type: z.literal("speech_models_list_request"),
|
|
567
593
|
requestId: z.string(),
|
|
568
594
|
});
|
|
569
595
|
export const SpeechModelsDownloadRequestSchema = z.object({
|
|
570
|
-
type: z.literal(
|
|
596
|
+
type: z.literal("speech_models_download_request"),
|
|
571
597
|
modelIds: z.array(z.string()).optional(),
|
|
572
598
|
requestId: z.string(),
|
|
573
599
|
});
|
|
574
600
|
export const ResumeAgentRequestMessageSchema = z.object({
|
|
575
|
-
type: z.literal(
|
|
601
|
+
type: z.literal("resume_agent_request"),
|
|
576
602
|
handle: AgentPersistenceHandleSchema,
|
|
577
603
|
overrides: AgentSessionConfigSchema.partial().optional(),
|
|
578
604
|
requestId: z.string(),
|
|
579
605
|
});
|
|
580
606
|
export const RefreshAgentRequestMessageSchema = z.object({
|
|
581
|
-
type: z.literal(
|
|
607
|
+
type: z.literal("refresh_agent_request"),
|
|
582
608
|
agentId: z.string(),
|
|
583
609
|
requestId: z.string(),
|
|
584
610
|
});
|
|
585
611
|
export const CancelAgentRequestMessageSchema = z.object({
|
|
586
|
-
type: z.literal(
|
|
612
|
+
type: z.literal("cancel_agent_request"),
|
|
587
613
|
agentId: z.string(),
|
|
588
614
|
});
|
|
589
615
|
export const RestartServerRequestMessageSchema = z.object({
|
|
590
|
-
type: z.literal(
|
|
616
|
+
type: z.literal("restart_server_request"),
|
|
591
617
|
reason: z.string().optional(),
|
|
592
618
|
requestId: z.string(),
|
|
593
619
|
});
|
|
594
620
|
export const ShutdownServerRequestMessageSchema = z.object({
|
|
595
|
-
type: z.literal(
|
|
621
|
+
type: z.literal("shutdown_server_request"),
|
|
596
622
|
requestId: z.string(),
|
|
597
623
|
});
|
|
598
624
|
export const AgentTimelineCursorSchema = z.object({
|
|
@@ -600,24 +626,24 @@ export const AgentTimelineCursorSchema = z.object({
|
|
|
600
626
|
seq: z.number().int().nonnegative(),
|
|
601
627
|
});
|
|
602
628
|
export const FetchAgentTimelineRequestMessageSchema = z.object({
|
|
603
|
-
type: z.literal(
|
|
629
|
+
type: z.literal("fetch_agent_timeline_request"),
|
|
604
630
|
agentId: z.string(),
|
|
605
631
|
requestId: z.string(),
|
|
606
|
-
direction: z.enum([
|
|
632
|
+
direction: z.enum(["tail", "before", "after"]).optional(),
|
|
607
633
|
cursor: AgentTimelineCursorSchema.optional(),
|
|
608
634
|
// 0 means "all matching rows for this query window".
|
|
609
635
|
limit: z.number().int().nonnegative().optional(),
|
|
610
636
|
// Default should be projected for app timeline loading.
|
|
611
|
-
projection: z.enum([
|
|
637
|
+
projection: z.enum(["projected", "canonical"]).optional(),
|
|
612
638
|
});
|
|
613
639
|
export const SetAgentModeRequestMessageSchema = z.object({
|
|
614
|
-
type: z.literal(
|
|
640
|
+
type: z.literal("set_agent_mode_request"),
|
|
615
641
|
agentId: z.string(),
|
|
616
642
|
modeId: z.string(),
|
|
617
643
|
requestId: z.string(),
|
|
618
644
|
});
|
|
619
645
|
export const SetAgentModeResponseMessageSchema = z.object({
|
|
620
|
-
type: z.literal(
|
|
646
|
+
type: z.literal("set_agent_mode_response"),
|
|
621
647
|
payload: z.object({
|
|
622
648
|
requestId: z.string(),
|
|
623
649
|
agentId: z.string(),
|
|
@@ -626,13 +652,13 @@ export const SetAgentModeResponseMessageSchema = z.object({
|
|
|
626
652
|
}),
|
|
627
653
|
});
|
|
628
654
|
export const SetAgentModelRequestMessageSchema = z.object({
|
|
629
|
-
type: z.literal(
|
|
655
|
+
type: z.literal("set_agent_model_request"),
|
|
630
656
|
agentId: z.string(),
|
|
631
657
|
modelId: z.string().nullable(),
|
|
632
658
|
requestId: z.string(),
|
|
633
659
|
});
|
|
634
660
|
export const SetAgentModelResponseMessageSchema = z.object({
|
|
635
|
-
type: z.literal(
|
|
661
|
+
type: z.literal("set_agent_model_response"),
|
|
636
662
|
payload: z.object({
|
|
637
663
|
requestId: z.string(),
|
|
638
664
|
agentId: z.string(),
|
|
@@ -641,13 +667,13 @@ export const SetAgentModelResponseMessageSchema = z.object({
|
|
|
641
667
|
}),
|
|
642
668
|
});
|
|
643
669
|
export const SetAgentThinkingRequestMessageSchema = z.object({
|
|
644
|
-
type: z.literal(
|
|
670
|
+
type: z.literal("set_agent_thinking_request"),
|
|
645
671
|
agentId: z.string(),
|
|
646
672
|
thinkingOptionId: z.string().nullable(),
|
|
647
673
|
requestId: z.string(),
|
|
648
674
|
});
|
|
649
675
|
export const SetAgentThinkingResponseMessageSchema = z.object({
|
|
650
|
-
type: z.literal(
|
|
676
|
+
type: z.literal("set_agent_thinking_response"),
|
|
651
677
|
payload: z.object({
|
|
652
678
|
requestId: z.string(),
|
|
653
679
|
agentId: z.string(),
|
|
@@ -656,7 +682,7 @@ export const SetAgentThinkingResponseMessageSchema = z.object({
|
|
|
656
682
|
}),
|
|
657
683
|
});
|
|
658
684
|
export const UpdateAgentResponseMessageSchema = z.object({
|
|
659
|
-
type: z.literal(
|
|
685
|
+
type: z.literal("update_agent_response"),
|
|
660
686
|
payload: z.object({
|
|
661
687
|
requestId: z.string(),
|
|
662
688
|
agentId: z.string(),
|
|
@@ -665,7 +691,7 @@ export const UpdateAgentResponseMessageSchema = z.object({
|
|
|
665
691
|
}),
|
|
666
692
|
});
|
|
667
693
|
export const SetVoiceModeResponseMessageSchema = z.object({
|
|
668
|
-
type: z.literal(
|
|
694
|
+
type: z.literal("set_voice_mode_response"),
|
|
669
695
|
payload: z.object({
|
|
670
696
|
requestId: z.string(),
|
|
671
697
|
enabled: z.boolean(),
|
|
@@ -678,65 +704,70 @@ export const SetVoiceModeResponseMessageSchema = z.object({
|
|
|
678
704
|
}),
|
|
679
705
|
});
|
|
680
706
|
export const AgentPermissionResponseMessageSchema = z.object({
|
|
681
|
-
type: z.literal(
|
|
707
|
+
type: z.literal("agent_permission_response"),
|
|
682
708
|
agentId: z.string(),
|
|
683
709
|
requestId: z.string(),
|
|
684
710
|
response: AgentPermissionResponseSchema,
|
|
685
711
|
});
|
|
686
|
-
const CheckoutErrorCodeSchema = z.enum([
|
|
712
|
+
const CheckoutErrorCodeSchema = z.enum([
|
|
713
|
+
"NOT_GIT_REPO",
|
|
714
|
+
"NOT_ALLOWED",
|
|
715
|
+
"MERGE_CONFLICT",
|
|
716
|
+
"UNKNOWN",
|
|
717
|
+
]);
|
|
687
718
|
const CheckoutErrorSchema = z.object({
|
|
688
719
|
code: CheckoutErrorCodeSchema,
|
|
689
720
|
message: z.string(),
|
|
690
721
|
});
|
|
691
722
|
const CheckoutDiffCompareSchema = z.object({
|
|
692
|
-
mode: z.enum([
|
|
723
|
+
mode: z.enum(["uncommitted", "base"]),
|
|
693
724
|
baseRef: z.string().optional(),
|
|
694
725
|
});
|
|
695
726
|
export const CheckoutStatusRequestSchema = z.object({
|
|
696
|
-
type: z.literal(
|
|
727
|
+
type: z.literal("checkout_status_request"),
|
|
697
728
|
cwd: z.string(),
|
|
698
729
|
requestId: z.string(),
|
|
699
730
|
});
|
|
700
731
|
export const SubscribeCheckoutDiffRequestSchema = z.object({
|
|
701
|
-
type: z.literal(
|
|
732
|
+
type: z.literal("subscribe_checkout_diff_request"),
|
|
702
733
|
subscriptionId: z.string(),
|
|
703
734
|
cwd: z.string(),
|
|
704
735
|
compare: CheckoutDiffCompareSchema,
|
|
705
736
|
requestId: z.string(),
|
|
706
737
|
});
|
|
707
738
|
export const UnsubscribeCheckoutDiffRequestSchema = z.object({
|
|
708
|
-
type: z.literal(
|
|
739
|
+
type: z.literal("unsubscribe_checkout_diff_request"),
|
|
709
740
|
subscriptionId: z.string(),
|
|
710
741
|
});
|
|
711
742
|
export const CheckoutCommitRequestSchema = z.object({
|
|
712
|
-
type: z.literal(
|
|
743
|
+
type: z.literal("checkout_commit_request"),
|
|
713
744
|
cwd: z.string(),
|
|
714
745
|
message: z.string().optional(),
|
|
715
746
|
addAll: z.boolean().optional(),
|
|
716
747
|
requestId: z.string(),
|
|
717
748
|
});
|
|
718
749
|
export const CheckoutMergeRequestSchema = z.object({
|
|
719
|
-
type: z.literal(
|
|
750
|
+
type: z.literal("checkout_merge_request"),
|
|
720
751
|
cwd: z.string(),
|
|
721
752
|
baseRef: z.string().optional(),
|
|
722
|
-
strategy: z.enum([
|
|
753
|
+
strategy: z.enum(["merge", "squash"]).optional(),
|
|
723
754
|
requireCleanTarget: z.boolean().optional(),
|
|
724
755
|
requestId: z.string(),
|
|
725
756
|
});
|
|
726
757
|
export const CheckoutMergeFromBaseRequestSchema = z.object({
|
|
727
|
-
type: z.literal(
|
|
758
|
+
type: z.literal("checkout_merge_from_base_request"),
|
|
728
759
|
cwd: z.string(),
|
|
729
760
|
baseRef: z.string().optional(),
|
|
730
761
|
requireCleanTarget: z.boolean().optional(),
|
|
731
762
|
requestId: z.string(),
|
|
732
763
|
});
|
|
733
764
|
export const CheckoutPushRequestSchema = z.object({
|
|
734
|
-
type: z.literal(
|
|
765
|
+
type: z.literal("checkout_push_request"),
|
|
735
766
|
cwd: z.string(),
|
|
736
767
|
requestId: z.string(),
|
|
737
768
|
});
|
|
738
769
|
export const CheckoutPrCreateRequestSchema = z.object({
|
|
739
|
-
type: z.literal(
|
|
770
|
+
type: z.literal("checkout_pr_create_request"),
|
|
740
771
|
cwd: z.string(),
|
|
741
772
|
title: z.string().optional(),
|
|
742
773
|
body: z.string().optional(),
|
|
@@ -744,25 +775,25 @@ export const CheckoutPrCreateRequestSchema = z.object({
|
|
|
744
775
|
requestId: z.string(),
|
|
745
776
|
});
|
|
746
777
|
export const CheckoutPrStatusRequestSchema = z.object({
|
|
747
|
-
type: z.literal(
|
|
778
|
+
type: z.literal("checkout_pr_status_request"),
|
|
748
779
|
cwd: z.string(),
|
|
749
780
|
requestId: z.string(),
|
|
750
781
|
});
|
|
751
782
|
export const ValidateBranchRequestSchema = z.object({
|
|
752
|
-
type: z.literal(
|
|
783
|
+
type: z.literal("validate_branch_request"),
|
|
753
784
|
cwd: z.string(),
|
|
754
785
|
branchName: z.string(),
|
|
755
786
|
requestId: z.string(),
|
|
756
787
|
});
|
|
757
788
|
export const BranchSuggestionsRequestSchema = z.object({
|
|
758
|
-
type: z.literal(
|
|
789
|
+
type: z.literal("branch_suggestions_request"),
|
|
759
790
|
cwd: z.string(),
|
|
760
791
|
query: z.string().optional(),
|
|
761
792
|
limit: z.number().int().min(1).max(200).optional(),
|
|
762
793
|
requestId: z.string(),
|
|
763
794
|
});
|
|
764
795
|
export const DirectorySuggestionsRequestSchema = z.object({
|
|
765
|
-
type: z.literal(
|
|
796
|
+
type: z.literal("directory_suggestions_request"),
|
|
766
797
|
query: z.string(),
|
|
767
798
|
cwd: z.string().optional(),
|
|
768
799
|
includeFiles: z.boolean().optional(),
|
|
@@ -771,25 +802,31 @@ export const DirectorySuggestionsRequestSchema = z.object({
|
|
|
771
802
|
requestId: z.string(),
|
|
772
803
|
});
|
|
773
804
|
export const PaseoWorktreeListRequestSchema = z.object({
|
|
774
|
-
type: z.literal(
|
|
805
|
+
type: z.literal("paseo_worktree_list_request"),
|
|
775
806
|
cwd: z.string().optional(),
|
|
776
807
|
repoRoot: z.string().optional(),
|
|
777
808
|
requestId: z.string(),
|
|
778
809
|
});
|
|
779
810
|
export const PaseoWorktreeArchiveRequestSchema = z.object({
|
|
780
|
-
type: z.literal(
|
|
811
|
+
type: z.literal("paseo_worktree_archive_request"),
|
|
781
812
|
worktreePath: z.string().optional(),
|
|
782
813
|
repoRoot: z.string().optional(),
|
|
783
814
|
branchName: z.string().optional(),
|
|
784
815
|
requestId: z.string(),
|
|
785
816
|
});
|
|
817
|
+
export const CreatePaseoWorktreeRequestSchema = z.object({
|
|
818
|
+
type: z.literal("create_paseo_worktree_request"),
|
|
819
|
+
cwd: z.string(),
|
|
820
|
+
worktreeSlug: z.string().optional(),
|
|
821
|
+
requestId: z.string(),
|
|
822
|
+
});
|
|
786
823
|
export const OpenProjectRequestSchema = z.object({
|
|
787
|
-
type: z.literal(
|
|
824
|
+
type: z.literal("open_project_request"),
|
|
788
825
|
cwd: z.string(),
|
|
789
826
|
requestId: z.string(),
|
|
790
827
|
});
|
|
791
828
|
export const ArchiveWorkspaceRequestSchema = z.object({
|
|
792
|
-
type: z.literal(
|
|
829
|
+
type: z.literal("archive_workspace_request"),
|
|
793
830
|
workspaceId: z.string(),
|
|
794
831
|
requestId: z.string(),
|
|
795
832
|
});
|
|
@@ -800,7 +837,7 @@ const HighlightTokenSchema = z.object({
|
|
|
800
837
|
style: z.string().nullable(),
|
|
801
838
|
});
|
|
802
839
|
const DiffLineSchema = z.object({
|
|
803
|
-
type: z.enum([
|
|
840
|
+
type: z.enum(["add", "remove", "context", "header"]),
|
|
804
841
|
content: z.string(),
|
|
805
842
|
tokens: z.array(HighlightTokenSchema).optional(),
|
|
806
843
|
});
|
|
@@ -818,19 +855,19 @@ const ParsedDiffFileSchema = z.object({
|
|
|
818
855
|
additions: z.number(),
|
|
819
856
|
deletions: z.number(),
|
|
820
857
|
hunks: z.array(DiffHunkSchema),
|
|
821
|
-
status: z.enum([
|
|
858
|
+
status: z.enum(["ok", "too_large", "binary"]).optional(),
|
|
822
859
|
});
|
|
823
860
|
const FileExplorerEntrySchema = z.object({
|
|
824
861
|
name: z.string(),
|
|
825
862
|
path: z.string(),
|
|
826
|
-
kind: z.enum([
|
|
863
|
+
kind: z.enum(["file", "directory"]),
|
|
827
864
|
size: z.number(),
|
|
828
865
|
modifiedAt: z.string(),
|
|
829
866
|
});
|
|
830
867
|
const FileExplorerFileSchema = z.object({
|
|
831
868
|
path: z.string(),
|
|
832
|
-
kind: z.enum([
|
|
833
|
-
encoding: z.enum([
|
|
869
|
+
kind: z.enum(["text", "image", "binary"]),
|
|
870
|
+
encoding: z.enum(["utf-8", "base64", "none"]),
|
|
834
871
|
content: z.string().optional(),
|
|
835
872
|
mimeType: z.string().optional(),
|
|
836
873
|
size: z.number(),
|
|
@@ -841,37 +878,37 @@ const FileExplorerDirectorySchema = z.object({
|
|
|
841
878
|
entries: z.array(FileExplorerEntrySchema),
|
|
842
879
|
});
|
|
843
880
|
export const FileExplorerRequestSchema = z.object({
|
|
844
|
-
type: z.literal(
|
|
881
|
+
type: z.literal("file_explorer_request"),
|
|
845
882
|
cwd: z.string(),
|
|
846
883
|
path: z.string().optional(),
|
|
847
|
-
mode: z.enum([
|
|
884
|
+
mode: z.enum(["list", "file"]),
|
|
848
885
|
requestId: z.string(),
|
|
849
886
|
});
|
|
850
887
|
export const ProjectIconRequestSchema = z.object({
|
|
851
|
-
type: z.literal(
|
|
888
|
+
type: z.literal("project_icon_request"),
|
|
852
889
|
cwd: z.string(),
|
|
853
890
|
requestId: z.string(),
|
|
854
891
|
});
|
|
855
892
|
export const FileDownloadTokenRequestSchema = z.object({
|
|
856
|
-
type: z.literal(
|
|
893
|
+
type: z.literal("file_download_token_request"),
|
|
857
894
|
cwd: z.string(),
|
|
858
895
|
path: z.string(),
|
|
859
896
|
requestId: z.string(),
|
|
860
897
|
});
|
|
861
898
|
export const ClearAgentAttentionMessageSchema = z.object({
|
|
862
|
-
type: z.literal(
|
|
899
|
+
type: z.literal("clear_agent_attention"),
|
|
863
900
|
agentId: z.union([z.string(), z.array(z.string())]),
|
|
864
901
|
});
|
|
865
902
|
export const ClientHeartbeatMessageSchema = z.object({
|
|
866
|
-
type: z.literal(
|
|
867
|
-
deviceType: z.enum([
|
|
903
|
+
type: z.literal("client_heartbeat"),
|
|
904
|
+
deviceType: z.enum(["web", "mobile"]),
|
|
868
905
|
focusedAgentId: z.string().nullable(),
|
|
869
906
|
lastActivityAt: z.string(),
|
|
870
907
|
appVisible: z.boolean(),
|
|
871
908
|
appVisibilityChangedAt: z.string().optional(),
|
|
872
909
|
});
|
|
873
910
|
export const PingMessageSchema = z.object({
|
|
874
|
-
type: z.literal(
|
|
911
|
+
type: z.literal("ping"),
|
|
875
912
|
requestId: z.string(),
|
|
876
913
|
clientSentAt: z.number().int().optional(),
|
|
877
914
|
});
|
|
@@ -883,81 +920,68 @@ const ListCommandsDraftConfigSchema = z.object({
|
|
|
883
920
|
thinkingOptionId: z.string().optional(),
|
|
884
921
|
});
|
|
885
922
|
export const ListCommandsRequestSchema = z.object({
|
|
886
|
-
type: z.literal(
|
|
923
|
+
type: z.literal("list_commands_request"),
|
|
887
924
|
agentId: z.string(),
|
|
888
925
|
draftConfig: ListCommandsDraftConfigSchema.optional(),
|
|
889
926
|
requestId: z.string(),
|
|
890
927
|
});
|
|
891
928
|
export const RegisterPushTokenMessageSchema = z.object({
|
|
892
|
-
type: z.literal(
|
|
929
|
+
type: z.literal("register_push_token"),
|
|
893
930
|
token: z.string(),
|
|
894
931
|
});
|
|
895
932
|
// ============================================================================
|
|
896
933
|
// Terminal Messages
|
|
897
934
|
// ============================================================================
|
|
898
935
|
export const ListTerminalsRequestSchema = z.object({
|
|
899
|
-
type: z.literal(
|
|
936
|
+
type: z.literal("list_terminals_request"),
|
|
900
937
|
cwd: z.string(),
|
|
901
938
|
requestId: z.string(),
|
|
902
939
|
});
|
|
903
940
|
export const SubscribeTerminalsRequestSchema = z.object({
|
|
904
|
-
type: z.literal(
|
|
941
|
+
type: z.literal("subscribe_terminals_request"),
|
|
905
942
|
cwd: z.string(),
|
|
906
943
|
});
|
|
907
944
|
export const UnsubscribeTerminalsRequestSchema = z.object({
|
|
908
|
-
type: z.literal(
|
|
945
|
+
type: z.literal("unsubscribe_terminals_request"),
|
|
909
946
|
cwd: z.string(),
|
|
910
947
|
});
|
|
911
948
|
export const CreateTerminalRequestSchema = z.object({
|
|
912
|
-
type: z.literal(
|
|
949
|
+
type: z.literal("create_terminal_request"),
|
|
913
950
|
cwd: z.string(),
|
|
914
951
|
name: z.string().optional(),
|
|
915
952
|
requestId: z.string(),
|
|
916
953
|
});
|
|
917
954
|
export const SubscribeTerminalRequestSchema = z.object({
|
|
918
|
-
type: z.literal(
|
|
955
|
+
type: z.literal("subscribe_terminal_request"),
|
|
919
956
|
terminalId: z.string(),
|
|
920
957
|
requestId: z.string(),
|
|
921
958
|
});
|
|
922
959
|
export const UnsubscribeTerminalRequestSchema = z.object({
|
|
923
|
-
type: z.literal(
|
|
960
|
+
type: z.literal("unsubscribe_terminal_request"),
|
|
924
961
|
terminalId: z.string(),
|
|
925
962
|
});
|
|
926
|
-
const TerminalClientMessageSchema = z.discriminatedUnion(
|
|
927
|
-
z.object({ type: z.literal(
|
|
928
|
-
z.object({ type: z.literal(
|
|
963
|
+
const TerminalClientMessageSchema = z.discriminatedUnion("type", [
|
|
964
|
+
z.object({ type: z.literal("input"), data: z.string() }),
|
|
965
|
+
z.object({ type: z.literal("resize"), rows: z.number(), cols: z.number() }),
|
|
929
966
|
z.object({
|
|
930
|
-
type: z.literal(
|
|
967
|
+
type: z.literal("mouse"),
|
|
931
968
|
row: z.number(),
|
|
932
969
|
col: z.number(),
|
|
933
970
|
button: z.number(),
|
|
934
|
-
action: z.enum([
|
|
971
|
+
action: z.enum(["down", "up", "move"]),
|
|
935
972
|
}),
|
|
936
973
|
]);
|
|
937
974
|
export const TerminalInputSchema = z.object({
|
|
938
|
-
type: z.literal(
|
|
975
|
+
type: z.literal("terminal_input"),
|
|
939
976
|
terminalId: z.string(),
|
|
940
977
|
message: TerminalClientMessageSchema,
|
|
941
978
|
});
|
|
942
979
|
export const KillTerminalRequestSchema = z.object({
|
|
943
|
-
type: z.literal(
|
|
980
|
+
type: z.literal("kill_terminal_request"),
|
|
944
981
|
terminalId: z.string(),
|
|
945
982
|
requestId: z.string(),
|
|
946
983
|
});
|
|
947
|
-
export const
|
|
948
|
-
type: z.literal('attach_terminal_stream_request'),
|
|
949
|
-
terminalId: z.string(),
|
|
950
|
-
resumeOffset: z.number().int().nonnegative().optional(),
|
|
951
|
-
rows: z.number().int().positive().optional(),
|
|
952
|
-
cols: z.number().int().positive().optional(),
|
|
953
|
-
requestId: z.string(),
|
|
954
|
-
});
|
|
955
|
-
export const DetachTerminalStreamRequestSchema = z.object({
|
|
956
|
-
type: z.literal('detach_terminal_stream_request'),
|
|
957
|
-
streamId: z.number().int().nonnegative(),
|
|
958
|
-
requestId: z.string(),
|
|
959
|
-
});
|
|
960
|
-
export const SessionInboundMessageSchema = z.discriminatedUnion('type', [
|
|
984
|
+
export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
|
|
961
985
|
VoiceAudioChunkMessageSchema,
|
|
962
986
|
AbortRequestMessageSchema,
|
|
963
987
|
AudioPlayedMessageSchema,
|
|
@@ -1003,6 +1027,7 @@ export const SessionInboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
1003
1027
|
DirectorySuggestionsRequestSchema,
|
|
1004
1028
|
PaseoWorktreeListRequestSchema,
|
|
1005
1029
|
PaseoWorktreeArchiveRequestSchema,
|
|
1030
|
+
CreatePaseoWorktreeRequestSchema,
|
|
1006
1031
|
OpenProjectRequestSchema,
|
|
1007
1032
|
ArchiveWorkspaceRequestSchema,
|
|
1008
1033
|
FileExplorerRequestSchema,
|
|
@@ -1021,8 +1046,6 @@ export const SessionInboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
1021
1046
|
UnsubscribeTerminalRequestSchema,
|
|
1022
1047
|
TerminalInputSchema,
|
|
1023
1048
|
KillTerminalRequestSchema,
|
|
1024
|
-
AttachTerminalStreamRequestSchema,
|
|
1025
|
-
DetachTerminalStreamRequestSchema,
|
|
1026
1049
|
]);
|
|
1027
1050
|
// ============================================================================
|
|
1028
1051
|
// Session Outbound Messages (Session emits these)
|
|
@@ -1030,22 +1053,22 @@ export const SessionInboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
1030
1053
|
export const ActivityLogPayloadSchema = z.object({
|
|
1031
1054
|
id: z.string(),
|
|
1032
1055
|
timestamp: z.coerce.date(),
|
|
1033
|
-
type: z.enum([
|
|
1056
|
+
type: z.enum(["transcript", "assistant", "tool_call", "tool_result", "error", "system"]),
|
|
1034
1057
|
content: z.string(),
|
|
1035
1058
|
metadata: z.record(z.unknown()).optional(),
|
|
1036
1059
|
});
|
|
1037
1060
|
export const ActivityLogMessageSchema = z.object({
|
|
1038
|
-
type: z.literal(
|
|
1061
|
+
type: z.literal("activity_log"),
|
|
1039
1062
|
payload: ActivityLogPayloadSchema,
|
|
1040
1063
|
});
|
|
1041
1064
|
export const AssistantChunkMessageSchema = z.object({
|
|
1042
|
-
type: z.literal(
|
|
1065
|
+
type: z.literal("assistant_chunk"),
|
|
1043
1066
|
payload: z.object({
|
|
1044
1067
|
chunk: z.string(),
|
|
1045
1068
|
}),
|
|
1046
1069
|
});
|
|
1047
1070
|
export const AudioOutputMessageSchema = z.object({
|
|
1048
|
-
type: z.literal(
|
|
1071
|
+
type: z.literal("audio_output"),
|
|
1049
1072
|
payload: z.object({
|
|
1050
1073
|
audio: z.string(), // base64 encoded
|
|
1051
1074
|
format: z.string(),
|
|
@@ -1057,7 +1080,7 @@ export const AudioOutputMessageSchema = z.object({
|
|
|
1057
1080
|
}),
|
|
1058
1081
|
});
|
|
1059
1082
|
export const TranscriptionResultMessageSchema = z.object({
|
|
1060
|
-
type: z.literal(
|
|
1083
|
+
type: z.literal("transcription_result"),
|
|
1061
1084
|
payload: z.object({
|
|
1062
1085
|
text: z.string(),
|
|
1063
1086
|
language: z.string().optional(),
|
|
@@ -1071,34 +1094,34 @@ export const TranscriptionResultMessageSchema = z.object({
|
|
|
1071
1094
|
}),
|
|
1072
1095
|
});
|
|
1073
1096
|
export const VoiceInputStateMessageSchema = z.object({
|
|
1074
|
-
type: z.literal(
|
|
1097
|
+
type: z.literal("voice_input_state"),
|
|
1075
1098
|
payload: z.object({
|
|
1076
1099
|
isSpeaking: z.boolean(),
|
|
1077
1100
|
}),
|
|
1078
1101
|
});
|
|
1079
1102
|
export const DictationStreamAckMessageSchema = z.object({
|
|
1080
|
-
type: z.literal(
|
|
1103
|
+
type: z.literal("dictation_stream_ack"),
|
|
1081
1104
|
payload: z.object({
|
|
1082
1105
|
dictationId: z.string(),
|
|
1083
1106
|
ackSeq: z.number().int(),
|
|
1084
1107
|
}),
|
|
1085
1108
|
});
|
|
1086
1109
|
export const DictationStreamFinishAcceptedMessageSchema = z.object({
|
|
1087
|
-
type: z.literal(
|
|
1110
|
+
type: z.literal("dictation_stream_finish_accepted"),
|
|
1088
1111
|
payload: z.object({
|
|
1089
1112
|
dictationId: z.string(),
|
|
1090
1113
|
timeoutMs: z.number().int().positive(),
|
|
1091
1114
|
}),
|
|
1092
1115
|
});
|
|
1093
1116
|
export const DictationStreamPartialMessageSchema = z.object({
|
|
1094
|
-
type: z.literal(
|
|
1117
|
+
type: z.literal("dictation_stream_partial"),
|
|
1095
1118
|
payload: z.object({
|
|
1096
1119
|
dictationId: z.string(),
|
|
1097
1120
|
text: z.string(),
|
|
1098
1121
|
}),
|
|
1099
1122
|
});
|
|
1100
1123
|
export const DictationStreamFinalMessageSchema = z.object({
|
|
1101
|
-
type: z.literal(
|
|
1124
|
+
type: z.literal("dictation_stream_final"),
|
|
1102
1125
|
payload: z.object({
|
|
1103
1126
|
dictationId: z.string(),
|
|
1104
1127
|
text: z.string(),
|
|
@@ -1106,7 +1129,7 @@ export const DictationStreamFinalMessageSchema = z.object({
|
|
|
1106
1129
|
}),
|
|
1107
1130
|
});
|
|
1108
1131
|
export const DictationStreamErrorMessageSchema = z.object({
|
|
1109
|
-
type: z.literal(
|
|
1132
|
+
type: z.literal("dictation_stream_error"),
|
|
1110
1133
|
payload: z.object({
|
|
1111
1134
|
dictationId: z.string(),
|
|
1112
1135
|
error: z.string(),
|
|
@@ -1130,14 +1153,14 @@ export const ServerCapabilitiesSchema = z
|
|
|
1130
1153
|
})
|
|
1131
1154
|
.passthrough();
|
|
1132
1155
|
const ServerInfoHostnameSchema = z.unknown().transform((value) => {
|
|
1133
|
-
if (typeof value !==
|
|
1156
|
+
if (typeof value !== "string") {
|
|
1134
1157
|
return null;
|
|
1135
1158
|
}
|
|
1136
1159
|
const trimmed = value.trim();
|
|
1137
1160
|
return trimmed.length > 0 ? trimmed : null;
|
|
1138
1161
|
});
|
|
1139
1162
|
const ServerInfoVersionSchema = z.unknown().transform((value) => {
|
|
1140
|
-
if (typeof value !==
|
|
1163
|
+
if (typeof value !== "string") {
|
|
1141
1164
|
return null;
|
|
1142
1165
|
}
|
|
1143
1166
|
const trimmed = value.trim();
|
|
@@ -1158,7 +1181,7 @@ const ServerCapabilitiesFromUnknownSchema = z
|
|
|
1158
1181
|
});
|
|
1159
1182
|
export const ServerInfoStatusPayloadSchema = z
|
|
1160
1183
|
.object({
|
|
1161
|
-
status: z.literal(
|
|
1184
|
+
status: z.literal("server_info"),
|
|
1162
1185
|
serverId: z.string().trim().min(1),
|
|
1163
1186
|
hostname: ServerInfoHostnameSchema.optional(),
|
|
1164
1187
|
version: ServerInfoVersionSchema.optional(),
|
|
@@ -1171,7 +1194,7 @@ export const ServerInfoStatusPayloadSchema = z
|
|
|
1171
1194
|
version: payload.version ?? null,
|
|
1172
1195
|
}));
|
|
1173
1196
|
export const StatusMessageSchema = z.object({
|
|
1174
|
-
type: z.literal(
|
|
1197
|
+
type: z.literal("status"),
|
|
1175
1198
|
payload: z
|
|
1176
1199
|
.object({
|
|
1177
1200
|
status: z.string(),
|
|
@@ -1179,7 +1202,7 @@ export const StatusMessageSchema = z.object({
|
|
|
1179
1202
|
.passthrough(), // Allow additional fields
|
|
1180
1203
|
});
|
|
1181
1204
|
export const PongMessageSchema = z.object({
|
|
1182
|
-
type: z.literal(
|
|
1205
|
+
type: z.literal("pong"),
|
|
1183
1206
|
payload: z.object({
|
|
1184
1207
|
requestId: z.string(),
|
|
1185
1208
|
clientSentAt: z.number().int().optional(),
|
|
@@ -1188,7 +1211,7 @@ export const PongMessageSchema = z.object({
|
|
|
1188
1211
|
}),
|
|
1189
1212
|
});
|
|
1190
1213
|
export const RpcErrorMessageSchema = z.object({
|
|
1191
|
-
type: z.literal(
|
|
1214
|
+
type: z.literal("rpc_error"),
|
|
1192
1215
|
payload: z.object({
|
|
1193
1216
|
requestId: z.string(),
|
|
1194
1217
|
requestType: z.string().optional(),
|
|
@@ -1205,38 +1228,38 @@ const AgentStatusWithTimelineSchema = AgentStatusWithRequestSchema.extend({
|
|
|
1205
1228
|
});
|
|
1206
1229
|
export const AgentCreatedStatusPayloadSchema = z
|
|
1207
1230
|
.object({
|
|
1208
|
-
status: z.literal(
|
|
1231
|
+
status: z.literal("agent_created"),
|
|
1209
1232
|
agent: AgentSnapshotPayloadSchema,
|
|
1210
1233
|
})
|
|
1211
1234
|
.extend(AgentStatusWithRequestSchema.shape);
|
|
1212
1235
|
export const AgentCreateFailedStatusPayloadSchema = z.object({
|
|
1213
|
-
status: z.literal(
|
|
1236
|
+
status: z.literal("agent_create_failed"),
|
|
1214
1237
|
requestId: z.string(),
|
|
1215
1238
|
error: z.string(),
|
|
1216
1239
|
});
|
|
1217
1240
|
export const AgentResumedStatusPayloadSchema = z
|
|
1218
1241
|
.object({
|
|
1219
|
-
status: z.literal(
|
|
1242
|
+
status: z.literal("agent_resumed"),
|
|
1220
1243
|
agent: AgentSnapshotPayloadSchema,
|
|
1221
1244
|
})
|
|
1222
1245
|
.extend(AgentStatusWithTimelineSchema.shape);
|
|
1223
1246
|
export const AgentRefreshedStatusPayloadSchema = z
|
|
1224
1247
|
.object({
|
|
1225
|
-
status: z.literal(
|
|
1248
|
+
status: z.literal("agent_refreshed"),
|
|
1226
1249
|
})
|
|
1227
1250
|
.extend(AgentStatusWithTimelineSchema.shape);
|
|
1228
1251
|
export const RestartRequestedStatusPayloadSchema = z.object({
|
|
1229
|
-
status: z.literal(
|
|
1252
|
+
status: z.literal("restart_requested"),
|
|
1230
1253
|
clientId: z.string(),
|
|
1231
1254
|
reason: z.string().optional(),
|
|
1232
1255
|
requestId: z.string(),
|
|
1233
1256
|
});
|
|
1234
1257
|
export const ShutdownRequestedStatusPayloadSchema = z.object({
|
|
1235
|
-
status: z.literal(
|
|
1258
|
+
status: z.literal("shutdown_requested"),
|
|
1236
1259
|
clientId: z.string(),
|
|
1237
1260
|
requestId: z.string(),
|
|
1238
1261
|
});
|
|
1239
|
-
export const KnownStatusPayloadSchema = z.discriminatedUnion(
|
|
1262
|
+
export const KnownStatusPayloadSchema = z.discriminatedUnion("status", [
|
|
1240
1263
|
AgentCreatedStatusPayloadSchema,
|
|
1241
1264
|
AgentCreateFailedStatusPayloadSchema,
|
|
1242
1265
|
AgentResumedStatusPayloadSchema,
|
|
@@ -1245,9 +1268,9 @@ export const KnownStatusPayloadSchema = z.discriminatedUnion('status', [
|
|
|
1245
1268
|
RestartRequestedStatusPayloadSchema,
|
|
1246
1269
|
]);
|
|
1247
1270
|
export const ArtifactMessageSchema = z.object({
|
|
1248
|
-
type: z.literal(
|
|
1271
|
+
type: z.literal("artifact"),
|
|
1249
1272
|
payload: z.object({
|
|
1250
|
-
type: z.enum([
|
|
1273
|
+
type: z.enum(["markdown", "diff", "image", "code"]),
|
|
1251
1274
|
id: z.string(),
|
|
1252
1275
|
title: z.string(),
|
|
1253
1276
|
content: z.string(),
|
|
@@ -1293,32 +1316,35 @@ export const WorkspaceDescriptorPayloadSchema = z.object({
|
|
|
1293
1316
|
projectId: z.string(),
|
|
1294
1317
|
projectDisplayName: z.string(),
|
|
1295
1318
|
projectRootPath: z.string(),
|
|
1296
|
-
projectKind: z.enum([
|
|
1297
|
-
workspaceKind: z.enum([
|
|
1319
|
+
projectKind: z.enum(["git", "non_git"]),
|
|
1320
|
+
workspaceKind: z.enum(["local_checkout", "worktree", "directory"]),
|
|
1298
1321
|
name: z.string(),
|
|
1299
1322
|
status: WorkspaceStateBucketSchema,
|
|
1300
1323
|
activityAt: z.string().nullable(),
|
|
1301
|
-
diffStat: z
|
|
1324
|
+
diffStat: z
|
|
1325
|
+
.object({
|
|
1302
1326
|
additions: z.number(),
|
|
1303
1327
|
deletions: z.number(),
|
|
1304
|
-
})
|
|
1328
|
+
})
|
|
1329
|
+
.nullable()
|
|
1330
|
+
.optional(),
|
|
1305
1331
|
});
|
|
1306
1332
|
export const AgentUpdateMessageSchema = z.object({
|
|
1307
|
-
type: z.literal(
|
|
1308
|
-
payload: z.discriminatedUnion(
|
|
1333
|
+
type: z.literal("agent_update"),
|
|
1334
|
+
payload: z.discriminatedUnion("kind", [
|
|
1309
1335
|
z.object({
|
|
1310
|
-
kind: z.literal(
|
|
1336
|
+
kind: z.literal("upsert"),
|
|
1311
1337
|
agent: AgentSnapshotPayloadSchema,
|
|
1312
1338
|
project: ProjectPlacementPayloadSchema,
|
|
1313
1339
|
}),
|
|
1314
1340
|
z.object({
|
|
1315
|
-
kind: z.literal(
|
|
1341
|
+
kind: z.literal("remove"),
|
|
1316
1342
|
agentId: z.string(),
|
|
1317
1343
|
}),
|
|
1318
1344
|
]),
|
|
1319
1345
|
});
|
|
1320
1346
|
export const AgentStreamMessageSchema = z.object({
|
|
1321
|
-
type: z.literal(
|
|
1347
|
+
type: z.literal("agent_stream"),
|
|
1322
1348
|
payload: z.object({
|
|
1323
1349
|
agentId: z.string(),
|
|
1324
1350
|
event: AgentStreamEventPayloadSchema,
|
|
@@ -1329,7 +1355,7 @@ export const AgentStreamMessageSchema = z.object({
|
|
|
1329
1355
|
}),
|
|
1330
1356
|
});
|
|
1331
1357
|
export const AgentStatusMessageSchema = z.object({
|
|
1332
|
-
type: z.literal(
|
|
1358
|
+
type: z.literal("agent_status"),
|
|
1333
1359
|
payload: z.object({
|
|
1334
1360
|
agentId: z.string(),
|
|
1335
1361
|
status: z.string(),
|
|
@@ -1337,13 +1363,13 @@ export const AgentStatusMessageSchema = z.object({
|
|
|
1337
1363
|
}),
|
|
1338
1364
|
});
|
|
1339
1365
|
export const AgentListMessageSchema = z.object({
|
|
1340
|
-
type: z.literal(
|
|
1366
|
+
type: z.literal("agent_list"),
|
|
1341
1367
|
payload: z.object({
|
|
1342
1368
|
agents: z.array(AgentSnapshotPayloadSchema),
|
|
1343
1369
|
}),
|
|
1344
1370
|
});
|
|
1345
1371
|
export const FetchAgentsResponseMessageSchema = z.object({
|
|
1346
|
-
type: z.literal(
|
|
1372
|
+
type: z.literal("fetch_agents_response"),
|
|
1347
1373
|
payload: z.object({
|
|
1348
1374
|
requestId: z.string(),
|
|
1349
1375
|
subscriptionId: z.string().nullable().optional(),
|
|
@@ -1359,7 +1385,7 @@ export const FetchAgentsResponseMessageSchema = z.object({
|
|
|
1359
1385
|
}),
|
|
1360
1386
|
});
|
|
1361
1387
|
export const FetchWorkspacesResponseMessageSchema = z.object({
|
|
1362
|
-
type: z.literal(
|
|
1388
|
+
type: z.literal("fetch_workspaces_response"),
|
|
1363
1389
|
payload: z.object({
|
|
1364
1390
|
requestId: z.string(),
|
|
1365
1391
|
subscriptionId: z.string().nullable().optional(),
|
|
@@ -1372,20 +1398,20 @@ export const FetchWorkspacesResponseMessageSchema = z.object({
|
|
|
1372
1398
|
}),
|
|
1373
1399
|
});
|
|
1374
1400
|
export const WorkspaceUpdateMessageSchema = z.object({
|
|
1375
|
-
type: z.literal(
|
|
1376
|
-
payload: z.discriminatedUnion(
|
|
1401
|
+
type: z.literal("workspace_update"),
|
|
1402
|
+
payload: z.discriminatedUnion("kind", [
|
|
1377
1403
|
z.object({
|
|
1378
|
-
kind: z.literal(
|
|
1404
|
+
kind: z.literal("upsert"),
|
|
1379
1405
|
workspace: WorkspaceDescriptorPayloadSchema,
|
|
1380
1406
|
}),
|
|
1381
1407
|
z.object({
|
|
1382
|
-
kind: z.literal(
|
|
1408
|
+
kind: z.literal("remove"),
|
|
1383
1409
|
id: z.string(),
|
|
1384
1410
|
}),
|
|
1385
1411
|
]),
|
|
1386
1412
|
});
|
|
1387
1413
|
export const OpenProjectResponseMessageSchema = z.object({
|
|
1388
|
-
type: z.literal(
|
|
1414
|
+
type: z.literal("open_project_response"),
|
|
1389
1415
|
payload: z.object({
|
|
1390
1416
|
requestId: z.string(),
|
|
1391
1417
|
workspace: WorkspaceDescriptorPayloadSchema.nullable(),
|
|
@@ -1393,7 +1419,7 @@ export const OpenProjectResponseMessageSchema = z.object({
|
|
|
1393
1419
|
}),
|
|
1394
1420
|
});
|
|
1395
1421
|
export const ArchiveWorkspaceResponseMessageSchema = z.object({
|
|
1396
|
-
type: z.literal(
|
|
1422
|
+
type: z.literal("archive_workspace_response"),
|
|
1397
1423
|
payload: z.object({
|
|
1398
1424
|
requestId: z.string(),
|
|
1399
1425
|
workspaceId: z.string(),
|
|
@@ -1402,7 +1428,7 @@ export const ArchiveWorkspaceResponseMessageSchema = z.object({
|
|
|
1402
1428
|
}),
|
|
1403
1429
|
});
|
|
1404
1430
|
export const FetchAgentResponseMessageSchema = z.object({
|
|
1405
|
-
type: z.literal(
|
|
1431
|
+
type: z.literal("fetch_agent_response"),
|
|
1406
1432
|
payload: z.object({
|
|
1407
1433
|
requestId: z.string(),
|
|
1408
1434
|
agent: AgentSnapshotPayloadSchema.nullable(),
|
|
@@ -1421,16 +1447,16 @@ export const AgentTimelineEntryPayloadSchema = z.object({
|
|
|
1421
1447
|
seqStart: z.number().int().nonnegative(),
|
|
1422
1448
|
seqEnd: z.number().int().nonnegative(),
|
|
1423
1449
|
sourceSeqRanges: z.array(AgentTimelineSeqRangeSchema),
|
|
1424
|
-
collapsed: z.array(z.enum([
|
|
1450
|
+
collapsed: z.array(z.enum(["assistant_merge", "tool_lifecycle"])),
|
|
1425
1451
|
});
|
|
1426
1452
|
export const FetchAgentTimelineResponseMessageSchema = z.object({
|
|
1427
|
-
type: z.literal(
|
|
1453
|
+
type: z.literal("fetch_agent_timeline_response"),
|
|
1428
1454
|
payload: z.object({
|
|
1429
1455
|
requestId: z.string(),
|
|
1430
1456
|
agentId: z.string(),
|
|
1431
1457
|
agent: AgentSnapshotPayloadSchema.nullable(),
|
|
1432
|
-
direction: z.enum([
|
|
1433
|
-
projection: z.enum([
|
|
1458
|
+
direction: z.enum(["tail", "before", "after"]),
|
|
1459
|
+
projection: z.enum(["projected", "canonical"]),
|
|
1434
1460
|
epoch: z.string(),
|
|
1435
1461
|
reset: z.boolean(),
|
|
1436
1462
|
staleCursor: z.boolean(),
|
|
@@ -1449,7 +1475,7 @@ export const FetchAgentTimelineResponseMessageSchema = z.object({
|
|
|
1449
1475
|
}),
|
|
1450
1476
|
});
|
|
1451
1477
|
export const SendAgentMessageResponseMessageSchema = z.object({
|
|
1452
|
-
type: z.literal(
|
|
1478
|
+
type: z.literal("send_agent_message_response"),
|
|
1453
1479
|
payload: z.object({
|
|
1454
1480
|
requestId: z.string(),
|
|
1455
1481
|
agentId: z.string(),
|
|
@@ -1458,24 +1484,24 @@ export const SendAgentMessageResponseMessageSchema = z.object({
|
|
|
1458
1484
|
}),
|
|
1459
1485
|
});
|
|
1460
1486
|
export const WaitForFinishResponseMessageSchema = z.object({
|
|
1461
|
-
type: z.literal(
|
|
1487
|
+
type: z.literal("wait_for_finish_response"),
|
|
1462
1488
|
payload: z.object({
|
|
1463
1489
|
requestId: z.string(),
|
|
1464
|
-
status: z.enum([
|
|
1490
|
+
status: z.enum(["idle", "error", "permission", "timeout"]),
|
|
1465
1491
|
final: AgentSnapshotPayloadSchema.nullable(),
|
|
1466
1492
|
error: z.string().nullable(),
|
|
1467
1493
|
lastMessage: z.string().nullable(),
|
|
1468
1494
|
}),
|
|
1469
1495
|
});
|
|
1470
1496
|
export const AgentPermissionRequestMessageSchema = z.object({
|
|
1471
|
-
type: z.literal(
|
|
1497
|
+
type: z.literal("agent_permission_request"),
|
|
1472
1498
|
payload: z.object({
|
|
1473
1499
|
agentId: z.string(),
|
|
1474
1500
|
request: AgentPermissionRequestPayloadSchema,
|
|
1475
1501
|
}),
|
|
1476
1502
|
});
|
|
1477
1503
|
export const AgentPermissionResolvedMessageSchema = z.object({
|
|
1478
|
-
type: z.literal(
|
|
1504
|
+
type: z.literal("agent_permission_resolved"),
|
|
1479
1505
|
payload: z.object({
|
|
1480
1506
|
agentId: z.string(),
|
|
1481
1507
|
requestId: z.string(),
|
|
@@ -1483,14 +1509,14 @@ export const AgentPermissionResolvedMessageSchema = z.object({
|
|
|
1483
1509
|
}),
|
|
1484
1510
|
});
|
|
1485
1511
|
export const AgentDeletedMessageSchema = z.object({
|
|
1486
|
-
type: z.literal(
|
|
1512
|
+
type: z.literal("agent_deleted"),
|
|
1487
1513
|
payload: z.object({
|
|
1488
1514
|
agentId: z.string(),
|
|
1489
1515
|
requestId: z.string(),
|
|
1490
1516
|
}),
|
|
1491
1517
|
});
|
|
1492
1518
|
export const AgentArchivedMessageSchema = z.object({
|
|
1493
|
-
type: z.literal(
|
|
1519
|
+
type: z.literal("agent_archived"),
|
|
1494
1520
|
payload: z.object({
|
|
1495
1521
|
agentId: z.string(),
|
|
1496
1522
|
archivedAt: z.string(),
|
|
@@ -1547,7 +1573,7 @@ const CheckoutStatusGitPaseoSchema = CheckoutStatusCommonSchema.extend({
|
|
|
1547
1573
|
remoteUrl: z.string().nullable(),
|
|
1548
1574
|
});
|
|
1549
1575
|
export const CheckoutStatusResponseSchema = z.object({
|
|
1550
|
-
type: z.literal(
|
|
1576
|
+
type: z.literal("checkout_status_response"),
|
|
1551
1577
|
payload: z.union([
|
|
1552
1578
|
CheckoutStatusNotGitSchema,
|
|
1553
1579
|
CheckoutStatusGitNonPaseoSchema,
|
|
@@ -1561,17 +1587,17 @@ const CheckoutDiffSubscriptionPayloadSchema = z.object({
|
|
|
1561
1587
|
error: CheckoutErrorSchema.nullable(),
|
|
1562
1588
|
});
|
|
1563
1589
|
export const SubscribeCheckoutDiffResponseSchema = z.object({
|
|
1564
|
-
type: z.literal(
|
|
1590
|
+
type: z.literal("subscribe_checkout_diff_response"),
|
|
1565
1591
|
payload: CheckoutDiffSubscriptionPayloadSchema.extend({
|
|
1566
1592
|
requestId: z.string(),
|
|
1567
1593
|
}),
|
|
1568
1594
|
});
|
|
1569
1595
|
export const CheckoutDiffUpdateSchema = z.object({
|
|
1570
|
-
type: z.literal(
|
|
1596
|
+
type: z.literal("checkout_diff_update"),
|
|
1571
1597
|
payload: CheckoutDiffSubscriptionPayloadSchema,
|
|
1572
1598
|
});
|
|
1573
1599
|
export const CheckoutCommitResponseSchema = z.object({
|
|
1574
|
-
type: z.literal(
|
|
1600
|
+
type: z.literal("checkout_commit_response"),
|
|
1575
1601
|
payload: z.object({
|
|
1576
1602
|
cwd: z.string(),
|
|
1577
1603
|
success: z.boolean(),
|
|
@@ -1580,7 +1606,7 @@ export const CheckoutCommitResponseSchema = z.object({
|
|
|
1580
1606
|
}),
|
|
1581
1607
|
});
|
|
1582
1608
|
export const CheckoutMergeResponseSchema = z.object({
|
|
1583
|
-
type: z.literal(
|
|
1609
|
+
type: z.literal("checkout_merge_response"),
|
|
1584
1610
|
payload: z.object({
|
|
1585
1611
|
cwd: z.string(),
|
|
1586
1612
|
success: z.boolean(),
|
|
@@ -1589,7 +1615,7 @@ export const CheckoutMergeResponseSchema = z.object({
|
|
|
1589
1615
|
}),
|
|
1590
1616
|
});
|
|
1591
1617
|
export const CheckoutMergeFromBaseResponseSchema = z.object({
|
|
1592
|
-
type: z.literal(
|
|
1618
|
+
type: z.literal("checkout_merge_from_base_response"),
|
|
1593
1619
|
payload: z.object({
|
|
1594
1620
|
cwd: z.string(),
|
|
1595
1621
|
success: z.boolean(),
|
|
@@ -1598,7 +1624,7 @@ export const CheckoutMergeFromBaseResponseSchema = z.object({
|
|
|
1598
1624
|
}),
|
|
1599
1625
|
});
|
|
1600
1626
|
export const CheckoutPushResponseSchema = z.object({
|
|
1601
|
-
type: z.literal(
|
|
1627
|
+
type: z.literal("checkout_push_response"),
|
|
1602
1628
|
payload: z.object({
|
|
1603
1629
|
cwd: z.string(),
|
|
1604
1630
|
success: z.boolean(),
|
|
@@ -1607,7 +1633,7 @@ export const CheckoutPushResponseSchema = z.object({
|
|
|
1607
1633
|
}),
|
|
1608
1634
|
});
|
|
1609
1635
|
export const CheckoutPrCreateResponseSchema = z.object({
|
|
1610
|
-
type: z.literal(
|
|
1636
|
+
type: z.literal("checkout_pr_create_response"),
|
|
1611
1637
|
payload: z.object({
|
|
1612
1638
|
cwd: z.string(),
|
|
1613
1639
|
url: z.string().nullable(),
|
|
@@ -1625,7 +1651,7 @@ const CheckoutPrStatusSchema = z.object({
|
|
|
1625
1651
|
isMerged: z.boolean(),
|
|
1626
1652
|
});
|
|
1627
1653
|
export const CheckoutPrStatusResponseSchema = z.object({
|
|
1628
|
-
type: z.literal(
|
|
1654
|
+
type: z.literal("checkout_pr_status_response"),
|
|
1629
1655
|
payload: z.object({
|
|
1630
1656
|
cwd: z.string(),
|
|
1631
1657
|
status: CheckoutPrStatusSchema.nullable(),
|
|
@@ -1635,7 +1661,7 @@ export const CheckoutPrStatusResponseSchema = z.object({
|
|
|
1635
1661
|
}),
|
|
1636
1662
|
});
|
|
1637
1663
|
export const ValidateBranchResponseSchema = z.object({
|
|
1638
|
-
type: z.literal(
|
|
1664
|
+
type: z.literal("validate_branch_response"),
|
|
1639
1665
|
payload: z.object({
|
|
1640
1666
|
exists: z.boolean(),
|
|
1641
1667
|
resolvedRef: z.string().nullable(),
|
|
@@ -1645,7 +1671,7 @@ export const ValidateBranchResponseSchema = z.object({
|
|
|
1645
1671
|
}),
|
|
1646
1672
|
});
|
|
1647
1673
|
export const BranchSuggestionsResponseSchema = z.object({
|
|
1648
|
-
type: z.literal(
|
|
1674
|
+
type: z.literal("branch_suggestions_response"),
|
|
1649
1675
|
payload: z.object({
|
|
1650
1676
|
branches: z.array(z.string()),
|
|
1651
1677
|
error: z.string().nullable(),
|
|
@@ -1653,13 +1679,13 @@ export const BranchSuggestionsResponseSchema = z.object({
|
|
|
1653
1679
|
}),
|
|
1654
1680
|
});
|
|
1655
1681
|
export const DirectorySuggestionsResponseSchema = z.object({
|
|
1656
|
-
type: z.literal(
|
|
1682
|
+
type: z.literal("directory_suggestions_response"),
|
|
1657
1683
|
payload: z.object({
|
|
1658
1684
|
directories: z.array(z.string()),
|
|
1659
1685
|
entries: z
|
|
1660
1686
|
.array(z.object({
|
|
1661
1687
|
path: z.string(),
|
|
1662
|
-
kind: z.enum([
|
|
1688
|
+
kind: z.enum(["file", "directory"]),
|
|
1663
1689
|
}))
|
|
1664
1690
|
.optional()
|
|
1665
1691
|
.default([]),
|
|
@@ -1674,7 +1700,7 @@ const PaseoWorktreeSchema = z.object({
|
|
|
1674
1700
|
head: z.string().nullable().optional(),
|
|
1675
1701
|
});
|
|
1676
1702
|
export const PaseoWorktreeListResponseSchema = z.object({
|
|
1677
|
-
type: z.literal(
|
|
1703
|
+
type: z.literal("paseo_worktree_list_response"),
|
|
1678
1704
|
payload: z.object({
|
|
1679
1705
|
worktrees: z.array(PaseoWorktreeSchema),
|
|
1680
1706
|
error: CheckoutErrorSchema.nullable(),
|
|
@@ -1682,7 +1708,7 @@ export const PaseoWorktreeListResponseSchema = z.object({
|
|
|
1682
1708
|
}),
|
|
1683
1709
|
});
|
|
1684
1710
|
export const PaseoWorktreeArchiveResponseSchema = z.object({
|
|
1685
|
-
type: z.literal(
|
|
1711
|
+
type: z.literal("paseo_worktree_archive_response"),
|
|
1686
1712
|
payload: z.object({
|
|
1687
1713
|
success: z.boolean(),
|
|
1688
1714
|
removedAgents: z.array(z.string()).optional(),
|
|
@@ -1690,12 +1716,21 @@ export const PaseoWorktreeArchiveResponseSchema = z.object({
|
|
|
1690
1716
|
requestId: z.string(),
|
|
1691
1717
|
}),
|
|
1692
1718
|
});
|
|
1719
|
+
export const CreatePaseoWorktreeResponseSchema = z.object({
|
|
1720
|
+
type: z.literal("create_paseo_worktree_response"),
|
|
1721
|
+
payload: z.object({
|
|
1722
|
+
workspace: WorkspaceDescriptorPayloadSchema.nullable(),
|
|
1723
|
+
error: z.string().nullable(),
|
|
1724
|
+
setupTerminalId: z.string().nullable(),
|
|
1725
|
+
requestId: z.string(),
|
|
1726
|
+
}),
|
|
1727
|
+
});
|
|
1693
1728
|
export const FileExplorerResponseSchema = z.object({
|
|
1694
|
-
type: z.literal(
|
|
1729
|
+
type: z.literal("file_explorer_response"),
|
|
1695
1730
|
payload: z.object({
|
|
1696
1731
|
cwd: z.string(),
|
|
1697
1732
|
path: z.string(),
|
|
1698
|
-
mode: z.enum([
|
|
1733
|
+
mode: z.enum(["list", "file"]),
|
|
1699
1734
|
directory: FileExplorerDirectorySchema.nullable(),
|
|
1700
1735
|
file: FileExplorerFileSchema.nullable(),
|
|
1701
1736
|
error: z.string().nullable(),
|
|
@@ -1707,7 +1742,7 @@ const ProjectIconSchema = z.object({
|
|
|
1707
1742
|
mimeType: z.string(),
|
|
1708
1743
|
});
|
|
1709
1744
|
export const ProjectIconResponseSchema = z.object({
|
|
1710
|
-
type: z.literal(
|
|
1745
|
+
type: z.literal("project_icon_response"),
|
|
1711
1746
|
payload: z.object({
|
|
1712
1747
|
cwd: z.string(),
|
|
1713
1748
|
icon: ProjectIconSchema.nullable(),
|
|
@@ -1716,7 +1751,7 @@ export const ProjectIconResponseSchema = z.object({
|
|
|
1716
1751
|
}),
|
|
1717
1752
|
});
|
|
1718
1753
|
export const FileDownloadTokenResponseSchema = z.object({
|
|
1719
|
-
type: z.literal(
|
|
1754
|
+
type: z.literal("file_download_token_response"),
|
|
1720
1755
|
payload: z.object({
|
|
1721
1756
|
cwd: z.string(),
|
|
1722
1757
|
path: z.string(),
|
|
@@ -1729,7 +1764,7 @@ export const FileDownloadTokenResponseSchema = z.object({
|
|
|
1729
1764
|
}),
|
|
1730
1765
|
});
|
|
1731
1766
|
export const ListProviderModelsResponseMessageSchema = z.object({
|
|
1732
|
-
type: z.literal(
|
|
1767
|
+
type: z.literal("list_provider_models_response"),
|
|
1733
1768
|
payload: z.object({
|
|
1734
1769
|
provider: AgentProviderSchema,
|
|
1735
1770
|
models: z.array(AgentModelDefinitionSchema).optional(),
|
|
@@ -1744,7 +1779,7 @@ const ProviderAvailabilitySchema = z.object({
|
|
|
1744
1779
|
error: z.string().nullable().optional(),
|
|
1745
1780
|
});
|
|
1746
1781
|
export const ListAvailableProvidersResponseSchema = z.object({
|
|
1747
|
-
type: z.literal(
|
|
1782
|
+
type: z.literal("list_available_providers_response"),
|
|
1748
1783
|
payload: z.object({
|
|
1749
1784
|
providers: z.array(ProviderAvailabilitySchema),
|
|
1750
1785
|
error: z.string().nullable().optional(),
|
|
@@ -1753,7 +1788,7 @@ export const ListAvailableProvidersResponseSchema = z.object({
|
|
|
1753
1788
|
}),
|
|
1754
1789
|
});
|
|
1755
1790
|
export const SpeechModelsListResponseSchema = z.object({
|
|
1756
|
-
type: z.literal(
|
|
1791
|
+
type: z.literal("speech_models_list_response"),
|
|
1757
1792
|
payload: z.object({
|
|
1758
1793
|
modelsDir: z.string(),
|
|
1759
1794
|
models: z.array(z.object({
|
|
@@ -1768,7 +1803,7 @@ export const SpeechModelsListResponseSchema = z.object({
|
|
|
1768
1803
|
}),
|
|
1769
1804
|
});
|
|
1770
1805
|
export const SpeechModelsDownloadResponseSchema = z.object({
|
|
1771
|
-
type: z.literal(
|
|
1806
|
+
type: z.literal("speech_models_download_response"),
|
|
1772
1807
|
payload: z.object({
|
|
1773
1808
|
modelsDir: z.string(),
|
|
1774
1809
|
downloadedModelIds: z.array(z.string()),
|
|
@@ -1782,7 +1817,7 @@ const AgentSlashCommandSchema = z.object({
|
|
|
1782
1817
|
argumentHint: z.string(),
|
|
1783
1818
|
});
|
|
1784
1819
|
export const ListCommandsResponseSchema = z.object({
|
|
1785
|
-
type: z.literal(
|
|
1820
|
+
type: z.literal("list_commands_response"),
|
|
1786
1821
|
payload: z.object({
|
|
1787
1822
|
agentId: z.string(),
|
|
1788
1823
|
commands: z.array(AgentSlashCommandSchema),
|
|
@@ -1798,7 +1833,8 @@ const TerminalInfoSchema = z.object({
|
|
|
1798
1833
|
name: z.string(),
|
|
1799
1834
|
cwd: z.string(),
|
|
1800
1835
|
});
|
|
1801
|
-
const TerminalCellSchema = z
|
|
1836
|
+
export const TerminalCellSchema = z
|
|
1837
|
+
.object({
|
|
1802
1838
|
char: z.string(),
|
|
1803
1839
|
fg: z.number().optional(),
|
|
1804
1840
|
bg: z.number().optional(),
|
|
@@ -1807,16 +1843,32 @@ const TerminalCellSchema = z.object({
|
|
|
1807
1843
|
bold: z.boolean().optional(),
|
|
1808
1844
|
italic: z.boolean().optional(),
|
|
1809
1845
|
underline: z.boolean().optional(),
|
|
1810
|
-
|
|
1811
|
-
|
|
1846
|
+
dim: z.boolean().optional(),
|
|
1847
|
+
inverse: z.boolean().optional(),
|
|
1848
|
+
strikethrough: z.boolean().optional(),
|
|
1849
|
+
})
|
|
1850
|
+
.strict();
|
|
1851
|
+
export const TerminalCursorStyleSchema = z.enum(["block", "underline", "bar"]);
|
|
1852
|
+
export const TerminalCursorSchema = z
|
|
1853
|
+
.object({
|
|
1854
|
+
row: z.number(),
|
|
1855
|
+
col: z.number(),
|
|
1856
|
+
hidden: z.boolean().optional(),
|
|
1857
|
+
style: TerminalCursorStyleSchema.optional(),
|
|
1858
|
+
blink: z.boolean().optional(),
|
|
1859
|
+
})
|
|
1860
|
+
.strict();
|
|
1861
|
+
export const TerminalStateSchema = z
|
|
1862
|
+
.object({
|
|
1812
1863
|
rows: z.number(),
|
|
1813
1864
|
cols: z.number(),
|
|
1814
1865
|
grid: z.array(z.array(TerminalCellSchema)),
|
|
1815
1866
|
scrollback: z.array(z.array(TerminalCellSchema)),
|
|
1816
|
-
cursor:
|
|
1817
|
-
})
|
|
1867
|
+
cursor: TerminalCursorSchema,
|
|
1868
|
+
})
|
|
1869
|
+
.strict();
|
|
1818
1870
|
export const ListTerminalsResponseSchema = z.object({
|
|
1819
|
-
type: z.literal(
|
|
1871
|
+
type: z.literal("list_terminals_response"),
|
|
1820
1872
|
payload: z.object({
|
|
1821
1873
|
cwd: z.string(),
|
|
1822
1874
|
terminals: z.array(TerminalInfoSchema.omit({ cwd: true })),
|
|
@@ -1824,14 +1876,14 @@ export const ListTerminalsResponseSchema = z.object({
|
|
|
1824
1876
|
}),
|
|
1825
1877
|
});
|
|
1826
1878
|
export const TerminalsChangedSchema = z.object({
|
|
1827
|
-
type: z.literal(
|
|
1879
|
+
type: z.literal("terminals_changed"),
|
|
1828
1880
|
payload: z.object({
|
|
1829
1881
|
cwd: z.string(),
|
|
1830
1882
|
terminals: z.array(TerminalInfoSchema.omit({ cwd: true })),
|
|
1831
1883
|
}),
|
|
1832
1884
|
});
|
|
1833
1885
|
export const CreateTerminalResponseSchema = z.object({
|
|
1834
|
-
type: z.literal(
|
|
1886
|
+
type: z.literal("create_terminal_response"),
|
|
1835
1887
|
payload: z.object({
|
|
1836
1888
|
terminal: TerminalInfoSchema.nullable(),
|
|
1837
1889
|
error: z.string().nullable(),
|
|
@@ -1839,58 +1891,36 @@ export const CreateTerminalResponseSchema = z.object({
|
|
|
1839
1891
|
}),
|
|
1840
1892
|
});
|
|
1841
1893
|
export const SubscribeTerminalResponseSchema = z.object({
|
|
1842
|
-
type: z.literal(
|
|
1843
|
-
payload: z.
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
})
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
|
|
1894
|
+
type: z.literal("subscribe_terminal_response"),
|
|
1895
|
+
payload: z.union([
|
|
1896
|
+
z.object({
|
|
1897
|
+
terminalId: z.string(),
|
|
1898
|
+
slot: z.number().int().min(0).max(255),
|
|
1899
|
+
error: z.null(),
|
|
1900
|
+
requestId: z.string(),
|
|
1901
|
+
}),
|
|
1902
|
+
z.object({
|
|
1903
|
+
terminalId: z.string(),
|
|
1904
|
+
error: z.string(),
|
|
1905
|
+
requestId: z.string(),
|
|
1906
|
+
}),
|
|
1907
|
+
]),
|
|
1856
1908
|
});
|
|
1857
1909
|
export const KillTerminalResponseSchema = z.object({
|
|
1858
|
-
type: z.literal(
|
|
1859
|
-
payload: z.object({
|
|
1860
|
-
terminalId: z.string(),
|
|
1861
|
-
success: z.boolean(),
|
|
1862
|
-
requestId: z.string(),
|
|
1863
|
-
}),
|
|
1864
|
-
});
|
|
1865
|
-
export const AttachTerminalStreamResponseSchema = z.object({
|
|
1866
|
-
type: z.literal('attach_terminal_stream_response'),
|
|
1910
|
+
type: z.literal("kill_terminal_response"),
|
|
1867
1911
|
payload: z.object({
|
|
1868
1912
|
terminalId: z.string(),
|
|
1869
|
-
streamId: z.number().int().nonnegative().nullable(),
|
|
1870
|
-
replayedFrom: z.number().int().nonnegative(),
|
|
1871
|
-
currentOffset: z.number().int().nonnegative(),
|
|
1872
|
-
earliestAvailableOffset: z.number().int().nonnegative(),
|
|
1873
|
-
reset: z.boolean(),
|
|
1874
|
-
error: z.string().nullable(),
|
|
1875
|
-
requestId: z.string(),
|
|
1876
|
-
}),
|
|
1877
|
-
});
|
|
1878
|
-
export const DetachTerminalStreamResponseSchema = z.object({
|
|
1879
|
-
type: z.literal('detach_terminal_stream_response'),
|
|
1880
|
-
payload: z.object({
|
|
1881
|
-
streamId: z.number().int().nonnegative(),
|
|
1882
1913
|
success: z.boolean(),
|
|
1883
1914
|
requestId: z.string(),
|
|
1884
1915
|
}),
|
|
1885
1916
|
});
|
|
1886
1917
|
export const TerminalStreamExitSchema = z.object({
|
|
1887
|
-
type: z.literal(
|
|
1918
|
+
type: z.literal("terminal_stream_exit"),
|
|
1888
1919
|
payload: z.object({
|
|
1889
|
-
streamId: z.number().int().nonnegative(),
|
|
1890
1920
|
terminalId: z.string(),
|
|
1891
1921
|
}),
|
|
1892
1922
|
});
|
|
1893
|
-
export const SessionOutboundMessageSchema = z.discriminatedUnion(
|
|
1923
|
+
export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
|
|
1894
1924
|
ActivityLogMessageSchema,
|
|
1895
1925
|
AssistantChunkMessageSchema,
|
|
1896
1926
|
AudioOutputMessageSchema,
|
|
@@ -1940,6 +1970,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
1940
1970
|
DirectorySuggestionsResponseSchema,
|
|
1941
1971
|
PaseoWorktreeListResponseSchema,
|
|
1942
1972
|
PaseoWorktreeArchiveResponseSchema,
|
|
1973
|
+
CreatePaseoWorktreeResponseSchema,
|
|
1943
1974
|
FileExplorerResponseSchema,
|
|
1944
1975
|
ProjectIconResponseSchema,
|
|
1945
1976
|
FileDownloadTokenResponseSchema,
|
|
@@ -1952,10 +1983,7 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
1952
1983
|
TerminalsChangedSchema,
|
|
1953
1984
|
CreateTerminalResponseSchema,
|
|
1954
1985
|
SubscribeTerminalResponseSchema,
|
|
1955
|
-
TerminalOutputSchema,
|
|
1956
1986
|
KillTerminalResponseSchema,
|
|
1957
|
-
AttachTerminalStreamResponseSchema,
|
|
1958
|
-
DetachTerminalStreamResponseSchema,
|
|
1959
1987
|
TerminalStreamExitSchema,
|
|
1960
1988
|
]);
|
|
1961
1989
|
// ============================================================================
|
|
@@ -1963,15 +1991,15 @@ export const SessionOutboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
1963
1991
|
// ============================================================================
|
|
1964
1992
|
// WebSocket-only messages (not session messages)
|
|
1965
1993
|
export const WSPingMessageSchema = z.object({
|
|
1966
|
-
type: z.literal(
|
|
1994
|
+
type: z.literal("ping"),
|
|
1967
1995
|
});
|
|
1968
1996
|
export const WSPongMessageSchema = z.object({
|
|
1969
|
-
type: z.literal(
|
|
1997
|
+
type: z.literal("pong"),
|
|
1970
1998
|
});
|
|
1971
1999
|
export const WSHelloMessageSchema = z.object({
|
|
1972
|
-
type: z.literal(
|
|
2000
|
+
type: z.literal("hello"),
|
|
1973
2001
|
clientId: z.string().min(1),
|
|
1974
|
-
clientType: z.enum([
|
|
2002
|
+
clientType: z.enum(["mobile", "browser", "cli", "mcp"]),
|
|
1975
2003
|
protocolVersion: z.number().int(),
|
|
1976
2004
|
capabilities: z
|
|
1977
2005
|
.object({
|
|
@@ -1982,26 +2010,26 @@ export const WSHelloMessageSchema = z.object({
|
|
|
1982
2010
|
.optional(),
|
|
1983
2011
|
});
|
|
1984
2012
|
export const WSRecordingStateMessageSchema = z.object({
|
|
1985
|
-
type: z.literal(
|
|
2013
|
+
type: z.literal("recording_state"),
|
|
1986
2014
|
isRecording: z.boolean(),
|
|
1987
2015
|
});
|
|
1988
2016
|
// Wrapped session message
|
|
1989
2017
|
export const WSSessionInboundSchema = z.object({
|
|
1990
|
-
type: z.literal(
|
|
2018
|
+
type: z.literal("session"),
|
|
1991
2019
|
message: SessionInboundMessageSchema,
|
|
1992
2020
|
});
|
|
1993
2021
|
export const WSSessionOutboundSchema = z.object({
|
|
1994
|
-
type: z.literal(
|
|
2022
|
+
type: z.literal("session"),
|
|
1995
2023
|
message: SessionOutboundMessageSchema,
|
|
1996
2024
|
});
|
|
1997
2025
|
// Complete WebSocket message schemas
|
|
1998
|
-
export const WSInboundMessageSchema = z.discriminatedUnion(
|
|
2026
|
+
export const WSInboundMessageSchema = z.discriminatedUnion("type", [
|
|
1999
2027
|
WSPingMessageSchema,
|
|
2000
2028
|
WSHelloMessageSchema,
|
|
2001
2029
|
WSRecordingStateMessageSchema,
|
|
2002
2030
|
WSSessionInboundSchema,
|
|
2003
2031
|
]);
|
|
2004
|
-
export const WSOutboundMessageSchema = z.discriminatedUnion(
|
|
2032
|
+
export const WSOutboundMessageSchema = z.discriminatedUnion("type", [
|
|
2005
2033
|
WSPongMessageSchema,
|
|
2006
2034
|
WSSessionOutboundSchema,
|
|
2007
2035
|
]);
|
|
@@ -2013,7 +2041,7 @@ export const WSOutboundMessageSchema = z.discriminatedUnion('type', [
|
|
|
2013
2041
|
* Returns null if message should be handled at WS level only
|
|
2014
2042
|
*/
|
|
2015
2043
|
export function extractSessionMessage(wsMsg) {
|
|
2016
|
-
if (wsMsg.type ===
|
|
2044
|
+
if (wsMsg.type === "session") {
|
|
2017
2045
|
return wsMsg.message;
|
|
2018
2046
|
}
|
|
2019
2047
|
// Ping and recording_state are WS-level only
|
|
@@ -2024,7 +2052,7 @@ export function extractSessionMessage(wsMsg) {
|
|
|
2024
2052
|
*/
|
|
2025
2053
|
export function wrapSessionMessage(sessionMsg) {
|
|
2026
2054
|
return {
|
|
2027
|
-
type:
|
|
2055
|
+
type: "session",
|
|
2028
2056
|
message: sessionMsg,
|
|
2029
2057
|
};
|
|
2030
2058
|
}
|