@ck123pm/paseo-server 0.1.80

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 (1077) hide show
  1. package/.env.example +23 -0
  2. package/README.md +111 -0
  3. package/dist/scripts/dev-runner.js +49 -0
  4. package/dist/scripts/dev-runner.js.map +1 -0
  5. package/dist/scripts/mcp-stdio-socket-bridge-cli.mjs +62 -0
  6. package/dist/scripts/supervisor-entrypoint.js +126 -0
  7. package/dist/scripts/supervisor-entrypoint.js.map +1 -0
  8. package/dist/scripts/supervisor-log-config.js +31 -0
  9. package/dist/scripts/supervisor-log-config.js.map +1 -0
  10. package/dist/scripts/supervisor.js +213 -0
  11. package/dist/scripts/supervisor.js.map +1 -0
  12. package/dist/server/client/daemon-client-relay-e2ee-transport.d.ts +8 -0
  13. package/dist/server/client/daemon-client-relay-e2ee-transport.d.ts.map +1 -0
  14. package/dist/server/client/daemon-client-relay-e2ee-transport.js +161 -0
  15. package/dist/server/client/daemon-client-relay-e2ee-transport.js.map +1 -0
  16. package/dist/server/client/daemon-client-runtime-metrics.d.ts +39 -0
  17. package/dist/server/client/daemon-client-runtime-metrics.d.ts.map +1 -0
  18. package/dist/server/client/daemon-client-runtime-metrics.js +173 -0
  19. package/dist/server/client/daemon-client-runtime-metrics.js.map +1 -0
  20. package/dist/server/client/daemon-client-transport-types.d.ts +36 -0
  21. package/dist/server/client/daemon-client-transport-types.d.ts.map +1 -0
  22. package/dist/server/client/daemon-client-transport-types.js +2 -0
  23. package/dist/server/client/daemon-client-transport-types.js.map +1 -0
  24. package/dist/server/client/daemon-client-transport-utils.d.ts +9 -0
  25. package/dist/server/client/daemon-client-transport-utils.d.ts.map +1 -0
  26. package/dist/server/client/daemon-client-transport-utils.js +121 -0
  27. package/dist/server/client/daemon-client-transport-utils.js.map +1 -0
  28. package/dist/server/client/daemon-client-transport.d.ts +5 -0
  29. package/dist/server/client/daemon-client-transport.d.ts.map +1 -0
  30. package/dist/server/client/daemon-client-transport.js +4 -0
  31. package/dist/server/client/daemon-client-transport.js.map +1 -0
  32. package/dist/server/client/daemon-client-websocket-transport.d.ts +8 -0
  33. package/dist/server/client/daemon-client-websocket-transport.d.ts.map +1 -0
  34. package/dist/server/client/daemon-client-websocket-transport.js +120 -0
  35. package/dist/server/client/daemon-client-websocket-transport.js.map +1 -0
  36. package/dist/server/client/daemon-client.d.ts +862 -0
  37. package/dist/server/client/daemon-client.d.ts.map +1 -0
  38. package/dist/server/client/daemon-client.js +3376 -0
  39. package/dist/server/client/daemon-client.js.map +1 -0
  40. package/dist/server/client/terminal-stream-router.d.ts +24 -0
  41. package/dist/server/client/terminal-stream-router.d.ts.map +1 -0
  42. package/dist/server/client/terminal-stream-router.js +100 -0
  43. package/dist/server/client/terminal-stream-router.js.map +1 -0
  44. package/dist/server/server/agent/activity-curator.d.ts +11 -0
  45. package/dist/server/server/agent/activity-curator.d.ts.map +1 -0
  46. package/dist/server/server/agent/activity-curator.js +150 -0
  47. package/dist/server/server/agent/activity-curator.js.map +1 -0
  48. package/dist/server/server/agent/agent-archive.d.ts +11 -0
  49. package/dist/server/server/agent/agent-archive.d.ts.map +1 -0
  50. package/dist/server/server/agent/agent-archive.js +16 -0
  51. package/dist/server/server/agent/agent-archive.js.map +1 -0
  52. package/dist/server/server/agent/agent-loading.d.ts +12 -0
  53. package/dist/server/server/agent/agent-loading.d.ts.map +1 -0
  54. package/dist/server/server/agent/agent-loading.js +51 -0
  55. package/dist/server/server/agent/agent-loading.js.map +1 -0
  56. package/dist/server/server/agent/agent-manager.d.ts +342 -0
  57. package/dist/server/server/agent/agent-manager.d.ts.map +1 -0
  58. package/dist/server/server/agent/agent-manager.js +2572 -0
  59. package/dist/server/server/agent/agent-manager.js.map +1 -0
  60. package/dist/server/server/agent/agent-metadata-generator.d.ts +27 -0
  61. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -0
  62. package/dist/server/server/agent/agent-metadata-generator.js +104 -0
  63. package/dist/server/server/agent/agent-metadata-generator.js.map +1 -0
  64. package/dist/server/server/agent/agent-projections.d.ts +24 -0
  65. package/dist/server/server/agent/agent-projections.d.ts.map +1 -0
  66. package/dist/server/server/agent/agent-projections.js +406 -0
  67. package/dist/server/server/agent/agent-projections.js.map +1 -0
  68. package/dist/server/server/agent/agent-prompt.d.ts +72 -0
  69. package/dist/server/server/agent/agent-prompt.d.ts.map +1 -0
  70. package/dist/server/server/agent/agent-prompt.js +196 -0
  71. package/dist/server/server/agent/agent-prompt.js.map +1 -0
  72. package/dist/server/server/agent/agent-response-loop.d.ts +62 -0
  73. package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -0
  74. package/dist/server/server/agent/agent-response-loop.js +321 -0
  75. package/dist/server/server/agent/agent-response-loop.js.map +1 -0
  76. package/dist/server/server/agent/agent-sdk-types.d.ts +540 -0
  77. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -0
  78. package/dist/server/server/agent/agent-sdk-types.js +22 -0
  79. package/dist/server/server/agent/agent-sdk-types.js.map +1 -0
  80. package/dist/server/server/agent/agent-storage.d.ts +346 -0
  81. package/dist/server/server/agent/agent-storage.d.ts.map +1 -0
  82. package/dist/server/server/agent/agent-storage.js +340 -0
  83. package/dist/server/server/agent/agent-storage.js.map +1 -0
  84. package/dist/server/server/agent/agent-stream-coalescer.d.ts +41 -0
  85. package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +1 -0
  86. package/dist/server/server/agent/agent-stream-coalescer.js +166 -0
  87. package/dist/server/server/agent/agent-stream-coalescer.js.map +1 -0
  88. package/dist/server/server/agent/agent-timeline-store-types.d.ts +54 -0
  89. package/dist/server/server/agent/agent-timeline-store-types.d.ts.map +1 -0
  90. package/dist/server/server/agent/agent-timeline-store-types.js +2 -0
  91. package/dist/server/server/agent/agent-timeline-store-types.js.map +1 -0
  92. package/dist/server/server/agent/agent-timeline-store.d.ts +32 -0
  93. package/dist/server/server/agent/agent-timeline-store.d.ts.map +1 -0
  94. package/dist/server/server/agent/agent-timeline-store.js +263 -0
  95. package/dist/server/server/agent/agent-timeline-store.js.map +1 -0
  96. package/dist/server/server/agent/agent-title-limits.d.ts +3 -0
  97. package/dist/server/server/agent/agent-title-limits.d.ts.map +1 -0
  98. package/dist/server/server/agent/agent-title-limits.js +3 -0
  99. package/dist/server/server/agent/agent-title-limits.js.map +1 -0
  100. package/dist/server/server/agent/audio-utils.d.ts +3 -0
  101. package/dist/server/server/agent/audio-utils.d.ts.map +1 -0
  102. package/dist/server/server/agent/audio-utils.js +19 -0
  103. package/dist/server/server/agent/audio-utils.js.map +1 -0
  104. package/dist/server/server/agent/create-agent-mode.d.ts +16 -0
  105. package/dist/server/server/agent/create-agent-mode.d.ts.map +1 -0
  106. package/dist/server/server/agent/create-agent-mode.js +26 -0
  107. package/dist/server/server/agent/create-agent-mode.js.map +1 -0
  108. package/dist/server/server/agent/create-agent-title.d.ts +8 -0
  109. package/dist/server/server/agent/create-agent-title.d.ts.map +1 -0
  110. package/dist/server/server/agent/create-agent-title.js +29 -0
  111. package/dist/server/server/agent/create-agent-title.js.map +1 -0
  112. package/dist/server/server/agent/dictation-debug.d.ts +13 -0
  113. package/dist/server/server/agent/dictation-debug.d.ts.map +1 -0
  114. package/dist/server/server/agent/dictation-debug.js +50 -0
  115. package/dist/server/server/agent/dictation-debug.js.map +1 -0
  116. package/dist/server/server/agent/foreground-run-state.d.ts +50 -0
  117. package/dist/server/server/agent/foreground-run-state.d.ts.map +1 -0
  118. package/dist/server/server/agent/foreground-run-state.js +160 -0
  119. package/dist/server/server/agent/foreground-run-state.js.map +1 -0
  120. package/dist/server/server/agent/import-sessions.d.ts +52 -0
  121. package/dist/server/server/agent/import-sessions.d.ts.map +1 -0
  122. package/dist/server/server/agent/import-sessions.js +212 -0
  123. package/dist/server/server/agent/import-sessions.js.map +1 -0
  124. package/dist/server/server/agent/mcp-server.d.ts +46 -0
  125. package/dist/server/server/agent/mcp-server.d.ts.map +1 -0
  126. package/dist/server/server/agent/mcp-server.js +1962 -0
  127. package/dist/server/server/agent/mcp-server.js.map +1 -0
  128. package/dist/server/server/agent/mcp-shared.d.ts +316 -0
  129. package/dist/server/server/agent/mcp-shared.d.ts.map +1 -0
  130. package/dist/server/server/agent/mcp-shared.js +194 -0
  131. package/dist/server/server/agent/mcp-shared.js.map +1 -0
  132. package/dist/server/server/agent/model-resolver.d.ts +11 -0
  133. package/dist/server/server/agent/model-resolver.d.ts.map +1 -0
  134. package/dist/server/server/agent/model-resolver.js +27 -0
  135. package/dist/server/server/agent/model-resolver.js.map +1 -0
  136. package/dist/server/server/agent/pcm16-resampler.d.ts +14 -0
  137. package/dist/server/server/agent/pcm16-resampler.d.ts.map +1 -0
  138. package/dist/server/server/agent/pcm16-resampler.js +63 -0
  139. package/dist/server/server/agent/pcm16-resampler.js.map +1 -0
  140. package/dist/server/server/agent/prompt-attachments.d.ts +7 -0
  141. package/dist/server/server/agent/prompt-attachments.d.ts.map +1 -0
  142. package/dist/server/server/agent/prompt-attachments.js +72 -0
  143. package/dist/server/server/agent/prompt-attachments.js.map +1 -0
  144. package/dist/server/server/agent/provider-history-timestamps.d.ts +2 -0
  145. package/dist/server/server/agent/provider-history-timestamps.d.ts.map +1 -0
  146. package/dist/server/server/agent/provider-history-timestamps.js +16 -0
  147. package/dist/server/server/agent/provider-history-timestamps.js.map +1 -0
  148. package/dist/server/server/agent/provider-launch-config.d.ts +368 -0
  149. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -0
  150. package/dist/server/server/agent/provider-launch-config.js +190 -0
  151. package/dist/server/server/agent/provider-launch-config.js.map +1 -0
  152. package/dist/server/server/agent/provider-manifest.d.ts +33 -0
  153. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -0
  154. package/dist/server/server/agent/provider-manifest.js +211 -0
  155. package/dist/server/server/agent/provider-manifest.js.map +1 -0
  156. package/dist/server/server/agent/provider-registry.d.ts +33 -0
  157. package/dist/server/server/agent/provider-registry.d.ts.map +1 -0
  158. package/dist/server/server/agent/provider-registry.js +396 -0
  159. package/dist/server/server/agent/provider-registry.js.map +1 -0
  160. package/dist/server/server/agent/provider-snapshot-manager.d.ts +49 -0
  161. package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +1 -0
  162. package/dist/server/server/agent/provider-snapshot-manager.js +348 -0
  163. package/dist/server/server/agent/provider-snapshot-manager.js.map +1 -0
  164. package/dist/server/server/agent/providers/acp-agent.d.ts +286 -0
  165. package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -0
  166. package/dist/server/server/agent/providers/acp-agent.js +2070 -0
  167. package/dist/server/server/agent/providers/acp-agent.js.map +1 -0
  168. package/dist/server/server/agent/providers/claude/agent.d.ts +60 -0
  169. package/dist/server/server/agent/providers/claude/agent.d.ts.map +1 -0
  170. package/dist/server/server/agent/providers/claude/agent.js +3815 -0
  171. package/dist/server/server/agent/providers/claude/agent.js.map +1 -0
  172. package/dist/server/server/agent/providers/claude/models.d.ts +10 -0
  173. package/dist/server/server/agent/providers/claude/models.d.ts.map +1 -0
  174. package/dist/server/server/agent/providers/claude/models.js +170 -0
  175. package/dist/server/server/agent/providers/claude/models.js.map +1 -0
  176. package/dist/server/server/agent/providers/claude/partial-json.d.ts +5 -0
  177. package/dist/server/server/agent/providers/claude/partial-json.d.ts.map +1 -0
  178. package/dist/server/server/agent/providers/claude/partial-json.js +306 -0
  179. package/dist/server/server/agent/providers/claude/partial-json.js.map +1 -0
  180. package/dist/server/server/agent/providers/claude/project-dir.d.ts +5 -0
  181. package/dist/server/server/agent/providers/claude/project-dir.d.ts.map +1 -0
  182. package/dist/server/server/agent/providers/claude/project-dir.js +40 -0
  183. package/dist/server/server/agent/providers/claude/project-dir.js.map +1 -0
  184. package/dist/server/server/agent/providers/claude/query.d.ts +14 -0
  185. package/dist/server/server/agent/providers/claude/query.d.ts.map +1 -0
  186. package/dist/server/server/agent/providers/claude/query.js +84 -0
  187. package/dist/server/server/agent/providers/claude/query.js.map +1 -0
  188. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts +22 -0
  189. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts.map +1 -0
  190. package/dist/server/server/agent/providers/claude/sidechain-tracker.js +232 -0
  191. package/dist/server/server/agent/providers/claude/sidechain-tracker.js.map +1 -0
  192. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +55 -0
  193. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts.map +1 -0
  194. package/dist/server/server/agent/providers/claude/task-notification-tool-call.js +272 -0
  195. package/dist/server/server/agent/providers/claude/task-notification-tool-call.js.map +1 -0
  196. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts +3 -0
  197. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.d.ts.map +1 -0
  198. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js +130 -0
  199. package/dist/server/server/agent/providers/claude/tool-call-detail-parser.js.map +1 -0
  200. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts +16 -0
  201. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts.map +1 -0
  202. package/dist/server/server/agent/providers/claude/tool-call-mapper.js +129 -0
  203. package/dist/server/server/agent/providers/claude/tool-call-mapper.js.map +1 -0
  204. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts +32 -0
  205. package/dist/server/server/agent/providers/codex/app-server-transport.d.ts.map +1 -0
  206. package/dist/server/server/agent/providers/codex/app-server-transport.js +214 -0
  207. package/dist/server/server/agent/providers/codex/app-server-transport.js.map +1 -0
  208. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts +31 -0
  209. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.d.ts.map +1 -0
  210. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js +172 -0
  211. package/dist/server/server/agent/providers/codex/test-utils/fake-app-server.js.map +1 -0
  212. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts +12 -0
  213. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.d.ts.map +1 -0
  214. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js +104 -0
  215. package/dist/server/server/agent/providers/codex/tool-call-detail-parser.js.map +1 -0
  216. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts +15 -0
  217. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -0
  218. package/dist/server/server/agent/providers/codex/tool-call-mapper.js +791 -0
  219. package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -0
  220. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +307 -0
  221. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -0
  222. package/dist/server/server/agent/providers/codex-app-server-agent.js +4364 -0
  223. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -0
  224. package/dist/server/server/agent/providers/codex-feature-definitions.d.ts +11 -0
  225. package/dist/server/server/agent/providers/codex-feature-definitions.d.ts.map +1 -0
  226. package/dist/server/server/agent/providers/codex-feature-definitions.js +45 -0
  227. package/dist/server/server/agent/providers/codex-feature-definitions.js.map +1 -0
  228. package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts +9 -0
  229. package/dist/server/server/agent/providers/codex-rollout-timeline.d.ts.map +1 -0
  230. package/dist/server/server/agent/providers/codex-rollout-timeline.js +555 -0
  231. package/dist/server/server/agent/providers/codex-rollout-timeline.js.map +1 -0
  232. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts +25 -0
  233. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -0
  234. package/dist/server/server/agent/providers/copilot-acp-agent.js +203 -0
  235. package/dist/server/server/agent/providers/copilot-acp-agent.js.map +1 -0
  236. package/dist/server/server/agent/providers/cursor-acp-agent.d.ts +21 -0
  237. package/dist/server/server/agent/providers/cursor-acp-agent.d.ts.map +1 -0
  238. package/dist/server/server/agent/providers/cursor-acp-agent.js +95 -0
  239. package/dist/server/server/agent/providers/cursor-acp-agent.js.map +1 -0
  240. package/dist/server/server/agent/providers/diagnostic-utils.d.ts +17 -0
  241. package/dist/server/server/agent/providers/diagnostic-utils.d.ts.map +1 -0
  242. package/dist/server/server/agent/providers/diagnostic-utils.js +127 -0
  243. package/dist/server/server/agent/providers/diagnostic-utils.js.map +1 -0
  244. package/dist/server/server/agent/providers/generic-acp-agent.d.ts +33 -0
  245. package/dist/server/server/agent/providers/generic-acp-agent.d.ts.map +1 -0
  246. package/dist/server/server/agent/providers/generic-acp-agent.js +234 -0
  247. package/dist/server/server/agent/providers/generic-acp-agent.js.map +1 -0
  248. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +68 -0
  249. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +1 -0
  250. package/dist/server/server/agent/providers/mock-load-test-agent.js +770 -0
  251. package/dist/server/server/agent/providers/mock-load-test-agent.js.map +1 -0
  252. package/dist/server/server/agent/providers/opencode/runtime.d.ts +27 -0
  253. package/dist/server/server/agent/providers/opencode/runtime.d.ts.map +1 -0
  254. package/dist/server/server/agent/providers/opencode/runtime.js +5 -0
  255. package/dist/server/server/agent/providers/opencode/runtime.js.map +1 -0
  256. package/dist/server/server/agent/providers/opencode/server-manager.d.ts +55 -0
  257. package/dist/server/server/agent/providers/opencode/server-manager.d.ts.map +1 -0
  258. package/dist/server/server/agent/providers/opencode/server-manager.js +256 -0
  259. package/dist/server/server/agent/providers/opencode/server-manager.js.map +1 -0
  260. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts +22 -0
  261. package/dist/server/server/agent/providers/opencode/test-server-manager.d.ts.map +1 -0
  262. package/dist/server/server/agent/providers/opencode/test-server-manager.js +28 -0
  263. package/dist/server/server/agent/providers/opencode/test-server-manager.js.map +1 -0
  264. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.d.ts +83 -0
  265. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.d.ts.map +1 -0
  266. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.js +225 -0
  267. package/dist/server/server/agent/providers/opencode/test-utils/test-opencode-runtime.js.map +1 -0
  268. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts +3 -0
  269. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts.map +1 -0
  270. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +131 -0
  271. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js.map +1 -0
  272. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts +13 -0
  273. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +1 -0
  274. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +53 -0
  275. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js.map +1 -0
  276. package/dist/server/server/agent/providers/opencode-agent.d.ts +231 -0
  277. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -0
  278. package/dist/server/server/agent/providers/opencode-agent.js +2443 -0
  279. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -0
  280. package/dist/server/server/agent/providers/pi/agent.d.ts +84 -0
  281. package/dist/server/server/agent/providers/pi/agent.d.ts.map +1 -0
  282. package/dist/server/server/agent/providers/pi/agent.js +828 -0
  283. package/dist/server/server/agent/providers/pi/agent.js.map +1 -0
  284. package/dist/server/server/agent/providers/pi/cli-runtime.d.ts +18 -0
  285. package/dist/server/server/agent/providers/pi/cli-runtime.d.ts.map +1 -0
  286. package/dist/server/server/agent/providers/pi/cli-runtime.js +211 -0
  287. package/dist/server/server/agent/providers/pi/cli-runtime.js.map +1 -0
  288. package/dist/server/server/agent/providers/pi/history-mapper.d.ts +5 -0
  289. package/dist/server/server/agent/providers/pi/history-mapper.d.ts.map +1 -0
  290. package/dist/server/server/agent/providers/pi/history-mapper.js +139 -0
  291. package/dist/server/server/agent/providers/pi/history-mapper.js.map +1 -0
  292. package/dist/server/server/agent/providers/pi/rpc-types.d.ts +185 -0
  293. package/dist/server/server/agent/providers/pi/rpc-types.d.ts.map +1 -0
  294. package/dist/server/server/agent/providers/pi/rpc-types.js +2 -0
  295. package/dist/server/server/agent/providers/pi/rpc-types.js.map +1 -0
  296. package/dist/server/server/agent/providers/pi/runtime.d.ts +47 -0
  297. package/dist/server/server/agent/providers/pi/runtime.d.ts.map +1 -0
  298. package/dist/server/server/agent/providers/pi/runtime.js +47 -0
  299. package/dist/server/server/agent/providers/pi/runtime.js.map +1 -0
  300. package/dist/server/server/agent/providers/pi/session-descriptor.d.ts +10 -0
  301. package/dist/server/server/agent/providers/pi/session-descriptor.d.ts.map +1 -0
  302. package/dist/server/server/agent/providers/pi/session-descriptor.js +300 -0
  303. package/dist/server/server/agent/providers/pi/session-descriptor.js.map +1 -0
  304. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts +52 -0
  305. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.d.ts.map +1 -0
  306. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js +109 -0
  307. package/dist/server/server/agent/providers/pi/test-utils/fake-pi.js.map +1 -0
  308. package/dist/server/server/agent/providers/pi/tool-call-mapper.d.ts +112 -0
  309. package/dist/server/server/agent/providers/pi/tool-call-mapper.d.ts.map +1 -0
  310. package/dist/server/server/agent/providers/pi/tool-call-mapper.js +284 -0
  311. package/dist/server/server/agent/providers/pi/tool-call-mapper.js.map +1 -0
  312. package/dist/server/server/agent/providers/provider-image-output.d.ts +20 -0
  313. package/dist/server/server/agent/providers/provider-image-output.d.ts.map +1 -0
  314. package/dist/server/server/agent/providers/provider-image-output.js +51 -0
  315. package/dist/server/server/agent/providers/provider-image-output.js.map +1 -0
  316. package/dist/server/server/agent/providers/provider-runner.d.ts +27 -0
  317. package/dist/server/server/agent/providers/provider-runner.d.ts.map +1 -0
  318. package/dist/server/server/agent/providers/provider-runner.js +81 -0
  319. package/dist/server/server/agent/providers/provider-runner.js.map +1 -0
  320. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts +3 -0
  321. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.d.ts.map +1 -0
  322. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js +60 -0
  323. package/dist/server/server/agent/providers/test-utils/session-stream-adapter.js.map +1 -0
  324. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +1751 -0
  325. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -0
  326. package/dist/server/server/agent/providers/tool-call-detail-primitives.js +709 -0
  327. package/dist/server/server/agent/providers/tool-call-detail-primitives.js.map +1 -0
  328. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +20 -0
  329. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts.map +1 -0
  330. package/dist/server/server/agent/providers/tool-call-mapper-utils.js +146 -0
  331. package/dist/server/server/agent/providers/tool-call-mapper-utils.js.map +1 -0
  332. package/dist/server/server/agent/recordings-debug.d.ts +3 -0
  333. package/dist/server/server/agent/recordings-debug.d.ts.map +1 -0
  334. package/dist/server/server/agent/recordings-debug.js +19 -0
  335. package/dist/server/server/agent/recordings-debug.js.map +1 -0
  336. package/dist/server/server/agent/stt-debug.d.ts +10 -0
  337. package/dist/server/server/agent/stt-debug.d.ts.map +1 -0
  338. package/dist/server/server/agent/stt-debug.js +33 -0
  339. package/dist/server/server/agent/stt-debug.js.map +1 -0
  340. package/dist/server/server/agent/stt-manager.d.ts +38 -0
  341. package/dist/server/server/agent/stt-manager.d.ts.map +1 -0
  342. package/dist/server/server/agent/stt-manager.js +246 -0
  343. package/dist/server/server/agent/stt-manager.js.map +1 -0
  344. package/dist/server/server/agent/system-prompt.d.ts +2 -0
  345. package/dist/server/server/agent/system-prompt.d.ts.map +1 -0
  346. package/dist/server/server/agent/system-prompt.js +8 -0
  347. package/dist/server/server/agent/system-prompt.js.map +1 -0
  348. package/dist/server/server/agent/timeline-append.d.ts +10 -0
  349. package/dist/server/server/agent/timeline-append.d.ts.map +1 -0
  350. package/dist/server/server/agent/timeline-append.js +27 -0
  351. package/dist/server/server/agent/timeline-append.js.map +1 -0
  352. package/dist/server/server/agent/timeline-projection.d.ts +55 -0
  353. package/dist/server/server/agent/timeline-projection.d.ts.map +1 -0
  354. package/dist/server/server/agent/timeline-projection.js +279 -0
  355. package/dist/server/server/agent/timeline-projection.js.map +1 -0
  356. package/dist/server/server/agent/tool-name-normalization.d.ts +9 -0
  357. package/dist/server/server/agent/tool-name-normalization.d.ts.map +1 -0
  358. package/dist/server/server/agent/tool-name-normalization.js +82 -0
  359. package/dist/server/server/agent/tool-name-normalization.js.map +1 -0
  360. package/dist/server/server/agent/tts-debug.d.ts +8 -0
  361. package/dist/server/server/agent/tts-debug.d.ts.map +1 -0
  362. package/dist/server/server/agent/tts-debug.js +24 -0
  363. package/dist/server/server/agent/tts-debug.js.map +1 -0
  364. package/dist/server/server/agent/tts-manager.d.ts +41 -0
  365. package/dist/server/server/agent/tts-manager.d.ts.map +1 -0
  366. package/dist/server/server/agent/tts-manager.js +375 -0
  367. package/dist/server/server/agent/tts-manager.js.map +1 -0
  368. package/dist/server/server/agent/wait-for-agent-tracker.d.ts +15 -0
  369. package/dist/server/server/agent/wait-for-agent-tracker.d.ts.map +1 -0
  370. package/dist/server/server/agent/wait-for-agent-tracker.js +53 -0
  371. package/dist/server/server/agent/wait-for-agent-tracker.js.map +1 -0
  372. package/dist/server/server/agent-attention-policy.d.ts +20 -0
  373. package/dist/server/server/agent-attention-policy.d.ts.map +1 -0
  374. package/dist/server/server/agent-attention-policy.js +24 -0
  375. package/dist/server/server/agent-attention-policy.js.map +1 -0
  376. package/dist/server/server/auth.d.ts +25 -0
  377. package/dist/server/server/auth.d.ts.map +1 -0
  378. package/dist/server/server/auth.js +93 -0
  379. package/dist/server/server/auth.js.map +1 -0
  380. package/dist/server/server/auto-archive-on-merge/archive-if-safe.d.ts +40 -0
  381. package/dist/server/server/auto-archive-on-merge/archive-if-safe.d.ts.map +1 -0
  382. package/dist/server/server/auto-archive-on-merge/archive-if-safe.js +80 -0
  383. package/dist/server/server/auto-archive-on-merge/archive-if-safe.js.map +1 -0
  384. package/dist/server/server/auto-archive-on-merge/index.d.ts +8 -0
  385. package/dist/server/server/auto-archive-on-merge/index.d.ts.map +1 -0
  386. package/dist/server/server/auto-archive-on-merge/index.js +15 -0
  387. package/dist/server/server/auto-archive-on-merge/index.js.map +1 -0
  388. package/dist/server/server/bootstrap.d.ts +98 -0
  389. package/dist/server/server/bootstrap.d.ts.map +1 -0
  390. package/dist/server/server/bootstrap.js +800 -0
  391. package/dist/server/server/bootstrap.js.map +1 -0
  392. package/dist/server/server/chat/chat-mentions.d.ts +47 -0
  393. package/dist/server/server/chat/chat-mentions.d.ts.map +1 -0
  394. package/dist/server/server/chat/chat-mentions.js +113 -0
  395. package/dist/server/server/chat/chat-mentions.js.map +1 -0
  396. package/dist/server/server/chat/chat-rpc-schemas.d.ts +728 -0
  397. package/dist/server/server/chat/chat-rpc-schemas.d.ts.map +1 -0
  398. package/dist/server/server/chat/chat-rpc-schemas.js +103 -0
  399. package/dist/server/server/chat/chat-rpc-schemas.js.map +1 -0
  400. package/dist/server/server/chat/chat-service.d.ts +78 -0
  401. package/dist/server/server/chat/chat-service.d.ts.map +1 -0
  402. package/dist/server/server/chat/chat-service.js +339 -0
  403. package/dist/server/server/chat/chat-service.js.map +1 -0
  404. package/dist/server/server/chat/chat-types.d.ts +75 -0
  405. package/dist/server/server/chat/chat-types.d.ts.map +1 -0
  406. package/dist/server/server/chat/chat-types.js +22 -0
  407. package/dist/server/server/chat/chat-types.js.map +1 -0
  408. package/dist/server/server/checkout/status-projection.d.ts +19 -0
  409. package/dist/server/server/checkout/status-projection.d.ts.map +1 -0
  410. package/dist/server/server/checkout/status-projection.js +102 -0
  411. package/dist/server/server/checkout/status-projection.js.map +1 -0
  412. package/dist/server/server/checkout-diff-manager.d.ts +41 -0
  413. package/dist/server/server/checkout-diff-manager.d.ts.map +1 -0
  414. package/dist/server/server/checkout-diff-manager.js +189 -0
  415. package/dist/server/server/checkout-diff-manager.js.map +1 -0
  416. package/dist/server/server/checkout-git-utils.d.ts +11 -0
  417. package/dist/server/server/checkout-git-utils.d.ts.map +1 -0
  418. package/dist/server/server/checkout-git-utils.js +34 -0
  419. package/dist/server/server/checkout-git-utils.js.map +1 -0
  420. package/dist/server/server/client-message-id.d.ts +3 -0
  421. package/dist/server/server/client-message-id.d.ts.map +1 -0
  422. package/dist/server/server/client-message-id.js +12 -0
  423. package/dist/server/server/client-message-id.js.map +1 -0
  424. package/dist/server/server/config.d.ts +23 -0
  425. package/dist/server/server/config.d.ts.map +1 -0
  426. package/dist/server/server/config.js +233 -0
  427. package/dist/server/server/config.js.map +1 -0
  428. package/dist/server/server/connection-offer.d.ts +20 -0
  429. package/dist/server/server/connection-offer.d.ts.map +1 -0
  430. package/dist/server/server/connection-offer.js +59 -0
  431. package/dist/server/server/connection-offer.js.map +1 -0
  432. package/dist/server/server/daemon-config-store.d.ts +25 -0
  433. package/dist/server/server/daemon-config-store.d.ts.map +1 -0
  434. package/dist/server/server/daemon-config-store.js +138 -0
  435. package/dist/server/server/daemon-config-store.js.map +1 -0
  436. package/dist/server/server/daemon-keypair.d.ts +8 -0
  437. package/dist/server/server/daemon-keypair.d.ts.map +1 -0
  438. package/dist/server/server/daemon-keypair.js +42 -0
  439. package/dist/server/server/daemon-keypair.js.map +1 -0
  440. package/dist/server/server/daemon-version.d.ts +5 -0
  441. package/dist/server/server/daemon-version.d.ts.map +1 -0
  442. package/dist/server/server/daemon-version.js +22 -0
  443. package/dist/server/server/daemon-version.js.map +1 -0
  444. package/dist/server/server/daemon-worker.d.ts +2 -0
  445. package/dist/server/server/daemon-worker.d.ts.map +1 -0
  446. package/dist/server/server/daemon-worker.js +155 -0
  447. package/dist/server/server/daemon-worker.js.map +1 -0
  448. package/dist/server/server/dictation/dictation-stream-manager.d.ts +87 -0
  449. package/dist/server/server/dictation/dictation-stream-manager.d.ts.map +1 -0
  450. package/dist/server/server/dictation/dictation-stream-manager.js +572 -0
  451. package/dist/server/server/dictation/dictation-stream-manager.js.map +1 -0
  452. package/dist/server/server/editor-targets.d.ts +18 -0
  453. package/dist/server/server/editor-targets.d.ts.map +1 -0
  454. package/dist/server/server/editor-targets.js +109 -0
  455. package/dist/server/server/editor-targets.js.map +1 -0
  456. package/dist/server/server/exports.d.ts +26 -0
  457. package/dist/server/server/exports.d.ts.map +1 -0
  458. package/dist/server/server/exports.js +25 -0
  459. package/dist/server/server/exports.js.map +1 -0
  460. package/dist/server/server/file-download/token-store.d.ts +24 -0
  461. package/dist/server/server/file-download/token-store.d.ts.map +1 -0
  462. package/dist/server/server/file-download/token-store.js +40 -0
  463. package/dist/server/server/file-download/token-store.js.map +1 -0
  464. package/dist/server/server/file-explorer/service.d.ts +51 -0
  465. package/dist/server/server/file-explorer/service.d.ts.map +1 -0
  466. package/dist/server/server/file-explorer/service.js +246 -0
  467. package/dist/server/server/file-explorer/service.js.map +1 -0
  468. package/dist/server/server/hostnames.d.ts +13 -0
  469. package/dist/server/server/hostnames.d.ts.map +1 -0
  470. package/dist/server/server/hostnames.js +94 -0
  471. package/dist/server/server/hostnames.js.map +1 -0
  472. package/dist/server/server/json-utils.d.ts +11 -0
  473. package/dist/server/server/json-utils.d.ts.map +1 -0
  474. package/dist/server/server/json-utils.js +45 -0
  475. package/dist/server/server/json-utils.js.map +1 -0
  476. package/dist/server/server/logger.d.ts +29 -0
  477. package/dist/server/server/logger.d.ts.map +1 -0
  478. package/dist/server/server/logger.js +125 -0
  479. package/dist/server/server/logger.js.map +1 -0
  480. package/dist/server/server/loop/rpc-schemas.d.ts +3005 -0
  481. package/dist/server/server/loop/rpc-schemas.d.ts.map +1 -0
  482. package/dist/server/server/loop/rpc-schemas.js +163 -0
  483. package/dist/server/server/loop/rpc-schemas.js.map +1 -0
  484. package/dist/server/server/loop-service.d.ts +529 -0
  485. package/dist/server/server/loop-service.d.ts.map +1 -0
  486. package/dist/server/server/loop-service.js +751 -0
  487. package/dist/server/server/loop-service.js.map +1 -0
  488. package/dist/server/server/messages.d.ts +9 -0
  489. package/dist/server/server/messages.d.ts.map +1 -0
  490. package/dist/server/server/messages.js +29 -0
  491. package/dist/server/server/messages.js.map +1 -0
  492. package/dist/server/server/package-version.d.ts +25 -0
  493. package/dist/server/server/package-version.d.ts.map +1 -0
  494. package/dist/server/server/package-version.js +60 -0
  495. package/dist/server/server/package-version.js.map +1 -0
  496. package/dist/server/server/pagination/cursor.d.ts +16 -0
  497. package/dist/server/server/pagination/cursor.d.ts.map +1 -0
  498. package/dist/server/server/pagination/cursor.js +62 -0
  499. package/dist/server/server/pagination/cursor.js.map +1 -0
  500. package/dist/server/server/pagination/sortable-pager.d.ts +24 -0
  501. package/dist/server/server/pagination/sortable-pager.d.ts.map +1 -0
  502. package/dist/server/server/pagination/sortable-pager.js +68 -0
  503. package/dist/server/server/pagination/sortable-pager.js.map +1 -0
  504. package/dist/server/server/pairing-offer.d.ts +18 -0
  505. package/dist/server/server/pairing-offer.d.ts.map +1 -0
  506. package/dist/server/server/pairing-offer.js +47 -0
  507. package/dist/server/server/pairing-offer.js.map +1 -0
  508. package/dist/server/server/pairing-qr.d.ts +7 -0
  509. package/dist/server/server/pairing-qr.d.ts.map +1 -0
  510. package/dist/server/server/pairing-qr.js +45 -0
  511. package/dist/server/server/pairing-qr.js.map +1 -0
  512. package/dist/server/server/paseo-env.d.ts +13 -0
  513. package/dist/server/server/paseo-env.d.ts.map +1 -0
  514. package/dist/server/server/paseo-env.js +53 -0
  515. package/dist/server/server/paseo-env.js.map +1 -0
  516. package/dist/server/server/paseo-home.d.ts +2 -0
  517. package/dist/server/server/paseo-home.d.ts.map +1 -0
  518. package/dist/server/server/paseo-home.js +19 -0
  519. package/dist/server/server/paseo-home.js.map +1 -0
  520. package/dist/server/server/paseo-worktree-archive-service.d.ts +43 -0
  521. package/dist/server/server/paseo-worktree-archive-service.d.ts.map +1 -0
  522. package/dist/server/server/paseo-worktree-archive-service.js +145 -0
  523. package/dist/server/server/paseo-worktree-archive-service.js.map +1 -0
  524. package/dist/server/server/paseo-worktree-service.d.ts +43 -0
  525. package/dist/server/server/paseo-worktree-service.d.ts.map +1 -0
  526. package/dist/server/server/paseo-worktree-service.js +218 -0
  527. package/dist/server/server/paseo-worktree-service.js.map +1 -0
  528. package/dist/server/server/path-utils.d.ts +4 -0
  529. package/dist/server/server/path-utils.d.ts.map +1 -0
  530. package/dist/server/server/path-utils.js +29 -0
  531. package/dist/server/server/path-utils.js.map +1 -0
  532. package/dist/server/server/persisted-config.d.ts +1056 -0
  533. package/dist/server/server/persisted-config.d.ts.map +1 -0
  534. package/dist/server/server/persisted-config.js +398 -0
  535. package/dist/server/server/persisted-config.js.map +1 -0
  536. package/dist/server/server/persistence-hooks.d.ts +33 -0
  537. package/dist/server/server/persistence-hooks.d.ts.map +1 -0
  538. package/dist/server/server/persistence-hooks.js +99 -0
  539. package/dist/server/server/persistence-hooks.js.map +1 -0
  540. package/dist/server/server/pid-lock.d.ts +46 -0
  541. package/dist/server/server/pid-lock.d.ts.map +1 -0
  542. package/dist/server/server/pid-lock.js +170 -0
  543. package/dist/server/server/pid-lock.js.map +1 -0
  544. package/dist/server/server/private-files.d.ts +7 -0
  545. package/dist/server/server/private-files.d.ts.map +1 -0
  546. package/dist/server/server/private-files.js +42 -0
  547. package/dist/server/server/private-files.js.map +1 -0
  548. package/dist/server/server/push/notifications.d.ts +9 -0
  549. package/dist/server/server/push/notifications.d.ts.map +1 -0
  550. package/dist/server/server/push/notifications.js +15 -0
  551. package/dist/server/server/push/notifications.js.map +1 -0
  552. package/dist/server/server/push/push-service.d.ts +20 -0
  553. package/dist/server/server/push/push-service.d.ts.map +1 -0
  554. package/dist/server/server/push/push-service.js +66 -0
  555. package/dist/server/server/push/push-service.js.map +1 -0
  556. package/dist/server/server/push/token-store.d.ts +18 -0
  557. package/dist/server/server/push/token-store.d.ts.map +1 -0
  558. package/dist/server/server/push/token-store.js +68 -0
  559. package/dist/server/server/push/token-store.js.map +1 -0
  560. package/dist/server/server/relay-transport.d.ts +31 -0
  561. package/dist/server/server/relay-transport.d.ts.map +1 -0
  562. package/dist/server/server/relay-transport.js +514 -0
  563. package/dist/server/server/relay-transport.js.map +1 -0
  564. package/dist/server/server/resolve-worktree-creation-intent.d.ts +29 -0
  565. package/dist/server/server/resolve-worktree-creation-intent.d.ts.map +1 -0
  566. package/dist/server/server/resolve-worktree-creation-intent.js +119 -0
  567. package/dist/server/server/resolve-worktree-creation-intent.js.map +1 -0
  568. package/dist/server/server/schedule/cron.d.ts +4 -0
  569. package/dist/server/server/schedule/cron.d.ts.map +1 -0
  570. package/dist/server/server/schedule/cron.js +103 -0
  571. package/dist/server/server/schedule/cron.js.map +1 -0
  572. package/dist/server/server/schedule/rpc-schemas.d.ts +3909 -0
  573. package/dist/server/server/schedule/rpc-schemas.d.ts.map +1 -0
  574. package/dist/server/server/schedule/rpc-schemas.js +151 -0
  575. package/dist/server/server/schedule/rpc-schemas.js.map +1 -0
  576. package/dist/server/server/schedule/service.d.ts +40 -0
  577. package/dist/server/server/schedule/service.d.ts.map +1 -0
  578. package/dist/server/server/schedule/service.js +476 -0
  579. package/dist/server/server/schedule/service.js.map +1 -0
  580. package/dist/server/server/schedule/store.d.ts +13 -0
  581. package/dist/server/server/schedule/store.d.ts.map +1 -0
  582. package/dist/server/server/schedule/store.js +56 -0
  583. package/dist/server/server/schedule/store.js.map +1 -0
  584. package/dist/server/server/schedule/types.d.ts +726 -0
  585. package/dist/server/server/schedule/types.d.ts.map +1 -0
  586. package/dist/server/server/schedule/types.js +73 -0
  587. package/dist/server/server/schedule/types.js.map +1 -0
  588. package/dist/server/server/script-health-monitor.d.ts +39 -0
  589. package/dist/server/server/script-health-monitor.d.ts.map +1 -0
  590. package/dist/server/server/script-health-monitor.js +159 -0
  591. package/dist/server/server/script-health-monitor.js.map +1 -0
  592. package/dist/server/server/script-proxy.d.ts +40 -0
  593. package/dist/server/server/script-proxy.d.ts.map +1 -0
  594. package/dist/server/server/script-proxy.js +245 -0
  595. package/dist/server/server/script-proxy.js.map +1 -0
  596. package/dist/server/server/script-route-branch-handler.d.ts +10 -0
  597. package/dist/server/server/script-route-branch-handler.d.ts.map +1 -0
  598. package/dist/server/server/script-route-branch-handler.js +45 -0
  599. package/dist/server/server/script-route-branch-handler.js.map +1 -0
  600. package/dist/server/server/script-status-projection.d.ts +34 -0
  601. package/dist/server/server/script-status-projection.d.ts.map +1 -0
  602. package/dist/server/server/script-status-projection.js +152 -0
  603. package/dist/server/server/script-status-projection.js.map +1 -0
  604. package/dist/server/server/server-id.d.ts +17 -0
  605. package/dist/server/server/server-id.d.ts.map +1 -0
  606. package/dist/server/server/server-id.js +68 -0
  607. package/dist/server/server/server-id.js.map +1 -0
  608. package/dist/server/server/session.d.ts +586 -0
  609. package/dist/server/server/session.d.ts.map +1 -0
  610. package/dist/server/server/session.js +7072 -0
  611. package/dist/server/server/session.js.map +1 -0
  612. package/dist/server/server/speech/audio.d.ts +10 -0
  613. package/dist/server/server/speech/audio.d.ts.map +1 -0
  614. package/dist/server/server/speech/audio.js +101 -0
  615. package/dist/server/server/speech/audio.js.map +1 -0
  616. package/dist/server/server/speech/provider-resolver.d.ts +3 -0
  617. package/dist/server/server/speech/provider-resolver.d.ts.map +1 -0
  618. package/dist/server/server/speech/provider-resolver.js +7 -0
  619. package/dist/server/server/speech/provider-resolver.js.map +1 -0
  620. package/dist/server/server/speech/providers/local/config.d.ts +30 -0
  621. package/dist/server/server/speech/providers/local/config.d.ts.map +1 -0
  622. package/dist/server/server/speech/providers/local/config.js +134 -0
  623. package/dist/server/server/speech/providers/local/config.js.map +1 -0
  624. package/dist/server/server/speech/providers/local/models.d.ts +11 -0
  625. package/dist/server/server/speech/providers/local/models.d.ts.map +1 -0
  626. package/dist/server/server/speech/providers/local/models.js +17 -0
  627. package/dist/server/server/speech/providers/local/models.js.map +1 -0
  628. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts +24 -0
  629. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.d.ts.map +1 -0
  630. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js +459 -0
  631. package/dist/server/server/speech/providers/local/pocket/pocket-tts-onnx.js.map +1 -0
  632. package/dist/server/server/speech/providers/local/runtime.d.ts +31 -0
  633. package/dist/server/server/speech/providers/local/runtime.d.ts.map +1 -0
  634. package/dist/server/server/speech/providers/local/runtime.js +278 -0
  635. package/dist/server/server/speech/providers/local/runtime.js.map +1 -0
  636. package/dist/server/server/speech/providers/local/sherpa/assets/silero_vad.onnx +0 -0
  637. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts +117 -0
  638. package/dist/server/server/speech/providers/local/sherpa/model-catalog.d.ts.map +1 -0
  639. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js +169 -0
  640. package/dist/server/server/speech/providers/local/sherpa/model-catalog.js.map +1 -0
  641. package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts +15 -0
  642. package/dist/server/server/speech/providers/local/sherpa/model-downloader.d.ts.map +1 -0
  643. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js +167 -0
  644. package/dist/server/server/speech/providers/local/sherpa/model-downloader.js.map +1 -0
  645. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts +49 -0
  646. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.d.ts.map +1 -0
  647. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js +73 -0
  648. package/dist/server/server/speech/providers/local/sherpa/sherpa-offline-recognizer.js.map +1 -0
  649. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts +56 -0
  650. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.d.ts.map +1 -0
  651. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js +91 -0
  652. package/dist/server/server/speech/providers/local/sherpa/sherpa-online-recognizer.js.map +1 -0
  653. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.d.ts +7 -0
  654. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.d.ts.map +1 -0
  655. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.js +11 -0
  656. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-loader.js.map +1 -0
  657. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts +9 -0
  658. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.d.ts.map +1 -0
  659. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js +107 -0
  660. package/dist/server/server/speech/providers/local/sherpa/sherpa-onnx-node-loader.js.map +1 -0
  661. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts +28 -0
  662. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.d.ts.map +1 -0
  663. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js +137 -0
  664. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-realtime-session.js.map +1 -0
  665. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts +21 -0
  666. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.d.ts.map +1 -0
  667. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js +133 -0
  668. package/dist/server/server/speech/providers/local/sherpa/sherpa-parakeet-stt.js.map +1 -0
  669. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.d.ts +23 -0
  670. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.d.ts.map +1 -0
  671. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js +116 -0
  672. package/dist/server/server/speech/providers/local/sherpa/sherpa-realtime-session.js.map +1 -0
  673. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts +18 -0
  674. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.d.ts.map +1 -0
  675. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js +84 -0
  676. package/dist/server/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +1 -0
  677. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts +23 -0
  678. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.d.ts.map +1 -0
  679. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js +141 -0
  680. package/dist/server/server/speech/providers/local/sherpa/sherpa-stt.js.map +1 -0
  681. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts +21 -0
  682. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.d.ts.map +1 -0
  683. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js +115 -0
  684. package/dist/server/server/speech/providers/local/sherpa/sherpa-tts.js.map +1 -0
  685. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.d.ts +19 -0
  686. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.d.ts.map +1 -0
  687. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js +49 -0
  688. package/dist/server/server/speech/providers/local/sherpa/silero-vad-provider.js.map +1 -0
  689. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.d.ts +38 -0
  690. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.d.ts.map +1 -0
  691. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.js +176 -0
  692. package/dist/server/server/speech/providers/local/sherpa/silero-vad-session.js.map +1 -0
  693. package/dist/server/server/speech/providers/openai/config.d.ts +22 -0
  694. package/dist/server/server/speech/providers/openai/config.d.ts.map +1 -0
  695. package/dist/server/server/speech/providers/openai/config.js +107 -0
  696. package/dist/server/server/speech/providers/openai/config.js.map +1 -0
  697. package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts +42 -0
  698. package/dist/server/server/speech/providers/openai/realtime-transcription-session.d.ts.map +1 -0
  699. package/dist/server/server/speech/providers/openai/realtime-transcription-session.js +168 -0
  700. package/dist/server/server/speech/providers/openai/realtime-transcription-session.js.map +1 -0
  701. package/dist/server/server/speech/providers/openai/runtime.d.ts +29 -0
  702. package/dist/server/server/speech/providers/openai/runtime.d.ts.map +1 -0
  703. package/dist/server/server/speech/providers/openai/runtime.js +117 -0
  704. package/dist/server/server/speech/providers/openai/runtime.js.map +1 -0
  705. package/dist/server/server/speech/providers/openai/stt.d.ts +22 -0
  706. package/dist/server/server/speech/providers/openai/stt.d.ts.map +1 -0
  707. package/dist/server/server/speech/providers/openai/stt.js +207 -0
  708. package/dist/server/server/speech/providers/openai/stt.js.map +1 -0
  709. package/dist/server/server/speech/providers/openai/tts.d.ts +18 -0
  710. package/dist/server/server/speech/providers/openai/tts.d.ts.map +1 -0
  711. package/dist/server/server/speech/providers/openai/tts.js +47 -0
  712. package/dist/server/server/speech/providers/openai/tts.js.map +1 -0
  713. package/dist/server/server/speech/speech-config-resolver.d.ts +11 -0
  714. package/dist/server/server/speech/speech-config-resolver.d.ts.map +1 -0
  715. package/dist/server/server/speech/speech-config-resolver.js +132 -0
  716. package/dist/server/server/speech/speech-config-resolver.js.map +1 -0
  717. package/dist/server/server/speech/speech-provider.d.ts +59 -0
  718. package/dist/server/server/speech/speech-provider.d.ts.map +1 -0
  719. package/dist/server/server/speech/speech-provider.js +2 -0
  720. package/dist/server/server/speech/speech-provider.js.map +1 -0
  721. package/dist/server/server/speech/speech-runtime.d.ts +45 -0
  722. package/dist/server/server/speech/speech-runtime.d.ts.map +1 -0
  723. package/dist/server/server/speech/speech-runtime.js +562 -0
  724. package/dist/server/server/speech/speech-runtime.js.map +1 -0
  725. package/dist/server/server/speech/speech-types.d.ts +24 -0
  726. package/dist/server/server/speech/speech-types.d.ts.map +1 -0
  727. package/dist/server/server/speech/speech-types.js +8 -0
  728. package/dist/server/server/speech/speech-types.js.map +1 -0
  729. package/dist/server/server/speech/turn-detection-provider.d.ts +23 -0
  730. package/dist/server/server/speech/turn-detection-provider.d.ts.map +1 -0
  731. package/dist/server/server/speech/turn-detection-provider.js +2 -0
  732. package/dist/server/server/speech/turn-detection-provider.js.map +1 -0
  733. package/dist/server/server/utils/diff-highlighter.d.ts +57 -0
  734. package/dist/server/server/utils/diff-highlighter.d.ts.map +1 -0
  735. package/dist/server/server/utils/diff-highlighter.js +279 -0
  736. package/dist/server/server/utils/diff-highlighter.js.map +1 -0
  737. package/dist/server/server/voice/voice-turn-controller.d.ts +38 -0
  738. package/dist/server/server/voice/voice-turn-controller.d.ts.map +1 -0
  739. package/dist/server/server/voice/voice-turn-controller.js +393 -0
  740. package/dist/server/server/voice/voice-turn-controller.js.map +1 -0
  741. package/dist/server/server/voice-config.d.ts +15 -0
  742. package/dist/server/server/voice-config.d.ts.map +1 -0
  743. package/dist/server/server/voice-config.js +54 -0
  744. package/dist/server/server/voice-config.js.map +1 -0
  745. package/dist/server/server/voice-permission-policy.d.ts +4 -0
  746. package/dist/server/server/voice-permission-policy.d.ts.map +1 -0
  747. package/dist/server/server/voice-permission-policy.js +13 -0
  748. package/dist/server/server/voice-permission-policy.js.map +1 -0
  749. package/dist/server/server/voice-types.d.ts +12 -0
  750. package/dist/server/server/voice-types.d.ts.map +1 -0
  751. package/dist/server/server/voice-types.js +2 -0
  752. package/dist/server/server/voice-types.js.map +1 -0
  753. package/dist/server/server/websocket/runtime-metrics.d.ts +71 -0
  754. package/dist/server/server/websocket/runtime-metrics.d.ts.map +1 -0
  755. package/dist/server/server/websocket/runtime-metrics.js +148 -0
  756. package/dist/server/server/websocket/runtime-metrics.js.map +1 -0
  757. package/dist/server/server/websocket-server.d.ts +153 -0
  758. package/dist/server/server/websocket-server.d.ts.map +1 -0
  759. package/dist/server/server/websocket-server.js +1300 -0
  760. package/dist/server/server/websocket-server.js.map +1 -0
  761. package/dist/server/server/workspace-archive-service.d.ts +8 -0
  762. package/dist/server/server/workspace-archive-service.d.ts.map +1 -0
  763. package/dist/server/server/workspace-archive-service.js +17 -0
  764. package/dist/server/server/workspace-archive-service.js.map +1 -0
  765. package/dist/server/server/workspace-directory.d.ts +67 -0
  766. package/dist/server/server/workspace-directory.d.ts.map +1 -0
  767. package/dist/server/server/workspace-directory.js +214 -0
  768. package/dist/server/server/workspace-directory.js.map +1 -0
  769. package/dist/server/server/workspace-git-metadata.d.ts +24 -0
  770. package/dist/server/server/workspace-git-metadata.d.ts.map +1 -0
  771. package/dist/server/server/workspace-git-metadata.js +55 -0
  772. package/dist/server/server/workspace-git-metadata.js.map +1 -0
  773. package/dist/server/server/workspace-git-service.d.ts +257 -0
  774. package/dist/server/server/workspace-git-service.d.ts.map +1 -0
  775. package/dist/server/server/workspace-git-service.js +1277 -0
  776. package/dist/server/server/workspace-git-service.js.map +1 -0
  777. package/dist/server/server/workspace-reconciliation-service.d.ts +58 -0
  778. package/dist/server/server/workspace-reconciliation-service.d.ts.map +1 -0
  779. package/dist/server/server/workspace-reconciliation-service.js +274 -0
  780. package/dist/server/server/workspace-reconciliation-service.js.map +1 -0
  781. package/dist/server/server/workspace-registry-bootstrap.d.ts +13 -0
  782. package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -0
  783. package/dist/server/server/workspace-registry-bootstrap.js +108 -0
  784. package/dist/server/server/workspace-registry-bootstrap.js.map +1 -0
  785. package/dist/server/server/workspace-registry-model.d.ts +55 -0
  786. package/dist/server/server/workspace-registry-model.d.ts.map +1 -0
  787. package/dist/server/server/workspace-registry-model.js +191 -0
  788. package/dist/server/server/workspace-registry-model.js.map +1 -0
  789. package/dist/server/server/workspace-registry.d.ts +135 -0
  790. package/dist/server/server/workspace-registry.d.ts.map +1 -0
  791. package/dist/server/server/workspace-registry.js +162 -0
  792. package/dist/server/server/workspace-registry.js.map +1 -0
  793. package/dist/server/server/workspace-script-runtime-store.d.ts +28 -0
  794. package/dist/server/server/workspace-script-runtime-store.d.ts.map +1 -0
  795. package/dist/server/server/workspace-script-runtime-store.js +78 -0
  796. package/dist/server/server/workspace-script-runtime-store.js.map +1 -0
  797. package/dist/server/server/workspace-service-env.d.ts +17 -0
  798. package/dist/server/server/workspace-service-env.d.ts.map +1 -0
  799. package/dist/server/server/workspace-service-env.js +80 -0
  800. package/dist/server/server/workspace-service-env.js.map +1 -0
  801. package/dist/server/server/workspace-service-port-registry.d.ts +19 -0
  802. package/dist/server/server/workspace-service-port-registry.d.ts.map +1 -0
  803. package/dist/server/server/workspace-service-port-registry.js +59 -0
  804. package/dist/server/server/workspace-service-port-registry.js.map +1 -0
  805. package/dist/server/server/worktree-bootstrap.d.ts +74 -0
  806. package/dist/server/server/worktree-bootstrap.d.ts.map +1 -0
  807. package/dist/server/server/worktree-bootstrap.js +716 -0
  808. package/dist/server/server/worktree-bootstrap.js.map +1 -0
  809. package/dist/server/server/worktree-branch-name-generator.d.ts +21 -0
  810. package/dist/server/server/worktree-branch-name-generator.d.ts.map +1 -0
  811. package/dist/server/server/worktree-branch-name-generator.js +59 -0
  812. package/dist/server/server/worktree-branch-name-generator.js.map +1 -0
  813. package/dist/server/server/worktree-core.d.ts +29 -0
  814. package/dist/server/server/worktree-core.d.ts.map +1 -0
  815. package/dist/server/server/worktree-core.js +99 -0
  816. package/dist/server/server/worktree-core.js.map +1 -0
  817. package/dist/server/server/worktree-errors.d.ts +12 -0
  818. package/dist/server/server/worktree-errors.d.ts.map +1 -0
  819. package/dist/server/server/worktree-errors.js +28 -0
  820. package/dist/server/server/worktree-errors.js.map +1 -0
  821. package/dist/server/server/worktree-session.d.ts +149 -0
  822. package/dist/server/server/worktree-session.d.ts.map +1 -0
  823. package/dist/server/server/worktree-session.js +464 -0
  824. package/dist/server/server/worktree-session.js.map +1 -0
  825. package/dist/server/services/github-service.d.ts +279 -0
  826. package/dist/server/services/github-service.d.ts.map +1 -0
  827. package/dist/server/services/github-service.js +1666 -0
  828. package/dist/server/services/github-service.js.map +1 -0
  829. package/dist/server/shared/agent-attention-notification.d.ts +41 -0
  830. package/dist/server/shared/agent-attention-notification.d.ts.map +1 -0
  831. package/dist/server/shared/agent-attention-notification.js +140 -0
  832. package/dist/server/shared/agent-attention-notification.js.map +1 -0
  833. package/dist/server/shared/agent-labels.d.ts +2 -0
  834. package/dist/server/shared/agent-labels.d.ts.map +1 -0
  835. package/dist/server/shared/agent-labels.js +2 -0
  836. package/dist/server/shared/agent-labels.js.map +1 -0
  837. package/dist/server/shared/agent-lifecycle.d.ts +3 -0
  838. package/dist/server/shared/agent-lifecycle.d.ts.map +1 -0
  839. package/dist/server/shared/agent-lifecycle.js +8 -0
  840. package/dist/server/shared/agent-lifecycle.js.map +1 -0
  841. package/dist/server/shared/agent-state-bucket.d.ts +13 -0
  842. package/dist/server/shared/agent-state-bucket.d.ts.map +1 -0
  843. package/dist/server/shared/agent-state-bucket.js +41 -0
  844. package/dist/server/shared/agent-state-bucket.js.map +1 -0
  845. package/dist/server/shared/binary-frames/file-transfer.d.ts +56 -0
  846. package/dist/server/shared/binary-frames/file-transfer.d.ts.map +1 -0
  847. package/dist/server/shared/binary-frames/file-transfer.js +108 -0
  848. package/dist/server/shared/binary-frames/file-transfer.js.map +1 -0
  849. package/dist/server/shared/binary-frames/index.d.ts +3 -0
  850. package/dist/server/shared/binary-frames/index.d.ts.map +1 -0
  851. package/dist/server/shared/binary-frames/index.js +3 -0
  852. package/dist/server/shared/binary-frames/index.js.map +1 -0
  853. package/dist/server/shared/binary-frames/terminal.d.ts +36 -0
  854. package/dist/server/shared/binary-frames/terminal.d.ts.map +1 -0
  855. package/dist/server/shared/binary-frames/terminal.js +99 -0
  856. package/dist/server/shared/binary-frames/terminal.js.map +1 -0
  857. package/dist/server/shared/client-capabilities.d.ts +5 -0
  858. package/dist/server/shared/client-capabilities.d.ts.map +1 -0
  859. package/dist/server/shared/client-capabilities.js +4 -0
  860. package/dist/server/shared/client-capabilities.js.map +1 -0
  861. package/dist/server/shared/connection-offer.d.ts +80 -0
  862. package/dist/server/shared/connection-offer.d.ts.map +1 -0
  863. package/dist/server/shared/connection-offer.js +53 -0
  864. package/dist/server/shared/connection-offer.js.map +1 -0
  865. package/dist/server/shared/daemon-endpoints.d.ts +47 -0
  866. package/dist/server/shared/daemon-endpoints.d.ts.map +1 -0
  867. package/dist/server/shared/daemon-endpoints.js +201 -0
  868. package/dist/server/shared/daemon-endpoints.js.map +1 -0
  869. package/dist/server/shared/error-utils.d.ts +11 -0
  870. package/dist/server/shared/error-utils.d.ts.map +1 -0
  871. package/dist/server/shared/error-utils.js +27 -0
  872. package/dist/server/shared/error-utils.js.map +1 -0
  873. package/dist/server/shared/git-remote.d.ts +16 -0
  874. package/dist/server/shared/git-remote.d.ts.map +1 -0
  875. package/dist/server/shared/git-remote.js +72 -0
  876. package/dist/server/shared/git-remote.js.map +1 -0
  877. package/dist/server/shared/host-connection-schema.d.ts +23 -0
  878. package/dist/server/shared/host-connection-schema.d.ts.map +1 -0
  879. package/dist/server/shared/host-connection-schema.js +9 -0
  880. package/dist/server/shared/host-connection-schema.js.map +1 -0
  881. package/dist/server/shared/importable-providers.d.ts +7 -0
  882. package/dist/server/shared/importable-providers.d.ts.map +1 -0
  883. package/dist/server/shared/importable-providers.js +7 -0
  884. package/dist/server/shared/importable-providers.js.map +1 -0
  885. package/dist/server/shared/literal-union.d.ts +2 -0
  886. package/dist/server/shared/literal-union.d.ts.map +1 -0
  887. package/dist/server/shared/literal-union.js +2 -0
  888. package/dist/server/shared/literal-union.js.map +1 -0
  889. package/dist/server/shared/messages.d.ts +140180 -0
  890. package/dist/server/shared/messages.d.ts.map +1 -0
  891. package/dist/server/shared/messages.js +3259 -0
  892. package/dist/server/shared/messages.js.map +1 -0
  893. package/dist/server/shared/path-utils.d.ts +2 -0
  894. package/dist/server/shared/path-utils.d.ts.map +1 -0
  895. package/dist/server/shared/path-utils.js +16 -0
  896. package/dist/server/shared/path-utils.js.map +1 -0
  897. package/dist/server/shared/terminal-input-mode.d.ts +26 -0
  898. package/dist/server/shared/terminal-input-mode.d.ts.map +1 -0
  899. package/dist/server/shared/terminal-input-mode.js +151 -0
  900. package/dist/server/shared/terminal-input-mode.js.map +1 -0
  901. package/dist/server/shared/tool-call-display.d.ts +11 -0
  902. package/dist/server/shared/tool-call-display.d.ts.map +1 -0
  903. package/dist/server/shared/tool-call-display.js +135 -0
  904. package/dist/server/shared/tool-call-display.js.map +1 -0
  905. package/dist/server/terminal/shell-integration/zsh/.zshenv +17 -0
  906. package/dist/server/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
  907. package/dist/server/terminal/terminal-capture.d.ts +12 -0
  908. package/dist/server/terminal/terminal-capture.d.ts.map +1 -0
  909. package/dist/server/terminal/terminal-capture.js +43 -0
  910. package/dist/server/terminal/terminal-capture.js.map +1 -0
  911. package/dist/server/terminal/terminal-manager-factory.d.ts +3 -0
  912. package/dist/server/terminal/terminal-manager-factory.d.ts.map +1 -0
  913. package/dist/server/terminal/terminal-manager-factory.js +5 -0
  914. package/dist/server/terminal/terminal-manager-factory.js.map +1 -0
  915. package/dist/server/terminal/terminal-manager.d.ts +47 -0
  916. package/dist/server/terminal/terminal-manager.d.ts.map +1 -0
  917. package/dist/server/terminal/terminal-manager.js +183 -0
  918. package/dist/server/terminal/terminal-manager.js.map +1 -0
  919. package/dist/server/terminal/terminal-output-coalescer.d.ts +30 -0
  920. package/dist/server/terminal/terminal-output-coalescer.d.ts.map +1 -0
  921. package/dist/server/terminal/terminal-output-coalescer.js +55 -0
  922. package/dist/server/terminal/terminal-output-coalescer.js.map +1 -0
  923. package/dist/server/terminal/terminal-session-controller.d.ts +64 -0
  924. package/dist/server/terminal/terminal-session-controller.d.ts.map +1 -0
  925. package/dist/server/terminal/terminal-session-controller.js +653 -0
  926. package/dist/server/terminal/terminal-session-controller.js.map +1 -0
  927. package/dist/server/terminal/terminal-ts-loader.mjs +20 -0
  928. package/dist/server/terminal/terminal-worker-process.d.ts +2 -0
  929. package/dist/server/terminal/terminal-worker-process.d.ts.map +1 -0
  930. package/dist/server/terminal/terminal-worker-process.js +221 -0
  931. package/dist/server/terminal/terminal-worker-process.js.map +1 -0
  932. package/dist/server/terminal/terminal-worker-protocol.d.ts +113 -0
  933. package/dist/server/terminal/terminal-worker-protocol.d.ts.map +1 -0
  934. package/dist/server/terminal/terminal-worker-protocol.js +2 -0
  935. package/dist/server/terminal/terminal-worker-protocol.js.map +1 -0
  936. package/dist/server/terminal/terminal.d.ts +99 -0
  937. package/dist/server/terminal/terminal.d.ts.map +1 -0
  938. package/dist/server/terminal/terminal.js +877 -0
  939. package/dist/server/terminal/terminal.js.map +1 -0
  940. package/dist/server/terminal/worker-terminal-manager.d.ts +19 -0
  941. package/dist/server/terminal/worker-terminal-manager.d.ts.map +1 -0
  942. package/dist/server/terminal/worker-terminal-manager.js +492 -0
  943. package/dist/server/terminal/worker-terminal-manager.js.map +1 -0
  944. package/dist/server/utils/branch-slug.d.ts +14 -0
  945. package/dist/server/utils/branch-slug.d.ts.map +1 -0
  946. package/dist/server/utils/branch-slug.js +49 -0
  947. package/dist/server/utils/branch-slug.js.map +1 -0
  948. package/dist/server/utils/build-metadata-prompt.d.ts +14 -0
  949. package/dist/server/utils/build-metadata-prompt.d.ts.map +1 -0
  950. package/dist/server/utils/build-metadata-prompt.js +28 -0
  951. package/dist/server/utils/build-metadata-prompt.js.map +1 -0
  952. package/dist/server/utils/checkout-git.d.ts +213 -0
  953. package/dist/server/utils/checkout-git.d.ts.map +1 -0
  954. package/dist/server/utils/checkout-git.js +1885 -0
  955. package/dist/server/utils/checkout-git.js.map +1 -0
  956. package/dist/server/utils/directory-suggestions.d.ts +26 -0
  957. package/dist/server/utils/directory-suggestions.d.ts.map +1 -0
  958. package/dist/server/utils/directory-suggestions.js +732 -0
  959. package/dist/server/utils/directory-suggestions.js.map +1 -0
  960. package/dist/server/utils/executable.d.ts +10 -0
  961. package/dist/server/utils/executable.d.ts.map +1 -0
  962. package/dist/server/utils/executable.js +116 -0
  963. package/dist/server/utils/executable.js.map +1 -0
  964. package/dist/server/utils/git-rev-parse-path.d.ts +3 -0
  965. package/dist/server/utils/git-rev-parse-path.d.ts.map +1 -0
  966. package/dist/server/utils/git-rev-parse-path.js +21 -0
  967. package/dist/server/utils/git-rev-parse-path.js.map +1 -0
  968. package/dist/server/utils/github-remote.d.ts +9 -0
  969. package/dist/server/utils/github-remote.d.ts.map +1 -0
  970. package/dist/server/utils/github-remote.js +62 -0
  971. package/dist/server/utils/github-remote.js.map +1 -0
  972. package/dist/server/utils/paseo-config-file.d.ts +30 -0
  973. package/dist/server/utils/paseo-config-file.d.ts.map +1 -0
  974. package/dist/server/utils/paseo-config-file.js +90 -0
  975. package/dist/server/utils/paseo-config-file.js.map +1 -0
  976. package/dist/server/utils/paseo-config-schema.d.ts +915 -0
  977. package/dist/server/utils/paseo-config-schema.d.ts.map +1 -0
  978. package/dist/server/utils/paseo-config-schema.js +77 -0
  979. package/dist/server/utils/paseo-config-schema.js.map +1 -0
  980. package/dist/server/utils/path.d.ts +16 -0
  981. package/dist/server/utils/path.d.ts.map +1 -0
  982. package/dist/server/utils/path.js +110 -0
  983. package/dist/server/utils/path.js.map +1 -0
  984. package/dist/server/utils/project-icon.d.ts +39 -0
  985. package/dist/server/utils/project-icon.d.ts.map +1 -0
  986. package/dist/server/utils/project-icon.js +364 -0
  987. package/dist/server/utils/project-icon.js.map +1 -0
  988. package/dist/server/utils/promise-timeout.d.ts +9 -0
  989. package/dist/server/utils/promise-timeout.d.ts.map +1 -0
  990. package/dist/server/utils/promise-timeout.js +25 -0
  991. package/dist/server/utils/promise-timeout.js.map +1 -0
  992. package/dist/server/utils/run-git-command.d.ts +20 -0
  993. package/dist/server/utils/run-git-command.d.ts.map +1 -0
  994. package/dist/server/utils/run-git-command.js +146 -0
  995. package/dist/server/utils/run-git-command.js.map +1 -0
  996. package/dist/server/utils/script-hostname.d.ts +8 -0
  997. package/dist/server/utils/script-hostname.d.ts.map +1 -0
  998. package/dist/server/utils/script-hostname.js +14 -0
  999. package/dist/server/utils/script-hostname.js.map +1 -0
  1000. package/dist/server/utils/spawn.d.ts +33 -0
  1001. package/dist/server/utils/spawn.d.ts.map +1 -0
  1002. package/dist/server/utils/spawn.js +71 -0
  1003. package/dist/server/utils/spawn.js.map +1 -0
  1004. package/dist/server/utils/string-command-shell.d.ts +10 -0
  1005. package/dist/server/utils/string-command-shell.d.ts.map +1 -0
  1006. package/dist/server/utils/string-command-shell.js +21 -0
  1007. package/dist/server/utils/string-command-shell.js.map +1 -0
  1008. package/dist/server/utils/tree-kill.d.ts +18 -0
  1009. package/dist/server/utils/tree-kill.d.ts.map +1 -0
  1010. package/dist/server/utils/tree-kill.js +77 -0
  1011. package/dist/server/utils/tree-kill.js.map +1 -0
  1012. package/dist/server/utils/windows-command.d.ts +15 -0
  1013. package/dist/server/utils/windows-command.d.ts.map +1 -0
  1014. package/dist/server/utils/windows-command.js +41 -0
  1015. package/dist/server/utils/windows-command.js.map +1 -0
  1016. package/dist/server/utils/worktree-metadata.d.ts +91 -0
  1017. package/dist/server/utils/worktree-metadata.d.ts.map +1 -0
  1018. package/dist/server/utils/worktree-metadata.js +174 -0
  1019. package/dist/server/utils/worktree-metadata.js.map +1 -0
  1020. package/dist/server/utils/worktree.d.ts +195 -0
  1021. package/dist/server/utils/worktree.d.ts.map +1 -0
  1022. package/dist/server/utils/worktree.js +1004 -0
  1023. package/dist/server/utils/worktree.js.map +1 -0
  1024. package/dist/server/utils/wrap-user-instructions.d.ts +2 -0
  1025. package/dist/server/utils/wrap-user-instructions.d.ts.map +1 -0
  1026. package/dist/server/utils/wrap-user-instructions.js +13 -0
  1027. package/dist/server/utils/wrap-user-instructions.js.map +1 -0
  1028. package/dist/src/server/agent/agent-sdk-types.js +22 -0
  1029. package/dist/src/server/agent/agent-sdk-types.js.map +1 -0
  1030. package/dist/src/server/agent/agent-title-limits.js +3 -0
  1031. package/dist/src/server/agent/agent-title-limits.js.map +1 -0
  1032. package/dist/src/server/agent/provider-launch-config.js +190 -0
  1033. package/dist/src/server/agent/provider-launch-config.js.map +1 -0
  1034. package/dist/src/server/agent/provider-manifest.js +211 -0
  1035. package/dist/src/server/agent/provider-manifest.js.map +1 -0
  1036. package/dist/src/server/chat/chat-rpc-schemas.js +103 -0
  1037. package/dist/src/server/chat/chat-rpc-schemas.js.map +1 -0
  1038. package/dist/src/server/chat/chat-types.js +22 -0
  1039. package/dist/src/server/chat/chat-types.js.map +1 -0
  1040. package/dist/src/server/loop/rpc-schemas.js +163 -0
  1041. package/dist/src/server/loop/rpc-schemas.js.map +1 -0
  1042. package/dist/src/server/paseo-env.js +53 -0
  1043. package/dist/src/server/paseo-env.js.map +1 -0
  1044. package/dist/src/server/paseo-home.js +19 -0
  1045. package/dist/src/server/paseo-home.js.map +1 -0
  1046. package/dist/src/server/persisted-config.js +398 -0
  1047. package/dist/src/server/persisted-config.js.map +1 -0
  1048. package/dist/src/server/pid-lock.js +170 -0
  1049. package/dist/src/server/pid-lock.js.map +1 -0
  1050. package/dist/src/server/private-files.js +42 -0
  1051. package/dist/src/server/private-files.js.map +1 -0
  1052. package/dist/src/server/schedule/rpc-schemas.js +151 -0
  1053. package/dist/src/server/schedule/rpc-schemas.js.map +1 -0
  1054. package/dist/src/server/schedule/types.js +73 -0
  1055. package/dist/src/server/schedule/types.js.map +1 -0
  1056. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js +84 -0
  1057. package/dist/src/server/speech/providers/local/sherpa/sherpa-runtime-env.js.map +1 -0
  1058. package/dist/src/shared/agent-lifecycle.js +8 -0
  1059. package/dist/src/shared/agent-lifecycle.js.map +1 -0
  1060. package/dist/src/shared/client-capabilities.js +4 -0
  1061. package/dist/src/shared/client-capabilities.js.map +1 -0
  1062. package/dist/src/shared/literal-union.js +2 -0
  1063. package/dist/src/shared/literal-union.js.map +1 -0
  1064. package/dist/src/shared/messages.js +3259 -0
  1065. package/dist/src/shared/messages.js.map +1 -0
  1066. package/dist/src/terminal/shell-integration/zsh/.zshenv +17 -0
  1067. package/dist/src/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
  1068. package/dist/src/utils/executable.js +116 -0
  1069. package/dist/src/utils/executable.js.map +1 -0
  1070. package/dist/src/utils/paseo-config-schema.js +77 -0
  1071. package/dist/src/utils/paseo-config-schema.js.map +1 -0
  1072. package/dist/src/utils/spawn.js +71 -0
  1073. package/dist/src/utils/spawn.js.map +1 -0
  1074. package/dist/src/utils/windows-command.js +41 -0
  1075. package/dist/src/utils/windows-command.js.map +1 -0
  1076. package/package.json +115 -0
  1077. package/src/server/speech/providers/local/sherpa/assets/silero_vad.onnx +0 -0
