@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
|
@@ -81,6 +81,9 @@ function normalizeCodexModelId(modelId) {
|
|
|
81
81
|
}
|
|
82
82
|
return normalized;
|
|
83
83
|
}
|
|
84
|
+
function normalizeCodexModelLabel(displayName) {
|
|
85
|
+
return displayName.replace(/\bgpt\b/gi, "GPT");
|
|
86
|
+
}
|
|
84
87
|
function mergeCodexConfiguredDefaults(primary, fallback) {
|
|
85
88
|
return {
|
|
86
89
|
model: primary.model ?? fallback.model,
|
|
@@ -208,9 +211,7 @@ async function listCodexCustomPrompts() {
|
|
|
208
211
|
}
|
|
209
212
|
const parsed = parseFrontMatter(content);
|
|
210
213
|
const description = parsed.frontMatter["description"] ?? "Custom prompt";
|
|
211
|
-
const argumentHint = parsed.frontMatter["argument-hint"] ??
|
|
212
|
-
parsed.frontMatter["argument_hint"] ??
|
|
213
|
-
"";
|
|
214
|
+
const argumentHint = parsed.frontMatter["argument-hint"] ?? parsed.frontMatter["argument_hint"] ?? "";
|
|
214
215
|
commands.push({
|
|
215
216
|
name: `prompts:${name}`,
|
|
216
217
|
description,
|
|
@@ -711,7 +712,9 @@ function parseCodexPatchChanges(changes) {
|
|
|
711
712
|
}
|
|
712
713
|
return {
|
|
713
714
|
path: normalizedPath,
|
|
714
|
-
kind: value &&
|
|
715
|
+
kind: value &&
|
|
716
|
+
typeof value === "object" &&
|
|
717
|
+
typeof value.type === "string"
|
|
715
718
|
? (value.type ?? undefined)
|
|
716
719
|
: undefined,
|
|
717
720
|
content: extractPatchLikeText(value),
|
|
@@ -744,10 +747,8 @@ function isEditToolCallWithoutContent(item) {
|
|
|
744
747
|
if (item.detail.type !== "edit") {
|
|
745
748
|
return false;
|
|
746
749
|
}
|
|
747
|
-
const hasDiff = typeof item.detail.unifiedDiff === "string" &&
|
|
748
|
-
|
|
749
|
-
const hasNewString = typeof item.detail.newString === "string" &&
|
|
750
|
-
item.detail.newString.trim().length > 0;
|
|
750
|
+
const hasDiff = typeof item.detail.unifiedDiff === "string" && item.detail.unifiedDiff.trim().length > 0;
|
|
751
|
+
const hasNewString = typeof item.detail.newString === "string" && item.detail.newString.trim().length > 0;
|
|
751
752
|
return !hasDiff && !hasNewString;
|
|
752
753
|
}
|
|
753
754
|
function decodeCodexOutputDeltaChunk(chunk) {
|
|
@@ -764,9 +765,7 @@ function decodeCodexOutputDeltaChunk(chunk) {
|
|
|
764
765
|
return chunk;
|
|
765
766
|
}
|
|
766
767
|
const normalizedInput = trimmed.replace(/=+$/, "");
|
|
767
|
-
const normalizedRoundTrip = Buffer.from(decoded, "utf8")
|
|
768
|
-
.toString("base64")
|
|
769
|
-
.replace(/=+$/, "");
|
|
768
|
+
const normalizedRoundTrip = Buffer.from(decoded, "utf8").toString("base64").replace(/=+$/, "");
|
|
770
769
|
return normalizedRoundTrip === normalizedInput ? decoded : chunk;
|
|
771
770
|
}
|
|
772
771
|
catch {
|
|
@@ -780,15 +779,12 @@ function mapCodexExecNotificationToToolCall(params) {
|
|
|
780
779
|
}
|
|
781
780
|
const isFailure = params.running
|
|
782
781
|
? false
|
|
783
|
-
: params.success === false ||
|
|
784
|
-
(typeof params.exitCode === "number" && params.exitCode !== 0);
|
|
782
|
+
: params.success === false || (typeof params.exitCode === "number" && params.exitCode !== 0);
|
|
785
783
|
const output = params.running
|
|
786
784
|
? null
|
|
787
785
|
: {
|
|
788
786
|
command,
|
|
789
|
-
...(params.output !== null && params.output !== undefined
|
|
790
|
-
? { output: params.output }
|
|
791
|
-
: {}),
|
|
787
|
+
...(params.output !== null && params.output !== undefined ? { output: params.output } : {}),
|
|
792
788
|
...(params.exitCode !== null && params.exitCode !== undefined
|
|
793
789
|
? { exitCode: params.exitCode }
|
|
794
790
|
: {}),
|
|
@@ -801,9 +797,7 @@ function mapCodexExecNotificationToToolCall(params) {
|
|
|
801
797
|
...(params.cwd ? { cwd: params.cwd } : {}),
|
|
802
798
|
},
|
|
803
799
|
output,
|
|
804
|
-
error: isFailure
|
|
805
|
-
? { message: params.stderr?.trim() || "Command failed" }
|
|
806
|
-
: null,
|
|
800
|
+
error: isFailure ? { message: params.stderr?.trim() || "Command failed" } : null,
|
|
807
801
|
cwd: params.cwd ?? null,
|
|
808
802
|
});
|
|
809
803
|
if (!mapped) {
|
|
@@ -864,7 +858,7 @@ function mapCodexTerminalInteractionToToolCall(params) {
|
|
|
864
858
|
const processId = nonEmptyString(params.processId ?? undefined);
|
|
865
859
|
const callId = processId
|
|
866
860
|
? `terminal-session-${processId}`
|
|
867
|
-
: nonEmptyString(params.fallbackCallId ?? undefined) ?? "terminal-interaction";
|
|
861
|
+
: (nonEmptyString(params.fallbackCallId ?? undefined) ?? "terminal-interaction");
|
|
868
862
|
const label = nonEmptyString(params.command ?? undefined);
|
|
869
863
|
return {
|
|
870
864
|
type: "tool_call",
|
|
@@ -963,13 +957,18 @@ function normalizeImageData(mimeType, data) {
|
|
|
963
957
|
}
|
|
964
958
|
return { mimeType, data };
|
|
965
959
|
}
|
|
966
|
-
const ThreadStartedNotificationSchema = z
|
|
960
|
+
const ThreadStartedNotificationSchema = z
|
|
961
|
+
.object({
|
|
967
962
|
thread: z.object({ id: z.string() }).passthrough(),
|
|
968
|
-
})
|
|
969
|
-
|
|
963
|
+
})
|
|
964
|
+
.passthrough();
|
|
965
|
+
const TurnStartedNotificationSchema = z
|
|
966
|
+
.object({
|
|
970
967
|
turn: z.object({ id: z.string() }).passthrough(),
|
|
971
|
-
})
|
|
972
|
-
|
|
968
|
+
})
|
|
969
|
+
.passthrough();
|
|
970
|
+
const TurnCompletedNotificationSchema = z
|
|
971
|
+
.object({
|
|
973
972
|
turn: z
|
|
974
973
|
.object({
|
|
975
974
|
status: z.string(),
|
|
@@ -982,49 +981,65 @@ const TurnCompletedNotificationSchema = z.object({
|
|
|
982
981
|
.optional(),
|
|
983
982
|
})
|
|
984
983
|
.passthrough(),
|
|
985
|
-
})
|
|
986
|
-
|
|
984
|
+
})
|
|
985
|
+
.passthrough();
|
|
986
|
+
const TurnPlanUpdatedNotificationSchema = z
|
|
987
|
+
.object({
|
|
987
988
|
plan: z.array(z
|
|
988
989
|
.object({
|
|
989
990
|
step: z.string().optional(),
|
|
990
991
|
status: z.string().optional(),
|
|
991
992
|
})
|
|
992
993
|
.passthrough()),
|
|
993
|
-
})
|
|
994
|
-
|
|
994
|
+
})
|
|
995
|
+
.passthrough();
|
|
996
|
+
const TurnDiffUpdatedNotificationSchema = z
|
|
997
|
+
.object({
|
|
995
998
|
diff: z.string(),
|
|
996
|
-
})
|
|
997
|
-
|
|
999
|
+
})
|
|
1000
|
+
.passthrough();
|
|
1001
|
+
const ThreadTokenUsageUpdatedNotificationSchema = z
|
|
1002
|
+
.object({
|
|
998
1003
|
tokenUsage: z.unknown(),
|
|
999
|
-
})
|
|
1000
|
-
|
|
1004
|
+
})
|
|
1005
|
+
.passthrough();
|
|
1006
|
+
const ItemTextDeltaNotificationSchema = z
|
|
1007
|
+
.object({
|
|
1001
1008
|
itemId: z.string(),
|
|
1002
1009
|
delta: z.string(),
|
|
1003
|
-
})
|
|
1004
|
-
|
|
1010
|
+
})
|
|
1011
|
+
.passthrough();
|
|
1012
|
+
const ItemLifecycleNotificationSchema = z
|
|
1013
|
+
.object({
|
|
1005
1014
|
item: z
|
|
1006
1015
|
.object({
|
|
1007
1016
|
id: z.string().optional(),
|
|
1008
1017
|
type: z.string().optional(),
|
|
1009
1018
|
})
|
|
1010
1019
|
.passthrough(),
|
|
1011
|
-
})
|
|
1012
|
-
|
|
1020
|
+
})
|
|
1021
|
+
.passthrough();
|
|
1022
|
+
const CodexEventTurnAbortedNotificationSchema = z
|
|
1023
|
+
.object({
|
|
1013
1024
|
msg: z
|
|
1014
1025
|
.object({
|
|
1015
1026
|
type: z.literal("turn_aborted"),
|
|
1016
1027
|
reason: z.string().optional(),
|
|
1017
1028
|
})
|
|
1018
1029
|
.passthrough(),
|
|
1019
|
-
})
|
|
1020
|
-
|
|
1030
|
+
})
|
|
1031
|
+
.passthrough();
|
|
1032
|
+
const CodexEventTaskCompleteNotificationSchema = z
|
|
1033
|
+
.object({
|
|
1021
1034
|
msg: z
|
|
1022
1035
|
.object({
|
|
1023
1036
|
type: z.literal("task_complete"),
|
|
1024
1037
|
})
|
|
1025
1038
|
.passthrough(),
|
|
1026
|
-
})
|
|
1027
|
-
|
|
1039
|
+
})
|
|
1040
|
+
.passthrough();
|
|
1041
|
+
const CodexEventItemLifecycleNotificationSchema = z
|
|
1042
|
+
.object({
|
|
1028
1043
|
msg: z
|
|
1029
1044
|
.object({
|
|
1030
1045
|
type: z.enum(["item_started", "item_completed"]),
|
|
@@ -1036,8 +1051,10 @@ const CodexEventItemLifecycleNotificationSchema = z.object({
|
|
|
1036
1051
|
.passthrough(),
|
|
1037
1052
|
})
|
|
1038
1053
|
.passthrough(),
|
|
1039
|
-
})
|
|
1040
|
-
|
|
1054
|
+
})
|
|
1055
|
+
.passthrough();
|
|
1056
|
+
const CodexEventExecCommandBeginNotificationSchema = z
|
|
1057
|
+
.object({
|
|
1041
1058
|
msg: z
|
|
1042
1059
|
.object({
|
|
1043
1060
|
type: z.literal("exec_command_begin"),
|
|
@@ -1046,8 +1063,10 @@ const CodexEventExecCommandBeginNotificationSchema = z.object({
|
|
|
1046
1063
|
cwd: z.string().optional(),
|
|
1047
1064
|
})
|
|
1048
1065
|
.passthrough(),
|
|
1049
|
-
})
|
|
1050
|
-
|
|
1066
|
+
})
|
|
1067
|
+
.passthrough();
|
|
1068
|
+
const CodexEventExecCommandEndNotificationSchema = z
|
|
1069
|
+
.object({
|
|
1051
1070
|
msg: z
|
|
1052
1071
|
.object({
|
|
1053
1072
|
type: z.literal("exec_command_end"),
|
|
@@ -1064,8 +1083,10 @@ const CodexEventExecCommandEndNotificationSchema = z.object({
|
|
|
1064
1083
|
success: z.boolean().optional(),
|
|
1065
1084
|
})
|
|
1066
1085
|
.passthrough(),
|
|
1067
|
-
})
|
|
1068
|
-
|
|
1086
|
+
})
|
|
1087
|
+
.passthrough();
|
|
1088
|
+
const CodexEventExecCommandOutputDeltaNotificationSchema = z
|
|
1089
|
+
.object({
|
|
1069
1090
|
msg: z
|
|
1070
1091
|
.object({
|
|
1071
1092
|
type: z.literal("exec_command_output_delta"),
|
|
@@ -1075,8 +1096,10 @@ const CodexEventExecCommandOutputDeltaNotificationSchema = z.object({
|
|
|
1075
1096
|
delta: z.string().optional(),
|
|
1076
1097
|
})
|
|
1077
1098
|
.passthrough(),
|
|
1078
|
-
})
|
|
1079
|
-
|
|
1099
|
+
})
|
|
1100
|
+
.passthrough();
|
|
1101
|
+
const CodexEventTerminalInteractionNotificationSchema = z
|
|
1102
|
+
.object({
|
|
1080
1103
|
msg: z
|
|
1081
1104
|
.object({
|
|
1082
1105
|
type: z.literal("terminal_interaction"),
|
|
@@ -1085,13 +1108,17 @@ const CodexEventTerminalInteractionNotificationSchema = z.object({
|
|
|
1085
1108
|
stdin: z.string().optional(),
|
|
1086
1109
|
})
|
|
1087
1110
|
.passthrough(),
|
|
1088
|
-
})
|
|
1089
|
-
|
|
1111
|
+
})
|
|
1112
|
+
.passthrough();
|
|
1113
|
+
const ItemCommandExecutionTerminalInteractionNotificationSchema = z
|
|
1114
|
+
.object({
|
|
1090
1115
|
itemId: z.string().optional(),
|
|
1091
1116
|
processId: z.union([z.string(), z.number()]).optional(),
|
|
1092
1117
|
stdin: z.string().optional(),
|
|
1093
|
-
})
|
|
1094
|
-
|
|
1118
|
+
})
|
|
1119
|
+
.passthrough();
|
|
1120
|
+
const CodexEventPatchApplyBeginNotificationSchema = z
|
|
1121
|
+
.object({
|
|
1095
1122
|
msg: z
|
|
1096
1123
|
.object({
|
|
1097
1124
|
type: z.literal("patch_apply_begin"),
|
|
@@ -1099,8 +1126,10 @@ const CodexEventPatchApplyBeginNotificationSchema = z.object({
|
|
|
1099
1126
|
changes: z.unknown().optional(),
|
|
1100
1127
|
})
|
|
1101
1128
|
.passthrough(),
|
|
1102
|
-
})
|
|
1103
|
-
|
|
1129
|
+
})
|
|
1130
|
+
.passthrough();
|
|
1131
|
+
const CodexEventPatchApplyEndNotificationSchema = z
|
|
1132
|
+
.object({
|
|
1104
1133
|
msg: z
|
|
1105
1134
|
.object({
|
|
1106
1135
|
type: z.literal("patch_apply_end"),
|
|
@@ -1111,13 +1140,17 @@ const CodexEventPatchApplyEndNotificationSchema = z.object({
|
|
|
1111
1140
|
success: z.boolean().optional(),
|
|
1112
1141
|
})
|
|
1113
1142
|
.passthrough(),
|
|
1114
|
-
})
|
|
1115
|
-
|
|
1143
|
+
})
|
|
1144
|
+
.passthrough();
|
|
1145
|
+
const ItemFileChangeOutputDeltaNotificationSchema = z
|
|
1146
|
+
.object({
|
|
1116
1147
|
itemId: z.string(),
|
|
1117
1148
|
delta: z.string().optional(),
|
|
1118
1149
|
chunk: z.string().optional(),
|
|
1119
|
-
})
|
|
1120
|
-
|
|
1150
|
+
})
|
|
1151
|
+
.passthrough();
|
|
1152
|
+
const CodexEventTurnDiffNotificationSchema = z
|
|
1153
|
+
.object({
|
|
1121
1154
|
msg: z
|
|
1122
1155
|
.object({
|
|
1123
1156
|
type: z.literal("turn_diff"),
|
|
@@ -1125,84 +1158,182 @@ const CodexEventTurnDiffNotificationSchema = z.object({
|
|
|
1125
1158
|
diff: z.string().optional(),
|
|
1126
1159
|
})
|
|
1127
1160
|
.passthrough(),
|
|
1128
|
-
})
|
|
1161
|
+
})
|
|
1162
|
+
.passthrough();
|
|
1129
1163
|
const CodexNotificationSchema = z.union([
|
|
1130
|
-
z
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1164
|
+
z
|
|
1165
|
+
.object({ method: z.literal("thread/started"), params: ThreadStartedNotificationSchema })
|
|
1166
|
+
.transform(({ params }) => ({
|
|
1167
|
+
kind: "thread_started",
|
|
1168
|
+
threadId: params.thread.id,
|
|
1169
|
+
})),
|
|
1170
|
+
z.object({ method: z.literal("thread/started"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1171
|
+
kind: "invalid_payload",
|
|
1172
|
+
method,
|
|
1173
|
+
params,
|
|
1174
|
+
})),
|
|
1175
|
+
z
|
|
1176
|
+
.object({ method: z.literal("turn/started"), params: TurnStartedNotificationSchema })
|
|
1177
|
+
.transform(({ params }) => ({ kind: "turn_started", turnId: params.turn.id })),
|
|
1178
|
+
z.object({ method: z.literal("turn/started"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1179
|
+
kind: "invalid_payload",
|
|
1180
|
+
method,
|
|
1181
|
+
params,
|
|
1182
|
+
})),
|
|
1183
|
+
z
|
|
1184
|
+
.object({ method: z.literal("turn/completed"), params: TurnCompletedNotificationSchema })
|
|
1185
|
+
.transform(({ params }) => ({
|
|
1135
1186
|
kind: "turn_completed",
|
|
1136
1187
|
status: params.turn.status,
|
|
1137
1188
|
errorMessage: params.turn.error?.message ?? null,
|
|
1138
1189
|
})),
|
|
1139
|
-
z.object({ method: z.literal("turn/completed"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1140
|
-
|
|
1190
|
+
z.object({ method: z.literal("turn/completed"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1191
|
+
kind: "invalid_payload",
|
|
1192
|
+
method,
|
|
1193
|
+
params,
|
|
1194
|
+
})),
|
|
1195
|
+
z
|
|
1196
|
+
.object({ method: z.literal("turn/plan/updated"), params: TurnPlanUpdatedNotificationSchema })
|
|
1197
|
+
.transform(({ params }) => ({
|
|
1141
1198
|
kind: "plan_updated",
|
|
1142
1199
|
plan: params.plan.map((entry) => ({
|
|
1143
1200
|
step: entry.step ?? null,
|
|
1144
1201
|
status: entry.status ?? null,
|
|
1145
1202
|
})),
|
|
1146
1203
|
})),
|
|
1147
|
-
z.object({ method: z.literal("turn/plan/updated"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1204
|
+
z.object({ method: z.literal("turn/plan/updated"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1205
|
+
kind: "invalid_payload",
|
|
1206
|
+
method,
|
|
1207
|
+
params,
|
|
1208
|
+
})),
|
|
1209
|
+
z
|
|
1210
|
+
.object({ method: z.literal("turn/diff/updated"), params: TurnDiffUpdatedNotificationSchema })
|
|
1211
|
+
.transform(({ params }) => ({ kind: "diff_updated", diff: params.diff })),
|
|
1212
|
+
z.object({ method: z.literal("turn/diff/updated"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1213
|
+
kind: "invalid_payload",
|
|
1214
|
+
method,
|
|
1215
|
+
params,
|
|
1216
|
+
})),
|
|
1217
|
+
z
|
|
1218
|
+
.object({
|
|
1151
1219
|
method: z.literal("thread/tokenUsage/updated"),
|
|
1152
1220
|
params: ThreadTokenUsageUpdatedNotificationSchema,
|
|
1153
|
-
})
|
|
1154
|
-
|
|
1155
|
-
|
|
1221
|
+
})
|
|
1222
|
+
.transform(({ params }) => ({
|
|
1223
|
+
kind: "token_usage_updated",
|
|
1224
|
+
tokenUsage: params.tokenUsage,
|
|
1225
|
+
})),
|
|
1226
|
+
z.object({ method: z.literal("thread/tokenUsage/updated"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1227
|
+
kind: "invalid_payload",
|
|
1228
|
+
method,
|
|
1229
|
+
params,
|
|
1230
|
+
})),
|
|
1231
|
+
z
|
|
1232
|
+
.object({
|
|
1233
|
+
method: z.literal("item/agentMessage/delta"),
|
|
1234
|
+
params: ItemTextDeltaNotificationSchema,
|
|
1235
|
+
})
|
|
1236
|
+
.transform(({ params }) => ({
|
|
1156
1237
|
kind: "agent_message_delta",
|
|
1157
1238
|
itemId: params.itemId,
|
|
1158
1239
|
delta: params.delta,
|
|
1159
1240
|
})),
|
|
1160
|
-
z.object({ method: z.literal("item/agentMessage/delta"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1161
|
-
|
|
1241
|
+
z.object({ method: z.literal("item/agentMessage/delta"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1242
|
+
kind: "invalid_payload",
|
|
1243
|
+
method,
|
|
1244
|
+
params,
|
|
1245
|
+
})),
|
|
1246
|
+
z
|
|
1247
|
+
.object({
|
|
1162
1248
|
method: z.literal("item/reasoning/summaryTextDelta"),
|
|
1163
1249
|
params: ItemTextDeltaNotificationSchema,
|
|
1164
|
-
})
|
|
1250
|
+
})
|
|
1251
|
+
.transform(({ params }) => ({
|
|
1165
1252
|
kind: "reasoning_delta",
|
|
1166
1253
|
itemId: params.itemId,
|
|
1167
1254
|
delta: params.delta,
|
|
1168
1255
|
})),
|
|
1169
|
-
z.object({ method: z.literal("item/reasoning/summaryTextDelta"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
z
|
|
1256
|
+
z.object({ method: z.literal("item/reasoning/summaryTextDelta"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1257
|
+
kind: "invalid_payload",
|
|
1258
|
+
method,
|
|
1259
|
+
params,
|
|
1260
|
+
})),
|
|
1261
|
+
z
|
|
1262
|
+
.object({ method: z.literal("item/completed"), params: ItemLifecycleNotificationSchema })
|
|
1263
|
+
.transform(({ params }) => ({
|
|
1264
|
+
kind: "item_completed",
|
|
1265
|
+
source: "item",
|
|
1266
|
+
item: params.item,
|
|
1267
|
+
})),
|
|
1268
|
+
z.object({ method: z.literal("item/completed"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1269
|
+
kind: "invalid_payload",
|
|
1270
|
+
method,
|
|
1271
|
+
params,
|
|
1272
|
+
})),
|
|
1273
|
+
z
|
|
1274
|
+
.object({ method: z.literal("item/started"), params: ItemLifecycleNotificationSchema })
|
|
1275
|
+
.transform(({ params }) => ({
|
|
1276
|
+
kind: "item_started",
|
|
1277
|
+
source: "item",
|
|
1278
|
+
item: params.item,
|
|
1279
|
+
})),
|
|
1280
|
+
z.object({ method: z.literal("item/started"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1281
|
+
kind: "invalid_payload",
|
|
1282
|
+
method,
|
|
1283
|
+
params,
|
|
1284
|
+
})),
|
|
1285
|
+
z
|
|
1286
|
+
.object({
|
|
1175
1287
|
method: z.literal("codex/event/item_started"),
|
|
1176
1288
|
params: CodexEventItemLifecycleNotificationSchema,
|
|
1177
|
-
})
|
|
1289
|
+
})
|
|
1290
|
+
.transform(({ params }) => ({
|
|
1178
1291
|
kind: "item_started",
|
|
1179
1292
|
source: "codex_event",
|
|
1180
1293
|
item: params.msg.item,
|
|
1181
1294
|
})),
|
|
1182
|
-
z.object({ method: z.literal("codex/event/item_started"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1183
|
-
|
|
1295
|
+
z.object({ method: z.literal("codex/event/item_started"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1296
|
+
kind: "invalid_payload",
|
|
1297
|
+
method,
|
|
1298
|
+
params,
|
|
1299
|
+
})),
|
|
1300
|
+
z
|
|
1301
|
+
.object({
|
|
1184
1302
|
method: z.literal("codex/event/item_completed"),
|
|
1185
1303
|
params: CodexEventItemLifecycleNotificationSchema,
|
|
1186
|
-
})
|
|
1304
|
+
})
|
|
1305
|
+
.transform(({ params }) => ({
|
|
1187
1306
|
kind: "item_completed",
|
|
1188
1307
|
source: "codex_event",
|
|
1189
1308
|
item: params.msg.item,
|
|
1190
1309
|
})),
|
|
1191
|
-
z.object({ method: z.literal("codex/event/item_completed"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1192
|
-
|
|
1310
|
+
z.object({ method: z.literal("codex/event/item_completed"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1311
|
+
kind: "invalid_payload",
|
|
1312
|
+
method,
|
|
1313
|
+
params,
|
|
1314
|
+
})),
|
|
1315
|
+
z
|
|
1316
|
+
.object({
|
|
1193
1317
|
method: z.literal("codex/event/exec_command_begin"),
|
|
1194
1318
|
params: CodexEventExecCommandBeginNotificationSchema,
|
|
1195
|
-
})
|
|
1319
|
+
})
|
|
1320
|
+
.transform(({ params }) => ({
|
|
1196
1321
|
kind: "exec_command_started",
|
|
1197
1322
|
callId: params.msg.call_id ?? null,
|
|
1198
1323
|
command: params.msg.command ?? null,
|
|
1199
1324
|
cwd: params.msg.cwd ?? null,
|
|
1200
1325
|
})),
|
|
1201
|
-
z.object({ method: z.literal("codex/event/exec_command_begin"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1202
|
-
|
|
1326
|
+
z.object({ method: z.literal("codex/event/exec_command_begin"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1327
|
+
kind: "invalid_payload",
|
|
1328
|
+
method,
|
|
1329
|
+
params,
|
|
1330
|
+
})),
|
|
1331
|
+
z
|
|
1332
|
+
.object({
|
|
1203
1333
|
method: z.literal("codex/event/exec_command_end"),
|
|
1204
1334
|
params: CodexEventExecCommandEndNotificationSchema,
|
|
1205
|
-
})
|
|
1335
|
+
})
|
|
1336
|
+
.transform(({ params }) => ({
|
|
1206
1337
|
kind: "exec_command_completed",
|
|
1207
1338
|
callId: params.msg.call_id ?? null,
|
|
1208
1339
|
command: params.msg.command ?? null,
|
|
@@ -1216,62 +1347,98 @@ const CodexNotificationSchema = z.union([
|
|
|
1216
1347
|
success: params.msg.success ?? null,
|
|
1217
1348
|
stderr: params.msg.stderr ?? null,
|
|
1218
1349
|
})),
|
|
1219
|
-
z.object({ method: z.literal("codex/event/exec_command_end"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1220
|
-
|
|
1350
|
+
z.object({ method: z.literal("codex/event/exec_command_end"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1351
|
+
kind: "invalid_payload",
|
|
1352
|
+
method,
|
|
1353
|
+
params,
|
|
1354
|
+
})),
|
|
1355
|
+
z
|
|
1356
|
+
.object({
|
|
1221
1357
|
method: z.literal("codex/event/exec_command_output_delta"),
|
|
1222
1358
|
params: CodexEventExecCommandOutputDeltaNotificationSchema,
|
|
1223
|
-
})
|
|
1359
|
+
})
|
|
1360
|
+
.transform(({ params }) => ({
|
|
1224
1361
|
kind: "exec_command_output_delta",
|
|
1225
1362
|
callId: params.msg.call_id ?? null,
|
|
1226
1363
|
stream: params.msg.stream ?? null,
|
|
1227
1364
|
chunk: params.msg.chunk ?? params.msg.delta ?? null,
|
|
1228
1365
|
})),
|
|
1229
|
-
z
|
|
1366
|
+
z
|
|
1367
|
+
.object({
|
|
1230
1368
|
method: z.literal("codex/event/exec_command_output_delta"),
|
|
1231
1369
|
params: z.unknown(),
|
|
1232
|
-
})
|
|
1233
|
-
|
|
1370
|
+
})
|
|
1371
|
+
.transform(({ method, params }) => ({
|
|
1372
|
+
kind: "invalid_payload",
|
|
1373
|
+
method,
|
|
1374
|
+
params,
|
|
1375
|
+
})),
|
|
1376
|
+
z
|
|
1377
|
+
.object({
|
|
1234
1378
|
method: z.literal("codex/event/terminal_interaction"),
|
|
1235
1379
|
params: CodexEventTerminalInteractionNotificationSchema,
|
|
1236
|
-
})
|
|
1380
|
+
})
|
|
1381
|
+
.transform(({ params }) => ({
|
|
1237
1382
|
kind: "terminal_interaction",
|
|
1238
1383
|
source: "codex_event",
|
|
1239
1384
|
callId: params.msg.call_id ?? null,
|
|
1240
1385
|
processId: typeof params.msg.process_id === "number"
|
|
1241
1386
|
? String(params.msg.process_id)
|
|
1242
|
-
: params.msg.process_id ?? null,
|
|
1387
|
+
: (params.msg.process_id ?? null),
|
|
1243
1388
|
stdin: params.msg.stdin ?? null,
|
|
1244
1389
|
})),
|
|
1245
|
-
z
|
|
1246
|
-
|
|
1390
|
+
z
|
|
1391
|
+
.object({ method: z.literal("codex/event/terminal_interaction"), params: z.unknown() })
|
|
1392
|
+
.transform(({ method, params }) => ({
|
|
1393
|
+
kind: "invalid_payload",
|
|
1394
|
+
method,
|
|
1395
|
+
params,
|
|
1396
|
+
})),
|
|
1397
|
+
z
|
|
1398
|
+
.object({
|
|
1247
1399
|
method: z.literal("item/commandExecution/terminalInteraction"),
|
|
1248
1400
|
params: ItemCommandExecutionTerminalInteractionNotificationSchema,
|
|
1249
|
-
})
|
|
1401
|
+
})
|
|
1402
|
+
.transform(({ params }) => ({
|
|
1250
1403
|
kind: "terminal_interaction",
|
|
1251
1404
|
source: "item",
|
|
1252
1405
|
callId: params.itemId ?? null,
|
|
1253
1406
|
processId: typeof params.processId === "number"
|
|
1254
1407
|
? String(params.processId)
|
|
1255
|
-
: params.processId ?? null,
|
|
1408
|
+
: (params.processId ?? null),
|
|
1256
1409
|
stdin: params.stdin ?? null,
|
|
1257
1410
|
})),
|
|
1258
|
-
z
|
|
1411
|
+
z
|
|
1412
|
+
.object({
|
|
1259
1413
|
method: z.literal("item/commandExecution/terminalInteraction"),
|
|
1260
1414
|
params: z.unknown(),
|
|
1261
|
-
})
|
|
1262
|
-
|
|
1415
|
+
})
|
|
1416
|
+
.transform(({ method, params }) => ({
|
|
1417
|
+
kind: "invalid_payload",
|
|
1418
|
+
method,
|
|
1419
|
+
params,
|
|
1420
|
+
})),
|
|
1421
|
+
z
|
|
1422
|
+
.object({
|
|
1263
1423
|
method: z.literal("codex/event/patch_apply_begin"),
|
|
1264
1424
|
params: CodexEventPatchApplyBeginNotificationSchema,
|
|
1265
|
-
})
|
|
1425
|
+
})
|
|
1426
|
+
.transform(({ params }) => ({
|
|
1266
1427
|
kind: "patch_apply_started",
|
|
1267
1428
|
callId: params.msg.call_id ?? null,
|
|
1268
1429
|
changes: params.msg.changes ?? null,
|
|
1269
1430
|
})),
|
|
1270
|
-
z.object({ method: z.literal("codex/event/patch_apply_begin"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1271
|
-
|
|
1431
|
+
z.object({ method: z.literal("codex/event/patch_apply_begin"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1432
|
+
kind: "invalid_payload",
|
|
1433
|
+
method,
|
|
1434
|
+
params,
|
|
1435
|
+
})),
|
|
1436
|
+
z
|
|
1437
|
+
.object({
|
|
1272
1438
|
method: z.literal("codex/event/patch_apply_end"),
|
|
1273
1439
|
params: CodexEventPatchApplyEndNotificationSchema,
|
|
1274
|
-
})
|
|
1440
|
+
})
|
|
1441
|
+
.transform(({ params }) => ({
|
|
1275
1442
|
kind: "patch_apply_completed",
|
|
1276
1443
|
callId: params.msg.call_id ?? null,
|
|
1277
1444
|
changes: params.msg.changes ?? null,
|
|
@@ -1279,43 +1446,73 @@ const CodexNotificationSchema = z.union([
|
|
|
1279
1446
|
stderr: params.msg.stderr ?? null,
|
|
1280
1447
|
success: params.msg.success ?? null,
|
|
1281
1448
|
})),
|
|
1282
|
-
z.object({ method: z.literal("codex/event/patch_apply_end"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1283
|
-
|
|
1449
|
+
z.object({ method: z.literal("codex/event/patch_apply_end"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1450
|
+
kind: "invalid_payload",
|
|
1451
|
+
method,
|
|
1452
|
+
params,
|
|
1453
|
+
})),
|
|
1454
|
+
z
|
|
1455
|
+
.object({
|
|
1284
1456
|
method: z.literal("item/fileChange/outputDelta"),
|
|
1285
1457
|
params: ItemFileChangeOutputDeltaNotificationSchema,
|
|
1286
|
-
})
|
|
1458
|
+
})
|
|
1459
|
+
.transform(({ params }) => ({
|
|
1287
1460
|
kind: "file_change_output_delta",
|
|
1288
1461
|
itemId: params.itemId,
|
|
1289
1462
|
delta: params.delta ?? params.chunk ?? null,
|
|
1290
1463
|
})),
|
|
1291
|
-
z.object({ method: z.literal("item/fileChange/outputDelta"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1292
|
-
|
|
1464
|
+
z.object({ method: z.literal("item/fileChange/outputDelta"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1465
|
+
kind: "invalid_payload",
|
|
1466
|
+
method,
|
|
1467
|
+
params,
|
|
1468
|
+
})),
|
|
1469
|
+
z
|
|
1470
|
+
.object({
|
|
1293
1471
|
method: z.literal("codex/event/turn_diff"),
|
|
1294
1472
|
params: CodexEventTurnDiffNotificationSchema,
|
|
1295
|
-
})
|
|
1473
|
+
})
|
|
1474
|
+
.transform(({ params }) => ({
|
|
1296
1475
|
kind: "diff_updated",
|
|
1297
1476
|
diff: params.msg.unified_diff ?? params.msg.diff ?? "",
|
|
1298
1477
|
})),
|
|
1299
|
-
z.object({ method: z.literal("codex/event/turn_diff"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1300
|
-
|
|
1478
|
+
z.object({ method: z.literal("codex/event/turn_diff"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1479
|
+
kind: "invalid_payload",
|
|
1480
|
+
method,
|
|
1481
|
+
params,
|
|
1482
|
+
})),
|
|
1483
|
+
z
|
|
1484
|
+
.object({
|
|
1301
1485
|
method: z.literal("codex/event/turn_aborted"),
|
|
1302
1486
|
params: CodexEventTurnAbortedNotificationSchema,
|
|
1303
|
-
})
|
|
1487
|
+
})
|
|
1488
|
+
.transform(() => ({
|
|
1304
1489
|
kind: "turn_completed",
|
|
1305
1490
|
status: "interrupted",
|
|
1306
1491
|
errorMessage: null,
|
|
1307
1492
|
})),
|
|
1308
|
-
z.object({ method: z.literal("codex/event/turn_aborted"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1309
|
-
|
|
1493
|
+
z.object({ method: z.literal("codex/event/turn_aborted"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1494
|
+
kind: "invalid_payload",
|
|
1495
|
+
method,
|
|
1496
|
+
params,
|
|
1497
|
+
})),
|
|
1498
|
+
z
|
|
1499
|
+
.object({
|
|
1310
1500
|
method: z.literal("codex/event/task_complete"),
|
|
1311
1501
|
params: CodexEventTaskCompleteNotificationSchema,
|
|
1312
|
-
})
|
|
1502
|
+
})
|
|
1503
|
+
.transform(() => ({
|
|
1313
1504
|
kind: "turn_completed",
|
|
1314
1505
|
status: "completed",
|
|
1315
1506
|
errorMessage: null,
|
|
1316
1507
|
})),
|
|
1317
|
-
z.object({ method: z.literal("codex/event/task_complete"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1318
|
-
|
|
1508
|
+
z.object({ method: z.literal("codex/event/task_complete"), params: z.unknown() }).transform(({ method, params }) => ({
|
|
1509
|
+
kind: "invalid_payload",
|
|
1510
|
+
method,
|
|
1511
|
+
params,
|
|
1512
|
+
})),
|
|
1513
|
+
z
|
|
1514
|
+
.object({ method: z.string(), params: z.unknown() })
|
|
1515
|
+
.transform(({ method, params }) => ({ kind: "unknown_method", method, params })),
|
|
1319
1516
|
]);
|
|
1320
1517
|
async function writeImageAttachment(mimeType, data) {
|
|
1321
1518
|
const attachmentsDir = path.join(os.tmpdir(), CODEX_IMAGE_ATTACHMENT_DIR);
|
|
@@ -1628,15 +1825,11 @@ class CodexAppServerAgentSession {
|
|
|
1628
1825
|
}
|
|
1629
1826
|
const withoutPrefix = trimmed.slice(1);
|
|
1630
1827
|
const firstWhitespaceIdx = withoutPrefix.search(/\s/);
|
|
1631
|
-
const commandName = firstWhitespaceIdx === -1
|
|
1632
|
-
? withoutPrefix
|
|
1633
|
-
: withoutPrefix.slice(0, firstWhitespaceIdx);
|
|
1828
|
+
const commandName = firstWhitespaceIdx === -1 ? withoutPrefix : withoutPrefix.slice(0, firstWhitespaceIdx);
|
|
1634
1829
|
if (!commandName || commandName.includes("/")) {
|
|
1635
1830
|
return null;
|
|
1636
1831
|
}
|
|
1637
|
-
const rawArgs = firstWhitespaceIdx === -1
|
|
1638
|
-
? ""
|
|
1639
|
-
: withoutPrefix.slice(firstWhitespaceIdx + 1).trim();
|
|
1832
|
+
const rawArgs = firstWhitespaceIdx === -1 ? "" : withoutPrefix.slice(firstWhitespaceIdx + 1).trim();
|
|
1640
1833
|
return rawArgs.length > 0 ? { commandName, args: rawArgs } : { commandName };
|
|
1641
1834
|
}
|
|
1642
1835
|
async resolveSlashCommandInvocation(prompt) {
|
|
@@ -1649,9 +1842,7 @@ class CodexAppServerAgentSession {
|
|
|
1649
1842
|
}
|
|
1650
1843
|
try {
|
|
1651
1844
|
const commands = await this.listCommands();
|
|
1652
|
-
return commands.some((command) => command.name === parsed.commandName)
|
|
1653
|
-
? parsed
|
|
1654
|
-
: null;
|
|
1845
|
+
return commands.some((command) => command.name === parsed.commandName) ? parsed : null;
|
|
1655
1846
|
}
|
|
1656
1847
|
catch (error) {
|
|
1657
1848
|
this.logger.warn({ err: error, commandName: parsed.commandName }, "Failed to resolve slash command; falling back to plain prompt input");
|
|
@@ -1915,20 +2106,12 @@ class CodexAppServerAgentSession {
|
|
|
1915
2106
|
resolution: response,
|
|
1916
2107
|
});
|
|
1917
2108
|
if (pending.kind === "command") {
|
|
1918
|
-
const decision = response.behavior === "allow"
|
|
1919
|
-
? "accept"
|
|
1920
|
-
: response.interrupt
|
|
1921
|
-
? "cancel"
|
|
1922
|
-
: "decline";
|
|
2109
|
+
const decision = response.behavior === "allow" ? "accept" : response.interrupt ? "cancel" : "decline";
|
|
1923
2110
|
pending.resolve({ decision });
|
|
1924
2111
|
return;
|
|
1925
2112
|
}
|
|
1926
2113
|
if (pending.kind === "file") {
|
|
1927
|
-
const decision = response.behavior === "allow"
|
|
1928
|
-
? "accept"
|
|
1929
|
-
: response.interrupt
|
|
1930
|
-
? "cancel"
|
|
1931
|
-
: "decline";
|
|
2114
|
+
const decision = response.behavior === "allow" ? "accept" : response.interrupt ? "cancel" : "decline";
|
|
1932
2115
|
pending.resolve({ decision });
|
|
1933
2116
|
return;
|
|
1934
2117
|
}
|
|
@@ -2108,7 +2291,11 @@ class CodexAppServerAgentSession {
|
|
|
2108
2291
|
const parsed = CodexNotificationSchema.parse({ method, params });
|
|
2109
2292
|
if (parsed.kind === "thread_started") {
|
|
2110
2293
|
this.currentThreadId = parsed.threadId;
|
|
2111
|
-
this.emitEvent({
|
|
2294
|
+
this.emitEvent({
|
|
2295
|
+
type: "thread_started",
|
|
2296
|
+
provider: CODEX_PROVIDER,
|
|
2297
|
+
sessionId: parsed.threadId,
|
|
2298
|
+
});
|
|
2112
2299
|
return;
|
|
2113
2300
|
}
|
|
2114
2301
|
if (parsed.kind === "turn_started") {
|
|
@@ -2135,7 +2322,11 @@ class CodexAppServerAgentSession {
|
|
|
2135
2322
|
this.emitEvent({ type: "turn_canceled", provider: CODEX_PROVIDER, reason: "interrupted" });
|
|
2136
2323
|
}
|
|
2137
2324
|
else {
|
|
2138
|
-
this.emitEvent({
|
|
2325
|
+
this.emitEvent({
|
|
2326
|
+
type: "turn_completed",
|
|
2327
|
+
provider: CODEX_PROVIDER,
|
|
2328
|
+
usage: this.latestUsage,
|
|
2329
|
+
});
|
|
2139
2330
|
}
|
|
2140
2331
|
this.emittedItemStartedIds.clear();
|
|
2141
2332
|
this.emittedItemCompletedIds.clear();
|
|
@@ -2181,7 +2372,9 @@ class CodexAppServerAgentSession {
|
|
|
2181
2372
|
return;
|
|
2182
2373
|
}
|
|
2183
2374
|
if (parsed.kind === "exec_command_output_delta") {
|
|
2184
|
-
this.appendOutputDeltaChunk(this.pendingCommandOutputDeltas, parsed.callId, parsed.chunk, {
|
|
2375
|
+
this.appendOutputDeltaChunk(this.pendingCommandOutputDeltas, parsed.callId, parsed.chunk, {
|
|
2376
|
+
decodeBase64: true,
|
|
2377
|
+
});
|
|
2185
2378
|
return;
|
|
2186
2379
|
}
|
|
2187
2380
|
if (parsed.kind === "file_change_output_delta") {
|
|
@@ -2225,10 +2418,7 @@ class CodexAppServerAgentSession {
|
|
|
2225
2418
|
return;
|
|
2226
2419
|
}
|
|
2227
2420
|
if (parsed.kind === "terminal_interaction") {
|
|
2228
|
-
const interactionKey = [
|
|
2229
|
-
parsed.processId ?? "",
|
|
2230
|
-
parsed.stdin ?? "",
|
|
2231
|
-
].join("\u0000");
|
|
2421
|
+
const interactionKey = [parsed.processId ?? "", parsed.stdin ?? ""].join("\u0000");
|
|
2232
2422
|
if (!this.shouldEmitTerminalInteractionKey(interactionKey)) {
|
|
2233
2423
|
return;
|
|
2234
2424
|
}
|
|
@@ -2297,8 +2487,7 @@ class CodexAppServerAgentSession {
|
|
|
2297
2487
|
const itemId = parsed.item.id;
|
|
2298
2488
|
// For commandExecution items, codex/event/exec_command_* is authoritative.
|
|
2299
2489
|
// Keep item/completed as fallback only when no exec_command completion was seen.
|
|
2300
|
-
if (timelineItem.type === "tool_call" &&
|
|
2301
|
-
normalizedItemType === "commandExecution") {
|
|
2490
|
+
if (timelineItem.type === "tool_call" && normalizedItemType === "commandExecution") {
|
|
2302
2491
|
const callId = timelineItem.callId || itemId;
|
|
2303
2492
|
if (callId && this.emittedExecCommandCompletedCallIds.has(callId)) {
|
|
2304
2493
|
return;
|
|
@@ -2563,7 +2752,7 @@ export class CodexAppServerAgentClient {
|
|
|
2563
2752
|
spawnAppServer() {
|
|
2564
2753
|
const launchPrefix = resolveCodexLaunchPrefix(this.runtimeSettings);
|
|
2565
2754
|
this.logger.trace({
|
|
2566
|
-
launchPrefix
|
|
2755
|
+
launchPrefix,
|
|
2567
2756
|
}, "Spawning Codex app server");
|
|
2568
2757
|
return spawn(launchPrefix.command, [...launchPrefix.args, "app-server"], {
|
|
2569
2758
|
detached: process.platform !== "win32",
|
|
@@ -2621,10 +2810,7 @@ export class CodexAppServerAgentClient {
|
|
|
2621
2810
|
itemsFromThreadRead.push(timelineItem);
|
|
2622
2811
|
}
|
|
2623
2812
|
}
|
|
2624
|
-
timeline =
|
|
2625
|
-
rolloutTimeline.length > 0
|
|
2626
|
-
? rolloutTimeline
|
|
2627
|
-
: itemsFromThreadRead;
|
|
2813
|
+
timeline = rolloutTimeline.length > 0 ? rolloutTimeline : itemsFromThreadRead;
|
|
2628
2814
|
}
|
|
2629
2815
|
catch {
|
|
2630
2816
|
timeline = [];
|
|
@@ -2676,9 +2862,7 @@ export class CodexAppServerAgentClient {
|
|
|
2676
2862
|
? models.some((model) => model?.id === configuredDefaultModelId)
|
|
2677
2863
|
: false;
|
|
2678
2864
|
return models.map((model) => {
|
|
2679
|
-
const defaultReasoningEffort = normalizeCodexThinkingOptionId(typeof model.defaultReasoningEffort === "string"
|
|
2680
|
-
? model.defaultReasoningEffort
|
|
2681
|
-
: null);
|
|
2865
|
+
const defaultReasoningEffort = normalizeCodexThinkingOptionId(typeof model.defaultReasoningEffort === "string" ? model.defaultReasoningEffort : null);
|
|
2682
2866
|
const resolvedDefaultReasoningEffort = configuredDefaultThinkingOptionId ?? defaultReasoningEffort;
|
|
2683
2867
|
const thinkingById = new Map();
|
|
2684
2868
|
if (Array.isArray(model.supportedReasoningEfforts)) {
|
|
@@ -2714,7 +2898,7 @@ export class CodexAppServerAgentClient {
|
|
|
2714
2898
|
return {
|
|
2715
2899
|
provider: CODEX_PROVIDER,
|
|
2716
2900
|
id: model.id,
|
|
2717
|
-
label: model.displayName,
|
|
2901
|
+
label: normalizeCodexModelLabel(model.displayName),
|
|
2718
2902
|
description: model.description,
|
|
2719
2903
|
isDefault: isDefaultModel,
|
|
2720
2904
|
thinkingOptions: thinkingOptions.length > 0 ? thinkingOptions : undefined,
|