@getpaseo/server 0.1.83 → 0.1.84

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.
Files changed (777) hide show
  1. package/dist/server/server/agent/activity-curator.js +2 -2
  2. package/dist/server/server/agent/agent-manager.d.ts +2 -1
  3. package/dist/server/server/agent/agent-manager.js +14 -6
  4. package/dist/server/server/agent/agent-metadata-generator.js +1 -1
  5. package/dist/server/server/agent/agent-prompt.d.ts +2 -1
  6. package/dist/server/server/agent/agent-response-loop.js +1 -1
  7. package/dist/server/server/agent/agent-sdk-types.d.ts +32 -1
  8. package/dist/server/server/agent/agent-storage.d.ts +53 -53
  9. package/dist/server/server/agent/create-agent/create.d.ts +87 -0
  10. package/dist/server/server/agent/create-agent/create.js +264 -0
  11. package/dist/server/server/agent/create-agent-mode.d.ts +3 -1
  12. package/dist/server/server/agent/create-agent-mode.js +22 -0
  13. package/dist/server/server/agent/create-agent-title.js +1 -1
  14. package/dist/server/server/agent/import-sessions.d.ts +3 -3
  15. package/dist/server/server/agent/import-sessions.js +2 -2
  16. package/dist/server/server/agent/lifecycle-command.d.ts +59 -0
  17. package/dist/server/server/agent/lifecycle-command.js +84 -0
  18. package/dist/server/server/agent/mcp-server.d.ts +2 -3
  19. package/dist/server/server/agent/mcp-server.js +205 -391
  20. package/dist/server/server/agent/mcp-shared.d.ts +12 -11
  21. package/dist/server/server/agent/permission-response.d.ts +15 -0
  22. package/dist/server/server/agent/permission-response.js +14 -0
  23. package/dist/server/server/agent/prompt-attachments.d.ts +1 -1
  24. package/dist/server/server/agent/provider-launch-config.d.ts +23 -348
  25. package/dist/server/server/agent/provider-launch-config.js +84 -106
  26. package/dist/server/server/agent/provider-registry.d.ts +6 -3
  27. package/dist/server/server/agent/provider-registry.js +23 -4
  28. package/dist/server/server/agent/provider-snapshot-manager.d.ts +76 -6
  29. package/dist/server/server/agent/provider-snapshot-manager.js +177 -10
  30. package/dist/server/server/agent/providers/acp-agent.js +15 -14
  31. package/dist/server/server/agent/providers/claude/agent.js +28 -59
  32. package/dist/server/server/agent/providers/claude/sidechain-tracker.js +1 -1
  33. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +2 -2
  34. package/dist/server/server/agent/providers/claude/tool-call-mapper.js +1 -1
  35. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js +1 -1
  36. package/dist/server/server/agent/providers/codex/tool-call-mapper.js +1 -1
  37. package/dist/server/server/agent/providers/codex-app-server-agent.js +33 -25
  38. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +1 -1
  39. package/dist/server/server/agent/providers/copilot-acp-agent.js +9 -12
  40. package/dist/server/server/agent/providers/diagnostic-utils.d.ts +12 -3
  41. package/dist/server/server/agent/providers/diagnostic-utils.js +41 -1
  42. package/dist/server/server/agent/providers/generic-acp-agent.d.ts +1 -0
  43. package/dist/server/server/agent/providers/generic-acp-agent.js +22 -26
  44. package/dist/server/server/agent/providers/mock-load-test-agent.js +1 -1
  45. package/dist/server/server/agent/providers/mock-slow-provider.d.ts +16 -0
  46. package/dist/server/server/agent/providers/mock-slow-provider.js +45 -0
  47. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +20 -3
  48. package/dist/server/server/agent/providers/opencode-agent.d.ts +11 -2
  49. package/dist/server/server/agent/providers/opencode-agent.js +128 -34
  50. package/dist/server/server/agent/providers/pi/agent.d.ts +5 -2
  51. package/dist/server/server/agent/providers/pi/agent.js +192 -28
  52. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +2 -2
  53. package/dist/server/server/agent-attention-policy.d.ts +1 -1
  54. package/dist/server/server/bootstrap.js +23 -15
  55. package/dist/server/server/chat/chat-service.d.ts +1 -1
  56. package/dist/server/server/chat/chat-service.js +1 -1
  57. package/dist/server/server/checkout/status-projection.d.ts +1 -1
  58. package/dist/server/server/config.js +1 -1
  59. package/dist/server/server/connection-offer.d.ts +1 -1
  60. package/dist/server/server/connection-offer.js +1 -1
  61. package/dist/server/server/daemon-config-store.d.ts +3 -3
  62. package/dist/server/server/daemon-config-store.js +1 -1
  63. package/dist/server/server/editor-targets.d.ts +1 -1
  64. package/dist/server/server/exports.d.ts +7 -9
  65. package/dist/server/server/exports.js +6 -7
  66. package/dist/server/server/loop-service.d.ts +65 -65
  67. package/dist/server/server/loop-service.js +1 -1
  68. package/dist/server/server/messages.d.ts +2 -2
  69. package/dist/server/server/messages.js +2 -2
  70. package/dist/server/server/package-version.d.ts +2 -2
  71. package/dist/server/server/paseo-worktree-service.d.ts +1 -1
  72. package/dist/server/server/persisted-config.d.ts +118 -118
  73. package/dist/server/server/persisted-config.js +1 -46
  74. package/dist/server/server/persistence-hooks.d.ts +1 -4
  75. package/dist/server/server/persistence-hooks.js +1 -15
  76. package/dist/server/server/pid-lock.d.ts +2 -2
  77. package/dist/server/server/relay-transport.js +1 -2
  78. package/dist/server/server/schedule/cron.d.ts +1 -1
  79. package/dist/server/server/schedule/service.d.ts +1 -1
  80. package/dist/server/server/schedule/service.js +2 -1
  81. package/dist/server/server/schedule/store.d.ts +1 -1
  82. package/dist/server/server/schedule/store.js +1 -1
  83. package/dist/server/server/script-status-projection.d.ts +2 -2
  84. package/dist/server/server/session.d.ts +6 -18
  85. package/dist/server/server/session.js +146 -312
  86. package/dist/server/server/speech/providers/local/runtime.js +16 -79
  87. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts +7 -75
  88. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js +6 -108
  89. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js +32 -57
  90. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts +1 -1
  91. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js +10 -24
  92. package/dist/server/server/voice-permission-policy.js +1 -1
  93. package/dist/server/server/websocket-server.d.ts +2 -5
  94. package/dist/server/server/websocket-server.js +9 -30
  95. package/dist/server/server/workspace-directory.js +1 -1
  96. package/dist/server/server/workspace-git-service.d.ts +5 -2
  97. package/dist/server/server/workspace-git-service.js +73 -17
  98. package/dist/server/server/workspace-registry-model.d.ts +1 -1
  99. package/dist/server/server/workspace-registry.d.ts +7 -7
  100. package/dist/server/server/worktree/commands.d.ts +51 -0
  101. package/dist/server/server/worktree/commands.js +84 -0
  102. package/dist/server/server/worktree-branch-name-generator.d.ts +1 -1
  103. package/dist/server/server/worktree-core.d.ts +1 -1
  104. package/dist/server/server/worktree-session.d.ts +1 -1
  105. package/dist/server/server/worktree-session.js +32 -39
  106. package/dist/server/services/github-service.d.ts +1 -1
  107. package/dist/server/terminal/terminal-restore.d.ts +1 -1
  108. package/dist/server/terminal/terminal-restore.js +2 -2
  109. package/dist/server/terminal/terminal-session-controller.d.ts +1 -1
  110. package/dist/server/terminal/terminal-session-controller.js +1 -1
  111. package/dist/server/terminal/terminal-worker-protocol.d.ts +1 -1
  112. package/dist/server/terminal/terminal.d.ts +1 -1
  113. package/dist/server/terminal/terminal.js +1 -1
  114. package/dist/server/terminal/worker-terminal-manager.js +1 -1
  115. package/dist/server/utils/build-metadata-prompt.js +1 -1
  116. package/dist/server/utils/checkout-git.d.ts +32 -1
  117. package/dist/server/utils/checkout-git.js +182 -41
  118. package/dist/server/utils/github-remote.d.ts +2 -2
  119. package/dist/server/utils/github-remote.js +2 -2
  120. package/dist/server/utils/paseo-config-file.d.ts +2 -2
  121. package/dist/server/utils/paseo-config-file.js +2 -2
  122. package/dist/server/utils/run-git-command.d.ts +17 -0
  123. package/dist/server/utils/run-git-command.js +86 -0
  124. package/dist/server/utils/worktree.d.ts +2 -2
  125. package/dist/server/utils/worktree.js +2 -2
  126. package/dist/src/server/agent/provider-launch-config.js +84 -106
  127. package/dist/src/server/persisted-config.js +1 -46
  128. package/package.json +7 -8
  129. package/dist/scripts/dev-runner.js.map +0 -1
  130. package/dist/scripts/supervisor-entrypoint.js.map +0 -1
  131. package/dist/scripts/supervisor-log-config.js.map +0 -1
  132. package/dist/scripts/supervisor.js.map +0 -1
  133. package/dist/server/client/daemon-client-relay-e2ee-transport.d.ts +0 -8
  134. package/dist/server/client/daemon-client-relay-e2ee-transport.d.ts.map +0 -1
  135. package/dist/server/client/daemon-client-relay-e2ee-transport.js +0 -161
  136. package/dist/server/client/daemon-client-relay-e2ee-transport.js.map +0 -1
  137. package/dist/server/client/daemon-client-runtime-metrics.d.ts +0 -39
  138. package/dist/server/client/daemon-client-runtime-metrics.d.ts.map +0 -1
  139. package/dist/server/client/daemon-client-runtime-metrics.js +0 -173
  140. package/dist/server/client/daemon-client-runtime-metrics.js.map +0 -1
  141. package/dist/server/client/daemon-client-transport-types.d.ts +0 -36
  142. package/dist/server/client/daemon-client-transport-types.d.ts.map +0 -1
  143. package/dist/server/client/daemon-client-transport-types.js +0 -2
  144. package/dist/server/client/daemon-client-transport-types.js.map +0 -1
  145. package/dist/server/client/daemon-client-transport-utils.d.ts +0 -9
  146. package/dist/server/client/daemon-client-transport-utils.d.ts.map +0 -1
  147. package/dist/server/client/daemon-client-transport-utils.js +0 -121
  148. package/dist/server/client/daemon-client-transport-utils.js.map +0 -1
  149. package/dist/server/client/daemon-client-transport.d.ts +0 -5
  150. package/dist/server/client/daemon-client-transport.d.ts.map +0 -1
  151. package/dist/server/client/daemon-client-transport.js +0 -4
  152. package/dist/server/client/daemon-client-transport.js.map +0 -1
  153. package/dist/server/client/daemon-client-websocket-transport.d.ts +0 -8
  154. package/dist/server/client/daemon-client-websocket-transport.d.ts.map +0 -1
  155. package/dist/server/client/daemon-client-websocket-transport.js +0 -120
  156. package/dist/server/client/daemon-client-websocket-transport.js.map +0 -1
  157. package/dist/server/client/daemon-client.d.ts +0 -880
  158. package/dist/server/client/daemon-client.d.ts.map +0 -1
  159. package/dist/server/client/daemon-client.js +0 -3504
  160. package/dist/server/client/daemon-client.js.map +0 -1
  161. package/dist/server/client/terminal-stream-router.d.ts +0 -28
  162. package/dist/server/client/terminal-stream-router.d.ts.map +0 -1
  163. package/dist/server/client/terminal-stream-router.js +0 -108
  164. package/dist/server/client/terminal-stream-router.js.map +0 -1
  165. package/dist/server/server/agent/activity-curator.d.ts.map +0 -1
  166. package/dist/server/server/agent/activity-curator.js.map +0 -1
  167. package/dist/server/server/agent/agent-archive.d.ts.map +0 -1
  168. package/dist/server/server/agent/agent-archive.js.map +0 -1
  169. package/dist/server/server/agent/agent-loading.d.ts.map +0 -1
  170. package/dist/server/server/agent/agent-loading.js.map +0 -1
  171. package/dist/server/server/agent/agent-manager.d.ts.map +0 -1
  172. package/dist/server/server/agent/agent-manager.js.map +0 -1
  173. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +0 -1
  174. package/dist/server/server/agent/agent-metadata-generator.js.map +0 -1
  175. package/dist/server/server/agent/agent-projections.d.ts.map +0 -1
  176. package/dist/server/server/agent/agent-projections.js.map +0 -1
  177. package/dist/server/server/agent/agent-prompt.d.ts.map +0 -1
  178. package/dist/server/server/agent/agent-prompt.js.map +0 -1
  179. package/dist/server/server/agent/agent-response-loop.d.ts.map +0 -1
  180. package/dist/server/server/agent/agent-response-loop.js.map +0 -1
  181. package/dist/server/server/agent/agent-sdk-types.d.ts.map +0 -1
  182. package/dist/server/server/agent/agent-sdk-types.js.map +0 -1
  183. package/dist/server/server/agent/agent-storage.d.ts.map +0 -1
  184. package/dist/server/server/agent/agent-storage.js.map +0 -1
  185. package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +0 -1
  186. package/dist/server/server/agent/agent-stream-coalescer.js.map +0 -1
  187. package/dist/server/server/agent/agent-timeline-store-types.d.ts.map +0 -1
  188. package/dist/server/server/agent/agent-timeline-store-types.js.map +0 -1
  189. package/dist/server/server/agent/agent-timeline-store.d.ts.map +0 -1
  190. package/dist/server/server/agent/agent-timeline-store.js.map +0 -1
  191. package/dist/server/server/agent/agent-title-limits.d.ts +0 -3
  192. package/dist/server/server/agent/agent-title-limits.d.ts.map +0 -1
  193. package/dist/server/server/agent/agent-title-limits.js +0 -3
  194. package/dist/server/server/agent/agent-title-limits.js.map +0 -1
  195. package/dist/server/server/agent/audio-utils.d.ts.map +0 -1
  196. package/dist/server/server/agent/audio-utils.js.map +0 -1
  197. package/dist/server/server/agent/create-agent-lifecycle-dispatch.d.ts.map +0 -1
  198. package/dist/server/server/agent/create-agent-lifecycle-dispatch.js.map +0 -1
  199. package/dist/server/server/agent/create-agent-mode.d.ts.map +0 -1
  200. package/dist/server/server/agent/create-agent-mode.js.map +0 -1
  201. package/dist/server/server/agent/create-agent-title.d.ts.map +0 -1
  202. package/dist/server/server/agent/create-agent-title.js.map +0 -1
  203. package/dist/server/server/agent/dictation-debug.d.ts.map +0 -1
  204. package/dist/server/server/agent/dictation-debug.js.map +0 -1
  205. package/dist/server/server/agent/foreground-run-state.d.ts.map +0 -1
  206. package/dist/server/server/agent/foreground-run-state.js.map +0 -1
  207. package/dist/server/server/agent/import-sessions.d.ts.map +0 -1
  208. package/dist/server/server/agent/import-sessions.js.map +0 -1
  209. package/dist/server/server/agent/mcp-server.d.ts.map +0 -1
  210. package/dist/server/server/agent/mcp-server.js.map +0 -1
  211. package/dist/server/server/agent/mcp-shared.d.ts.map +0 -1
  212. package/dist/server/server/agent/mcp-shared.js.map +0 -1
  213. package/dist/server/server/agent/model-resolver.d.ts +0 -11
  214. package/dist/server/server/agent/model-resolver.d.ts.map +0 -1
  215. package/dist/server/server/agent/model-resolver.js +0 -27
  216. package/dist/server/server/agent/model-resolver.js.map +0 -1
  217. package/dist/server/server/agent/pcm16-resampler.d.ts.map +0 -1
  218. package/dist/server/server/agent/pcm16-resampler.js.map +0 -1
  219. package/dist/server/server/agent/prompt-attachments.d.ts.map +0 -1
  220. package/dist/server/server/agent/prompt-attachments.js.map +0 -1
  221. package/dist/server/server/agent/provider-history-timestamps.d.ts.map +0 -1
  222. package/dist/server/server/agent/provider-history-timestamps.js.map +0 -1
  223. package/dist/server/server/agent/provider-launch-config.d.ts.map +0 -1
  224. package/dist/server/server/agent/provider-launch-config.js.map +0 -1
  225. package/dist/server/server/agent/provider-manifest.d.ts +0 -33
  226. package/dist/server/server/agent/provider-manifest.d.ts.map +0 -1
  227. package/dist/server/server/agent/provider-manifest.js +0 -211
  228. package/dist/server/server/agent/provider-manifest.js.map +0 -1
  229. package/dist/server/server/agent/provider-registry.d.ts.map +0 -1
  230. package/dist/server/server/agent/provider-registry.js.map +0 -1
  231. package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +0 -1
  232. package/dist/server/server/agent/provider-snapshot-manager.js.map +0 -1
  233. package/dist/server/server/agent/providers/acp-agent.d.ts.map +0 -1
  234. package/dist/server/server/agent/providers/acp-agent.js.map +0 -1
  235. package/dist/server/server/agent/providers/claude/agent.d.ts.map +0 -1
  236. package/dist/server/server/agent/providers/claude/agent.js.map +0 -1
  237. package/dist/server/server/agent/providers/claude/models.d.ts.map +0 -1
  238. package/dist/server/server/agent/providers/claude/models.js.map +0 -1
  239. package/dist/server/server/agent/providers/claude/partial-json.d.ts.map +0 -1
  240. package/dist/server/server/agent/providers/claude/partial-json.js.map +0 -1
  241. package/dist/server/server/agent/providers/claude/project-dir.d.ts.map +0 -1
  242. package/dist/server/server/agent/providers/claude/project-dir.js.map +0 -1
  243. package/dist/server/server/agent/providers/claude/query.d.ts.map +0 -1
  244. package/dist/server/server/agent/providers/claude/query.js.map +0 -1
  245. package/dist/server/server/agent/providers/claude/rewind.d.ts.map +0 -1
  246. package/dist/server/server/agent/providers/claude/rewind.js.map +0 -1
  247. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts.map +0 -1
  248. package/dist/server/server/agent/providers/claude/sidechain-tracker.js.map +0 -1
  249. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts.map +0 -1
  250. package/dist/server/server/agent/providers/claude/task-notification-tool-call.js.map +0 -1
  251. package/dist/server/server/agent/providers/claude/test-rewind-claude-sdk.d.ts.map +0 -1
  252. package/dist/server/server/agent/providers/claude/test-rewind-claude-sdk.js.map +0 -1
  253. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts.map +0 -1
  254. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js.map +0 -1
  255. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts.map +0 -1
  256. package/dist/server/server/agent/providers/claude/tool-call-mapper.js.map +0 -1
  257. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts.map +0 -1
  258. package/dist/server/server/agent/providers/codex/app-server-transport.js.map +0 -1
  259. package/dist/server/server/agent/providers/codex/rewind.d.ts.map +0 -1
  260. package/dist/server/server/agent/providers/codex/rewind.js.map +0 -1
  261. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts.map +0 -1
  262. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js.map +0 -1
  263. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts.map +0 -1
  264. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js.map +0 -1
  265. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +0 -1
  266. package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +0 -1
  267. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +0 -1
  268. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +0 -1
  269. package/dist/server/server/agent/providers/codex-feature-definitions.d.ts.map +0 -1
  270. package/dist/server/server/agent/providers/codex-feature-definitions.js.map +0 -1
  271. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +0 -1
  272. package/dist/server/server/agent/providers/copilot-acp-agent.js.map +0 -1
  273. package/dist/server/server/agent/providers/cursor-acp-agent.d.ts.map +0 -1
  274. package/dist/server/server/agent/providers/cursor-acp-agent.js.map +0 -1
  275. package/dist/server/server/agent/providers/diagnostic-utils.d.ts.map +0 -1
  276. package/dist/server/server/agent/providers/diagnostic-utils.js.map +0 -1
  277. package/dist/server/server/agent/providers/generic-acp-agent.d.ts.map +0 -1
  278. package/dist/server/server/agent/providers/generic-acp-agent.js.map +0 -1
  279. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +0 -1
  280. package/dist/server/server/agent/providers/mock-load-test-agent.js.map +0 -1
  281. package/dist/server/server/agent/providers/opencode/rewind.d.ts.map +0 -1
  282. package/dist/server/server/agent/providers/opencode/rewind.js.map +0 -1
  283. package/dist/server/server/agent/providers/opencode/runtime.d.ts.map +0 -1
  284. package/dist/server/server/agent/providers/opencode/runtime.js.map +0 -1
  285. package/dist/server/server/agent/providers/opencode/server-manager.d.ts.map +0 -1
  286. package/dist/server/server/agent/providers/opencode/server-manager.js.map +0 -1
  287. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts.map +0 -1
  288. package/dist/server/server/agent/providers/opencode/test-server-manager.js.map +0 -1
  289. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.d.ts.map +0 -1
  290. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.js.map +0 -1
  291. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts.map +0 -1
  292. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js.map +0 -1
  293. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +0 -1
  294. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js.map +0 -1
  295. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +0 -1
  296. package/dist/server/server/agent/providers/opencode-agent.js.map +0 -1
  297. package/dist/server/server/agent/providers/pi/agent.d.ts.map +0 -1
  298. package/dist/server/server/agent/providers/pi/agent.js.map +0 -1
  299. package/dist/server/server/agent/providers/pi/cli-runtime.d.ts.map +0 -1
  300. package/dist/server/server/agent/providers/pi/cli-runtime.js.map +0 -1
  301. package/dist/server/server/agent/providers/pi/history-mapper.d.ts.map +0 -1
  302. package/dist/server/server/agent/providers/pi/history-mapper.js.map +0 -1
  303. package/dist/server/server/agent/providers/pi/rewind.d.ts.map +0 -1
  304. package/dist/server/server/agent/providers/pi/rewind.js.map +0 -1
  305. package/dist/server/server/agent/providers/pi/rpc-types.d.ts.map +0 -1
  306. package/dist/server/server/agent/providers/pi/rpc-types.js.map +0 -1
  307. package/dist/server/server/agent/providers/pi/runtime.d.ts.map +0 -1
  308. package/dist/server/server/agent/providers/pi/runtime.js.map +0 -1
  309. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts.map +0 -1
  310. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js.map +0 -1
  311. package/dist/server/server/agent/providers/pi/tool-call-mapper.d.ts.map +0 -1
  312. package/dist/server/server/agent/providers/pi/tool-call-mapper.js.map +0 -1
  313. package/dist/server/server/agent/providers/provider-image-output.d.ts.map +0 -1
  314. package/dist/server/server/agent/providers/provider-image-output.js.map +0 -1
  315. package/dist/server/server/agent/providers/provider-runner.d.ts.map +0 -1
  316. package/dist/server/server/agent/providers/provider-runner.js.map +0 -1
  317. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts.map +0 -1
  318. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js.map +0 -1
  319. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +0 -1
  320. package/dist/server/server/agent/providers/tool-call-detail-primitives.js.map +0 -1
  321. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts.map +0 -1
  322. package/dist/server/server/agent/providers/tool-call-mapper-utils.js.map +0 -1
  323. package/dist/server/server/agent/recordings-debug.d.ts.map +0 -1
  324. package/dist/server/server/agent/recordings-debug.js.map +0 -1
  325. package/dist/server/server/agent/rewind/rewind.d.ts.map +0 -1
  326. package/dist/server/server/agent/rewind/rewind.js.map +0 -1
  327. package/dist/server/server/agent/rewind/test-rewind-session.d.ts.map +0 -1
  328. package/dist/server/server/agent/rewind/test-rewind-session.js.map +0 -1
  329. package/dist/server/server/agent/stt-debug.d.ts.map +0 -1
  330. package/dist/server/server/agent/stt-debug.js.map +0 -1
  331. package/dist/server/server/agent/stt-manager.d.ts.map +0 -1
  332. package/dist/server/server/agent/stt-manager.js.map +0 -1
  333. package/dist/server/server/agent/system-prompt.d.ts.map +0 -1
  334. package/dist/server/server/agent/system-prompt.js.map +0 -1
  335. package/dist/server/server/agent/timeline-append.d.ts.map +0 -1
  336. package/dist/server/server/agent/timeline-append.js.map +0 -1
  337. package/dist/server/server/agent/timeline-projection.d.ts.map +0 -1
  338. package/dist/server/server/agent/timeline-projection.js.map +0 -1
  339. package/dist/server/server/agent/tool-name-normalization.d.ts +0 -9
  340. package/dist/server/server/agent/tool-name-normalization.d.ts.map +0 -1
  341. package/dist/server/server/agent/tool-name-normalization.js +0 -82
  342. package/dist/server/server/agent/tool-name-normalization.js.map +0 -1
  343. package/dist/server/server/agent/tts-debug.d.ts.map +0 -1
  344. package/dist/server/server/agent/tts-debug.js.map +0 -1
  345. package/dist/server/server/agent/tts-manager.d.ts.map +0 -1
  346. package/dist/server/server/agent/tts-manager.js.map +0 -1
  347. package/dist/server/server/agent/wait-for-agent-tracker.d.ts.map +0 -1
  348. package/dist/server/server/agent/wait-for-agent-tracker.js.map +0 -1
  349. package/dist/server/server/agent-attention-policy.d.ts.map +0 -1
  350. package/dist/server/server/agent-attention-policy.js.map +0 -1
  351. package/dist/server/server/auth.d.ts.map +0 -1
  352. package/dist/server/server/auth.js.map +0 -1
  353. package/dist/server/server/auto-archive-on-merge/archive-if-safe.d.ts.map +0 -1
  354. package/dist/server/server/auto-archive-on-merge/archive-if-safe.js.map +0 -1
  355. package/dist/server/server/auto-archive-on-merge/index.d.ts.map +0 -1
  356. package/dist/server/server/auto-archive-on-merge/index.js.map +0 -1
  357. package/dist/server/server/bootstrap.d.ts.map +0 -1
  358. package/dist/server/server/bootstrap.js.map +0 -1
  359. package/dist/server/server/chat/chat-mentions.d.ts.map +0 -1
  360. package/dist/server/server/chat/chat-mentions.js.map +0 -1
  361. package/dist/server/server/chat/chat-rpc-schemas.d.ts +0 -728
  362. package/dist/server/server/chat/chat-rpc-schemas.d.ts.map +0 -1
  363. package/dist/server/server/chat/chat-rpc-schemas.js +0 -103
  364. package/dist/server/server/chat/chat-rpc-schemas.js.map +0 -1
  365. package/dist/server/server/chat/chat-service.d.ts.map +0 -1
  366. package/dist/server/server/chat/chat-service.js.map +0 -1
  367. package/dist/server/server/chat/chat-types.d.ts +0 -75
  368. package/dist/server/server/chat/chat-types.d.ts.map +0 -1
  369. package/dist/server/server/chat/chat-types.js +0 -22
  370. package/dist/server/server/chat/chat-types.js.map +0 -1
  371. package/dist/server/server/checkout/status-projection.d.ts.map +0 -1
  372. package/dist/server/server/checkout/status-projection.js.map +0 -1
  373. package/dist/server/server/checkout-diff-manager.d.ts.map +0 -1
  374. package/dist/server/server/checkout-diff-manager.js.map +0 -1
  375. package/dist/server/server/checkout-git-utils.d.ts.map +0 -1
  376. package/dist/server/server/checkout-git-utils.js.map +0 -1
  377. package/dist/server/server/client-message-id.d.ts.map +0 -1
  378. package/dist/server/server/client-message-id.js.map +0 -1
  379. package/dist/server/server/config.d.ts.map +0 -1
  380. package/dist/server/server/config.js.map +0 -1
  381. package/dist/server/server/connection-offer.d.ts.map +0 -1
  382. package/dist/server/server/connection-offer.js.map +0 -1
  383. package/dist/server/server/daemon-config-store.d.ts.map +0 -1
  384. package/dist/server/server/daemon-config-store.js.map +0 -1
  385. package/dist/server/server/daemon-keypair.d.ts.map +0 -1
  386. package/dist/server/server/daemon-keypair.js.map +0 -1
  387. package/dist/server/server/daemon-version.d.ts.map +0 -1
  388. package/dist/server/server/daemon-version.js.map +0 -1
  389. package/dist/server/server/daemon-worker.d.ts.map +0 -1
  390. package/dist/server/server/daemon-worker.js.map +0 -1
  391. package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +0 -1
  392. package/dist/server/server/dictation/dictation-stream-manager.js.map +0 -1
  393. package/dist/server/server/editor-targets.d.ts.map +0 -1
  394. package/dist/server/server/editor-targets.js.map +0 -1
  395. package/dist/server/server/exports.d.ts.map +0 -1
  396. package/dist/server/server/exports.js.map +0 -1
  397. package/dist/server/server/file-download/token-store.d.ts.map +0 -1
  398. package/dist/server/server/file-download/token-store.js.map +0 -1
  399. package/dist/server/server/file-explorer/service.d.ts.map +0 -1
  400. package/dist/server/server/file-explorer/service.js.map +0 -1
  401. package/dist/server/server/hostnames.d.ts.map +0 -1
  402. package/dist/server/server/hostnames.js.map +0 -1
  403. package/dist/server/server/json-utils.d.ts.map +0 -1
  404. package/dist/server/server/json-utils.js.map +0 -1
  405. package/dist/server/server/logger.d.ts.map +0 -1
  406. package/dist/server/server/logger.js.map +0 -1
  407. package/dist/server/server/loop/rpc-schemas.d.ts +0 -3005
  408. package/dist/server/server/loop/rpc-schemas.d.ts.map +0 -1
  409. package/dist/server/server/loop/rpc-schemas.js +0 -163
  410. package/dist/server/server/loop/rpc-schemas.js.map +0 -1
  411. package/dist/server/server/loop-service.d.ts.map +0 -1
  412. package/dist/server/server/loop-service.js.map +0 -1
  413. package/dist/server/server/messages.d.ts.map +0 -1
  414. package/dist/server/server/messages.js.map +0 -1
  415. package/dist/server/server/package-version.d.ts.map +0 -1
  416. package/dist/server/server/package-version.js.map +0 -1
  417. package/dist/server/server/pagination/cursor.d.ts.map +0 -1
  418. package/dist/server/server/pagination/cursor.js.map +0 -1
  419. package/dist/server/server/pagination/sortable-pager.d.ts.map +0 -1
  420. package/dist/server/server/pagination/sortable-pager.js.map +0 -1
  421. package/dist/server/server/pairing-offer.d.ts.map +0 -1
  422. package/dist/server/server/pairing-offer.js.map +0 -1
  423. package/dist/server/server/pairing-qr.d.ts.map +0 -1
  424. package/dist/server/server/pairing-qr.js.map +0 -1
  425. package/dist/server/server/paseo-env.d.ts.map +0 -1
  426. package/dist/server/server/paseo-env.js.map +0 -1
  427. package/dist/server/server/paseo-home.d.ts.map +0 -1
  428. package/dist/server/server/paseo-home.js.map +0 -1
  429. package/dist/server/server/paseo-worktree-archive-service.d.ts.map +0 -1
  430. package/dist/server/server/paseo-worktree-archive-service.js.map +0 -1
  431. package/dist/server/server/paseo-worktree-service.d.ts.map +0 -1
  432. package/dist/server/server/paseo-worktree-service.js.map +0 -1
  433. package/dist/server/server/path-utils.d.ts.map +0 -1
  434. package/dist/server/server/path-utils.js.map +0 -1
  435. package/dist/server/server/persisted-config.d.ts.map +0 -1
  436. package/dist/server/server/persisted-config.js.map +0 -1
  437. package/dist/server/server/persistence-hooks.d.ts.map +0 -1
  438. package/dist/server/server/persistence-hooks.js.map +0 -1
  439. package/dist/server/server/pid-lock.d.ts.map +0 -1
  440. package/dist/server/server/pid-lock.js.map +0 -1
  441. package/dist/server/server/private-files.d.ts.map +0 -1
  442. package/dist/server/server/private-files.js.map +0 -1
  443. package/dist/server/server/push/notifications.d.ts.map +0 -1
  444. package/dist/server/server/push/notifications.js.map +0 -1
  445. package/dist/server/server/push/push-service.d.ts.map +0 -1
  446. package/dist/server/server/push/push-service.js.map +0 -1
  447. package/dist/server/server/push/token-store.d.ts.map +0 -1
  448. package/dist/server/server/push/token-store.js.map +0 -1
  449. package/dist/server/server/relay-transport.d.ts.map +0 -1
  450. package/dist/server/server/relay-transport.js.map +0 -1
  451. package/dist/server/server/resolve-worktree-creation-intent.d.ts.map +0 -1
  452. package/dist/server/server/resolve-worktree-creation-intent.js.map +0 -1
  453. package/dist/server/server/schedule/cron.d.ts.map +0 -1
  454. package/dist/server/server/schedule/cron.js.map +0 -1
  455. package/dist/server/server/schedule/rpc-schemas.d.ts +0 -3909
  456. package/dist/server/server/schedule/rpc-schemas.d.ts.map +0 -1
  457. package/dist/server/server/schedule/rpc-schemas.js +0 -151
  458. package/dist/server/server/schedule/rpc-schemas.js.map +0 -1
  459. package/dist/server/server/schedule/service.d.ts.map +0 -1
  460. package/dist/server/server/schedule/service.js.map +0 -1
  461. package/dist/server/server/schedule/store.d.ts.map +0 -1
  462. package/dist/server/server/schedule/store.js.map +0 -1
  463. package/dist/server/server/schedule/types.d.ts +0 -726
  464. package/dist/server/server/schedule/types.d.ts.map +0 -1
  465. package/dist/server/server/schedule/types.js +0 -73
  466. package/dist/server/server/schedule/types.js.map +0 -1
  467. package/dist/server/server/script-health-monitor.d.ts.map +0 -1
  468. package/dist/server/server/script-health-monitor.js.map +0 -1
  469. package/dist/server/server/script-proxy.d.ts.map +0 -1
  470. package/dist/server/server/script-proxy.js.map +0 -1
  471. package/dist/server/server/script-route-branch-handler.d.ts.map +0 -1
  472. package/dist/server/server/script-route-branch-handler.js.map +0 -1
  473. package/dist/server/server/script-status-projection.d.ts.map +0 -1
  474. package/dist/server/server/script-status-projection.js.map +0 -1
  475. package/dist/server/server/server-id.d.ts.map +0 -1
  476. package/dist/server/server/server-id.js.map +0 -1
  477. package/dist/server/server/session.d.ts.map +0 -1
  478. package/dist/server/server/session.js.map +0 -1
  479. package/dist/server/server/speech/audio.d.ts.map +0 -1
  480. package/dist/server/server/speech/audio.js.map +0 -1
  481. package/dist/server/server/speech/provider-resolver.d.ts.map +0 -1
  482. package/dist/server/server/speech/provider-resolver.js.map +0 -1
  483. package/dist/server/server/speech/providers/local/config.d.ts.map +0 -1
  484. package/dist/server/server/speech/providers/local/config.js.map +0 -1
  485. package/dist/server/server/speech/providers/local/models.d.ts.map +0 -1
  486. package/dist/server/server/speech/providers/local/models.js.map +0 -1
  487. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts +0 -24
  488. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts.map +0 -1
  489. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js +0 -459
  490. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +0 -1
  491. package/dist/server/server/speech/providers/local/runtime.d.ts.map +0 -1
  492. package/dist/server/server/speech/providers/local/runtime.js.map +0 -1
  493. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts.map +0 -1
  494. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js.map +0 -1
  495. package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts.map +0 -1
  496. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js.map +0 -1
  497. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts.map +0 -1
  498. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +0 -1
  499. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts +0 -56
  500. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts.map +0 -1
  501. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +0 -91
  502. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +0 -1
  503. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.d.ts +0 -7
  504. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.d.ts.map +0 -1
  505. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.js +0 -11
  506. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.js.map +0 -1
  507. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts.map +0 -1
  508. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js.map +0 -1
  509. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts.map +0 -1
  510. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +0 -1
  511. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts.map +0 -1
  512. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +0 -1
  513. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.d.ts +0 -23
  514. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.d.ts.map +0 -1
  515. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js +0 -116
  516. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +0 -1
  517. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts.map +0 -1
  518. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +0 -1
  519. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts +0 -23
  520. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts.map +0 -1
  521. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js +0 -141
  522. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js.map +0 -1
  523. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts.map +0 -1
  524. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js.map +0 -1
  525. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.d.ts.map +0 -1
  526. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js.map +0 -1
  527. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.d.ts.map +0 -1
  528. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.js.map +0 -1
  529. package/dist/server/server/speech/providers/openai/config.d.ts.map +0 -1
  530. package/dist/server/server/speech/providers/openai/config.js.map +0 -1
  531. package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts.map +0 -1
  532. package/dist/server/server/speech/providers/openai/realtime-transcription-session.js.map +0 -1
  533. package/dist/server/server/speech/providers/openai/runtime.d.ts.map +0 -1
  534. package/dist/server/server/speech/providers/openai/runtime.js.map +0 -1
  535. package/dist/server/server/speech/providers/openai/stt.d.ts.map +0 -1
  536. package/dist/server/server/speech/providers/openai/stt.js.map +0 -1
  537. package/dist/server/server/speech/providers/openai/tts.d.ts.map +0 -1
  538. package/dist/server/server/speech/providers/openai/tts.js.map +0 -1
  539. package/dist/server/server/speech/speech-config-resolver.d.ts.map +0 -1
  540. package/dist/server/server/speech/speech-config-resolver.js.map +0 -1
  541. package/dist/server/server/speech/speech-provider.d.ts.map +0 -1
  542. package/dist/server/server/speech/speech-provider.js.map +0 -1
  543. package/dist/server/server/speech/speech-runtime.d.ts.map +0 -1
  544. package/dist/server/server/speech/speech-runtime.js.map +0 -1
  545. package/dist/server/server/speech/speech-types.d.ts.map +0 -1
  546. package/dist/server/server/speech/speech-types.js.map +0 -1
  547. package/dist/server/server/speech/turn-detection-provider.d.ts.map +0 -1
  548. package/dist/server/server/speech/turn-detection-provider.js.map +0 -1
  549. package/dist/server/server/utils/diff-highlighter.d.ts.map +0 -1
  550. package/dist/server/server/utils/diff-highlighter.js.map +0 -1
  551. package/dist/server/server/voice/voice-turn-controller.d.ts.map +0 -1
  552. package/dist/server/server/voice/voice-turn-controller.js.map +0 -1
  553. package/dist/server/server/voice-config.d.ts.map +0 -1
  554. package/dist/server/server/voice-config.js.map +0 -1
  555. package/dist/server/server/voice-permission-policy.d.ts.map +0 -1
  556. package/dist/server/server/voice-permission-policy.js.map +0 -1
  557. package/dist/server/server/voice-types.d.ts.map +0 -1
  558. package/dist/server/server/voice-types.js.map +0 -1
  559. package/dist/server/server/websocket/runtime-metrics.d.ts.map +0 -1
  560. package/dist/server/server/websocket/runtime-metrics.js.map +0 -1
  561. package/dist/server/server/websocket-server.d.ts.map +0 -1
  562. package/dist/server/server/websocket-server.js.map +0 -1
  563. package/dist/server/server/workspace-archive-service.d.ts.map +0 -1
  564. package/dist/server/server/workspace-archive-service.js.map +0 -1
  565. package/dist/server/server/workspace-directory.d.ts.map +0 -1
  566. package/dist/server/server/workspace-directory.js.map +0 -1
  567. package/dist/server/server/workspace-git-metadata.d.ts.map +0 -1
  568. package/dist/server/server/workspace-git-metadata.js.map +0 -1
  569. package/dist/server/server/workspace-git-service.d.ts.map +0 -1
  570. package/dist/server/server/workspace-git-service.js.map +0 -1
  571. package/dist/server/server/workspace-reconciliation-service.d.ts.map +0 -1
  572. package/dist/server/server/workspace-reconciliation-service.js.map +0 -1
  573. package/dist/server/server/workspace-registry-bootstrap.d.ts.map +0 -1
  574. package/dist/server/server/workspace-registry-bootstrap.js.map +0 -1
  575. package/dist/server/server/workspace-registry-model.d.ts.map +0 -1
  576. package/dist/server/server/workspace-registry-model.js.map +0 -1
  577. package/dist/server/server/workspace-registry.d.ts.map +0 -1
  578. package/dist/server/server/workspace-registry.js.map +0 -1
  579. package/dist/server/server/workspace-script-runtime-store.d.ts.map +0 -1
  580. package/dist/server/server/workspace-script-runtime-store.js.map +0 -1
  581. package/dist/server/server/workspace-service-env.d.ts.map +0 -1
  582. package/dist/server/server/workspace-service-env.js.map +0 -1
  583. package/dist/server/server/workspace-service-port-registry.d.ts.map +0 -1
  584. package/dist/server/server/workspace-service-port-registry.js.map +0 -1
  585. package/dist/server/server/worktree-bootstrap.d.ts.map +0 -1
  586. package/dist/server/server/worktree-bootstrap.js.map +0 -1
  587. package/dist/server/server/worktree-branch-name-generator.d.ts.map +0 -1
  588. package/dist/server/server/worktree-branch-name-generator.js.map +0 -1
  589. package/dist/server/server/worktree-core.d.ts.map +0 -1
  590. package/dist/server/server/worktree-core.js.map +0 -1
  591. package/dist/server/server/worktree-errors.d.ts.map +0 -1
  592. package/dist/server/server/worktree-errors.js.map +0 -1
  593. package/dist/server/server/worktree-session.d.ts.map +0 -1
  594. package/dist/server/server/worktree-session.js.map +0 -1
  595. package/dist/server/services/github-service.d.ts.map +0 -1
  596. package/dist/server/services/github-service.js.map +0 -1
  597. package/dist/server/shared/agent-attention-notification.d.ts +0 -41
  598. package/dist/server/shared/agent-attention-notification.d.ts.map +0 -1
  599. package/dist/server/shared/agent-attention-notification.js +0 -140
  600. package/dist/server/shared/agent-attention-notification.js.map +0 -1
  601. package/dist/server/shared/agent-labels.d.ts +0 -2
  602. package/dist/server/shared/agent-labels.d.ts.map +0 -1
  603. package/dist/server/shared/agent-labels.js +0 -2
  604. package/dist/server/shared/agent-labels.js.map +0 -1
  605. package/dist/server/shared/agent-lifecycle.d.ts +0 -3
  606. package/dist/server/shared/agent-lifecycle.d.ts.map +0 -1
  607. package/dist/server/shared/agent-lifecycle.js +0 -8
  608. package/dist/server/shared/agent-lifecycle.js.map +0 -1
  609. package/dist/server/shared/agent-state-bucket.d.ts +0 -13
  610. package/dist/server/shared/agent-state-bucket.d.ts.map +0 -1
  611. package/dist/server/shared/agent-state-bucket.js +0 -41
  612. package/dist/server/shared/agent-state-bucket.js.map +0 -1
  613. package/dist/server/shared/binary-frames/file-transfer.d.ts +0 -56
  614. package/dist/server/shared/binary-frames/file-transfer.d.ts.map +0 -1
  615. package/dist/server/shared/binary-frames/file-transfer.js +0 -108
  616. package/dist/server/shared/binary-frames/file-transfer.js.map +0 -1
  617. package/dist/server/shared/binary-frames/index.d.ts +0 -3
  618. package/dist/server/shared/binary-frames/index.d.ts.map +0 -1
  619. package/dist/server/shared/binary-frames/index.js +0 -3
  620. package/dist/server/shared/binary-frames/index.js.map +0 -1
  621. package/dist/server/shared/binary-frames/terminal.d.ts +0 -37
  622. package/dist/server/shared/binary-frames/terminal.d.ts.map +0 -1
  623. package/dist/server/shared/binary-frames/terminal.js +0 -101
  624. package/dist/server/shared/binary-frames/terminal.js.map +0 -1
  625. package/dist/server/shared/client-capabilities.d.ts +0 -5
  626. package/dist/server/shared/client-capabilities.d.ts.map +0 -1
  627. package/dist/server/shared/client-capabilities.js +0 -4
  628. package/dist/server/shared/client-capabilities.js.map +0 -1
  629. package/dist/server/shared/connection-offer.d.ts +0 -80
  630. package/dist/server/shared/connection-offer.d.ts.map +0 -1
  631. package/dist/server/shared/connection-offer.js +0 -53
  632. package/dist/server/shared/connection-offer.js.map +0 -1
  633. package/dist/server/shared/daemon-endpoints.d.ts +0 -47
  634. package/dist/server/shared/daemon-endpoints.d.ts.map +0 -1
  635. package/dist/server/shared/daemon-endpoints.js +0 -201
  636. package/dist/server/shared/daemon-endpoints.js.map +0 -1
  637. package/dist/server/shared/error-utils.d.ts +0 -11
  638. package/dist/server/shared/error-utils.d.ts.map +0 -1
  639. package/dist/server/shared/error-utils.js +0 -27
  640. package/dist/server/shared/error-utils.js.map +0 -1
  641. package/dist/server/shared/git-remote.d.ts +0 -16
  642. package/dist/server/shared/git-remote.d.ts.map +0 -1
  643. package/dist/server/shared/git-remote.js +0 -72
  644. package/dist/server/shared/git-remote.js.map +0 -1
  645. package/dist/server/shared/host-connection-schema.d.ts +0 -23
  646. package/dist/server/shared/host-connection-schema.d.ts.map +0 -1
  647. package/dist/server/shared/host-connection-schema.js +0 -9
  648. package/dist/server/shared/host-connection-schema.js.map +0 -1
  649. package/dist/server/shared/importable-providers.d.ts +0 -7
  650. package/dist/server/shared/importable-providers.d.ts.map +0 -1
  651. package/dist/server/shared/importable-providers.js +0 -7
  652. package/dist/server/shared/importable-providers.js.map +0 -1
  653. package/dist/server/shared/literal-union.d.ts +0 -2
  654. package/dist/server/shared/literal-union.d.ts.map +0 -1
  655. package/dist/server/shared/literal-union.js +0 -2
  656. package/dist/server/shared/literal-union.js.map +0 -1
  657. package/dist/server/shared/messages.d.ts +0 -141002
  658. package/dist/server/shared/messages.d.ts.map +0 -1
  659. package/dist/server/shared/messages.js +0 -3320
  660. package/dist/server/shared/messages.js.map +0 -1
  661. package/dist/server/shared/path-utils.d.ts +0 -2
  662. package/dist/server/shared/path-utils.d.ts.map +0 -1
  663. package/dist/server/shared/path-utils.js +0 -16
  664. package/dist/server/shared/path-utils.js.map +0 -1
  665. package/dist/server/shared/terminal-input-mode.d.ts +0 -26
  666. package/dist/server/shared/terminal-input-mode.d.ts.map +0 -1
  667. package/dist/server/shared/terminal-input-mode.js +0 -151
  668. package/dist/server/shared/terminal-input-mode.js.map +0 -1
  669. package/dist/server/shared/terminal-snapshot.d.ts +0 -3
  670. package/dist/server/shared/terminal-snapshot.d.ts.map +0 -1
  671. package/dist/server/shared/terminal-snapshot.js +0 -165
  672. package/dist/server/shared/terminal-snapshot.js.map +0 -1
  673. package/dist/server/shared/tool-call-display.d.ts +0 -11
  674. package/dist/server/shared/tool-call-display.d.ts.map +0 -1
  675. package/dist/server/shared/tool-call-display.js +0 -135
  676. package/dist/server/shared/tool-call-display.js.map +0 -1
  677. package/dist/server/terminal/terminal-capture.d.ts.map +0 -1
  678. package/dist/server/terminal/terminal-capture.js.map +0 -1
  679. package/dist/server/terminal/terminal-manager-factory.d.ts.map +0 -1
  680. package/dist/server/terminal/terminal-manager-factory.js.map +0 -1
  681. package/dist/server/terminal/terminal-manager.d.ts.map +0 -1
  682. package/dist/server/terminal/terminal-manager.js.map +0 -1
  683. package/dist/server/terminal/terminal-output-coalescer.d.ts.map +0 -1
  684. package/dist/server/terminal/terminal-output-coalescer.js.map +0 -1
  685. package/dist/server/terminal/terminal-restore.d.ts.map +0 -1
  686. package/dist/server/terminal/terminal-restore.js.map +0 -1
  687. package/dist/server/terminal/terminal-session-controller.d.ts.map +0 -1
  688. package/dist/server/terminal/terminal-session-controller.js.map +0 -1
  689. package/dist/server/terminal/terminal-worker-process.d.ts.map +0 -1
  690. package/dist/server/terminal/terminal-worker-process.js.map +0 -1
  691. package/dist/server/terminal/terminal-worker-protocol.d.ts.map +0 -1
  692. package/dist/server/terminal/terminal-worker-protocol.js.map +0 -1
  693. package/dist/server/terminal/terminal.d.ts.map +0 -1
  694. package/dist/server/terminal/terminal.js.map +0 -1
  695. package/dist/server/terminal/worker-terminal-manager.d.ts.map +0 -1
  696. package/dist/server/terminal/worker-terminal-manager.js.map +0 -1
  697. package/dist/server/utils/branch-slug.d.ts.map +0 -1
  698. package/dist/server/utils/branch-slug.js.map +0 -1
  699. package/dist/server/utils/build-metadata-prompt.d.ts.map +0 -1
  700. package/dist/server/utils/build-metadata-prompt.js.map +0 -1
  701. package/dist/server/utils/checkout-git.d.ts.map +0 -1
  702. package/dist/server/utils/checkout-git.js.map +0 -1
  703. package/dist/server/utils/directory-suggestions.d.ts.map +0 -1
  704. package/dist/server/utils/directory-suggestions.js.map +0 -1
  705. package/dist/server/utils/executable.d.ts.map +0 -1
  706. package/dist/server/utils/executable.js.map +0 -1
  707. package/dist/server/utils/git-rev-parse-path.d.ts.map +0 -1
  708. package/dist/server/utils/git-rev-parse-path.js.map +0 -1
  709. package/dist/server/utils/github-remote.d.ts.map +0 -1
  710. package/dist/server/utils/github-remote.js.map +0 -1
  711. package/dist/server/utils/paseo-config-file.d.ts.map +0 -1
  712. package/dist/server/utils/paseo-config-file.js.map +0 -1
  713. package/dist/server/utils/paseo-config-schema.d.ts +0 -915
  714. package/dist/server/utils/paseo-config-schema.d.ts.map +0 -1
  715. package/dist/server/utils/paseo-config-schema.js +0 -77
  716. package/dist/server/utils/paseo-config-schema.js.map +0 -1
  717. package/dist/server/utils/path.d.ts.map +0 -1
  718. package/dist/server/utils/path.js.map +0 -1
  719. package/dist/server/utils/project-icon.d.ts.map +0 -1
  720. package/dist/server/utils/project-icon.js.map +0 -1
  721. package/dist/server/utils/promise-timeout.d.ts.map +0 -1
  722. package/dist/server/utils/promise-timeout.js.map +0 -1
  723. package/dist/server/utils/run-git-command.d.ts.map +0 -1
  724. package/dist/server/utils/run-git-command.js.map +0 -1
  725. package/dist/server/utils/script-hostname.d.ts.map +0 -1
  726. package/dist/server/utils/script-hostname.js.map +0 -1
  727. package/dist/server/utils/spawn.d.ts.map +0 -1
  728. package/dist/server/utils/spawn.js.map +0 -1
  729. package/dist/server/utils/string-command-shell.d.ts.map +0 -1
  730. package/dist/server/utils/string-command-shell.js.map +0 -1
  731. package/dist/server/utils/tree-kill.d.ts.map +0 -1
  732. package/dist/server/utils/tree-kill.js.map +0 -1
  733. package/dist/server/utils/windows-command.d.ts.map +0 -1
  734. package/dist/server/utils/windows-command.js.map +0 -1
  735. package/dist/server/utils/worktree-metadata.d.ts.map +0 -1
  736. package/dist/server/utils/worktree-metadata.js.map +0 -1
  737. package/dist/server/utils/worktree.d.ts.map +0 -1
  738. package/dist/server/utils/worktree.js.map +0 -1
  739. package/dist/server/utils/wrap-user-instructions.d.ts.map +0 -1
  740. package/dist/server/utils/wrap-user-instructions.js.map +0 -1
  741. package/dist/src/server/agent/agent-sdk-types.js +0 -22
  742. package/dist/src/server/agent/agent-sdk-types.js.map +0 -1
  743. package/dist/src/server/agent/agent-title-limits.js +0 -3
  744. package/dist/src/server/agent/agent-title-limits.js.map +0 -1
  745. package/dist/src/server/agent/provider-launch-config.js.map +0 -1
  746. package/dist/src/server/agent/provider-manifest.js +0 -211
  747. package/dist/src/server/agent/provider-manifest.js.map +0 -1
  748. package/dist/src/server/chat/chat-rpc-schemas.js +0 -103
  749. package/dist/src/server/chat/chat-rpc-schemas.js.map +0 -1
  750. package/dist/src/server/chat/chat-types.js +0 -22
  751. package/dist/src/server/chat/chat-types.js.map +0 -1
  752. package/dist/src/server/loop/rpc-schemas.js +0 -163
  753. package/dist/src/server/loop/rpc-schemas.js.map +0 -1
  754. package/dist/src/server/paseo-env.js.map +0 -1
  755. package/dist/src/server/paseo-home.js.map +0 -1
  756. package/dist/src/server/persisted-config.js.map +0 -1
  757. package/dist/src/server/pid-lock.js.map +0 -1
  758. package/dist/src/server/private-files.js.map +0 -1
  759. package/dist/src/server/schedule/rpc-schemas.js +0 -151
  760. package/dist/src/server/schedule/rpc-schemas.js.map +0 -1
  761. package/dist/src/server/schedule/types.js +0 -73
  762. package/dist/src/server/schedule/types.js.map +0 -1
  763. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +0 -1
  764. package/dist/src/shared/agent-lifecycle.js +0 -8
  765. package/dist/src/shared/agent-lifecycle.js.map +0 -1
  766. package/dist/src/shared/client-capabilities.js +0 -4
  767. package/dist/src/shared/client-capabilities.js.map +0 -1
  768. package/dist/src/shared/literal-union.js +0 -2
  769. package/dist/src/shared/literal-union.js.map +0 -1
  770. package/dist/src/shared/messages.js +0 -3320
  771. package/dist/src/shared/messages.js.map +0 -1
  772. package/dist/src/utils/executable.js.map +0 -1
  773. package/dist/src/utils/paseo-config-schema.js +0 -77
  774. package/dist/src/utils/paseo-config-schema.js.map +0 -1
  775. package/dist/src/utils/spawn.js.map +0 -1
  776. package/dist/src/utils/windows-command.js.map +0 -1
  777. package/src/server/speech/providers/local/sherpa/assets/silero_vad.onnx +0 -0
