@seawork/cli 1.0.0

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 (358) hide show
  1. package/bin/seawork +3 -0
  2. package/dist/classify.d.ts +19 -0
  3. package/dist/classify.d.ts.map +1 -0
  4. package/dist/classify.js +49 -0
  5. package/dist/classify.js.map +1 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +103 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/commands/agent/archive.d.ts +18 -0
  11. package/dist/commands/agent/archive.d.ts.map +1 -0
  12. package/dist/commands/agent/archive.js +102 -0
  13. package/dist/commands/agent/archive.js.map +1 -0
  14. package/dist/commands/agent/attach.d.ts +11 -0
  15. package/dist/commands/agent/attach.d.ts.map +1 -0
  16. package/dist/commands/agent/attach.js +158 -0
  17. package/dist/commands/agent/attach.js.map +1 -0
  18. package/dist/commands/agent/delete.d.ts +15 -0
  19. package/dist/commands/agent/delete.d.ts.map +1 -0
  20. package/dist/commands/agent/delete.js +99 -0
  21. package/dist/commands/agent/delete.js.map +1 -0
  22. package/dist/commands/agent/index.d.ts +3 -0
  23. package/dist/commands/agent/index.d.ts.map +1 -0
  24. package/dist/commands/agent/index.js +46 -0
  25. package/dist/commands/agent/index.js.map +1 -0
  26. package/dist/commands/agent/inspect.d.ts +15 -0
  27. package/dist/commands/agent/inspect.d.ts.map +1 -0
  28. package/dist/commands/agent/inspect.js +207 -0
  29. package/dist/commands/agent/inspect.js.map +1 -0
  30. package/dist/commands/agent/logs.d.ts +16 -0
  31. package/dist/commands/agent/logs.d.ts.map +1 -0
  32. package/dist/commands/agent/logs.js +172 -0
  33. package/dist/commands/agent/logs.js.map +1 -0
  34. package/dist/commands/agent/ls.d.ts +38 -0
  35. package/dist/commands/agent/ls.d.ts.map +1 -0
  36. package/dist/commands/agent/ls.js +191 -0
  37. package/dist/commands/agent/ls.js.map +1 -0
  38. package/dist/commands/agent/mode.d.ts +18 -0
  39. package/dist/commands/agent/mode.d.ts.map +1 -0
  40. package/dist/commands/agent/mode.js +100 -0
  41. package/dist/commands/agent/mode.js.map +1 -0
  42. package/dist/commands/agent/reload.d.ts +15 -0
  43. package/dist/commands/agent/reload.d.ts.map +1 -0
  44. package/dist/commands/agent/reload.js +75 -0
  45. package/dist/commands/agent/reload.js.map +1 -0
  46. package/dist/commands/agent/run.d.ts +47 -0
  47. package/dist/commands/agent/run.d.ts.map +1 -0
  48. package/dist/commands/agent/run.js +431 -0
  49. package/dist/commands/agent/run.js.map +1 -0
  50. package/dist/commands/agent/send.d.ts +19 -0
  51. package/dist/commands/agent/send.d.ts.map +1 -0
  52. package/dist/commands/agent/send.js +217 -0
  53. package/dist/commands/agent/send.js.map +1 -0
  54. package/dist/commands/agent/stop.d.ts +17 -0
  55. package/dist/commands/agent/stop.d.ts.map +1 -0
  56. package/dist/commands/agent/stop.js +107 -0
  57. package/dist/commands/agent/stop.js.map +1 -0
  58. package/dist/commands/agent/update.d.ts +18 -0
  59. package/dist/commands/agent/update.d.ts.map +1 -0
  60. package/dist/commands/agent/update.js +139 -0
  61. package/dist/commands/agent/update.js.map +1 -0
  62. package/dist/commands/agent/wait.d.ts +17 -0
  63. package/dist/commands/agent/wait.d.ts.map +1 -0
  64. package/dist/commands/agent/wait.js +164 -0
  65. package/dist/commands/agent/wait.js.map +1 -0
  66. package/dist/commands/chat/create.d.ts +9 -0
  67. package/dist/commands/chat/create.d.ts.map +1 -0
  68. package/dist/commands/chat/create.js +23 -0
  69. package/dist/commands/chat/create.js.map +1 -0
  70. package/dist/commands/chat/delete.d.ts +6 -0
  71. package/dist/commands/chat/delete.d.ts.map +1 -0
  72. package/dist/commands/chat/delete.js +20 -0
  73. package/dist/commands/chat/delete.js.map +1 -0
  74. package/dist/commands/chat/index.d.ts +3 -0
  75. package/dist/commands/chat/index.d.ts.map +1 -0
  76. package/dist/commands/chat/index.js +47 -0
  77. package/dist/commands/chat/index.js.map +1 -0
  78. package/dist/commands/chat/inspect.d.ts +6 -0
  79. package/dist/commands/chat/inspect.d.ts.map +1 -0
  80. package/dist/commands/chat/inspect.js +20 -0
  81. package/dist/commands/chat/inspect.js.map +1 -0
  82. package/dist/commands/chat/ls.d.ts +6 -0
  83. package/dist/commands/chat/ls.d.ts.map +1 -0
  84. package/dist/commands/chat/ls.js +20 -0
  85. package/dist/commands/chat/ls.js.map +1 -0
  86. package/dist/commands/chat/post.d.ts +9 -0
  87. package/dist/commands/chat/post.d.ts.map +1 -0
  88. package/dist/commands/chat/post.js +28 -0
  89. package/dist/commands/chat/post.js.map +1 -0
  90. package/dist/commands/chat/read.d.ts +11 -0
  91. package/dist/commands/chat/read.d.ts.map +1 -0
  92. package/dist/commands/chat/read.js +40 -0
  93. package/dist/commands/chat/read.js.map +1 -0
  94. package/dist/commands/chat/schema.d.ts +36 -0
  95. package/dist/commands/chat/schema.d.ts.map +1 -0
  96. package/dist/commands/chat/schema.js +81 -0
  97. package/dist/commands/chat/schema.js.map +1 -0
  98. package/dist/commands/chat/shared.d.ts +16 -0
  99. package/dist/commands/chat/shared.d.ts.map +1 -0
  100. package/dist/commands/chat/shared.js +108 -0
  101. package/dist/commands/chat/shared.js.map +1 -0
  102. package/dist/commands/chat/wait.d.ts +9 -0
  103. package/dist/commands/chat/wait.d.ts.map +1 -0
  104. package/dist/commands/chat/wait.js +30 -0
  105. package/dist/commands/chat/wait.js.map +1 -0
  106. package/dist/commands/daemon/index.d.ts +3 -0
  107. package/dist/commands/daemon/index.d.ts.map +1 -0
  108. package/dist/commands/daemon/index.js +34 -0
  109. package/dist/commands/daemon/index.js.map +1 -0
  110. package/dist/commands/daemon/local-daemon.d.ts +54 -0
  111. package/dist/commands/daemon/local-daemon.d.ts.map +1 -0
  112. package/dist/commands/daemon/local-daemon.js +400 -0
  113. package/dist/commands/daemon/local-daemon.js.map +1 -0
  114. package/dist/commands/daemon/pair.d.ts +9 -0
  115. package/dist/commands/daemon/pair.d.ts.map +1 -0
  116. package/dist/commands/daemon/pair.js +42 -0
  117. package/dist/commands/daemon/pair.js.map +1 -0
  118. package/dist/commands/daemon/restart.d.ts +12 -0
  119. package/dist/commands/daemon/restart.d.ts.map +1 -0
  120. package/dist/commands/daemon/restart.js +98 -0
  121. package/dist/commands/daemon/restart.js.map +1 -0
  122. package/dist/commands/daemon/runtime-toolchain.d.ts +6 -0
  123. package/dist/commands/daemon/runtime-toolchain.d.ts.map +1 -0
  124. package/dist/commands/daemon/runtime-toolchain.js +102 -0
  125. package/dist/commands/daemon/runtime-toolchain.js.map +1 -0
  126. package/dist/commands/daemon/start.d.ts +6 -0
  127. package/dist/commands/daemon/start.d.ts.map +1 -0
  128. package/dist/commands/daemon/start.js +49 -0
  129. package/dist/commands/daemon/start.js.map +1 -0
  130. package/dist/commands/daemon/status.d.ts +10 -0
  131. package/dist/commands/daemon/status.d.ts.map +1 -0
  132. package/dist/commands/daemon/status.js +269 -0
  133. package/dist/commands/daemon/status.js.map +1 -0
  134. package/dist/commands/daemon/stop.d.ts +12 -0
  135. package/dist/commands/daemon/stop.d.ts.map +1 -0
  136. package/dist/commands/daemon/stop.js +56 -0
  137. package/dist/commands/daemon/stop.js.map +1 -0
  138. package/dist/commands/loop/index.d.ts +3 -0
  139. package/dist/commands/loop/index.d.ts.map +1 -0
  140. package/dist/commands/loop/index.js +18 -0
  141. package/dist/commands/loop/index.js.map +1 -0
  142. package/dist/commands/loop/inspect.d.ts +13 -0
  143. package/dist/commands/loop/inspect.d.ts.map +1 -0
  144. package/dist/commands/loop/inspect.js +100 -0
  145. package/dist/commands/loop/inspect.js.map +1 -0
  146. package/dist/commands/loop/logs.d.ts +8 -0
  147. package/dist/commands/loop/logs.d.ts.map +1 -0
  148. package/dist/commands/loop/logs.js +69 -0
  149. package/dist/commands/loop/logs.js.map +1 -0
  150. package/dist/commands/loop/ls.d.ts +18 -0
  151. package/dist/commands/loop/ls.d.ts.map +1 -0
  152. package/dist/commands/loop/ls.js +62 -0
  153. package/dist/commands/loop/ls.js.map +1 -0
  154. package/dist/commands/loop/run.d.ts +26 -0
  155. package/dist/commands/loop/run.d.ts.map +1 -0
  156. package/dist/commands/loop/run.js +116 -0
  157. package/dist/commands/loop/run.js.map +1 -0
  158. package/dist/commands/loop/stop.d.ts +15 -0
  159. package/dist/commands/loop/stop.d.ts.map +1 -0
  160. package/dist/commands/loop/stop.js +56 -0
  161. package/dist/commands/loop/stop.js.map +1 -0
  162. package/dist/commands/loop/types.d.ts +134 -0
  163. package/dist/commands/loop/types.d.ts.map +1 -0
  164. package/dist/commands/loop/types.js +2 -0
  165. package/dist/commands/loop/types.js.map +1 -0
  166. package/dist/commands/onboard.d.ts +10 -0
  167. package/dist/commands/onboard.d.ts.map +1 -0
  168. package/dist/commands/onboard.js +374 -0
  169. package/dist/commands/onboard.js.map +1 -0
  170. package/dist/commands/open.d.ts +2 -0
  171. package/dist/commands/open.d.ts.map +1 -0
  172. package/dist/commands/open.js +82 -0
  173. package/dist/commands/open.js.map +1 -0
  174. package/dist/commands/permit/allow.d.ts +20 -0
  175. package/dist/commands/permit/allow.d.ts.map +1 -0
  176. package/dist/commands/permit/allow.js +134 -0
  177. package/dist/commands/permit/allow.js.map +1 -0
  178. package/dist/commands/permit/deny.d.ts +12 -0
  179. package/dist/commands/permit/deny.d.ts.map +1 -0
  180. package/dist/commands/permit/deny.js +106 -0
  181. package/dist/commands/permit/deny.js.map +1 -0
  182. package/dist/commands/permit/index.d.ts +3 -0
  183. package/dist/commands/permit/index.d.ts.map +1 -0
  184. package/dist/commands/permit/index.js +27 -0
  185. package/dist/commands/permit/index.js.map +1 -0
  186. package/dist/commands/permit/ls.d.ts +18 -0
  187. package/dist/commands/permit/ls.d.ts.map +1 -0
  188. package/dist/commands/permit/ls.js +66 -0
  189. package/dist/commands/permit/ls.js.map +1 -0
  190. package/dist/commands/provider/index.d.ts +3 -0
  191. package/dist/commands/provider/index.d.ts.map +1 -0
  192. package/dist/commands/provider/index.js +16 -0
  193. package/dist/commands/provider/index.js.map +1 -0
  194. package/dist/commands/provider/ls.d.ts +17 -0
  195. package/dist/commands/provider/ls.d.ts.map +1 -0
  196. package/dist/commands/provider/ls.js +38 -0
  197. package/dist/commands/provider/ls.js.map +1 -0
  198. package/dist/commands/provider/models.d.ts +20 -0
  199. package/dist/commands/provider/models.d.ts.map +1 -0
  200. package/dist/commands/provider/models.js +53 -0
  201. package/dist/commands/provider/models.js.map +1 -0
  202. package/dist/commands/schedule/create.d.ts +13 -0
  203. package/dist/commands/schedule/create.d.ts.map +1 -0
  204. package/dist/commands/schedule/create.js +32 -0
  205. package/dist/commands/schedule/create.js.map +1 -0
  206. package/dist/commands/schedule/delete.d.ts +10 -0
  207. package/dist/commands/schedule/delete.d.ts.map +1 -0
  208. package/dist/commands/schedule/delete.js +32 -0
  209. package/dist/commands/schedule/delete.js.map +1 -0
  210. package/dist/commands/schedule/index.d.ts +3 -0
  211. package/dist/commands/schedule/index.d.ts.map +1 -0
  212. package/dist/commands/schedule/index.js +37 -0
  213. package/dist/commands/schedule/index.js.map +1 -0
  214. package/dist/commands/schedule/inspect.d.ts +6 -0
  215. package/dist/commands/schedule/inspect.d.ts.map +1 -0
  216. package/dist/commands/schedule/inspect.js +24 -0
  217. package/dist/commands/schedule/inspect.js.map +1 -0
  218. package/dist/commands/schedule/logs.d.ts +6 -0
  219. package/dist/commands/schedule/logs.d.ts.map +1 -0
  220. package/dist/commands/schedule/logs.js +23 -0
  221. package/dist/commands/schedule/logs.js.map +1 -0
  222. package/dist/commands/schedule/ls.d.ts +5 -0
  223. package/dist/commands/schedule/ls.d.ts.map +1 -0
  224. package/dist/commands/schedule/ls.js +23 -0
  225. package/dist/commands/schedule/ls.js.map +1 -0
  226. package/dist/commands/schedule/pause.d.ts +5 -0
  227. package/dist/commands/schedule/pause.d.ts.map +1 -0
  228. package/dist/commands/schedule/pause.js +23 -0
  229. package/dist/commands/schedule/pause.js.map +1 -0
  230. package/dist/commands/schedule/resume.d.ts +5 -0
  231. package/dist/commands/schedule/resume.d.ts.map +1 -0
  232. package/dist/commands/schedule/resume.js +23 -0
  233. package/dist/commands/schedule/resume.js.map +1 -0
  234. package/dist/commands/schedule/schema.d.ts +21 -0
  235. package/dist/commands/schedule/schema.d.ts.map +1 -0
  236. package/dist/commands/schedule/schema.js +67 -0
  237. package/dist/commands/schedule/schema.js.map +1 -0
  238. package/dist/commands/schedule/shared.d.ts +33 -0
  239. package/dist/commands/schedule/shared.d.ts.map +1 -0
  240. package/dist/commands/schedule/shared.js +148 -0
  241. package/dist/commands/schedule/shared.js.map +1 -0
  242. package/dist/commands/schedule/types.d.ts +137 -0
  243. package/dist/commands/schedule/types.d.ts.map +1 -0
  244. package/dist/commands/schedule/types.js +2 -0
  245. package/dist/commands/schedule/types.js.map +1 -0
  246. package/dist/commands/speech/index.d.ts +3 -0
  247. package/dist/commands/speech/index.d.ts.map +1 -0
  248. package/dist/commands/speech/index.js +5 -0
  249. package/dist/commands/speech/index.js.map +1 -0
  250. package/dist/commands/terminal/capture.d.ts +10 -0
  251. package/dist/commands/terminal/capture.d.ts.map +1 -0
  252. package/dist/commands/terminal/capture.js +68 -0
  253. package/dist/commands/terminal/capture.js.map +1 -0
  254. package/dist/commands/terminal/create.d.ts +10 -0
  255. package/dist/commands/terminal/create.d.ts.map +1 -0
  256. package/dist/commands/terminal/create.js +28 -0
  257. package/dist/commands/terminal/create.js.map +1 -0
  258. package/dist/commands/terminal/index.d.ts +3 -0
  259. package/dist/commands/terminal/index.d.ts.map +1 -0
  260. package/dist/commands/terminal/index.js +43 -0
  261. package/dist/commands/terminal/index.js.map +1 -0
  262. package/dist/commands/terminal/kill.d.ts +6 -0
  263. package/dist/commands/terminal/kill.d.ts.map +1 -0
  264. package/dist/commands/terminal/kill.js +36 -0
  265. package/dist/commands/terminal/kill.js.map +1 -0
  266. package/dist/commands/terminal/ls.d.ts +10 -0
  267. package/dist/commands/terminal/ls.d.ts.map +1 -0
  268. package/dist/commands/terminal/ls.js +21 -0
  269. package/dist/commands/terminal/ls.js.map +1 -0
  270. package/dist/commands/terminal/schema.d.ts +18 -0
  271. package/dist/commands/terminal/schema.d.ts.map +1 -0
  272. package/dist/commands/terminal/schema.js +23 -0
  273. package/dist/commands/terminal/schema.js.map +1 -0
  274. package/dist/commands/terminal/send-keys.d.ts +7 -0
  275. package/dist/commands/terminal/send-keys.d.ts.map +1 -0
  276. package/dist/commands/terminal/send-keys.js +76 -0
  277. package/dist/commands/terminal/send-keys.js.map +1 -0
  278. package/dist/commands/terminal/shared.d.ts +12 -0
  279. package/dist/commands/terminal/shared.d.ts.map +1 -0
  280. package/dist/commands/terminal/shared.js +61 -0
  281. package/dist/commands/terminal/shared.js.map +1 -0
  282. package/dist/commands/worktree/archive.d.ts +16 -0
  283. package/dist/commands/worktree/archive.d.ts.map +1 -0
  284. package/dist/commands/worktree/archive.js +99 -0
  285. package/dist/commands/worktree/archive.js.map +1 -0
  286. package/dist/commands/worktree/index.d.ts +3 -0
  287. package/dist/commands/worktree/index.d.ts.map +1 -0
  288. package/dist/commands/worktree/index.js +15 -0
  289. package/dist/commands/worktree/index.js.map +1 -0
  290. package/dist/commands/worktree/ls.d.ts +19 -0
  291. package/dist/commands/worktree/ls.d.ts.map +1 -0
  292. package/dist/commands/worktree/ls.js +97 -0
  293. package/dist/commands/worktree/ls.js.map +1 -0
  294. package/dist/index.d.ts +2 -0
  295. package/dist/index.d.ts.map +1 -0
  296. package/dist/index.js +24 -0
  297. package/dist/index.js.map +1 -0
  298. package/dist/output/index.d.ts +45 -0
  299. package/dist/output/index.d.ts.map +1 -0
  300. package/dist/output/index.js +47 -0
  301. package/dist/output/index.js.map +1 -0
  302. package/dist/output/json.d.ts +11 -0
  303. package/dist/output/json.d.ts.map +1 -0
  304. package/dist/output/json.js +37 -0
  305. package/dist/output/json.js.map +1 -0
  306. package/dist/output/quiet.d.ts +9 -0
  307. package/dist/output/quiet.d.ts.map +1 -0
  308. package/dist/output/quiet.js +22 -0
  309. package/dist/output/quiet.js.map +1 -0
  310. package/dist/output/render.d.ts +15 -0
  311. package/dist/output/render.d.ts.map +1 -0
  312. package/dist/output/render.js +83 -0
  313. package/dist/output/render.js.map +1 -0
  314. package/dist/output/table.d.ts +13 -0
  315. package/dist/output/table.d.ts.map +1 -0
  316. package/dist/output/table.js +135 -0
  317. package/dist/output/table.js.map +1 -0
  318. package/dist/output/types.d.ts +73 -0
  319. package/dist/output/types.d.ts.map +1 -0
  320. package/dist/output/types.js +8 -0
  321. package/dist/output/types.js.map +1 -0
  322. package/dist/output/with-output.d.ts +37 -0
  323. package/dist/output/with-output.d.ts.map +1 -0
  324. package/dist/output/with-output.js +87 -0
  325. package/dist/output/with-output.js.map +1 -0
  326. package/dist/output/yaml.d.ts +11 -0
  327. package/dist/output/yaml.d.ts.map +1 -0
  328. package/dist/output/yaml.js +38 -0
  329. package/dist/output/yaml.js.map +1 -0
  330. package/dist/utils/client-id.d.ts +2 -0
  331. package/dist/utils/client-id.d.ts.map +1 -0
  332. package/dist/utils/client-id.js +37 -0
  333. package/dist/utils/client-id.js.map +1 -0
  334. package/dist/utils/client.d.ts +47 -0
  335. package/dist/utils/client.d.ts.map +1 -0
  336. package/dist/utils/client.js +230 -0
  337. package/dist/utils/client.js.map +1 -0
  338. package/dist/utils/command-options.d.ts +6 -0
  339. package/dist/utils/command-options.d.ts.map +1 -0
  340. package/dist/utils/command-options.js +17 -0
  341. package/dist/utils/command-options.js.map +1 -0
  342. package/dist/utils/duration.d.ts +7 -0
  343. package/dist/utils/duration.d.ts.map +1 -0
  344. package/dist/utils/duration.js +38 -0
  345. package/dist/utils/duration.js.map +1 -0
  346. package/dist/utils/errors.d.ts +5 -0
  347. package/dist/utils/errors.d.ts.map +1 -0
  348. package/dist/utils/errors.js +10 -0
  349. package/dist/utils/errors.js.map +1 -0
  350. package/dist/utils/paths.d.ts +12 -0
  351. package/dist/utils/paths.d.ts.map +1 -0
  352. package/dist/utils/paths.js +22 -0
  353. package/dist/utils/paths.js.map +1 -0
  354. package/dist/utils/timeline.d.ts +8 -0
  355. package/dist/utils/timeline.d.ts.map +1 -0
  356. package/dist/utils/timeline.js +9 -0
  357. package/dist/utils/timeline.js.map +1 -0
  358. package/package.json +42 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/commands/terminal/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,WAAW,CAOpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,eAAe,CAM5D,CAAC;AAEF,wBAAgB,aAAa,CAC3B,QAAQ,EAAE;IACR,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,EACD,GAAG,CAAC,EAAE,MAAM,GACX,WAAW,CAMb"}