@@ -0,0 +1,1004 @@
1
+ import { execFile } from "child_process";
2
+ import { promisify } from "util";
3
+ import { existsSync, mkdirSync, realpathSync, rmSync, statSync } from "fs";
4
+ import { copyFile, rm, stat } from "fs/promises";
5
+ import { join, basename, dirname, resolve, sep } from "path";
6
+ import net from "node:net";
7
+ import { createHash } from "node:crypto";
8
+ import stripAnsi from "strip-ansi";
9
+ import { buildStringCommandShellInvocation } from "./string-command-shell.js";
10
+ import { readPaseoConfigJson, resolvePaseoConfigPath } from "./paseo-config-file.js";
11
+ export { PaseoConfigRawSchema, PaseoLifecycleCommandRawSchema, PaseoScriptEntryRawSchema, PaseoWorktreeConfigRawSchema, PaseoConfigSchema, } from "./paseo-config-schema.js";
12
+ import { PaseoConfigSchema } from "./paseo-config-schema.js";
13
+ import { normalizeBaseRefName, readPaseoWorktreeMetadata, readPaseoWorktreeRuntimePort, writePaseoWorktreeMetadata, writePaseoWorktreeRuntimeMetadata, } from "./worktree-metadata.js";
14
+ import { runGitCommand } from "./run-git-command.js";
15
+ import { spawnProcess } from "./spawn.js";
16
+ import { resolvePaseoHome } from "../server/paseo-home.js";
17
+ import { createExternalProcessEnv } from "../server/paseo-env.js";
18
+ import { parseGitRevParsePath, resolveGitRevParsePath } from "./git-rev-parse-path.js";
19
+ import { validateBranchSlug } from "./branch-slug.js";
20
+ export { slugify, validateBranchSlug } from "./branch-slug.js";
21
+ const execFileAsync = promisify(execFile);
22
+ const READ_ONLY_GIT_ENV = {
23
+ GIT_OPTIONAL_LOCKS: "0",
24
+ };
25
+ export function isServiceScript(config) {
26
+ return "type" in config && config.type === "service";
27
+ }
28
+ export class WorktreeSetupError extends Error {
29
+ constructor(message, results) {
30
+ super(message);
31
+ this.name = "WorktreeSetupError";
32
+ this.results = results;
33
+ }
34
+ }
35
+ export class WorktreeTeardownError extends Error {
36
+ constructor(message, results) {
37
+ super(message);
38
+ this.name = "WorktreeTeardownError";
39
+ this.results = results;
40
+ }
41
+ }
42
+ export class BranchAlreadyCheckedOutError extends Error {
43
+ constructor(branchName) {
44
+ super(`Branch already checked out: ${branchName}`);
45
+ this.name = "BranchAlreadyCheckedOutError";
46
+ this.branchName = branchName;
47
+ }
48
+ }
49
+ export class UnknownBranchError extends Error {
50
+ constructor(params) {
51
+ super(`Unknown branch: ${params.branchName}`);
52
+ this.name = "UnknownBranchError";
53
+ this.branchName = params.branchName;
54
+ this.cwd = params.cwd;
55
+ }
56
+ }
57
+ export function readPaseoConfig(repoRoot) {
58
+ try {
59
+ const json = readPaseoConfigJson(repoRoot);
60
+ if (json === null) {
61
+ return { ok: true, config: null };
62
+ }
63
+ return { ok: true, config: PaseoConfigSchema.parse(json) };
64
+ }
65
+ catch (error) {
66
+ return { ok: false, configPath: resolvePaseoConfigPath(repoRoot), error };
67
+ }
68
+ }
69
+ export function paseoConfigParseError(failure) {
70
+ const detail = failure.error instanceof Error ? failure.error.message : String(failure.error);
71
+ return new Error(`Failed to parse paseo.json at ${failure.configPath}: ${detail}`, {
72
+ cause: failure.error,
73
+ });
74
+ }
75
+ function readPaseoConfigOrThrow(repoRoot) {
76
+ const result = readPaseoConfig(repoRoot);
77
+ if (!result.ok) {
78
+ throw paseoConfigParseError(result);
79
+ }
80
+ return result.config;
81
+ }
82
+ export function getWorktreeSetupCommands(repoRoot) {
83
+ return readPaseoConfigOrThrow(repoRoot)?.worktree?.setup ?? [];
84
+ }
85
+ export function getWorktreeTeardownCommands(repoRoot) {
86
+ return readPaseoConfigOrThrow(repoRoot)?.worktree?.teardown ?? [];
87
+ }
88
+ export function getWorktreeTerminalSpecs(repoRoot) {
89
+ const terminals = readPaseoConfigOrThrow(repoRoot)?.worktree?.terminals;
90
+ if (!Array.isArray(terminals) || terminals.length === 0) {
91
+ return [];
92
+ }
93
+ const specs = [];
94
+ for (const terminal of terminals) {
95
+ if (!terminal || typeof terminal !== "object") {
96
+ continue;
97
+ }
98
+ const rawCommand = terminal.command;
99
+ if (typeof rawCommand !== "string") {
100
+ continue;
101
+ }
102
+ const command = rawCommand.trim();
103
+ if (!command) {
104
+ continue;
105
+ }
106
+ const rawName = terminal.name;
107
+ const name = typeof rawName === "string" && rawName.trim().length > 0 ? rawName.trim() : undefined;
108
+ specs.push({
109
+ ...(name ? { name } : {}),
110
+ command,
111
+ });
112
+ }
113
+ return specs;
114
+ }
115
+ export function getScriptConfigs(config) {
116
+ const scripts = config?.scripts;
117
+ if (!scripts || typeof scripts !== "object") {
118
+ return new Map();
119
+ }
120
+ const result = new Map();
121
+ for (const [name, entry] of Object.entries(scripts)) {
122
+ if (!entry || typeof entry !== "object") {
123
+ continue;
124
+ }
125
+ const rawCommand = entry.command;
126
+ if (typeof rawCommand !== "string") {
127
+ continue;
128
+ }
129
+ const command = rawCommand.trim();
130
+ if (!command) {
131
+ continue;
132
+ }
133
+ const scriptConfig = entry.type === "service"
134
+ ? {
135
+ type: "service",
136
+ command,
137
+ }
138
+ : { command };
139
+ if (isServiceScript(scriptConfig) &&
140
+ typeof entry.port === "number" &&
141
+ Number.isFinite(entry.port)) {
142
+ scriptConfig.port = entry.port;
143
+ }
144
+ result.set(name, scriptConfig);
145
+ }
146
+ return result;
147
+ }
148
+ export function processCarriageReturns(text) {
149
+ if (!text.includes("\r")) {
150
+ return text;
151
+ }
152
+ const output = [];
153
+ let line = [];
154
+ let cursor = 0;
155
+ const flushLine = () => {
156
+ output.push(line.join(""));
157
+ line = [];
158
+ cursor = 0;
159
+ };
160
+ for (let index = 0; index < text.length; index += 1) {
161
+ const char = text[index];
162
+ if (char === "\r") {
163
+ if (text[index + 1] === "\n") {
164
+ flushLine();
165
+ output.push("\n");
166
+ index += 1;
167
+ continue;
168
+ }
169
+ cursor = 0;
170
+ continue;
171
+ }
172
+ if (char === "\n") {
173
+ flushLine();
174
+ output.push("\n");
175
+ continue;
176
+ }
177
+ if (cursor < line.length) {
178
+ line[cursor] = char;
179
+ }
180
+ else {
181
+ line.push(char);
182
+ }
183
+ cursor += 1;
184
+ }
185
+ if (line.length > 0) {
186
+ output.push(line.join(""));
187
+ }
188
+ return output.join("");
189
+ }
190
+ async function execSetupCommand(command, options) {
191
+ const startedAt = Date.now();
192
+ const shellInvocation = buildStringCommandShellInvocation({ command });
193
+ try {
194
+ const { stdout, stderr } = await execFileAsync(shellInvocation.shell, shellInvocation.args, {
195
+ cwd: options.cwd,
196
+ env: options.env,
197
+ });
198
+ return {
199
+ command,
200
+ cwd: options.cwd,
201
+ stdout: stdout ?? "",
202
+ stderr: stderr ?? "",
203
+ exitCode: 0,
204
+ durationMs: Date.now() - startedAt,
205
+ };
206
+ }
207
+ catch (error) {
208
+ const execErr = error;
209
+ return {
210
+ command,
211
+ cwd: options.cwd,
212
+ stdout: execErr?.stdout ?? "",
213
+ stderr: execErr?.stderr ?? (error instanceof Error ? error.message : String(error)),
214
+ exitCode: typeof execErr?.code === "number" ? execErr.code : null,
215
+ durationMs: Date.now() - startedAt,
216
+ };
217
+ }
218
+ }
219
+ async function execSetupCommandStreamed(options) {
220
+ return new Promise((resolvePromise) => {
221
+ const startedAt = Date.now();
222
+ const stdoutChunks = [];
223
+ const stderrChunks = [];
224
+ let settled = false;
225
+ const emitOutput = (stream, chunk) => {
226
+ const text = stripAnsi(chunk);
227
+ if (!text) {
228
+ return;
229
+ }
230
+ if (stream === "stdout") {
231
+ stdoutChunks.push(text);
232
+ }
233
+ else {
234
+ stderrChunks.push(text);
235
+ }
236
+ options.onEvent?.({
237
+ type: "output",
238
+ index: options.index,
239
+ total: options.total,
240
+ command: options.command,
241
+ cwd: options.cwd,
242
+ stream,
243
+ chunk: text,
244
+ });
245
+ };
246
+ const finish = (exitCode) => {
247
+ if (settled) {
248
+ return;
249
+ }
250
+ settled = true;
251
+ const result = {
252
+ command: options.command,
253
+ cwd: options.cwd,
254
+ stdout: stdoutChunks.join(""),
255
+ stderr: stderrChunks.join(""),
256
+ exitCode,
257
+ durationMs: Date.now() - startedAt,
258
+ };
259
+ options.onEvent?.({
260
+ type: "command_completed",
261
+ index: options.index,
262
+ total: options.total,
263
+ command: options.command,
264
+ cwd: options.cwd,
265
+ exitCode: result.exitCode,
266
+ durationMs: result.durationMs,
267
+ stdout: result.stdout,
268
+ stderr: result.stderr,
269
+ });
270
+ resolvePromise(result);
271
+ };
272
+ options.onEvent?.({
273
+ type: "command_started",
274
+ index: options.index,
275
+ total: options.total,
276
+ command: options.command,
277
+ cwd: options.cwd,
278
+ });
279
+ const shellInvocation = buildStringCommandShellInvocation({ command: options.command });
280
+ const child = spawnProcess(shellInvocation.shell, shellInvocation.args, {
281
+ cwd: options.cwd,
282
+ env: options.env,
283
+ stdio: ["ignore", "pipe", "pipe"],
284
+ });
285
+ child.stdout?.on("data", (chunk) => {
286
+ emitOutput("stdout", chunk.toString());
287
+ });
288
+ child.stderr?.on("data", (chunk) => {
289
+ emitOutput("stderr", chunk.toString());
290
+ });
291
+ child.on("error", (error) => {
292
+ emitOutput("stderr", error instanceof Error ? error.message : String(error));
293
+ finish(null);
294
+ });
295
+ child.on("close", (code) => {
296
+ finish(typeof code === "number" ? code : null);
297
+ });
298
+ });
299
+ }
300
+ async function getAvailablePort() {
301
+ return new Promise((resolvePromise, reject) => {
302
+ const server = net.createServer();
303
+ server.once("error", reject);
304
+ server.listen(0, () => {
305
+ const address = server.address();
306
+ if (!address || typeof address === "string") {
307
+ server.close(() => reject(new Error("Failed to acquire available port")));
308
+ return;
309
+ }
310
+ server.close((error) => {
311
+ if (error) {
312
+ reject(error);
313
+ return;
314
+ }
315
+ resolvePromise(address.port);
316
+ });
317
+ });
318
+ });
319
+ }
320
+ async function assertPortAvailable(port) {
321
+ await new Promise((resolvePromise, reject) => {
322
+ const server = net.createServer();
323
+ server.once("error", (error) => {
324
+ let message;
325
+ if (error?.code === "EADDRINUSE") {
326
+ message = `Persisted worktree port ${port} is already in use`;
327
+ }
328
+ else if (error instanceof Error) {
329
+ message = error.message;
330
+ }
331
+ else {
332
+ message = String(error);
333
+ }
334
+ reject(new Error(message));
335
+ });
336
+ server.listen(port, () => {
337
+ server.close((error) => {
338
+ if (error) {
339
+ reject(error);
340
+ return;
341
+ }
342
+ resolvePromise();
343
+ });
344
+ });
345
+ });
346
+ }
347
+ async function inferRepoRootPathFromWorktreePath(worktreePath) {
348
+ try {
349
+ const commonDir = await getGitCommonDir(worktreePath);
350
+ const normalizedCommonDir = normalizePathForOwnership(commonDir);
351
+ // Normal repo/worktree: common dir is <repoRoot>/.git
352
+ if (basename(normalizedCommonDir) === ".git") {
353
+ return dirname(normalizedCommonDir);
354
+ }
355
+ // Bare repo: common dir is the repo dir itself
356
+ return normalizedCommonDir;
357
+ }
358
+ catch {
359
+ // Fallback: best-effort resolve toplevel (will be the worktree root in typical cases)
360
+ try {
361
+ const { stdout } = await runGitCommand(["rev-parse", "--show-toplevel"], {
362
+ cwd: worktreePath,
363
+ envOverlay: READ_ONLY_GIT_ENV,
364
+ });
365
+ const topLevel = parseGitRevParsePath(stdout);
366
+ if (topLevel) {
367
+ return normalizePathForOwnership(topLevel);
368
+ }
369
+ }
370
+ catch {
371
+ // ignore
372
+ }
373
+ return normalizePathForOwnership(worktreePath);
374
+ }
375
+ }
376
+ export async function runWorktreeSetupCommands(options) {
377
+ // Read paseo.json from the worktree (it will have the same content as the source repo)
378
+ const setupCommands = getWorktreeSetupCommands(options.worktreePath);
379
+ if (setupCommands.length === 0) {
380
+ return [];
381
+ }
382
+ const runtimeEnv = options.runtimeEnv ??
383
+ (await resolveWorktreeRuntimeEnv({
384
+ worktreePath: options.worktreePath,
385
+ branchName: options.branchName,
386
+ ...(options.repoRootPath ? { repoRootPath: options.repoRootPath } : {}),
387
+ }));
388
+ const setupEnv = createExternalProcessEnv(process.env, runtimeEnv);
389
+ const results = [];
390
+ for (const [index, cmd] of setupCommands.entries()) {
391
+ const result = options.onEvent
392
+ ? await execSetupCommandStreamed({
393
+ command: cmd,
394
+ cwd: options.worktreePath,
395
+ env: setupEnv,
396
+ index: index + 1,
397
+ total: setupCommands.length,
398
+ onEvent: options.onEvent,
399
+ })
400
+ : await execSetupCommand(cmd, {
401
+ cwd: options.worktreePath,
402
+ env: setupEnv,
403
+ });
404
+ results.push(result);
405
+ if (result.exitCode !== 0) {
406
+ if (options.cleanupOnFailure) {
407
+ try {
408
+ await runGitCommand(["worktree", "remove", options.worktreePath, "--force"], {
409
+ cwd: options.worktreePath,
410
+ timeout: 120000,
411
+ });
412
+ }
413
+ catch {
414
+ rmSync(options.worktreePath, { recursive: true, force: true });
415
+ }
416
+ }
417
+ throw new WorktreeSetupError(`Worktree setup command failed: ${cmd}\n${result.stderr}`.trim(), results);
418
+ }
419
+ }
420
+ return results;
421
+ }
422
+ async function resolveBranchNameForWorktreePath(worktreePath) {
423
+ try {
424
+ const { stdout } = await runGitCommand(["branch", "--show-current"], {
425
+ cwd: worktreePath,
426
+ envOverlay: READ_ONLY_GIT_ENV,
427
+ });
428
+ const branchName = stdout.trim();
429
+ if (branchName.length > 0) {
430
+ return branchName;
431
+ }
432
+ }
433
+ catch {
434
+ // ignore
435
+ }
436
+ return basename(worktreePath);
437
+ }
438
+ export async function resolveWorktreeRuntimeEnv(options) {
439
+ const repoRootPath = options.repoRootPath ?? (await inferRepoRootPathFromWorktreePath(options.worktreePath));
440
+ const branchName = options.branchName ?? (await resolveBranchNameForWorktreePath(options.worktreePath));
441
+ let worktreePort = readPaseoWorktreeRuntimePort(options.worktreePath);
442
+ if (worktreePort === null) {
443
+ worktreePort = await getAvailablePort();
444
+ const metadata = readPaseoWorktreeMetadata(options.worktreePath);
445
+ if (metadata) {
446
+ writePaseoWorktreeRuntimeMetadata(options.worktreePath, { worktreePort });
447
+ }
448
+ }
449
+ else {
450
+ await assertPortAvailable(worktreePort);
451
+ }
452
+ return {
453
+ // Source checkout path is the original git repo root (shared across worktrees), not the
454
+ // worktree itself. This allows setup scripts to copy local files (e.g. .env) from the
455
+ // source checkout.
456
+ PASEO_SOURCE_CHECKOUT_PATH: repoRootPath,
457
+ // Backward-compatible alias.
458
+ PASEO_ROOT_PATH: repoRootPath,
459
+ PASEO_WORKTREE_PATH: options.worktreePath,
460
+ PASEO_BRANCH_NAME: branchName,
461
+ PASEO_WORKTREE_PORT: String(worktreePort),
462
+ };
463
+ }
464
+ export async function runWorktreeTeardownCommands(options) {
465
+ // Read paseo.json from the worktree (it will have the same content as the source repo)
466
+ const teardownCommands = getWorktreeTeardownCommands(options.worktreePath);
467
+ if (teardownCommands.length === 0) {
468
+ return [];
469
+ }
470
+ const repoRootPath = options.repoRootPath ?? (await inferRepoRootPathFromWorktreePath(options.worktreePath));
471
+ const branchName = options.branchName ?? (await resolveBranchNameForWorktreePath(options.worktreePath));
472
+ const worktreePort = readPaseoWorktreeRuntimePort(options.worktreePath);
473
+ const teardownEnv = createExternalProcessEnv(process.env, {
474
+ // Source checkout path is the original git repo root (shared across worktrees), not the
475
+ // worktree itself. This allows lifecycle scripts to copy or clean resources using paths
476
+ // from the source checkout.
477
+ PASEO_SOURCE_CHECKOUT_PATH: repoRootPath,
478
+ // Backward-compatible alias.
479
+ PASEO_ROOT_PATH: repoRootPath,
480
+ PASEO_WORKTREE_PATH: options.worktreePath,
481
+ PASEO_BRANCH_NAME: branchName,
482
+ ...(worktreePort !== null ? { PASEO_WORKTREE_PORT: String(worktreePort) } : {}),
483
+ });
484
+ const results = [];
485
+ for (const cmd of teardownCommands) {
486
+ const result = await execSetupCommand(cmd, {
487
+ cwd: options.worktreePath,
488
+ env: teardownEnv,
489
+ });
490
+ results.push(result);
491
+ if (result.exitCode !== 0) {
492
+ throw new WorktreeTeardownError(`Worktree teardown command failed: ${cmd}\n${result.stderr}`.trim(), results);
493
+ }
494
+ }
495
+ return results;
496
+ }
497
+ /**
498
+ * Get the git common directory (shared across worktrees) for a given cwd.
499
+ * This is where refs, objects, etc. are stored.
500
+ */
501
+ export async function getGitCommonDir(cwd) {
502
+ const { stdout } = await runGitCommand(["rev-parse", "--git-common-dir"], {
503
+ cwd,
504
+ envOverlay: READ_ONLY_GIT_ENV,
505
+ });
506
+ const commonDir = resolveGitRevParsePath(cwd, stdout);
507
+ if (!commonDir) {
508
+ throw new Error("Not in a git repository");
509
+ }
510
+ return commonDir;
511
+ }
512
+ const WORKTREE_PROJECT_HASH_LENGTH = 8;
513
+ function deriveShortAlphanumericHash(value) {
514
+ const digest = createHash("sha256").update(value).digest();
515
+ let hashValue = 0n;
516
+ for (let index = 0; index < 8; index += 1) {
517
+ hashValue = (hashValue << 8n) | BigInt(digest[index] ?? 0);
518
+ }
519
+ return hashValue.toString(36).padStart(13, "0").slice(0, WORKTREE_PROJECT_HASH_LENGTH);
520
+ }
521
+ export async function deriveWorktreeProjectHash(cwd) {
522
+ try {
523
+ const commonDir = await getGitCommonDir(cwd);
524
+ const normalizedCommonDir = normalizePathForOwnership(commonDir);
525
+ const repoRoot = basename(normalizedCommonDir) === ".git" ? dirname(normalizedCommonDir) : normalizedCommonDir;
526
+ return deriveShortAlphanumericHash(repoRoot);
527
+ }
528
+ catch {
529
+ return deriveShortAlphanumericHash(normalizePathForOwnership(cwd));
530
+ }
531
+ }
532
+ export async function getPaseoWorktreesRoot(cwd, paseoHome) {
533
+ const home = paseoHome ? resolve(paseoHome) : resolvePaseoHome();
534
+ const projectHash = await deriveWorktreeProjectHash(cwd);
535
+ return join(home, "worktrees", projectHash);
536
+ }
537
+ export async function computeWorktreePath(cwd, slug, paseoHome) {
538
+ const worktreesRoot = await getPaseoWorktreesRoot(cwd, paseoHome);
539
+ return join(worktreesRoot, slug);
540
+ }
541
+ function normalizePathForOwnership(input) {
542
+ try {
543
+ return realpathSync(input);
544
+ }
545
+ catch {
546
+ return resolve(input);
547
+ }
548
+ }
549
+ function resolveRepoRootFromGitCommonDir(commonDir) {
550
+ const normalizedCommonDir = normalizePathForOwnership(commonDir);
551
+ return basename(normalizedCommonDir) === ".git"
552
+ ? dirname(normalizedCommonDir)
553
+ : normalizedCommonDir;
554
+ }
555
+ export async function isPaseoOwnedWorktreeCwd(cwd, options) {
556
+ const resolvedCwd = normalizePathForOwnership(cwd);
557
+ // repoRoot is best-effort: git may be unreachable from the worktree (e.g. a
558
+ // previous archive attempt removed the admin dir before the working tree
559
+ // could be fully cleaned up). We still want to allow archiving in that case.
560
+ let repoRoot;
561
+ try {
562
+ const gitCommonDir = await getGitCommonDir(cwd);
563
+ repoRoot = resolveRepoRootFromGitCommonDir(gitCommonDir);
564
+ }
565
+ catch {
566
+ // ignore
567
+ }
568
+ const paseoHome = options?.paseoHome ? resolve(options.paseoHome) : resolvePaseoHome();
569
+ const paseoWorktreesPrefix = normalizePathForOwnership(join(paseoHome, "worktrees")) + sep;
570
+ // Ownership is defined by the path living under $PASEO_HOME/worktrees/<hash>/<slug>[/...].
571
+ // The <hash>/<slug> prefix is Paseo-private — nothing else writes there — so the
572
+ // path shape alone is sufficient proof of ownership, even when git has already
573
+ // forgotten about the worktree.
574
+ if (!resolvedCwd.startsWith(paseoWorktreesPrefix)) {
575
+ return {
576
+ allowed: false,
577
+ ...(repoRoot !== undefined ? { repoRoot } : {}),
578
+ worktreePath: resolvedCwd,
579
+ };
580
+ }
581
+ const relative = resolvedCwd.slice(paseoWorktreesPrefix.length);
582
+ const parts = relative.split(sep).filter((part) => part.length > 0);
583
+ if (parts.length < 2) {
584
+ return {
585
+ allowed: false,
586
+ ...(repoRoot !== undefined ? { repoRoot } : {}),
587
+ worktreePath: resolvedCwd,
588
+ };
589
+ }
590
+ const worktreesRoot = join(paseoHome, "worktrees", parts[0]);
591
+ return {
592
+ allowed: true,
593
+ ...(repoRoot !== undefined ? { repoRoot } : {}),
594
+ worktreeRoot: worktreesRoot,
595
+ worktreePath: resolvedCwd,
596
+ };
597
+ }
598
+ function parseWorktreeList(output) {
599
+ const entries = [];
600
+ let current = null;
601
+ for (const line of output.split("\n")) {
602
+ if (line.startsWith("worktree ")) {
603
+ if (current?.path) {
604
+ entries.push(current);
605
+ }
606
+ current = { path: line.slice("worktree ".length).trim() };
607
+ continue;
608
+ }
609
+ if (!current) {
610
+ continue;
611
+ }
612
+ if (line.startsWith("branch ")) {
613
+ const ref = line.slice("branch ".length).trim();
614
+ current.branchName = ref.startsWith("refs/heads/") ? ref.slice("refs/heads/".length) : ref;
615
+ }
616
+ else if (line.startsWith("HEAD ")) {
617
+ current.head = line.slice("HEAD ".length).trim();
618
+ }
619
+ else if (line.trim().length === 0) {
620
+ if (current.path) {
621
+ entries.push(current);
622
+ }
623
+ current = null;
624
+ }
625
+ }
626
+ if (current?.path) {
627
+ entries.push(current);
628
+ }
629
+ return entries;
630
+ }
631
+ function resolveWorktreeCreatedAtIso(worktreePath) {
632
+ try {
633
+ const stats = statSync(worktreePath);
634
+ const birthtimeMs = stats.birthtimeMs;
635
+ const createdAtMs = Number.isFinite(birthtimeMs) && birthtimeMs > 0 ? birthtimeMs : stats.ctimeMs;
636
+ return new Date(createdAtMs).toISOString();
637
+ }
638
+ catch {
639
+ return new Date(0).toISOString();
640
+ }
641
+ }
642
+ export async function listPaseoWorktrees({ cwd, paseoHome, }) {
643
+ const worktreesRoot = await getPaseoWorktreesRoot(cwd, paseoHome);
644
+ const { stdout } = await runGitCommand(["worktree", "list", "--porcelain"], {
645
+ cwd,
646
+ envOverlay: READ_ONLY_GIT_ENV,
647
+ });
648
+ const rootPrefix = normalizePathForOwnership(worktreesRoot) + sep;
649
+ return parseWorktreeList(stdout)
650
+ .map((entry) => Object.assign({}, entry, { path: normalizePathForOwnership(entry.path) }))
651
+ .filter((entry) => entry.path.startsWith(rootPrefix))
652
+ .map((entry) => Object.assign({}, entry, { createdAt: resolveWorktreeCreatedAtIso(entry.path) }));
653
+ }
654
+ export async function resolveExistingWorktreeForSlug({ slug, repoRoot, paseoHome, }) {
655
+ const worktrees = await listPaseoWorktrees({
656
+ cwd: repoRoot,
657
+ paseoHome,
658
+ });
659
+ const slugSuffix = `${sep}${slug}`;
660
+ const existingWorktree = worktrees.find((worktree) => worktree.path.endsWith(slugSuffix));
661
+ if (!existingWorktree) {
662
+ return null;
663
+ }
664
+ const { stdout } = await runGitCommand(["branch", "--show-current"], {
665
+ cwd: existingWorktree.path,
666
+ envOverlay: READ_ONLY_GIT_ENV,
667
+ });
668
+ const branchName = stdout.trim();
669
+ if (!branchName) {
670
+ throw new Error(`Unable to resolve branch for existing worktree: ${existingWorktree.path}`);
671
+ }
672
+ return {
673
+ branchName,
674
+ worktreePath: existingWorktree.path,
675
+ };
676
+ }
677
+ export async function resolvePaseoWorktreeRootForCwd(cwd, options) {
678
+ let gitCommonDir;
679
+ try {
680
+ gitCommonDir = await getGitCommonDir(cwd);
681
+ }
682
+ catch {
683
+ return null;
684
+ }
685
+ const worktreesRoot = await getPaseoWorktreesRoot(cwd, options?.paseoHome);
686
+ const resolvedRoot = normalizePathForOwnership(worktreesRoot) + sep;
687
+ let worktreeRoot = null;
688
+ try {
689
+ const { stdout } = await runGitCommand(["rev-parse", "--show-toplevel"], {
690
+ cwd,
691
+ envOverlay: READ_ONLY_GIT_ENV,
692
+ });
693
+ worktreeRoot = parseGitRevParsePath(stdout);
694
+ }
695
+ catch {
696
+ worktreeRoot = null;
697
+ }
698
+ if (!worktreeRoot) {
699
+ return null;
700
+ }
701
+ const resolvedWorktreeRoot = normalizePathForOwnership(worktreeRoot);
702
+ if (!resolvedWorktreeRoot.startsWith(resolvedRoot)) {
703
+ return null;
704
+ }
705
+ const knownWorktrees = await listPaseoWorktrees({
706
+ cwd,
707
+ paseoHome: options?.paseoHome,
708
+ });
709
+ const match = knownWorktrees.find((entry) => entry.path === resolvedWorktreeRoot);
710
+ if (!match) {
711
+ return null;
712
+ }
713
+ return {
714
+ repoRoot: gitCommonDir,
715
+ worktreeRoot: worktreesRoot,
716
+ worktreePath: match.path,
717
+ };
718
+ }
719
+ export async function deletePaseoWorktree({ cwd, worktreePath, worktreeSlug, worktreesRoot, paseoHome, }) {
720
+ if (!worktreePath && !worktreeSlug) {
721
+ throw new Error("worktreePath or worktreeSlug is required");
722
+ }
723
+ // Resolve the worktrees-root. With a repo cwd we hash it the normal way; if
724
+ // git has forgotten about the worktree we expect the caller to hand us the
725
+ // path-derived worktreesRoot from the ownership check.
726
+ let resolvedWorktreesRoot;
727
+ if (worktreesRoot) {
728
+ resolvedWorktreesRoot = worktreesRoot;
729
+ }
730
+ else if (cwd) {
731
+ resolvedWorktreesRoot = await getPaseoWorktreesRoot(cwd, paseoHome);
732
+ }
733
+ else {
734
+ throw new Error("cwd or worktreesRoot is required to delete a Paseo worktree");
735
+ }
736
+ const resolvedRoot = normalizePathForOwnership(resolvedWorktreesRoot) + sep;
737
+ const requestedPath = worktreePath ?? join(resolvedWorktreesRoot, worktreeSlug);
738
+ const resolvedRequested = normalizePathForOwnership(requestedPath);
739
+ const resolvedWorktree = (await resolvePaseoWorktreeRootForCwd(requestedPath, { paseoHome }))?.worktreePath ??
740
+ resolvedRequested;
741
+ if (!resolvedWorktree.startsWith(resolvedRoot)) {
742
+ throw new Error("Refusing to delete non-Paseo worktree");
743
+ }
744
+ if (await pathExists(resolvedWorktree)) {
745
+ await runWorktreeTeardownCommands({
746
+ worktreePath: resolvedWorktree,
747
+ });
748
+ }
749
+ if (cwd) {
750
+ try {
751
+ await runGitCommand(["worktree", "remove", resolvedWorktree, "--force"], {
752
+ cwd,
753
+ timeout: 120000,
754
+ });
755
+ }
756
+ catch {
757
+ // `git worktree remove` fails if the admin dir is already gone (e.g. a
758
+ // prior archive attempt removed it before the working tree could be
759
+ // fully cleaned up), or if the repo root has moved. Fall through to the
760
+ // rm retry loop below so the operation stays idempotent.
761
+ }
762
+ }
763
+ await removeDirectoryWithRetries(resolvedWorktree);
764
+ if (cwd) {
765
+ try {
766
+ await runGitCommand(["worktree", "prune"], { cwd, timeout: 30000 });
767
+ }
768
+ catch {
769
+ // not critical; git will prune lazily
770
+ }
771
+ }
772
+ }
773
+ async function pathExists(path) {
774
+ try {
775
+ await stat(path);
776
+ return true;
777
+ }
778
+ catch (error) {
779
+ if (error.code === "ENOENT") {
780
+ return false;
781
+ }
782
+ throw error;
783
+ }
784
+ }
785
+ async function removeDirectoryWithRetries(path) {
786
+ if (!(await pathExists(path))) {
787
+ return;
788
+ }
789
+ const delaysMs = [0, 100, 300, 700, 1500];
790
+ let lastError = null;
791
+ for (const delay of delaysMs) {
792
+ if (delay > 0) {
793
+ await new Promise((resolvePromise) => setTimeout(resolvePromise, delay));
794
+ }
795
+ try {
796
+ await rm(path, { recursive: true, force: true });
797
+ if (!(await pathExists(path))) {
798
+ return;
799
+ }
800
+ lastError = new Error(`Directory still present after rm: ${path}`);
801
+ }
802
+ catch (error) {
803
+ lastError = error;
804
+ }
805
+ }
806
+ if (await pathExists(path)) {
807
+ throw lastError instanceof Error
808
+ ? lastError
809
+ : new Error(`Failed to remove worktree directory: ${path}`);
810
+ }
811
+ }
812
+ /**
813
+ * Create a git worktree with proper naming conventions
814
+ */
815
+ export const createWorktree = async ({ cwd, source, worktreeSlug, runSetup, paseoHome, }) => {
816
+ const sourcePlan = await resolveWorktreeSourcePlan({ cwd, source, desiredSlug: worktreeSlug });
817
+ let worktreePath = join(await getPaseoWorktreesRoot(cwd, paseoHome), worktreeSlug);
818
+ mkdirSync(dirname(worktreePath), { recursive: true });
819
+ // Also handle worktree path collision
820
+ let finalWorktreePath = worktreePath;
821
+ let pathSuffix = 1;
822
+ while (existsSync(finalWorktreePath)) {
823
+ finalWorktreePath = `${worktreePath}-${pathSuffix}`;
824
+ pathSuffix++;
825
+ }
826
+ // Primitive owner for `git worktree add`; callers route through createWorktreeCore.
827
+ await runGitCommand(["worktree", "add", finalWorktreePath, ...sourcePlan.addArguments], {
828
+ cwd,
829
+ timeout: 120000,
830
+ });
831
+ worktreePath = normalizePathForOwnership(finalWorktreePath);
832
+ if (sourcePlan.pushRemote) {
833
+ await configureWorktreePushRemote({
834
+ cwd,
835
+ branchName: sourcePlan.branchName,
836
+ remote: sourcePlan.pushRemote,
837
+ });
838
+ }
839
+ writePaseoWorktreeMetadata(worktreePath, { baseRefName: sourcePlan.metadataBaseRefName });
840
+ // If paseo.json exists in the main repo but wasn't checked into the worktree
841
+ // (e.g. uncommitted on first-time setup), seed the worktree with it so setup
842
+ // commands and scripts pick up the user's intended config.
843
+ const mainConfigPath = join(cwd, "paseo.json");
844
+ const worktreeConfigPath = join(worktreePath, "paseo.json");
845
+ try {
846
+ await stat(worktreeConfigPath);
847
+ }
848
+ catch {
849
+ await copyFile(mainConfigPath, worktreeConfigPath).catch((err) => {
850
+ if (err.code !== "ENOENT")
851
+ throw err;
852
+ });
853
+ }
854
+ if (runSetup) {
855
+ await runWorktreeSetupCommands({
856
+ worktreePath,
857
+ branchName: sourcePlan.branchName,
858
+ cleanupOnFailure: true,
859
+ });
860
+ }
861
+ return {
862
+ branchName: sourcePlan.branchName,
863
+ worktreePath,
864
+ };
865
+ };
866
+ async function resolveWorktreeSourcePlan({ cwd, source, desiredSlug, }) {
867
+ switch (source.kind) {
868
+ case "branch-off": {
869
+ const branchName = source.branchName;
870
+ validateWorktreeBranchName(branchName);
871
+ const normalizedBaseBranch = normalizeRequiredBaseBranch(source.baseBranch);
872
+ const resolvedBaseBranch = await resolveBaseBranchForWorktree(cwd, normalizedBaseBranch);
873
+ const branchExists = await localBranchExists(cwd, branchName);
874
+ const base = branchExists ? branchName : resolvedBaseBranch;
875
+ const candidateBranch = branchExists ? desiredSlug : branchName;
876
+ const newBranchName = await resolveUniqueLocalBranchName(cwd, candidateBranch);
877
+ return {
878
+ branchName: newBranchName,
879
+ metadataBaseRefName: normalizedBaseBranch,
880
+ addArguments: ["-b", newBranchName, "--no-track", base],
881
+ };
882
+ }
883
+ case "checkout-branch": {
884
+ validateWorktreeBranchName(source.branchName);
885
+ if (!(await localBranchExists(cwd, source.branchName))) {
886
+ try {
887
+ await runGitCommand(["fetch", "origin", `${source.branchName}:${source.branchName}`], {
888
+ cwd,
889
+ timeout: 120000,
890
+ });
891
+ }
892
+ catch {
893
+ throw new UnknownBranchError({ branchName: source.branchName, cwd });
894
+ }
895
+ }
896
+ if (await isBranchCheckedOut(cwd, source.branchName)) {
897
+ throw new BranchAlreadyCheckedOutError(source.branchName);
898
+ }
899
+ return {
900
+ branchName: source.branchName,
901
+ metadataBaseRefName: source.branchName,
902
+ addArguments: [source.branchName],
903
+ };
904
+ }
905
+ case "checkout-github-pr": {
906
+ const localBranchCandidate = source.localBranchName ?? source.headRef;
907
+ validateWorktreeBranchName(localBranchCandidate);
908
+ const localBranchName = await resolveUniqueLocalBranchName(cwd, localBranchCandidate);
909
+ const normalizedBaseRefName = normalizeRequiredBaseBranch(source.baseRefName);
910
+ await runGitCommand([
911
+ "fetch",
912
+ "origin",
913
+ `refs/pull/${source.githubPrNumber}/head:refs/heads/${localBranchName}`,
914
+ "--force",
915
+ ], {
916
+ cwd,
917
+ timeout: 120000,
918
+ });
919
+ return {
920
+ branchName: localBranchName,
921
+ metadataBaseRefName: normalizedBaseRefName,
922
+ addArguments: [localBranchName],
923
+ ...(source.pushRemoteUrl
924
+ ? {
925
+ pushRemote: {
926
+ name: `paseo-pr-${source.githubPrNumber}`,
927
+ url: source.pushRemoteUrl,
928
+ headRef: source.headRef,
929
+ },
930
+ }
931
+ : {}),
932
+ };
933
+ }
934
+ }
935
+ }
936
+ async function configureWorktreePushRemote(options) {
937
+ await runGitCommand(["config", `remote.${options.remote.name}.url`, options.remote.url], {
938
+ cwd: options.cwd,
939
+ });
940
+ await runGitCommand(["config", `remote.${options.remote.name}.push`, `HEAD:refs/heads/${options.remote.headRef}`], { cwd: options.cwd });
941
+ await runGitCommand(["config", `branch.${options.branchName}.remote`, options.remote.name], {
942
+ cwd: options.cwd,
943
+ });
944
+ await runGitCommand(["config", `branch.${options.branchName}.merge`, `refs/heads/${options.remote.headRef}`], { cwd: options.cwd });
945
+ }
946
+ function validateWorktreeBranchName(branchName) {
947
+ const validation = validateBranchSlug(branchName);
948
+ if (!validation.valid) {
949
+ throw new Error(`Invalid branch name: ${validation.error}`);
950
+ }
951
+ }
952
+ function normalizeRequiredBaseBranch(baseBranch) {
953
+ const normalizedBaseBranch = normalizeBaseRefName(baseBranch);
954
+ if (!normalizedBaseBranch) {
955
+ throw new Error("Base branch is required when creating a Paseo worktree");
956
+ }
957
+ if (normalizedBaseBranch === "HEAD") {
958
+ throw new Error("Base branch cannot be HEAD when creating a Paseo worktree");
959
+ }
960
+ return normalizedBaseBranch;
961
+ }
962
+ async function resolveBaseBranchForWorktree(cwd, normalizedBaseBranch) {
963
+ try {
964
+ await runGitCommand(["rev-parse", "--verify", `origin/${normalizedBaseBranch}`], { cwd });
965
+ return `origin/${normalizedBaseBranch}`;
966
+ }
967
+ catch {
968
+ try {
969
+ await runGitCommand(["rev-parse", "--verify", normalizedBaseBranch], { cwd });
970
+ return normalizedBaseBranch;
971
+ }
972
+ catch {
973
+ throw new Error(`Base branch not found: ${normalizedBaseBranch}`);
974
+ }
975
+ }
976
+ }
977
+ async function localBranchExists(cwd, branchName) {
978
+ try {
979
+ await runGitCommand(["show-ref", "--verify", "--quiet", `refs/heads/${branchName}`], {
980
+ cwd,
981
+ });
982
+ return true;
983
+ }
984
+ catch {
985
+ return false;
986
+ }
987
+ }
988
+ async function resolveUniqueLocalBranchName(cwd, candidateBranch) {
989
+ let newBranchName = candidateBranch;
990
+ let suffix = 1;
991
+ while (await localBranchExists(cwd, newBranchName)) {
992
+ newBranchName = `${candidateBranch}-${suffix}`;
993
+ suffix++;
994
+ }
995
+ return newBranchName;
996
+ }
997
+ async function isBranchCheckedOut(cwd, branchName) {
998
+ const { stdout } = await runGitCommand(["worktree", "list", "--porcelain"], {
999
+ cwd,
1000
+ envOverlay: READ_ONLY_GIT_ENV,
1001
+ });
1002
+ return parseWorktreeList(stdout).some((entry) => entry.branchName === branchName);
1003
+ }
1004
+ //# sourceMappingURL=worktree.js.map