@proletariat/cli 0.3.33 → 0.3.35

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 (404) hide show
  1. package/dist/commands/action/create.d.ts +1 -0
  2. package/dist/commands/action/delete.d.ts +1 -0
  3. package/dist/commands/action/index.d.ts +1 -0
  4. package/dist/commands/action/list.d.ts +1 -0
  5. package/dist/commands/action/list.js +0 -6
  6. package/dist/commands/action/run.d.ts +1 -0
  7. package/dist/commands/action/show.d.ts +1 -0
  8. package/dist/commands/action/update.d.ts +1 -0
  9. package/dist/commands/agent/auth.d.ts +5 -2
  10. package/dist/commands/agent/auth.js +10 -17
  11. package/dist/commands/agent/cleanup.d.ts +2 -1
  12. package/dist/commands/agent/cleanup.js +0 -6
  13. package/dist/commands/agent/discover.d.ts +2 -1
  14. package/dist/commands/agent/discover.js +2 -6
  15. package/dist/commands/agent/index.d.ts +1 -0
  16. package/dist/commands/agent/index.js +11 -9
  17. package/dist/commands/agent/list.d.ts +1 -0
  18. package/dist/commands/agent/login.d.ts +1 -0
  19. package/dist/commands/agent/login.js +1 -7
  20. package/dist/commands/agent/rebuild.d.ts +2 -1
  21. package/dist/commands/agent/rebuild.js +0 -6
  22. package/dist/commands/agent/remove.d.ts +2 -1
  23. package/dist/commands/agent/remove.js +0 -6
  24. package/dist/commands/agent/restart.d.ts +1 -0
  25. package/dist/commands/agent/restart.js +1 -7
  26. package/dist/commands/agent/shell.d.ts +1 -0
  27. package/dist/commands/agent/shell.js +1 -7
  28. package/dist/commands/agent/staff/add.d.ts +1 -0
  29. package/dist/commands/agent/staff/add.js +1 -0
  30. package/dist/commands/agent/staff/index.d.ts +15 -0
  31. package/dist/commands/agent/staff/index.js +83 -0
  32. package/dist/commands/agent/staff/list.d.ts +1 -0
  33. package/dist/commands/agent/staff/list.js +1 -0
  34. package/dist/commands/agent/staff/remove.d.ts +1 -0
  35. package/dist/commands/agent/staff/remove.js +1 -0
  36. package/dist/commands/agent/status.d.ts +1 -0
  37. package/dist/commands/agent/status.js +1 -7
  38. package/dist/commands/agent/themes/add-names.d.ts +1 -0
  39. package/dist/commands/agent/themes/add-names.js +1 -0
  40. package/dist/commands/agent/themes/create.d.ts +1 -0
  41. package/dist/commands/agent/themes/create.js +1 -0
  42. package/dist/commands/agent/themes/index.d.ts +10 -0
  43. package/dist/commands/agent/themes/index.js +144 -0
  44. package/dist/commands/agent/themes/list.d.ts +1 -0
  45. package/dist/commands/agent/themes/list.js +1 -0
  46. package/dist/commands/agent/themes/set.d.ts +1 -0
  47. package/dist/commands/agent/themes/set.js +1 -0
  48. package/dist/commands/agent/visit.d.ts +1 -0
  49. package/dist/commands/agent/visit.js +1 -7
  50. package/dist/commands/agents/themes/add-names.d.ts +1 -0
  51. package/dist/commands/agents/themes/add-names.js +1 -0
  52. package/dist/commands/agents/themes/create.d.ts +1 -0
  53. package/dist/commands/agents/themes/create.js +1 -0
  54. package/dist/commands/agents/themes/list.d.ts +1 -0
  55. package/dist/commands/agents/themes/list.js +1 -0
  56. package/dist/commands/autocomplete/setup.d.ts +1 -0
  57. package/dist/commands/board/index.d.ts +1 -0
  58. package/dist/commands/board/view.d.ts +1 -0
  59. package/dist/commands/board/watch.d.ts +1 -0
  60. package/dist/commands/branch/create.d.ts +1 -0
  61. package/dist/commands/branch/create.js +0 -6
  62. package/dist/commands/branch/index.d.ts +1 -0
  63. package/dist/commands/branch/index.js +0 -7
  64. package/dist/commands/branch/list.d.ts +1 -0
  65. package/dist/commands/branch/validate.d.ts +1 -0
  66. package/dist/commands/branch/where.d.ts +1 -0
  67. package/dist/commands/branch/where.js +3 -9
  68. package/dist/commands/category/create.d.ts +1 -0
  69. package/dist/commands/category/delete.d.ts +1 -0
  70. package/dist/commands/category/index.d.ts +1 -0
  71. package/dist/commands/category/list.d.ts +1 -0
  72. package/dist/commands/category/list.js +2 -2
  73. package/dist/commands/category/rename.d.ts +1 -0
  74. package/dist/commands/claude.d.ts +2 -1
  75. package/dist/commands/claude.js +2 -6
  76. package/dist/commands/commit.d.ts +2 -1
  77. package/dist/commands/commit.js +2 -6
  78. package/dist/commands/config/index.d.ts +2 -1
  79. package/dist/commands/config/index.js +3 -7
  80. package/dist/commands/diet.d.ts +1 -0
  81. package/dist/commands/docker/clean.d.ts +1 -0
  82. package/dist/commands/docker/index.d.ts +1 -0
  83. package/dist/commands/docker/list.d.ts +1 -0
  84. package/dist/commands/docker/logs.d.ts +2 -0
  85. package/dist/commands/docker/logs.js +2 -0
  86. package/dist/commands/docker/prune.d.ts +1 -0
  87. package/dist/commands/docker/restart.d.ts +1 -0
  88. package/dist/commands/docker/shell.d.ts +2 -0
  89. package/dist/commands/docker/shell.js +2 -0
  90. package/dist/commands/docker/start.d.ts +2 -0
  91. package/dist/commands/docker/start.js +2 -0
  92. package/dist/commands/docker/status.d.ts +1 -0
  93. package/dist/commands/docker/stop.d.ts +1 -0
  94. package/dist/commands/epic/activate.d.ts +1 -0
  95. package/dist/commands/epic/activate.js +1 -7
  96. package/dist/commands/epic/archive.d.ts +2 -1
  97. package/dist/commands/epic/archive.js +0 -6
  98. package/dist/commands/epic/create.d.ts +2 -1
  99. package/dist/commands/epic/create.js +0 -6
  100. package/dist/commands/epic/delete.d.ts +1 -0
  101. package/dist/commands/epic/index.d.ts +1 -0
  102. package/dist/commands/epic/index.js +0 -7
  103. package/dist/commands/epic/list.d.ts +1 -0
  104. package/dist/commands/epic/move.d.ts +2 -1
  105. package/dist/commands/epic/move.js +0 -6
  106. package/dist/commands/epic/progress.d.ts +2 -1
  107. package/dist/commands/epic/progress.js +0 -6
  108. package/dist/commands/epic/project.d.ts +2 -1
  109. package/dist/commands/epic/project.js +0 -6
  110. package/dist/commands/epic/reorder.d.ts +1 -0
  111. package/dist/commands/epic/reorder.js +0 -6
  112. package/dist/commands/epic/spec.d.ts +2 -1
  113. package/dist/commands/epic/spec.js +0 -6
  114. package/dist/commands/epic/ticket.d.ts +2 -1
  115. package/dist/commands/epic/ticket.js +0 -6
  116. package/dist/commands/epic/view.d.ts +1 -0
  117. package/dist/commands/epic/view.js +1 -7
  118. package/dist/commands/execution/config.d.ts +2 -1
  119. package/dist/commands/execution/config.js +1 -7
  120. package/dist/commands/execution/index.d.ts +1 -0
  121. package/dist/commands/execution/index.js +1 -8
  122. package/dist/commands/execution/list.d.ts +1 -0
  123. package/dist/commands/execution/logs.d.ts +1 -0
  124. package/dist/commands/execution/logs.js +1 -7
  125. package/dist/commands/execution/stop.d.ts +1 -0
  126. package/dist/commands/execution/stop.js +1 -7
  127. package/dist/commands/execution/view.d.ts +1 -0
  128. package/dist/commands/execution/view.js +2 -8
  129. package/dist/commands/feedback/index.d.ts +1 -0
  130. package/dist/commands/feedback/list.d.ts +1 -0
  131. package/dist/commands/feedback/submit.d.ts +1 -0
  132. package/dist/commands/feedback/view.d.ts +1 -0
  133. package/dist/commands/gh/index.d.ts +1 -0
  134. package/dist/commands/gh/login.d.ts +1 -0
  135. package/dist/commands/gh/status.d.ts +1 -0
  136. package/dist/commands/gh/token.d.ts +1 -0
  137. package/dist/commands/init.d.ts +2 -1
  138. package/dist/commands/init.js +3 -8
  139. package/dist/commands/label/create.d.ts +20 -0
  140. package/dist/commands/label/create.js +56 -0
  141. package/dist/commands/label/delete.d.ts +17 -0
  142. package/dist/commands/label/delete.js +31 -0
  143. package/dist/commands/label/group/create.d.ts +20 -0
  144. package/dist/commands/label/group/create.js +54 -0
  145. package/dist/commands/label/group/list.d.ts +14 -0
  146. package/dist/commands/label/group/list.js +51 -0
  147. package/dist/commands/label/index.d.ts +15 -0
  148. package/dist/commands/label/index.js +58 -0
  149. package/dist/commands/label/list.d.ts +16 -0
  150. package/dist/commands/label/list.js +82 -0
  151. package/dist/commands/link/create.d.ts +1 -0
  152. package/dist/commands/link/create.js +0 -6
  153. package/dist/commands/link/index.d.ts +1 -0
  154. package/dist/commands/link/index.js +1 -7
  155. package/dist/commands/link/list.d.ts +1 -0
  156. package/dist/commands/link/list.js +3 -8
  157. package/dist/commands/link/remove.d.ts +1 -0
  158. package/dist/commands/link/remove.js +0 -6
  159. package/dist/commands/mcp-server.js +2 -1
  160. package/dist/commands/phase/create.d.ts +1 -0
  161. package/dist/commands/phase/create.js +1 -1
  162. package/dist/commands/phase/delete.d.ts +1 -0
  163. package/dist/commands/phase/delete.js +1 -1
  164. package/dist/commands/phase/list.d.ts +1 -0
  165. package/dist/commands/phase/move.d.ts +1 -0
  166. package/dist/commands/phase/move.js +2 -2
  167. package/dist/commands/phase/template/apply.d.ts +26 -0
  168. package/dist/commands/phase/template/apply.js +14 -0
  169. package/dist/commands/phase/template/create.d.ts +23 -0
  170. package/dist/commands/phase/template/create.js +14 -0
  171. package/dist/commands/phase/template/delete.d.ts +18 -0
  172. package/dist/commands/phase/template/delete.js +61 -0
  173. package/dist/commands/phase/template/list.d.ts +17 -0
  174. package/dist/commands/phase/template/list.js +88 -0
  175. package/dist/commands/phase/template/update.d.ts +1 -0
  176. package/dist/commands/phase/template/update.js +1 -0
  177. package/dist/commands/phase/update.d.ts +1 -0
  178. package/dist/commands/phase/update.js +2 -2
  179. package/dist/commands/pmo/init.d.ts +4 -3
  180. package/dist/commands/pmo/init.js +2 -7
  181. package/dist/commands/pr/create.d.ts +1 -0
  182. package/dist/commands/pr/index.d.ts +1 -0
  183. package/dist/commands/pr/link.d.ts +1 -0
  184. package/dist/commands/pr/list.d.ts +1 -0
  185. package/dist/commands/pr/status.d.ts +1 -0
  186. package/dist/commands/priority/add.d.ts +1 -0
  187. package/dist/commands/priority/add.js +1 -1
  188. package/dist/commands/priority/list.d.ts +1 -0
  189. package/dist/commands/priority/remove.d.ts +1 -0
  190. package/dist/commands/priority/set.d.ts +1 -0
  191. package/dist/commands/project/archive.d.ts +1 -0
  192. package/dist/commands/project/create.d.ts +1 -0
  193. package/dist/commands/project/delete.d.ts +1 -0
  194. package/dist/commands/project/index.d.ts +1 -0
  195. package/dist/commands/project/list.d.ts +1 -0
  196. package/dist/commands/project/spec.d.ts +1 -0
  197. package/dist/commands/project/unarchive.d.ts +1 -0
  198. package/dist/commands/project/update.d.ts +1 -0
  199. package/dist/commands/project/update.js +0 -2
  200. package/dist/commands/project/view.d.ts +1 -0
  201. package/dist/commands/pull.d.ts +1 -0
  202. package/dist/commands/repo/add.d.ts +1 -0
  203. package/dist/commands/repo/add.js +0 -6
  204. package/dist/commands/repo/create.d.ts +1 -0
  205. package/dist/commands/repo/index.d.ts +1 -0
  206. package/dist/commands/repo/list.d.ts +1 -0
  207. package/dist/commands/repo/remove.d.ts +1 -0
  208. package/dist/commands/repo/view.d.ts +1 -0
  209. package/dist/commands/roadmap/add-project.d.ts +1 -0
  210. package/dist/commands/roadmap/add-project.js +0 -6
  211. package/dist/commands/roadmap/create.d.ts +1 -0
  212. package/dist/commands/roadmap/create.js +0 -6
  213. package/dist/commands/roadmap/delete.d.ts +1 -0
  214. package/dist/commands/roadmap/delete.js +0 -6
  215. package/dist/commands/roadmap/generate.d.ts +1 -0
  216. package/dist/commands/roadmap/generate.js +1 -8
  217. package/dist/commands/roadmap/index.d.ts +1 -0
  218. package/dist/commands/roadmap/index.js +0 -7
  219. package/dist/commands/roadmap/list.d.ts +1 -0
  220. package/dist/commands/roadmap/remove-project.d.ts +1 -0
  221. package/dist/commands/roadmap/remove-project.js +0 -6
  222. package/dist/commands/roadmap/reorder.d.ts +1 -0
  223. package/dist/commands/roadmap/reorder.js +0 -6
  224. package/dist/commands/roadmap/update.d.ts +1 -0
  225. package/dist/commands/roadmap/update.js +0 -6
  226. package/dist/commands/roadmap/view.d.ts +1 -0
  227. package/dist/commands/roadmap/view.js +1 -7
  228. package/dist/commands/session/attach.d.ts +2 -1
  229. package/dist/commands/session/attach.js +0 -6
  230. package/dist/commands/session/health.d.ts +1 -0
  231. package/dist/commands/session/health.js +1 -1
  232. package/dist/commands/session/index.d.ts +1 -0
  233. package/dist/commands/session/index.js +0 -7
  234. package/dist/commands/session/list.d.ts +1 -0
  235. package/dist/commands/spec/create.d.ts +1 -0
  236. package/dist/commands/spec/delete.d.ts +1 -0
  237. package/dist/commands/spec/edit.d.ts +1 -0
  238. package/dist/commands/spec/index.d.ts +1 -0
  239. package/dist/commands/spec/link/depends.d.ts +18 -0
  240. package/dist/commands/spec/link/depends.js +86 -0
  241. package/dist/commands/spec/link/index.d.ts +17 -0
  242. package/dist/commands/spec/link/index.js +92 -0
  243. package/dist/commands/spec/link/remove.d.ts +18 -0
  244. package/dist/commands/spec/link/remove.js +90 -0
  245. package/dist/commands/spec/list.d.ts +1 -0
  246. package/dist/commands/spec/plan.d.ts +1 -0
  247. package/dist/commands/spec/ticket.d.ts +1 -0
  248. package/dist/commands/spec/view.d.ts +1 -0
  249. package/dist/commands/staff/add.d.ts +3 -2
  250. package/dist/commands/staff/add.js +2 -6
  251. package/dist/commands/staff/index.d.ts +2 -1
  252. package/dist/commands/staff/index.js +0 -6
  253. package/dist/commands/staff/list.d.ts +1 -0
  254. package/dist/commands/staff/remove.d.ts +2 -1
  255. package/dist/commands/staff/remove.js +0 -6
  256. package/dist/commands/status/category.d.ts +1 -0
  257. package/dist/commands/status/create.d.ts +1 -0
  258. package/dist/commands/status/delete.d.ts +1 -0
  259. package/dist/commands/status/index.d.ts +1 -0
  260. package/dist/commands/status/list.d.ts +1 -0
  261. package/dist/commands/status/move.d.ts +1 -0
  262. package/dist/commands/status/update.d.ts +1 -0
  263. package/dist/commands/support/book.d.ts +1 -0
  264. package/dist/commands/support/discord.d.ts +1 -0
  265. package/dist/commands/support/docs.d.ts +1 -0
  266. package/dist/commands/support/index.d.ts +1 -0
  267. package/dist/commands/support/issues.d.ts +1 -0
  268. package/dist/commands/support/logs.d.ts +1 -0
  269. package/dist/commands/support/logs.js +2 -2
  270. package/dist/commands/template/apply.d.ts +1 -0
  271. package/dist/commands/template/apply.js +5 -10
  272. package/dist/commands/template/create.d.ts +1 -0
  273. package/dist/commands/template/create.js +1 -7
  274. package/dist/commands/template/delete.d.ts +1 -0
  275. package/dist/commands/template/delete.js +0 -6
  276. package/dist/commands/template/index.d.ts +1 -0
  277. package/dist/commands/template/index.js +2 -7
  278. package/dist/commands/template/list.d.ts +1 -0
  279. package/dist/commands/template/list.js +1 -7
  280. package/dist/commands/template/save.d.ts +1 -0
  281. package/dist/commands/template/save.js +0 -6
  282. package/dist/commands/template/update.d.ts +1 -0
  283. package/dist/commands/template/update.js +0 -6
  284. package/dist/commands/terminal/title.d.ts +1 -0
  285. package/dist/commands/theme/index.d.ts +1 -0
  286. package/dist/commands/theme/index.js +2 -7
  287. package/dist/commands/theme/list.d.ts +1 -0
  288. package/dist/commands/theme/set.d.ts +1 -0
  289. package/dist/commands/theme/set.js +3 -7
  290. package/dist/commands/ticket/bulk.d.ts +1 -0
  291. package/dist/commands/ticket/bulk.js +0 -7
  292. package/dist/commands/ticket/category.d.ts +1 -0
  293. package/dist/commands/ticket/complete.d.ts +2 -1
  294. package/dist/commands/ticket/complete.js +2 -8
  295. package/dist/commands/ticket/create.d.ts +2 -1
  296. package/dist/commands/ticket/create.js +0 -6
  297. package/dist/commands/ticket/delete.d.ts +2 -1
  298. package/dist/commands/ticket/delete.js +0 -6
  299. package/dist/commands/ticket/edit.d.ts +1 -0
  300. package/dist/commands/ticket/edit.js +0 -6
  301. package/dist/commands/ticket/epic.d.ts +2 -1
  302. package/dist/commands/ticket/epic.js +0 -6
  303. package/dist/commands/ticket/index.d.ts +1 -0
  304. package/dist/commands/ticket/index.js +6 -9
  305. package/dist/commands/ticket/link/block.d.ts +15 -0
  306. package/dist/commands/ticket/link/block.js +95 -0
  307. package/dist/commands/ticket/link/index.d.ts +14 -0
  308. package/dist/commands/ticket/link/index.js +96 -0
  309. package/dist/commands/ticket/list.d.ts +2 -0
  310. package/dist/commands/ticket/list.js +6 -0
  311. package/dist/commands/ticket/move.d.ts +2 -1
  312. package/dist/commands/ticket/move.js +2 -8
  313. package/dist/commands/ticket/project.d.ts +2 -1
  314. package/dist/commands/ticket/project.js +0 -6
  315. package/dist/commands/ticket/reassign.d.ts +2 -1
  316. package/dist/commands/ticket/reassign.js +0 -6
  317. package/dist/commands/ticket/resolve.d.ts +68 -0
  318. package/dist/commands/ticket/resolve.js +294 -0
  319. package/dist/commands/ticket/spec.d.ts +2 -1
  320. package/dist/commands/ticket/spec.js +0 -6
  321. package/dist/commands/ticket/status.d.ts +1 -0
  322. package/dist/commands/ticket/status.js +1 -7
  323. package/dist/commands/ticket/template/apply.d.ts +26 -0
  324. package/dist/commands/ticket/template/apply.js +14 -0
  325. package/dist/commands/ticket/template/delete.d.ts +18 -0
  326. package/dist/commands/ticket/template/delete.js +61 -0
  327. package/dist/commands/ticket/template/list.d.ts +17 -0
  328. package/dist/commands/ticket/template/list.js +77 -0
  329. package/dist/commands/ticket/template/save.d.ts +17 -0
  330. package/dist/commands/ticket/template/save.js +97 -0
  331. package/dist/commands/ticket/update.d.ts +2 -1
  332. package/dist/commands/ticket/update.js +0 -6
  333. package/dist/commands/ticket/view.d.ts +2 -0
  334. package/dist/commands/ticket/view.js +2 -7
  335. package/dist/commands/whoami.d.ts +1 -0
  336. package/dist/commands/work/complete.d.ts +1 -0
  337. package/dist/commands/work/complete.js +1 -7
  338. package/dist/commands/work/index.d.ts +1 -0
  339. package/dist/commands/work/index.js +4 -7
  340. package/dist/commands/work/ready.d.ts +2 -1
  341. package/dist/commands/work/ready.js +38 -14
  342. package/dist/commands/work/resolve.d.ts +15 -0
  343. package/dist/commands/work/resolve.js +76 -0
  344. package/dist/commands/work/revise.d.ts +2 -1
  345. package/dist/commands/work/revise.js +0 -6
  346. package/dist/commands/work/spawn-all.d.ts +2 -1
  347. package/dist/commands/work/spawn-all.js +2 -6
  348. package/dist/commands/work/spawn.d.ts +2 -1
  349. package/dist/commands/work/spawn.js +4 -10
  350. package/dist/commands/work/start.d.ts +3 -1
  351. package/dist/commands/work/start.js +52 -23
  352. package/dist/commands/work/watch.d.ts +2 -1
  353. package/dist/commands/work/watch.js +0 -6
  354. package/dist/commands/workflow/create.d.ts +1 -0
  355. package/dist/commands/workflow/delete.d.ts +1 -0
  356. package/dist/commands/workflow/index.d.ts +1 -0
  357. package/dist/commands/workflow/index.js +1 -7
  358. package/dist/commands/workflow/list.d.ts +1 -0
  359. package/dist/commands/workflow/switch.d.ts +1 -0
  360. package/dist/commands/workflow/view.d.ts +1 -0
  361. package/dist/commands/workspace/add.d.ts +2 -0
  362. package/dist/commands/workspace/add.js +2 -0
  363. package/dist/commands/workspace/list.d.ts +1 -0
  364. package/dist/commands/workspace/list.js +4 -8
  365. package/dist/commands/workspace/prune.d.ts +1 -0
  366. package/dist/commands/workspace/prune.js +4 -6
  367. package/dist/commands/workspace/remove.d.ts +1 -0
  368. package/dist/commands/workspace/remove.js +3 -7
  369. package/dist/commands/workspace/use.d.ts +1 -0
  370. package/dist/commands/workspace/use.js +3 -7
  371. package/dist/lib/database/drizzle-schema.d.ts +1 -1
  372. package/dist/lib/database/index.d.ts +1 -1
  373. package/dist/lib/database/index.js +20 -0
  374. package/dist/lib/execution/devcontainer.js +3 -1
  375. package/dist/lib/execution/runners.d.ts +7 -2
  376. package/dist/lib/execution/runners.js +18 -10
  377. package/dist/lib/execution/types.d.ts +1 -0
  378. package/dist/lib/flags/resolver.js +1 -0
  379. package/dist/lib/mcp/helpers.d.ts +1 -2
  380. package/dist/lib/mcp/tools/diet.js +1 -0
  381. package/dist/lib/mcp/tools/index.d.ts +1 -0
  382. package/dist/lib/mcp/tools/index.js +1 -0
  383. package/dist/lib/mcp/tools/label.d.ts +6 -0
  384. package/dist/lib/mcp/tools/label.js +338 -0
  385. package/dist/lib/mcp/tools/ticket.js +53 -17
  386. package/dist/lib/multiline-input.js +6 -18
  387. package/dist/lib/pmo/base-command.d.ts +4 -2
  388. package/dist/lib/pmo/base-command.js +9 -4
  389. package/dist/lib/pmo/schema.d.ts +6 -0
  390. package/dist/lib/pmo/schema.js +44 -0
  391. package/dist/lib/pmo/storage/base.d.ts +6 -0
  392. package/dist/lib/pmo/storage/base.js +185 -7
  393. package/dist/lib/pmo/storage/index.d.ts +23 -1
  394. package/dist/lib/pmo/storage/index.js +59 -1
  395. package/dist/lib/pmo/storage/labels.d.ts +55 -0
  396. package/dist/lib/pmo/storage/labels.js +346 -0
  397. package/dist/lib/pmo/storage/tickets.js +17 -0
  398. package/dist/lib/pmo/storage/types.d.ts +24 -0
  399. package/dist/lib/pmo/types.d.ts +44 -0
  400. package/dist/lib/pmo/utils.js +1 -1
  401. package/dist/lib/prompt-json.d.ts +5 -2
  402. package/dist/lib/prompt-json.js +4 -4
  403. package/oclif.manifest.json +6571 -3748
  404. package/package.json +1 -1
