@getpaseo/server 0.1.58 → 0.1.60

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 (276) hide show
  1. package/dist/scripts/dev-runner.js +26 -7
  2. package/dist/scripts/dev-runner.js.map +1 -1
  3. package/dist/server/client/daemon-client-runtime-metrics.d.ts +39 -0
  4. package/dist/server/client/daemon-client-runtime-metrics.d.ts.map +1 -0
  5. package/dist/server/client/daemon-client-runtime-metrics.js +173 -0
  6. package/dist/server/client/daemon-client-runtime-metrics.js.map +1 -0
  7. package/dist/server/client/daemon-client.d.ts +58 -9
  8. package/dist/server/client/daemon-client.d.ts.map +1 -1
  9. package/dist/server/client/daemon-client.js +151 -10
  10. package/dist/server/client/daemon-client.js.map +1 -1
  11. package/dist/server/server/agent/agent-manager.d.ts +55 -48
  12. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  13. package/dist/server/server/agent/agent-manager.js +541 -331
  14. package/dist/server/server/agent/agent-manager.js.map +1 -1
  15. package/dist/server/server/agent/agent-metadata-generator.d.ts +3 -2
  16. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
  17. package/dist/server/server/agent/agent-metadata-generator.js +31 -16
  18. package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
  19. package/dist/server/server/agent/agent-projections.d.ts +2 -1
  20. package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
  21. package/dist/server/server/agent/agent-projections.js +29 -1
  22. package/dist/server/server/agent/agent-projections.js.map +1 -1
  23. package/dist/server/server/agent/agent-sdk-types.d.ts +9 -5
  24. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  25. package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
  26. package/dist/server/server/agent/agent-storage.d.ts +76 -69
  27. package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
  28. package/dist/server/server/agent/agent-storage.js +13 -6
  29. package/dist/server/server/agent/agent-storage.js.map +1 -1
  30. package/dist/server/server/agent/agent-stream-coalescer.d.ts +41 -0
  31. package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +1 -0
  32. package/dist/server/server/agent/agent-stream-coalescer.js +166 -0
  33. package/dist/server/server/agent/agent-stream-coalescer.js.map +1 -0
  34. package/dist/server/server/agent/agent-timeline-store-types.d.ts +54 -0
  35. package/dist/server/server/agent/agent-timeline-store-types.d.ts.map +1 -0
  36. package/dist/server/server/agent/agent-timeline-store-types.js +2 -0
  37. package/dist/server/server/agent/agent-timeline-store-types.js.map +1 -0
  38. package/dist/server/server/agent/agent-timeline-store.d.ts +32 -0
  39. package/dist/server/server/agent/agent-timeline-store.d.ts.map +1 -0
  40. package/dist/server/server/agent/agent-timeline-store.js +245 -0
  41. package/dist/server/server/agent/agent-timeline-store.js.map +1 -0
  42. package/dist/server/server/agent/mcp-server.d.ts +12 -1
  43. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  44. package/dist/server/server/agent/mcp-server.js +276 -65
  45. package/dist/server/server/agent/mcp-server.js.map +1 -1
  46. package/dist/server/server/agent/mcp-shared.d.ts +196 -152
  47. package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
  48. package/dist/server/server/agent/mcp-shared.js +40 -42
  49. package/dist/server/server/agent/mcp-shared.js.map +1 -1
  50. package/dist/server/server/agent/model-resolver.d.ts.map +1 -1
  51. package/dist/server/server/agent/model-resolver.js +3 -1
  52. package/dist/server/server/agent/model-resolver.js.map +1 -1
  53. package/dist/server/server/agent/prompt-attachments.d.ts +6 -0
  54. package/dist/server/server/agent/prompt-attachments.d.ts.map +1 -0
  55. package/dist/server/server/agent/prompt-attachments.js +31 -0
  56. package/dist/server/server/agent/prompt-attachments.js.map +1 -0
  57. package/dist/server/server/agent/provider-launch-config.d.ts +12 -10
  58. package/dist/server/server/agent/provider-launch-config.d.ts.map +1 -1
  59. package/dist/server/server/agent/provider-launch-config.js +34 -0
  60. package/dist/server/server/agent/provider-launch-config.js.map +1 -1
  61. package/dist/server/server/agent/provider-manifest.d.ts +1 -0
  62. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
  63. package/dist/server/server/agent/provider-manifest.js +22 -1
  64. package/dist/server/server/agent/provider-manifest.js.map +1 -1
  65. package/dist/server/server/agent/provider-registry.d.ts +5 -2
  66. package/dist/server/server/agent/provider-registry.d.ts.map +1 -1
  67. package/dist/server/server/agent/provider-registry.js +20 -9
  68. package/dist/server/server/agent/provider-registry.js.map +1 -1
  69. package/dist/server/server/agent/provider-snapshot-manager.d.ts +17 -5
  70. package/dist/server/server/agent/provider-snapshot-manager.d.ts.map +1 -1
  71. package/dist/server/server/agent/provider-snapshot-manager.js +150 -61
  72. package/dist/server/server/agent/provider-snapshot-manager.js.map +1 -1
  73. package/dist/server/server/agent/providers/acp-agent.d.ts +8 -4
  74. package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
  75. package/dist/server/server/agent/providers/acp-agent.js +73 -8
  76. package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
  77. package/dist/server/server/agent/providers/claude/claude-models.d.ts.map +1 -1
  78. package/dist/server/server/agent/providers/claude/claude-models.js +21 -0
  79. package/dist/server/server/agent/providers/claude/claude-models.js.map +1 -1
  80. package/dist/server/server/agent/providers/claude/task-notification-tool-call.d.ts +2 -2
  81. package/dist/server/server/agent/providers/claude-agent.d.ts +1 -1
  82. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  83. package/dist/server/server/agent/providers/claude-agent.js +15 -8
  84. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  85. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +37 -4
  86. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  87. package/dist/server/server/agent/providers/codex-app-server-agent.js +61 -31
  88. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  89. package/dist/server/server/agent/providers/copilot-acp-agent.d.ts.map +1 -1
  90. package/dist/server/server/agent/providers/copilot-acp-agent.js +3 -2
  91. package/dist/server/server/agent/providers/copilot-acp-agent.js.map +1 -1
  92. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +64 -0
  93. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +1 -0
  94. package/dist/server/server/agent/providers/mock-load-test-agent.js +585 -0
  95. package/dist/server/server/agent/providers/mock-load-test-agent.js.map +1 -0
  96. package/dist/server/server/agent/providers/opencode-agent.d.ts +19 -4
  97. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  98. package/dist/server/server/agent/providers/opencode-agent.js +227 -118
  99. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  100. package/dist/server/server/agent/providers/pi-direct-agent.d.ts +69 -0
  101. package/dist/server/server/agent/providers/pi-direct-agent.d.ts.map +1 -0
  102. package/dist/server/server/agent/providers/pi-direct-agent.js +1177 -0
  103. package/dist/server/server/agent/providers/pi-direct-agent.js.map +1 -0
  104. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +7 -4
  105. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
  106. package/dist/server/server/agent-attention-policy.d.ts +13 -13
  107. package/dist/server/server/agent-attention-policy.d.ts.map +1 -1
  108. package/dist/server/server/agent-attention-policy.js +20 -36
  109. package/dist/server/server/agent-attention-policy.js.map +1 -1
  110. package/dist/server/server/bootstrap.d.ts +6 -0
  111. package/dist/server/server/bootstrap.d.ts.map +1 -1
  112. package/dist/server/server/bootstrap.js +113 -11
  113. package/dist/server/server/bootstrap.js.map +1 -1
  114. package/dist/server/server/chat/chat-rpc-schemas.d.ts +44 -44
  115. package/dist/server/server/chat/chat-types.d.ts +6 -6
  116. package/dist/server/server/checkout-diff-manager.d.ts +0 -1
  117. package/dist/server/server/checkout-diff-manager.d.ts.map +1 -1
  118. package/dist/server/server/checkout-diff-manager.js +6 -4
  119. package/dist/server/server/checkout-diff-manager.js.map +1 -1
  120. package/dist/server/server/config.d.ts.map +1 -1
  121. package/dist/server/server/config.js +1 -0
  122. package/dist/server/server/config.js.map +1 -1
  123. package/dist/server/server/file-explorer/service.d.ts.map +1 -1
  124. package/dist/server/server/file-explorer/service.js +2 -1
  125. package/dist/server/server/file-explorer/service.js.map +1 -1
  126. package/dist/server/server/loop/rpc-schemas.d.ts +392 -392
  127. package/dist/server/server/loop-service.d.ts +52 -52
  128. package/dist/server/server/paseo-worktree-archive-service.d.ts +41 -0
  129. package/dist/server/server/paseo-worktree-archive-service.d.ts.map +1 -0
  130. package/dist/server/server/paseo-worktree-archive-service.js +137 -0
  131. package/dist/server/server/paseo-worktree-archive-service.js.map +1 -0
  132. package/dist/server/server/paseo-worktree-service.d.ts +24 -0
  133. package/dist/server/server/paseo-worktree-service.d.ts.map +1 -0
  134. package/dist/server/server/paseo-worktree-service.js +94 -0
  135. package/dist/server/server/paseo-worktree-service.js.map +1 -0
  136. package/dist/server/server/path-utils.d.ts +1 -0
  137. package/dist/server/server/path-utils.d.ts.map +1 -1
  138. package/dist/server/server/path-utils.js +9 -0
  139. package/dist/server/server/path-utils.js.map +1 -1
  140. package/dist/server/server/persisted-config.d.ts +73 -73
  141. package/dist/server/server/persistence-hooks.d.ts.map +1 -1
  142. package/dist/server/server/persistence-hooks.js +3 -0
  143. package/dist/server/server/persistence-hooks.js.map +1 -1
  144. package/dist/server/server/resolve-worktree-creation-intent.d.ts +30 -0
  145. package/dist/server/server/resolve-worktree-creation-intent.d.ts.map +1 -0
  146. package/dist/server/server/resolve-worktree-creation-intent.js +163 -0
  147. package/dist/server/server/resolve-worktree-creation-intent.js.map +1 -0
  148. package/dist/server/server/schedule/rpc-schemas.d.ts +192 -192
  149. package/dist/server/server/schedule/service.d.ts +1 -1
  150. package/dist/server/server/schedule/service.d.ts.map +1 -1
  151. package/dist/server/server/schedule/types.d.ts +44 -44
  152. package/dist/server/server/script-health-monitor.d.ts +39 -0
  153. package/dist/server/server/script-health-monitor.d.ts.map +1 -0
  154. package/dist/server/server/script-health-monitor.js +158 -0
  155. package/dist/server/server/script-health-monitor.js.map +1 -0
  156. package/dist/server/server/script-proxy.d.ts +40 -0
  157. package/dist/server/server/script-proxy.d.ts.map +1 -0
  158. package/dist/server/server/script-proxy.js +245 -0
  159. package/dist/server/server/script-proxy.js.map +1 -0
  160. package/dist/server/server/script-route-branch-handler.d.ts +10 -0
  161. package/dist/server/server/script-route-branch-handler.d.ts.map +1 -0
  162. package/dist/server/server/script-route-branch-handler.js +45 -0
  163. package/dist/server/server/script-route-branch-handler.js.map +1 -0
  164. package/dist/server/server/script-status-projection.d.ts +29 -0
  165. package/dist/server/server/script-status-projection.d.ts.map +1 -0
  166. package/dist/server/server/script-status-projection.js +133 -0
  167. package/dist/server/server/script-status-projection.js.map +1 -0
  168. package/dist/server/server/session.d.ts +77 -13
  169. package/dist/server/server/session.d.ts.map +1 -1
  170. package/dist/server/server/session.js +1290 -548
  171. package/dist/server/server/session.js.map +1 -1
  172. package/dist/server/server/websocket-server.d.ts +27 -3
  173. package/dist/server/server/websocket-server.d.ts.map +1 -1
  174. package/dist/server/server/websocket-server.js +112 -29
  175. package/dist/server/server/websocket-server.js.map +1 -1
  176. package/dist/server/server/workspace-archive-service.d.ts +8 -0
  177. package/dist/server/server/workspace-archive-service.d.ts.map +1 -0
  178. package/dist/server/server/workspace-archive-service.js +17 -0
  179. package/dist/server/server/workspace-archive-service.js.map +1 -0
  180. package/dist/server/server/workspace-git-metadata.d.ts +24 -0
  181. package/dist/server/server/workspace-git-metadata.d.ts.map +1 -0
  182. package/dist/server/server/workspace-git-metadata.js +78 -0
  183. package/dist/server/server/workspace-git-metadata.js.map +1 -0
  184. package/dist/server/server/workspace-git-service.d.ts +104 -5
  185. package/dist/server/server/workspace-git-service.d.ts.map +1 -1
  186. package/dist/server/server/workspace-git-service.js +442 -56
  187. package/dist/server/server/workspace-git-service.js.map +1 -1
  188. package/dist/server/server/workspace-reconciliation-service.d.ts +54 -0
  189. package/dist/server/server/workspace-reconciliation-service.d.ts.map +1 -0
  190. package/dist/server/server/workspace-reconciliation-service.js +176 -0
  191. package/dist/server/server/workspace-reconciliation-service.js.map +1 -0
  192. package/dist/server/server/workspace-registry-bootstrap.d.ts.map +1 -1
  193. package/dist/server/server/workspace-registry-bootstrap.js +4 -3
  194. package/dist/server/server/workspace-registry-bootstrap.js.map +1 -1
  195. package/dist/server/server/workspace-registry.d.ts +8 -8
  196. package/dist/server/server/workspace-registry.test-helpers.d.ts +37 -0
  197. package/dist/server/server/workspace-registry.test-helpers.d.ts.map +1 -0
  198. package/dist/server/server/workspace-registry.test-helpers.js +121 -0
  199. package/dist/server/server/workspace-registry.test-helpers.js.map +1 -0
  200. package/dist/server/server/workspace-script-runtime-store.d.ts +28 -0
  201. package/dist/server/server/workspace-script-runtime-store.d.ts.map +1 -0
  202. package/dist/server/server/workspace-script-runtime-store.js +78 -0
  203. package/dist/server/server/workspace-script-runtime-store.js.map +1 -0
  204. package/dist/server/server/workspace-service-env.d.ts +17 -0
  205. package/dist/server/server/workspace-service-env.d.ts.map +1 -0
  206. package/dist/server/server/workspace-service-env.js +80 -0
  207. package/dist/server/server/workspace-service-env.js.map +1 -0
  208. package/dist/server/server/workspace-service-port-registry.d.ts +19 -0
  209. package/dist/server/server/workspace-service-port-registry.d.ts.map +1 -0
  210. package/dist/server/server/workspace-service-port-registry.js +59 -0
  211. package/dist/server/server/workspace-service-port-registry.js.map +1 -0
  212. package/dist/server/server/worktree-bootstrap.d.ts +55 -10
  213. package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
  214. package/dist/server/server/worktree-bootstrap.js +290 -112
  215. package/dist/server/server/worktree-bootstrap.js.map +1 -1
  216. package/dist/server/server/worktree-core.d.ts +25 -0
  217. package/dist/server/server/worktree-core.d.ts.map +1 -0
  218. package/dist/server/server/worktree-core.js +75 -0
  219. package/dist/server/server/worktree-core.js.map +1 -0
  220. package/dist/server/server/worktree-errors.d.ts +12 -0
  221. package/dist/server/server/worktree-errors.d.ts.map +1 -0
  222. package/dist/server/server/worktree-errors.js +31 -0
  223. package/dist/server/server/worktree-errors.js.map +1 -0
  224. package/dist/server/server/worktree-session.d.ts +56 -70
  225. package/dist/server/server/worktree-session.d.ts.map +1 -1
  226. package/dist/server/server/worktree-session.js +176 -251
  227. package/dist/server/server/worktree-session.js.map +1 -1
  228. package/dist/server/services/github-service.d.ts +225 -0
  229. package/dist/server/services/github-service.d.ts.map +1 -0
  230. package/dist/server/services/github-service.js +1381 -0
  231. package/dist/server/services/github-service.js.map +1 -0
  232. package/dist/server/shared/messages.d.ts +29408 -12268
  233. package/dist/server/shared/messages.d.ts.map +1 -1
  234. package/dist/server/shared/messages.js +391 -65
  235. package/dist/server/shared/messages.js.map +1 -1
  236. package/dist/server/terminal/shell-integration/zsh/.zshenv +17 -0
  237. package/dist/server/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
  238. package/dist/server/terminal/terminal-manager.d.ts +9 -0
  239. package/dist/server/terminal/terminal-manager.d.ts.map +1 -1
  240. package/dist/server/terminal/terminal-manager.js +27 -0
  241. package/dist/server/terminal/terminal-manager.js.map +1 -1
  242. package/dist/server/terminal/terminal-output-coalescer.d.ts +30 -0
  243. package/dist/server/terminal/terminal-output-coalescer.d.ts.map +1 -0
  244. package/dist/server/terminal/terminal-output-coalescer.js +55 -0
  245. package/dist/server/terminal/terminal-output-coalescer.js.map +1 -0
  246. package/dist/server/terminal/terminal.d.ts +32 -1
  247. package/dist/server/terminal/terminal.d.ts.map +1 -1
  248. package/dist/server/terminal/terminal.js +397 -17
  249. package/dist/server/terminal/terminal.js.map +1 -1
  250. package/dist/server/utils/checkout-git.d.ts +63 -10
  251. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  252. package/dist/server/utils/checkout-git.js +321 -229
  253. package/dist/server/utils/checkout-git.js.map +1 -1
  254. package/dist/server/utils/promise-timeout.d.ts +9 -0
  255. package/dist/server/utils/promise-timeout.d.ts.map +1 -0
  256. package/dist/server/utils/promise-timeout.js +25 -0
  257. package/dist/server/utils/promise-timeout.js.map +1 -0
  258. package/dist/server/utils/script-hostname.d.ts +8 -0
  259. package/dist/server/utils/script-hostname.d.ts.map +1 -0
  260. package/dist/server/utils/script-hostname.js +14 -0
  261. package/dist/server/utils/script-hostname.js.map +1 -0
  262. package/dist/server/utils/string-command-shell.d.ts +10 -0
  263. package/dist/server/utils/string-command-shell.d.ts.map +1 -0
  264. package/dist/server/utils/string-command-shell.js +21 -0
  265. package/dist/server/utils/string-command-shell.js.map +1 -0
  266. package/dist/server/utils/worktree.d.ts +54 -7
  267. package/dist/server/utils/worktree.d.ts.map +1 -1
  268. package/dist/server/utils/worktree.js +434 -129
  269. package/dist/server/utils/worktree.js.map +1 -1
  270. package/dist/src/terminal/shell-integration/zsh/.zshenv +17 -0
  271. package/dist/src/terminal/shell-integration/zsh/paseo-integration.zsh +32 -0
  272. package/package.json +11 -14
  273. package/dist/server/server/agent/providers/pi-acp-agent.d.ts +0 -28
  274. package/dist/server/server/agent/providers/pi-acp-agent.d.ts.map +0 -1
  275. package/dist/server/server/agent/providers/pi-acp-agent.js +0 -302
  276. package/dist/server/server/agent/providers/pi-acp-agent.js.map +0 -1
