@getpaseo/server 0.1.63 → 0.1.65

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 (265) hide show
  1. package/dist/server/client/daemon-client-transport-types.d.ts +2 -0
  2. package/dist/server/client/daemon-client-transport-types.d.ts.map +1 -1
  3. package/dist/server/client/daemon-client-websocket-transport.d.ts +2 -1
  4. package/dist/server/client/daemon-client-websocket-transport.d.ts.map +1 -1
  5. package/dist/server/client/daemon-client-websocket-transport.js +4 -4
  6. package/dist/server/client/daemon-client-websocket-transport.js.map +1 -1
  7. package/dist/server/client/daemon-client.d.ts +30 -20
  8. package/dist/server/client/daemon-client.d.ts.map +1 -1
  9. package/dist/server/client/daemon-client.js +206 -98
  10. package/dist/server/client/daemon-client.js.map +1 -1
  11. package/dist/server/client/terminal-stream-router.d.ts +24 -0
  12. package/dist/server/client/terminal-stream-router.d.ts.map +1 -0
  13. package/dist/server/client/terminal-stream-router.js +100 -0
  14. package/dist/server/client/terminal-stream-router.js.map +1 -0
  15. package/dist/server/server/agent/activity-curator.d.ts +6 -3
  16. package/dist/server/server/agent/activity-curator.d.ts.map +1 -1
  17. package/dist/server/server/agent/activity-curator.js +45 -138
  18. package/dist/server/server/agent/activity-curator.js.map +1 -1
  19. package/dist/server/server/agent/agent-manager.d.ts +3 -14
  20. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  21. package/dist/server/server/agent/agent-manager.js +75 -140
  22. package/dist/server/server/agent/agent-manager.js.map +1 -1
  23. package/dist/server/server/agent/agent-metadata-generator.d.ts +0 -5
  24. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
  25. package/dist/server/server/agent/agent-metadata-generator.js +3 -93
  26. package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
  27. package/dist/server/server/agent/agent-sdk-types.d.ts +15 -1
  28. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  29. package/dist/server/server/agent/agent-stream-coalescer.d.ts +1 -1
  30. package/dist/server/server/agent/agent-stream-coalescer.d.ts.map +1 -1
  31. package/dist/server/server/agent/agent-stream-coalescer.js +1 -1
  32. package/dist/server/server/agent/agent-stream-coalescer.js.map +1 -1
  33. package/dist/server/server/agent/agent-timeline-store.d.ts.map +1 -1
  34. package/dist/server/server/agent/agent-timeline-store.js +29 -32
  35. package/dist/server/server/agent/agent-timeline-store.js.map +1 -1
  36. package/dist/server/server/agent/foreground-run-state.d.ts +50 -0
  37. package/dist/server/server/agent/foreground-run-state.d.ts.map +1 -0
  38. package/dist/server/server/agent/foreground-run-state.js +162 -0
  39. package/dist/server/server/agent/foreground-run-state.js.map +1 -0
  40. package/dist/server/server/agent/mcp-server.d.ts +5 -3
  41. package/dist/server/server/agent/mcp-server.d.ts.map +1 -1
  42. package/dist/server/server/agent/mcp-server.js +110 -99
  43. package/dist/server/server/agent/mcp-server.js.map +1 -1
  44. package/dist/server/server/agent/mcp-shared.d.ts.map +1 -1
  45. package/dist/server/server/agent/mcp-shared.js +7 -1
  46. package/dist/server/server/agent/mcp-shared.js.map +1 -1
  47. package/dist/server/server/agent/prompt-attachments.d.ts +4 -3
  48. package/dist/server/server/agent/prompt-attachments.d.ts.map +1 -1
  49. package/dist/server/server/agent/prompt-attachments.js +43 -4
  50. package/dist/server/server/agent/prompt-attachments.js.map +1 -1
  51. package/dist/server/server/agent/provider-manifest.d.ts.map +1 -1
  52. package/dist/server/server/agent/provider-manifest.js +7 -0
  53. package/dist/server/server/agent/provider-manifest.js.map +1 -1
  54. package/dist/server/server/agent/providers/acp-agent.d.ts +38 -1
  55. package/dist/server/server/agent/providers/acp-agent.d.ts.map +1 -1
  56. package/dist/server/server/agent/providers/acp-agent.js +257 -140
  57. package/dist/server/server/agent/providers/acp-agent.js.map +1 -1
  58. package/dist/server/server/agent/providers/claude/sidechain-tracker.d.ts.map +1 -1
  59. package/dist/server/server/agent/providers/claude/sidechain-tracker.js +1 -1
  60. package/dist/server/server/agent/providers/claude/sidechain-tracker.js.map +1 -1
  61. package/dist/server/server/agent/providers/claude/tool-call-mapper.d.ts.map +1 -1
  62. package/dist/server/server/agent/providers/claude/tool-call-mapper.js +68 -198
  63. package/dist/server/server/agent/providers/claude/tool-call-mapper.js.map +1 -1
  64. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  65. package/dist/server/server/agent/providers/claude-agent.js +52 -102
  66. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  67. package/dist/server/server/agent/providers/codex/tool-call-mapper.d.ts.map +1 -1
  68. package/dist/server/server/agent/providers/codex/tool-call-mapper.js +125 -141
  69. package/dist/server/server/agent/providers/codex/tool-call-mapper.js.map +1 -1
  70. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts +36 -6
  71. package/dist/server/server/agent/providers/codex-app-server-agent.d.ts.map +1 -1
  72. package/dist/server/server/agent/providers/codex-app-server-agent.js +374 -219
  73. package/dist/server/server/agent/providers/codex-app-server-agent.js.map +1 -1
  74. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts +6 -2
  75. package/dist/server/server/agent/providers/mock-load-test-agent.d.ts.map +1 -1
  76. package/dist/server/server/agent/providers/mock-load-test-agent.js +294 -113
  77. package/dist/server/server/agent/providers/mock-load-test-agent.js.map +1 -1
  78. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts +1 -1
  79. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.d.ts.map +1 -1
  80. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js +94 -2
  81. package/dist/server/server/agent/providers/opencode/tool-call-detail-parser.js.map +1 -1
  82. package/dist/server/server/agent/providers/opencode/tool-call-mapper.d.ts.map +1 -1
  83. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js +24 -115
  84. package/dist/server/server/agent/providers/opencode/tool-call-mapper.js.map +1 -1
  85. package/dist/server/server/agent/providers/opencode-agent.d.ts +102 -1
  86. package/dist/server/server/agent/providers/opencode-agent.d.ts.map +1 -1
  87. package/dist/server/server/agent/providers/opencode-agent.js +416 -158
  88. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  89. package/dist/server/server/agent/providers/provider-runner.d.ts +27 -0
  90. package/dist/server/server/agent/providers/provider-runner.d.ts.map +1 -0
  91. package/dist/server/server/agent/providers/provider-runner.js +80 -0
  92. package/dist/server/server/agent/providers/provider-runner.js.map +1 -0
  93. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts +6 -3
  94. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
  95. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts +2 -0
  96. package/dist/server/server/agent/providers/tool-call-mapper-utils.d.ts.map +1 -1
  97. package/dist/server/server/agent/providers/tool-call-mapper-utils.js +31 -0
  98. package/dist/server/server/agent/providers/tool-call-mapper-utils.js.map +1 -1
  99. package/dist/server/server/agent/timeline-projection.d.ts +21 -5
  100. package/dist/server/server/agent/timeline-projection.d.ts.map +1 -1
  101. package/dist/server/server/agent/timeline-projection.js +59 -9
  102. package/dist/server/server/agent/timeline-projection.js.map +1 -1
  103. package/dist/server/server/auth.d.ts +25 -0
  104. package/dist/server/server/auth.d.ts.map +1 -0
  105. package/dist/server/server/auth.js +93 -0
  106. package/dist/server/server/auth.js.map +1 -0
  107. package/dist/server/server/bootstrap.d.ts +3 -1
  108. package/dist/server/server/bootstrap.d.ts.map +1 -1
  109. package/dist/server/server/bootstrap.js +87 -30
  110. package/dist/server/server/bootstrap.js.map +1 -1
  111. package/dist/server/server/config.d.ts.map +1 -1
  112. package/dist/server/server/config.js +11 -0
  113. package/dist/server/server/config.js.map +1 -1
  114. package/dist/server/server/exports.d.ts +7 -1
  115. package/dist/server/server/exports.d.ts.map +1 -1
  116. package/dist/server/server/exports.js +6 -1
  117. package/dist/server/server/exports.js.map +1 -1
  118. package/dist/server/server/file-explorer/service.d.ts +10 -0
  119. package/dist/server/server/file-explorer/service.d.ts.map +1 -1
  120. package/dist/server/server/file-explorer/service.js +38 -4
  121. package/dist/server/server/file-explorer/service.js.map +1 -1
  122. package/dist/server/server/index.js +9 -6
  123. package/dist/server/server/index.js.map +1 -1
  124. package/dist/server/server/logger.d.ts.map +1 -1
  125. package/dist/server/server/logger.js +15 -1
  126. package/dist/server/server/logger.js.map +1 -1
  127. package/dist/server/server/pagination/cursor.d.ts +16 -0
  128. package/dist/server/server/pagination/cursor.d.ts.map +1 -0
  129. package/dist/server/server/pagination/cursor.js +62 -0
  130. package/dist/server/server/pagination/cursor.js.map +1 -0
  131. package/dist/server/server/pagination/sortable-pager.d.ts +24 -0
  132. package/dist/server/server/pagination/sortable-pager.d.ts.map +1 -0
  133. package/dist/server/server/pagination/sortable-pager.js +68 -0
  134. package/dist/server/server/pagination/sortable-pager.js.map +1 -0
  135. package/dist/server/server/paseo-worktree-archive-service.d.ts +3 -1
  136. package/dist/server/server/paseo-worktree-archive-service.d.ts.map +1 -1
  137. package/dist/server/server/paseo-worktree-archive-service.js +61 -53
  138. package/dist/server/server/paseo-worktree-archive-service.js.map +1 -1
  139. package/dist/server/server/paseo-worktree-service.d.ts +13 -0
  140. package/dist/server/server/paseo-worktree-service.d.ts.map +1 -1
  141. package/dist/server/server/paseo-worktree-service.js +72 -3
  142. package/dist/server/server/paseo-worktree-service.js.map +1 -1
  143. package/dist/server/server/persisted-config.d.ts +25 -0
  144. package/dist/server/server/persisted-config.d.ts.map +1 -1
  145. package/dist/server/server/persisted-config.js +9 -0
  146. package/dist/server/server/persisted-config.js.map +1 -1
  147. package/dist/server/server/relay-transport.d.ts.map +1 -1
  148. package/dist/server/server/relay-transport.js +16 -4
  149. package/dist/server/server/relay-transport.js.map +1 -1
  150. package/dist/server/server/resolve-worktree-creation-intent.d.ts +0 -10
  151. package/dist/server/server/resolve-worktree-creation-intent.d.ts.map +1 -1
  152. package/dist/server/server/resolve-worktree-creation-intent.js +1 -45
  153. package/dist/server/server/resolve-worktree-creation-intent.js.map +1 -1
  154. package/dist/server/server/script-status-projection.d.ts +6 -1
  155. package/dist/server/server/script-status-projection.d.ts.map +1 -1
  156. package/dist/server/server/script-status-projection.js +12 -3
  157. package/dist/server/server/script-status-projection.js.map +1 -1
  158. package/dist/server/server/session.d.ts +19 -51
  159. package/dist/server/server/session.d.ts.map +1 -1
  160. package/dist/server/server/session.js +354 -1069
  161. package/dist/server/server/session.js.map +1 -1
  162. package/dist/server/server/websocket-server.d.ts +4 -2
  163. package/dist/server/server/websocket-server.d.ts.map +1 -1
  164. package/dist/server/server/websocket-server.js +65 -12
  165. package/dist/server/server/websocket-server.js.map +1 -1
  166. package/dist/server/server/workspace-directory.d.ts +69 -0
  167. package/dist/server/server/workspace-directory.d.ts.map +1 -0
  168. package/dist/server/server/workspace-directory.js +229 -0
  169. package/dist/server/server/workspace-directory.js.map +1 -0
  170. package/dist/server/server/worktree-bootstrap.d.ts.map +1 -1
  171. package/dist/server/server/worktree-bootstrap.js +6 -2
  172. package/dist/server/server/worktree-bootstrap.js.map +1 -1
  173. package/dist/server/server/worktree-core.d.ts +2 -0
  174. package/dist/server/server/worktree-core.d.ts.map +1 -1
  175. package/dist/server/server/worktree-core.js.map +1 -1
  176. package/dist/server/server/worktree-errors.d.ts +1 -1
  177. package/dist/server/server/worktree-errors.d.ts.map +1 -1
  178. package/dist/server/server/worktree-errors.js +1 -4
  179. package/dist/server/server/worktree-errors.js.map +1 -1
  180. package/dist/server/server/worktree-session.d.ts +47 -20
  181. package/dist/server/server/worktree-session.d.ts.map +1 -1
  182. package/dist/server/server/worktree-session.js +68 -25
  183. package/dist/server/server/worktree-session.js.map +1 -1
  184. package/dist/server/shared/binary-frames/file-transfer.d.ts +56 -0
  185. package/dist/server/shared/binary-frames/file-transfer.d.ts.map +1 -0
  186. package/dist/server/shared/binary-frames/file-transfer.js +108 -0
  187. package/dist/server/shared/binary-frames/file-transfer.js.map +1 -0
  188. package/dist/server/shared/binary-frames/index.d.ts +3 -0
  189. package/dist/server/shared/binary-frames/index.d.ts.map +1 -0
  190. package/dist/server/shared/binary-frames/index.js +3 -0
  191. package/dist/server/shared/binary-frames/index.js.map +1 -0
  192. package/dist/server/shared/{terminal-stream-protocol.d.ts → binary-frames/terminal.d.ts} +2 -2
  193. package/dist/server/shared/binary-frames/terminal.d.ts.map +1 -0
  194. package/dist/server/shared/{terminal-stream-protocol.js → binary-frames/terminal.js} +2 -2
  195. package/dist/server/shared/binary-frames/terminal.js.map +1 -0
  196. package/dist/server/shared/client-capabilities.d.ts +5 -0
  197. package/dist/server/shared/client-capabilities.d.ts.map +1 -0
  198. package/dist/server/shared/client-capabilities.js +4 -0
  199. package/dist/server/shared/client-capabilities.js.map +1 -0
  200. package/dist/server/shared/connection-offer.d.ts +8 -0
  201. package/dist/server/shared/connection-offer.d.ts.map +1 -1
  202. package/dist/server/shared/connection-offer.js +35 -0
  203. package/dist/server/shared/connection-offer.js.map +1 -1
  204. package/dist/server/shared/daemon-endpoints.d.ts +16 -1
  205. package/dist/server/shared/daemon-endpoints.d.ts.map +1 -1
  206. package/dist/server/shared/daemon-endpoints.js +65 -6
  207. package/dist/server/shared/daemon-endpoints.js.map +1 -1
  208. package/dist/server/shared/host-connection-schema.d.ts +23 -0
  209. package/dist/server/shared/host-connection-schema.d.ts.map +1 -0
  210. package/dist/server/shared/host-connection-schema.js +9 -0
  211. package/dist/server/shared/host-connection-schema.js.map +1 -0
  212. package/dist/server/shared/messages.d.ts +3242 -535
  213. package/dist/server/shared/messages.d.ts.map +1 -1
  214. package/dist/server/shared/messages.js +73 -34
  215. package/dist/server/shared/messages.js.map +1 -1
  216. package/dist/server/terminal/terminal-manager-factory.d.ts +7 -0
  217. package/dist/server/terminal/terminal-manager-factory.d.ts.map +1 -0
  218. package/dist/server/terminal/terminal-manager-factory.js +13 -0
  219. package/dist/server/terminal/terminal-manager-factory.js.map +1 -0
  220. package/dist/server/terminal/terminal-manager.d.ts +7 -1
  221. package/dist/server/terminal/terminal-manager.d.ts.map +1 -1
  222. package/dist/server/terminal/terminal-manager.js +14 -1
  223. package/dist/server/terminal/terminal-manager.js.map +1 -1
  224. package/dist/server/terminal/terminal-session-controller.d.ts +63 -0
  225. package/dist/server/terminal/terminal-session-controller.d.ts.map +1 -0
  226. package/dist/server/terminal/terminal-session-controller.js +615 -0
  227. package/dist/server/terminal/terminal-session-controller.js.map +1 -0
  228. package/dist/server/terminal/terminal-ts-loader.mjs +20 -0
  229. package/dist/server/terminal/terminal-worker-process.d.ts +2 -0
  230. package/dist/server/terminal/terminal-worker-process.d.ts.map +1 -0
  231. package/dist/server/terminal/terminal-worker-process.js +221 -0
  232. package/dist/server/terminal/terminal-worker-process.js.map +1 -0
  233. package/dist/server/terminal/terminal-worker-protocol.d.ts +113 -0
  234. package/dist/server/terminal/terminal-worker-protocol.d.ts.map +1 -0
  235. package/dist/server/terminal/terminal-worker-protocol.js +2 -0
  236. package/dist/server/terminal/terminal-worker-protocol.js.map +1 -0
  237. package/dist/server/terminal/terminal.d.ts +7 -0
  238. package/dist/server/terminal/terminal.d.ts.map +1 -1
  239. package/dist/server/terminal/terminal.js +22 -9
  240. package/dist/server/terminal/terminal.js.map +1 -1
  241. package/dist/server/terminal/worker-terminal-manager.d.ts +19 -0
  242. package/dist/server/terminal/worker-terminal-manager.d.ts.map +1 -0
  243. package/dist/server/terminal/worker-terminal-manager.js +466 -0
  244. package/dist/server/terminal/worker-terminal-manager.js.map +1 -0
  245. package/dist/server/utils/directory-suggestions.d.ts.map +1 -1
  246. package/dist/server/utils/directory-suggestions.js +10 -1
  247. package/dist/server/utils/directory-suggestions.js.map +1 -1
  248. package/dist/server/utils/process-tree.d.ts +25 -0
  249. package/dist/server/utils/process-tree.d.ts.map +1 -0
  250. package/dist/server/utils/process-tree.js +96 -0
  251. package/dist/server/utils/process-tree.js.map +1 -0
  252. package/dist/server/utils/windows-command.d.ts.map +1 -1
  253. package/dist/server/utils/windows-command.js +5 -1
  254. package/dist/server/utils/windows-command.js.map +1 -1
  255. package/dist/server/utils/worktree-metadata.d.ts +44 -0
  256. package/dist/server/utils/worktree-metadata.d.ts.map +1 -1
  257. package/dist/server/utils/worktree-metadata.js +58 -0
  258. package/dist/server/utils/worktree-metadata.js.map +1 -1
  259. package/dist/server/utils/worktree.d.ts +14 -2
  260. package/dist/server/utils/worktree.d.ts.map +1 -1
  261. package/dist/server/utils/worktree.js +22 -13
  262. package/dist/server/utils/worktree.js.map +1 -1
  263. package/package.json +5 -4
  264. package/dist/server/shared/terminal-stream-protocol.d.ts.map +0 -1
  265. package/dist/server/shared/terminal-stream-protocol.js.map +0 -1
