@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,20 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult, OutputSchema } from "../../output/index.js";
3
+ /** Permission response item for display */
4
+ export interface PermissionResponseItem {
5
+ requestId: string;
6
+ agentId: string;
7
+ agentShortId: string;
8
+ name: string;
9
+ result: string;
10
+ }
11
+ /** Schema for permit allow/deny output */
12
+ export declare const permitResponseSchema: OutputSchema<PermissionResponseItem>;
13
+ export type PermitAllowResult = ListResult<PermissionResponseItem>;
14
+ export interface PermitAllowOptions extends CommandOptions {
15
+ all?: boolean;
16
+ input?: string;
17
+ host?: string;
18
+ }
19
+ export declare function runAllowCommand(agentIdOrPrefix: string, reqId: string | undefined, options: PermitAllowOptions, _command: Command): Promise<PermitAllowResult>;
20
+ //# sourceMappingURL=allow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow.d.ts","sourceRoot":"","sources":["../../../src/commands/permit/allow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,sBAAsB,CAiBrE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAEnE,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,iBAAiB,CAAC,CAmH5B"}
@@ -0,0 +1,134 @@
1
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
2
+ /** Schema for permit allow/deny output */
3
+ export const permitResponseSchema = {
4
+ idField: "requestId",
5
+ columns: [
6
+ { header: "REQUEST ID", field: "requestId", width: 12 },
7
+ { header: "AGENT", field: "agentShortId", width: 10 },
8
+ { header: "TOOL", field: "name", width: 20 },
9
+ {
10
+ header: "RESULT",
11
+ field: "result",
12
+ width: 10,
13
+ color: (value) => {
14
+ if (value === "allowed")
15
+ return "green";
16
+ if (value === "denied")
17
+ return "red";
18
+ return undefined;
19
+ },
20
+ },
21
+ ],
22
+ };
23
+ export async function runAllowCommand(agentIdOrPrefix, reqId, options, _command) {
24
+ const host = getDaemonHost({ host: options.host });
25
+ // No validation needed - if no reqId provided, allow all by default
26
+ // Parse input JSON if provided
27
+ let updatedInput;
28
+ if (options.input) {
29
+ try {
30
+ updatedInput = JSON.parse(options.input);
31
+ }
32
+ catch (err) {
33
+ const error = {
34
+ code: "INVALID_JSON",
35
+ message: `Invalid JSON for --input: ${err instanceof Error ? err.message : String(err)}`,
36
+ details: 'Provide valid JSON, e.g., --input \'{"key": "value"}\'',
37
+ };
38
+ throw error;
39
+ }
40
+ }
41
+ let client;
42
+ try {
43
+ client = await connectToDaemon({ host: options.host });
44
+ }
45
+ catch (err) {
46
+ const message = err instanceof Error ? err.message : String(err);
47
+ const error = {
48
+ code: "DAEMON_NOT_RUNNING",
49
+ message: `Cannot connect to daemon at ${host}: ${message}`,
50
+ details: "Start the daemon with: seawork daemon start",
51
+ };
52
+ throw error;
53
+ }
54
+ try {
55
+ const fetchResult = await client.fetchAgent(agentIdOrPrefix);
56
+ if (!fetchResult) {
57
+ await client.close();
58
+ const error = {
59
+ code: "AGENT_NOT_FOUND",
60
+ message: `Agent not found: ${agentIdOrPrefix}`,
61
+ details: 'Use "seawork ls" to list available agents',
62
+ };
63
+ throw error;
64
+ }
65
+ const agent = fetchResult.agent;
66
+ const resolvedAgentId = agent.id;
67
+ // Get pending permissions for this agent
68
+ const pendingPermissions = agent.pendingPermissions || [];
69
+ if (pendingPermissions.length === 0) {
70
+ await client.close();
71
+ const error = {
72
+ code: "NO_PENDING_PERMISSIONS",
73
+ message: `No pending permissions for agent ${agent.id.slice(0, 7)}`,
74
+ };
75
+ throw error;
76
+ }
77
+ // Determine which permissions to allow
78
+ let permissionsToAllow;
79
+ if (!reqId || options.all) {
80
+ // Default: allow all pending permissions if no req_id specified
81
+ // --all flag is kept as an explicit alias for clarity
82
+ permissionsToAllow = pendingPermissions;
83
+ }
84
+ else {
85
+ // Find permission by ID prefix
86
+ const permission = pendingPermissions.find((p) => p.id === reqId || p.id.startsWith(reqId));
87
+ if (!permission) {
88
+ await client.close();
89
+ const error = {
90
+ code: "PERMISSION_NOT_FOUND",
91
+ message: `Permission request not found: ${reqId}`,
92
+ details: `Available requests: ${pendingPermissions.map((p) => p.id.slice(0, 8)).join(", ")}`,
93
+ };
94
+ throw error;
95
+ }
96
+ permissionsToAllow = [permission];
97
+ }
98
+ // Allow permissions
99
+ const results = [];
100
+ for (const permission of permissionsToAllow) {
101
+ await client.respondToPermission(resolvedAgentId, permission.id, {
102
+ behavior: "allow",
103
+ ...(updatedInput ? { updatedInput } : {}),
104
+ });
105
+ results.push({
106
+ requestId: permission.id.slice(0, 8),
107
+ agentId: resolvedAgentId,
108
+ agentShortId: resolvedAgentId.slice(0, 7),
109
+ name: permission.name,
110
+ result: "allowed",
111
+ });
112
+ }
113
+ await client.close();
114
+ return {
115
+ type: "list",
116
+ data: results,
117
+ schema: permitResponseSchema,
118
+ };
119
+ }
120
+ catch (err) {
121
+ await client.close().catch(() => { });
122
+ // Re-throw CommandErrors
123
+ if (err && typeof err === "object" && "code" in err) {
124
+ throw err;
125
+ }
126
+ const message = err instanceof Error ? err.message : String(err);
127
+ const error = {
128
+ code: "ALLOW_PERMISSION_FAILED",
129
+ message: `Failed to allow permission: ${message}`,
130
+ };
131
+ throw error;
132
+ }
133
+ }
134
+ //# sourceMappingURL=allow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allow.js","sourceRoot":"","sources":["../../../src/commands/permit/allow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult } from "../../output/index.js";
3
+ import { type PermissionResponseItem } from "./allow.js";
4
+ export type PermitDenyResult = ListResult<PermissionResponseItem>;
5
+ export interface PermitDenyOptions extends CommandOptions {
6
+ all?: boolean;
7
+ message?: string;
8
+ interrupt?: boolean;
9
+ host?: string;
10
+ }
11
+ export declare function runDenyCommand(agentIdOrPrefix: string, reqId: string | undefined, options: PermitDenyOptions, _command: Command): Promise<PermitDenyResult>;
12
+ //# sourceMappingURL=deny.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deny.d.ts","sourceRoot":"","sources":["../../../src/commands/permit/deny.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAgB,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAwB,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;AAElE,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA2G3B"}
@@ -0,0 +1,106 @@
1
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
2
+ import { permitResponseSchema } from "./allow.js";
3
+ export async function runDenyCommand(agentIdOrPrefix, reqId, options, _command) {
4
+ const host = getDaemonHost({ host: options.host });
5
+ // Validate arguments
6
+ if (!options.all && !reqId) {
7
+ const error = {
8
+ code: "MISSING_ARGUMENT",
9
+ message: "Request ID is required unless --all is specified",
10
+ details: "Usage: seawork permit deny <agent> <req_id> or seawork permit deny <agent> --all",
11
+ };
12
+ throw error;
13
+ }
14
+ let client;
15
+ try {
16
+ client = await connectToDaemon({ host: options.host });
17
+ }
18
+ catch (err) {
19
+ const message = err instanceof Error ? err.message : String(err);
20
+ const error = {
21
+ code: "DAEMON_NOT_RUNNING",
22
+ message: `Cannot connect to daemon at ${host}: ${message}`,
23
+ details: "Start the daemon with: seawork daemon start",
24
+ };
25
+ throw error;
26
+ }
27
+ try {
28
+ const fetchResult = await client.fetchAgent(agentIdOrPrefix);
29
+ if (!fetchResult) {
30
+ await client.close();
31
+ const error = {
32
+ code: "AGENT_NOT_FOUND",
33
+ message: `Agent not found: ${agentIdOrPrefix}`,
34
+ details: 'Use "seawork ls" to list available agents',
35
+ };
36
+ throw error;
37
+ }
38
+ const agent = fetchResult.agent;
39
+ const resolvedAgentId = agent.id;
40
+ // Get pending permissions for this agent
41
+ const pendingPermissions = agent.pendingPermissions || [];
42
+ if (pendingPermissions.length === 0) {
43
+ await client.close();
44
+ const error = {
45
+ code: "NO_PENDING_PERMISSIONS",
46
+ message: `No pending permissions for agent ${agent.id.slice(0, 7)}`,
47
+ };
48
+ throw error;
49
+ }
50
+ // Determine which permissions to deny
51
+ let permissionsToDeny;
52
+ if (options.all) {
53
+ permissionsToDeny = pendingPermissions;
54
+ }
55
+ else {
56
+ // Find permission by ID prefix
57
+ const permission = pendingPermissions.find((p) => p.id === reqId || p.id.startsWith(reqId));
58
+ if (!permission) {
59
+ await client.close();
60
+ const error = {
61
+ code: "PERMISSION_NOT_FOUND",
62
+ message: `Permission request not found: ${reqId}`,
63
+ details: `Available requests: ${pendingPermissions.map((p) => p.id.slice(0, 8)).join(", ")}`,
64
+ };
65
+ throw error;
66
+ }
67
+ permissionsToDeny = [permission];
68
+ }
69
+ // Deny permissions
70
+ const results = [];
71
+ for (const permission of permissionsToDeny) {
72
+ await client.respondToPermission(resolvedAgentId, permission.id, {
73
+ behavior: "deny",
74
+ ...(options.message ? { message: options.message } : {}),
75
+ ...(options.interrupt ? { interrupt: true } : {}),
76
+ });
77
+ results.push({
78
+ requestId: permission.id.slice(0, 8),
79
+ agentId: resolvedAgentId,
80
+ agentShortId: resolvedAgentId.slice(0, 7),
81
+ name: permission.name,
82
+ result: "denied",
83
+ });
84
+ }
85
+ await client.close();
86
+ return {
87
+ type: "list",
88
+ data: results,
89
+ schema: permitResponseSchema,
90
+ };
91
+ }
92
+ catch (err) {
93
+ await client.close().catch(() => { });
94
+ // Re-throw CommandErrors
95
+ if (err && typeof err === "object" && "code" in err) {
96
+ throw err;
97
+ }
98
+ const message = err instanceof Error ? err.message : String(err);
99
+ const error = {
100
+ code: "DENY_PERMISSION_FAILED",
101
+ message: `Failed to deny permission: ${message}`,
102
+ };
103
+ throw error;
104
+ }
105
+ }
106
+ //# sourceMappingURL=deny.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deny.js","sourceRoot":"","sources":["../../../src/commands/permit/deny.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createPermitCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/permit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,mBAAmB,IAAI,OAAO,CA6B7C"}
@@ -0,0 +1,27 @@
1
+ import { Command } from "commander";
2
+ import { runLsCommand } from "./ls.js";
3
+ import { runAllowCommand } from "./allow.js";
4
+ import { runDenyCommand } from "./deny.js";
5
+ import { withOutput } from "../../output/index.js";
6
+ import { addJsonAndDaemonHostOptions } from "../../utils/command-options.js";
7
+ export function createPermitCommand() {
8
+ const permit = new Command("permit").description("Manage permission requests");
9
+ addJsonAndDaemonHostOptions(permit.command("ls").description("List all pending permissions")).action(withOutput(runLsCommand));
10
+ addJsonAndDaemonHostOptions(permit
11
+ .command("allow")
12
+ .description("Allow a permission request")
13
+ .argument("<agent>", "Agent ID (or prefix)")
14
+ .argument("[req_id]", "Permission request ID (optional if --all)")
15
+ .option("--all", "Allow all pending permissions for this agent")
16
+ .option("--input <json>", "Modified input parameters (JSON)")).action(withOutput(runAllowCommand));
17
+ addJsonAndDaemonHostOptions(permit
18
+ .command("deny")
19
+ .description("Deny a permission request")
20
+ .argument("<agent>", "Agent ID (or prefix)")
21
+ .argument("[req_id]", "Permission request ID (optional if --all)")
22
+ .option("--all", "Deny all pending permissions for this agent")
23
+ .option("--message <msg>", "Denial reason message")
24
+ .option("--interrupt", "Stop agent after denial")).action(withOutput(runDenyCommand));
25
+ return permit;
26
+ }
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/permit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE/E,2BAA2B,CACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,8BAA8B,CAAC,CACjE,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnC,2BAA2B,CACzB,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;SAC3C,QAAQ,CAAC,UAAU,EAAE,2CAA2C,CAAC;SACjE,MAAM,CAAC,OAAO,EAAE,8CAA8C,CAAC;SAC/D,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAChE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtC,2BAA2B,CACzB,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,2BAA2B,CAAC;SACxC,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;SAC3C,QAAQ,CAAC,UAAU,EAAE,2CAA2C,CAAC;SACjE,MAAM,CAAC,OAAO,EAAE,6CAA6C,CAAC;SAC9D,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;SAClD,MAAM,CAAC,aAAa,EAAE,yBAAyB,CAAC,CACpD,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAErC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult, OutputSchema } from "../../output/index.js";
3
+ /** Permission list item for display */
4
+ export interface PermissionListItem {
5
+ id: string;
6
+ agentId: string;
7
+ agentShortId: string;
8
+ name: string;
9
+ description: string;
10
+ }
11
+ /** Schema for permit ls output */
12
+ export declare const permitLsSchema: OutputSchema<PermissionListItem>;
13
+ export type PermitLsResult = ListResult<PermissionListItem>;
14
+ export interface PermitLsOptions extends CommandOptions {
15
+ host?: string;
16
+ }
17
+ export declare function runLsCommand(options: PermitLsOptions, _command: Command): Promise<PermitLsResult>;
18
+ //# sourceMappingURL=ls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/permit/ls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAgB,MAAM,uBAAuB,CAAC;AAEpG,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kCAAkC;AAClC,eAAO,MAAM,cAAc,EAAE,YAAY,CAAC,kBAAkB,CAQ3D,CAAC;AAgBF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,cAAc,CAAC,CA6CzB"}
@@ -0,0 +1,66 @@
1
+ import { connectToDaemon, getDaemonHost } from "../../utils/client.js";
2
+ /** Schema for permit ls output */
3
+ export const permitLsSchema = {
4
+ idField: "id",
5
+ columns: [
6
+ { header: "AGENT", field: "agentShortId", width: 12 },
7
+ { header: "REQ_ID", field: "id", width: 12 },
8
+ { header: "TOOL", field: "name", width: 20 },
9
+ { header: "DESCRIPTION", field: "description", width: 50 },
10
+ ],
11
+ };
12
+ /** Transform agent snapshot + permission to list item */
13
+ function toListItem(agent, permission) {
14
+ return {
15
+ id: permission.id.slice(0, 8),
16
+ agentId: agent.id,
17
+ agentShortId: agent.id.slice(0, 7),
18
+ name: permission.name,
19
+ description: permission.description ?? "-",
20
+ };
21
+ }
22
+ export async function runLsCommand(options, _command) {
23
+ const host = getDaemonHost({ host: options.host });
24
+ let client;
25
+ try {
26
+ client = await connectToDaemon({ host: options.host });
27
+ }
28
+ catch (err) {
29
+ const message = err instanceof Error ? err.message : String(err);
30
+ const error = {
31
+ code: "DAEMON_NOT_RUNNING",
32
+ message: `Cannot connect to daemon at ${host}: ${message}`,
33
+ details: "Start the daemon with: seawork daemon start",
34
+ };
35
+ throw error;
36
+ }
37
+ try {
38
+ const agentsPayload = await client.fetchAgents({ filter: { includeArchived: true } });
39
+ const agents = agentsPayload.entries.map((entry) => entry.agent);
40
+ await client.close();
41
+ // Collect all pending permissions from all agents
42
+ const items = [];
43
+ for (const agent of agents) {
44
+ if (agent.pendingPermissions && agent.pendingPermissions.length > 0) {
45
+ for (const permission of agent.pendingPermissions) {
46
+ items.push(toListItem(agent, permission));
47
+ }
48
+ }
49
+ }
50
+ return {
51
+ type: "list",
52
+ data: items,
53
+ schema: permitLsSchema,
54
+ };
55
+ }
56
+ catch (err) {
57
+ await client.close().catch(() => { });
58
+ const message = err instanceof Error ? err.message : String(err);
59
+ const error = {
60
+ code: "LIST_PERMISSIONS_FAILED",
61
+ message: `Failed to list permissions: ${message}`,
62
+ };
63
+ throw error;
64
+ }
65
+ }
66
+ //# sourceMappingURL=ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/permit/ls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function createProviderCommand(): Command;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,qBAAqB,IAAI,OAAO,CAgB/C"}
@@ -0,0 +1,16 @@
1
+ import { Command } from "commander";
2
+ import { runLsCommand } from "./ls.js";
3
+ import { runModelsCommand } from "./models.js";
4
+ import { withOutput } from "../../output/index.js";
5
+ import { addJsonAndDaemonHostOptions } from "../../utils/command-options.js";
6
+ export function createProviderCommand() {
7
+ const provider = new Command("provider").description("Manage agent providers");
8
+ addJsonAndDaemonHostOptions(provider.command("ls").description("List available providers and status")).action(withOutput(runLsCommand));
9
+ addJsonAndDaemonHostOptions(provider
10
+ .command("models")
11
+ .description("List models for a provider")
12
+ .argument("<provider>", "Provider name (claude, codex, opencode)")
13
+ .option("--thinking", "Include thinking option IDs for each model")).action(withOutput(runModelsCommand));
14
+ return provider;
15
+ }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/provider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,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,wBAAwB,CAAC,CAAC;IAE/E,2BAA2B,CACzB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAC1E,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnC,2BAA2B,CACzB,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CAAC,YAAY,EAAE,yCAAyC,CAAC;SACjE,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC,CACtE,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult, OutputSchema } from "../../output/index.js";
3
+ /** Provider list item for display */
4
+ export interface ProviderListItem {
5
+ provider: string;
6
+ status: string;
7
+ defaultMode: string;
8
+ modes: string;
9
+ }
10
+ /** Schema for provider ls output */
11
+ export declare const providerLsSchema: OutputSchema<ProviderListItem>;
12
+ export type ProviderLsResult = ListResult<ProviderListItem>;
13
+ export interface ProviderLsOptions extends CommandOptions {
14
+ host?: string;
15
+ }
16
+ export declare function runLsCommand(_options: ProviderLsOptions, _command: Command): Promise<ProviderLsResult>;
17
+ //# sourceMappingURL=ls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/commands/provider/ls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGtF,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,EAAE,YAAY,CAAC,gBAAgB,CAiB3D,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,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,gBAAgB,CAAC,CAO3B"}
@@ -0,0 +1,38 @@
1
+ import { AGENT_PROVIDER_DEFINITIONS } from "@seawork/server";
2
+ /** Derive provider list from the manifest — single source of truth */
3
+ const PROVIDERS = AGENT_PROVIDER_DEFINITIONS.map((def) => ({
4
+ provider: def.id,
5
+ status: "available",
6
+ defaultMode: def.defaultModeId ?? "default",
7
+ modes: def.modes.map((m) => m.label).join(", "),
8
+ }));
9
+ /** Schema for provider ls output */
10
+ export const providerLsSchema = {
11
+ idField: "provider",
12
+ columns: [
13
+ { header: "PROVIDER", field: "provider", width: 12 },
14
+ {
15
+ header: "STATUS",
16
+ field: "status",
17
+ width: 12,
18
+ color: (value) => {
19
+ if (value === "available")
20
+ return "green";
21
+ if (value === "unavailable")
22
+ return "red";
23
+ return undefined;
24
+ },
25
+ },
26
+ { header: "DEFAULT MODE", field: "defaultMode", width: 14 },
27
+ { header: "MODES", field: "modes", width: 30 },
28
+ ],
29
+ };
30
+ export async function runLsCommand(_options, _command) {
31
+ // Provider data is static - no daemon connection needed
32
+ return {
33
+ type: "list",
34
+ data: PROVIDERS,
35
+ schema: providerLsSchema,
36
+ };
37
+ }
38
+ //# sourceMappingURL=ls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/provider/ls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAU7D,sEAAsE;AACtE,MAAM,SAAS,GAAuB,0BAA0B,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7E,QAAQ,EAAE,GAAG,CAAC,EAAE;IAChB,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,GAAG,CAAC,aAAa,IAAI,SAAS;IAC3C,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAChD,CAAC,CAAC,CAAC;AAEJ,oCAAoC;AACpC,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;QACpD;YACE,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,KAAK,KAAK,WAAW;oBAAE,OAAO,OAAO,CAAC;gBAC1C,IAAI,KAAK,KAAK,aAAa;oBAAE,OAAO,KAAK,CAAC;gBAC1C,OAAO,SAAS,CAAC;YACnB,CAAC;SACF;QACD,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3D,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;KAC/C;CACF,CAAC;AAQF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAA2B,EAC3B,QAAiB;IAEjB,wDAAwD;IACxD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,gBAAgB;KACzB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { Command } from "commander";
2
+ import type { CommandOptions, ListResult, OutputSchema } from "../../output/index.js";
3
+ /** Model list item for display */
4
+ export interface ModelListItem {
5
+ model: string;
6
+ id: string;
7
+ description: string;
8
+ thinkingOptionIds: string[];
9
+ defaultThinkingOptionId: string | null;
10
+ thinkingOptions: string;
11
+ }
12
+ /** Schema for provider models output */
13
+ export declare const providerModelsSchema: OutputSchema<ModelListItem>;
14
+ export type ProviderModelsResult = ListResult<ModelListItem>;
15
+ export interface ProviderModelsOptions extends CommandOptions {
16
+ host?: string;
17
+ thinking?: boolean;
18
+ }
19
+ export declare function runModelsCommand(provider: string, options: ProviderModelsOptions, _command: Command): Promise<ProviderModelsResult>;
20
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/commands/provider/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEtF,kCAAkC;AAClC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wCAAwC;AACxC,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,aAAa,CAO5D,CAAC;AAgBF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAE7D,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,oBAAoB,CAAC,CA+B/B"}
@@ -0,0 +1,53 @@
1
+ import { connectToDaemon } from "../../utils/client.js";
2
+ /** Schema for provider models output */
3
+ export const providerModelsSchema = {
4
+ idField: "id",
5
+ columns: [
6
+ { header: "ID", field: "id", width: 30 },
7
+ { header: "MODEL", field: "model", width: 30 },
8
+ { header: "DESCRIPTION", field: "description", width: 40 },
9
+ ],
10
+ };
11
+ const providerModelsWithThinkingSchema = {
12
+ idField: "id",
13
+ columns: [
14
+ { header: "ID", field: "id", width: 30 },
15
+ { header: "MODEL", field: "model", width: 30 },
16
+ { header: "THINKING IDS", field: "thinkingOptions", width: 40 },
17
+ {
18
+ header: "DEFAULT THINKING",
19
+ field: (item) => item.defaultThinkingOptionId ?? "auto",
20
+ width: 18,
21
+ },
22
+ ],
23
+ };
24
+ export async function runModelsCommand(provider, options, _command) {
25
+ const normalizedProvider = provider.toLowerCase();
26
+ const client = await connectToDaemon({ host: options.host });
27
+ try {
28
+ const result = await client.listProviderModels(normalizedProvider);
29
+ if (result.error) {
30
+ throw {
31
+ code: "PROVIDER_ERROR",
32
+ message: `Failed to fetch models for ${provider}: ${result.error}`,
33
+ };
34
+ }
35
+ const models = (result.models ?? []).map((m) => ({
36
+ model: m.label,
37
+ id: m.id,
38
+ description: m.description ?? "",
39
+ thinkingOptionIds: (m.thinkingOptions ?? []).map((option) => option.id),
40
+ defaultThinkingOptionId: m.defaultThinkingOptionId ?? null,
41
+ thinkingOptions: (m.thinkingOptions ?? []).map((option) => option.id).join(", ") || "none",
42
+ }));
43
+ return {
44
+ type: "list",
45
+ data: models,
46
+ schema: options.thinking ? providerModelsWithThinkingSchema : providerModelsSchema,
47
+ };
48
+ }
49
+ finally {
50
+ await client.close();
51
+ }
52
+ }
53
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/commands/provider/models.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAgC;IAC/D,OAAO,EAAE,IAAI;IACb,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9C,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE;KAC3D;CACF,CAAC;AAEF,MAAM,gCAAgC,GAAgC;IACpE,OAAO,EAAE,IAAI;IACb,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QAC9C,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/D;YACE,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,IAAI,MAAM;YACvD,KAAK,EAAE,EAAE;SACV;KACF;CACF,CAAC;AASF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,OAA8B,EAC9B,QAAiB;IAEjB,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QAEnE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM;gBACJ,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,8BAA8B,QAAQ,KAAK,MAAM,CAAC,KAAK,EAAE;aACnE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAoB,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;YAChC,iBAAiB,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,uBAAuB,EAAE,CAAC,CAAC,uBAAuB,IAAI,IAAI;YAC1D,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM;SAC3F,CAAC,CAAC,CAAC;QAEJ,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,oBAAoB;SACnF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Command } from "commander";
2
+ import type { SingleResult } from "../../output/index.js";
3
+ import { type ScheduleCommandOptions, type ScheduleRow } from "./shared.js";
4
+ export interface ScheduleCreateOptions extends ScheduleCommandOptions {
5
+ every?: string;
6
+ cron?: string;
7
+ name?: string;
8
+ target?: string;
9
+ maxRuns?: string;
10
+ expiresIn?: string;
11
+ }
12
+ export declare function runCreateCommand(prompt: string, options: ScheduleCreateOptions, _command: Command): Promise<SingleResult<ScheduleRow>>;
13
+ //# sourceMappingURL=create.d.ts.map