@@ -1,15 +1,15 @@
1
- import { v4 as uuidv4 } from "uuid";
2
- import { normalizeWorkspaceId as normalizePersistedWorkspaceId } from "./workspace-registry-model.js";
3
- import { createAgentWorktree } from "./worktree-bootstrap.js";
4
- import { getCurrentBranch, resolveRepositoryDefaultBranch } from "../utils/checkout-git.js";
1
+ import { basename } from "node:path";
2
+ import { applyWorktreeSetupProgressEvent, buildWorktreeSetupDetail, createWorktreeSetupProgressAccumulator, getWorktreeSetupProgressResults, } from "./worktree-bootstrap.js";
5
3
  import { expandTilde } from "../utils/path.js";
6
- import { computeWorktreePath, deletePaseoWorktree, getWorktreeSetupCommands, isPaseoOwnedWorktreeCwd, listPaseoWorktrees, resolvePaseoWorktreeRootForCwd, resolveWorktreeRuntimeEnv, slugify, validateBranchSlug, } from "../utils/worktree.js";
4
+ import { getWorktreeSetupCommands, isPaseoOwnedWorktreeCwd, resolveWorktreeRuntimeEnv, runWorktreeSetupCommands, slugify, validateBranchSlug, WorktreeSetupError, } from "../utils/worktree.js";
7
5
  import { toCheckoutError } from "./checkout-git-utils.js";
