@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,431 @@
1
+ import { Option } from "commander";
2
+ import { getStructuredAgentResponse, StructuredAgentResponseError, } from "@seawork/server";
3
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
4
+ import { readFileSync } from "node:fs";
5
+ import { resolve } from "node:path";
6
+ import { lookup } from "mime-types";
7
+ import { parseDuration } from "../../utils/duration.js";
8
+ import { collectMultiple } from "../../utils/command-options.js";
9
+ export function addRunOptions(cmd) {
10
+ return cmd
11
+ .description("Create and start an agent with a task")
12
+ .argument("<prompt>", "The task/prompt for the agent")
13
+ .option("-d, --detach", "Run in background (detached)")
14
+ .option("--title <title>", "Assign a title to the agent")
15
+ .addOption(new Option("--name <name>", "Hidden alias for --title").hideHelp())
16
+ .option("--provider <provider>", "Agent provider, or provider/model (e.g. codex or codex/gpt-5.4)", "claude")
17
+ .option("--model <model>", "Model to use (e.g., claude-sonnet-4-20250514, claude-3-5-haiku-20241022)")
18
+ .option("--thinking <id>", "Thinking option ID to use for this run")
19
+ .option("--mode <mode>", "Provider-specific mode (e.g., plan, default, bypass)")
20
+ .option("--worktree <name>", "Create agent in a new git worktree")
21
+ .option("--base <branch>", "Base branch for worktree (default: current branch)")
22
+ .option("--image <path>", "Attach image(s) to the initial prompt (can be used multiple times)", collectMultiple, [])
23
+ .option("--cwd <path>", "Working directory (default: current)")
24
+ .option("--label <key=value>", "Add label(s) to the agent (can be used multiple times)", collectMultiple, [])
25
+ .option("--wait-timeout <duration>", "Maximum time to wait for agent to finish (e.g., 30s, 5m, 1h). Default: no limit")
26
+ .option("--output-schema <schema>", "Output JSON matching the provided schema file path or inline JSON schema");
27
+ }
28
+ /** Schema for agent run output */
29
+ export const agentRunSchema = {
30
+ idField: "agentId",
31
+ columns: [
32
+ { header: "AGENT ID", field: "agentId", width: 12 },
33
+ { header: "STATUS", field: "status", width: 10 },
34
+ { header: "PROVIDER", field: "provider", width: 10 },
35
+ { header: "CWD", field: "cwd", width: 30 },
36
+ { header: "TITLE", field: "title", width: 20 },
37
+ ],
38
+ };
39
+ function toRunResult(agent, statusOverride) {
40
+ return {
41
+ agentId: agent.id,
42
+ status: statusOverride ?? (agent.status === "running" ? "running" : "created"),
43
+ provider: agent.provider,
44
+ cwd: agent.cwd,
45
+ title: agent.title,
46
+ };
47
+ }
48
+ function loadOutputSchema(value) {
49
+ const trimmed = value.trim();
50
+ if (!trimmed) {
51
+ const error = {
52
+ code: "INVALID_OUTPUT_SCHEMA",
53
+ message: "--output-schema cannot be empty",
54
+ details: "Provide a JSON schema file path or inline JSON object",
55
+ };
56
+ throw error;
57
+ }
58
+ let source = trimmed;
59
+ if (!trimmed.startsWith("{")) {
60
+ try {
61
+ source = readFileSync(resolve(trimmed), "utf8");
62
+ }
63
+ catch (err) {
64
+ const message = err instanceof Error ? err.message : String(err);
65
+ const error = {
66
+ code: "INVALID_OUTPUT_SCHEMA",
67
+ message: `Failed to read output schema file: ${trimmed}`,
68
+ details: message,
69
+ };
70
+ throw error;
71
+ }
72
+ }
73
+ let parsed;
74
+ try {
75
+ parsed = JSON.parse(source);
76
+ }
77
+ catch (err) {
78
+ const message = err instanceof Error ? err.message : String(err);
79
+ const error = {
80
+ code: "INVALID_OUTPUT_SCHEMA",
81
+ message: "Failed to parse output schema JSON",
82
+ details: message,
83
+ };
84
+ throw error;
85
+ }
86
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
87
+ const error = {
88
+ code: "INVALID_OUTPUT_SCHEMA",
89
+ message: "Output schema must be a JSON object",
90
+ };
91
+ throw error;
92
+ }
93
+ return parsed;
94
+ }
95
+ class StructuredRunStatusError extends Error {
96
+ constructor(kind, message) {
97
+ super(message);
98
+ this.name = "StructuredRunStatusError";
99
+ this.kind = kind;
100
+ }
101
+ }
102
+ export async function resolveStructuredResponseMessage(options) {
103
+ const direct = options.lastMessage?.trim();
104
+ if (direct) {
105
+ return direct;
106
+ }
107
+ try {
108
+ const timeline = await options.client.fetchAgentTimeline(options.agentId, {
109
+ direction: "tail",
110
+ projection: "projected",
111
+ limit: 200,
112
+ });
113
+ for (let index = timeline.entries.length - 1; index >= 0; index -= 1) {
114
+ const entry = timeline.entries[index];
115
+ if (!entry || entry.item.type !== "assistant_message") {
116
+ continue;
117
+ }
118
+ const text = entry.item.text.trim();
119
+ if (text.length > 0) {
120
+ return text;
121
+ }
122
+ }
123
+ }
124
+ catch {
125
+ // Leave empty; caller will surface a consistent structured-output failure message.
126
+ }
127
+ return null;
128
+ }
129
+ function structuredRunSchema(output) {
130
+ return {
131
+ ...agentRunSchema,
132
+ serialize: () => output,
133
+ };
134
+ }
135
+ export function resolveProviderAndModel(options) {
136
+ const providerInput = options.provider?.trim() || "claude";
137
+ const modelInput = options.model?.trim();
138
+ if (options.model !== undefined && !modelInput) {
139
+ const error = {
140
+ code: "INVALID_MODEL",
141
+ message: "--model cannot be empty",
142
+ };
143
+ throw error;
144
+ }
145
+ const slashIndex = providerInput.indexOf("/");
146
+ if (slashIndex === -1) {
147
+ return {
148
+ provider: providerInput,
149
+ model: modelInput,
150
+ };
151
+ }
152
+ const provider = providerInput.slice(0, slashIndex).trim();
153
+ const modelFromProvider = providerInput.slice(slashIndex + 1).trim();
154
+ if (!provider || !modelFromProvider) {
155
+ const error = {
156
+ code: "INVALID_PROVIDER",
157
+ message: "Invalid --provider value",
158
+ details: "Use --provider <provider> or --provider <provider>/<model>",
159
+ };
160
+ throw error;
161
+ }
162
+ if (modelInput && modelInput !== modelFromProvider) {
163
+ const error = {
164
+ code: "CONFLICTING_MODEL_OPTIONS",
165
+ message: "Conflicting model values provided",
166
+ details: `--provider specifies model ${modelFromProvider}, but --model specifies ${modelInput}`,
167
+ };
168
+ throw error;
169
+ }
170
+ return {
171
+ provider,
172
+ model: modelInput ?? modelFromProvider,
173
+ };
174
+ }
175
+ export async function runRunCommand(prompt, options, _command) {
176
+ const host = getDaemonHost({ host: options.host });
177
+ const outputSchema = options.outputSchema ? loadOutputSchema(options.outputSchema) : undefined;
178
+ let waitTimeoutMs = 0;
179
+ // Validate prompt is provided
180
+ if (!prompt || prompt.trim().length === 0) {
181
+ const error = {
182
+ code: "MISSING_PROMPT",
183
+ message: "A prompt is required",
184
+ details: "Usage: seawork agent run [options] <prompt>",
185
+ };
186
+ throw error;
187
+ }
188
+ // Validate --base is only used with --worktree
189
+ if (options.base && !options.worktree) {
190
+ const error = {
191
+ code: "INVALID_OPTIONS",
192
+ message: "--base can only be used with --worktree",
193
+ details: "Usage: seawork agent run --worktree <name> --base <branch> <prompt>",
194
+ };
195
+ throw error;
196
+ }
197
+ // --output-schema always runs in attached/wait mode
198
+ if (outputSchema && options.detach) {
199
+ const error = {
200
+ code: "INVALID_OPTIONS",
201
+ message: "--output-schema cannot be used with --detach",
202
+ details: "Structured output requires waiting for the agent to finish",
203
+ };
204
+ throw error;
205
+ }
206
+ if (options.waitTimeout) {
207
+ try {
208
+ waitTimeoutMs = parseDuration(options.waitTimeout);
209
+ if (waitTimeoutMs <= 0) {
210
+ throw new Error("Timeout must be positive");
211
+ }
212
+ }
213
+ catch (err) {
214
+ const message = err instanceof Error ? err.message : String(err);
215
+ const error = {
216
+ code: "INVALID_TIMEOUT",
217
+ message: "Invalid wait timeout value",
218
+ details: message,
219
+ };
220
+ throw error;
221
+ }
222
+ }
223
+ const resolvedProviderModel = resolveProviderAndModel(options);
224
+ const resolvedTitle = options.title ?? options.name;
225
+ let client;
226
+ try {
227
+ client = await connectToDaemon({ host: options.host });
228
+ }
229
+ catch (err) {
230
+ const message = err instanceof Error ? err.message : String(err);
231
+ const error = {
232
+ code: "DAEMON_NOT_RUNNING",
233
+ message: `Cannot connect to daemon at ${host}: ${message}`,
234
+ details: "Start the daemon with: seawork daemon start",
235
+ };
236
+ throw error;
237
+ }
238
+ try {
239
+ // Resolve working directory
240
+ const cwd = options.cwd ?? process.cwd();
241
+ const thinkingOptionId = options.thinking?.trim();
242
+ if (options.thinking !== undefined && !thinkingOptionId) {
243
+ const error = {
244
+ code: "INVALID_THINKING_OPTION",
245
+ message: "--thinking cannot be empty",
246
+ details: 'Provide a thinking option ID. Use "seawork provider models <provider> --thinking" to list valid IDs.',
247
+ };
248
+ throw error;
249
+ }
250
+ // Process images if provided
251
+ let images;
252
+ if (options.image && options.image.length > 0) {
253
+ images = options.image.map((imagePath) => {
254
+ const resolvedPath = resolve(imagePath);
255
+ try {
256
+ const imageData = readFileSync(resolvedPath);
257
+ const mimeType = lookup(resolvedPath) || "application/octet-stream";
258
+ // Verify it's an image MIME type
259
+ if (!mimeType.startsWith("image/")) {
260
+ throw new Error(`File is not an image: ${imagePath} (detected type: ${mimeType})`);
261
+ }
262
+ return {
263
+ data: imageData.toString("base64"),
264
+ mimeType,
265
+ };
266
+ }
267
+ catch (err) {
268
+ const message = err instanceof Error ? err.message : String(err);
269
+ throw new Error(`Failed to read image ${imagePath}: ${message}`);
270
+ }
271
+ });
272
+ }
273
+ // Build git options if worktree is specified
274
+ const git = options.worktree
275
+ ? {
276
+ createWorktree: true,
277
+ worktreeSlug: options.worktree,
278
+ baseBranch: options.base,
279
+ }
280
+ : undefined;
281
+ // Build labels from --label flags
282
+ const labels = {};
283
+ if (options.label) {
284
+ for (const labelStr of options.label) {
285
+ const eqIndex = labelStr.indexOf("=");
286
+ if (eqIndex === -1) {
287
+ const error = {
288
+ code: "INVALID_LABEL",
289
+ message: `Invalid label format: ${labelStr}`,
290
+ details: "Labels must be in key=value format",
291
+ };
292
+ throw error;
293
+ }
294
+ const key = labelStr.slice(0, eqIndex);
295
+ const value = labelStr.slice(eqIndex + 1);
296
+ labels[key] = value;
297
+ }
298
+ }
299
+ if (outputSchema) {
300
+ let structuredAgent = null;
301
+ const callStructuredTurn = async (structuredPrompt) => {
302
+ if (!structuredAgent) {
303
+ structuredAgent = await client.createAgent({
304
+ provider: resolvedProviderModel.provider,
305
+ cwd,
306
+ title: resolvedTitle,
307
+ modeId: options.mode,
308
+ model: resolvedProviderModel.model,
309
+ thinkingOptionId,
310
+ initialPrompt: structuredPrompt,
311
+ outputSchema,
312
+ images,
313
+ git,
314
+ worktreeName: options.worktree,
315
+ labels: Object.keys(labels).length > 0 ? labels : undefined,
316
+ });
317
+ }
318
+ else {
319
+ await client.sendMessage(structuredAgent.id, structuredPrompt);
320
+ }
321
+ const state = await client.waitForFinish(structuredAgent.id, waitTimeoutMs);
322
+ if (state.status === "timeout") {
323
+ throw new StructuredRunStatusError("timeout", "Timed out waiting for structured output");
324
+ }
325
+ if (state.status === "permission") {
326
+ throw new StructuredRunStatusError("permission", "Agent is waiting for permission before producing structured output");
327
+ }
328
+ if (state.status === "error") {
329
+ throw new StructuredRunStatusError("error", state.error ?? "Agent failed before producing structured output");
330
+ }
331
+ const lastMessage = await resolveStructuredResponseMessage({
332
+ client,
333
+ agentId: structuredAgent.id,
334
+ lastMessage: state.lastMessage,
335
+ });
336
+ if (!lastMessage) {
337
+ throw new StructuredRunStatusError("empty", "Agent finished without a structured output message");
338
+ }
339
+ return lastMessage;
340
+ };
341
+ let output;
342
+ try {
343
+ output = await getStructuredAgentResponse({
344
+ caller: callStructuredTurn,
345
+ prompt,
346
+ schema: outputSchema,
347
+ schemaName: "RunOutput",
348
+ maxRetries: 2,
349
+ });
350
+ }
351
+ catch (err) {
352
+ if (err instanceof StructuredRunStatusError) {
353
+ const error = {
354
+ code: "OUTPUT_SCHEMA_FAILED",
355
+ message: err.message,
356
+ };
357
+ throw error;
358
+ }
359
+ if (err instanceof StructuredAgentResponseError) {
360
+ const error = {
361
+ code: "OUTPUT_SCHEMA_FAILED",
362
+ message: "Agent response did not match the required output schema",
363
+ details: err.validationErrors.length > 0
364
+ ? err.validationErrors.join("\n")
365
+ : err.lastResponse || "No response",
366
+ };
367
+ throw error;
368
+ }
369
+ throw err;
370
+ }
371
+ if (!structuredAgent) {
372
+ const error = {
373
+ code: "OUTPUT_SCHEMA_FAILED",
374
+ message: "Agent finished without a structured output message",
375
+ };
376
+ throw error;
377
+ }
378
+ await client.close();
379
+ return {
380
+ type: "single",
381
+ data: toRunResult(structuredAgent, "completed"),
382
+ schema: structuredRunSchema(output),
383
+ };
384
+ }
385
+ // Create the agent
386
+ const agent = await client.createAgent({
387
+ provider: resolvedProviderModel.provider,
388
+ cwd,
389
+ title: resolvedTitle,
390
+ modeId: options.mode,
391
+ model: resolvedProviderModel.model,
392
+ thinkingOptionId,
393
+ initialPrompt: prompt,
394
+ images,
395
+ git,
396
+ worktreeName: options.worktree,
397
+ labels: Object.keys(labels).length > 0 ? labels : undefined,
398
+ });
399
+ // Default run behavior is foreground: wait for completion unless --detach is set.
400
+ if (!options.detach) {
401
+ const state = await client.waitForFinish(agent.id, waitTimeoutMs);
402
+ await client.close();
403
+ const finalAgent = state.final ?? agent;
404
+ const status = state.status === "idle" ? "completed" : state.status;
405
+ return {
406
+ type: "single",
407
+ data: toRunResult(finalAgent, status),
408
+ schema: agentRunSchema,
409
+ };
410
+ }
411
+ await client.close();
412
+ return {
413
+ type: "single",
414
+ data: toRunResult(agent),
415
+ schema: agentRunSchema,
416
+ };
417
+ }
418
+ catch (err) {
419
+ await client.close().catch(() => { });
420
+ if (err && typeof err === "object" && "code" in err) {
421
+ throw err;
422
+ }
423
+ const message = err instanceof Error ? err.message : String(err);
424
+ const error = {
425
+ code: "AGENT_CREATE_FAILED",
426
+ message: `Failed to create agent: ${message}`,
427
+ };
428
+ throw error;
429
+ }
430
+ }
431
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/agent/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type Command } from "commander";
2
+ import type { CommandOptions, SingleResult, OutputSchema } from "../../output/index.js";
3
+ /** Result type for agent send command */
4
+ export interface AgentSendResult {
5
+ agentId: string;
6
+ status: "sent" | "completed" | "timeout" | "permission" | "error";
7
+ message: string;
8
+ }
9
+ /** Schema for agent send output */
10
+ export declare const agentSendSchema: OutputSchema<AgentSendResult>;
11
+ export interface AgentSendOptions extends CommandOptions {
12
+ wait?: boolean;
13
+ image?: string[];
14
+ prompt?: string;
15
+ promptFile?: string;
16
+ }
17
+ export declare function addSendOptions(cmd: Command): Command;
18
+ export declare function runSendCommand(agentIdArg: string, prompt: string | undefined, options: AgentSendOptions, _command: Command): Promise<SingleResult<AgentSendResult>>;
19
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAI/B,yCAAyC;AACzC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mCAAmC;AACnC,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAOzD,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASpD;AAwGD,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAwHxC"}