@getpaseo/server 0.1.61 → 0.1.63

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 (464) hide show
  1. package/README.md +4 -0
  2. package/dist/server/client/daemon-client-runtime-metrics.d.ts +6 -6
  3. package/dist/server/client/daemon-client-runtime-metrics.d.ts.map +1 -1
  4. package/dist/server/client/daemon-client-transport-types.d.ts +13 -13
  5. package/dist/server/client/daemon-client-transport-types.d.ts.map +1 -1
  6. package/dist/server/client/daemon-client-websocket-transport.d.ts +1 -1
  7. package/dist/server/client/daemon-client-websocket-transport.d.ts.map +1 -1
  8. package/dist/server/client/daemon-client-websocket-transport.js +5 -4
  9. package/dist/server/client/daemon-client-websocket-transport.js.map +1 -1
  10. package/dist/server/client/daemon-client.d.ts +59 -37
  11. package/dist/server/client/daemon-client.d.ts.map +1 -1
  12. package/dist/server/client/daemon-client.js +62 -17
  13. package/dist/server/client/daemon-client.js.map +1 -1
  14. package/dist/server/server/agent/agent-loading.d.ts.map +1 -1
  15. package/dist/server/server/agent/agent-loading.js +5 -3
  16. package/dist/server/server/agent/agent-loading.js.map +1 -1
  17. package/dist/server/server/agent/agent-manager.d.ts +45 -19
  18. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  19. package/dist/server/server/agent/agent-manager.js +393 -290
  20. package/dist/server/server/agent/agent-manager.js.map +1 -1
  21. package/dist/server/server/agent/agent-metadata-generator.d.ts +6 -6
  22. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
  23. package/dist/server/server/agent/agent-metadata-generator.js +46 -38
  24. package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
  25. package/dist/server/server/agent/agent-projections.d.ts +4 -6
  26. package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
  27. package/dist/server/server/agent/agent-projections.js +59 -65
  28. package/dist/server/server/agent/agent-projections.js.map +1 -1
  29. package/dist/server/server/agent/agent-response-loop.d.ts +4 -4
  30. package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -1
  31. package/dist/server/server/agent/agent-response-loop.js +58 -45
  32. package/dist/server/server/agent/agent-response-loop.js.map +1 -1
  33. package/dist/server/server/agent/agent-sdk-types.d.ts +43 -40
  34. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  35. package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
  36. package/dist/server/server/agent/agent-storage.d.ts +2 -2
  37. package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
  38. package/dist/server/server/agent/agent-storage.js +29 -36
  39. package/dist/server/server/agent/agent-storage.js.map +1 -1
  40. package/dist/server/server/agent/agent-stream-coalescer.d.ts +6 -6
  41. package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +1 -1
  42. package/dist/server/server/agent/agent-timeline-store-types.d.ts +10 -10
  43. package/dist/server/server/agent/agent-timeline-store-types.d.ts.map +1 -1
  44. package/dist/server/server/agent/agent-timeline-store.d.ts +2 -2
  45. package/dist/server/server/agent/agent-timeline-store.d.ts.map +1 -1
  46. package/dist/server/server/agent/agent-timeline-store.js +85 -64
  47. package/dist/server/server/agent/agent-timeline-store.js.map +1 -1
  48. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  49. package/dist/server/server/agent/mcp-server.js +185 -148
  50. package/dist/server/server/agent/mcp-server.js.map +1 -1
  51. package/dist/server/server/agent/mcp-shared.d.ts +9 -2
  52. package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
  53. package/dist/server/server/agent/mcp-shared.js +2 -0
  54. package/dist/server/server/agent/mcp-shared.js.map +1 -1
  55. package/dist/server/server/agent/model-resolver.d.ts +2 -2
  56. package/dist/server/server/agent/model-resolver.d.ts.map +1 -1
  57. package/dist/server/server/agent/model-resolver.js +9 -5
  58. package/dist/server/server/agent/model-resolver.js.map +1 -1
  59. package/dist/server/server/agent/provider-launch-config.d.ts +28 -17
  60. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
  61. package/dist/server/server/agent/provider-launch-config.js +20 -9
  62. package/dist/server/server/agent/provider-launch-config.js.map +1 -1
  63. package/dist/server/server/agent/provider-registry.d.ts +4 -2
  64. package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
  65. package/dist/server/server/agent/provider-registry.js +24 -21
  66. package/dist/server/server/agent/provider-registry.js.map +1 -1
  67. package/dist/server/server/agent/provider-snapshot-manager.d.ts +6 -5
  68. package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +1 -1
  69. package/dist/server/server/agent/provider-snapshot-manager.js +40 -31
  70. package/dist/server/server/agent/provider-snapshot-manager.js.map +1 -1
  71. package/dist/server/server/agent/providers/acp-agent.d.ts +11 -12
  72. package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
  73. package/dist/server/server/agent/providers/acp-agent.js +148 -122
  74. package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
  75. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts +2 -0
  76. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts.map +1 -1
  77. package/dist/server/server/agent/providers/claude/sidechain-tracker.js +47 -45
  78. package/dist/server/server/agent/providers/claude/sidechain-tracker.js.map +1 -1
  79. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +2 -2
  80. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts.map +1 -1
  81. package/dist/server/server/agent/providers/claude/task-notification-tool-call.js +10 -5
  82. package/dist/server/server/agent/providers/claude/task-notification-tool-call.js.map +1 -1
  83. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts.map +1 -1
  84. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js +11 -2
  85. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js.map +1 -1
  86. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts +2 -2
  87. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts.map +1 -1
  88. package/dist/server/server/agent/providers/claude/tool-call-mapper.js +20 -13
  89. package/dist/server/server/agent/providers/claude/tool-call-mapper.js.map +1 -1
  90. package/dist/server/server/agent/providers/claude-agent.d.ts +20 -8
  91. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  92. package/dist/server/server/agent/providers/claude-agent.js +610 -460
  93. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  94. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts +2 -2
  95. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts.map +1 -1
  96. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts +2 -2
  97. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
  98. package/dist/server/server/agent/providers/codex/tool-call-mapper.js +49 -44
  99. package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
  100. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +27 -8
  101. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  102. package/dist/server/server/agent/providers/codex-app-server-agent.js +564 -492
  103. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  104. package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts +2 -2
  105. package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts.map +1 -1
  106. package/dist/server/server/agent/providers/codex-rollout-timeline.js +58 -47
  107. package/dist/server/server/agent/providers/codex-rollout-timeline.js.map +1 -1
  108. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +2 -2
  109. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -1
  110. package/dist/server/server/agent/providers/diagnostic-utils.d.ts +3 -3
  111. package/dist/server/server/agent/providers/diagnostic-utils.d.ts.map +1 -1
  112. package/dist/server/server/agent/providers/diagnostic-utils.js +82 -9
  113. package/dist/server/server/agent/providers/diagnostic-utils.js.map +1 -1
  114. package/dist/server/server/agent/providers/generic-acp-agent.d.ts +2 -2
  115. package/dist/server/server/agent/providers/generic-acp-agent.d.ts.map +1 -1
  116. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +1 -1
  117. package/dist/server/server/agent/providers/mock-load-test-agent.js.map +1 -1
  118. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts +2 -2
  119. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +1 -1
  120. package/dist/server/server/agent/providers/opencode-agent.d.ts +2 -2
  121. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  122. package/dist/server/server/agent/providers/opencode-agent.js +385 -360
  123. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  124. package/dist/server/server/agent/providers/pi-direct-agent.d.ts +1 -0
  125. package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -1
  126. package/dist/server/server/agent/providers/pi-direct-agent.js +109 -140
  127. package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -1
  128. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts.map +1 -1
  129. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +3 -1
  130. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js.map +1 -1
  131. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +3 -3
  132. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
  133. package/dist/server/server/agent/providers/tool-call-detail-primitives.js +102 -73
  134. package/dist/server/server/agent/providers/tool-call-detail-primitives.js.map +1 -1
  135. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +2 -2
  136. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts.map +1 -1
  137. package/dist/server/server/agent/stt-manager.d.ts.map +1 -1
  138. package/dist/server/server/agent/stt-manager.js +63 -53
  139. package/dist/server/server/agent/stt-manager.js.map +1 -1
  140. package/dist/server/server/agent/timeline-projection.d.ts +6 -6
  141. package/dist/server/server/agent/timeline-projection.d.ts.map +1 -1
  142. package/dist/server/server/agent/timeline-projection.js +11 -6
  143. package/dist/server/server/agent/timeline-projection.js.map +1 -1
  144. package/dist/server/server/agent/tts-manager.d.ts.map +1 -1
  145. package/dist/server/server/agent/tts-manager.js +1 -0
  146. package/dist/server/server/agent/tts-manager.js.map +1 -1
  147. package/dist/server/server/agent-attention-policy.d.ts +2 -2
  148. package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
  149. package/dist/server/server/bootstrap.d.ts +4 -4
  150. package/dist/server/server/bootstrap.d.ts.map +1 -1
  151. package/dist/server/server/bootstrap.js +493 -485
  152. package/dist/server/server/bootstrap.js.map +1 -1
  153. package/dist/server/server/chat/chat-service.d.ts +1 -1
  154. package/dist/server/server/chat/chat-service.d.ts.map +1 -1
  155. package/dist/server/server/chat/chat-service.js +3 -3
  156. package/dist/server/server/chat/chat-service.js.map +1 -1
  157. package/dist/server/server/checkout-diff-manager.d.ts +2 -2
  158. package/dist/server/server/checkout-diff-manager.d.ts.map +1 -1
  159. package/dist/server/server/checkout-git-utils.d.ts +5 -3
  160. package/dist/server/server/checkout-git-utils.d.ts.map +1 -1
  161. package/dist/server/server/checkout-git-utils.js +1 -2
  162. package/dist/server/server/checkout-git-utils.js.map +1 -1
  163. package/dist/server/server/config.d.ts.map +1 -1
  164. package/dist/server/server/config.js +68 -39
  165. package/dist/server/server/config.js.map +1 -1
  166. package/dist/server/server/connection-offer.d.ts +2 -2
  167. package/dist/server/server/connection-offer.d.ts.map +1 -1
  168. package/dist/server/server/daemon-config-store.d.ts +5 -3
  169. package/dist/server/server/daemon-config-store.d.ts.map +1 -1
  170. package/dist/server/server/daemon-config-store.js +26 -0
  171. package/dist/server/server/daemon-config-store.js.map +1 -1
  172. package/dist/server/server/daemon-keypair.d.ts +2 -2
  173. package/dist/server/server/daemon-keypair.d.ts.map +1 -1
  174. package/dist/server/server/editor-targets.d.ts +4 -4
  175. package/dist/server/server/editor-targets.d.ts.map +1 -1
  176. package/dist/server/server/editor-targets.js +11 -15
  177. package/dist/server/server/editor-targets.js.map +1 -1
  178. package/dist/server/server/exports.d.ts +3 -3
  179. package/dist/server/server/exports.d.ts.map +1 -1
  180. package/dist/server/server/exports.js +1 -3
  181. package/dist/server/server/exports.js.map +1 -1
  182. package/dist/server/server/file-download/token-store.d.ts +4 -4
  183. package/dist/server/server/file-download/token-store.d.ts.map +1 -1
  184. package/dist/server/server/index.js +16 -12
  185. package/dist/server/server/index.js.map +1 -1
  186. package/dist/server/server/logger.d.ts +4 -4
  187. package/dist/server/server/logger.d.ts.map +1 -1
  188. package/dist/server/server/logger.js +26 -20
  189. package/dist/server/server/logger.js.map +1 -1
  190. package/dist/server/server/loop/rpc-schemas.d.ts +52 -52
  191. package/dist/server/server/loop-service.d.ts +13 -12
  192. package/dist/server/server/loop-service.d.ts.map +1 -1
  193. package/dist/server/server/loop-service.js +22 -18
  194. package/dist/server/server/loop-service.js.map +1 -1
  195. package/dist/server/server/package-version.d.ts +2 -2
  196. package/dist/server/server/package-version.d.ts.map +1 -1
  197. package/dist/server/server/package-version.js +19 -17
  198. package/dist/server/server/package-version.js.map +1 -1
  199. package/dist/server/server/pairing-offer.d.ts +2 -2
  200. package/dist/server/server/pairing-offer.d.ts.map +1 -1
  201. package/dist/server/server/paseo-env.d.ts +9 -0
  202. package/dist/server/server/paseo-env.d.ts.map +1 -0
  203. package/dist/server/server/paseo-env.js +70 -0
  204. package/dist/server/server/paseo-env.js.map +1 -0
  205. package/dist/server/server/paseo-worktree-archive-service.d.ts +4 -4
  206. package/dist/server/server/paseo-worktree-archive-service.d.ts.map +1 -1
  207. package/dist/server/server/paseo-worktree-archive-service.js +11 -11
  208. package/dist/server/server/paseo-worktree-archive-service.js.map +1 -1
  209. package/dist/server/server/persisted-config.d.ts +62 -62
  210. package/dist/server/server/persisted-config.d.ts.map +1 -1
  211. package/dist/server/server/persisted-config.js +4 -4
  212. package/dist/server/server/persisted-config.js.map +1 -1
  213. package/dist/server/server/persistence-hooks.d.ts +8 -9
  214. package/dist/server/server/persistence-hooks.d.ts.map +1 -1
  215. package/dist/server/server/persistence-hooks.js +4 -12
  216. package/dist/server/server/persistence-hooks.js.map +1 -1
  217. package/dist/server/server/pid-lock.js.map +1 -1
  218. package/dist/server/server/push/push-service.d.ts.map +1 -1
  219. package/dist/server/server/push/push-service.js +1 -3
  220. package/dist/server/server/push/push-service.js.map +1 -1
  221. package/dist/server/server/relay-transport.d.ts +8 -8
  222. package/dist/server/server/relay-transport.d.ts.map +1 -1
  223. package/dist/server/server/relay-transport.js +27 -16
  224. package/dist/server/server/relay-transport.js.map +1 -1
  225. package/dist/server/server/schedule/service.d.ts.map +1 -1
  226. package/dist/server/server/schedule/service.js +2 -2
  227. package/dist/server/server/schedule/service.js.map +1 -1
  228. package/dist/server/server/script-health-monitor.d.ts.map +1 -1
  229. package/dist/server/server/script-health-monitor.js +7 -6
  230. package/dist/server/server/script-health-monitor.js.map +1 -1
  231. package/dist/server/server/script-proxy.js +1 -1
  232. package/dist/server/server/script-proxy.js.map +1 -1
  233. package/dist/server/server/script-status-projection.d.ts +4 -4
  234. package/dist/server/server/script-status-projection.d.ts.map +1 -1
  235. package/dist/server/server/script-status-projection.js +54 -44
  236. package/dist/server/server/script-status-projection.js.map +1 -1
  237. package/dist/server/server/server-id.d.ts +4 -4
  238. package/dist/server/server/server-id.d.ts.map +1 -1
  239. package/dist/server/server/session.d.ts +50 -19
  240. package/dist/server/server/session.d.ts.map +1 -1
  241. package/dist/server/server/session.js +1116 -783
  242. package/dist/server/server/session.js.map +1 -1
  243. package/dist/server/server/speech/audio.js +1 -1
  244. package/dist/server/server/speech/audio.js.map +1 -1
  245. package/dist/server/server/speech/providers/local/config.d.ts +6 -6
  246. package/dist/server/server/speech/providers/local/config.d.ts.map +1 -1
  247. package/dist/server/server/speech/providers/local/config.js +41 -16
  248. package/dist/server/server/speech/providers/local/config.js.map +1 -1
  249. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts +2 -2
  250. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts.map +1 -1
  251. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js +42 -19
  252. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +1 -1
  253. package/dist/server/server/speech/providers/local/runtime.d.ts +4 -4
  254. package/dist/server/server/speech/providers/local/runtime.d.ts.map +1 -1
  255. package/dist/server/server/speech/providers/local/runtime.js +108 -77
  256. package/dist/server/server/speech/providers/local/runtime.js.map +1 -1
  257. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts +2 -2
  258. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts.map +1 -1
  259. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js +1 -4
  260. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js.map +1 -1
  261. package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts +2 -2
  262. package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts.map +1 -1
  263. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js +19 -19
  264. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js.map +1 -1
  265. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts +28 -7
  266. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts.map +1 -1
  267. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +1 -1
  268. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts +23 -4
  269. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts.map +1 -1
  270. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +35 -28
  271. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +1 -1
  272. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.d.ts +5 -5
  273. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.d.ts.map +1 -1
  274. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts +7 -7
  275. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts.map +1 -1
  276. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js +5 -0
  277. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js.map +1 -1
  278. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts.map +1 -1
  279. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +3 -1
  280. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +1 -1
  281. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts +2 -2
  282. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts.map +1 -1
  283. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +3 -1
  284. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +1 -1
  285. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.d.ts.map +1 -1
  286. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js +10 -4
  287. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +1 -1
  288. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts +2 -2
  289. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts.map +1 -1
  290. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts +2 -2
  291. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts.map +1 -1
  292. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js +4 -1
  293. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js.map +1 -1
  294. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts +2 -2
  295. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts.map +1 -1
  296. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js +18 -11
  297. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js.map +1 -1
  298. package/dist/server/server/speech/providers/openai/config.d.ts +2 -2
  299. package/dist/server/server/speech/providers/openai/config.d.ts.map +1 -1
  300. package/dist/server/server/speech/providers/openai/config.js +58 -31
  301. package/dist/server/server/speech/providers/openai/config.js.map +1 -1
  302. package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts.map +1 -1
  303. package/dist/server/server/speech/providers/openai/realtime-transcription-session.js +2 -2
  304. package/dist/server/server/speech/providers/openai/realtime-transcription-session.js.map +1 -1
  305. package/dist/server/server/speech/providers/openai/runtime.d.ts +4 -4
  306. package/dist/server/server/speech/providers/openai/runtime.d.ts.map +1 -1
  307. package/dist/server/server/speech/providers/openai/runtime.js +37 -32
  308. package/dist/server/server/speech/providers/openai/runtime.js.map +1 -1
  309. package/dist/server/server/speech/providers/openai/stt.d.ts.map +1 -1
  310. package/dist/server/server/speech/providers/openai/stt.js +4 -3
  311. package/dist/server/server/speech/providers/openai/stt.js.map +1 -1
  312. package/dist/server/server/speech/providers/openai/tts.d.ts.map +1 -1
  313. package/dist/server/server/speech/providers/openai/tts.js +3 -2
  314. package/dist/server/server/speech/providers/openai/tts.js.map +1 -1
  315. package/dist/server/server/speech/speech-config-resolver.d.ts.map +1 -1
  316. package/dist/server/server/speech/speech-config-resolver.js +46 -17
  317. package/dist/server/server/speech/speech-config-resolver.js.map +1 -1
  318. package/dist/server/server/speech/speech-provider.d.ts +2 -2
  319. package/dist/server/server/speech/speech-provider.d.ts.map +1 -1
  320. package/dist/server/server/speech/speech-runtime.d.ts +6 -6
  321. package/dist/server/server/speech/speech-runtime.d.ts.map +1 -1
  322. package/dist/server/server/speech/speech-runtime.js +17 -17
  323. package/dist/server/server/speech/speech-runtime.js.map +1 -1
  324. package/dist/server/server/speech/speech-types.d.ts +2 -2
  325. package/dist/server/server/speech/speech-types.d.ts.map +1 -1
  326. package/dist/server/server/speech/turn-detection-provider.d.ts +2 -2
  327. package/dist/server/server/speech/turn-detection-provider.d.ts.map +1 -1
  328. package/dist/server/server/utils/diff-highlighter.d.ts +0 -3
  329. package/dist/server/server/utils/diff-highlighter.d.ts.map +1 -1
  330. package/dist/server/server/utils/diff-highlighter.js +67 -66
  331. package/dist/server/server/utils/diff-highlighter.js.map +1 -1
  332. package/dist/server/server/voice/voice-turn-controller.d.ts.map +1 -1
  333. package/dist/server/server/voice/voice-turn-controller.js +1 -0
  334. package/dist/server/server/voice/voice-turn-controller.js.map +1 -1
  335. package/dist/server/server/voice-types.d.ts +2 -2
  336. package/dist/server/server/voice-types.d.ts.map +1 -1
  337. package/dist/server/server/websocket-server.d.ts +33 -23
  338. package/dist/server/server/websocket-server.d.ts.map +1 -1
  339. package/dist/server/server/websocket-server.js +349 -241
  340. package/dist/server/server/websocket-server.js.map +1 -1
  341. package/dist/server/server/workspace-git-metadata.d.ts +2 -2
  342. package/dist/server/server/workspace-git-metadata.d.ts.map +1 -1
  343. package/dist/server/server/workspace-git-metadata.js +2 -32
  344. package/dist/server/server/workspace-git-metadata.js.map +1 -1
  345. package/dist/server/server/workspace-git-service.d.ts +17 -13
  346. package/dist/server/server/workspace-git-service.d.ts.map +1 -1
  347. package/dist/server/server/workspace-git-service.js +232 -140
  348. package/dist/server/server/workspace-git-service.js.map +1 -1
  349. package/dist/server/server/workspace-reconciliation-service.d.ts +5 -4
  350. package/dist/server/server/workspace-reconciliation-service.d.ts.map +1 -1
  351. package/dist/server/server/workspace-reconciliation-service.js +82 -82
  352. package/dist/server/server/workspace-reconciliation-service.js.map +1 -1
  353. package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -1
  354. package/dist/server/server/workspace-registry-bootstrap.js +40 -33
  355. package/dist/server/server/workspace-registry-bootstrap.js.map +1 -1
  356. package/dist/server/server/workspace-registry-model.d.ts +19 -6
  357. package/dist/server/server/workspace-registry-model.d.ts.map +1 -1
  358. package/dist/server/server/workspace-registry-model.js +35 -21
  359. package/dist/server/server/workspace-registry-model.js.map +1 -1
  360. package/dist/server/server/workspace-registry.d.ts +2 -2
  361. package/dist/server/server/workspace-script-runtime-store.d.ts +2 -2
  362. package/dist/server/server/workspace-script-runtime-store.d.ts.map +1 -1
  363. package/dist/server/server/workspace-service-env.js +3 -3
  364. package/dist/server/server/workspace-service-env.js.map +1 -1
  365. package/dist/server/server/worktree-bootstrap.d.ts +4 -4
  366. package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
  367. package/dist/server/server/worktree-bootstrap.js +95 -67
  368. package/dist/server/server/worktree-bootstrap.js.map +1 -1
  369. package/dist/server/server/worktree-session.d.ts +8 -8
  370. package/dist/server/server/worktree-session.d.ts.map +1 -1
  371. package/dist/server/server/worktree-session.js +27 -19
  372. package/dist/server/server/worktree-session.js.map +1 -1
  373. package/dist/server/services/github-service.d.ts +2 -7
  374. package/dist/server/services/github-service.d.ts.map +1 -1
  375. package/dist/server/services/github-service.js +156 -157
  376. package/dist/server/services/github-service.js.map +1 -1
  377. package/dist/server/shared/agent-attention-notification.d.ts +9 -8
  378. package/dist/server/shared/agent-attention-notification.d.ts.map +1 -1
  379. package/dist/server/shared/agent-attention-notification.js +27 -17
  380. package/dist/server/shared/agent-attention-notification.js.map +1 -1
  381. package/dist/server/shared/daemon-endpoints.d.ts +2 -2
  382. package/dist/server/shared/daemon-endpoints.d.ts.map +1 -1
  383. package/dist/server/shared/daemon-endpoints.js +17 -2
  384. package/dist/server/shared/daemon-endpoints.js.map +1 -1
  385. package/dist/server/shared/messages.d.ts +21962 -3049
  386. package/dist/server/shared/messages.d.ts.map +1 -1
  387. package/dist/server/shared/messages.js +79 -2
  388. package/dist/server/shared/messages.js.map +1 -1
  389. package/dist/server/shared/terminal-stream-protocol.d.ts +2 -2
  390. package/dist/server/shared/terminal-stream-protocol.d.ts.map +1 -1
  391. package/dist/server/shared/tool-call-display.d.ts +2 -2
  392. package/dist/server/shared/tool-call-display.d.ts.map +1 -1
  393. package/dist/server/terminal/terminal-manager.d.ts.map +1 -1
  394. package/dist/server/terminal/terminal-manager.js +1 -3
  395. package/dist/server/terminal/terminal-manager.js.map +1 -1
  396. package/dist/server/terminal/terminal-output-coalescer.d.ts +6 -6
  397. package/dist/server/terminal/terminal-output-coalescer.d.ts.map +1 -1
  398. package/dist/server/terminal/terminal.d.ts +3 -2
  399. package/dist/server/terminal/terminal.d.ts.map +1 -1
  400. package/dist/server/terminal/terminal.js +57 -19
  401. package/dist/server/terminal/terminal.js.map +1 -1
  402. package/dist/server/utils/checkout-git.d.ts +13 -12
  403. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  404. package/dist/server/utils/checkout-git.js +416 -282
  405. package/dist/server/utils/checkout-git.js.map +1 -1
  406. package/dist/server/utils/directory-suggestions.js +12 -33
  407. package/dist/server/utils/directory-suggestions.js.map +1 -1
  408. package/dist/server/utils/executable.d.ts +1 -14
  409. package/dist/server/utils/executable.d.ts.map +1 -1
  410. package/dist/server/utils/executable.js +13 -49
  411. package/dist/server/utils/executable.js.map +1 -1
  412. package/dist/server/utils/github-remote.d.ts +13 -0
  413. package/dist/server/utils/github-remote.d.ts.map +1 -0
  414. package/dist/server/utils/github-remote.js +128 -0
  415. package/dist/server/utils/github-remote.js.map +1 -0
  416. package/dist/server/utils/paseo-config-file.d.ts +30 -0
  417. package/dist/server/utils/paseo-config-file.d.ts.map +1 -0
  418. package/dist/server/utils/paseo-config-file.js +90 -0
  419. package/dist/server/utils/paseo-config-file.js.map +1 -0
  420. package/dist/server/utils/paseo-config-schema.d.ts +290 -0
  421. package/dist/server/utils/paseo-config-schema.d.ts.map +1 -0
  422. package/dist/server/utils/paseo-config-schema.js +60 -0
  423. package/dist/server/utils/paseo-config-schema.js.map +1 -0
  424. package/dist/server/utils/project-icon.d.ts.map +1 -1
  425. package/dist/server/utils/project-icon.js +84 -109
  426. package/dist/server/utils/project-icon.js.map +1 -1
  427. package/dist/server/utils/promise-timeout.d.ts +2 -2
  428. package/dist/server/utils/promise-timeout.d.ts.map +1 -1
  429. package/dist/server/utils/run-git-command.d.ts +3 -1
  430. package/dist/server/utils/run-git-command.d.ts.map +1 -1
  431. package/dist/server/utils/run-git-command.js +10 -1
  432. package/dist/server/utils/run-git-command.js.map +1 -1
  433. package/dist/server/utils/script-hostname.d.ts +2 -2
  434. package/dist/server/utils/script-hostname.d.ts.map +1 -1
  435. package/dist/server/utils/spawn.d.ts +10 -3
  436. package/dist/server/utils/spawn.d.ts.map +1 -1
  437. package/dist/server/utils/spawn.js +30 -5
  438. package/dist/server/utils/spawn.js.map +1 -1
  439. package/dist/server/utils/windows-command.d.ts +15 -0
  440. package/dist/server/utils/windows-command.d.ts.map +1 -0
  441. package/dist/server/utils/windows-command.js +37 -0
  442. package/dist/server/utils/windows-command.js.map +1 -0
  443. package/dist/server/utils/worktree.d.ts +10 -7
  444. package/dist/server/utils/worktree.d.ts.map +1 -1
  445. package/dist/server/utils/worktree.js +64 -55
  446. package/dist/server/utils/worktree.js.map +1 -1
  447. package/dist/src/server/pid-lock.js.map +1 -1
  448. package/package.json +15 -20
  449. package/dist/server/server/agent/llm-openai.d.ts +0 -7
  450. package/dist/server/server/agent/llm-openai.d.ts.map +0 -1
  451. package/dist/server/server/agent/llm-openai.js +0 -8
  452. package/dist/server/server/agent/llm-openai.js.map +0 -1
  453. package/dist/server/server/agent/orchestrator.d.ts +0 -12
  454. package/dist/server/server/agent/orchestrator.d.ts.map +0 -1
  455. package/dist/server/server/agent/orchestrator.js +0 -12
  456. package/dist/server/server/agent/orchestrator.js.map +0 -1
  457. package/dist/server/server/types.d.ts +0 -5
  458. package/dist/server/server/types.d.ts.map +0 -1
  459. package/dist/server/server/types.js +0 -3
  460. package/dist/server/server/types.js.map +0 -1
  461. package/dist/server/server/workspace-registry.test-helpers.d.ts +0 -37
  462. package/dist/server/server/workspace-registry.test-helpers.d.ts.map +0 -1
  463. package/dist/server/server/workspace-registry.test-helpers.js +0 -121
  464. package/dist/server/server/workspace-registry.test-helpers.js.map +0 -1