@@ -1,3320 +0,0 @@
1
- import { z } from "zod";
2
- import { CLIENT_CAPS } from "./client-capabilities.js";
3
- import { AGENT_LIFECYCLE_STATUSES } from "./agent-lifecycle.js";
4
- import { MAX_EXPLICIT_AGENT_TITLE_CHARS } from "../server/agent/agent-title-limits.js";
5
- import { AgentProviderSchema } from "../server/agent/provider-manifest.js";
6
- import { normalizeAgentModelDefinition, TOOL_CALL_ICON_NAMES, } from "../server/agent/agent-sdk-types.js";
7
- import { ChatCreateRequestSchema, ChatListRequestSchema, ChatInspectRequestSchema, ChatDeleteRequestSchema, ChatPostRequestSchema, ChatReadRequestSchema, ChatWaitRequestSchema, ChatCreateResponseSchema, ChatListResponseSchema, ChatInspectResponseSchema, ChatDeleteResponseSchema, ChatPostResponseSchema, ChatReadResponseSchema, ChatWaitResponseSchema, } from "../server/chat/chat-rpc-schemas.js";
8
- import { ScheduleCreateRequestSchema, ScheduleListRequestSchema, ScheduleInspectRequestSchema, ScheduleLogsRequestSchema, SchedulePauseRequestSchema, ScheduleResumeRequestSchema, ScheduleDeleteRequestSchema, ScheduleRunOnceRequestSchema, ScheduleUpdateRequestSchema, ScheduleCreateResponseSchema, ScheduleListResponseSchema, ScheduleInspectResponseSchema, ScheduleLogsResponseSchema, SchedulePauseResponseSchema, ScheduleResumeResponseSchema, ScheduleDeleteResponseSchema, ScheduleRunOnceResponseSchema, ScheduleUpdateResponseSchema, } from "../server/schedule/rpc-schemas.js";
9
- import { LoopRunRequestSchema, LoopListRequestSchema, LoopInspectRequestSchema, LoopLogsRequestSchema, LoopStopRequestSchema, LoopRunResponseSchema, LoopListResponseSchema, LoopInspectResponseSchema, LoopLogsResponseSchema, LoopStopResponseSchema, } from "../server/loop/rpc-schemas.js";
10
- import { PaseoConfigRawSchema, PaseoLifecycleCommandRawSchema, PaseoMetadataGenerationEntrySchema, PaseoMetadataGenerationSchema, PaseoScriptEntryRawSchema, PaseoWorktreeConfigRawSchema, PaseoConfigRevisionSchema, ProjectConfigRpcErrorSchema, } from "../utils/paseo-config-schema.js";
11
- export { PaseoConfigRawSchema, PaseoLifecycleCommandRawSchema, PaseoMetadataGenerationEntrySchema, PaseoMetadataGenerationSchema, PaseoScriptEntryRawSchema, PaseoWorktreeConfigRawSchema, };
12
- // ---------------------------------------------------------------------------
13
- // Mutable daemon config schemas (shared between server store and client)
14
- // ---------------------------------------------------------------------------
15
- const MutableDaemonProviderModelSchema = z
16
- .object({
17
- id: z.string().min(1),
18
- label: z.string().min(1),
19
- description: z.string().optional(),
20
- isDefault: z.boolean().optional(),
21
- })
22
- .passthrough();
23
- const MutableDaemonProviderConfigSchema = z
24
- .object({
25
- enabled: z.boolean().optional(),
26
- additionalModels: z.array(MutableDaemonProviderModelSchema).optional(),
27
- })
28
- .passthrough();
29
- export const MutableDaemonConfigSchema = z
30
- .object({
31
- mcp: z
32
- .object({
33
- injectIntoAgents: z.boolean(),
34
- })
35
- .passthrough(),
36
- providers: z.record(z.string(), MutableDaemonProviderConfigSchema).default({}),
37
- autoArchiveAfterMerge: z.boolean().default(false),
38
- appendSystemPrompt: z.string().default(""),
39
- })
40
- .passthrough();
41
- export const MutableDaemonConfigPatchSchema = z
42
- .object({
43
- mcp: MutableDaemonConfigSchema.shape.mcp.partial().optional(),
44
- providers: z
45
- .record(z.string(), MutableDaemonProviderConfigSchema.partial().passthrough())
46
- .optional(),
47
- autoArchiveAfterMerge: z.boolean().optional(),
48
- appendSystemPrompt: z.string().optional(),
49
- })
50
- .partial()
51
- .passthrough();
52
- export const AgentStatusSchema = z.enum(AGENT_LIFECYCLE_STATUSES);
53
- const AgentModeSchema = z.object({
54
- id: z.string(),
55
- label: z.string(),
56
- description: z.string().optional(),
57
- icon: z.string().optional(),
58
- colorTier: z.string().optional(),
59
- });
60
- const ProviderStatusSchema = z.enum([
61
- "ready",
62
- "loading",
63
- "error",
64
- "unavailable",
65
- ]);
66
- const AgentSelectOptionSchema = z.object({
67
- id: z.string(),
68
- label: z.string(),
69
- description: z.string().optional(),
70
- isDefault: z.boolean().optional(),
71
- metadata: z.record(z.unknown()).optional(),
72
- });
73
- export const AgentFeatureToggleSchema = z.object({
74
- type: z.literal("toggle"),
75
- id: z.string(),
76
- label: z.string(),
77
- description: z.string().optional(),
78
- tooltip: z.string().optional(),
79
- icon: z.string().optional(),
80
- value: z.boolean(),
81
- });
82
- export const AgentFeatureSelectSchema = z.object({
83
- type: z.literal("select"),
84
- id: z.string(),
85
- label: z.string(),
86
- description: z.string().optional(),
87
- tooltip: z.string().optional(),
88
- icon: z.string().optional(),
89
- value: z.string().nullable(),
90
- options: z.array(AgentSelectOptionSchema),
91
- });
92
- export const AgentFeatureSchema = z.discriminatedUnion("type", [
93
- AgentFeatureToggleSchema,
94
- AgentFeatureSelectSchema,
95
- ]);
96
- const AgentModelDefinitionSchema = z
97
- .object({
98
- provider: AgentProviderSchema,
99
- id: z.string(),
100
- label: z.string(),
101
- description: z.string().optional(),
102
- isDefault: z.boolean().optional(),
103
- metadata: z.record(z.unknown()).optional(),
104
- thinkingOptions: z.array(AgentSelectOptionSchema).optional(),
105
- defaultThinkingOptionId: z.string().optional(),
106
- })
107
- .transform(normalizeAgentModelDefinition);
108
- export const ProviderSnapshotEntrySchema = z.object({
109
- provider: AgentProviderSchema,
110
- status: ProviderStatusSchema,
111
- enabled: z.boolean().optional().default(true),
112
- error: z.string().optional(),
113
- models: z.array(AgentModelDefinitionSchema).optional(),
114
- modes: z.array(AgentModeSchema).optional(),
115
- fetchedAt: z.string().optional(),
116
- label: z.string().optional(),
117
- description: z.string().optional(),
118
- defaultModeId: z.string().nullable().optional(),
119
- });
120
- const AgentCapabilityFlagsSchema = z.object({
121
- supportsStreaming: z.boolean(),
122
- supportsSessionPersistence: z.boolean(),
123
- supportsDynamicModes: z.boolean(),
124
- supportsMcpServers: z.boolean(),
125
- supportsReasoningStream: z.boolean(),
126
- supportsToolInvocations: z.boolean(),
127
- // COMPAT(rewind): added in v0.1.X, drop when floor >= v0.1.X.
128
- supportsRewindConversation: z.boolean().optional().default(false),
129
- // COMPAT(rewind): added in v0.1.X, drop when floor >= v0.1.X.
130
- supportsRewindFiles: z.boolean().optional().default(false),
131
- // COMPAT(rewind): added in v0.1.X, drop when floor >= v0.1.X.
132
- supportsRewindBoth: z.boolean().optional().default(false),
133
- });
134
- const AgentUsageSchema = z.object({
135
- inputTokens: z.number().optional(),
136
- cachedInputTokens: z.number().optional(),
137
- outputTokens: z.number().optional(),
138
- totalCostUsd: z.number().optional(),
139
- contextWindowMaxTokens: z.number().optional(),
140
- contextWindowUsedTokens: z.number().optional(),
141
- });
142
- const McpStdioServerConfigSchema = z.object({
143
- type: z.literal("stdio"),
144
- command: z.string(),
145
- args: z.array(z.string()).optional(),
146
- env: z.record(z.string()).optional(),
147
- });
148
- const McpHttpServerConfigSchema = z.object({
149
- type: z.literal("http"),
150
- url: z.string(),
151
- headers: z.record(z.string()).optional(),
152
- });
153
- const McpSseServerConfigSchema = z.object({
154
- type: z.literal("sse"),
155
- url: z.string(),
156
- headers: z.record(z.string()).optional(),
157
- });
158
- const McpServerConfigSchema = z.discriminatedUnion("type", [
159
- McpStdioServerConfigSchema,
160
- McpHttpServerConfigSchema,
161
- McpSseServerConfigSchema,
162
- ]);
163
- const AgentSessionConfigSchema = z.object({
164
- provider: AgentProviderSchema,
165
- cwd: z.string(),
166
- modeId: z.string().optional(),
167
- model: z.string().optional(),
168
- thinkingOptionId: z.string().optional(),
169
- featureValues: z.record(z.unknown()).optional(),
170
- title: z.string().trim().min(1).max(MAX_EXPLICIT_AGENT_TITLE_CHARS).optional().nullable(),
171
- approvalPolicy: z.string().optional(),
172
- sandboxMode: z.string().optional(),
173
- networkAccess: z.boolean().optional(),
174
- webSearch: z.boolean().optional(),
175
- extra: z
176
- .object({
177
- codex: z.record(z.unknown()).optional(),
178
- claude: z.record(z.unknown()).optional(),
179
- })
180
- .partial()
181
- .optional(),
182
- systemPrompt: z.string().optional(),
183
- mcpServers: z.record(McpServerConfigSchema).optional(),
184
- });
185
- const AgentPermissionUpdateSchema = z.record(z.unknown());
186
- const AgentPermissionActionSchema = z.object({
187
- id: z.string(),
188
- label: z.string(),
189
- behavior: z.enum(["allow", "deny"]),
190
- variant: z.enum(["primary", "secondary", "danger"]).optional(),
191
- intent: z.enum(["implement", "implement_resume", "dismiss"]).optional(),
192
- });
193
- export const AgentPermissionResponseSchema = z.union([
194
- z.object({
195
- behavior: z.literal("allow"),
196
- selectedActionId: z.string().optional(),
197
- updatedInput: z.record(z.unknown()).optional(),
198
- updatedPermissions: z.array(AgentPermissionUpdateSchema).optional(),
199
- }),
200
- z.object({
201
- behavior: z.literal("deny"),
202
- selectedActionId: z.string().optional(),
203
- message: z.string().optional(),
204
- interrupt: z.boolean().optional(),
205
- }),
206
- ]);
207
- export const AgentPermissionRequestPayloadSchema = z.object({
208
- id: z.string(),
209
- provider: AgentProviderSchema,
210
- name: z.string(),
211
- kind: z.enum(["tool", "plan", "question", "mode", "other"]),
212
- title: z.string().optional(),
213
- description: z.string().optional(),
214
- input: z.record(z.unknown()).optional(),
215
- detail: z.lazy(() => ToolCallDetailPayloadSchema).optional(),
216
- suggestions: z.array(AgentPermissionUpdateSchema).optional(),
217
- actions: z.array(AgentPermissionActionSchema).optional(),
218
- metadata: z.record(z.unknown()).optional(),
219
- });
220
- const UnknownValueSchema = z.union([
221
- z.null(),
222
- z.boolean(),
223
- z.number(),
224
- z.string(),
225
- z.array(z.unknown()),
226
- z.object({}).passthrough(),
227
- ]);
228
- const NonNullUnknownSchema = z.union([
229
- z.boolean(),
230
- z.number(),
231
- z.string(),
232
- z.array(z.unknown()),
233
- z.object({}).passthrough(),
234
- ]);
235
- const WorktreeSetupCommandSnapshotSchema = z.object({
236
- index: z.number().int().positive(),
237
- command: z.string(),
238
- cwd: z.string(),
239
- log: z.string().optional().default(""),
240
- status: z.enum(["running", "completed", "failed"]),
241
- exitCode: z.number().nullable(),
242
- durationMs: z.number().nonnegative().optional(),
243
- });
244
- const WorktreeSetupDetailPayloadSchema = z.object({
245
- type: z.literal("worktree_setup"),
246
- worktreePath: z.string(),
247
- branchName: z.string(),
248
- log: z.string(),
249
- commands: z.array(WorktreeSetupCommandSnapshotSchema),
250
- truncated: z.boolean().optional(),
251
- });
252
- const ToolCallDetailPayloadSchema = z.discriminatedUnion("type", [
253
- WorktreeSetupDetailPayloadSchema,
254
- z.object({
255
- type: z.literal("shell"),
256
- command: z.string(),
257
- cwd: z.string().optional(),
258
- output: z.string().optional(),
259
- exitCode: z.number().nullable().optional(),
260
- }),
261
- z.object({
262
- type: z.literal("read"),
263
- filePath: z.string(),
264
- content: z.string().optional(),
265
- offset: z.number().optional(),
266
- limit: z.number().optional(),
267
- }),
268
- z.object({
269
- type: z.literal("edit"),
270
- filePath: z.string(),
271
- oldString: z.string().optional(),
272
- newString: z.string().optional(),
273
- unifiedDiff: z.string().optional(),
274
- }),
275
- z.object({
276
- type: z.literal("write"),
277
- filePath: z.string(),
278
- content: z.string().optional(),
279
- }),
280
- z.object({
281
- type: z.literal("search"),
282
- query: z.string(),
283
- toolName: z.enum(["search", "grep", "glob", "web_search"]).optional(),
284
- content: z.string().optional(),
285
- filePaths: z.array(z.string()).optional(),
286
- webResults: z
287
- .array(z.object({
288
- title: z.string(),
289
- url: z.string(),
290
- }))
291
- .optional(),
292
- annotations: z.array(z.string()).optional(),
293
- numFiles: z.number().optional(),
294
- numMatches: z.number().optional(),
295
- durationMs: z.number().optional(),
296
- durationSeconds: z.number().optional(),
297
- truncated: z.boolean().optional(),
298
- mode: z.enum(["content", "files_with_matches", "count"]).optional(),
299
- }),
300
- z.object({
301
- type: z.literal("fetch"),
302
- url: z.string(),
303
- prompt: z.string().optional(),
304
- result: z.string().optional(),
305
- code: z.number().optional(),
306
- codeText: z.string().optional(),
307
- bytes: z.number().optional(),
308
- durationMs: z.number().optional(),
309
- }),
310
- z.object({
311
- type: z.literal("sub_agent"),
312
- subAgentType: z.string().optional(),
313
- description: z.string().optional(),
314
- childSessionId: z.string().optional(),
315
- log: z.string(),
316
- // Compat cruft for clients <= 0.1.65-beta.3 that required this field. Producers still
317
- // emit `[]`; nothing reads it. Drop the field (and the `[]` emissions) once those
318
- // clients are no longer in the field.
319
- actions: z
320
- .array(z.object({
321
- index: z.number().int().positive(),
322
- toolName: z.string(),
323
- summary: z.string().optional(),
324
- }))
325
- .optional(),
326
- }),
327
- z.object({
328
- type: z.literal("plain_text"),
329
- label: z.string().optional(),
330
- text: z.string().optional(),
331
- icon: z.enum(TOOL_CALL_ICON_NAMES).optional(),
332
- }),
333
- z.object({
334
- type: z.literal("plan"),
335
- text: z.string(),
336
- }),
337
- z.object({
338
- type: z.literal("unknown"),
339
- input: UnknownValueSchema,
340
- output: UnknownValueSchema,
341
- }),
342
- ]);
343
- const ToolCallBasePayloadSchema = z
344
- .object({
345
- type: z.literal("tool_call"),
346
- callId: z.string(),
347
- name: z.string(),
348
- detail: ToolCallDetailPayloadSchema,
349
- metadata: z.record(z.string(), z.unknown()).optional(),
350
- })
351
- .strict();
352
- const ToolCallRunningPayloadSchema = ToolCallBasePayloadSchema.extend({
353
- status: z.literal("running"),
354
- error: z.null(),
355
- });
356
- const ToolCallCompletedPayloadSchema = ToolCallBasePayloadSchema.extend({
357
- status: z.literal("completed"),
358
- error: z.null(),
359
- });
360
- const ToolCallFailedPayloadSchema = ToolCallBasePayloadSchema.extend({
361
- status: z.literal("failed"),
362
- error: NonNullUnknownSchema,
363
- });
364
- const ToolCallCanceledPayloadSchema = ToolCallBasePayloadSchema.extend({
365
- status: z.literal("canceled"),
366
- error: z.null(),
367
- });
368
- const ToolCallTimelineItemPayloadSchema = z.union([
369
- ToolCallRunningPayloadSchema,
370
- ToolCallCompletedPayloadSchema,
371
- ToolCallFailedPayloadSchema,
372
- ToolCallCanceledPayloadSchema,
373
- ]);
374
- export const AgentTimelineItemPayloadSchema = z.union([
375
- z.object({
376
- type: z.literal("user_message"),
377
- text: z.string(),
378
- messageId: z.string().optional(),
379
- }),
380
- z.object({
381
- type: z.literal("assistant_message"),
382
- text: z.string(),
383
- messageId: z.string().optional(),
384
- }),
385
- z.object({
386
- type: z.literal("reasoning"),
387
- text: z.string(),
388
- }),
389
- ToolCallTimelineItemPayloadSchema,
390
- z.object({
391
- type: z.literal("todo"),
392
- items: z.array(z.object({
393
- text: z.string(),
394
- completed: z.boolean(),
395
- })),
396
- }),
397
- z.object({
398
- type: z.literal("error"),
399
- message: z.string(),
400
- }),
401
- z.object({
402
- type: z.literal("compaction"),
403
- status: z.enum(["loading", "completed"]),
404
- trigger: z.enum(["auto", "manual"]).optional(),
405
- preTokens: z.number().optional(),
406
- }),
407
- ]);
408
- export const AgentStreamEventPayloadSchema = z.discriminatedUnion("type", [
409
- z.object({
410
- type: z.literal("thread_started"),
411
- sessionId: z.string(),
412
- provider: AgentProviderSchema,
413
- }),
414
- z.object({
415
- type: z.literal("turn_started"),
416
- provider: AgentProviderSchema,
417
- }),
418
- z.object({
419
- type: z.literal("turn_completed"),
420
- provider: AgentProviderSchema,
421
- usage: AgentUsageSchema.optional(),
422
- }),
423
- z.object({
424
- type: z.literal("turn_failed"),
425
- provider: AgentProviderSchema,
426
- error: z.string(),
427
- code: z.string().optional(),
428
- diagnostic: z.string().optional(),
429
- }),
430
- z.object({
431
- type: z.literal("turn_canceled"),
432
- provider: AgentProviderSchema,
433
- reason: z.string(),
434
- }),
435
- z.object({
436
- type: z.literal("timeline"),
437
- provider: AgentProviderSchema,
438
- item: AgentTimelineItemPayloadSchema,
439
- }),
440
- z.object({
441
- type: z.literal("permission_requested"),
442
- provider: AgentProviderSchema,
443
- request: AgentPermissionRequestPayloadSchema,
444
- }),
445
- z.object({
446
- type: z.literal("permission_resolved"),
447
- provider: AgentProviderSchema,
448
- requestId: z.string(),
449
- resolution: AgentPermissionResponseSchema,
450
- }),
451
- z.object({
452
- type: z.literal("attention_required"),
453
- provider: AgentProviderSchema,
454
- reason: z.enum(["finished", "error", "permission"]),
455
- timestamp: z.string(),
456
- shouldNotify: z.boolean(),
457
- notification: z
458
- .object({
459
- title: z.string(),
460
- body: z.string(),
461
- data: z.object({
462
- serverId: z.string(),
463
- agentId: z.string(),
464
- reason: z.enum(["finished", "error", "permission"]),
465
- }),
466
- })
467
- .optional(),
468
- }),
469
- ]);
470
- const AgentPersistenceHandleSchema = z
471
- .object({
472
- provider: AgentProviderSchema,
473
- sessionId: z.string(),
474
- nativeHandle: z.string().optional(),
475
- metadata: z.record(z.string(), z.unknown()).optional(),
476
- })
477
- .nullable();
478
- const AgentRuntimeInfoSchema = z.object({
479
- provider: AgentProviderSchema,
480
- sessionId: z.string().nullable(),
481
- model: z.string().nullable().optional(),
482
- thinkingOptionId: z.string().nullable().optional(),
483
- modeId: z.string().nullable().optional(),
484
- extra: z.record(z.string(), z.unknown()).optional(),
485
- });
486
- export const AgentSnapshotPayloadSchema = z.object({
487
- id: z.string(),
488
- provider: AgentProviderSchema,
489
- cwd: z.string(),
490
- model: z.string().nullable(),
491
- features: z.array(AgentFeatureSchema).optional(),
492
- thinkingOptionId: z.string().nullable().optional(),
493
- effectiveThinkingOptionId: z.string().nullable().optional(),
494
- createdAt: z.string(),
495
- updatedAt: z.string(),
496
- lastUserMessageAt: z.string().nullable(),
497
- status: AgentStatusSchema,
498
- capabilities: AgentCapabilityFlagsSchema,
499
- currentModeId: z.string().nullable(),
500
- availableModes: z.array(AgentModeSchema),
501
- pendingPermissions: z.array(AgentPermissionRequestPayloadSchema),
502
- persistence: AgentPersistenceHandleSchema.nullable(),
503
- runtimeInfo: AgentRuntimeInfoSchema.optional(),
504
- lastUsage: AgentUsageSchema.optional(),
505
- lastError: z.string().optional(),
506
- title: z.string().nullable(),
507
- labels: z.record(z.string(), z.string()).default({}),
508
- requiresAttention: z.boolean().optional(),
509
- attentionReason: z.enum(["finished", "error", "permission"]).nullable().optional(),
510
- attentionTimestamp: z.string().nullable().optional(),
511
- archivedAt: z.string().nullable().optional(),
512
- providerUnavailable: z.boolean().optional(),
513
- });
514
- export const AgentListItemPayloadSchema = z.object({
515
- id: z.string(),
516
- shortId: z.string(),
517
- title: z.string().nullable(),
518
- provider: AgentProviderSchema,
519
- model: z.string().nullable(),
520
- thinkingOptionId: z.string().nullable().optional(),
521
- effectiveThinkingOptionId: z.string().nullable().optional(),
522
- status: AgentStatusSchema,
523
- cwd: z.string(),
524
- createdAt: z.string(),
525
- updatedAt: z.string(),
526
- lastUserMessageAt: z.string().nullable(),
527
- archivedAt: z.string().nullable().optional(),
528
- requiresAttention: z.boolean().optional(),
529
- attentionReason: z.enum(["finished", "error", "permission"]).nullable().optional(),
530
- attentionTimestamp: z.string().nullable().optional(),
531
- labels: z.record(z.string(), z.string()).default({}),
532
- providerUnavailable: z.boolean().optional(),
533
- });
534
- export const RecentProviderSessionDescriptorPayloadSchema = z.object({
535
- providerId: z.string(),
536
- providerLabel: z.string(),
537
- providerHandleId: z.string(),
538
- cwd: z.string(),
539
- title: z.string().nullable(),
540
- firstPromptPreview: z.string().nullable(),
541
- lastPromptPreview: z.string().nullable(),
542
- lastActivityAt: z.string(),
543
- });
544
- // ============================================================================
545
- // Session Inbound Messages (Session receives these)
546
- // ============================================================================
547
- export const VoiceAudioChunkMessageSchema = z.object({
548
- type: z.literal("voice_audio_chunk"),
549
- audio: z.string(), // base64 encoded
550
- format: z.string(),
551
- isLast: z.boolean(),
552
- });
553
- export const AbortRequestMessageSchema = z.object({
554
- type: z.literal("abort_request"),
555
- });
556
- export const AudioPlayedMessageSchema = z.object({
557
- type: z.literal("audio_played"),
558
- id: z.string(),
559
- });
560
- const AgentDirectoryFilterSchema = z.object({
561
- labels: z.record(z.string()).optional(),
562
- projectKeys: z.array(z.string()).optional(),
563
- statuses: z.array(AgentStatusSchema).optional(),
564
- includeArchived: z.boolean().optional(),
565
- requiresAttention: z.boolean().optional(),
566
- thinkingOptionId: z.string().nullable().optional(),
567
- });
568
- export const DeleteAgentRequestMessageSchema = z.object({
569
- type: z.literal("delete_agent_request"),
570
- agentId: z.string(),
571
- requestId: z.string(),
572
- });
573
- export const ArchiveAgentRequestMessageSchema = z.object({
574
- type: z.literal("archive_agent_request"),
575
- agentId: z.string(),
576
- requestId: z.string(),
577
- });
578
- export const CloseItemsRequestMessageSchema = z.object({
579
- type: z.literal("close_items_request"),
580
- agentIds: z.array(z.string()).default([]),
581
- terminalIds: z.array(z.string()).default([]),
582
- requestId: z.string(),
583
- });
584
- export const UpdateAgentRequestMessageSchema = z.object({
585
- type: z.literal("update_agent_request"),
586
- agentId: z.string(),
587
- name: z.string().optional(),
588
- labels: z.record(z.string()).optional(),
589
- requestId: z.string(),
590
- });
591
- export const ProjectRenameRequestSchema = z.object({
592
- type: z.literal("project.rename.request"),
593
- projectId: z.string(),
594
- // Null or empty string clears the override and reverts to the derived name.
595
- customName: z.string().nullable(),
596
- requestId: z.string(),
597
- });
598
- export const SetVoiceModeMessageSchema = z.object({
599
- type: z.literal("set_voice_mode"),
600
- enabled: z.boolean(),
601
- agentId: z.string().optional(),
602
- requestId: z.string().optional(),
603
- });
604
- export const GitHubPrAttachmentSchema = z.object({
605
- type: z.literal("github_pr"),
606
- mimeType: z.literal("application/github-pr"),
607
- number: z.number().int().positive(),
608
- title: z.string(),
609
- url: z.string(),
610
- body: z.string().nullable().optional(),
611
- baseRefName: z.string().nullable().optional(),
612
- headRefName: z.string().nullable().optional(),
613
- });
614
- export const GitHubIssueAttachmentSchema = z.object({
615
- type: z.literal("github_issue"),
616
- mimeType: z.literal("application/github-issue"),
617
- number: z.number().int().positive(),
618
- title: z.string(),
619
- url: z.string(),
620
- body: z.string().nullable().optional(),
621
- });
622
- export const TextAttachmentSchema = z.object({
623
- type: z.literal("text"),
624
- mimeType: z.literal("text/plain"),
625
- title: z.string().nullable().optional(),
626
- text: z.string(),
627
- });
628
- export const ReviewAttachmentContextLineSchema = z.object({
629
- oldLineNumber: z.number().int().positive().nullable(),
630
- newLineNumber: z.number().int().positive().nullable(),
631
- type: z.enum(["add", "remove", "context"]),
632
- content: z.string(),
633
- });
634
- export const ReviewAttachmentCommentSchema = z.object({
635
- filePath: z.string(),
636
- side: z.enum(["old", "new"]),
637
- lineNumber: z.number().int().positive(),
638
- body: z.string(),
639
- context: z.object({
640
- hunkHeader: z.string(),
641
- targetLine: ReviewAttachmentContextLineSchema,
642
- lines: z.array(ReviewAttachmentContextLineSchema),
643
- }),
644
- });
645
- export const ReviewAttachmentSchema = z.object({
646
- type: z.literal("review"),
647
- mimeType: z.literal("application/paseo-review"),
648
- cwd: z.string(),
649
- mode: z.enum(["uncommitted", "base"]),
650
- baseRef: z.string().nullable().optional(),
651
- comments: z.array(ReviewAttachmentCommentSchema),
652
- });
653
- export const AgentAttachmentSchema = z.discriminatedUnion("type", [
654
- GitHubPrAttachmentSchema,
655
- GitHubIssueAttachmentSchema,
656
- TextAttachmentSchema,
657
- ReviewAttachmentSchema,
658
- ]);
659
- function normalizeAgentAttachments(input) {
660
- if (!Array.isArray(input)) {
661
- return [];
662
- }
663
- const normalized = [];
664
- for (const item of input) {
665
- const parsed = AgentAttachmentSchema.safeParse(item);
666
- if (parsed.success) {
667
- normalized.push(parsed.data);
668
- }
669
- }
670
- return normalized;
671
- }
672
- const AgentAttachmentsSchema = z.unknown().transform(normalizeAgentAttachments).optional();
673
- const ImageAttachmentSchema = z.object({
674
- data: z.string(), // base64 encoded image
675
- mimeType: z.string(), // e.g., "image/jpeg", "image/png"
676
- });
677
- export const SendAgentMessageSchema = z.object({
678
- type: z.literal("send_agent_message"),
679
- agentId: z.string(),
680
- text: z.string(),
681
- messageId: z.string().optional(), // Client-provided ID for deduplication
682
- images: z.array(ImageAttachmentSchema).optional(),
683
- attachments: AgentAttachmentsSchema,
684
- });
685
- // ============================================================================
686
- // Agent RPCs (requestId-correlated)
687
- // ============================================================================
688
- export const FetchAgentsRequestMessageSchema = z.object({
689
- type: z.literal("fetch_agents_request"),
690
- requestId: z.string(),
691
- scope: z.enum(["active"]).optional(),
692
- filter: AgentDirectoryFilterSchema.optional(),
693
- sort: z
694
- .array(z.object({
695
- key: z.enum(["status_priority", "created_at", "updated_at", "title"]),
696
- direction: z.enum(["asc", "desc"]),
697
- }))
698
- .optional(),
699
- page: z
700
- .object({
701
- limit: z.number().int().positive().max(200),
702
- cursor: z.string().min(1).optional(),
703
- })
704
- .optional(),
705
- subscribe: z
706
- .object({
707
- subscriptionId: z.string().optional(),
708
- })
709
- .optional(),
710
- });
711
- const WorkspaceStateBucketSchema = z.enum([
712
- "needs_input",
713
- "failed",
714
- "running",
715
- "attention",
716
- "done",
717
- ]);
718
- export const FetchWorkspacesRequestMessageSchema = z.object({
719
- type: z.literal("fetch_workspaces_request"),
720
- requestId: z.string(),
721
- filter: z
722
- .object({
723
- query: z.string().optional(),
724
- projectId: z.string().optional(),
725
- idPrefix: z.string().optional(),
726
- })
727
- .optional(),
728
- sort: z
729
- .array(z.object({
730
- key: z.enum(["status_priority", "activity_at", "name", "project_id"]),
731
- direction: z.enum(["asc", "desc"]),
732
- }))
733
- .optional(),
734
- page: z
735
- .object({
736
- limit: z.number().int().positive().max(200),
737
- cursor: z.string().min(1).optional(),
738
- })
739
- .optional(),
740
- subscribe: z
741
- .object({
742
- subscriptionId: z.string().optional(),
743
- })
744
- .optional(),
745
- });
746
- export const FetchAgentHistoryRequestMessageSchema = z.object({
747
- type: z.literal("fetch_agent_history_request"),
748
- requestId: z.string(),
749
- filter: AgentDirectoryFilterSchema.optional(),
750
- sort: z
751
- .array(z.object({
752
- key: z.enum(["status_priority", "created_at", "updated_at", "title"]),
753
- direction: z.enum(["asc", "desc"]),
754
- }))
755
- .optional(),
756
- page: z
757
- .object({
758
- limit: z.number().int().positive().max(200),
759
- cursor: z.string().min(1).optional(),
760
- })
761
- .optional(),
762
- });
763
- export const FetchRecentProviderSessionsRequestMessageSchema = z.object({
764
- type: z.literal("fetch_recent_provider_sessions_request"),
765
- requestId: z.string(),
766
- cwd: z.string().optional(),
767
- providers: z.array(z.string()).optional(),
768
- since: z.string().optional(),
769
- limit: z.number().int().positive().max(200).optional(),
770
- });
771
- export const FetchAgentRequestMessageSchema = z.object({
772
- type: z.literal("fetch_agent_request"),
773
- requestId: z.string(),
774
- /** Accepts full ID, unique prefix, or exact full title (server resolves). */
775
- agentId: z.string(),
776
- });
777
- export const SendAgentMessageRequestSchema = z.object({
778
- type: z.literal("send_agent_message_request"),
779
- requestId: z.string(),
780
- /** Accepts full ID, unique prefix, or exact full title (server resolves). */
781
- agentId: z.string(),
782
- text: z.string(),
783
- messageId: z.string().optional(), // Client-provided ID for deduplication
784
- images: z.array(ImageAttachmentSchema).optional(),
785
- attachments: AgentAttachmentsSchema,
786
- });
787
- export const WaitForFinishRequestSchema = z.object({
788
- type: z.literal("wait_for_finish_request"),
789
- requestId: z.string(),
790
- /** Accepts full ID, unique prefix, or exact full title (server resolves). */
791
- agentId: z.string(),
792
- timeoutMs: z.number().int().positive().optional(),
793
- });
794
- export const DaemonGetStatusRequestSchema = z.object({
795
- type: z.literal("daemon.get_status.request"),
796
- requestId: z.string(),
797
- });
798
- export const DaemonGetPairingOfferRequestSchema = z.object({
799
- type: z.literal("daemon.get_pairing_offer.request"),
800
- requestId: z.string(),
801
- });
802
- export const GetDaemonConfigRequestMessageSchema = z.object({
803
- type: z.literal("get_daemon_config_request"),
804
- requestId: z.string(),
805
- });
806
- export const SetDaemonConfigRequestMessageSchema = z.object({
807
- type: z.literal("set_daemon_config_request"),
808
- requestId: z.string(),
809
- config: MutableDaemonConfigPatchSchema,
810
- });
811
- export const ReadProjectConfigRequestMessageSchema = z.object({
812
- type: z.literal("read_project_config_request"),
813
- requestId: z.string(),
814
- repoRoot: z.string(),
815
- });
816
- export const WriteProjectConfigRequestMessageSchema = z.object({
817
- type: z.literal("write_project_config_request"),
818
- requestId: z.string(),
819
- repoRoot: z.string(),
820
- config: PaseoConfigRawSchema,
821
- expectedRevision: PaseoConfigRevisionSchema.nullable(),
822
- });
823
- // ============================================================================
824
- // Dictation Streaming (lossless, resumable)
825
- // ============================================================================
826
- export const DictationStreamStartMessageSchema = z.object({
827
- type: z.literal("dictation_stream_start"),
828
- dictationId: z.string(),
829
- format: z.string(), // e.g. "audio/pcm;rate=16000;bits=16"
830
- });
831
- export const DictationStreamChunkMessageSchema = z.object({
832
- type: z.literal("dictation_stream_chunk"),
833
- dictationId: z.string(),
834
- seq: z.number().int().nonnegative(),
835
- audio: z.string(), // base64 encoded chunk
836
- format: z.string(), // e.g. "audio/pcm;rate=16000;bits=16"
837
- });
838
- export const DictationStreamFinishMessageSchema = z.object({
839
- type: z.literal("dictation_stream_finish"),
840
- dictationId: z.string(),
841
- finalSeq: z.number().int().nonnegative(),
842
- });
843
- export const DictationStreamCancelMessageSchema = z.object({
844
- type: z.literal("dictation_stream_cancel"),
845
- dictationId: z.string(),
846
- });
847
- const GitSetupOptionsSchema = z.object({
848
- baseBranch: z.string().optional(),
849
- createNewBranch: z.boolean().optional(),
850
- newBranchName: z.string().optional(),
851
- createWorktree: z.boolean().optional(),
852
- worktreeSlug: z.string().optional(),
853
- refName: z.string().min(1).optional(),
854
- action: z.enum(["branch-off", "checkout"]).optional(),
855
- githubPrNumber: z.number().int().positive().optional(),
856
- });
857
- export const CreateAgentWorktreeTargetSchema = z.discriminatedUnion("mode", [
858
- z.object({
859
- mode: z.literal("branch-off"),
860
- newBranch: z.string().min(1),
861
- base: z.string().min(1).optional(),
862
- }),
863
- z.object({
864
- mode: z.literal("checkout-branch"),
865
- branch: z.string().min(1),
866
- }),
867
- z.object({
868
- mode: z.literal("checkout-pr"),
869
- prNumber: z.number().int().positive(),
870
- }),
871
- ]);
872
- export const CreateAgentRequestMessageSchema = z.object({
873
- type: z.literal("create_agent_request"),
874
- config: AgentSessionConfigSchema,
875
- env: z.record(z.string()).optional(),
876
- workspaceId: z.string().optional(),
877
- worktreeName: z.string().optional(),
878
- initialPrompt: z.string().optional(),
879
- clientMessageId: z.string().optional(),
880
- outputSchema: z.record(z.unknown()).optional(),
881
- images: z.array(ImageAttachmentSchema).optional(),
882
- attachments: AgentAttachmentsSchema,
883
- git: GitSetupOptionsSchema.optional(),
884
- worktree: CreateAgentWorktreeTargetSchema.optional(),
885
- autoArchive: z.boolean().optional(),
886
- labels: z.record(z.string()).default({}),
887
- requestId: z.string(),
888
- });
889
- export const ListProviderModelsRequestMessageSchema = z.object({
890
- type: z.literal("list_provider_models_request"),
891
- provider: AgentProviderSchema,
892
- cwd: z.string().optional(),
893
- requestId: z.string(),
894
- });
895
- export const ListProviderModesRequestMessageSchema = z.object({
896
- type: z.literal("list_provider_modes_request"),
897
- provider: AgentProviderSchema,
898
- cwd: z.string().optional(),
899
- requestId: z.string(),
900
- });
901
- export const ListAvailableProvidersRequestMessageSchema = z.object({
902
- type: z.literal("list_available_providers_request"),
903
- requestId: z.string(),
904
- });
905
- export const GetProvidersSnapshotRequestMessageSchema = z.object({
906
- type: z.literal("get_providers_snapshot_request"),
907
- cwd: z.string().optional(),
908
- requestId: z.string(),
909
- });
910
- export const RefreshProvidersSnapshotRequestMessageSchema = z.object({
911
- type: z.literal("refresh_providers_snapshot_request"),
912
- cwd: z.string().optional(),
913
- providers: z.array(AgentProviderSchema).optional(),
914
- requestId: z.string(),
915
- });
916
- export const ProviderDiagnosticRequestMessageSchema = z.object({
917
- type: z.literal("provider_diagnostic_request"),
918
- provider: AgentProviderSchema,
919
- requestId: z.string(),
920
- });
921
- export const ResumeAgentRequestMessageSchema = z.object({
922
- type: z.literal("resume_agent_request"),
923
- handle: AgentPersistenceHandleSchema,
924
- overrides: AgentSessionConfigSchema.partial().optional(),
925
- requestId: z.string(),
926
- });
927
- export const ImportAgentRequestMessageSchema = z.object({
928
- type: z.literal("import_agent_request"),
929
- provider: AgentProviderSchema.optional(),
930
- providerId: z.string().optional(),
931
- sessionId: z.string().optional(),
932
- providerHandleId: z.string().optional(),
933
- cwd: z.string().optional(),
934
- labels: z.record(z.string()).optional(),
935
- requestId: z.string(),
936
- });
937
- export const RefreshAgentRequestMessageSchema = z.object({
938
- type: z.literal("refresh_agent_request"),
939
- agentId: z.string(),
940
- requestId: z.string(),
941
- });
942
- export const CancelAgentRequestMessageSchema = z.object({
943
- type: z.literal("cancel_agent_request"),
944
- agentId: z.string(),
945
- requestId: z.string().optional(),
946
- });
947
- export const RestartServerRequestMessageSchema = z.object({
948
- type: z.literal("restart_server_request"),
949
- reason: z.string().optional(),
950
- requestId: z.string(),
951
- });
952
- export const ShutdownServerRequestMessageSchema = z.object({
953
- type: z.literal("shutdown_server_request"),
954
- requestId: z.string(),
955
- });
956
- export const AgentTimelineCursorSchema = z.object({
957
- epoch: z.string(),
958
- seq: z.number().int().nonnegative(),
959
- });
960
- export const FetchAgentTimelineRequestMessageSchema = z.object({
961
- type: z.literal("fetch_agent_timeline_request"),
962
- agentId: z.string(),
963
- requestId: z.string(),
964
- direction: z.enum(["tail", "before", "after"]).optional(),
965
- cursor: AgentTimelineCursorSchema.optional(),
966
- // 0 means "all matching rows for this query window".
967
- limit: z.number().int().nonnegative().optional(),
968
- // Default should be projected for app timeline loading.
969
- projection: z.enum(["projected", "canonical"]).optional(),
970
- });
971
- export const SetAgentModeRequestMessageSchema = z.object({
972
- type: z.literal("set_agent_mode_request"),
973
- agentId: z.string(),
974
- modeId: z.string(),
975
- requestId: z.string(),
976
- });
977
- const AgentActionResponsePayloadSchema = z.object({
978
- requestId: z.string(),
979
- agentId: z.string(),
980
- accepted: z.boolean(),
981
- error: z.string().nullable(),
982
- });
983
- export const SetAgentModeResponseMessageSchema = z.object({
984
- type: z.literal("set_agent_mode_response"),
985
- payload: AgentActionResponsePayloadSchema,
986
- });
987
- export const SetAgentModelRequestMessageSchema = z.object({
988
- type: z.literal("set_agent_model_request"),
989
- agentId: z.string(),
990
- modelId: z.string().nullable(),
991
- requestId: z.string(),
992
- });
993
- export const SetAgentModelResponseMessageSchema = z.object({
994
- type: z.literal("set_agent_model_response"),
995
- payload: AgentActionResponsePayloadSchema,
996
- });
997
- export const SetAgentThinkingRequestMessageSchema = z.object({
998
- type: z.literal("set_agent_thinking_request"),
999
- agentId: z.string(),
1000
- thinkingOptionId: z.string().nullable(),
1001
- requestId: z.string(),
1002
- });
1003
- export const SetAgentThinkingResponseMessageSchema = z.object({
1004
- type: z.literal("set_agent_thinking_response"),
1005
- payload: AgentActionResponsePayloadSchema,
1006
- });
1007
- export const SetAgentFeatureRequestMessageSchema = z.object({
1008
- type: z.literal("set_agent_feature_request"),
1009
- agentId: z.string(),
1010
- featureId: z.string(),
1011
- value: z.unknown(),
1012
- requestId: z.string(),
1013
- });
1014
- export const SetAgentFeatureResponseMessageSchema = z.object({
1015
- type: z.literal("set_agent_feature_response"),
1016
- payload: AgentActionResponsePayloadSchema,
1017
- });
1018
- export const AgentRewindModeSchema = z.enum(["conversation", "files", "both"]);
1019
- export const AgentRewindRequestMessageSchema = z.object({
1020
- type: z.literal("agent.rewind.request"),
1021
- agentId: z.string(),
1022
- messageId: z.string(),
1023
- mode: AgentRewindModeSchema,
1024
- requestId: z.string(),
1025
- });
1026
- export const AgentRewindResponseMessageSchema = z.object({
1027
- type: z.literal("agent.rewind.response"),
1028
- payload: z.object({
1029
- requestId: z.string(),
1030
- agentId: z.string(),
1031
- ok: z.boolean(),
1032
- error: z.string().nullable(),
1033
- }),
1034
- });
1035
- export const UpdateAgentResponseMessageSchema = z.object({
1036
- type: z.literal("update_agent_response"),
1037
- payload: AgentActionResponsePayloadSchema,
1038
- });
1039
- export const ProjectRenameResponsePayloadSchema = z.object({
1040
- requestId: z.string(),
1041
- projectId: z.string(),
1042
- accepted: z.boolean(),
1043
- customName: z.string().nullable(),
1044
- error: z.string().nullable(),
1045
- });
1046
- export const ProjectRenameResponseSchema = z.object({
1047
- type: z.literal("project.rename.response"),
1048
- payload: ProjectRenameResponsePayloadSchema,
1049
- });
1050
- export const SetVoiceModeResponseMessageSchema = z.object({
1051
- type: z.literal("set_voice_mode_response"),
1052
- payload: z.object({
1053
- requestId: z.string(),
1054
- enabled: z.boolean(),
1055
- agentId: z.string().nullable(),
1056
- accepted: z.boolean(),
1057
- error: z.string().nullable(),
1058
- reasonCode: z.string().optional(),
1059
- retryable: z.boolean().optional(),
1060
- missingModelIds: z.array(z.string()).optional(),
1061
- }),
1062
- });
1063
- export const AgentPermissionResponseMessageSchema = z.object({
1064
- type: z.literal("agent_permission_response"),
1065
- agentId: z.string(),
1066
- requestId: z.string(),
1067
- response: AgentPermissionResponseSchema,
1068
- });
1069
- const CheckoutErrorCodeSchema = z.enum([
1070
- "NOT_GIT_REPO",
1071
- "NOT_ALLOWED",
1072
- "MERGE_CONFLICT",
1073
- "UNKNOWN",
1074
- ]);
1075
- const CheckoutErrorSchema = z.object({
1076
- code: CheckoutErrorCodeSchema,
1077
- message: z.string(),
1078
- });
1079
- const CheckoutDiffCompareSchema = z.object({
1080
- mode: z.enum(["uncommitted", "base"]),
1081
- baseRef: z.string().optional(),
1082
- ignoreWhitespace: z.boolean().optional(),
1083
- });
1084
- export const CheckoutStatusRequestSchema = z.object({
1085
- type: z.literal("checkout_status_request"),
1086
- cwd: z.string(),
1087
- requestId: z.string(),
1088
- });
1089
- export const SubscribeCheckoutDiffRequestSchema = z.object({
1090
- type: z.literal("subscribe_checkout_diff_request"),
1091
- subscriptionId: z.string(),
1092
- cwd: z.string(),
1093
- compare: CheckoutDiffCompareSchema,
1094
- requestId: z.string(),
1095
- });
1096
- export const UnsubscribeCheckoutDiffRequestSchema = z.object({
1097
- type: z.literal("unsubscribe_checkout_diff_request"),
1098
- subscriptionId: z.string(),
1099
- });
1100
- export const CheckoutCommitRequestSchema = z.object({
1101
- type: z.literal("checkout_commit_request"),
1102
- cwd: z.string(),
1103
- message: z.string().optional(),
1104
- addAll: z.boolean().optional(),
1105
- requestId: z.string(),
1106
- });
1107
- export const CheckoutMergeRequestSchema = z.object({
1108
- type: z.literal("checkout_merge_request"),
1109
- cwd: z.string(),
1110
- baseRef: z.string().optional(),
1111
- strategy: z.enum(["merge", "squash"]).optional(),
1112
- requireCleanTarget: z.boolean().optional(),
1113
- requestId: z.string(),
1114
- });
1115
- export const CheckoutMergeFromBaseRequestSchema = z.object({
1116
- type: z.literal("checkout_merge_from_base_request"),
1117
- cwd: z.string(),
1118
- baseRef: z.string().optional(),
1119
- requireCleanTarget: z.boolean().optional(),
1120
- requestId: z.string(),
1121
- });
1122
- export const CheckoutPullRequestSchema = z.object({
1123
- type: z.literal("checkout_pull_request"),
1124
- cwd: z.string(),
1125
- requestId: z.string(),
1126
- });
1127
- export const CheckoutPushRequestSchema = z.object({
1128
- type: z.literal("checkout_push_request"),
1129
- cwd: z.string(),
1130
- requestId: z.string(),
1131
- });
1132
- export const CheckoutPrCreateRequestSchema = z.object({
1133
- type: z.literal("checkout_pr_create_request"),
1134
- cwd: z.string(),
1135
- title: z.string().optional(),
1136
- body: z.string().optional(),
1137
- baseRef: z.string().optional(),
1138
- requestId: z.string(),
1139
- });
1140
- export const CheckoutPrMergeRequestSchema = z.object({
1141
- type: z.literal("checkout_pr_merge_request"),
1142
- cwd: z.string(),
1143
- mergeMethod: z.enum(["merge", "squash", "rebase"]),
1144
- requestId: z.string(),
1145
- });
1146
- export const CheckoutGithubSetAutoMergeRequestSchema = z.object({
1147
- type: z.literal("checkout.github.set_auto_merge.request"),
1148
- cwd: z.string(),
1149
- enabled: z.boolean(),
1150
- mergeMethod: z.enum(["merge", "squash", "rebase"]).optional(),
1151
- requestId: z.string(),
1152
- });
1153
- export const CheckoutPrStatusRequestSchema = z.object({
1154
- type: z.literal("checkout_pr_status_request"),
1155
- cwd: z.string(),
1156
- requestId: z.string(),
1157
- });
1158
- export const PullRequestTimelineRequestSchema = z.object({
1159
- type: z.literal("pull_request_timeline_request"),
1160
- cwd: z.string(),
1161
- prNumber: z.number(),
1162
- repoOwner: z.string(),
1163
- repoName: z.string(),
1164
- requestId: z.string(),
1165
- });
1166
- export const ValidateBranchRequestSchema = z.object({
1167
- type: z.literal("validate_branch_request"),
1168
- cwd: z.string(),
1169
- branchName: z.string(),
1170
- requestId: z.string(),
1171
- });
1172
- export const CheckoutSwitchBranchRequestSchema = z.object({
1173
- type: z.literal("checkout_switch_branch_request"),
1174
- cwd: z.string(),
1175
- branch: z.string(),
1176
- requestId: z.string(),
1177
- });
1178
- export const CheckoutRenameBranchRequestSchema = z.object({
1179
- type: z.literal("checkout.rename_branch.request"),
1180
- cwd: z.string(),
1181
- branch: z.string(),
1182
- requestId: z.string(),
1183
- });
1184
- export const StashSaveRequestSchema = z.object({
1185
- type: z.literal("stash_save_request"),
1186
- cwd: z.string(),
1187
- /** Branch name to tag the stash with for later identification. */
1188
- branch: z.string().optional(),
1189
- requestId: z.string(),
1190
- });
1191
- export const StashPopRequestSchema = z.object({
1192
- type: z.literal("stash_pop_request"),
1193
- cwd: z.string(),
1194
- /** Zero-based index from stash_list_response. */
1195
- stashIndex: z.number().int().min(0),
1196
- requestId: z.string(),
1197
- });
1198
- export const StashListRequestSchema = z.object({
1199
- type: z.literal("stash_list_request"),
1200
- cwd: z.string(),
1201
- /** If true, only return paseo-created stashes. Default true. */
1202
- paseoOnly: z.boolean().optional(),
1203
- requestId: z.string(),
1204
- });
1205
- export const BranchSuggestionsRequestSchema = z.object({
1206
- type: z.literal("branch_suggestions_request"),
1207
- cwd: z.string(),
1208
- query: z.string().optional(),
1209
- limit: z.number().int().min(1).max(200).optional(),
1210
- requestId: z.string(),
1211
- });
1212
- export const GitHubSearchItemSchema = z.object({
1213
- kind: z.enum(["issue", "pr"]),
1214
- number: z.number(),
1215
- title: z.string(),
1216
- url: z.string(),
1217
- state: z.string(),
1218
- body: z.string().nullable(),
1219
- labels: z.array(z.string()),
1220
- baseRefName: z.string().nullable().optional(),
1221
- headRefName: z.string().nullable().optional(),
1222
- updatedAt: z.string().optional(),
1223
- });
1224
- export const GitHubSearchKindSchema = z.enum(["github-issue", "github-pr"]);
1225
- export const GitHubSearchRequestSchema = z.object({
1226
- type: z.literal("github_search_request"),
1227
- cwd: z.string(),
1228
- query: z.string(),
1229
- limit: z.number().int().min(1).max(50).optional(),
1230
- kinds: z.array(GitHubSearchKindSchema).optional(),
1231
- requestId: z.string(),
1232
- });
1233
- export const DirectorySuggestionsRequestSchema = z.object({
1234
- type: z.literal("directory_suggestions_request"),
1235
- query: z.string(),
1236
- cwd: z.string().optional(),
1237
- includeFiles: z.boolean().optional(),
1238
- includeDirectories: z.boolean().optional(),
1239
- matchMode: z.enum(["fuzzy", "suffix"]).optional(),
1240
- limit: z.number().int().min(1).max(100).optional(),
1241
- requestId: z.string(),
1242
- });
1243
- export const PaseoWorktreeListRequestSchema = z.object({
1244
- type: z.literal("paseo_worktree_list_request"),
1245
- cwd: z.string().optional(),
1246
- repoRoot: z.string().optional(),
1247
- requestId: z.string(),
1248
- });
1249
- export const PaseoWorktreeArchiveRequestSchema = z.object({
1250
- type: z.literal("paseo_worktree_archive_request"),
1251
- worktreePath: z.string().optional(),
1252
- repoRoot: z.string().optional(),
1253
- branchName: z.string().optional(),
1254
- requestId: z.string(),
1255
- });
1256
- export const FirstAgentContextSchema = z.object({
1257
- prompt: z.string().optional(),
1258
- attachments: AgentAttachmentsSchema,
1259
- });
1260
- export const CreatePaseoWorktreeRequestSchema = z.object({
1261
- type: z.literal("create_paseo_worktree_request"),
1262
- cwd: z.string(),
1263
- projectId: z.string().optional(),
1264
- worktreeSlug: z.string().optional(),
1265
- nameContext: z.string().optional(),
1266
- attachments: AgentAttachmentsSchema.optional(),
1267
- firstAgentContext: FirstAgentContextSchema.optional(),
1268
- refName: z.string().min(1).optional(),
1269
- action: z.enum(["branch-off", "checkout"]).optional(),
1270
- githubPrNumber: z.number().int().positive().optional(),
1271
- requestId: z.string(),
1272
- });
1273
- export const WorkspaceSetupStatusRequestSchema = z.object({
1274
- type: z.literal("workspace_setup_status_request"),
1275
- workspaceId: z.string(),
1276
- requestId: z.string(),
1277
- });
1278
- // TODO(2026-07): Remove once most clients are on >=0.1.50 and support arbitrary editor ids.
1279
- export const LEGACY_EDITOR_TARGET_IDS = [
1280
- "cursor",
1281
- "vscode",
1282
- "zed",
1283
- "finder",
1284
- "explorer",
1285
- "file-manager",
1286
- ];
1287
- export const KNOWN_EDITOR_TARGET_IDS = [...LEGACY_EDITOR_TARGET_IDS, "webstorm"];
1288
- export const KnownEditorTargetIdSchema = z.enum(KNOWN_EDITOR_TARGET_IDS);
1289
- export const LegacyEditorTargetIdSchema = z.enum(LEGACY_EDITOR_TARGET_IDS);
1290
- export const EditorTargetIdSchema = z.string().trim().min(1);
1291
- const KNOWN_EDITOR_TARGET_ID_SET = new Set(KNOWN_EDITOR_TARGET_IDS);
1292
- const LEGACY_EDITOR_TARGET_ID_SET = new Set(LEGACY_EDITOR_TARGET_IDS);
1293
- export function isKnownEditorTargetId(value) {
1294
- return KNOWN_EDITOR_TARGET_ID_SET.has(value);
1295
- }
1296
- export function isLegacyEditorTargetId(value) {
1297
- return LEGACY_EDITOR_TARGET_ID_SET.has(value);
1298
- }
1299
- export const EditorTargetDescriptorPayloadSchema = z.object({
1300
- id: EditorTargetIdSchema,
1301
- label: z.string(),
1302
- });
1303
- export const ListAvailableEditorsRequestSchema = z.object({
1304
- type: z.literal("list_available_editors_request"),
1305
- requestId: z.string(),
1306
- });
1307
- export const OpenInEditorRequestSchema = z.object({
1308
- type: z.literal("open_in_editor_request"),
1309
- path: z.string(),
1310
- editorId: EditorTargetIdSchema,
1311
- requestId: z.string(),
1312
- });
1313
- export const OpenProjectRequestSchema = z.object({
1314
- type: z.literal("open_project_request"),
1315
- cwd: z.string(),
1316
- requestId: z.string(),
1317
- });
1318
- export const ArchiveWorkspaceRequestSchema = z.object({
1319
- type: z.literal("archive_workspace_request"),
1320
- workspaceId: z.string(),
1321
- requestId: z.string(),
1322
- });
1323
- // Highlighted diff token schema
1324
- // Note: style can be a compound class name (e.g., "heading meta") from the syntax highlighter
1325
- const HighlightTokenSchema = z.object({
1326
- text: z.string(),
1327
- style: z.string().nullable(),
1328
- });
1329
- const DiffLineSchema = z.object({
1330
- type: z.enum(["add", "remove", "context", "header"]),
1331
- content: z.string(),
1332
- tokens: z.array(HighlightTokenSchema).optional(),
1333
- });
1334
- const DiffHunkSchema = z.object({
1335
- oldStart: z.number(),
1336
- oldCount: z.number(),
1337
- newStart: z.number(),
1338
- newCount: z.number(),
1339
- lines: z.array(DiffLineSchema),
1340
- });
1341
- const ParsedDiffFileSchema = z.object({
1342
- path: z.string(),
1343
- isNew: z.boolean(),
1344
- isDeleted: z.boolean(),
1345
- additions: z.number(),
1346
- deletions: z.number(),
1347
- hunks: z.array(DiffHunkSchema),
1348
- status: z.enum(["ok", "too_large", "binary"]).optional(),
1349
- });
1350
- const FileExplorerEntrySchema = z.object({
1351
- name: z.string(),
1352
- path: z.string(),
1353
- kind: z.enum(["file", "directory"]),
1354
- size: z.number(),
1355
- modifiedAt: z.string(),
1356
- });
1357
- const FileExplorerFileSchema = z.object({
1358
- path: z.string(),
1359
- kind: z.enum(["text", "image", "binary"]),
1360
- encoding: z.enum(["utf-8", "base64", "none"]),
1361
- content: z.string().optional(),
1362
- mimeType: z.string().optional(),
1363
- size: z.number(),
1364
- modifiedAt: z.string(),
1365
- });
1366
- const FileExplorerDirectorySchema = z.object({
1367
- path: z.string(),
1368
- entries: z.array(FileExplorerEntrySchema),
1369
- });
1370
- export const FileExplorerRequestSchema = z.object({
1371
- type: z.literal("file_explorer_request"),
1372
- cwd: z.string(),
1373
- path: z.string().optional(),
1374
- mode: z.enum(["list", "file"]),
1375
- requestId: z.string(),
1376
- acceptBinary: z.boolean().optional(),
1377
- });
1378
- export const ProjectIconRequestSchema = z.object({
1379
- type: z.literal("project_icon_request"),
1380
- cwd: z.string(),
1381
- requestId: z.string(),
1382
- });
1383
- export const FileDownloadTokenRequestSchema = z.object({
1384
- type: z.literal("file_download_token_request"),
1385
- cwd: z.string(),
1386
- path: z.string(),
1387
- requestId: z.string(),
1388
- });
1389
- export const ClearAgentAttentionMessageSchema = z.object({
1390
- type: z.literal("clear_agent_attention"),
1391
- agentId: z.union([z.string(), z.array(z.string())]),
1392
- requestId: z.string().optional(),
1393
- });
1394
- export const ClientHeartbeatMessageSchema = z.object({
1395
- type: z.literal("client_heartbeat"),
1396
- deviceType: z.enum(["web", "mobile"]),
1397
- focusedAgentId: z.string().nullable(),
1398
- lastActivityAt: z.string(),
1399
- appVisible: z.boolean(),
1400
- appVisibilityChangedAt: z.string().optional(),
1401
- });
1402
- export const PingMessageSchema = z.object({
1403
- type: z.literal("ping"),
1404
- requestId: z.string(),
1405
- clientSentAt: z.number().int().optional(),
1406
- });
1407
- const ListCommandsDraftConfigSchema = z.object({
1408
- provider: AgentProviderSchema,
1409
- cwd: z.string(),
1410
- modeId: z.string().optional(),
1411
- model: z.string().optional(),
1412
- thinkingOptionId: z.string().optional(),
1413
- featureValues: z.record(z.unknown()).optional(),
1414
- });
1415
- export const ListProviderFeaturesRequestMessageSchema = z.object({
1416
- type: z.literal("list_provider_features_request"),
1417
- draftConfig: ListCommandsDraftConfigSchema,
1418
- requestId: z.string(),
1419
- });
1420
- export const ListCommandsRequestSchema = z.object({
1421
- type: z.literal("list_commands_request"),
1422
- agentId: z.string(),
1423
- draftConfig: ListCommandsDraftConfigSchema.optional(),
1424
- requestId: z.string(),
1425
- });
1426
- export const RegisterPushTokenMessageSchema = z.object({
1427
- type: z.literal("register_push_token"),
1428
- token: z.string(),
1429
- });
1430
- // ============================================================================
1431
- // Terminal Messages
1432
- // ============================================================================
1433
- export const ListTerminalsRequestSchema = z.object({
1434
- type: z.literal("list_terminals_request"),
1435
- cwd: z.string().optional(),
1436
- requestId: z.string(),
1437
- });
1438
- export const SubscribeTerminalsRequestSchema = z.object({
1439
- type: z.literal("subscribe_terminals_request"),
1440
- cwd: z.string(),
1441
- });
1442
- export const UnsubscribeTerminalsRequestSchema = z.object({
1443
- type: z.literal("unsubscribe_terminals_request"),
1444
- cwd: z.string(),
1445
- });
1446
- export const CreateTerminalRequestSchema = z.object({
1447
- type: z.literal("create_terminal_request"),
1448
- cwd: z.string(),
1449
- name: z.string().optional(),
1450
- agentId: z.string().optional(),
1451
- command: z.string().optional(),
1452
- args: z.array(z.string()).optional(),
1453
- requestId: z.string(),
1454
- });
1455
- export const RenameTerminalRequestSchema = z.object({
1456
- type: z.literal("terminal.rename.request"),
1457
- terminalId: z.string(),
1458
- title: z.string(),
1459
- requestId: z.string(),
1460
- });
1461
- export const StartWorkspaceScriptRequestSchema = z.object({
1462
- type: z.literal("start_workspace_script_request"),
1463
- workspaceId: z.string(),
1464
- scriptName: z.string(),
1465
- requestId: z.string(),
1466
- });
1467
- export const SubscribeTerminalRequestSchema = z.object({
1468
- type: z.literal("subscribe_terminal_request"),
1469
- terminalId: z.string(),
1470
- requestId: z.string(),
1471
- restore: z
1472
- .object({
1473
- mode: z.enum(["live", "visible-snapshot", "full-snapshot"]),
1474
- scrollbackLines: z.number().int().nonnegative().optional(),
1475
- size: z
1476
- .object({
1477
- rows: z.number().int().positive(),
1478
- cols: z.number().int().positive(),
1479
- })
1480
- .strict()
1481
- .optional(),
1482
- })
1483
- .strict()
1484
- .optional(),
1485
- });
1486
- export const UnsubscribeTerminalRequestSchema = z.object({
1487
- type: z.literal("unsubscribe_terminal_request"),
1488
- terminalId: z.string(),
1489
- });
1490
- const TerminalClientMessageSchema = z.discriminatedUnion("type", [
1491
- z.object({ type: z.literal("input"), data: z.string() }),
1492
- z.object({ type: z.literal("resize"), rows: z.number(), cols: z.number() }),
1493
- z.object({
1494
- type: z.literal("mouse"),
1495
- row: z.number(),
1496
- col: z.number(),
1497
- button: z.number(),
1498
- action: z.enum(["down", "up", "move"]),
1499
- }),
1500
- ]);
1501
- export const TerminalInputSchema = z.object({
1502
- type: z.literal("terminal_input"),
1503
- terminalId: z.string(),
1504
- message: TerminalClientMessageSchema,
1505
- });
1506
- export const KillTerminalRequestSchema = z.object({
1507
- type: z.literal("kill_terminal_request"),
1508
- terminalId: z.string(),
1509
- requestId: z.string(),
1510
- });
1511
- export const CaptureTerminalRequestSchema = z.object({
1512
- type: z.literal("capture_terminal_request"),
1513
- terminalId: z.string(),
1514
- start: z.number().int().optional(),
1515
- end: z.number().int().optional(),
1516
- stripAnsi: z.boolean().default(true),
1517
- requestId: z.string(),
1518
- });
1519
- export const SessionInboundMessageSchema = z.discriminatedUnion("type", [
1520
- VoiceAudioChunkMessageSchema,
1521
- AbortRequestMessageSchema,
1522
- AudioPlayedMessageSchema,
1523
- FetchAgentsRequestMessageSchema,
1524
- FetchAgentHistoryRequestMessageSchema,
1525
- FetchRecentProviderSessionsRequestMessageSchema,
1526
- FetchWorkspacesRequestMessageSchema,
1527
- FetchAgentRequestMessageSchema,
1528
- DeleteAgentRequestMessageSchema,
1529
- ArchiveAgentRequestMessageSchema,
1530
- CloseItemsRequestMessageSchema,
1531
- UpdateAgentRequestMessageSchema,
1532
- ProjectRenameRequestSchema,
1533
- SetVoiceModeMessageSchema,
1534
- SendAgentMessageRequestSchema,
1535
- WaitForFinishRequestSchema,
1536
- DaemonGetStatusRequestSchema,
1537
- DaemonGetPairingOfferRequestSchema,
1538
- GetDaemonConfigRequestMessageSchema,
1539
- SetDaemonConfigRequestMessageSchema,
1540
- ReadProjectConfigRequestMessageSchema,
1541
- WriteProjectConfigRequestMessageSchema,
1542
- DictationStreamStartMessageSchema,
1543
- DictationStreamChunkMessageSchema,
1544
- DictationStreamFinishMessageSchema,
1545
- DictationStreamCancelMessageSchema,
1546
- CreateAgentRequestMessageSchema,
1547
- ListProviderModelsRequestMessageSchema,
1548
- ListProviderModesRequestMessageSchema,
1549
- ListProviderFeaturesRequestMessageSchema,
1550
- ListAvailableProvidersRequestMessageSchema,
1551
- GetProvidersSnapshotRequestMessageSchema,
1552
- RefreshProvidersSnapshotRequestMessageSchema,
1553
- ProviderDiagnosticRequestMessageSchema,
1554
- ResumeAgentRequestMessageSchema,
1555
- ImportAgentRequestMessageSchema,
1556
- RefreshAgentRequestMessageSchema,
1557
- CancelAgentRequestMessageSchema,
1558
- ShutdownServerRequestMessageSchema,
1559
- RestartServerRequestMessageSchema,
1560
- FetchAgentTimelineRequestMessageSchema,
1561
- SetAgentModeRequestMessageSchema,
1562
- SetAgentModelRequestMessageSchema,
1563
- SetAgentThinkingRequestMessageSchema,
1564
- SetAgentFeatureRequestMessageSchema,
1565
- AgentRewindRequestMessageSchema,
1566
- AgentPermissionResponseMessageSchema,
1567
- CheckoutStatusRequestSchema,
1568
- SubscribeCheckoutDiffRequestSchema,
1569
- UnsubscribeCheckoutDiffRequestSchema,
1570
- CheckoutCommitRequestSchema,
1571
- CheckoutMergeRequestSchema,
1572
- CheckoutMergeFromBaseRequestSchema,
1573
- CheckoutPullRequestSchema,
1574
- CheckoutPushRequestSchema,
1575
- CheckoutPrCreateRequestSchema,
1576
- CheckoutPrMergeRequestSchema,
1577
- CheckoutGithubSetAutoMergeRequestSchema,
1578
- CheckoutPrStatusRequestSchema,
1579
- PullRequestTimelineRequestSchema,
1580
- CheckoutSwitchBranchRequestSchema,
1581
- CheckoutRenameBranchRequestSchema,
1582
- StashSaveRequestSchema,
1583
- StashPopRequestSchema,
1584
- StashListRequestSchema,
1585
- ValidateBranchRequestSchema,
1586
- BranchSuggestionsRequestSchema,
1587
- GitHubSearchRequestSchema,
1588
- DirectorySuggestionsRequestSchema,
1589
- PaseoWorktreeListRequestSchema,
1590
- PaseoWorktreeArchiveRequestSchema,
1591
- CreatePaseoWorktreeRequestSchema,
1592
- WorkspaceSetupStatusRequestSchema,
1593
- ListAvailableEditorsRequestSchema,
1594
- OpenInEditorRequestSchema,
1595
- OpenProjectRequestSchema,
1596
- ArchiveWorkspaceRequestSchema,
1597
- FileExplorerRequestSchema,
1598
- ProjectIconRequestSchema,
1599
- FileDownloadTokenRequestSchema,
1600
- ClearAgentAttentionMessageSchema,
1601
- ClientHeartbeatMessageSchema,
1602
- PingMessageSchema,
1603
- ListCommandsRequestSchema,
1604
- RegisterPushTokenMessageSchema,
1605
- ListTerminalsRequestSchema,
1606
- SubscribeTerminalsRequestSchema,
1607
- UnsubscribeTerminalsRequestSchema,
1608
- CreateTerminalRequestSchema,
1609
- RenameTerminalRequestSchema,
1610
- StartWorkspaceScriptRequestSchema,
1611
- SubscribeTerminalRequestSchema,
1612
- UnsubscribeTerminalRequestSchema,
1613
- TerminalInputSchema,
1614
- KillTerminalRequestSchema,
1615
- CaptureTerminalRequestSchema,
1616
- ChatCreateRequestSchema,
1617
- ChatListRequestSchema,
1618
- ChatInspectRequestSchema,
1619
- ChatDeleteRequestSchema,
1620
- ChatPostRequestSchema,
1621
- ChatReadRequestSchema,
1622
- ChatWaitRequestSchema,
1623
- ScheduleCreateRequestSchema,
1624
- ScheduleListRequestSchema,
1625
- ScheduleInspectRequestSchema,
1626
- ScheduleLogsRequestSchema,
1627
- SchedulePauseRequestSchema,
1628
- ScheduleResumeRequestSchema,
1629
- ScheduleDeleteRequestSchema,
1630
- ScheduleRunOnceRequestSchema,
1631
- ScheduleUpdateRequestSchema,
1632
- LoopRunRequestSchema,
1633
- LoopListRequestSchema,
1634
- LoopInspectRequestSchema,
1635
- LoopLogsRequestSchema,
1636
- LoopStopRequestSchema,
1637
- ]);
1638
- // ============================================================================
1639
- // Session Outbound Messages (Session emits these)
1640
- // ============================================================================
1641
- export const ActivityLogPayloadSchema = z.object({
1642
- id: z.string(),
1643
- timestamp: z.coerce.date(),
1644
- type: z.enum(["transcript", "assistant", "tool_call", "tool_result", "error", "system"]),
1645
- content: z.string(),
1646
- metadata: z.record(z.unknown()).optional(),
1647
- });
1648
- export const ActivityLogMessageSchema = z.object({
1649
- type: z.literal("activity_log"),
1650
- payload: ActivityLogPayloadSchema,
1651
- });
1652
- export const AssistantChunkMessageSchema = z.object({
1653
- type: z.literal("assistant_chunk"),
1654
- payload: z.object({
1655
- chunk: z.string(),
1656
- }),
1657
- });
1658
- export const AudioOutputMessageSchema = z.object({
1659
- type: z.literal("audio_output"),
1660
- payload: z.object({
1661
- audio: z.string(), // base64 encoded
1662
- format: z.string(),
1663
- id: z.string(),
1664
- isVoiceMode: z.boolean(), // Mode when audio was generated (for drift protection)
1665
- groupId: z.string().optional(), // Logical utterance id
1666
- chunkIndex: z.number().int().nonnegative().optional(),
1667
- isLastChunk: z.boolean().optional(),
1668
- }),
1669
- });
1670
- export const TranscriptionResultMessageSchema = z.object({
1671
- type: z.literal("transcription_result"),
1672
- payload: z.object({
1673
- text: z.string(),
1674
- language: z.string().optional(),
1675
- duration: z.number().optional(),
1676
- requestId: z.string(), // Echoed back from request for tracking
1677
- avgLogprob: z.number().optional(),
1678
- isLowConfidence: z.boolean().optional(),
1679
- byteLength: z.number().optional(),
1680
- format: z.string().optional(),
1681
- debugRecordingPath: z.string().optional(),
1682
- }),
1683
- });
1684
- export const VoiceInputStateMessageSchema = z.object({
1685
- type: z.literal("voice_input_state"),
1686
- payload: z.object({
1687
- isSpeaking: z.boolean(),
1688
- }),
1689
- });
1690
- export const DictationStreamAckMessageSchema = z.object({
1691
- type: z.literal("dictation_stream_ack"),
1692
- payload: z.object({
1693
- dictationId: z.string(),
1694
- ackSeq: z.number().int(),
1695
- }),
1696
- });
1697
- export const DictationStreamFinishAcceptedMessageSchema = z.object({
1698
- type: z.literal("dictation_stream_finish_accepted"),
1699
- payload: z.object({
1700
- dictationId: z.string(),
1701
- timeoutMs: z.number().int().positive(),
1702
- }),
1703
- });
1704
- export const DictationStreamPartialMessageSchema = z.object({
1705
- type: z.literal("dictation_stream_partial"),
1706
- payload: z.object({
1707
- dictationId: z.string(),
1708
- text: z.string(),
1709
- }),
1710
- });
1711
- export const DictationStreamFinalMessageSchema = z.object({
1712
- type: z.literal("dictation_stream_final"),
1713
- payload: z.object({
1714
- dictationId: z.string(),
1715
- text: z.string(),
1716
- debugRecordingPath: z.string().optional(),
1717
- }),
1718
- });
1719
- export const DictationStreamErrorMessageSchema = z.object({
1720
- type: z.literal("dictation_stream_error"),
1721
- payload: z.object({
1722
- dictationId: z.string(),
1723
- error: z.string(),
1724
- retryable: z.boolean(),
1725
- reasonCode: z.string().optional(),
1726
- missingModelIds: z.array(z.string()).optional(),
1727
- debugRecordingPath: z.string().optional(),
1728
- }),
1729
- });
1730
- export const ServerCapabilityStateSchema = z.object({
1731
- enabled: z.boolean(),
1732
- reason: z.string(),
1733
- });
1734
- export const ServerVoiceCapabilitiesSchema = z.object({
1735
- dictation: ServerCapabilityStateSchema,
1736
- voice: ServerCapabilityStateSchema,
1737
- });
1738
- export const ServerCapabilitiesSchema = z
1739
- .object({
1740
- voice: ServerVoiceCapabilitiesSchema.optional(),
1741
- })
1742
- .passthrough();
1743
- const ServerInfoHostnameSchema = z.unknown().transform((value) => {
1744
- if (typeof value !== "string") {
1745
- return null;
1746
- }
1747
- const trimmed = value.trim();
1748
- return trimmed.length > 0 ? trimmed : null;
1749
- });
1750
- const ServerInfoVersionSchema = z.unknown().transform((value) => {
1751
- if (typeof value !== "string") {
1752
- return null;
1753
- }
1754
- const trimmed = value.trim();
1755
- return trimmed.length > 0 ? trimmed : null;
1756
- });
1757
- const ServerCapabilitiesFromUnknownSchema = z
1758
- .unknown()
1759
- .optional()
1760
- .transform((value) => {
1761
- if (value === undefined) {
1762
- return undefined;
1763
- }
1764
- const parsed = ServerCapabilitiesSchema.safeParse(value);
1765
- if (!parsed.success) {
1766
- return undefined;
1767
- }
1768
- return parsed.data;
1769
- });
1770
- export const ServerInfoStatusPayloadSchema = z
1771
- .object({
1772
- status: z.literal("server_info"),
1773
- serverId: z.string().trim().min(1),
1774
- hostname: ServerInfoHostnameSchema.optional(),
1775
- version: ServerInfoVersionSchema.optional(),
1776
- capabilities: ServerCapabilitiesFromUnknownSchema,
1777
- // COMPAT(providersSnapshot): added in v0.1.48, remove gating when all clients use snapshot
1778
- features: z
1779
- .object({
1780
- providersSnapshot: z.boolean().optional(),
1781
- checkoutGithubSetAutoMerge: z.boolean().optional(),
1782
- // COMPAT(daemonStatusRpc): added in v0.1.76, remove gate after 2026-11-18.
1783
- daemonStatusRpc: z.boolean().optional(),
1784
- // COMPAT(terminalRestoreModes): added in v0.1.81, remove gate after 2026-11-23.
1785
- "terminal-restore-modes": z.boolean().optional(),
1786
- // COMPAT(rewind): added in v0.1.X, drop the gate when floor >= v0.1.X.
1787
- rewind: z.boolean().optional(),
1788
- })
1789
- .optional(),
1790
- })
1791
- .passthrough()
1792
- .transform((payload) => ({
1793
- ...payload,
1794
- hostname: payload.hostname ?? null,
1795
- version: payload.version ?? null,
1796
- }));
1797
- export const StatusMessageSchema = z.object({
1798
- type: z.literal("status"),
1799
- payload: z
1800
- .object({
1801
- status: z.string(),
1802
- })
1803
- .passthrough(), // Allow additional fields
1804
- });
1805
- export const PongMessageSchema = z.object({
1806
- type: z.literal("pong"),
1807
- payload: z.object({
1808
- requestId: z.string(),
1809
- clientSentAt: z.number().int().optional(),
1810
- serverReceivedAt: z.number().int(),
1811
- serverSentAt: z.number().int(),
1812
- }),
1813
- });
1814
- export const RpcErrorMessageSchema = z.object({
1815
- type: z.literal("rpc_error"),
1816
- payload: z.object({
1817
- requestId: z.string(),
1818
- requestType: z.string().optional(),
1819
- error: z.string(),
1820
- code: z.string().optional(),
1821
- }),
1822
- });
1823
- const AgentStatusWithRequestSchema = z.object({
1824
- agentId: z.string(),
1825
- requestId: z.string(),
1826
- });
1827
- const AgentStatusWithTimelineSchema = AgentStatusWithRequestSchema.extend({
1828
- timelineSize: z.number().optional(),
1829
- });
1830
- export const AgentCreatedStatusPayloadSchema = z
1831
- .object({
1832
- status: z.literal("agent_created"),
1833
- agent: AgentSnapshotPayloadSchema,
1834
- })
1835
- .extend(AgentStatusWithRequestSchema.shape);
1836
- export const AgentCreateFailedStatusPayloadSchema = z.object({
1837
- status: z.literal("agent_create_failed"),
1838
- requestId: z.string(),
1839
- error: z.string(),
1840
- errorCode: z.string().optional(),
1841
- });
1842
- export const AgentResumedStatusPayloadSchema = z
1843
- .object({
1844
- status: z.literal("agent_resumed"),
1845
- agent: AgentSnapshotPayloadSchema,
1846
- })
1847
- .extend(AgentStatusWithTimelineSchema.shape);
1848
- export const AgentRefreshedStatusPayloadSchema = z
1849
- .object({
1850
- status: z.literal("agent_refreshed"),
1851
- })
1852
- .extend(AgentStatusWithTimelineSchema.shape);
1853
- export const RestartRequestedStatusPayloadSchema = z.object({
1854
- status: z.literal("restart_requested"),
1855
- clientId: z.string(),
1856
- reason: z.string().optional(),
1857
- requestId: z.string(),
1858
- });
1859
- export const ShutdownRequestedStatusPayloadSchema = z.object({
1860
- status: z.literal("shutdown_requested"),
1861
- clientId: z.string(),
1862
- requestId: z.string(),
1863
- });
1864
- export const DaemonConfigChangedStatusPayloadSchema = z
1865
- .object({
1866
- status: z.literal("daemon_config_changed"),
1867
- config: MutableDaemonConfigSchema,
1868
- })
1869
- .passthrough();
1870
- export const KnownStatusPayloadSchema = z.discriminatedUnion("status", [
1871
- AgentCreatedStatusPayloadSchema,
1872
- AgentCreateFailedStatusPayloadSchema,
1873
- AgentResumedStatusPayloadSchema,
1874
- AgentRefreshedStatusPayloadSchema,
1875
- ShutdownRequestedStatusPayloadSchema,
1876
- RestartRequestedStatusPayloadSchema,
1877
- DaemonConfigChangedStatusPayloadSchema,
1878
- ]);
1879
- export const ArtifactMessageSchema = z.object({
1880
- type: z.literal("artifact"),
1881
- payload: z.object({
1882
- type: z.enum(["markdown", "diff", "image", "code"]),
1883
- id: z.string(),
1884
- title: z.string(),
1885
- content: z.string(),
1886
- isBase64: z.boolean(),
1887
- }),
1888
- });
1889
- export const ProjectCheckoutLiteNotGitPayloadSchema = z
1890
- .object({
1891
- cwd: z.string(),
1892
- isGit: z.literal(false),
1893
- currentBranch: z.null(),
1894
- remoteUrl: z.null(),
1895
- worktreeRoot: z.null().optional(),
1896
- isPaseoOwnedWorktree: z.literal(false),
1897
- mainRepoRoot: z.null(),
1898
- })
1899
- .transform((value) => ({
1900
- ...value,
1901
- worktreeRoot: null,
1902
- }));
1903
- export const ProjectCheckoutLiteGitNonPaseoPayloadSchema = z
1904
- .object({
1905
- cwd: z.string(),
1906
- isGit: z.literal(true),
1907
- currentBranch: z.string().nullable(),
1908
- remoteUrl: z.string().nullable(),
1909
- worktreeRoot: z.string().optional(),
1910
- isPaseoOwnedWorktree: z.literal(false),
1911
- mainRepoRoot: z.string().nullable().optional().default(null),
1912
- })
1913
- .transform((value) => ({
1914
- ...value,
1915
- worktreeRoot: value.worktreeRoot ?? value.cwd,
1916
- }));
1917
- export const ProjectCheckoutLiteGitPaseoPayloadSchema = z
1918
- .object({
1919
- cwd: z.string(),
1920
- isGit: z.literal(true),
1921
- currentBranch: z.string().nullable(),
1922
- remoteUrl: z.string().nullable(),
1923
- worktreeRoot: z.string().optional(),
1924
- isPaseoOwnedWorktree: z.literal(true),
1925
- mainRepoRoot: z.string(),
1926
- })
1927
- .transform((value) => ({
1928
- ...value,
1929
- worktreeRoot: value.worktreeRoot ?? value.cwd,
1930
- }));
1931
- export const ProjectCheckoutLitePayloadSchema = z.union([
1932
- ProjectCheckoutLiteNotGitPayloadSchema,
1933
- ProjectCheckoutLiteGitNonPaseoPayloadSchema,
1934
- ProjectCheckoutLiteGitPaseoPayloadSchema,
1935
- ]);
1936
- export const ProjectPlacementPayloadSchema = z.object({
1937
- projectKey: z.string(),
1938
- projectName: z.string(),
1939
- checkout: ProjectCheckoutLitePayloadSchema,
1940
- });
1941
- export const WorkspaceScriptLifecycleSchema = z.enum(["running", "stopped"]);
1942
- export const WorkspaceScriptHealthSchema = z.enum(["healthy", "unhealthy"]);
1943
- export const WorkspaceScriptPayloadSchema = z.object({
1944
- scriptName: z.string(),
1945
- type: z.enum(["script", "service"]).optional().default("service"),
1946
- hostname: z.string(),
1947
- port: z.number().int().positive().nullable(),
1948
- proxyUrl: z.string().nullable().optional().default(null),
1949
- lifecycle: WorkspaceScriptLifecycleSchema,
1950
- health: WorkspaceScriptHealthSchema.nullable(),
1951
- exitCode: z.number().nullable().optional().default(null),
1952
- terminalId: z.string().nullable().optional().default(null),
1953
- });
1954
- const WorkspaceGitRuntimePayloadSchema = z
1955
- .object({
1956
- currentBranch: z.string().nullable().optional(),
1957
- remoteUrl: z.string().nullable().optional(),
1958
- isPaseoOwnedWorktree: z.boolean().optional(),
1959
- isDirty: z.boolean().nullable().optional(),
1960
- aheadBehind: z
1961
- .object({
1962
- ahead: z.number(),
1963
- behind: z.number(),
1964
- })
1965
- .nullable()
1966
- .optional(),
1967
- aheadOfOrigin: z.number().nullable().optional(),
1968
- behindOfOrigin: z.number().nullable().optional(),
1969
- })
1970
- .optional()
1971
- .nullable();
1972
- const WorkspaceGitHubRuntimePayloadSchema = z
1973
- .object({
1974
- featuresEnabled: z.boolean().optional(),
1975
- pullRequest: z
1976
- .object({
1977
- url: z.string(),
1978
- title: z.string(),
1979
- state: z.string(),
1980
- baseRefName: z.string(),
1981
- headRefName: z.string(),
1982
- isMerged: z.boolean(),
1983
- })
1984
- .nullable()
1985
- .optional(),
1986
- error: z
1987
- .object({
1988
- message: z.string(),
1989
- })
1990
- .nullable()
1991
- .optional(),
1992
- refreshedAt: z.string().nullable().optional(),
1993
- })
1994
- .optional()
1995
- .nullable();
1996
- export const WorkspaceDescriptorPayloadSchema = z
1997
- .object({
1998
- id: z.string(),
1999
- projectId: z.string(),
2000
- projectDisplayName: z.string(),
2001
- // COMPAT(projectCustomName): added in v0.1.76, drop the optional gate when floor >= v0.1.76.
2002
- // When the user has renamed a project, projectDisplayName carries the resolved
2003
- // value (customName) and projectCustomName mirrors the raw override so the
2004
- // settings UI can prefill its input and offer a "reset" action.
2005
- projectCustomName: z.string().nullable().optional(),
2006
- projectRootPath: z.string(),
2007
- workspaceDirectory: z.string().optional(),
2008
- projectKind: z.enum(["git", "non_git", "directory"]),
2009
- // COMPAT(workspaces): keep legacy directory workspace kind parseable.
2010
- workspaceKind: z.enum(["directory", "local_checkout", "checkout", "worktree"]),
2011
- name: z.string(),
2012
- archivingAt: z.string().nullable().optional().default(null),
2013
- status: WorkspaceStateBucketSchema,
2014
- activityAt: z.string().nullable(),
2015
- diffStat: z
2016
- .object({
2017
- additions: z.number(),
2018
- deletions: z.number(),
2019
- })
2020
- .nullable()
2021
- .optional(),
2022
- scripts: z.array(WorkspaceScriptPayloadSchema).default([]),
2023
- gitRuntime: WorkspaceGitRuntimePayloadSchema,
2024
- githubRuntime: WorkspaceGitHubRuntimePayloadSchema,
2025
- project: ProjectPlacementPayloadSchema.optional(),
2026
- })
2027
- .transform((workspace) => ({
2028
- ...workspace,
2029
- workspaceDirectory: workspace.workspaceDirectory ?? workspace.projectRootPath,
2030
- }));
2031
- export const AgentUpdateMessageSchema = z.object({
2032
- type: z.literal("agent_update"),
2033
- payload: z.discriminatedUnion("kind", [
2034
- z.object({
2035
- kind: z.literal("upsert"),
2036
- agent: AgentSnapshotPayloadSchema,
2037
- project: ProjectPlacementPayloadSchema.nullable().optional(),
2038
- }),
2039
- z.object({
2040
- kind: z.literal("remove"),
2041
- agentId: z.string(),
2042
- }),
2043
- ]),
2044
- });
2045
- export const AgentStreamMessageSchema = z.object({
2046
- type: z.literal("agent_stream"),
2047
- payload: z.object({
2048
- agentId: z.string(),
2049
- event: AgentStreamEventPayloadSchema,
2050
- timestamp: z.string(),
2051
- // Present for timeline events. Maps 1:1 to canonical in-memory timeline rows.
2052
- seq: z.number().int().nonnegative().optional(),
2053
- epoch: z.string().optional(),
2054
- }),
2055
- });
2056
- export const AgentStatusMessageSchema = z.object({
2057
- type: z.literal("agent_status"),
2058
- payload: z.object({
2059
- agentId: z.string(),
2060
- status: z.string(),
2061
- info: AgentSnapshotPayloadSchema,
2062
- }),
2063
- });
2064
- export const AgentListMessageSchema = z.object({
2065
- type: z.literal("agent_list"),
2066
- payload: z.object({
2067
- agents: z.array(AgentSnapshotPayloadSchema),
2068
- }),
2069
- });
2070
- const AgentDirectoryResponseEntrySchema = z.object({
2071
- agent: AgentSnapshotPayloadSchema,
2072
- project: ProjectPlacementPayloadSchema,
2073
- });
2074
- const AgentDirectoryPageInfoSchema = z.object({
2075
- nextCursor: z.string().nullable(),
2076
- prevCursor: z.string().nullable(),
2077
- hasMore: z.boolean(),
2078
- });
2079
- export const FetchAgentsResponseMessageSchema = z.object({
2080
- type: z.literal("fetch_agents_response"),
2081
- payload: z.object({
2082
- requestId: z.string(),
2083
- subscriptionId: z.string().nullable().optional(),
2084
- entries: z.array(AgentDirectoryResponseEntrySchema),
2085
- pageInfo: AgentDirectoryPageInfoSchema,
2086
- }),
2087
- });
2088
- export const FetchAgentHistoryResponseMessageSchema = z.object({
2089
- type: z.literal("fetch_agent_history_response"),
2090
- payload: z.object({
2091
- requestId: z.string(),
2092
- entries: z.array(AgentDirectoryResponseEntrySchema),
2093
- pageInfo: AgentDirectoryPageInfoSchema,
2094
- }),
2095
- });
2096
- export const FetchRecentProviderSessionsResponseMessageSchema = z.object({
2097
- type: z.literal("fetch_recent_provider_sessions_response"),
2098
- payload: z.object({
2099
- requestId: z.string(),
2100
- entries: z.array(RecentProviderSessionDescriptorPayloadSchema),
2101
- filteredAlreadyImportedCount: z.number().int().nonnegative().optional(),
2102
- }),
2103
- });
2104
- export const FetchWorkspacesResponseMessageSchema = z.object({
2105
- type: z.literal("fetch_workspaces_response"),
2106
- payload: z.object({
2107
- requestId: z.string(),
2108
- subscriptionId: z.string().nullable().optional(),
2109
- entries: z.array(WorkspaceDescriptorPayloadSchema),
2110
- pageInfo: z.object({
2111
- nextCursor: z.string().nullable(),
2112
- prevCursor: z.string().nullable(),
2113
- hasMore: z.boolean(),
2114
- }),
2115
- }),
2116
- });
2117
- export const WorkspaceUpdateMessageSchema = z.object({
2118
- type: z.literal("workspace_update"),
2119
- payload: z.discriminatedUnion("kind", [
2120
- z.object({
2121
- kind: z.literal("upsert"),
2122
- workspace: WorkspaceDescriptorPayloadSchema,
2123
- }),
2124
- z.object({
2125
- kind: z.literal("remove"),
2126
- id: z.string(),
2127
- }),
2128
- ]),
2129
- });
2130
- export const ScriptStatusUpdateMessageSchema = z.object({
2131
- type: z.literal("script_status_update"),
2132
- payload: z.object({
2133
- workspaceId: z.string(),
2134
- scripts: z.array(WorkspaceScriptPayloadSchema),
2135
- }),
2136
- });
2137
- export const WorkspaceSetupProgressMessageSchema = z.object({
2138
- type: z.literal("workspace_setup_progress"),
2139
- payload: z.object({
2140
- workspaceId: z.string(),
2141
- status: z.enum(["running", "completed", "failed"]),
2142
- detail: WorktreeSetupDetailPayloadSchema,
2143
- error: z.string().nullable(),
2144
- }),
2145
- });
2146
- export const WorkspaceSetupSnapshotSchema = z.object({
2147
- status: z.enum(["running", "completed", "failed"]),
2148
- detail: WorktreeSetupDetailPayloadSchema,
2149
- error: z.string().nullable(),
2150
- });
2151
- export const WorkspaceSetupStatusResponseMessageSchema = z.object({
2152
- type: z.literal("workspace_setup_status_response"),
2153
- payload: z.object({
2154
- requestId: z.string(),
2155
- workspaceId: z.string(),
2156
- snapshot: WorkspaceSetupSnapshotSchema.nullable(),
2157
- }),
2158
- });
2159
- export const OpenProjectResponseMessageSchema = z.object({
2160
- type: z.literal("open_project_response"),
2161
- payload: z.object({
2162
- requestId: z.string(),
2163
- workspace: WorkspaceDescriptorPayloadSchema.nullable(),
2164
- error: z.string().nullable(),
2165
- }),
2166
- });
2167
- export const StartWorkspaceScriptResponseMessageSchema = z.object({
2168
- type: z.literal("start_workspace_script_response"),
2169
- payload: z.object({
2170
- requestId: z.string(),
2171
- workspaceId: z.string(),
2172
- scriptName: z.string(),
2173
- terminalId: z.string().nullable(),
2174
- error: z.string().nullable(),
2175
- }),
2176
- });
2177
- export const ListAvailableEditorsResponseMessageSchema = z.object({
2178
- type: z.literal("list_available_editors_response"),
2179
- payload: z.object({
2180
- requestId: z.string(),
2181
- editors: z.array(EditorTargetDescriptorPayloadSchema),
2182
- error: z.string().nullable(),
2183
- }),
2184
- });
2185
- export const OpenInEditorResponseMessageSchema = z.object({
2186
- type: z.literal("open_in_editor_response"),
2187
- payload: z.object({
2188
- requestId: z.string(),
2189
- error: z.string().nullable(),
2190
- }),
2191
- });
2192
- export const ArchiveWorkspaceResponseMessageSchema = z.object({
2193
- type: z.literal("archive_workspace_response"),
2194
- payload: z.object({
2195
- requestId: z.string(),
2196
- workspaceId: z.string(),
2197
- archivedAt: z.string().nullable(),
2198
- error: z.string().nullable(),
2199
- }),
2200
- });
2201
- export const FetchAgentResponseMessageSchema = z.object({
2202
- type: z.literal("fetch_agent_response"),
2203
- payload: z.object({
2204
- requestId: z.string(),
2205
- agent: AgentSnapshotPayloadSchema.nullable(),
2206
- project: ProjectPlacementPayloadSchema.nullable().optional(),
2207
- error: z.string().nullable(),
2208
- }),
2209
- });
2210
- const AgentTimelineSeqRangeSchema = z.object({
2211
- startSeq: z.number().int().nonnegative(),
2212
- endSeq: z.number().int().nonnegative(),
2213
- });
2214
- export const AgentTimelineEntryPayloadSchema = z.object({
2215
- provider: AgentProviderSchema,
2216
- item: AgentTimelineItemPayloadSchema,
2217
- timestamp: z.string(),
2218
- seqStart: z.number().int().nonnegative(),
2219
- seqEnd: z.number().int().nonnegative(),
2220
- sourceSeqRanges: z.array(AgentTimelineSeqRangeSchema),
2221
- collapsed: z.array(z.enum(["assistant_merge", "reasoning_merge", "tool_lifecycle"])),
2222
- });
2223
- export const FetchAgentTimelineResponseMessageSchema = z.object({
2224
- type: z.literal("fetch_agent_timeline_response"),
2225
- payload: z.object({
2226
- requestId: z.string(),
2227
- agentId: z.string(),
2228
- agent: AgentSnapshotPayloadSchema.nullable(),
2229
- direction: z.enum(["tail", "before", "after"]),
2230
- projection: z.enum(["projected", "canonical"]),
2231
- epoch: z.string(),
2232
- reset: z.boolean(),
2233
- staleCursor: z.boolean(),
2234
- gap: z.boolean(),
2235
- window: z.object({
2236
- minSeq: z.number().int().nonnegative(),
2237
- maxSeq: z.number().int().nonnegative(),
2238
- nextSeq: z.number().int().nonnegative(),
2239
- }),
2240
- startCursor: AgentTimelineCursorSchema.nullable(),
2241
- endCursor: AgentTimelineCursorSchema.nullable(),
2242
- hasOlder: z.boolean(),
2243
- hasNewer: z.boolean(),
2244
- entries: z.array(AgentTimelineEntryPayloadSchema),
2245
- error: z.string().nullable(),
2246
- }),
2247
- });
2248
- export const CancelAgentResponseMessageSchema = z.object({
2249
- type: z.literal("cancel_agent_response"),
2250
- payload: z.object({
2251
- requestId: z.string(),
2252
- agentId: z.string(),
2253
- agent: AgentSnapshotPayloadSchema.nullable(),
2254
- }),
2255
- });
2256
- export const ClearAgentAttentionResponseMessageSchema = z.object({
2257
- type: z.literal("clear_agent_attention_response"),
2258
- payload: z.object({
2259
- requestId: z.string(),
2260
- agentId: z.string().or(z.array(z.string())),
2261
- agents: z.array(AgentSnapshotPayloadSchema),
2262
- }),
2263
- });
2264
- export const SendAgentMessageResponseMessageSchema = z.object({
2265
- type: z.literal("send_agent_message_response"),
2266
- payload: z.object({
2267
- requestId: z.string(),
2268
- agentId: z.string(),
2269
- accepted: z.boolean(),
2270
- error: z.string().nullable(),
2271
- }),
2272
- });
2273
- export const WaitForFinishResponseMessageSchema = z.object({
2274
- type: z.literal("wait_for_finish_response"),
2275
- payload: z.object({
2276
- requestId: z.string(),
2277
- status: z.enum(["idle", "error", "permission", "timeout"]),
2278
- final: AgentSnapshotPayloadSchema.nullable(),
2279
- error: z.string().nullable(),
2280
- lastMessage: z.string().nullable(),
2281
- }),
2282
- });
2283
- export const GetDaemonConfigResponseMessageSchema = z.object({
2284
- type: z.literal("get_daemon_config_response"),
2285
- payload: z
2286
- .object({
2287
- requestId: z.string(),
2288
- config: MutableDaemonConfigSchema,
2289
- })
2290
- .passthrough(),
2291
- });
2292
- export const DaemonGetStatusResponseSchema = z.object({
2293
- type: z.literal("daemon.get_status.response"),
2294
- payload: z
2295
- .object({
2296
- requestId: z.string(),
2297
- serverId: z.string(),
2298
- version: z.string().nullable().optional(),
2299
- pid: z.number(),
2300
- nodePath: z.string(),
2301
- startedAt: z.string().nullable().optional(),
2302
- listen: z.string().nullable(),
2303
- relay: z
2304
- .object({
2305
- enabled: z.boolean(),
2306
- endpoint: z.string(),
2307
- publicEndpoint: z.string(),
2308
- useTls: z.boolean(),
2309
- publicUseTls: z.boolean(),
2310
- })
2311
- .nullable()
2312
- .optional(),
2313
- providers: z.array(z.object({
2314
- provider: z.string(),
2315
- available: z.boolean(),
2316
- error: z.string().nullable().optional(),
2317
- })),
2318
- })
2319
- .passthrough(),
2320
- });
2321
- export const DaemonGetPairingOfferResponseSchema = z.object({
2322
- type: z.literal("daemon.get_pairing_offer.response"),
2323
- payload: z
2324
- .object({
2325
- requestId: z.string(),
2326
- url: z.string(),
2327
- qr: z.string().nullable().optional(),
2328
- relayEnabled: z.boolean(),
2329
- })
2330
- .passthrough(),
2331
- });
2332
- export const SetDaemonConfigResponseMessageSchema = z.object({
2333
- type: z.literal("set_daemon_config_response"),
2334
- payload: z
2335
- .object({
2336
- requestId: z.string(),
2337
- config: MutableDaemonConfigSchema,
2338
- })
2339
- .passthrough(),
2340
- });
2341
- export const ReadProjectConfigResponseMessageSchema = z.object({
2342
- type: z.literal("read_project_config_response"),
2343
- payload: z.discriminatedUnion("ok", [
2344
- z.object({
2345
- requestId: z.string(),
2346
- repoRoot: z.string(),
2347
- ok: z.literal(true),
2348
- config: PaseoConfigRawSchema.nullable(),
2349
- revision: PaseoConfigRevisionSchema.nullable(),
2350
- }),
2351
- z.object({
2352
- requestId: z.string(),
2353
- repoRoot: z.string(),
2354
- ok: z.literal(false),
2355
- error: ProjectConfigRpcErrorSchema,
2356
- }),
2357
- ]),
2358
- });
2359
- export const WriteProjectConfigResponseMessageSchema = z.object({
2360
- type: z.literal("write_project_config_response"),
2361
- payload: z.discriminatedUnion("ok", [
2362
- z.object({
2363
- requestId: z.string(),
2364
- repoRoot: z.string(),
2365
- ok: z.literal(true),
2366
- config: PaseoConfigRawSchema,
2367
- revision: PaseoConfigRevisionSchema,
2368
- }),
2369
- z.object({
2370
- requestId: z.string(),
2371
- repoRoot: z.string(),
2372
- ok: z.literal(false),
2373
- error: ProjectConfigRpcErrorSchema,
2374
- }),
2375
- ]),
2376
- });
2377
- export const AgentPermissionRequestMessageSchema = z.object({
2378
- type: z.literal("agent_permission_request"),
2379
- payload: z.object({
2380
- agentId: z.string(),
2381
- request: AgentPermissionRequestPayloadSchema,
2382
- }),
2383
- });
2384
- export const AgentPermissionResolvedMessageSchema = z.object({
2385
- type: z.literal("agent_permission_resolved"),
2386
- payload: z.object({
2387
- agentId: z.string(),
2388
- requestId: z.string(),
2389
- resolution: AgentPermissionResponseSchema,
2390
- }),
2391
- });
2392
- export const AgentDeletedMessageSchema = z.object({
2393
- type: z.literal("agent_deleted"),
2394
- payload: z.object({
2395
- agentId: z.string(),
2396
- requestId: z.string(),
2397
- }),
2398
- });
2399
- export const AgentArchivedMessageSchema = z.object({
2400
- type: z.literal("agent_archived"),
2401
- payload: z.object({
2402
- agentId: z.string(),
2403
- archivedAt: z.string(),
2404
- requestId: z.string(),
2405
- }),
2406
- });
2407
- const CloseItemsAgentResultSchema = z.object({
2408
- agentId: z.string(),
2409
- archivedAt: z.string(),
2410
- });
2411
- const CloseItemsTerminalResultSchema = z.object({
2412
- terminalId: z.string(),
2413
- success: z.boolean(),
2414
- });
2415
- export const CloseItemsResponseSchema = z.object({
2416
- type: z.literal("close_items_response"),
2417
- payload: z.object({
2418
- agents: z.array(CloseItemsAgentResultSchema),
2419
- terminals: z.array(CloseItemsTerminalResultSchema),
2420
- requestId: z.string(),
2421
- }),
2422
- });
2423
- const AheadBehindSchema = z.object({
2424
- ahead: z.number(),
2425
- behind: z.number(),
2426
- });
2427
- const CheckoutStatusCommonSchema = z.object({
2428
- cwd: z.string(),
2429
- error: CheckoutErrorSchema.nullable(),
2430
- requestId: z.string(),
2431
- });
2432
- const CheckoutStatusNotGitSchema = CheckoutStatusCommonSchema.extend({
2433
- isGit: z.literal(false),
2434
- isPaseoOwnedWorktree: z.literal(false),
2435
- repoRoot: z.null(),
2436
- currentBranch: z.null(),
2437
- isDirty: z.null(),
2438
- baseRef: z.null(),
2439
- aheadBehind: z.null(),
2440
- aheadOfOrigin: z.null(),
2441
- behindOfOrigin: z.null(),
2442
- hasRemote: z.boolean(),
2443
- remoteUrl: z.null(),
2444
- });
2445
- const CheckoutStatusGitNonPaseoSchema = CheckoutStatusCommonSchema.extend({
2446
- isGit: z.literal(true),
2447
- isPaseoOwnedWorktree: z.literal(false),
2448
- repoRoot: z.string(),
2449
- mainRepoRoot: z.string().nullable().optional().default(null),
2450
- currentBranch: z.string().nullable(),
2451
- isDirty: z.boolean(),
2452
- baseRef: z.string().nullable(),
2453
- aheadBehind: AheadBehindSchema.nullable(),
2454
- aheadOfOrigin: z.number().nullable(),
2455
- behindOfOrigin: z.number().nullable(),
2456
- hasRemote: z.boolean(),
2457
- remoteUrl: z.string().nullable(),
2458
- });
2459
- const CheckoutStatusGitPaseoSchema = CheckoutStatusCommonSchema.extend({
2460
- isGit: z.literal(true),
2461
- isPaseoOwnedWorktree: z.literal(true),
2462
- repoRoot: z.string(),
2463
- mainRepoRoot: z.string(),
2464
- currentBranch: z.string().nullable(),
2465
- isDirty: z.boolean(),
2466
- baseRef: z.string(),
2467
- aheadBehind: AheadBehindSchema.nullable(),
2468
- aheadOfOrigin: z.number().nullable(),
2469
- behindOfOrigin: z.number().nullable(),
2470
- hasRemote: z.boolean(),
2471
- remoteUrl: z.string().nullable(),
2472
- });
2473
- export const CheckoutStatusResponseSchema = z.object({
2474
- type: z.literal("checkout_status_response"),
2475
- payload: z.union([
2476
- CheckoutStatusNotGitSchema,
2477
- CheckoutStatusGitNonPaseoSchema,
2478
- CheckoutStatusGitPaseoSchema,
2479
- ]),
2480
- });
2481
- const CheckoutPrGithubAutoMergeRequestSchema = z
2482
- .object({
2483
- enabledAt: z.string().nullable().optional().default(null),
2484
- mergeMethod: z.string().nullable().optional().default(null),
2485
- enabledBy: z.string().nullable().optional().default(null),
2486
- })
2487
- .nullable()
2488
- .optional()
2489
- .default(null);
2490
- const CheckoutPrGithubRepositoryPolicySchema = z
2491
- .object({
2492
- autoMergeAllowed: z.boolean().optional().default(false),
2493
- mergeCommitAllowed: z.boolean().optional().default(false),
2494
- squashMergeAllowed: z.boolean().optional().default(false),
2495
- rebaseMergeAllowed: z.boolean().optional().default(false),
2496
- viewerDefaultMergeMethod: z.string().nullable().optional().default(null),
2497
- })
2498
- .optional()
2499
- .default({
2500
- autoMergeAllowed: false,
2501
- mergeCommitAllowed: false,
2502
- squashMergeAllowed: false,
2503
- rebaseMergeAllowed: false,
2504
- viewerDefaultMergeMethod: null,
2505
- });
2506
- const CheckoutPrGithubStatusSchema = z
2507
- .object({
2508
- mergeStateStatus: z.string().nullable().optional().default(null),
2509
- autoMergeRequest: CheckoutPrGithubAutoMergeRequestSchema,
2510
- viewerCanEnableAutoMerge: z.boolean().optional().default(false),
2511
- viewerCanDisableAutoMerge: z.boolean().optional().default(false),
2512
- viewerCanMergeAsAdmin: z.boolean().optional().default(false),
2513
- viewerCanUpdateBranch: z.boolean().optional().default(false),
2514
- repository: CheckoutPrGithubRepositoryPolicySchema,
2515
- isMergeQueueEnabled: z.boolean().optional().default(false),
2516
- isInMergeQueue: z.boolean().optional().default(false),
2517
- })
2518
- .optional();
2519
- export const CheckoutPrStatusSchema = z.object({
2520
- number: z.number().optional(),
2521
- url: z.string(),
2522
- title: z.string(),
2523
- state: z.string(),
2524
- baseRefName: z.string(),
2525
- headRefName: z.string(),
2526
- isMerged: z.boolean(),
2527
- isDraft: z.boolean().optional().default(false),
2528
- mergeable: z
2529
- .enum(["MERGEABLE", "CONFLICTING", "UNKNOWN"])
2530
- .catch("UNKNOWN")
2531
- .optional()
2532
- .default("UNKNOWN"),
2533
- checks: z
2534
- .array(z.object({
2535
- name: z.string(),
2536
- status: z.string(),
2537
- url: z.string().nullable(),
2538
- workflow: z.string().optional(),
2539
- duration: z.string().optional(),
2540
- }))
2541
- .optional()
2542
- .default([]),
2543
- checksStatus: z.string().optional(),
2544
- reviewDecision: z.string().nullable().optional(),
2545
- repoOwner: z.string().optional(),
2546
- repoName: z.string().optional(),
2547
- github: CheckoutPrGithubStatusSchema,
2548
- });
2549
- const CheckoutPrStatusPayloadSchema = z.object({
2550
- cwd: z.string(),
2551
- status: CheckoutPrStatusSchema.nullable(),
2552
- githubFeaturesEnabled: z.boolean(),
2553
- error: CheckoutErrorSchema.nullable(),
2554
- requestId: z.string(),
2555
- });
2556
- const CheckoutStatusUpdateMetadataSchema = z.object({
2557
- prStatus: CheckoutPrStatusPayloadSchema.optional(),
2558
- });
2559
- export const CheckoutStatusUpdateSchema = z.object({
2560
- type: z.literal("checkout_status_update"),
2561
- payload: z
2562
- .union([
2563
- CheckoutStatusNotGitSchema,
2564
- CheckoutStatusGitNonPaseoSchema,
2565
- CheckoutStatusGitPaseoSchema,
2566
- ])
2567
- .and(CheckoutStatusUpdateMetadataSchema),
2568
- });
2569
- const CheckoutDiffSubscriptionPayloadSchema = z.object({
2570
- subscriptionId: z.string(),
2571
- cwd: z.string(),
2572
- files: z.array(ParsedDiffFileSchema),
2573
- error: CheckoutErrorSchema.nullable(),
2574
- });
2575
- export const SubscribeCheckoutDiffResponseSchema = z.object({
2576
- type: z.literal("subscribe_checkout_diff_response"),
2577
- payload: CheckoutDiffSubscriptionPayloadSchema.extend({
2578
- requestId: z.string(),
2579
- }),
2580
- });
2581
- export const CheckoutDiffUpdateSchema = z.object({
2582
- type: z.literal("checkout_diff_update"),
2583
- payload: CheckoutDiffSubscriptionPayloadSchema,
2584
- });
2585
- export const CheckoutCommitResponseSchema = z.object({
2586
- type: z.literal("checkout_commit_response"),
2587
- payload: z.object({
2588
- cwd: z.string(),
2589
- success: z.boolean(),
2590
- error: CheckoutErrorSchema.nullable(),
2591
- requestId: z.string(),
2592
- }),
2593
- });
2594
- export const CheckoutMergeResponseSchema = z.object({
2595
- type: z.literal("checkout_merge_response"),
2596
- payload: z.object({
2597
- cwd: z.string(),
2598
- success: z.boolean(),
2599
- error: CheckoutErrorSchema.nullable(),
2600
- requestId: z.string(),
2601
- }),
2602
- });
2603
- export const CheckoutMergeFromBaseResponseSchema = z.object({
2604
- type: z.literal("checkout_merge_from_base_response"),
2605
- payload: z.object({
2606
- cwd: z.string(),
2607
- success: z.boolean(),
2608
- error: CheckoutErrorSchema.nullable(),
2609
- requestId: z.string(),
2610
- }),
2611
- });
2612
- export const CheckoutPullResponseSchema = z.object({
2613
- type: z.literal("checkout_pull_response"),
2614
- payload: z.object({
2615
- cwd: z.string(),
2616
- success: z.boolean(),
2617
- error: CheckoutErrorSchema.nullable(),
2618
- requestId: z.string(),
2619
- }),
2620
- });
2621
- export const CheckoutPushResponseSchema = z.object({
2622
- type: z.literal("checkout_push_response"),
2623
- payload: z.object({
2624
- cwd: z.string(),
2625
- success: z.boolean(),
2626
- error: CheckoutErrorSchema.nullable(),
2627
- requestId: z.string(),
2628
- }),
2629
- });
2630
- export const CheckoutPrCreateResponseSchema = z.object({
2631
- type: z.literal("checkout_pr_create_response"),
2632
- payload: z.object({
2633
- cwd: z.string(),
2634
- url: z.string().nullable(),
2635
- number: z.number().nullable(),
2636
- error: CheckoutErrorSchema.nullable(),
2637
- requestId: z.string(),
2638
- }),
2639
- });
2640
- export const CheckoutPrMergeResponseSchema = z.object({
2641
- type: z.literal("checkout_pr_merge_response"),
2642
- payload: z.object({
2643
- cwd: z.string(),
2644
- success: z.boolean(),
2645
- error: CheckoutErrorSchema.nullable(),
2646
- requestId: z.string(),
2647
- }),
2648
- });
2649
- export const CheckoutGithubSetAutoMergeResponseSchema = z.object({
2650
- type: z.literal("checkout.github.set_auto_merge.response"),
2651
- payload: z.object({
2652
- cwd: z.string(),
2653
- enabled: z.boolean(),
2654
- success: z.boolean(),
2655
- error: CheckoutErrorSchema.nullable(),
2656
- requestId: z.string(),
2657
- }),
2658
- });
2659
- export const CheckoutPrStatusResponseSchema = z.object({
2660
- type: z.literal("checkout_pr_status_response"),
2661
- payload: CheckoutPrStatusPayloadSchema,
2662
- });
2663
- const PullRequestTimelineKnownErrorSchema = z.discriminatedUnion("kind", [
2664
- z.object({
2665
- kind: z.literal("not_found"),
2666
- message: z.string().optional().default(""),
2667
- }),
2668
- z.object({
2669
- kind: z.literal("forbidden"),
2670
- message: z.string().optional().default(""),
2671
- }),
2672
- z.object({
2673
- kind: z.literal("unknown"),
2674
- message: z.string().optional().default(""),
2675
- }),
2676
- ]);
2677
- const PullRequestTimelineErrorSchema = z.preprocess((value) => {
2678
- if (!value || typeof value !== "object" || Array.isArray(value)) {
2679
- return { kind: "unknown", message: "" };
2680
- }
2681
- const error = value;
2682
- if (error.kind === "not_found" || error.kind === "forbidden" || error.kind === "unknown") {
2683
- return error;
2684
- }
2685
- return { ...error, kind: "unknown" };
2686
- }, PullRequestTimelineKnownErrorSchema);
2687
- const PullRequestTimelineReviewItemSchema = z.object({
2688
- id: z.string().optional().default(""),
2689
- kind: z.literal("review"),
2690
- author: z.string().optional().default("unknown"),
2691
- body: z.string().optional().default(""),
2692
- createdAt: z.number().optional().default(0),
2693
- url: z.string().optional().default(""),
2694
- reviewState: z
2695
- .enum(["approved", "changes_requested", "commented"])
2696
- .optional()
2697
- .default("commented"),
2698
- });
2699
- const PullRequestTimelineCommentItemSchema = z.object({
2700
- id: z.string().optional().default(""),
2701
- kind: z.literal("comment"),
2702
- author: z.string().optional().default("unknown"),
2703
- body: z.string().optional().default(""),
2704
- createdAt: z.number().optional().default(0),
2705
- url: z.string().optional().default(""),
2706
- });
2707
- export const PullRequestTimelineItemSchema = z.preprocess((value) => {
2708
- if (!value || typeof value !== "object" || Array.isArray(value)) {
2709
- return value;
2710
- }
2711
- const item = value;
2712
- if (item.kind === "review" || item.kind === "comment") {
2713
- return item;
2714
- }
2715
- return { ...item, kind: "comment" };
2716
- }, z.discriminatedUnion("kind", [
2717
- PullRequestTimelineReviewItemSchema,
2718
- PullRequestTimelineCommentItemSchema,
2719
- ]));
2720
- export const PullRequestTimelineResponseSchema = z.object({
2721
- type: z.literal("pull_request_timeline_response"),
2722
- payload: z
2723
- .object({
2724
- cwd: z.string().optional().default(""),
2725
- prNumber: z.number().nullable().optional().default(null),
2726
- items: z.array(PullRequestTimelineItemSchema).optional().default([]),
2727
- truncated: z.boolean().optional().default(false),
2728
- error: PullRequestTimelineErrorSchema.nullable().optional().default(null),
2729
- requestId: z.string().optional().default(""),
2730
- githubFeaturesEnabled: z.boolean().optional().default(true),
2731
- })
2732
- .optional()
2733
- .default({}),
2734
- });
2735
- export const CheckoutSwitchBranchResponseSchema = z.object({
2736
- type: z.literal("checkout_switch_branch_response"),
2737
- payload: z.object({
2738
- cwd: z.string(),
2739
- success: z.boolean(),
2740
- branch: z.string(),
2741
- source: z.enum(["local", "remote"]).optional(),
2742
- error: CheckoutErrorSchema.nullable(),
2743
- requestId: z.string(),
2744
- }),
2745
- });
2746
- export const CheckoutRenameBranchResponseSchema = z.object({
2747
- type: z.literal("checkout.rename_branch.response"),
2748
- payload: z.object({
2749
- requestId: z.string(),
2750
- success: z.boolean(),
2751
- cwd: z.string(),
2752
- currentBranch: z.string().nullable(),
2753
- error: CheckoutErrorSchema.nullable(),
2754
- }),
2755
- });
2756
- const StashEntrySchema = z.object({
2757
- index: z.number().int().min(0),
2758
- message: z.string(),
2759
- branch: z.string().nullable(),
2760
- isPaseo: z.boolean(),
2761
- });
2762
- export const StashSaveResponseSchema = z.object({
2763
- type: z.literal("stash_save_response"),
2764
- payload: z.object({
2765
- cwd: z.string(),
2766
- success: z.boolean(),
2767
- error: CheckoutErrorSchema.nullable(),
2768
- requestId: z.string(),
2769
- }),
2770
- });
2771
- export const StashPopResponseSchema = z.object({
2772
- type: z.literal("stash_pop_response"),
2773
- payload: z.object({
2774
- cwd: z.string(),
2775
- success: z.boolean(),
2776
- error: CheckoutErrorSchema.nullable(),
2777
- requestId: z.string(),
2778
- }),
2779
- });
2780
- export const StashListResponseSchema = z.object({
2781
- type: z.literal("stash_list_response"),
2782
- payload: z.object({
2783
- cwd: z.string(),
2784
- entries: z.array(StashEntrySchema),
2785
- error: CheckoutErrorSchema.nullable(),
2786
- requestId: z.string(),
2787
- }),
2788
- });
2789
- export const ValidateBranchResponseSchema = z.object({
2790
- type: z.literal("validate_branch_response"),
2791
- payload: z.object({
2792
- exists: z.boolean(),
2793
- resolvedRef: z.string().nullable(),
2794
- isRemote: z.boolean(),
2795
- error: z.string().nullable(),
2796
- requestId: z.string(),
2797
- }),
2798
- });
2799
- export const BranchSuggestionsResponseSchema = z.object({
2800
- type: z.literal("branch_suggestions_response"),
2801
- payload: z.object({
2802
- branches: z.array(z.string()),
2803
- branchDetails: z
2804
- .array(z.object({
2805
- name: z.string(),
2806
- committerDate: z.number(),
2807
- hasLocal: z.boolean().optional(),
2808
- hasRemote: z.boolean().optional(),
2809
- }))
2810
- .optional(),
2811
- error: z.string().nullable(),
2812
- requestId: z.string(),
2813
- }),
2814
- });
2815
- export const GitHubSearchResponseSchema = z.object({
2816
- type: z.literal("github_search_response"),
2817
- payload: z.object({
2818
- items: z.array(GitHubSearchItemSchema),
2819
- githubFeaturesEnabled: z.boolean(),
2820
- error: z.string().nullable(),
2821
- requestId: z.string(),
2822
- }),
2823
- });
2824
- export const DirectorySuggestionsResponseSchema = z.object({
2825
- type: z.literal("directory_suggestions_response"),
2826
- payload: z.object({
2827
- directories: z.array(z.string()),
2828
- entries: z
2829
- .array(z.object({
2830
- path: z.string(),
2831
- kind: z.enum(["file", "directory"]),
2832
- }))
2833
- .optional()
2834
- .default([]),
2835
- error: z.string().nullable(),
2836
- requestId: z.string(),
2837
- }),
2838
- });
2839
- const PaseoWorktreeSchema = z.object({
2840
- worktreePath: z.string(),
2841
- createdAt: z.string(),
2842
- branchName: z.string().nullable().optional(),
2843
- head: z.string().nullable().optional(),
2844
- });
2845
- export const PaseoWorktreeListResponseSchema = z.object({
2846
- type: z.literal("paseo_worktree_list_response"),
2847
- payload: z.object({
2848
- worktrees: z.array(PaseoWorktreeSchema),
2849
- error: CheckoutErrorSchema.nullable(),
2850
- requestId: z.string(),
2851
- }),
2852
- });
2853
- export const PaseoWorktreeArchiveResponseSchema = z.object({
2854
- type: z.literal("paseo_worktree_archive_response"),
2855
- payload: z.object({
2856
- success: z.boolean(),
2857
- removedAgents: z.array(z.string()).optional(),
2858
- error: CheckoutErrorSchema.nullable(),
2859
- requestId: z.string(),
2860
- }),
2861
- });
2862
- export const CreatePaseoWorktreeResponseSchema = z.object({
2863
- type: z.literal("create_paseo_worktree_response"),
2864
- payload: z.object({
2865
- workspace: WorkspaceDescriptorPayloadSchema.nullable(),
2866
- error: z.string().nullable(),
2867
- errorCode: z.string().optional(),
2868
- setupTerminalId: z.string().nullable(),
2869
- requestId: z.string(),
2870
- }),
2871
- });
2872
- export const FileExplorerResponseSchema = z.object({
2873
- type: z.literal("file_explorer_response"),
2874
- payload: z.object({
2875
- cwd: z.string(),
2876
- path: z.string(),
2877
- mode: z.enum(["list", "file"]),
2878
- directory: FileExplorerDirectorySchema.nullable(),
2879
- file: FileExplorerFileSchema.nullable(),
2880
- error: z.string().nullable(),
2881
- requestId: z.string(),
2882
- }),
2883
- });
2884
- const ProjectIconSchema = z.object({
2885
- data: z.string(),
2886
- mimeType: z.string(),
2887
- });
2888
- export const ProjectIconResponseSchema = z.object({
2889
- type: z.literal("project_icon_response"),
2890
- payload: z.object({
2891
- cwd: z.string(),
2892
- icon: ProjectIconSchema.nullable(),
2893
- error: z.string().nullable(),
2894
- requestId: z.string(),
2895
- }),
2896
- });
2897
- export const FileDownloadTokenResponseSchema = z.object({
2898
- type: z.literal("file_download_token_response"),
2899
- payload: z.object({
2900
- cwd: z.string(),
2901
- path: z.string(),
2902
- token: z.string().nullable(),
2903
- fileName: z.string().nullable(),
2904
- mimeType: z.string().nullable(),
2905
- size: z.number().nullable(),
2906
- error: z.string().nullable(),
2907
- requestId: z.string(),
2908
- }),
2909
- });
2910
- export const ListProviderModelsResponseMessageSchema = z.object({
2911
- type: z.literal("list_provider_models_response"),
2912
- payload: z.object({
2913
- provider: AgentProviderSchema,
2914
- models: z.array(AgentModelDefinitionSchema).optional(),
2915
- error: z.string().nullable().optional(),
2916
- fetchedAt: z.string(),
2917
- requestId: z.string(),
2918
- }),
2919
- });
2920
- export const ListProviderModesResponseMessageSchema = z.object({
2921
- type: z.literal("list_provider_modes_response"),
2922
- payload: z.object({
2923
- provider: AgentProviderSchema,
2924
- modes: z.array(AgentModeSchema).optional(),
2925
- error: z.string().nullable().optional(),
2926
- fetchedAt: z.string(),
2927
- requestId: z.string(),
2928
- }),
2929
- });
2930
- export const ListProviderFeaturesResponseMessageSchema = z.object({
2931
- type: z.literal("list_provider_features_response"),
2932
- payload: z.object({
2933
- provider: AgentProviderSchema,
2934
- features: z.array(AgentFeatureSchema).optional(),
2935
- error: z.string().nullable().optional(),
2936
- fetchedAt: z.string(),
2937
- requestId: z.string(),
2938
- }),
2939
- });
2940
- const ProviderAvailabilitySchema = z.object({
2941
- provider: AgentProviderSchema,
2942
- available: z.boolean(),
2943
- error: z.string().nullable().optional(),
2944
- });
2945
- export const ListAvailableProvidersResponseSchema = z.object({
2946
- type: z.literal("list_available_providers_response"),
2947
- payload: z.object({
2948
- providers: z.array(ProviderAvailabilitySchema),
2949
- error: z.string().nullable().optional(),
2950
- fetchedAt: z.string(),
2951
- requestId: z.string(),
2952
- }),
2953
- });
2954
- // COMPAT(providersSnapshot): added in v0.1.48, remove gating when all clients use snapshot
2955
- export const GetProvidersSnapshotResponseMessageSchema = z.object({
2956
- type: z.literal("get_providers_snapshot_response"),
2957
- payload: z.object({
2958
- entries: z.array(ProviderSnapshotEntrySchema),
2959
- generatedAt: z.string(),
2960
- requestId: z.string(),
2961
- }),
2962
- });
2963
- // COMPAT(providersSnapshot): added in v0.1.48, remove gating when all clients use snapshot
2964
- export const ProvidersSnapshotUpdateMessageSchema = z.object({
2965
- type: z.literal("providers_snapshot_update"),
2966
- payload: z.object({
2967
- cwd: z.string().optional(),
2968
- entries: z.array(ProviderSnapshotEntrySchema),
2969
- generatedAt: z.string(),
2970
- }),
2971
- });
2972
- // COMPAT(providersSnapshot): added in v0.1.48, remove gating when all clients use snapshot
2973
- export const RefreshProvidersSnapshotResponseMessageSchema = z.object({
2974
- type: z.literal("refresh_providers_snapshot_response"),
2975
- payload: z.object({
2976
- requestId: z.string(),
2977
- acknowledged: z.boolean(),
2978
- }),
2979
- });
2980
- // COMPAT(providersSnapshot): added in v0.1.48, remove gating when all clients use snapshot
2981
- export const ProviderDiagnosticResponseMessageSchema = z.object({
2982
- type: z.literal("provider_diagnostic_response"),
2983
- payload: z.object({
2984
- provider: AgentProviderSchema,
2985
- diagnostic: z.string(),
2986
- requestId: z.string(),
2987
- }),
2988
- });
2989
- const AgentSlashCommandSchema = z.object({
2990
- name: z.string(),
2991
- description: z.string(),
2992
- argumentHint: z.string(),
2993
- });
2994
- export const ListCommandsResponseSchema = z.object({
2995
- type: z.literal("list_commands_response"),
2996
- payload: z.object({
2997
- agentId: z.string(),
2998
- commands: z.array(AgentSlashCommandSchema),
2999
- error: z.string().nullable(),
3000
- requestId: z.string(),
3001
- }),
3002
- });
3003
- // ============================================================================
3004
- // Terminal Outbound Messages
3005
- // ============================================================================
3006
- const TerminalInfoSchema = z.object({
3007
- id: z.string(),
3008
- name: z.string(),
3009
- cwd: z.string(),
3010
- title: z.string().optional(),
3011
- });
3012
- export const TerminalCellSchema = z
3013
- .object({
3014
- char: z.string(),
3015
- fg: z.number().optional(),
3016
- bg: z.number().optional(),
3017
- fgMode: z.number().optional(),
3018
- bgMode: z.number().optional(),
3019
- bold: z.boolean().optional(),
3020
- italic: z.boolean().optional(),
3021
- underline: z.boolean().optional(),
3022
- dim: z.boolean().optional(),
3023
- inverse: z.boolean().optional(),
3024
- strikethrough: z.boolean().optional(),
3025
- })
3026
- .strict();
3027
- export const TerminalCursorStyleSchema = z.enum(["block", "underline", "bar"]);
3028
- export const TerminalCursorSchema = z
3029
- .object({
3030
- row: z.number(),
3031
- col: z.number(),
3032
- hidden: z.boolean().optional(),
3033
- style: TerminalCursorStyleSchema.optional(),
3034
- blink: z.boolean().optional(),
3035
- })
3036
- .strict();
3037
- export const TerminalStateSchema = z
3038
- .object({
3039
- rows: z.number(),
3040
- cols: z.number(),
3041
- grid: z.array(z.array(TerminalCellSchema)),
3042
- scrollback: z.array(z.array(TerminalCellSchema)),
3043
- cursor: TerminalCursorSchema,
3044
- title: z.string().optional(),
3045
- })
3046
- .strict();
3047
- export const ListTerminalsResponseSchema = z.object({
3048
- type: z.literal("list_terminals_response"),
3049
- payload: z.object({
3050
- cwd: z.string().optional(),
3051
- terminals: z.array(TerminalInfoSchema.omit({ cwd: true })),
3052
- requestId: z.string(),
3053
- }),
3054
- });
3055
- export const TerminalsChangedSchema = z.object({
3056
- type: z.literal("terminals_changed"),
3057
- payload: z.object({
3058
- cwd: z.string(),
3059
- terminals: z.array(TerminalInfoSchema.omit({ cwd: true })),
3060
- }),
3061
- });
3062
- export const CreateTerminalResponseSchema = z.object({
3063
- type: z.literal("create_terminal_response"),
3064
- payload: z.object({
3065
- terminal: TerminalInfoSchema.nullable(),
3066
- error: z.string().nullable(),
3067
- requestId: z.string(),
3068
- }),
3069
- });
3070
- export const RenameTerminalResponseSchema = z.object({
3071
- type: z.literal("terminal.rename.response"),
3072
- payload: z.object({
3073
- requestId: z.string(),
3074
- success: z.boolean(),
3075
- error: z.string().nullable(),
3076
- }),
3077
- });
3078
- export const SubscribeTerminalResponseSchema = z.object({
3079
- type: z.literal("subscribe_terminal_response"),
3080
- payload: z.union([
3081
- z.object({
3082
- terminalId: z.string(),
3083
- slot: z.number().int().min(0).max(255),
3084
- error: z.null(),
3085
- requestId: z.string(),
3086
- }),
3087
- z.object({
3088
- terminalId: z.string(),
3089
- error: z.string(),
3090
- requestId: z.string(),
3091
- }),
3092
- ]),
3093
- });
3094
- export const KillTerminalResponseSchema = z.object({
3095
- type: z.literal("kill_terminal_response"),
3096
- payload: z.object({
3097
- terminalId: z.string(),
3098
- success: z.boolean(),
3099
- requestId: z.string(),
3100
- }),
3101
- });
3102
- export const CaptureTerminalResponseSchema = z.object({
3103
- type: z.literal("capture_terminal_response"),
3104
- payload: z.object({
3105
- terminalId: z.string(),
3106
- lines: z.array(z.string()),
3107
- totalLines: z.number().int().nonnegative(),
3108
- requestId: z.string(),
3109
- }),
3110
- });
3111
- export const TerminalStreamExitSchema = z.object({
3112
- type: z.literal("terminal_stream_exit"),
3113
- payload: z.object({
3114
- terminalId: z.string(),
3115
- }),
3116
- });
3117
- export const SessionOutboundMessageSchema = z.discriminatedUnion("type", [
3118
- ActivityLogMessageSchema,
3119
- AssistantChunkMessageSchema,
3120
- AudioOutputMessageSchema,
3121
- TranscriptionResultMessageSchema,
3122
- VoiceInputStateMessageSchema,
3123
- DictationStreamAckMessageSchema,
3124
- DictationStreamFinishAcceptedMessageSchema,
3125
- DictationStreamPartialMessageSchema,
3126
- DictationStreamFinalMessageSchema,
3127
- DictationStreamErrorMessageSchema,
3128
- StatusMessageSchema,
3129
- PongMessageSchema,
3130
- RpcErrorMessageSchema,
3131
- ArtifactMessageSchema,
3132
- AgentUpdateMessageSchema,
3133
- WorkspaceUpdateMessageSchema,
3134
- ScriptStatusUpdateMessageSchema,
3135
- WorkspaceSetupProgressMessageSchema,
3136
- WorkspaceSetupStatusResponseMessageSchema,
3137
- AgentStreamMessageSchema,
3138
- AgentStatusMessageSchema,
3139
- FetchAgentsResponseMessageSchema,
3140
- FetchAgentHistoryResponseMessageSchema,
3141
- FetchRecentProviderSessionsResponseMessageSchema,
3142
- FetchWorkspacesResponseMessageSchema,
3143
- OpenProjectResponseMessageSchema,
3144
- StartWorkspaceScriptResponseMessageSchema,
3145
- ListAvailableEditorsResponseMessageSchema,
3146
- OpenInEditorResponseMessageSchema,
3147
- ArchiveWorkspaceResponseMessageSchema,
3148
- FetchAgentResponseMessageSchema,
3149
- FetchAgentTimelineResponseMessageSchema,
3150
- CancelAgentResponseMessageSchema,
3151
- ClearAgentAttentionResponseMessageSchema,
3152
- SendAgentMessageResponseMessageSchema,
3153
- SetVoiceModeResponseMessageSchema,
3154
- DaemonGetStatusResponseSchema,
3155
- DaemonGetPairingOfferResponseSchema,
3156
- GetDaemonConfigResponseMessageSchema,
3157
- SetDaemonConfigResponseMessageSchema,
3158
- ReadProjectConfigResponseMessageSchema,
3159
- WriteProjectConfigResponseMessageSchema,
3160
- SetAgentModeResponseMessageSchema,
3161
- SetAgentModelResponseMessageSchema,
3162
- SetAgentThinkingResponseMessageSchema,
3163
- SetAgentFeatureResponseMessageSchema,
3164
- AgentRewindResponseMessageSchema,
3165
- UpdateAgentResponseMessageSchema,
3166
- ProjectRenameResponseSchema,
3167
- WaitForFinishResponseMessageSchema,
3168
- AgentPermissionRequestMessageSchema,
3169
- AgentPermissionResolvedMessageSchema,
3170
- AgentDeletedMessageSchema,
3171
- AgentArchivedMessageSchema,
3172
- CloseItemsResponseSchema,
3173
- CheckoutStatusResponseSchema,
3174
- CheckoutStatusUpdateSchema,
3175
- SubscribeCheckoutDiffResponseSchema,
3176
- CheckoutDiffUpdateSchema,
3177
- CheckoutCommitResponseSchema,
3178
- CheckoutMergeResponseSchema,
3179
- CheckoutMergeFromBaseResponseSchema,
3180
- CheckoutPullResponseSchema,
3181
- CheckoutPushResponseSchema,
3182
- CheckoutPrCreateResponseSchema,
3183
- CheckoutPrMergeResponseSchema,
3184
- CheckoutGithubSetAutoMergeResponseSchema,
3185
- CheckoutPrStatusResponseSchema,
3186
- PullRequestTimelineResponseSchema,
3187
- CheckoutSwitchBranchResponseSchema,
3188
- CheckoutRenameBranchResponseSchema,
3189
- StashSaveResponseSchema,
3190
- StashPopResponseSchema,
3191
- StashListResponseSchema,
3192
- ValidateBranchResponseSchema,
3193
- BranchSuggestionsResponseSchema,
3194
- GitHubSearchResponseSchema,
3195
- DirectorySuggestionsResponseSchema,
3196
- PaseoWorktreeListResponseSchema,
3197
- PaseoWorktreeArchiveResponseSchema,
3198
- CreatePaseoWorktreeResponseSchema,
3199
- FileExplorerResponseSchema,
3200
- ProjectIconResponseSchema,
3201
- FileDownloadTokenResponseSchema,
3202
- ListProviderModelsResponseMessageSchema,
3203
- ListProviderModesResponseMessageSchema,
3204
- ListProviderFeaturesResponseMessageSchema,
3205
- ListAvailableProvidersResponseSchema,
3206
- GetProvidersSnapshotResponseMessageSchema,
3207
- ProvidersSnapshotUpdateMessageSchema,
3208
- RefreshProvidersSnapshotResponseMessageSchema,
3209
- ProviderDiagnosticResponseMessageSchema,
3210
- ListCommandsResponseSchema,
3211
- ListTerminalsResponseSchema,
3212
- TerminalsChangedSchema,
3213
- CreateTerminalResponseSchema,
3214
- RenameTerminalResponseSchema,
3215
- SubscribeTerminalResponseSchema,
3216
- KillTerminalResponseSchema,
3217
- CaptureTerminalResponseSchema,
3218
- TerminalStreamExitSchema,
3219
- ChatCreateResponseSchema,
3220
- ChatListResponseSchema,
3221
- ChatInspectResponseSchema,
3222
- ChatDeleteResponseSchema,
3223
- ChatPostResponseSchema,
3224
- ChatReadResponseSchema,
3225
- ChatWaitResponseSchema,
3226
- ScheduleCreateResponseSchema,
3227
- ScheduleListResponseSchema,
3228
- ScheduleInspectResponseSchema,
3229
- ScheduleLogsResponseSchema,
3230
- SchedulePauseResponseSchema,
3231
- ScheduleResumeResponseSchema,
3232
- ScheduleDeleteResponseSchema,
3233
- ScheduleRunOnceResponseSchema,
3234
- ScheduleUpdateResponseSchema,
3235
- LoopRunResponseSchema,
3236
- LoopListResponseSchema,
3237
- LoopInspectResponseSchema,
3238
- LoopLogsResponseSchema,
3239
- LoopStopResponseSchema,
3240
- ]);
3241
- // ============================================================================
3242
- // WebSocket Level Messages (wraps session messages)
3243
- // ============================================================================
3244
- // WebSocket-only messages (not session messages)
3245
- export const WSPingMessageSchema = z.object({
3246
- type: z.literal("ping"),
3247
- });
3248
- export const WSPongMessageSchema = z.object({
3249
- type: z.literal("pong"),
3250
- });
3251
- export const WSHelloMessageSchema = z.object({
3252
- type: z.literal("hello"),
3253
- clientId: z.string().min(1),
3254
- clientType: z.enum(["mobile", "browser", "cli", "mcp"]),
3255
- protocolVersion: z.number().int(),
3256
- appVersion: z.string().optional(),
3257
- capabilities: z
3258
- .object({
3259
- voice: z.boolean().optional(),
3260
- pushNotifications: z.boolean().optional(),
3261
- [CLIENT_CAPS.reasoningMergeEnum]: z.boolean().optional(),
3262
- })
3263
- .passthrough()
3264
- .optional(),
3265
- });
3266
- export const WSRecordingStateMessageSchema = z.object({
3267
- type: z.literal("recording_state"),
3268
- isRecording: z.boolean(),
3269
- });
3270
- // Wrapped session message
3271
- export const WSSessionInboundSchema = z.object({
3272
- type: z.literal("session"),
3273
- message: SessionInboundMessageSchema,
3274
- });
3275
- export const WSSessionOutboundSchema = z.object({
3276
- type: z.literal("session"),
3277
- message: SessionOutboundMessageSchema,
3278
- });
3279
- // Complete WebSocket message schemas
3280
- export const WSInboundMessageSchema = z.discriminatedUnion("type", [
3281
- WSPingMessageSchema,
3282
- WSHelloMessageSchema,
3283
- WSRecordingStateMessageSchema,
3284
- WSSessionInboundSchema,
3285
- ]);
3286
- export const WSOutboundMessageSchema = z.discriminatedUnion("type", [
3287
- WSPongMessageSchema,
3288
- WSSessionOutboundSchema,
3289
- ]);
3290
- // ============================================================================
3291
- // Helper functions for message conversion
3292
- // ============================================================================
3293
- /**
3294
- * Extract session message from WebSocket message
3295
- * Returns null if message should be handled at WS level only
3296
- */
3297
- export function extractSessionMessage(wsMsg) {
3298
- if (wsMsg.type === "session") {
3299
- return wsMsg.message;
3300
- }
3301
- // Ping and recording_state are WS-level only
3302
- return null;
3303
- }
3304
- /**
3305
- * Wrap session message in WebSocket envelope
3306
- */
3307
- export function wrapSessionMessage(sessionMsg) {
3308
- return {
3309
- type: "session",
3310
- message: sessionMsg,
3311
- };
3312
- }
3313
- export function parseServerInfoStatusPayload(payload) {
3314
- const parsed = ServerInfoStatusPayloadSchema.safeParse(payload);
3315
- if (!parsed.success) {
3316
- return null;
3317
- }
3318
- return parsed.data;
3319
- }
3320
- //# sourceMappingURL=messages.js.map