@@ -0,0 +1,62 @@
1
+ export class CursorError extends Error {
2
+ constructor(message) {
3
+ super(message);
4
+ this.name = "CursorError";
5
+ }
6
+ }
7
+ export function encodeCursor(entry, sort, getId, getValue) {
8
+ const values = {};
9
+ for (const spec of sort) {
10
+ values[spec.key] = getValue(entry, spec.key);
11
+ }
12
+ return Buffer.from(JSON.stringify({ sort, values, id: getId(entry) }), "utf8").toString("base64url");
13
+ }
14
+ export function decodeCursor(cursor, sort, validKeys, label) {
15
+ const invalid = new CursorError(`Invalid ${label} cursor`);
16
+ let parsed;
17
+ try {
18
+ parsed = JSON.parse(Buffer.from(cursor, "base64url").toString("utf8"));
19
+ }
20
+ catch {
21
+ throw invalid;
22
+ }
23
+ if (!parsed || typeof parsed !== "object") {
24
+ throw invalid;
25
+ }
26
+ const payload = parsed;
27
+ if (!Array.isArray(payload.sort) || typeof payload.id !== "string") {
28
+ throw invalid;
29
+ }
30
+ if (!payload.values || typeof payload.values !== "object") {
31
+ throw invalid;
32
+ }
33
+ const cursorSort = parseCursorSort(payload.sort, validKeys, label);
34
+ if (cursorSort.length !== sort.length ||
35
+ cursorSort.some((entry, index) => entry.key !== sort[index]?.key || entry.direction !== sort[index]?.direction)) {
36
+ throw new CursorError(`${label} cursor does not match current sort`);
37
+ }
38
+ return {
39
+ sort: cursorSort,
40
+ values: payload.values,
41
+ id: payload.id,
42
+ };
43
+ }
44
+ function parseCursorSort(raw, validKeys, label) {
45
+ const result = [];
46
+ for (const item of raw) {
47
+ if (!item || typeof item !== "object") {
48
+ throw new CursorError(`Invalid ${label} cursor`);
49
+ }
50
+ const { key, direction } = item;
51
+ if (typeof key !== "string" || typeof direction !== "string") {
52
+ throw new CursorError(`Invalid ${label} cursor`);
53
+ }
54
+ if (!validKeys.includes(key) ||
55
+ (direction !== "asc" && direction !== "desc")) {
56
+ throw new CursorError(`Invalid ${label} cursor`);
57
+ }
58
+ result.push({ key: key, direction });
59
+ }
60
+ return result;
61
+ }
62
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../src/server/pagination/cursor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { CursorError, type CursorSortValue, type DecodedCursor } from "./cursor.js";
2
+ export interface SortSpec<K extends string> {
3
+ key: K;
4
+ direction: "asc" | "desc";
5
+ }
6
+ export interface SortablePagerConfig<TItem, K extends string> {
7
+ validKeys: readonly K[];
8
+ defaultSort: readonly SortSpec<K>[];
9
+ label: string;
10
+ getId: (item: TItem) => string;
11
+ getSortValue: (item: TItem, key: K) => CursorSortValue;
12
+ }
13
+ export declare class SortablePager<TItem, K extends string> {
14
+ private readonly config;
15
+ constructor(config: SortablePagerConfig<TItem, K>);
16
+ normalizeSort(sort: readonly SortSpec<K>[] | undefined): SortSpec<K>[];
17
+ compare(left: TItem, right: TItem, sort: readonly SortSpec<K>[]): number;
18
+ compareWithCursor(item: TItem, cursor: DecodedCursor<K>, sort: readonly SortSpec<K>[]): number;
19
+ encode(item: TItem, sort: readonly SortSpec<K>[]): string;
20
+ decode(token: string, sort: readonly SortSpec<K>[]): DecodedCursor<K>;
21
+ }
22
+ export { CursorError };
23
+ export declare function compareValues(left: CursorSortValue, right: CursorSortValue): number;
24
+ //# sourceMappingURL=sortable-pager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable-pager.d.ts","sourceRoot":"","sources":["../../../../src/server/pagination/sortable-pager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM;IACxC,GAAG,EAAE,CAAC,CAAC;IACP,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM;IAC1D,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,CAAC;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,eAAe,CAAC;CACxD;AAED,qBAAa,aAAa,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;IAElE,aAAa,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE;IAgBtE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM;IAaxE,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM;IAa9F,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM;IAIzD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;CAGtE;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAcnF"}
@@ -0,0 +1,68 @@
1
+ import { CursorError, decodeCursor, encodeCursor, } from "./cursor.js";
2
+ export class SortablePager {
3
+ constructor(config) {
4
+ this.config = config;
5
+ }
6
+ normalizeSort(sort) {
7
+ if (!sort || sort.length === 0) {
8
+ return [...this.config.defaultSort];
9
+ }
10
+ const deduped = [];
11
+ const seen = new Set();
12
+ for (const entry of sort) {
13
+ if (seen.has(entry.key)) {
14
+ continue;
15
+ }
16
+ seen.add(entry.key);
17
+ deduped.push(entry);
18
+ }
19
+ return deduped.length > 0 ? deduped : [...this.config.defaultSort];
20
+ }
21
+ compare(left, right, sort) {
22
+ for (const spec of sort) {
23
+ const leftValue = this.config.getSortValue(left, spec.key);
24
+ const rightValue = this.config.getSortValue(right, spec.key);
25
+ const base = compareValues(leftValue, rightValue);
26
+ if (base === 0) {
27
+ continue;
28
+ }
29
+ return spec.direction === "asc" ? base : -base;
30
+ }
31
+ return this.config.getId(left).localeCompare(this.config.getId(right));
32
+ }
33
+ compareWithCursor(item, cursor, sort) {
34
+ for (const spec of sort) {
35
+ const leftValue = this.config.getSortValue(item, spec.key);
36
+ const rightValue = cursor.values[spec.key] ?? null;
37
+ const base = compareValues(leftValue, rightValue);
38
+ if (base === 0) {
39
+ continue;
40
+ }
41
+ return spec.direction === "asc" ? base : -base;
42
+ }
43
+ return this.config.getId(item).localeCompare(cursor.id);
44
+ }
45
+ encode(item, sort) {
46
+ return encodeCursor(item, sort, this.config.getId, this.config.getSortValue);
47
+ }
48
+ decode(token, sort) {
49
+ return decodeCursor(token, sort, this.config.validKeys, this.config.label);
50
+ }
51
+ }
52
+ export { CursorError };
53
+ export function compareValues(left, right) {
54
+ if (left === right) {
55
+ return 0;
56
+ }
57
+ if (left === null) {
58
+ return -1;
59
+ }
60
+ if (right === null) {
61
+ return 1;
62
+ }
63
+ if (typeof left === "number" && typeof right === "number") {
64
+ return left < right ? -1 : 1;
65
+ }
66
+ return String(left).localeCompare(String(right));
67
+ }
68
+ //# sourceMappingURL=sortable-pager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sortable-pager.js","sourceRoot":"","sources":["../../../../src/server/pagination/sortable-pager.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,9 @@ export interface ArchivePaseoWorktreeDependencies {
14
14
  agentStorage: Pick<AgentStorage, "list" | "remove">;