@@ -0,0 +1,23 @@
1
+ export const terminalSchema = {
2
+ idField: "id",
3
+ columns: [
4
+ { header: "ID", field: (row) => row.id.slice(0, 8), width: 8 },
5
+ { header: "NAME", field: "name", width: 24 },
6
+ { header: "CWD", field: "cwd", width: 48 },
7
+ ],
8
+ };
9
+ export const terminalKillSchema = {
10
+ idField: "terminalId",
11
+ columns: [
12
+ { header: "ID", field: (row) => row.terminalId.slice(0, 8), width: 8 },
13
+ { header: "SUCCESS", field: "success", width: 8 },
14
+ ],
15
+ };
16
+ export function toTerminalRow(terminal, cwd) {
17
+ return {
18
+ id: terminal.id,
19
+ name: terminal.name,
20
+ cwd: terminal.cwd ?? cwd ?? "-",
21
+ };
22
+ }
23
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/commands/terminal/schema.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,OAAO,EAAE,IAAI;IACb,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QAC9D,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC5C,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;KAC3C;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAkC;IAC/D,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACtE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;KAClD;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAC3B,QAIC,EACD,GAAY;IAEZ,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG;KAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { Command } from "commander";
2
+ import { type TerminalCommandOptions } from "./shared.js";
3
+ export interface TerminalSendKeysOptions extends TerminalCommandOptions {
4
+ literal?: boolean;
5
+ }
6
+ export declare function runSendKeysCommand(terminalId: string, keys: string[], _options: TerminalSendKeysOptions, command: Command): Promise<void>;
7
+ //# sourceMappingURL=send-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-keys.d.ts","sourceRoot":"","sources":["../../../src/commands/terminal/send-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,uBAAwB,SAAQ,sBAAsB;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,uBAAuB,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -0,0 +1,76 @@
1
+ import { renderError, toCommandError } from "../../output/render.js";
2
+ import { connectTerminalClient, resolveTerminalId, toTerminalCommandError, } from "./shared.js";
3
+ export async function runSendKeysCommand(terminalId, keys, _options, command) {
4
+ const options = command.optsWithGlobals();
5
+ try {
6
+ const payload = await executeSendKeysCommand(terminalId, keys, options);
7
+ if (options.json) {
8
+ process.stdout.write(JSON.stringify(payload, null, 2) + "\n");
9
+ }
10
+ }
11
+ catch (err) {
12
+ const output = renderError(toCommandError(err), {
13
+ format: options.json ? "json" : "table",
14
+ noColor: options.color === false,
15
+ });
16
+ process.stderr.write(output + "\n");
17
+ process.exit(1);
18
+ }
19
+ }
20
+ async function executeSendKeysCommand(terminalId, keys, options) {
21
+ const { client } = await connectTerminalClient(options.host);
22
+ try {
23
+ const resolvedId = await resolveTerminalId(client, terminalId);
24
+ if (!resolvedId) {
25
+ throw {
26
+ code: "TERMINAL_NOT_FOUND",
27
+ message: `No terminal found matching: ${terminalId}`,
28
+ details: "Use `seawork terminal ls --all` to list available terminals.",
29
+ };
30
+ }
31
+ const data = keys.map((key) => resolveKeyToken(key, options.literal === true)).join("");
32
+ client.sendTerminalInput(resolvedId, { type: "input", data });
33
+ return {
34
+ terminalId: resolvedId,
35
+ keysSent: data.length,
36
+ };
37
+ }
38
+ catch (err) {
39
+ throw toTerminalCommandError("TERMINAL_SEND_KEYS_FAILED", "send terminal keys", err);
40
+ }
41
+ finally {
42
+ await client.close().catch(() => { });
43
+ }
44
+ }
45
+ function resolveKeyToken(key, literal) {
46
+ if (literal) {
47
+ return key;
48
+ }
49
+ switch (key) {
50
+ case "Enter":
51
+ return "\r";
52
+ case "Tab":
53
+ return "\t";
54
+ case "Escape":
55
+ return "\u001b";
56
+ case "Space":
57
+ return " ";
58
+ case "BSpace":
59
+ return "\u007f";
60
+ case "C-c":
61
+ return "\u0003";
62
+ case "C-d":
63
+ return "\u0004";
64
+ case "C-z":
65
+ return "\u001a";
66
+ case "C-l":
67
+ return "\u000c";
68
+ case "C-a":
69
+ return "\u0001";
70
+ case "C-e":
71
+ return "\u0005";
72
+ default:
73
+ return key;
74
+ }
75
+ }
76
+ //# sourceMappingURL=send-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-keys.js","sourceRoot":"","sources":["../../../src/commands/terminal/send-keys.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { connectToDaemon } from "../../utils/client.js";
2
+ import type { CommandError, CommandOptions } from "../../output/index.js";
3
+ export interface TerminalCommandOptions extends CommandOptions {
4
+ host?: string;
5
+ }
6
+ export declare function connectTerminalClient(host?: string): Promise<{
7
+ client: import("@seawork/server").DaemonClient;
8
+ daemonHost: string;
9
+ }>;
10
+ export declare function toTerminalCommandError(code: string, action: string, err: unknown): CommandError;
11
+ export declare function resolveTerminalId(client: Awaited<ReturnType<typeof connectToDaemon>>, idOrName: string): Promise<string | null>;
12
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/commands/terminal/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM;;;GAcxD;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,YAAY,CAe/F;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,EACnD,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGxB"}
@@ -0,0 +1,61 @@
1
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
2
+ export async function connectTerminalClient(host) {
3
+ const daemonHost = getDaemonHost({ host });
4
+ try {
5
+ const client = await connectToDaemon({ host });
6
+ return { client, daemonHost };
7
+ }
8
+ catch (err) {
9
+ const message = err instanceof Error ? err.message : String(err);
10
+ const error = {
11
+ code: "DAEMON_NOT_RUNNING",
12
+ message: `Cannot connect to daemon at ${daemonHost}: ${message}`,
13
+ details: "Start the daemon with: seawork daemon start",
14
+ };
15
+ throw error;
16
+ }
17
+ }
18
+ export function toTerminalCommandError(code, action, err) {
19
+ if (err && typeof err === "object" && "code" in err && "message" in err) {
20
+ return err;
21
+ }
22
+ const message = err instanceof Error ? err.message : String(err);
23
+ const rpcCode = typeof err === "object" && err !== null && "code" in err && typeof err.code === "string"
24
+ ? err.code
25
+ : undefined;
26
+ return {
27
+ code: rpcCode ?? code,
28
+ message: `Failed to ${action}: ${message}`,
29
+ };
30
+ }
31
+ export async function resolveTerminalId(client, idOrName) {
32
+ const payload = await client.listTerminals();
33
+ return resolveTerminalIdentifier(idOrName, payload.terminals);
34
+ }
35
+ function resolveTerminalIdentifier(idOrName, terminals) {
36
+ if (!idOrName || terminals.length === 0) {
37
+ return null;
38
+ }
39
+ const query = idOrName.toLowerCase();
40
+ const exactMatch = terminals.find((terminal) => terminal.id === idOrName);
41
+ if (exactMatch) {
42
+ return exactMatch.id;
43
+ }
44
+ const prefixMatches = terminals.filter((terminal) => terminal.id.toLowerCase().startsWith(query));
45
+ if (prefixMatches.length === 1 && prefixMatches[0]) {
46
+ return prefixMatches[0].id;
47
+ }
48
+ if (prefixMatches.length > 1) {
49
+ return null;
50
+ }
51
+ const nameMatches = terminals.filter((terminal) => terminal.name?.toLowerCase() === query);
52
+ if (nameMatches.length === 1 && nameMatches[0]) {
53
+ return nameMatches[0].id;
54
+ }
55
+ const partialNameMatches = terminals.filter((terminal) => terminal.name?.toLowerCase().includes(query));
56
+ if (partialNameMatches.length === 1 && partialNameMatches[0]) {
57
+ return partialNameMatches[0].id;
58
+ }
59
+ return null;
60
+ }
61
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/terminal/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, SingleResult, OutputSchema } from "../../output/index.js";
3
+ /** Result type for worktree archive command */
4
+ export interface WorktreeArchiveResult {
5
+ name: string;
6
+ status: "archived";
7
+ removedAgents: string[];
8
+ }
9
+ /** Schema for archive command output */
10
+ export declare const archiveSchema: OutputSchema<WorktreeArchiveResult>;
11
+ export interface WorktreeArchiveOptions extends CommandOptions {
12
+ host?: string;
13
+ }
14
+ export type WorktreeArchiveCommandResult = SingleResult<WorktreeArchiveResult>;
15
+ export declare function runArchiveCommand(nameArg: string, options: WorktreeArchiveOptions, _command: Command): Promise<WorktreeArchiveCommandResult>;
16
+ //# sourceMappingURL=archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/commands/worktree/archive.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAE/B,+CAA+C;AAC/C,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wCAAwC;AACxC,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,qBAAqB,CAU7D,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,4BAA4B,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC;AAE/E,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,4BAA4B,CAAC,CA8FvC"}
@@ -0,0 +1,99 @@
1
+ import path from "path";
2
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
3
+ /** Schema for archive command output */
4
+ export const archiveSchema = {
5
+ idField: "name",
6
+ columns: [
7
+ { header: "NAME", field: "name" },
8
+ { header: "STATUS", field: "status" },
9
+ {
10
+ header: "REMOVED AGENTS",
11
+ field: (item) => (item.removedAgents.length > 0 ? item.removedAgents.join(", ") : "-"),
12
+ },
13
+ ],
14
+ };
15
+ export async function runArchiveCommand(nameArg, options, _command) {
16
+ const host = getDaemonHost({ host: options.host });
17
+ // Validate arguments
18
+ if (!nameArg || nameArg.trim().length === 0) {
19
+ const error = {
20
+ code: "MISSING_WORKTREE_NAME",
21
+ message: "Worktree name is required",
22
+ details: "Usage: seawork worktree archive <name>",
23
+ };
24
+ throw error;
25
+ }
26
+ let client;
27
+ try {
28
+ client = await connectToDaemon({ host: options.host });
29
+ }
30
+ catch (err) {
31
+ const message = err instanceof Error ? err.message : String(err);
32
+ const error = {
33
+ code: "DAEMON_NOT_RUNNING",
34
+ message: `Cannot connect to daemon at ${host}: ${message}`,
35
+ details: "Start the daemon with: seawork daemon start",
36
+ };
37
+ throw error;
38
+ }
39
+ try {
40
+ // Get the list of worktrees first to resolve the name
41
+ const listResponse = await client.getSeaworkWorktreeList({});
42
+ if (listResponse.error) {
43
+ const error = {
44
+ code: "WORKTREE_LIST_FAILED",
45
+ message: `Failed to list worktrees: ${listResponse.error.message}`,
46
+ };
47
+ throw error;
48
+ }
49
+ // Find the worktree by name or branch
50
+ const worktree = listResponse.worktrees.find((wt) => {
51
+ const name = path.basename(wt.worktreePath);
52
+ return name === nameArg || wt.branchName === nameArg;
53
+ });
54
+ if (!worktree) {
55
+ const error = {
56
+ code: "WORKTREE_NOT_FOUND",
57
+ message: `Worktree not found: ${nameArg}`,
58
+ details: 'Use "seawork worktree ls" to list available worktrees',
59
+ };
60
+ throw error;
61
+ }
62
+ // Archive the worktree
63
+ const response = await client.archiveSeaworkWorktree({
64
+ worktreePath: worktree.worktreePath,
65
+ });
66
+ await client.close();
67
+ if (response.error) {
68
+ const error = {
69
+ code: "WORKTREE_ARCHIVE_FAILED",
70
+ message: `Failed to archive worktree: ${response.error.message}`,
71
+ };
72
+ throw error;
73
+ }
74
+ const worktreeName = path.basename(worktree.worktreePath) || nameArg;
75
+ return {
76
+ type: "single",
77
+ data: {
78
+ name: worktreeName,
79
+ status: "archived",
80
+ removedAgents: response.removedAgents ?? [],
81
+ },
82
+ schema: archiveSchema,
83
+ };
84
+ }
85
+ catch (err) {
86
+ await client.close().catch(() => { });
87
+ // Re-throw CommandError as-is
88
+ if (err && typeof err === "object" && "code" in err) {
89
+ throw err;
90
+ }
91
+ const message = err instanceof Error ? err.message : String(err);
92
+ const error = {
93
+ code: "WORKTREE_ARCHIVE_FAILED",
94
+ message: `Failed to archive worktree: ${message}`,
95
+ };
96
+ throw error;
97
+ }
98
+ }
99
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/worktree/archive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createWorktreeCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/worktree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,qBAAqB,IAAI,OAAO,CAe/C"}
@@ -0,0 +1,15 @@
1
+ import { Command } from "commander";
2
+ import { runLsCommand } from "./ls.js";
3
+ import { runArchiveCommand } from "./archive.js";
4
+ import { withOutput } from "../../output/index.js";
5
+ import { addJsonAndDaemonHostOptions } from "../../utils/command-options.js";
6
+ export function createWorktreeCommand() {
7
+ const worktree = new Command("worktree").description("Manage Seawork-managed git worktrees");
8
+ addJsonAndDaemonHostOptions(worktree.command("ls").description("List Seawork-managed git worktrees")).action(withOutput(runLsCommand));
9
+ addJsonAndDaemonHostOptions(worktree
10
+ .command("archive")
11
+ .description("Archive a worktree (removes worktree and associated branch)")
12
+ .argument("<name>", "Worktree name or branch name")).action(withOutput(runArchiveCommand));
13
+ return worktree;
14
+ }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/worktree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,MAAM,UAAU,qBAAqB;IACnC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAE7F,2BAA2B,CACzB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,oCAAoC,CAAC,CACzE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnC,2BAA2B,CACzB,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6DAA6D,CAAC;SAC1E,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CACtD,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult, OutputSchema } from "../../output/index.js";
3
+ /** Worktree list item for display */
4
+ export interface WorktreeListItem {
5
+ name: string;
6
+ branch: string;
7
+ cwd: string;
8
+ agent: string;
9
+ }
10
+ export declare function resolveSeaworkHomePath(): string;
11
+ export declare function resolveSeaworkWorktreesDir(): string;
12
+ /** Schema for worktree ls output */
13
+ export declare const worktreeLsSchema: OutputSchema<WorktreeListItem>;
14
+ export type WorktreeLsResult = ListResult<WorktreeListItem>;
15
+ export interface WorktreeLsOptions extends CommandOptions {
16
+ host?: string;
17
+ }
18
+ export declare function runLsCommand(options: WorktreeLsOptions, _command: Command): Promise<WorktreeLsResult>;
19
+ //# sourceMappingURL=ls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/worktree/ls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAgBD,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAEnD;AAOD,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAQ3D,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAE5D,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAoE3B"}
@@ -0,0 +1,97 @@
1
+ import { homedir } from "node:os";
2
+ import { basename, join, sep } from "node:path";
3
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
4
+ /** Shorten home directory in path */
5
+ function shortenPath(path) {
6
+ const home = process.env.HOME;
7
+ if (home && path.startsWith(home)) {
8
+ return "~" + path.slice(home.length);
9
+ }
10
+ return path;
11
+ }
12
+ /** Extract worktree name from path */
13
+ function extractWorktreeName(path) {
14
+ return basename(path);
15
+ }
16
+ export function resolveSeaworkHomePath() {
17
+ return process.env.SEAWORK_HOME ?? join(homedir(), ".seawork");
18
+ }
19
+ export function resolveSeaworkWorktreesDir() {
20
+ return join(resolveSeaworkHomePath(), "worktrees");
21
+ }
22
+ function isAgentInManagedWorktree(agentCwd) {
23
+ const worktreesDir = resolveSeaworkWorktreesDir();
24
+ return agentCwd === worktreesDir || agentCwd.startsWith(worktreesDir + sep);
25
+ }
26
+ /** Schema for worktree ls output */
27
+ export const worktreeLsSchema = {
28
+ idField: "name",
29
+ columns: [
30
+ { header: "NAME", field: "name", width: 20 },
31
+ { header: "BRANCH", field: "branch", width: 25 },
32
+ { header: "CWD", field: "cwd", width: 45 },
33
+ { header: "AGENT", field: "agent", width: 10 },
34
+ ],
35
+ };
36
+ export async function runLsCommand(options, _command) {
37
+ const host = getDaemonHost({ host: options.host });
38
+ let client;
39
+ try {
40
+ client = await connectToDaemon({ host: options.host });
41
+ }
42
+ catch (err) {
43
+ const message = err instanceof Error ? err.message : String(err);
44
+ const error = {
45
+ code: "DAEMON_NOT_RUNNING",
46
+ message: `Cannot connect to daemon at ${host}: ${message}`,
47
+ details: "Start the daemon with: seawork daemon start",
48
+ };
49
+ throw error;
50
+ }
51
+ try {
52
+ const agentsPayload = await client.fetchAgents({ filter: { includeArchived: true } });
53
+ const agents = agentsPayload.entries.map((entry) => entry.agent);
54
+ // Get worktree list from daemon
55
+ const response = await client.getSeaworkWorktreeList({});
56
+ await client.close();
57
+ if (response.error) {
58
+ const error = {
59
+ code: "WORKTREE_LIST_FAILED",
60
+ message: `Failed to list worktrees: ${response.error.message}`,
61
+ };
62
+ throw error;
63
+ }
64
+ // Build a map of worktree paths to agent IDs
65
+ const worktreeAgentMap = new Map();
66
+ for (const agent of agents) {
67
+ if (isAgentInManagedWorktree(agent.cwd)) {
68
+ worktreeAgentMap.set(agent.cwd, agent.id.slice(0, 7));
69
+ }
70
+ }
71
+ const items = response.worktrees.map((wt) => ({
72
+ name: extractWorktreeName(wt.worktreePath),
73
+ branch: wt.branchName ?? "-",
74
+ cwd: shortenPath(wt.worktreePath),
75
+ agent: worktreeAgentMap.get(wt.worktreePath) ?? "-",
76
+ }));
77
+ return {
78
+ type: "list",
79
+ data: items,
80
+ schema: worktreeLsSchema,
81
+ };
82
+ }
83
+ catch (err) {
84
+ await client.close().catch(() => { });
85
+ // Re-throw CommandError as-is
86
+ if (err && typeof err === "object" && "code" in err) {
87
+ throw err;
88
+ }
89
+ const message = err instanceof Error ? err.message : String(err);
90
+ const error = {
91
+ code: "WORKTREE_LIST_FAILED",
92
+ message: `Failed to list worktrees: ${message}`,
93
+ };
94
+ throw error;
95
+ }
96
+ }
97
+ //# sourceMappingURL=ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/worktree/ls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ import { createCli } from "./cli.js";
2
+ import { classifyInvocation } from "./classify.js";
3
+ import { openDesktopWithProject } from "./commands/open.js";
4
+ const program = createCli();
5
+ const knownCommands = new Set(program.commands.map((command) => command.name()));
6
+ const invocation = classifyInvocation({
7
+ argv: process.argv.slice(2),
8
+ knownCommands,
9
+ cwd: process.cwd(),
10
+ });
11
+ switch (invocation.kind) {
12
+ case "cli": {
13
+ const argv = [...process.argv.slice(0, 2), ...invocation.argv];
14
+ if (invocation.argv.length === 0) {
15
+ argv.push("onboard");
16
+ }
17
+ program.parse(argv, { from: "node" });
18
+ break;
19
+ }
20
+ case "open-project":
21
+ await openDesktopWithProject(invocation.resolvedPath);
22
+ break;
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;AAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,UAAU,GAAG,kBAAkB,CAAC;IACpC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,aAAa;IACb,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;CACnB,CAAC,CAAC;AAEH,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;IACxB,KAAK,KAAK,CAAC,CAAC,CAAC;QACX,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtC,MAAM;IACR,CAAC;IACD,KAAK,cAAc;QACjB,MAAM,sBAAsB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM;AACV,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Output abstraction layer for the Seawork CLI.
3
+ *
4
+ * This module provides structured output rendering with support for multiple formats:
5
+ * - table: Human-readable aligned tables (default)
6
+ * - json: Machine-readable JSON
7
+ * - yaml: Machine-readable YAML
8
+ * - quiet: Minimal output (IDs only)
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { withOutput, render, type ListResult, type OutputSchema } from './output/index.js'
13
+ *
14
+ * // Define your data type
15
+ * interface Agent { id: string; title: string; status: string }
16
+ *
17
+ * // Define how to render it
18
+ * const schema: OutputSchema<Agent> = {
19
+ * idField: 'id',
20
+ * columns: [
21
+ * { header: 'ID', field: 'id' },
22
+ * { header: 'TITLE', field: 'title' },
23
+ * { header: 'STATUS', field: 'status', color: (v) => v === 'running' ? 'green' : undefined },
24
+ * ],
25
+ * }
26
+ *
27
+ * // Return structured data from commands
28
+ * const result: ListResult<Agent> = {
29
+ * type: 'list',
30
+ * data: agents,
31
+ * schema,
32
+ * }
33
+ *
34
+ * // Render with options
35
+ * const output = render(result, { format: 'json' })
36
+ * ```
37
+ */
38
+ export type { OutputFormat, OutputOptions, ColumnDef, OutputSchema, CommandResult, SingleResult, ListResult, AnyCommandResult, CommandError, } from "./types.js";
39
+ export { renderTable, renderTableHeader, renderTableRow } from "./table.js";
40
+ export { renderJson, renderJsonLine } from "./json.js";
41
+ export { renderYaml, renderYamlDoc } from "./yaml.js";
42
+ export { renderQuiet } from "./quiet.js";
43
+ export { render, renderError, toCommandError, defaultOutputOptions } from "./render.js";
44
+ export { withOutput, createOutputOptions, type CommandOptions } from "./with-output.js";
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxF,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Output abstraction layer for the Seawork CLI.
3
+ *
4
+ * This module provides structured output rendering with support for multiple formats:
5
+ * - table: Human-readable aligned tables (default)
6
+ * - json: Machine-readable JSON
7
+ * - yaml: Machine-readable YAML
8
+ * - quiet: Minimal output (IDs only)
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { withOutput, render, type ListResult, type OutputSchema } from './output/index.js'
13
+ *
14
+ * // Define your data type
15
+ * interface Agent { id: string; title: string; status: string }
16
+ *
17
+ * // Define how to render it
18
+ * const schema: OutputSchema<Agent> = {
19
+ * idField: 'id',
20
+ * columns: [
21
+ * { header: 'ID', field: 'id' },
22
+ * { header: 'TITLE', field: 'title' },
23
+ * { header: 'STATUS', field: 'status', color: (v) => v === 'running' ? 'green' : undefined },
24
+ * ],
25
+ * }
26
+ *
27
+ * // Return structured data from commands
28
+ * const result: ListResult<Agent> = {
29
+ * type: 'list',
30
+ * data: agents,
31
+ * schema,
32
+ * }
33
+ *
34
+ * // Render with options
35
+ * const output = render(result, { format: 'json' })
36
+ * ```
37
+ */
38
+ // Renderers
39
+ export { renderTable, renderTableHeader, renderTableRow } from "./table.js";
40
+ export { renderJson, renderJsonLine } from "./json.js";
41
+ export { renderYaml, renderYamlDoc } from "./yaml.js";
42
+ export { renderQuiet } from "./quiet.js";
43
+ // Main render function
44
+ export { render, renderError, toCommandError, defaultOutputOptions } from "./render.js";
45
+ // Command wrapper
46
+ export { withOutput, createOutputOptions } from "./with-output.js";
47
+ //# sourceMappingURL=index.js.map