@@ -5,6 +5,7 @@ import { AgentPermissionRequestPayloadSchema, AgentListItemPayloadSchema, AgentP
5
5
  import { buildStoredAgentPayload, toAgentListItemPayload, toAgentPayload, } from "./agent-projections.js";
6
6
  import { curateAgentActivity } from "./activity-curator.js";
7
7
  import { ensureAgentLoaded } from "./agent-loading.js";
8
+ import { isStoredAgentProviderAvailable } from "../persistence-hooks.js";
8
9
  import { appendTimelineItemIfAgentKnown, emitLiveTimelineItemIfAgentKnown, } from "./timeline-append.js";
9
10
  import { getPaseoWorktreesRoot } from "../../utils/worktree.js";
10
11
  import { archivePaseoWorktree, killTerminalsUnderPath, } from "../paseo-worktree-archive-service.js";
@@ -59,6 +60,34 @@ function parseTimestamp(value) {
59
60
  function resolveAgentListActivityTime(agent) {
60
61
  return Math.max(parseTimestamp(agent.updatedAt), parseTimestamp(agent.lastUserMessageAt), parseTimestamp(agent.attentionTimestamp), parseTimestamp(agent.archivedAt), parseTimestamp(agent.createdAt));
61
62
  }
63
+ function resolveRegisteredProviderIds(agentManager, providerRegistry) {
64
+ return providerRegistry
65
+ ? Object.keys(providerRegistry)
66
+ : agentManager.getRegisteredProviderIds();
67
+ }
68
+ async function resolveProviderSummary(provider, logger) {
69
+ const base = {
70
+ id: provider.id,
71
+ label: provider.label,
72
+ description: provider.description,
73
+ modes: provider.modes,
74
+ };
75
+ if (!provider.enabled) {
76
+ return { ...base, enabled: false, status: "unavailable" };
77
+ }
78
+ try {
79
+ const available = await provider.createClient(logger).isAvailable();
80
+ return { ...base, enabled: true, status: available ? "available" : "unavailable" };
81
+ }
82
+ catch (availabilityError) {
83
+ return {
84
+ ...base,
85
+ enabled: true,
86
+ status: "unavailable",
87
+ error: availabilityError instanceof Error ? availabilityError.message : String(availabilityError),
88
+ };
89
+ }
90
+ }
62
91
  function compareAgentListItems(a, b) {
63
92
  const attentionDelta = Number(b.requiresAttention ?? false) - Number(a.requiresAttention ?? false);
64
93
  if (attentionDelta !== 0) {
@@ -155,12 +184,6 @@ export async function createAgentMcpServer(options) {
155
184
  name: "agent-mcp",
156
185
  version: "2.0.0",
157
186
  });
158
- const requireProviderRegistry = () => {
159
- if (!providerRegistry) {
160
- throw new Error("Provider registry is required to load stored agent records");
161
- }
162
- return providerRegistry;
163
- };
164
187
  const resolveCallerAgent = () => {
165
188
  if (!callerAgentId) {
166
189
  return null;
@@ -171,7 +194,7 @@ export async function createAgentMcpServer(options) {
171
194
  }
172
195
  return parentAgent;
173
196
  };
174
- const resolveScopedCwd = (requestedCwd, options) => {
197
+ const resolveScopedCwd = (requestedCwd, opts) => {
175
198
  const callerAgent = resolveCallerAgent();
176
199
  if (callerAgent) {
177
200
  return resolveChildAgentCwd({
@@ -183,66 +206,76 @@ export async function createAgentMcpServer(options) {
183
206
  }
184
207
  const trimmedCwd = requestedCwd?.trim();
185
208
  if (!trimmedCwd) {
186
- if (options?.required) {
209
+ if (opts?.required) {
187
210
  throw new Error("cwd is required");
188
211
  }
189
212
  throw new Error("cwd is required when no caller agent is available");
190
213
  }
191
214
  return expandUserPath(trimmedCwd);
192
215
  };
216
+ const buildCallerAgentScheduleConfigExtras = (callerAgent) => {
217
+ return {
218
+ ...(callerAgent.config.thinkingOptionId
219
+ ? { thinkingOptionId: callerAgent.config.thinkingOptionId }
220
+ : {}),
221
+ ...(callerAgent.config.approvalPolicy
222
+ ? { approvalPolicy: callerAgent.config.approvalPolicy }
223
+ : {}),
224
+ ...(callerAgent.config.sandboxMode ? { sandboxMode: callerAgent.config.sandboxMode } : {}),
225
+ ...(typeof callerAgent.config.networkAccess === "boolean"
226
+ ? { networkAccess: callerAgent.config.networkAccess }
227
+ : {}),
228
+ ...(typeof callerAgent.config.webSearch === "boolean"
229
+ ? { webSearch: callerAgent.config.webSearch }
230
+ : {}),
231
+ ...(callerAgent.config.title ? { title: callerAgent.config.title } : {}),
232
+ ...(callerAgent.config.extra ? { extra: callerAgent.config.extra } : {}),
233
+ ...(callerAgent.config.systemPrompt ? { systemPrompt: callerAgent.config.systemPrompt } : {}),
234
+ ...(callerAgent.config.mcpServers ? { mcpServers: callerAgent.config.mcpServers } : {}),
235
+ };
236
+ };
237
+ const buildCallerAgentScheduleConfig = (callerAgent, params) => {
238
+ const hasProviderOverride = params?.provider !== undefined;
239
+ const resolvedProviderModel = hasProviderOverride
240
+ ? resolveScheduleProviderAndModel({
241
+ provider: params?.provider,
242
+ defaultProvider: callerAgent.provider,
243
+ })
244
+ : null;
245
+ const resolvedProvider = resolvedProviderModel?.provider ?? callerAgent.provider;
246
+ let resolvedModel;
247
+ if (resolvedProviderModel?.model) {
248
+ resolvedModel = resolvedProviderModel.model;
249
+ }
250
+ else if (!hasProviderOverride && callerAgent.config.model) {
251
+ resolvedModel = callerAgent.config.model;
252
+ }
253
+ return {
254
+ provider: resolvedProvider,
255
+ cwd: params?.cwd?.trim() ? expandUserPath(params.cwd) : callerAgent.cwd,
256
+ ...(callerAgent.currentModeId
257
+ ? {
258
+ modeId: mapModeAcrossProviders(callerAgent.currentModeId, callerAgent.provider, resolvedProvider),
259
+ }
260
+ : {}),
261
+ ...(resolvedModel ? { model: resolvedModel } : {}),
262
+ ...buildCallerAgentScheduleConfigExtras(callerAgent),
263
+ };
264
+ };
193
265
  const resolveNewAgentScheduleTarget = (params) => {
266
+ if (!params?.provider?.trim()) {
267
+ throw new Error("provider is required when target is new-agent");
268
+ }
194
269
  const callerAgent = resolveCallerAgent();
195
270
  if (callerAgent) {
196
- const hasProviderOverride = params?.provider !== undefined;
197
- const resolvedProviderModel = hasProviderOverride
198
- ? resolveScheduleProviderAndModel({
199
- provider: params?.provider,
200
- defaultProvider: callerAgent.provider,
201
- })
202
- : null;
203
- const resolvedProvider = resolvedProviderModel?.provider ?? callerAgent.provider;
204
271
  return {
205
272
  type: "new-agent",
206
- config: {
207
- provider: resolvedProvider,
208
- cwd: params?.cwd?.trim() ? expandUserPath(params.cwd) : callerAgent.cwd,
209
- ...(callerAgent.currentModeId
210
- ? {
211
- modeId: mapModeAcrossProviders(callerAgent.currentModeId, callerAgent.provider, resolvedProvider),
212
- }
213
- : {}),
214
- ...(resolvedProviderModel?.model
215
- ? { model: resolvedProviderModel.model }
216
- : !hasProviderOverride && callerAgent.config.model
217
- ? { model: callerAgent.config.model }
218
- : {}),
219
- ...(callerAgent.config.thinkingOptionId
220
- ? { thinkingOptionId: callerAgent.config.thinkingOptionId }
221
- : {}),
222
- ...(callerAgent.config.approvalPolicy
223
- ? { approvalPolicy: callerAgent.config.approvalPolicy }
224
- : {}),
225
- ...(callerAgent.config.sandboxMode
226
- ? { sandboxMode: callerAgent.config.sandboxMode }
227
- : {}),
228
- ...(typeof callerAgent.config.networkAccess === "boolean"
229
- ? { networkAccess: callerAgent.config.networkAccess }
230
- : {}),
231
- ...(typeof callerAgent.config.webSearch === "boolean"
232
- ? { webSearch: callerAgent.config.webSearch }
233
- : {}),
234
- ...(callerAgent.config.title ? { title: callerAgent.config.title } : {}),
235
- ...(callerAgent.config.extra ? { extra: callerAgent.config.extra } : {}),
236
- ...(callerAgent.config.systemPrompt
237
- ? { systemPrompt: callerAgent.config.systemPrompt }
238
- : {}),
239
- ...(callerAgent.config.mcpServers ? { mcpServers: callerAgent.config.mcpServers } : {}),
240
- },
273
+ config: buildCallerAgentScheduleConfig(callerAgent, params),
241
274
  };
242
275
  }
243
276
  const resolvedProviderModel = resolveScheduleProviderAndModel({
244
277
  provider: params?.provider,
245
- defaultProvider: "claude",
278
+ defaultProvider: params.provider,
246
279
  });
247
280
  return {
248
281
  type: "new-agent",
@@ -387,9 +420,87 @@ export async function createAgentMcpServer(options) {
387
420
  if (options.voiceOnly) {
388
421
  return server;
389
422
  }
423
+ const resolveCallerCreateAgentArgs = (args, parentAgentId) => {
424
+ const callerArgs = agentToAgentCreateAgentArgsSchema.parse(args);
425
+ const resolvedProviderModel = resolveRequiredProviderModel(callerArgs.provider);
426
+ const parentAgent = agentManager.getAgent(parentAgentId);
427
+ if (!parentAgent) {
428
+ throw new Error(`Parent agent ${parentAgentId} not found`);
429
+ }
430
+ const provider = resolvedProviderModel.provider;
431
+ const resolvedCwd = resolveChildAgentCwd({
432
+ parentCwd: parentAgent.cwd,
433
+ requestedCwd: callerArgs.cwd,
434
+ lockedCwd: callerContext?.lockedCwd,
435
+ allowCustomCwd: callerContext?.allowCustomCwd ?? true,
436
+ });
437
+ const parentMode = parentAgent.currentModeId;
438
+ const resolvedMode = parentMode
439
+ ? mapModeAcrossProviders(parentMode, parentAgent.provider, provider)
440
+ : undefined;
441
+ return {
442
+ provider,
443
+ initialPrompt: callerArgs.initialPrompt,
444
+ background: callerArgs.background ?? false,
445
+ normalizedTitle: callerArgs.title.trim(),
446
+ model: resolvedProviderModel.model,
447
+ thinking: callerArgs.thinking,
448
+ labels: callerArgs.labels,
449
+ notifyOnFinish: callerArgs.notifyOnFinish ?? false,
450
+ resolvedCwd,
451
+ resolvedMode,
452
+ worktreeConfig: undefined,
453
+ shouldBootstrapWorktree: undefined,
454
+ };
455
+ };
456
+ const resolveTopLevelCreateAgentArgs = async (args) => {
457
+ const topLevelArgs = topLevelCreateAgentArgsSchema.parse(args);
458
+ const resolvedProviderModel = resolveRequiredProviderModel(topLevelArgs.provider);
459
+ const { cwd, mode, worktreeName, baseBranch, refName, action, githubPrNumber } = topLevelArgs;
460
+ let resolvedCwd = expandUserPath(cwd);
461
+ let worktreeConfig;
462
+ let shouldBootstrapWorktree;
463
+ if (worktreeName) {
464
+ if (!baseBranch && !refName && !action && githubPrNumber === undefined) {
465
+ throw new Error("baseBranch is required when creating a worktree");
466
+ }
467
+ const createdWorktree = await createMcpWorktree({
468
+ input: {
469
+ cwd: resolvedCwd,
470
+ worktreeSlug: worktreeName,
471
+ refName,
472
+ action,
473
+ githubPrNumber,
474
+ runSetup: false,
475
+ paseoHome: options.paseoHome,
476
+ },
477
+ createPaseoWorktree: options.createPaseoWorktree,
478
+ resolveDefaultBranch: baseBranch ? async () => baseBranch : undefined,
479
+ workspaceGitService: options.workspaceGitService,
480
+ logger: options.logger,
481
+ });
482
+ resolvedCwd = createdWorktree.worktree.worktreePath;
483
+ worktreeConfig = createdWorktree.worktree;
484
+ shouldBootstrapWorktree = createdWorktree.created;
485
+ }
486
+ return {
487
+ provider: resolvedProviderModel.provider,
488
+ initialPrompt: topLevelArgs.initialPrompt,
489
+ background: topLevelArgs.background ?? false,
490
+ normalizedTitle: topLevelArgs.title.trim(),
491
+ model: resolvedProviderModel.model,
492
+ thinking: topLevelArgs.thinking,
493
+ labels: topLevelArgs.labels,
494
+ notifyOnFinish: topLevelArgs.notifyOnFinish ?? false,
495
+ resolvedCwd,
496
+ resolvedMode: mode,
497
+ worktreeConfig,
498
+ shouldBootstrapWorktree,
499
+ };
500
+ };
390
501
  server.registerTool("create_agent", {
391
502
  title: "Create agent",
392
- description: "Create an agent tied to a working directory. Requires provider/model, for example codex/gpt-5.4. Optionally run an initial prompt immediately or create a git worktree for the agent.",
503
+ description: "Create an agent tied to a working directory. Requires provider/model, for example codex/gpt-5.4. Do not guess; call list_providers and list_models first if uncertain. Optionally run an initial prompt immediately or create a git worktree for the agent.",
393
504
  inputSchema: createAgentInputSchema,
394
505
  outputSchema: {
395
506
  agentId: z.string(),
@@ -406,87 +517,15 @@ export async function createAgentMcpServer(options) {
406
517
  permission: AgentPermissionRequestPayloadSchema.nullable().optional(),
407
518
  },
408
519
  }, async (args) => {
409
- let provider;
410
- let initialPrompt;
411
- let background = false;
412
- let normalizedTitle;
413
- let model;
414
- let thinking;
415
- let labels;
416
- let notifyOnFinish = false;
417
- let resolvedCwd;
418
- let resolvedMode;
419
- let worktreeConfig;
420
- let shouldBootstrapWorktree;
421
- if (callerAgentId) {
422
- const callerArgs = agentToAgentCreateAgentArgsSchema.parse(args);
423
- const resolvedProviderModel = resolveRequiredProviderModel(callerArgs.provider);
424
- provider = resolvedProviderModel.provider;
425
- model = resolvedProviderModel.model;
426
- initialPrompt = callerArgs.initialPrompt;
427
- background = callerArgs.background ?? false;
428
- normalizedTitle = callerArgs.title.trim();
429
- thinking = callerArgs.thinking;
430
- labels = callerArgs.labels;
431
- notifyOnFinish = callerArgs.notifyOnFinish ?? false;
432
- const parentAgent = agentManager.getAgent(callerAgentId);
433
- if (!parentAgent) {
434
- throw new Error(`Parent agent ${callerAgentId} not found`);
435
- }
436
- resolvedCwd = resolveChildAgentCwd({
437
- parentCwd: parentAgent.cwd,
438
- requestedCwd: callerArgs.cwd,
439
- lockedCwd: callerContext?.lockedCwd,
440
- allowCustomCwd: callerContext?.allowCustomCwd ?? true,
441
- });
442
- const parentMode = parentAgent.currentModeId;
443
- if (parentMode) {
444
- resolvedMode = mapModeAcrossProviders(parentMode, parentAgent.provider, provider);
445
- }
446
- }
447
- else {
448
- const topLevelArgs = topLevelCreateAgentArgsSchema.parse(args);
449
- const resolvedProviderModel = resolveRequiredProviderModel(topLevelArgs.provider);
450
- provider = resolvedProviderModel.provider;
451
- model = resolvedProviderModel.model;
452
- initialPrompt = topLevelArgs.initialPrompt;
453
- background = topLevelArgs.background ?? false;
454
- normalizedTitle = topLevelArgs.title.trim();
455
- thinking = topLevelArgs.thinking;
456
- labels = topLevelArgs.labels;
457
- notifyOnFinish = topLevelArgs.notifyOnFinish ?? false;
458
- const { cwd, mode, worktreeName, baseBranch, refName, action, githubPrNumber } = topLevelArgs;
459
- resolvedCwd = expandUserPath(cwd);
460
- if (worktreeName) {
461
- if (!baseBranch && !refName && !action && githubPrNumber === undefined) {
462
- throw new Error("baseBranch is required when creating a worktree");
463
- }
464
- const createdWorktree = await createMcpWorktree({
465
- input: {
466
- cwd: resolvedCwd,
467
- worktreeSlug: worktreeName,
468
- refName,
469
- action,
470
- githubPrNumber,
471
- runSetup: false,
472
- paseoHome: options.paseoHome,
473
- },
474
- createPaseoWorktree: options.createPaseoWorktree,
475
- resolveDefaultBranch: baseBranch ? async () => baseBranch : undefined,
476
- workspaceGitService: options.workspaceGitService,
477
- logger: options.logger,
478
- });
479
- resolvedCwd = createdWorktree.worktree.worktreePath;
480
- worktreeConfig = createdWorktree.worktree;
481
- shouldBootstrapWorktree = createdWorktree.created;
482
- }
483
- resolvedMode = mode;
484
- }
520
+ const resolved = callerAgentId
521
+ ? resolveCallerCreateAgentArgs(args, callerAgentId)
522
+ : await resolveTopLevelCreateAgentArgs(args);
523
+ const { provider, initialPrompt, background, normalizedTitle, model, thinking, labels, notifyOnFinish, resolvedCwd, resolvedMode, worktreeConfig, shouldBootstrapWorktree, } = resolved;
485
524
  const childAgentDefaultLabels = callerContext?.childAgentDefaultLabels;
486
525
  const mergedLabels = {
487
526
  ...(callerAgentId ? { "paseo.parent-agent-id": callerAgentId } : {}),
488
- ...(childAgentDefaultLabels ?? {}),
489
- ...(labels ?? {}),
527
+ ...childAgentDefaultLabels,
528
+ ...labels,
490
529
  };
491
530
  const snapshot = await agentManager.createAgent({
492
531
  provider,
@@ -767,7 +806,7 @@ export async function createAgentMcpServer(options) {
767
806
  if (!record || record.internal) {
768
807
  throw new Error(`Agent ${agentId} not found`);
769
808
  }
770
- const structuredSnapshot = buildStoredAgentPayload(record, requireProviderRegistry(), childLogger);
809
+ const structuredSnapshot = buildStoredAgentPayload(record, resolveRegisteredProviderIds(agentManager, providerRegistry));
771
810
  return {
772
811
  content: [],
773
812
  structuredContent: ensureValidJson({
@@ -804,10 +843,12 @@ export async function createAgentMcpServer(options) {
804
843
  const liveAgents = await Promise.all(liveSnapshots.map((snapshot) => serializeSnapshotWithMetadata(agentStorage, snapshot, childLogger)));
805
844
  const liveIds = new Set(liveSnapshots.map((snapshot) => snapshot.id));
806
845
  const storedRecords = await agentStorage.list();
846
+ const registeredProviderIds = resolveRegisteredProviderIds(agentManager, providerRegistry);
807
847
  const storedAgents = storedRecords
808
848
  .filter((record) => !record.internal && !liveIds.has(record.id))
809
849
  .filter((record) => includeArchived || !record.archivedAt)
810
- .map((record) => buildStoredAgentPayload(record, requireProviderRegistry(), childLogger));
850
+ .filter((record) => includeArchived || isStoredAgentProviderAvailable(record, registeredProviderIds))
851
+ .map((record) => buildStoredAgentPayload(record, registeredProviderIds));
811
852
  const agents = [...liveAgents, ...storedAgents]
812
853
  .map(toAgentListItemPayload)
813
854
  .filter((agent) => !requestedCwd || isSameOrDescendantPath(requestedCwd, agent.cwd))
@@ -1213,25 +1254,18 @@ export async function createAgentMcpServer(options) {
1213
1254
  });
1214
1255
  server.registerTool("list_providers", {
1215
1256
  title: "List providers",
1216
- description: "List available agent providers and their modes.",
1257
+ description: "List configured agent providers, availability, and their modes.",
1217
1258
  inputSchema: {},
1218
1259
  outputSchema: {
1219
1260
  providers: z.array(ProviderSummarySchema),
1220
1261
  },
1221
- }, async () => ({
1222
- content: [],
1223
- structuredContent: ensureValidJson({
1224
- providers: Object.values(providerRegistry ?? {}).map((provider) => ({
1225
- id: provider.id,
1226
- label: provider.label,
1227
- modes: provider.modes.map((mode) => ({
1228
- id: mode.id,
1229
- label: mode.label,
1230
- ...(mode.description ? { description: mode.description } : {}),
1231
- })),
1232
- })),
1233
- }),
1234
- }));
1262
+ }, async () => {
1263
+ const providers = await Promise.all(Object.values(providerRegistry ?? {}).map((provider) => resolveProviderSummary(provider, childLogger)));
1264
+ return {
1265
+ content: [],
1266
+ structuredContent: ensureValidJson({ providers }),
1267
+ };
1268
+ });
1235
1269
  server.registerTool("list_models", {
1236
1270
  title: "List models",
1237
1271
  description: "List models for an agent provider.",
@@ -1250,6 +1284,9 @@ export async function createAgentMcpServer(options) {
1250
1284
  if (!definition) {
1251
1285
  throw new Error(`Provider ${provider} is not configured`);
1252
1286
  }
1287
+ if (!definition.enabled) {
1288
+ throw new Error(`Provider '${provider}' is disabled`);
1289
+ }
1253
1290
  const models = await definition.fetchModels({ cwd: resolveSnapshotCwd(), force: false });
1254
1291
  return {
1255
1292
  content: [],