15
15
  archiveWorkspaceRecord: (workspaceId: string) => Promise<void>;
16
16
  emit: EmitSessionMessage;
17
- emitWorkspaceUpdatesForCwds: (cwds: Iterable<string>) => Promise<void>;
17
+ emitWorkspaceUpdatesForWorkspaceIds: (workspaceIds: Iterable<string>) => Promise<void>;
18
+ markWorkspaceArchiving: (workspaceIds: Iterable<string>, archivingAt: string) => void;
19
+ clearWorkspaceArchiving: (workspaceIds: Iterable<string>) => void;
18
20
  isPathWithinRoot: (rootPath: string, candidatePath: string) => boolean;
19
21
  killTerminalsUnderPath: (rootPath: string) => Promise<void>;
20
22
  sessionLogger?: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"paseo-worktree-archive-service.d.ts","sourceRoot":"","sources":["../../../src/server/paseo-worktree-archive-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;AAEpE,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAC9D,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;IAC9D,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IACpD,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,EAAE,kBAAkB,CAAC;IACzB,2BAA2B,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kCAAkC;IACjD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,gCAAgC,EAC9C,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CAgInB;AAED,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,kCAAkC,EAChD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiDf"}
1
+ {"version":3,"file":"paseo-worktree-archive-service.d.ts","sourceRoot":"","sources":["../../../src/server/paseo-worktree-archive-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,KAAK,kBAAkB,GAAG,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;AAEpE,MAAM,WAAW,gCAAgC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;IAC9D,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;IAC9D,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC;IACpD,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,EAAE,kBAAkB,CAAC;IACzB,mCAAmC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,sBAAsB,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACtF,uBAAuB,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAClE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kCAAkC;IACjD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,mBAAmB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACpF,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,gCAAgC,EAC9C,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CAwInB;AAED,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,kCAAkC,EAChD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -36,65 +36,73 @@ export async function archivePaseoWorktree(dependencies, options) {
36
36
  ...liveAgents.map((agent) => agent.id),
37
37
  ...matchingStoredRecords.map((record) => record.id),
38
38
  ]);