@@ -12,6 +12,7 @@ export default class ActionCreate extends PMOCommand {
12
12
  'move-to': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
16
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
17
  };
17
18
  protected getPMOOptions(): {
@@ -8,6 +8,7 @@ export default class ActionDelete extends PMOCommand {
8
8
  static flags: {
9
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  protected getPMOOptions(): {
@@ -5,6 +5,7 @@ export default class Action extends PMOCommand {
5
5
  static examples: string[];
6
6
  static flags: {
7
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
10
  };
10
11
  protected getPMOOptions(): {
@@ -7,6 +7,7 @@ export default class ActionList extends PMOCommand {
7
7
  custom: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  'suggested-for': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  execute(): Promise<void>;
@@ -24,12 +24,6 @@ export default class ActionList extends PMOCommand {
24
24
  description: 'Filter to actions suggested for a category',
25
25
  options: ['backlog', 'unstarted', 'started', 'completed', 'canceled'],
26
26
  }),
27
- json: Flags.boolean({
28
- char: 'm',
29
- aliases: ['machine'],
30
- description: 'Output as JSON',
31
- default: false,
32
- }),
33
27
  };
34
28
  async execute() {
35
29
  const { flags } = await this.parse(ActionList);
@@ -13,6 +13,7 @@ export default class ActionRun extends PMOCommand {
13
13
  'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
15
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
17
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
18
  };
18
19
  execute(): Promise<void>;
@@ -7,6 +7,7 @@ export default class ActionShow extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  protected getPMOOptions(): {
@@ -13,6 +13,7 @@ export default class ActionUpdate extends PMOCommand {
13
13
  'move-to': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
14
  interactive: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
15
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
17
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
18
  };
18
19
  protected getPMOOptions(): {
@@ -3,9 +3,10 @@ export default class Auth extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
8
  check: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  };
10
11
  /**
11
12
  * Check if the claude-credentials volume exists
@@ -16,7 +17,9 @@ export default class Auth extends Command {
16
17
  */
17
18
  private createVolume;
18
19
  /**
19
- * Check if valid credentials exist in the volume
20
+ * Check if valid credentials exist in the volume.
21
+ * Don't check expiration - access tokens are short-lived but Claude Code
22
+ * handles token refresh internally using stored refresh tokens.
20
23
  */
21
24
  private credentialsExist;
22
25
  /**
@@ -1,6 +1,7 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
2
  import { execSync, spawnSync } from 'node:child_process';
3
3
  import { colors } from '../../lib/colors.js';
4
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
4
5
  import { isDockerRunning } from '../../lib/execution/runners.js';
5
6
  import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
6
7
  const CLAUDE_CREDENTIALS_VOLUME = 'claude-credentials';
@@ -20,12 +21,7 @@ export default class Auth extends Command {
20
21
  description: 'Force re-authentication even if credentials exist',
21
22
  default: false,
22
23
  }),
23
- json: Flags.boolean({
24
- char: 'm',
25
- aliases: ['machine'],
26
- description: 'Output status as JSON',
27
- default: false,
28
- }),
24
+ ...machineOutputFlags,
29
25
  };
30
26
  /**
31
27
  * Check if the claude-credentials volume exists
@@ -51,19 +47,16 @@ export default class Auth extends Command {
51
47
  }
52
48
  }
53
49
  /**
54
- * Check if valid credentials exist in the volume
50
+ * Check if valid credentials exist in the volume.
51
+ * Don't check expiration - access tokens are short-lived but Claude Code
52
+ * handles token refresh internally using stored refresh tokens.
55
53
  */
56
54
  credentialsExist() {
57
55
  try {
58
56
  const result = execSync(`docker run --rm -v ${CLAUDE_CREDENTIALS_VOLUME}:/data alpine cat /data/.credentials.json 2>/dev/null`, { stdio: 'pipe', encoding: 'utf-8' });
59
- // Parse and validate the credentials
60
57
  const creds = JSON.parse(result);
61
- if (creds.claudeAiOauth?.accessToken && creds.claudeAiOauth?.expiresAt) {
62
- // Check if expired
63
- const expiresAt = creds.claudeAiOauth.expiresAt;
64
- if (expiresAt > Date.now()) {
65
- return true;
66
- }
58
+ if (creds.claudeAiOauth?.accessToken) {
59
+ return true;
67
60
  }
68
61
  return false;
69
62
  }
@@ -97,8 +90,7 @@ export default class Auth extends Command {
97
90
  this.log(colors.primary('🔐 Starting Claude Code authentication...'));
98
91
  this.log('');
99
92
  this.log(colors.text('A temporary container will start with Claude Code.'));
100
- this.log(colors.text('When prompted, type: /login'));
101
- this.log(colors.text('Then complete the browser authentication.'));
93
+ this.log(colors.text('Complete the browser authentication when prompted.'));
102
94
  this.log('');
103
95
  this.log(colors.textSecondary('Press Ctrl+C to cancel.'));
104
96
  this.log('');
@@ -112,7 +104,8 @@ export default class Auth extends Command {
112
104
  'node:20',
113
105
  'bash', '-c',
114
106
  // Install as root, then run claude as node user (so credentials have correct ownership)
115
- 'npm install -g @anthropic-ai/claude-code@latest --silent 2>/dev/null && chown -R node:node /home/node/.claude && echo "" && echo "Type: /login" && echo "" && su -s /bin/bash -c "HOME=/home/node CLAUDE_CONFIG_DIR=/home/node/.claude claude" node'
107
+ // Pass "/login" as initial prompt so user doesn't have to type it manually
108
+ 'npm install -g @anthropic-ai/claude-code@latest --silent 2>/dev/null && chown -R node:node /home/node/.claude && su -s /bin/bash -c "HOME=/home/node CLAUDE_CONFIG_DIR=/home/node/.claude claude \\"/login\\"" node'
116
109
  ], { stdio: 'inherit' });
117
110
  return result.status === 0;
118
111
  }
@@ -12,8 +12,9 @@ export default class Cleanup extends PMOCommand {
12
12
  yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  push: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  'no-interactive': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
18
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
19
  };
19
20
  protected getPMOOptions(): {
@@ -47,12 +47,6 @@ export default class Cleanup extends PMOCommand {
47
47
  description: 'Push unpushed commits before cleanup',
48
48
  default: false,
49
49
  }),
50
- json: Flags.boolean({
51
- char: 'm',
52
- aliases: ['machine'],
53
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
54
- default: false,
55
- }),
56
50
  'no-interactive': Flags.boolean({
57
51
  description: 'Alias for --json flag',
58
52
  default: false,
@@ -3,8 +3,9 @@ export default class Discover extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  };
9
10
  run(): Promise<void>;
10
11
  }
@@ -2,6 +2,7 @@ import { Command, Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
3
  import { getWorkspaceInfo } from '../../lib/agents/commands.js';
4
4
  import { discoverAgentsOnDisk } from '../../lib/database/index.js';
5
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
5
6
  import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
6
7
  export default class Discover extends Command {
7
8
  static description = 'Discover agents on disk that are not registered in the database';
@@ -14,12 +15,7 @@ export default class Discover extends Command {
14
15
  description: 'Show what would be discovered without making changes',
15
16
  default: false,
16
17
  }),
17
- json: Flags.boolean({
18
- char: 'm',
19
- aliases: ['machine'],
20
- description: 'Output discovery results as JSON',
21
- default: false,
22
- }),
18
+ ...machineOutputFlags,
23
19
  };
24
20
  async run() {
25
21
  const { flags } = await this.parse(Discover);
@@ -4,6 +4,7 @@ export default class Agent extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
9
  };
9
10
  protected getPMOOptions(): {
@@ -1,4 +1,3 @@
1
- import { Flags } from '@oclif/core';
2
1
  import { colors } from '../../lib/colors.js';
3
2
  import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
4
3
  import { shouldOutputJson } from '../../lib/prompt-json.js';
@@ -18,12 +17,6 @@ export default class Agent extends PMOCommand {
18
17
  ];
19
18
  static flags = {
20
19
  ...pmoBaseFlags,
21
- json: Flags.boolean({
22
- char: 'm',
23
- aliases: ['machine'],
24
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
25
- default: false,
26
- }),
27
20
  };
28
21
  getPMOOptions() {
29
22
  return { promptIfMultiple: false };
@@ -52,6 +45,7 @@ export default class Agent extends PMOCommand {
52
45
  { name: '🗑️ Remove agent', value: 'remove', command: 'prlt agent remove --machine' },
53
46
  // Management group
54
47
  { name: '👔 Manage staff agents', value: 'staff', command: 'prlt agent staff --machine' },
48
+ { name: '⏱️ Manage temp agents', value: 'temp', command: 'prlt agent temp --machine' },
55
49
  { name: '🧹 Cleanup agents', value: 'cleanup', command: 'prlt agent cleanup --machine' },
56
50
  { name: '🎨 Manage themes', value: 'themes', command: 'prlt agent themes --machine' },
57
51
  // Operations group
@@ -96,11 +90,19 @@ export default class Agent extends PMOCommand {
96
90
  break;
97
91
  }
98
92
  case 'staff': {
99
- const { default: StaffCommand } = await import('../staff/index.js');
93
+ const { default: StaffCommand } = await import('./staff/index.js');
100
94
  const cmd = new StaffCommand([], this.config);
101
95
  await cmd.run();
102
96
  break;
103
97
  }
98
+ case 'temp': {
99
+ // @ts-expect-error -- temp subcommand not yet implemented
100
+ // eslint-disable-next-line import/no-unresolved -- temp subcommand not yet implemented
101
+ const { default: TempCommand } = await import('./temp/index.js');
102
+ const cmd = new TempCommand([], this.config);
103
+ await cmd.run();
104
+ break;
105
+ }
104
106
  case 'cleanup': {
105
107
  const { default: CleanupCommand } = await import('./cleanup.js');
106
108
  const cmd = new CleanupCommand([], this.config);
@@ -108,7 +110,7 @@ export default class Agent extends PMOCommand {
108
110
  break;
109
111
  }
110
112
  case 'themes': {
111
- const { default: ThemeCommand } = await import('../theme/index.js');
113
+ const { default: ThemeCommand } = await import('./themes/index.js');
112
114
  const cmd = new ThemeCommand([], this.config);
113
115
  await cmd.run();
114
116
  break;
@@ -5,6 +5,7 @@ export default class List extends PMOCommand {
5
5
  static flags: {
6
6
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
10
  };
10
11
  protected getPMOOptions(): {
@@ -7,6 +7,7 @@ export default class Login extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  protected getPMOOptions(): {
@@ -1,4 +1,4 @@
1
- import { Args, Flags } from '@oclif/core';
1
+ import { Args } from '@oclif/core';
2
2
  import * as path from 'node:path';
3
3
  import * as fs from 'node:fs';
4
4
  import { execSync } from 'node:child_process';
@@ -21,12 +21,6 @@ export default class Login extends PMOCommand {
21
21
  };
22
22
  static flags = {
23
23
  ...pmoBaseFlags,
24
- json: Flags.boolean({
25
- char: 'm',
26
- aliases: ['machine'],
27
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
28
- default: false,
29
- }),
30
24
  };
31
25
  getPMOOptions() {
32
26
  return { promptIfMultiple: false };
@@ -6,8 +6,9 @@ export default class AgentRebuild extends PMOCommand {
6
6
  name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
7
  };
8
8
  static flags: {
9
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  'no-cache': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  protected getPMOOptions(): {
@@ -25,12 +25,6 @@ export default class AgentRebuild extends PMOCommand {
25
25
  };
26
26
  static flags = {
27
27
  ...pmoBaseFlags,
28
- json: Flags.boolean({
29
- char: 'm',
30
- aliases: ['machine'],
31
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
32
- default: false,
33
- }),
34
28
  'no-cache': Flags.boolean({
35
29
  description: 'Build without using cache',
36
30
  default: false,
@@ -6,8 +6,9 @@ export default class Remove extends PMOCommand {
6
6
  name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
7
  };
8
8
  static flags: {
9
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
13
  };
13
14
  protected getPMOOptions(): {
@@ -18,12 +18,6 @@ export default class Remove extends PMOCommand {
18
18
  };
19
19
  static flags = {
20
20
  ...pmoBaseFlags,
21
- json: Flags.boolean({
22
- char: 'm',
23
- aliases: ['machine'],
24
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
25
- default: false,
26
- }),
27
21
  force: Flags.boolean({
28
22
  char: 'f',
29
23
  description: 'Skip confirmation prompt (for non-interactive use)',
@@ -7,6 +7,7 @@ export default class AgentRestart extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  protected getPMOOptions(): {
@@ -1,4 +1,4 @@
1
- import { Args, Flags } from '@oclif/core';
1
+ import { Args } from '@oclif/core';
2
2
  import { exec } from 'node:child_process';
3
3
  import { promisify } from 'node:util';
4
4
  import * as path from 'node:path';
@@ -24,12 +24,6 @@ export default class AgentRestart extends PMOCommand {
24
24
  };
25
25
  static flags = {
26
26
  ...pmoBaseFlags,
27
- json: Flags.boolean({
28
- char: 'm',
29
- aliases: ['machine'],
30
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
31
- default: false,
32
- }),
33
27
  };
34
28
  getPMOOptions() {
35
29
  return { promptIfMultiple: false };
@@ -7,6 +7,7 @@ export default class Shell extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  protected getPMOOptions(): {
@@ -1,4 +1,4 @@
1
- import { Args, Flags } from '@oclif/core';
1
+ import { Args } from '@oclif/core';
2
2
  import * as path from 'node:path';
3
3
  import * as fs from 'node:fs';
4
4
  import { execSync, spawn } from 'node:child_process';
@@ -24,12 +24,6 @@ export default class Shell extends PMOCommand {
24
24
  };
25
25
  static flags = {
26
26
  ...pmoBaseFlags,
27
- json: Flags.boolean({
28
- char: 'm',
29
- aliases: ['machine'],
30
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
31
- default: false,
32
- }),
33
27
  };
34
28
  getPMOOptions() {
35
29
  return { promptIfMultiple: false };
@@ -0,0 +1 @@
1
+ export { default } from '../../staff/add.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../staff/add.js';
@@ -0,0 +1,15 @@
1
+ import { PMOCommand } from '../../../lib/pmo/index.js';
2
+ export default class AgentStaff extends PMOCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ 'no-interactive': import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ };
11
+ protected getPMOOptions(): {
12
+ promptIfMultiple: boolean;
13
+ };
14
+ execute(): Promise<void>;
15
+ }
@@ -0,0 +1,83 @@
1
+ import { Flags } from '@oclif/core';
2
+ import inquirer from 'inquirer';
3
+ import { colors } from '../../../lib/colors.js';
4
+ import { PMOCommand, pmoBaseFlags } from '../../../lib/pmo/index.js';
5
+ import { shouldOutputJson, outputPromptAsJson, createMetadata, buildPromptConfig, } from '../../../lib/prompt-json.js';
6
+ export default class AgentStaff extends PMOCommand {
7
+ static description = 'Manage staff (persistent) agents';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %> list',
10
+ '<%= config.bin %> <%= command.id %> add',
11
+ '<%= config.bin %> <%= command.id %> remove camry',
12
+ ];
13
+ static flags = {
14
+ ...pmoBaseFlags,
15
+ 'no-interactive': Flags.boolean({
16
+ description: 'Alias for --json flag',
17
+ default: false,
18
+ }),
19
+ };
20
+ getPMOOptions() {
21
+ return { promptIfMultiple: false };
22
+ }
23
+ async execute() {
24
+ const { flags } = await this.parse(AgentStaff);
25
+ const jsonMode = shouldOutputJson(flags);
26
+ const menuChoices = [
27
+ { name: 'List staff agents', value: 'list', command: 'prlt agent staff list --machine' },
28
+ { name: 'Add staff agent', value: 'add', command: 'prlt agent staff add --machine' },
29
+ { name: 'Remove staff agent', value: 'remove', command: 'prlt agent staff remove --machine' },
30
+ { name: 'Cancel', value: 'cancel', command: '' },
31
+ ];
32
+ const message = 'What would you like to do?';
33
+ if (jsonMode) {
34
+ outputPromptAsJson(buildPromptConfig('list', 'action', message, menuChoices), createMetadata('agent staff', flags));
35
+ return;
36
+ }
37
+ this.log(colors.primary('Staff Agents'));
38
+ this.log(colors.textMuted('Persistent agents with dedicated worktrees.\n'));
39
+ const { action } = await this.prompt([{
40
+ type: 'list',
41
+ name: 'action',
42
+ message,
43
+ choices: [
44
+ { name: '📋 ' + menuChoices[0].name, value: menuChoices[0].value },
45
+ { name: '➕ ' + menuChoices[1].name, value: menuChoices[1].value },
46
+ { name: '🗑️ ' + menuChoices[2].name, value: menuChoices[2].value },
47
+ new inquirer.Separator(),
48
+ { name: '❌ ' + menuChoices[3].name, value: menuChoices[3].value },
49
+ ]
50
+ }], null);
51
+ if (action === 'cancel') {
52
+ this.log(colors.textMuted('Operation cancelled.'));
53
+ return;
54
+ }
55
+ try {
56
+ switch (action) {
57
+ case 'list': {
58
+ const { default: ListCommand } = await import('./list.js');
59
+ const cmd = new ListCommand([], this.config);
60
+ await cmd.run();
61
+ break;
62
+ }
63
+ case 'add': {
64
+ const { default: AddCommand } = await import('./add.js');
65
+ const cmd = new AddCommand([], this.config);
66
+ await cmd.run();
67
+ break;
68
+ }
69
+ case 'remove': {
70
+ const { default: RemoveCommand } = await import('./remove.js');
71
+ const cmd = new RemoveCommand([], this.config);
72
+ await cmd.run();
73
+ break;
74
+ }
75
+ default:
76
+ this.error(`Unknown action: ${action}`);
77
+ }
78
+ }
79
+ catch (error) {
80
+ this.error(`Failed to execute staff ${action}: ${error instanceof Error ? error.message : String(error)}`);
81
+ }
82
+ }
83
+ }
@@ -0,0 +1 @@
1
+ export { default } from '../../staff/list.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../staff/list.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../staff/remove.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../staff/remove.js';
@@ -7,6 +7,7 @@ export default class Status extends PMOCommand {
7
7
  };
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  };
12
13
  protected getPMOOptions(): {
@@ -1,4 +1,4 @@
1
- import { Args, Flags } from '@oclif/core';
1
+ import { Args } from '@oclif/core';
2
2
  import { colors, format } from '../../lib/colors.js';
3
3
  import { getWorkspaceInfo, getAgentStatus, formatAgentList } from '../../lib/agents/commands.js';
4
4
  import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
@@ -17,12 +17,6 @@ export default class Status extends PMOCommand {
17
17
  };
18
18
  static flags = {
19
19
  ...pmoBaseFlags,
20
- json: Flags.boolean({
21
- char: 'm',
22
- aliases: ['machine'],
23
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
24
- default: false,
25
- }),
26
20
  };
27
21
  getPMOOptions() {
28
22
  return { promptIfMultiple: false };
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/add-names.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/add-names.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/create.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/create.js';
@@ -0,0 +1,10 @@
1
+ import { PromptCommand } from '../../../lib/prompt-command.js';
2
+ export default class AgentThemes extends PromptCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<void>;
10
+ }