6
+ import { archivePaseoWorktree, } from "./paseo-worktree-archive-service.js";
7
+ import { toWorktreeWireError } from "./worktree-errors.js";
8
8
  const SAFE_GIT_REF_PATTERN = /^[A-Za-z0-9._\/-]+$/;
9
- export async function buildAgentSessionConfig(dependencies, config, gitOptions, legacyWorktreeName, _labels) {
9
+ export async function buildAgentSessionConfig(dependencies, config, gitOptions, legacyWorktreeName, attachments) {
10
10
  let cwd = expandTilde(config.cwd);
11
11
  const normalized = normalizeGitOptions(gitOptions, legacyWorktreeName);
12
- let worktreeConfig;
12
+ let worktreeBootstrap;
13
13
  if (!normalized) {
14
14
  return {
15
15
  sessionConfig: {
@@ -19,47 +19,47 @@ export async function buildAgentSessionConfig(dependencies, config, gitOptions,
19
19
  };
20
20
  }
21
21
  if (normalized.createWorktree) {
22
- let targetBranch;
23
- if (normalized.createNewBranch) {
24
- targetBranch = normalized.newBranchName;
25
- }
26
- else {
27
- targetBranch = (await getCurrentBranch(cwd)) ?? "";
28
- }
29
- if (!targetBranch) {
30
- throw new Error("A branch name is required when creating a worktree.");
31
- }
32
- dependencies.sessionLogger.info({ worktreeSlug: normalized.worktreeSlug ?? targetBranch, branch: targetBranch }, `Creating worktree '${normalized.worktreeSlug ?? targetBranch}' for branch ${targetBranch}`);
33
- const baseBranch = normalized.baseBranch ??
34
- (await resolveGitCreateBaseBranch(cwd, dependencies.workspaceGitService));
35
- const createdWorktree = await createAgentWorktree({
36
- branchName: targetBranch,
22
+ dependencies.sessionLogger.info({ worktreeSlug: normalized.requestedWorktreeSlug }, "Creating worktree through createWorktreeCore");
23
+ const createdWorktree = await dependencies.createPaseoWorktree({
37
24
  cwd,
38
- baseBranch,
39
- worktreeSlug: normalized.worktreeSlug ?? targetBranch,
25
+ worktreeSlug: normalized.worktreeSlug,
26
+ refName: normalized.refName,
27
+ action: normalized.action,
28
+ githubPrNumber: normalized.githubPrNumber,
29
+ attachments,
30
+ runSetup: false,
40
31
  paseoHome: dependencies.paseoHome,
32
+ }, {
33
+ resolveDefaultBranch: normalized.baseBranch
34
+ ? async () => normalized.baseBranch
35
+ : (repoRoot) => resolveGitCreateBaseBranch(repoRoot, dependencies.workspaceGitService, dependencies.paseoHome),
41
36
  });
42
- cwd = createdWorktree.worktreePath;
43
- worktreeConfig = createdWorktree;
37
+ cwd = createdWorktree.worktree.worktreePath;
38
+ worktreeBootstrap = {
39
+ worktree: createdWorktree.worktree,
40
+ shouldBootstrap: createdWorktree.created,
41
+ };
44
42
  }
45
43
  else if (normalized.createNewBranch) {
46
44
  const baseBranch = normalized.baseBranch ??
47
- (await resolveGitCreateBaseBranch(cwd, dependencies.workspaceGitService));
45
+ (await resolveGitCreateBaseBranch(cwd, dependencies.workspaceGitService, dependencies.paseoHome));
48
46
  await dependencies.createBranchFromBase({
49
47
  cwd,
50
48
  baseBranch,
51
49
  newBranchName: normalized.newBranchName,
52
50
  });
51
+ dependencies.github?.invalidate({ cwd });
53
52
  }
54
53
  else if (normalized.baseBranch) {
55
54
  await dependencies.checkoutExistingBranch(cwd, normalized.baseBranch);
55
+ dependencies.github?.invalidate({ cwd });
56
56
  }
57
57
  return {
58
58
  sessionConfig: {
59
59
  ...config,
60
60
  cwd,
61
61
  },
62
- worktreeConfig,
62
+ worktreeBootstrap,
63
63
  };
64
64
  }
65
65
  export function normalizeGitOptions(gitOptions, legacyWorktreeName) {
@@ -79,10 +79,17 @@ export function normalizeGitOptions(gitOptions, legacyWorktreeName) {
79
79
  const createWorktree = Boolean(merged.createWorktree);
80
80
  const createNewBranch = Boolean(merged.createNewBranch);
81
81
  const normalizedBranchName = merged.newBranchName ? slugify(merged.newBranchName) : undefined;
82
- const normalizedWorktreeSlug = merged.worktreeSlug
83
- ? slugify(merged.worktreeSlug)
84
- : normalizedBranchName;
85
- if (!createWorktree && !createNewBranch && !baseBranch) {
82
+ const requestedWorktreeSlug = merged.worktreeSlug ? slugify(merged.worktreeSlug) : undefined;
83
+ const normalizedWorktreeSlug = requestedWorktreeSlug ?? normalizedBranchName;
84
+ const refName = merged.refName?.trim() || undefined;
85
+ const action = merged.action;
86
+ const githubPrNumber = merged.githubPrNumber;
87
+ if (!createWorktree &&
88
+ !createNewBranch &&
89
+ !baseBranch &&
90
+ !refName &&
91
+ !action &&
92
+ !githubPrNumber) {
86
93
  return null;
87
94
  }
88
95
  if (baseBranch) {
@@ -109,6 +116,10 @@ export function normalizeGitOptions(gitOptions, legacyWorktreeName) {
109
116
  newBranchName: normalizedBranchName,
110
117
  createWorktree,
111
118
  worktreeSlug: normalizedWorktreeSlug,
119
+ requestedWorktreeSlug,
120
+ refName,
121
+ action,
122
+ githubPrNumber,
112
123
  };
113
124
  }
114
125
  export function assertSafeGitRef(ref, label) {
@@ -116,19 +127,11 @@ export function assertSafeGitRef(ref, label) {
116
127
  throw new Error(`Invalid ${label}: ${ref}`);
117
128
  }
118
129
  }
119
- export async function resolveGitCreateBaseBranch(cwd, workspaceGitService) {
120
- const snapshot = await workspaceGitService.getSnapshot(cwd);
121
- if (!snapshot.git.isGit) {
122
- throw new Error("Cannot create a worktree outside a git repository");
130
+ export async function resolveGitCreateBaseBranch(cwd, workspaceGitService, _paseoHome) {
131
+ if (!workspaceGitService) {
132
+ throw new Error("WorkspaceGitService is required to resolve the repository root");
123
133
  }
124
- const repoRoot = snapshot.git.isPaseoOwnedWorktree
125
- ? (snapshot.git.mainRepoRoot ?? snapshot.git.repoRoot ?? cwd)
126
- : (snapshot.git.repoRoot ?? cwd);
127
- const baseBranch = await resolveRepositoryDefaultBranch(repoRoot);
128
- if (!baseBranch) {
129
- throw new Error("Unable to resolve repository default branch");
130
- }
131
- return baseBranch;
134
+ return workspaceGitService.resolveDefaultBranch(cwd);
132
135
  }
133
136
  export async function handlePaseoWorktreeListRequest(dependencies, msg) {
134
137
  const { requestId } = msg;
@@ -145,7 +148,7 @@ export async function handlePaseoWorktreeListRequest(dependencies, msg) {
145
148
  return;
146
149
  }
147
150
  try {
148
- const worktrees = await listPaseoWorktrees({ cwd, paseoHome: dependencies.paseoHome });
151
+ const worktrees = await dependencies.workspaceGitService.listWorktrees(cwd);
149
152
  dependencies.emit({
150
153
  type: "paseo_worktree_list_response",
151
154
  payload: {
@@ -171,74 +174,6 @@ export async function handlePaseoWorktreeListRequest(dependencies, msg) {
171
174
  });
172
175
  }
173
176
  }
174
- export async function archivePaseoWorktree(dependencies, options) {
175
- let targetPath = options.targetPath;
176
- const resolvedWorktree = await resolvePaseoWorktreeRootForCwd(targetPath, {
177
- paseoHome: dependencies.paseoHome,
178
- });
179
- if (resolvedWorktree) {
180
- targetPath = resolvedWorktree.worktreePath;
181
- }
182
- const removedAgents = new Set();
183
- const affectedWorkspaceCwds = new Set([targetPath]);
184
- const affectedWorkspaceIds = new Set([normalizePersistedWorkspaceId(targetPath)]);
185
- const agents = dependencies.agentManager.listAgents();
186
- for (const agent of agents) {
187
- if (!dependencies.isPathWithinRoot(targetPath, agent.cwd)) {
188
- continue;
189
- }
190
- removedAgents.add(agent.id);
191
- affectedWorkspaceCwds.add(agent.cwd);
192
- affectedWorkspaceIds.add(normalizePersistedWorkspaceId(agent.cwd));
193
- try {
194
- await dependencies.agentManager.closeAgent(agent.id);
195
- }
196
- catch {
197
- // ignore cleanup errors
198
- }
199
- try {
200
- await dependencies.agentStorage.remove(agent.id);
201
- }
202
- catch {
203
- // ignore cleanup errors
204
- }
205
- }
206
- const registryRecords = await dependencies.agentStorage.list();
207
- for (const record of registryRecords) {
208
- if (!dependencies.isPathWithinRoot(targetPath, record.cwd)) {
209
- continue;
210
- }
211
- removedAgents.add(record.id);
212
- affectedWorkspaceCwds.add(record.cwd);
213
- affectedWorkspaceIds.add(normalizePersistedWorkspaceId(record.cwd));
214
- try {
215
- await dependencies.agentStorage.remove(record.id);
216
- }
217
- catch {
218
- // ignore cleanup errors
219
- }
220
- }
221
- await dependencies.killTerminalsUnderPath(targetPath);
222
- await deletePaseoWorktree({
223
- cwd: options.repoRoot,
224
- worktreePath: targetPath,
225
- paseoHome: dependencies.paseoHome,
226
- });
227
- for (const workspaceId of affectedWorkspaceIds) {
228
- await dependencies.archiveWorkspaceRecord(workspaceId);
229
- }
230
- for (const agentId of removedAgents) {
231
- dependencies.emit({
232
- type: "agent_deleted",
233
- payload: {
234
- agentId,
235
- requestId: options.requestId,
236
- },
237
- });
238
- }
239
- await dependencies.emitWorkspaceUpdatesForCwds(affectedWorkspaceCwds);
240
- return Array.from(removedAgents);
241
- }
242
177
  export async function handlePaseoWorktreeArchiveRequest(dependencies, msg) {
243
178
  const { requestId } = msg;
244
179
  let targetPath = msg.worktreePath;
@@ -248,16 +183,16 @@ export async function handlePaseoWorktreeArchiveRequest(dependencies, msg) {
248
183
  if (!repoRoot || !msg.branchName) {
249
184
  throw new Error("worktreePath or repoRoot+branchName is required");
250
185
  }
251
- const worktrees = await listPaseoWorktrees({
252
- cwd: repoRoot,
253
- paseoHome: dependencies.paseoHome,
254
- });
186
+ const worktrees = await dependencies.workspaceGitService.listWorktrees(repoRoot);
255
187
  const match = worktrees.find((entry) => entry.branchName === msg.branchName);
256
188
  if (!match) {
257
189
  throw new Error(`Paseo worktree not found for branch ${msg.branchName}`);
258
190
  }
259
191
  targetPath = match.path;
260
192
  }
193
+ if (!targetPath) {
194
+ throw new Error("worktreePath could not be resolved");
195
+ }
261
196
  const ownership = await isPaseoOwnedWorktreeCwd(targetPath, {
262
197
  paseoHome: dependencies.paseoHome,
263
198
  });
@@ -276,13 +211,14 @@ export async function handlePaseoWorktreeArchiveRequest(dependencies, msg) {
276
211
  });
277
212
  return;
278
213
  }
214
+ // repoRoot is best-effort: if git has forgotten about the worktree we
215
+ // still proceed using the path-derived worktreesRoot, since the ownership
216
+ // check already proved the path lives under $PASEO_HOME/worktrees.
279
217
  repoRoot = ownership.repoRoot ?? repoRoot ?? null;
280
- if (!repoRoot) {
281
- throw new Error("Unable to resolve repo root for worktree");
282
- }
283
218
  const removedAgents = await archivePaseoWorktree(dependencies, {
284
219
  targetPath,
285
220
  repoRoot,
221
+ worktreesRoot: ownership.worktreeRoot,
286
222
  requestId,
287
223
  });
288
224
  dependencies.emit({
@@ -307,78 +243,21 @@ export async function handlePaseoWorktreeArchiveRequest(dependencies, msg) {
307
243
  });
308
244
  }
309
245
  }
310
- export async function registerPendingWorktreeWorkspace(dependencies, options) {
311
- const workspaceId = normalizePersistedWorkspaceId(options.worktreePath);
312
- const basePlacement = await dependencies.buildProjectPlacement(options.repoRoot);
313
- const placement = {
314
- ...basePlacement,
315
- checkout: {
316
- cwd: workspaceId,
317
- isGit: true,
318
- currentBranch: options.branchName,
319
- remoteUrl: basePlacement.checkout.remoteUrl,
320
- worktreeRoot: options.worktreePath,
321
- isPaseoOwnedWorktree: true,
322
- mainRepoRoot: options.repoRoot,
323
- },
324
- };
325
- const now = new Date().toISOString();
326
- const existingWorkspace = await dependencies.workspaceRegistry.get(workspaceId);
327
- const existingProject = await dependencies.projectRegistry.get(placement.projectKey);
328
- const nextProjectRecord = dependencies.buildPersistedProjectRecord({
329
- workspaceId,
330
- placement,
331
- createdAt: existingProject?.createdAt ?? now,
332
- updatedAt: now,
333
- });
334
- const nextWorkspaceRecord = dependencies.buildPersistedWorkspaceRecord({
335
- workspaceId,
336
- placement,
337
- createdAt: existingWorkspace?.createdAt ?? now,
338
- updatedAt: now,
339
- });
340
- await dependencies.projectRegistry.upsert(nextProjectRecord);
341
- await dependencies.workspaceRegistry.upsert(nextWorkspaceRecord);
342
- if (existingWorkspace &&
343
- !existingWorkspace.archivedAt &&
344
- existingWorkspace.projectId !== nextWorkspaceRecord.projectId) {
345
- await dependencies.archiveProjectRecordIfEmpty(existingWorkspace.projectId, now);
346
- }
347
- return nextWorkspaceRecord;
348
- }
349
246
  export async function handleCreatePaseoWorktreeRequest(dependencies, request) {
350
247
  try {
351
- const snapshot = await dependencies.workspaceGitService.getSnapshot(request.cwd);
352
- if (!snapshot.git.isGit) {
353
- throw new Error("Create worktree requires a git repository");
354
- }
355
- const repoRoot = snapshot.git.isPaseoOwnedWorktree
356
- ? (snapshot.git.mainRepoRoot ?? snapshot.git.repoRoot ?? request.cwd)
357
- : (snapshot.git.repoRoot ?? request.cwd);
358
- const baseBranch = await resolveRepositoryDefaultBranch(repoRoot);
359
- if (!baseBranch) {
360
- throw new Error("Unable to resolve repository default branch");
361
- }
362
- const normalizedSlug = request.worktreeSlug ? slugify(request.worktreeSlug) : uuidv4();
363
- const validation = validateBranchSlug(normalizedSlug);
364
- if (!validation.valid) {
365
- throw new Error(`Invalid worktree name: ${validation.error}`);
366
- }
367
- const worktreePath = await computeWorktreePath(repoRoot, normalizedSlug, dependencies.paseoHome);
368
- const workspace = await dependencies.registerPendingWorktreeWorkspace({
369
- repoRoot,
370
- worktreePath,
371
- branchName: normalizedSlug,
372
- });
373
- await createAgentWorktree({
374
- cwd: repoRoot,
375
- branchName: normalizedSlug,
376
- baseBranch,
377
- worktreeSlug: normalizedSlug,
248
+ const createdWorktree = await dependencies.createPaseoWorktree({
249
+ cwd: request.cwd,
250
+ worktreeSlug: request.worktreeSlug,
251
+ refName: request.refName,
252
+ action: request.action,
253
+ githubPrNumber: request.githubPrNumber,
254
+ attachments: request.attachments,
255
+ runSetup: false,
378
256
  paseoHome: dependencies.paseoHome,
379
257
  });
380
- await dependencies.syncWorkspaceGitWatchTarget(worktreePath, { isGit: true });
381
- const descriptor = await dependencies.describeWorkspaceRecord(workspace);
258
+ const slug = basename(createdWorktree.worktree.worktreePath);
259
+ const workspace = createdWorktree.workspace;
260
+ const descriptor = await dependencies.describeWorkspaceRecord(createdWorktree);
382
261
  dependencies.emit({
383
262
  type: "create_paseo_worktree_response",
384
263
  payload: {
@@ -388,94 +267,140 @@ export async function handleCreatePaseoWorktreeRequest(dependencies, request) {
388
267
  requestId: request.requestId,
389
268
  },
390
269
  });
270
+ dependencies.emit({
271
+ type: "workspace_update",
272
+ payload: {
273
+ kind: "upsert",
274
+ workspace: descriptor,
275
+ },
276
+ });
277
+ void dependencies.warmWorkspaceGitData(workspace).catch((error) => {
278
+ dependencies.sessionLogger.warn({ err: error, workspaceId: workspace.workspaceId }, "Failed to warm workspace git data after creating worktree");
279
+ });
391
280
  void dependencies.runWorktreeSetupInBackground({
392
281
  requestCwd: request.cwd,
393
- repoRoot,
394
- slug: normalizedSlug,
395
- worktreePath,
282
+ repoRoot: createdWorktree.repoRoot,
283
+ workspaceId: workspace.workspaceId,
284
+ worktree: createdWorktree.worktree,
285
+ shouldBootstrap: createdWorktree.created,
286
+ slug,
287
+ worktreePath: createdWorktree.worktree.worktreePath,
396
288
  });
397
289
  }
398
290
  catch (error) {
399
- const message = error instanceof Error ? error.message : "Failed to create worktree";
291
+ const wireError = toWorktreeWireError(error);
400
292
  dependencies.sessionLogger.error({ err: error, cwd: request.cwd, worktreeSlug: request.worktreeSlug }, "Failed to create worktree");
401
293
  dependencies.emit({
402
294
  type: "create_paseo_worktree_response",
403
295
  payload: {
404
296
  workspace: null,
405
- error: message,
297
+ error: wireError.message,
298
+ errorCode: wireError.code,
406
299
  setupTerminalId: null,
407
300
  requestId: request.requestId,
408
301
  },
409
302
  });
410
303
  }
411
304
  }
305
+ export async function handleWorkspaceSetupStatusRequest(dependencies, request) {
306
+ const workspaceId = request.workspaceId;
307
+ const snapshot = dependencies.workspaceSetupSnapshots.get(workspaceId) ?? null;
308
+ dependencies.emit({
309
+ type: "workspace_setup_status_response",
310
+ payload: {
311
+ requestId: request.requestId,
312
+ workspaceId,
313
+ snapshot,
314
+ },
315
+ });
316
+ }
412
317
  export async function runWorktreeSetupInBackground(dependencies, options) {
413
- let setupTerminalId = null;
318
+ let worktree = options.worktree;
319
+ let setupResults = [];
320
+ let setupStarted = false;
321
+ const progressAccumulator = createWorktreeSetupProgressAccumulator();
322
+ const workspaceId = String(options.workspaceId);
323
+ const emitSetupProgress = (status, error) => {
324
+ const snapshot = {
325
+ status,
326
+ detail: buildWorktreeSetupDetail({
327
+ worktree,
328
+ results: status === "running"
329
+ ? getWorktreeSetupProgressResults(progressAccumulator)
330
+ : setupResults,
331
+ outputAccumulatorsByIndex: progressAccumulator.outputAccumulatorsByIndex,
332
+ }),
333
+ error,
334
+ };
335
+ dependencies.cacheWorkspaceSetupSnapshot(workspaceId, snapshot);
336
+ dependencies.emit({
337
+ type: "workspace_setup_progress",
338
+ payload: {
339
+ workspaceId,
340
+ ...snapshot,
341
+ },
342
+ });
343
+ };
414
344
  try {
415
- const setupCommands = getWorktreeSetupCommands(options.worktreePath);
416
- if (setupCommands.length > 0 && dependencies.terminalManager) {
417
- const runtimeEnv = await resolveWorktreeRuntimeEnv({
418
- worktreePath: options.worktreePath,
419
- branchName: options.slug,
420
- repoRootPath: options.repoRoot,
421
- });
422
- dependencies.terminalManager.registerCwdEnv({
423
- cwd: options.worktreePath,
424
- env: runtimeEnv,
425
- });
426
- const terminal = await dependencies.terminalManager.createTerminal({
427
- cwd: options.worktreePath,
428
- name: `setup-${options.slug}`,
429
- env: runtimeEnv,
430
- });
431
- setupTerminalId = terminal.id;
432
- for (const command of setupCommands) {
433
- terminal.send({
434
- type: "input",
435
- data: `${command}\r`,
436
- });
437
- }
438
- }
439
- }
440
- catch (error) {
441
- dependencies.sessionLogger.error({
442
- err: error,
443
- cwd: options.requestCwd,
444
- repoRoot: options.repoRoot,
445
- worktreeSlug: options.slug,
446
- worktreePath: options.worktreePath,
447
- setupTerminalId,
448
- }, "Background worktree setup failed");
449
- }
450
- finally {
451
- await dependencies.emitWorkspaceUpdateForCwd(options.worktreePath);
452
- }
453
- }
454
- export async function killTerminalsUnderPath(dependencies, rootPath) {
455
- if (!dependencies.terminalManager) {
456
- return;
457
- }
458
- const cleanupErrors = [];
459
- const terminalDirectories = [...dependencies.terminalManager.listDirectories()];
460
- for (const terminalCwd of terminalDirectories) {
461
- if (!dependencies.isPathWithinRoot(rootPath, terminalCwd)) {
462
- continue;
463
- }
464
345
  try {
465
- const terminals = await dependencies.terminalManager.getTerminals(terminalCwd);
466
- for (const terminal of [...terminals]) {
467
- dependencies.killTrackedTerminal(terminal.id, { emitExit: true });
346
+ emitSetupProgress("running", null);
347
+ if (!options.shouldBootstrap) {
348
+ emitSetupProgress("completed", null);
349
+ }
350
+ else {
351
+ const setupCommands = getWorktreeSetupCommands(worktree.worktreePath);
352
+ if (setupCommands.length === 0) {
353
+ setupStarted = true;
354
+ emitSetupProgress("completed", null);
355
+ }
356
+ else {
357
+ const runtimeEnv = await resolveWorktreeRuntimeEnv({
358
+ worktreePath: worktree.worktreePath,
359
+ branchName: worktree.branchName,
360
+ repoRootPath: options.repoRoot,
361
+ });
362
+ dependencies.terminalManager?.registerCwdEnv({
363
+ cwd: worktree.worktreePath,
364
+ env: runtimeEnv,
365
+ });
366
+ setupStarted = true;
367
+ setupResults = await runWorktreeSetupCommands({
368
+ worktreePath: worktree.worktreePath,
369
+ branchName: worktree.branchName,
370
+ cleanupOnFailure: false,
371
+ repoRootPath: options.repoRoot,
372
+ runtimeEnv,
373
+ onEvent: (event) => {
374
+ applyWorktreeSetupProgressEvent(progressAccumulator, event);
375
+ emitSetupProgress("running", null);
376
+ },
377
+ });
378
+ emitSetupProgress("completed", null);
379
+ }
468
380
  }
469
381
  }
470
382
  catch (error) {
383
+ if (error instanceof WorktreeSetupError) {
384
+ setupResults = error.results;
385
+ }
471
386
  const message = error instanceof Error ? error.message : String(error);
472
- cleanupErrors.push({ cwd: terminalCwd, message });
473
- dependencies.sessionLogger.warn({ err: error, cwd: terminalCwd }, "Failed to clean up worktree terminals during archive");
387
+ emitSetupProgress("failed", message);
388
+ if (!setupStarted) {
389
+ await dependencies.archiveWorkspaceRecord(options.workspaceId);
390
+ }
391
+ dependencies.sessionLogger.error({
392
+ err: error,
393
+ cwd: options.requestCwd,
394
+ repoRoot: options.repoRoot,
395
+ worktreeSlug: worktree.branchName,
396
+ worktreePath: worktree.worktreePath,
397
+ setupStarted,
398
+ }, "Background worktree setup failed");
399
+ return;
474
400
  }
475
401
  }
476
- if (cleanupErrors.length > 0) {
477
- const details = cleanupErrors.map((entry) => `${entry.cwd}: ${entry.message}`).join("; ");
478
- throw new Error(`Failed to clean up worktree terminals during archive (${details})`);
402
+ finally {
403
+ await dependencies.emitWorkspaceUpdateForCwd(worktree.worktreePath);
479
404
  }
480
405
  }
481
406
  //# sourceMappingURL=worktree-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-session.js","sourceRoot":"","sources":["../../../src/server/worktree-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-session.js","sourceRoot":"","sources":["../../../src/server/worktree-session.ts"],"names":[],"mappings":"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"}