39
- const teardownResults = await Promise.allSettled([
40
- ...liveAgents.map((agent) => dependencies.agentManager.closeAgent(agent.id)),
41
- dependencies.killTerminalsUnderPath(targetPath),
42
- ]);
43
- for (const result of teardownResults) {
44
- if (result.status === "rejected") {
45
- dependencies.sessionLogger?.warn({ err: result.reason, targetPath }, "Worktree teardown step failed during archive; continuing");
39
+ const affectedWorkspaceIdList = Array.from(affectedWorkspaceIds);
40
+ dependencies.markWorkspaceArchiving(affectedWorkspaceIdList, new Date().toISOString());
41
+ try {
42
+ await dependencies.emitWorkspaceUpdatesForWorkspaceIds(affectedWorkspaceIdList);
43
+ const teardownResults = await Promise.allSettled([
44
+ ...liveAgents.map((agent) => dependencies.agentManager.closeAgent(agent.id)),
45
+ dependencies.killTerminalsUnderPath(targetPath),
46
+ ]);
47
+ for (const result of teardownResults) {
48
+ if (result.status === "rejected") {
49
+ dependencies.sessionLogger?.warn({ err: result.reason, targetPath }, "Worktree teardown step failed during archive; continuing");
50
+ }
46
51
  }
47
- }
48
- const agentIdsToRemove = Array.from(agentIdsToRemoveFromStorage);
49
- const storageRemovalResults = await Promise.allSettled(agentIdsToRemove.map((agentId) => dependencies.agentStorage.remove(agentId)));
50
- storageRemovalResults.forEach((result, index) => {
51
- if (result.status === "fulfilled") {
52
- return;
52
+ const agentIdsToRemove = Array.from(agentIdsToRemoveFromStorage);
53
+ const storageRemovalResults = await Promise.allSettled(agentIdsToRemove.map((agentId) => dependencies.agentStorage.remove(agentId)));
54
+ storageRemovalResults.forEach((result, index) => {
55
+ if (result.status === "fulfilled") {
56
+ return;
57
+ }
58
+ dependencies.sessionLogger?.warn({
59
+ err: result.reason,
60
+ agentId: agentIdsToRemove[index],
61
+ targetPath,
62
+ }, "Failed to remove archived worktree agent from storage; continuing");
63
+ });
64
+ await deletePaseoWorktree({
65
+ cwd: options.repoRoot,
66
+ worktreePath: targetPath,
67
+ worktreesRoot: options.worktreesRoot,
68
+ paseoHome: dependencies.paseoHome,
69
+ });
70
+ if (options.repoRoot) {
71
+ try {
72
+ await dependencies.workspaceGitService.getSnapshot(options.repoRoot, {
73
+ force: true,
74
+ reason: "archive-worktree",
75
+ });
76
+ }
77
+ catch (error) {
78
+ dependencies.sessionLogger?.warn({ err: error, cwd: options.repoRoot }, "Failed to force-refresh workspace git snapshot after archiving worktree");
79
+ }
53
80
  }
54
- dependencies.sessionLogger?.warn({
55
- err: result.reason,
56
- agentId: agentIdsToRemove[index],
57
- targetPath,
58
- }, "Failed to remove archived worktree agent from storage; continuing");
59
- });
60
- await deletePaseoWorktree({
61
- cwd: options.repoRoot,
62
- worktreePath: targetPath,
63
- worktreesRoot: options.worktreesRoot,
64
- paseoHome: dependencies.paseoHome,
65
- });
66
- if (options.repoRoot) {
67
- try {
68
- await dependencies.workspaceGitService.getSnapshot(options.repoRoot, {
69
- force: true,
70
- reason: "archive-worktree",
71
- });
81
+ for (const cwd of affectedWorkspaceCwds) {
82
+ dependencies.github.invalidate({ cwd });
72
83
  }
73
- catch (error) {
74
- dependencies.sessionLogger?.warn({ err: error, cwd: options.repoRoot }, "Failed to force-refresh workspace git snapshot after archiving worktree");
84
+ await Promise.all(affectedWorkspaceIdList.map(async (workspaceId) => {
85
+ try {
86
+ await dependencies.archiveWorkspaceRecord(workspaceId);
87
+ }
88
+ catch (error) {
89
+ dependencies.sessionLogger?.warn({ err: error, workspaceId }, "Failed to archive workspace record; worktree FS already removed");
90
+ }
91
+ }));
92
+ for (const agentId of removedAgents) {
93
+ dependencies.emit({
94
+ type: "agent_deleted",
95
+ payload: {
96
+ agentId,
97
+ requestId: options.requestId,
98
+ },
99
+ });
75
100
  }
76
101
  }
77
- for (const cwd of affectedWorkspaceCwds) {
78
- dependencies.github.invalidate({ cwd });
79
- }
80
- await Promise.all(Array.from(affectedWorkspaceIds).map(async (workspaceId) => {
81
- try {
82
- await dependencies.archiveWorkspaceRecord(workspaceId);
83
- }
84
- catch (error) {
85
- dependencies.sessionLogger?.warn({ err: error, workspaceId }, "Failed to archive workspace record; worktree FS already removed");
86
- }
87
- }));
88
- for (const agentId of removedAgents) {
89
- dependencies.emit({
90
- type: "agent_deleted",
91
- payload: {
92
- agentId,
93
- requestId: options.requestId,
94
- },
95
- });
102
+ finally {
103
+ dependencies.clearWorkspaceArchiving(affectedWorkspaceIdList);
104
+ await dependencies.emitWorkspaceUpdatesForWorkspaceIds(affectedWorkspaceIdList);
96
105
  }
97
- await dependencies.emitWorkspaceUpdatesForCwds(affectedWorkspaceCwds);
98
106
  return Array.from(removedAgents);
99
107
  }
100
108
  export async function killTerminalsUnderPath(dependencies, rootPath) {
@@ -1 +1 @@
1
- {"version":3,"file":"paseo-worktree-archive-service.js","sourceRoot":"","sources":["../../../src/server/paseo-worktree-archive-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paseo-worktree-archive-service.js","sourceRoot":"","sources":["../../../src/server/paseo-worktree-archive-service.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import type { WorkspaceGitService } from "./workspace-git-service.js";
2
2
  import { type PersistedWorkspaceRecord, type ProjectRegistry, type WorkspaceRegistry } from "./workspace-registry.js";
3
3
  import { type CreateWorktreeCoreDeps, type CreateWorktreeCoreInput } from "./worktree-core.js";
4
4
  import type { WorktreeConfig } from "../utils/worktree.js";
5
+ import { renameCurrentBranch } from "../utils/checkout-git.js";
5
6
  import type { WorktreeCreationIntent } from "./resolve-worktree-creation-intent.js";
7
+ import type { FirstAgentContext } from "../shared/messages.js";
6
8
  export interface CreatePaseoWorktreeInput extends CreateWorktreeCoreInput {
7
9
  }
8
10
  export interface CreatePaseoWorktreeResult {
@@ -15,10 +17,21 @@ export interface CreatePaseoWorktreeResult {
15
17
  export type CreatePaseoWorktreeFn = (input: CreatePaseoWorktreeInput, options?: {
16
18
  resolveDefaultBranch?: (repoRoot: string) => Promise<string>;
17
19
  }) => Promise<CreatePaseoWorktreeResult>;
20
+ export interface AttemptFirstAgentBranchAutoNameResult {
21
+ attempted: boolean;
22
+ renamed: boolean;
23
+ branchName: string | null;
24
+ }
18
25
  export interface CreatePaseoWorktreeDeps extends CreateWorktreeCoreDeps {
19
26
  projectRegistry: Pick<ProjectRegistry, "get" | "upsert">;
20
27
  workspaceRegistry: Pick<WorkspaceRegistry, "get" | "list" | "upsert">;
21
28
  workspaceGitService: WorkspaceGitService;
22
29
  }
23
30
  export declare function createPaseoWorktree(input: CreatePaseoWorktreeInput, deps: CreatePaseoWorktreeDeps): Promise<CreatePaseoWorktreeResult>;
31
+ export declare function attemptFirstAgentBranchAutoName(options: {
32
+ cwd: string;
33
+ firstAgentContext: FirstAgentContext | undefined;
34
+ generateBranchName: (seed: string | undefined) => string;
35
+ renameCurrentBranch?: typeof renameCurrentBranch;
36
+ }): Promise<AttemptFirstAgentBranchAutoNameResult>;
24
37
  //# sourceMappingURL=paseo-worktree-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paseo-worktree-service.d.ts","sourceRoot":"","sources":["../../../src/server/paseo-worktree-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;CAAG;AAE5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,wBAAwB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE;IACR,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D,KACE,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;IACrE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IACzD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACtE,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CAkBpC"}
1
+ {"version":3,"file":"paseo-worktree-service.d.ts","sourceRoot":"","sources":["../../../src/server/paseo-worktree-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAGvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;CAAG;AAE5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,wBAAwB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE;IACR,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D,KACE,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,MAAM,WAAW,qCAAqC;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;IACrE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;IACzD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC;IACtE,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C;AAED,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,yBAAyB,CAAC,CA0BpC;AAED,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACjD,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;IACzD,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;CAClD,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAmCjD"}
@@ -1,23 +1,92 @@
1
1
  import { createPersistedProjectRecord, createPersistedWorkspaceRecord, } from "./workspace-registry.js";
2
2
  import { deriveProjectGroupingName, normalizeWorkspaceId } from "./workspace-registry-model.js";
3
3
  import { createWorktreeCore, } from "./worktree-core.js";
4
+ import { validateBranchSlug } from "../utils/worktree.js";
5
+ import { renameCurrentBranch } from "../utils/checkout-git.js";
6
+ import { markPaseoWorktreeFirstAgentBranchAutoNameAttempted, readPaseoWorktreeMetadata, writePaseoWorktreeFirstAgentBranchAutoNameMetadata, } from "../utils/worktree-metadata.js";
7
+ import { buildAgentBranchNameSeed } from "./agent/prompt-attachments.js";
4
8
  export async function createPaseoWorktree(input, deps) {
5
9
  const createdWorktree = await createWorktreeCore(input, deps);
10
+ if (!buildAgentBranchNameSeed(input.firstAgentContext)) {
11
+ maybeMarkFirstAgentBranchAutoNameEligible({ createdWorktree });
12
+ }
13
+ const worktree = await maybeAutoNameCreatedWorktree({
14
+ input,
15
+ createdWorktree,
16
+ deps,
17
+ });
6
18
  const workspace = await upsertWorkspaceForWorktree({
7
19
  inputCwd: input.cwd,
8
20
  repoRoot: createdWorktree.repoRoot,
9
- worktree: createdWorktree.worktree,
21
+ worktree,
10
22
  deps,
11
23
  });
12
- deps.github.invalidate({ cwd: createdWorktree.worktree.worktreePath });
24
+ deps.github.invalidate({ cwd: worktree.worktreePath });
13
25
  return {
14
- worktree: createdWorktree.worktree,
26
+ worktree,
15
27
  intent: createdWorktree.intent,
16
28
  workspace,
17
29
  repoRoot: createdWorktree.repoRoot,
18
30
  created: createdWorktree.created,
19
31
  };
20
32
  }
33
+ export async function attemptFirstAgentBranchAutoName(options) {
34
+ const seed = buildAgentBranchNameSeed(options.firstAgentContext);
35
+ if (!seed) {
36
+ return { attempted: false, renamed: false, branchName: null };
37
+ }
38
+ let metadata;
39
+ try {
40
+ metadata = readPaseoWorktreeMetadata(options.cwd);
41
+ }
42
+ catch {
43
+ return { attempted: false, renamed: false, branchName: null };
44
+ }
45
+ if (!metadata ||
46
+ metadata.version !== 2 ||
47
+ metadata.firstAgentBranchAutoName?.status !== "pending") {
48
+ return { attempted: false, renamed: false, branchName: null };
49
+ }
50
+ markPaseoWorktreeFirstAgentBranchAutoNameAttempted(options.cwd);
51
+ const branchName = options.generateBranchName(seed);
52
+ const validation = validateBranchSlug(branchName);
53
+ if (!validation.valid || branchName === metadata.firstAgentBranchAutoName.placeholderBranchName) {
54
+ return { attempted: true, renamed: false, branchName: null };
55
+ }
56
+ const renameCurrentBranchImpl = options.renameCurrentBranch ?? renameCurrentBranch;
57
+ const renamedBranch = await renameCurrentBranchImpl(options.cwd, branchName);
58
+ return {
59
+ attempted: true,
60
+ renamed: true,
61
+ branchName: renamedBranch.currentBranch ?? branchName,
62
+ };
63
+ }
64
+ function maybeMarkFirstAgentBranchAutoNameEligible(options) {
65
+ const { createdWorktree } = options;
66
+ if (!createdWorktree.created || createdWorktree.intent.kind !== "branch-off") {
67
+ return;
68
+ }
69
+ writePaseoWorktreeFirstAgentBranchAutoNameMetadata(createdWorktree.worktree.worktreePath, {
70
+ placeholderBranchName: createdWorktree.worktree.branchName,
71
+ });
72
+ }
73
+ async function maybeAutoNameCreatedWorktree(options) {
74
+ const { input, createdWorktree, deps } = options;
75
+ const seed = buildAgentBranchNameSeed(input.firstAgentContext);
76
+ if (!seed || !createdWorktree.created || createdWorktree.intent.kind !== "branch-off") {
77
+ return createdWorktree.worktree;
78
+ }
79
+ const branchName = deps.generateBranchName(seed);
80
+ const validation = validateBranchSlug(branchName);
81
+ if (!validation.valid || branchName === createdWorktree.worktree.branchName) {
82
+ return createdWorktree.worktree;
83
+ }
84
+ const renamedBranch = await renameCurrentBranch(createdWorktree.worktree.worktreePath, branchName);
85
+ return {
86
+ ...createdWorktree.worktree,
87
+ branchName: renamedBranch.currentBranch ?? branchName,
88
+ };
89
+ }
21
90
  async function upsertWorkspaceForWorktree(options) {
22
91
  const normalizedCwd = normalizeWorkspaceId(options.worktree.worktreePath);
23
92
  const normalizedInputCwd = normalizeWorkspaceId(options.inputCwd);
@@ -1 +1 @@
1
- {"version":3,"file":"paseo-worktree-service.js","sourceRoot":"","sources":["../../../src/server/paseo-worktree-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paseo-worktree-service.js","sourceRoot":"","sources":["../../../src/server/paseo-worktree-service.ts"],"names":[],"mappings":"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"}
@@ -36,11 +36,21 @@ export declare const PersistedConfigSchema: z.ZodObject<{
36
36
  endpoint?: string | undefined;
37
37
  publicEndpoint?: string | undefined;
38
38
  }>>;
39
+ auth: z.ZodOptional<z.ZodObject<{
40
+ password: z.ZodOptional<z.ZodString>;
41
+ }, "strict", z.ZodTypeAny, {
42
+ password?: string | undefined;
43
+ }, {
44
+ password?: string | undefined;
45
+ }>>;
39
46
  }, "strict", z.ZodTypeAny, {
40
47
  mcp?: z.objectOutputType<{
41
48
  enabled: z.ZodOptional<z.ZodBoolean>;
42
49
  injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
43
50
  }, z.ZodTypeAny, "passthrough"> | undefined;
51
+ auth?: {
52
+ password?: string | undefined;
53
+ } | undefined;
44
54
  listen?: string | undefined;
45
55
  hostnames?: true | string[] | undefined;
46
56
  allowedHosts?: true | string[] | undefined;
@@ -57,6 +67,9 @@ export declare const PersistedConfigSchema: z.ZodObject<{
57
67
  enabled: z.ZodOptional<z.ZodBoolean>;
58
68
  injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
59
69
  }, z.ZodTypeAny, "passthrough"> | undefined;
70
+ auth?: {
71
+ password?: string | undefined;
72
+ } | undefined;
60
73
  listen?: string | undefined;
61
74
  hostnames?: true | string[] | undefined;
62
75
  allowedHosts?: true | string[] | undefined;
@@ -73,6 +86,9 @@ export declare const PersistedConfigSchema: z.ZodObject<{
73
86
  enabled: z.ZodOptional<z.ZodBoolean>;
74
87
  injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
75
88
  }, z.ZodTypeAny, "passthrough"> | undefined;
89
+ auth?: {
90
+ password?: string | undefined;
91
+ } | undefined;
76
92
  listen?: string | undefined;
77
93
  hostnames?: true | string[] | undefined;
78
94
  cors?: {
@@ -88,6 +104,9 @@ export declare const PersistedConfigSchema: z.ZodObject<{
88
104
  enabled: z.ZodOptional<z.ZodBoolean>;
89
105
  injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
90
106
  }, z.ZodTypeAny, "passthrough"> | undefined;
107
+ auth?: {
108
+ password?: string | undefined;
109
+ } | undefined;
91
110
  listen?: string | undefined;
92
111
  hostnames?: true | string[] | undefined;
93
112
  allowedHosts?: true | string[] | undefined;
@@ -793,6 +812,9 @@ export declare const PersistedConfigSchema: z.ZodObject<{
793
812
  enabled: z.ZodOptional<z.ZodBoolean>;
794
813
  injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
795
814
  }, z.ZodTypeAny, "passthrough"> | undefined;
815
+ auth?: {
816
+ password?: string | undefined;
817
+ } | undefined;
796
818
  listen?: string | undefined;
797
819
  hostnames?: true | string[] | undefined;
798
820
  cors?: {
@@ -872,6 +894,9 @@ export declare const PersistedConfigSchema: z.ZodObject<{
872
894
  enabled: z.ZodOptional<z.ZodBoolean>;
873
895
  injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
874
896
  }, z.ZodTypeAny, "passthrough"> | undefined;
897
+ auth?: {
898
+ password?: string | undefined;
899
+ } | undefined;
875
900
  listen?: string | undefined;
876
901
  hostnames?: true | string[] | undefined;
877
902
  allowedHosts?: true | string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"persisted-config.d.ts","sourceRoot":"","sources":["../../../src/server/persisted-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAoNzF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgEvB,CAAC;AAEZ,KAAK,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,GAAG;IAC1E,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;QAC/E,SAAS,CAAC,EAAE,+BAA+B,CAAC;KAC7C,CAAC;CACH,CAAC;AAmBF,UAAU,UAAU;IAClB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;IACrD,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAChC;AAsCD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,eAAe,CA0C3F;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,UAAU,GAClB,IAAI,CAmBN"}
1
+ {"version":3,"file":"persisted-config.d.ts","sourceRoot":"","sources":["../../../src/server/persisted-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AA8NzF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEvB,CAAC;AAEZ,KAAK,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,QAAQ,CAAC,GAAG;IAC1E,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;QAC/E,SAAS,CAAC,EAAE,+BAA+B,CAAC;KAC7C,CAAC;CACH,CAAC;AAmBF,UAAU,UAAU;IAClB,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;IACrD,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAChC;AAsCD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,eAAe,CA0C3F;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,UAAU,GAClB,IAAI,CAmBN"}
@@ -48,6 +48,14 @@ const ProvidersSchema = z
48
48
  local: LocalSpeechProviderSchema.optional(),
49
49
  })
50
50
  .strict();
51
+ const BcryptHashSchema = z.string().regex(/^\$2[aby]\$\d{2}\$[./A-Za-z0-9]{53}$/, {
52
+ message: "Expected a bcrypt hash",
53
+ });
54
+ const DaemonAuthSchema = z
55
+ .object({
56
+ password: BcryptHashSchema.optional(),
57
+ })
58
+ .strict();
51
59
  const SpeechProviderIdSchema = z
52
60
  .string()
53
61
  .trim()
@@ -215,6 +223,7 @@ export const PersistedConfigSchema = z
215
223
  })
216
224
  .strict()
217
225
  .optional(),
226
+ auth: DaemonAuthSchema.optional(),
218
227
  })
219
228
  .strict()
220
229
  .transform(({ allowedHosts, ...daemon }) => {