@proletariat/cli 0.3.80 → 0.3.82

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 (373) hide show
  1. package/README.md +2 -46
  2. package/dist/commands/action/run.js +2 -2
  3. package/dist/commands/action/run.js.map +1 -1
  4. package/dist/commands/agent/staff/add.d.ts +17 -1
  5. package/dist/commands/agent/staff/add.js +274 -1
  6. package/dist/commands/agent/staff/add.js.map +1 -1
  7. package/dist/commands/agent/staff/list.d.ts +10 -1
  8. package/dist/commands/agent/staff/list.js +103 -1
  9. package/dist/commands/agent/staff/list.js.map +1 -1
  10. package/dist/commands/agent/staff/remove.d.ts +18 -1
  11. package/dist/commands/agent/staff/remove.js +143 -1
  12. package/dist/commands/agent/staff/remove.js.map +1 -1
  13. package/dist/commands/{epic/activate.d.ts → pr/close.d.ts} +8 -2
  14. package/dist/commands/pr/close.js +157 -0
  15. package/dist/commands/pr/close.js.map +1 -0
  16. package/dist/commands/pr/index.js +6 -2
  17. package/dist/commands/pr/index.js.map +1 -1
  18. package/dist/commands/pr/list.d.ts +1 -0
  19. package/dist/commands/pr/list.js +37 -3
  20. package/dist/commands/pr/list.js.map +1 -1
  21. package/dist/commands/pr/merge.js +1 -1
  22. package/dist/commands/pr/merge.js.map +1 -1
  23. package/dist/commands/pr/status.js +33 -1
  24. package/dist/commands/pr/status.js.map +1 -1
  25. package/dist/commands/self-update.d.ts +7 -14
  26. package/dist/commands/self-update.js +11 -179
  27. package/dist/commands/self-update.js.map +1 -1
  28. package/dist/commands/{workflow/switch.d.ts → ticket/cancel.d.ts} +4 -2
  29. package/dist/commands/ticket/cancel.js +204 -0
  30. package/dist/commands/ticket/cancel.js.map +1 -0
  31. package/dist/commands/ticket/create.d.ts +7 -2
  32. package/dist/commands/ticket/create.js +45 -29
  33. package/dist/commands/ticket/create.js.map +1 -1
  34. package/dist/commands/ticket/link/index.js +0 -12
  35. package/dist/commands/ticket/link/index.js.map +1 -1
  36. package/dist/commands/ticket/move.d.ts +1 -0
  37. package/dist/commands/ticket/move.js +10 -3
  38. package/dist/commands/ticket/move.js.map +1 -1
  39. package/dist/commands/update.d.ts +18 -0
  40. package/dist/commands/update.js +184 -0
  41. package/dist/commands/update.js.map +1 -0
  42. package/dist/lib/database/index.js +0 -134
  43. package/dist/lib/database/index.js.map +1 -1
  44. package/dist/lib/database/migrations/0006_drop_theme_names_used.d.ts +8 -0
  45. package/dist/lib/database/migrations/0006_drop_theme_names_used.js +30 -0
  46. package/dist/lib/database/migrations/0006_drop_theme_names_used.js.map +1 -0
  47. package/dist/lib/database/migrations/0007_add_worktree_columns.d.ts +8 -0
  48. package/dist/lib/database/migrations/0007_add_worktree_columns.js +24 -0
  49. package/dist/lib/database/migrations/0007_add_worktree_columns.js.map +1 -0
  50. package/dist/lib/database/migrations/0008_add_agent_mount_mode.d.ts +8 -0
  51. package/dist/lib/database/migrations/0008_add_agent_mount_mode.js +18 -0
  52. package/dist/lib/database/migrations/0008_add_agent_mount_mode.js.map +1 -0
  53. package/dist/lib/database/migrations/0009_create_media_items.d.ts +7 -0
  54. package/dist/lib/database/migrations/0009_create_media_items.js +29 -0
  55. package/dist/lib/database/migrations/0009_create_media_items.js.map +1 -0
  56. package/dist/lib/database/migrations/0010_add_ticket_position.d.ts +9 -0
  57. package/dist/lib/database/migrations/0010_add_ticket_position.js +44 -0
  58. package/dist/lib/database/migrations/0010_add_ticket_position.js.map +1 -0
  59. package/dist/lib/database/migrations/index.js +10 -0
  60. package/dist/lib/database/migrations/index.js.map +1 -1
  61. package/dist/lib/events/events.d.ts +2 -1
  62. package/dist/lib/pmo/storage/dependencies.js +45 -21
  63. package/dist/lib/pmo/storage/dependencies.js.map +1 -1
  64. package/dist/lib/pmo/storage/statuses.d.ts +2 -0
  65. package/dist/lib/pmo/storage/statuses.js +209 -150
  66. package/dist/lib/pmo/storage/statuses.js.map +1 -1
  67. package/dist/lib/pr/index.d.ts +14 -0
  68. package/dist/lib/pr/index.js +48 -0
  69. package/dist/lib/pr/index.js.map +1 -1
  70. package/dist/lib/update-check.js +1 -1
  71. package/dist/lib/update-check.js.map +1 -1
  72. package/dist/lib/update-prompt.js +1 -1
  73. package/dist/lib/work-lifecycle/events.d.ts +11 -0
  74. package/oclif.manifest.json +5060 -11723
  75. package/package.json +1 -1
  76. package/dist/commands/agents/index.d.ts +0 -11
  77. package/dist/commands/agents/index.js +0 -105
  78. package/dist/commands/agents/index.js.map +0 -1
  79. package/dist/commands/agents/themes/add-names.d.ts +0 -1
  80. package/dist/commands/agents/themes/add-names.js +0 -2
  81. package/dist/commands/agents/themes/add-names.js.map +0 -1
  82. package/dist/commands/agents/themes/create.d.ts +0 -1
  83. package/dist/commands/agents/themes/create.js +0 -2
  84. package/dist/commands/agents/themes/create.js.map +0 -1
  85. package/dist/commands/agents/themes/list.d.ts +0 -1
  86. package/dist/commands/agents/themes/list.js +0 -2
  87. package/dist/commands/agents/themes/list.js.map +0 -1
  88. package/dist/commands/category/create.d.ts +0 -19
  89. package/dist/commands/category/create.js +0 -130
  90. package/dist/commands/category/create.js.map +0 -1
  91. package/dist/commands/category/delete.d.ts +0 -18
  92. package/dist/commands/category/delete.js +0 -124
  93. package/dist/commands/category/delete.js.map +0 -1
  94. package/dist/commands/category/index.d.ts +0 -16
  95. package/dist/commands/category/index.js +0 -88
  96. package/dist/commands/category/index.js.map +0 -1
  97. package/dist/commands/category/list.d.ts +0 -19
  98. package/dist/commands/category/list.js +0 -111
  99. package/dist/commands/category/list.js.map +0 -1
  100. package/dist/commands/category/rename.d.ts +0 -19
  101. package/dist/commands/category/rename.js +0 -160
  102. package/dist/commands/category/rename.js.map +0 -1
  103. package/dist/commands/epic/activate.js +0 -107
  104. package/dist/commands/epic/activate.js.map +0 -1
  105. package/dist/commands/epic/archive.d.ts +0 -15
  106. package/dist/commands/epic/archive.js +0 -118
  107. package/dist/commands/epic/archive.js.map +0 -1
  108. package/dist/commands/epic/create.d.ts +0 -17
  109. package/dist/commands/epic/create.js +0 -179
  110. package/dist/commands/epic/create.js.map +0 -1
  111. package/dist/commands/epic/delete.d.ts +0 -15
  112. package/dist/commands/epic/delete.js +0 -129
  113. package/dist/commands/epic/delete.js.map +0 -1
  114. package/dist/commands/epic/index.d.ts +0 -14
  115. package/dist/commands/epic/index.js +0 -88
  116. package/dist/commands/epic/index.js.map +0 -1
  117. package/dist/commands/epic/list.d.ts +0 -13
  118. package/dist/commands/epic/list.js +0 -103
  119. package/dist/commands/epic/list.js.map +0 -1
  120. package/dist/commands/epic/move.d.ts +0 -16
  121. package/dist/commands/epic/move.js +0 -162
  122. package/dist/commands/epic/move.js.map +0 -1
  123. package/dist/commands/epic/progress.d.ts +0 -17
  124. package/dist/commands/epic/progress.js +0 -170
  125. package/dist/commands/epic/progress.js.map +0 -1
  126. package/dist/commands/epic/project.d.ts +0 -16
  127. package/dist/commands/epic/project.js +0 -199
  128. package/dist/commands/epic/project.js.map +0 -1
  129. package/dist/commands/epic/reorder.d.ts +0 -22
  130. package/dist/commands/epic/reorder.js +0 -152
  131. package/dist/commands/epic/reorder.js.map +0 -1
  132. package/dist/commands/epic/show.d.ts +0 -13
  133. package/dist/commands/epic/show.js +0 -17
  134. package/dist/commands/epic/show.js.map +0 -1
  135. package/dist/commands/epic/spec.d.ts +0 -17
  136. package/dist/commands/epic/spec.js +0 -189
  137. package/dist/commands/epic/spec.js.map +0 -1
  138. package/dist/commands/epic/ticket.d.ts +0 -21
  139. package/dist/commands/epic/ticket.js +0 -300
  140. package/dist/commands/epic/ticket.js.map +0 -1
  141. package/dist/commands/epic/view.d.ts +0 -14
  142. package/dist/commands/epic/view.js +0 -141
  143. package/dist/commands/epic/view.js.map +0 -1
  144. package/dist/commands/execution/kill.d.ts +0 -12
  145. package/dist/commands/execution/kill.js +0 -18
  146. package/dist/commands/execution/kill.js.map +0 -1
  147. package/dist/commands/label/create.d.ts +0 -20
  148. package/dist/commands/label/create.js +0 -58
  149. package/dist/commands/label/create.js.map +0 -1
  150. package/dist/commands/label/delete.d.ts +0 -17
  151. package/dist/commands/label/delete.js +0 -33
  152. package/dist/commands/label/delete.js.map +0 -1
  153. package/dist/commands/label/group/create.d.ts +0 -20
  154. package/dist/commands/label/group/create.js +0 -56
  155. package/dist/commands/label/group/create.js.map +0 -1
  156. package/dist/commands/label/group/list.d.ts +0 -14
  157. package/dist/commands/label/group/list.js +0 -53
  158. package/dist/commands/label/group/list.js.map +0 -1
  159. package/dist/commands/label/index.d.ts +0 -15
  160. package/dist/commands/label/index.js +0 -59
  161. package/dist/commands/label/index.js.map +0 -1
  162. package/dist/commands/label/list.d.ts +0 -16
  163. package/dist/commands/label/list.js +0 -84
  164. package/dist/commands/label/list.js.map +0 -1
  165. package/dist/commands/link/create.d.ts +0 -16
  166. package/dist/commands/link/create.js +0 -136
  167. package/dist/commands/link/create.js.map +0 -1
  168. package/dist/commands/link/index.d.ts +0 -14
  169. package/dist/commands/link/index.js +0 -82
  170. package/dist/commands/link/index.js.map +0 -1
  171. package/dist/commands/link/list.d.ts +0 -18
  172. package/dist/commands/link/list.js +0 -178
  173. package/dist/commands/link/list.js.map +0 -1
  174. package/dist/commands/link/remove.d.ts +0 -16
  175. package/dist/commands/link/remove.js +0 -115
  176. package/dist/commands/link/remove.js.map +0 -1
  177. package/dist/commands/media/add.d.ts +0 -19
  178. package/dist/commands/media/add.js +0 -98
  179. package/dist/commands/media/add.js.map +0 -1
  180. package/dist/commands/media/index.d.ts +0 -14
  181. package/dist/commands/media/index.js +0 -93
  182. package/dist/commands/media/index.js.map +0 -1
  183. package/dist/commands/media/list.d.ts +0 -15
  184. package/dist/commands/media/list.js +0 -94
  185. package/dist/commands/media/list.js.map +0 -1
  186. package/dist/commands/media/preprocess.d.ts +0 -19
  187. package/dist/commands/media/preprocess.js +0 -91
  188. package/dist/commands/media/preprocess.js.map +0 -1
  189. package/dist/commands/media/remove.d.ts +0 -18
  190. package/dist/commands/media/remove.js +0 -105
  191. package/dist/commands/media/remove.js.map +0 -1
  192. package/dist/commands/media/show.d.ts +0 -17
  193. package/dist/commands/media/show.js +0 -122
  194. package/dist/commands/media/show.js.map +0 -1
  195. package/dist/commands/phase/create.d.ts +0 -22
  196. package/dist/commands/phase/create.js +0 -165
  197. package/dist/commands/phase/create.js.map +0 -1
  198. package/dist/commands/phase/delete.d.ts +0 -18
  199. package/dist/commands/phase/delete.js +0 -75
  200. package/dist/commands/phase/delete.js.map +0 -1
  201. package/dist/commands/phase/list.d.ts +0 -13
  202. package/dist/commands/phase/list.js +0 -75
  203. package/dist/commands/phase/list.js.map +0 -1
  204. package/dist/commands/phase/move.d.ts +0 -18
  205. package/dist/commands/phase/move.js +0 -124
  206. package/dist/commands/phase/move.js.map +0 -1
  207. package/dist/commands/phase/template/apply.d.ts +0 -26
  208. package/dist/commands/phase/template/apply.js +0 -15
  209. package/dist/commands/phase/template/apply.js.map +0 -1
  210. package/dist/commands/phase/template/create.d.ts +0 -23
  211. package/dist/commands/phase/template/create.js +0 -15
  212. package/dist/commands/phase/template/create.js.map +0 -1
  213. package/dist/commands/phase/template/delete.d.ts +0 -18
  214. package/dist/commands/phase/template/delete.js +0 -63
  215. package/dist/commands/phase/template/delete.js.map +0 -1
  216. package/dist/commands/phase/template/list.d.ts +0 -17
  217. package/dist/commands/phase/template/list.js +0 -90
  218. package/dist/commands/phase/template/list.js.map +0 -1
  219. package/dist/commands/phase/template/update.d.ts +0 -1
  220. package/dist/commands/phase/template/update.js +0 -2
  221. package/dist/commands/phase/template/update.js.map +0 -1
  222. package/dist/commands/phase/update.d.ts +0 -23
  223. package/dist/commands/phase/update.js +0 -209
  224. package/dist/commands/phase/update.js.map +0 -1
  225. package/dist/commands/priority/add.d.ts +0 -16
  226. package/dist/commands/priority/add.js +0 -71
  227. package/dist/commands/priority/add.js.map +0 -1
  228. package/dist/commands/priority/list.d.ts +0 -11
  229. package/dist/commands/priority/list.js +0 -35
  230. package/dist/commands/priority/list.js.map +0 -1
  231. package/dist/commands/priority/remove.d.ts +0 -14
  232. package/dist/commands/priority/remove.js +0 -55
  233. package/dist/commands/priority/remove.js.map +0 -1
  234. package/dist/commands/priority/set.d.ts +0 -15
  235. package/dist/commands/priority/set.js +0 -61
  236. package/dist/commands/priority/set.js.map +0 -1
  237. package/dist/commands/roadmap/add-project.d.ts +0 -19
  238. package/dist/commands/roadmap/add-project.js +0 -119
  239. package/dist/commands/roadmap/add-project.js.map +0 -1
  240. package/dist/commands/roadmap/create.d.ts +0 -22
  241. package/dist/commands/roadmap/create.js +0 -168
  242. package/dist/commands/roadmap/create.js.map +0 -1
  243. package/dist/commands/roadmap/delete.d.ts +0 -18
  244. package/dist/commands/roadmap/delete.js +0 -96
  245. package/dist/commands/roadmap/delete.js.map +0 -1
  246. package/dist/commands/roadmap/generate.d.ts +0 -24
  247. package/dist/commands/roadmap/generate.js +0 -201
  248. package/dist/commands/roadmap/generate.js.map +0 -1
  249. package/dist/commands/roadmap/index.d.ts +0 -14
  250. package/dist/commands/roadmap/index.js +0 -57
  251. package/dist/commands/roadmap/index.js.map +0 -1
  252. package/dist/commands/roadmap/list.d.ts +0 -14
  253. package/dist/commands/roadmap/list.js +0 -58
  254. package/dist/commands/roadmap/list.js.map +0 -1
  255. package/dist/commands/roadmap/remove-project.d.ts +0 -19
  256. package/dist/commands/roadmap/remove-project.js +0 -124
  257. package/dist/commands/roadmap/remove-project.js.map +0 -1
  258. package/dist/commands/roadmap/reorder.d.ts +0 -18
  259. package/dist/commands/roadmap/reorder.js +0 -147
  260. package/dist/commands/roadmap/reorder.js.map +0 -1
  261. package/dist/commands/roadmap/update.d.ts +0 -20
  262. package/dist/commands/roadmap/update.js +0 -134
  263. package/dist/commands/roadmap/update.js.map +0 -1
  264. package/dist/commands/roadmap/view.d.ts +0 -17
  265. package/dist/commands/roadmap/view.js +0 -93
  266. package/dist/commands/roadmap/view.js.map +0 -1
  267. package/dist/commands/staff/add.d.ts +0 -17
  268. package/dist/commands/staff/add.js +0 -275
  269. package/dist/commands/staff/add.js.map +0 -1
  270. package/dist/commands/staff/index.d.ts +0 -15
  271. package/dist/commands/staff/index.js +0 -88
  272. package/dist/commands/staff/index.js.map +0 -1
  273. package/dist/commands/staff/list.d.ts +0 -10
  274. package/dist/commands/staff/list.js +0 -104
  275. package/dist/commands/staff/list.js.map +0 -1
  276. package/dist/commands/staff/remove.d.ts +0 -18
  277. package/dist/commands/staff/remove.js +0 -144
  278. package/dist/commands/staff/remove.js.map +0 -1
  279. package/dist/commands/status/category.d.ts +0 -15
  280. package/dist/commands/status/category.js +0 -64
  281. package/dist/commands/status/category.js.map +0 -1
  282. package/dist/commands/status/create.d.ts +0 -21
  283. package/dist/commands/status/create.js +0 -161
  284. package/dist/commands/status/create.js.map +0 -1
  285. package/dist/commands/status/delete.d.ts +0 -14
  286. package/dist/commands/status/delete.js +0 -86
  287. package/dist/commands/status/delete.js.map +0 -1
  288. package/dist/commands/status/index.d.ts +0 -15
  289. package/dist/commands/status/index.js +0 -98
  290. package/dist/commands/status/index.js.map +0 -1
  291. package/dist/commands/status/list.d.ts +0 -13
  292. package/dist/commands/status/list.js +0 -97
  293. package/dist/commands/status/list.js.map +0 -1
  294. package/dist/commands/status/move.d.ts +0 -15
  295. package/dist/commands/status/move.js +0 -126
  296. package/dist/commands/status/move.js.map +0 -1
  297. package/dist/commands/status/update.d.ts +0 -20
  298. package/dist/commands/status/update.js +0 -214
  299. package/dist/commands/status/update.js.map +0 -1
  300. package/dist/commands/template/apply.d.ts +0 -28
  301. package/dist/commands/template/apply.js +0 -258
  302. package/dist/commands/template/apply.js.map +0 -1
  303. package/dist/commands/template/create.d.ts +0 -28
  304. package/dist/commands/template/create.js +0 -238
  305. package/dist/commands/template/create.js.map +0 -1
  306. package/dist/commands/template/delete.d.ts +0 -16
  307. package/dist/commands/template/delete.js +0 -141
  308. package/dist/commands/template/delete.js.map +0 -1
  309. package/dist/commands/template/index.d.ts +0 -11
  310. package/dist/commands/template/index.js +0 -65
  311. package/dist/commands/template/index.js.map +0 -1
  312. package/dist/commands/template/list.d.ts +0 -19
  313. package/dist/commands/template/list.js +0 -155
  314. package/dist/commands/template/list.js.map +0 -1
  315. package/dist/commands/template/save.d.ts +0 -17
  316. package/dist/commands/template/save.js +0 -101
  317. package/dist/commands/template/save.js.map +0 -1
  318. package/dist/commands/template/update.d.ts +0 -19
  319. package/dist/commands/template/update.js +0 -94
  320. package/dist/commands/template/update.js.map +0 -1
  321. package/dist/commands/ticket/template/apply.d.ts +0 -26
  322. package/dist/commands/ticket/template/apply.js +0 -15
  323. package/dist/commands/ticket/template/apply.js.map +0 -1
  324. package/dist/commands/ticket/template/delete.d.ts +0 -18
  325. package/dist/commands/ticket/template/delete.js +0 -63
  326. package/dist/commands/ticket/template/delete.js.map +0 -1
  327. package/dist/commands/ticket/template/list.d.ts +0 -17
  328. package/dist/commands/ticket/template/list.js +0 -79
  329. package/dist/commands/ticket/template/list.js.map +0 -1
  330. package/dist/commands/ticket/template/save.d.ts +0 -17
  331. package/dist/commands/ticket/template/save.js +0 -99
  332. package/dist/commands/ticket/template/save.js.map +0 -1
  333. package/dist/commands/work/spawn-all.d.ts +0 -19
  334. package/dist/commands/work/spawn-all.js +0 -64
  335. package/dist/commands/work/spawn-all.js.map +0 -1
  336. package/dist/commands/workflow/create.d.ts +0 -19
  337. package/dist/commands/workflow/create.js +0 -118
  338. package/dist/commands/workflow/create.js.map +0 -1
  339. package/dist/commands/workflow/delete.d.ts +0 -18
  340. package/dist/commands/workflow/delete.js +0 -108
  341. package/dist/commands/workflow/delete.js.map +0 -1
  342. package/dist/commands/workflow/index.d.ts +0 -16
  343. package/dist/commands/workflow/index.js +0 -73
  344. package/dist/commands/workflow/index.js.map +0 -1
  345. package/dist/commands/workflow/list.d.ts +0 -16
  346. package/dist/commands/workflow/list.js +0 -73
  347. package/dist/commands/workflow/list.js.map +0 -1
  348. package/dist/commands/workflow/setup.d.ts +0 -24
  349. package/dist/commands/workflow/setup.js +0 -351
  350. package/dist/commands/workflow/setup.js.map +0 -1
  351. package/dist/commands/workflow/show.d.ts +0 -13
  352. package/dist/commands/workflow/show.js +0 -17
  353. package/dist/commands/workflow/show.js.map +0 -1
  354. package/dist/commands/workflow/switch.js +0 -144
  355. package/dist/commands/workflow/switch.js.map +0 -1
  356. package/dist/commands/workflow/view.d.ts +0 -17
  357. package/dist/commands/workflow/view.js +0 -106
  358. package/dist/commands/workflow/view.js.map +0 -1
  359. package/dist/commands/workflow-rule/create.d.ts +0 -19
  360. package/dist/commands/workflow-rule/create.js +0 -141
  361. package/dist/commands/workflow-rule/create.js.map +0 -1
  362. package/dist/commands/workflow-rule/delete.d.ts +0 -18
  363. package/dist/commands/workflow-rule/delete.js +0 -72
  364. package/dist/commands/workflow-rule/delete.js.map +0 -1
  365. package/dist/commands/workflow-rule/index.d.ts +0 -16
  366. package/dist/commands/workflow-rule/index.js +0 -83
  367. package/dist/commands/workflow-rule/index.js.map +0 -1
  368. package/dist/commands/workflow-rule/list.d.ts +0 -17
  369. package/dist/commands/workflow-rule/list.js +0 -72
  370. package/dist/commands/workflow-rule/list.js.map +0 -1
  371. package/dist/commands/workflow-rule/update.d.ts +0 -22
  372. package/dist/commands/workflow-rule/update.js +0 -84
  373. package/dist/commands/workflow-rule/update.js.map +0 -1
package/README.md CHANGED
@@ -497,7 +497,7 @@ Agent-created PRs ready for review:
497
497
  <table>
498
498
  <tr><th>Namespace</th><th>Command</th><th>Description</th></tr>
499
499
  <!-- ticket -->
500
- <tr><td rowspan="11"><b>ticket</b></td><td><code>prlt ticket create</code></td><td>Create new ticket</td></tr>
500
+ <tr><td rowspan="10"><b>ticket</b></td><td><code>prlt ticket create</code></td><td>Create new ticket</td></tr>
501
501
  <tr><td><code>prlt ticket list</code></td><td>List all tickets</td></tr>
502
502
  <tr><td><code>prlt ticket view <id></code></td><td>View ticket details</td></tr>
503
503
  <tr><td><code>prlt ticket edit <id></code></td><td>Edit ticket</td></tr>
@@ -507,11 +507,9 @@ Agent-created PRs ready for review:
507
507
  <tr><td><code>prlt ticket bulk</code></td><td>Bulk ticket operations</td></tr>
508
508
  <tr><td><code>prlt ticket link block <id></code></td><td>Link blocking ticket</td></tr>
509
509
  <tr><td><code>prlt ticket link relates <id></code></td><td>Link related ticket</td></tr>
510
- <tr><td><code>prlt ticket template save</code></td><td>Save ticket as template</td></tr>
511
510
  <!-- work -->
512
- <tr><td rowspan="7"><b>work</b></td><td><code>prlt work start <id></code></td><td>Spawn agent on ticket</td></tr>
511
+ <tr><td rowspan="6"><b>work</b></td><td><code>prlt work start <id></code></td><td>Spawn agent on ticket</td></tr>
513
512
  <tr><td><code>prlt work spawn</code></td><td>Batch spawn tickets</td></tr>
514
- <tr><td><code>prlt work spawn-all</code></td><td>Spawn all planned tickets</td></tr>
515
513
  <tr><td><code>prlt work complete <id></code></td><td>Mark work done</td></tr>
516
514
  <tr><td><code>prlt work ready <id></code></td><td>Mark ready for review</td></tr>
517
515
  <tr><td><code>prlt work revise <id></code></td><td>Request revision</td></tr>
@@ -547,24 +545,6 @@ Agent-created PRs ready for review:
547
545
  <tr><td><code>prlt project archive <id></code></td><td>Archive project</td></tr>
548
546
  <tr><td><code>prlt project unarchive <id></code></td><td>Unarchive project</td></tr>
549
547
  <tr><td><code>prlt project delete <id></code></td><td>Delete project</td></tr>
550
- <!-- epic -->
551
- <tr><td rowspan="10"><b>epic</b></td><td><code>prlt epic create</code></td><td>Create epic</td></tr>
552
- <tr><td><code>prlt epic list</code></td><td>List epics</td></tr>
553
- <tr><td><code>prlt epic view <id></code></td><td>View epic details</td></tr>
554
- <tr><td><code>prlt epic ticket <id></code></td><td>Add tickets to epic</td></tr>
555
- <tr><td><code>prlt epic progress <id></code></td><td>View epic progress</td></tr>
556
- <tr><td><code>prlt epic move <id> <status></code></td><td>Move epic status</td></tr>
557
- <tr><td><code>prlt epic archive <id></code></td><td>Archive epic</td></tr>
558
- <tr><td><code>prlt epic activate <id></code></td><td>Activate epic</td></tr>
559
- <tr><td><code>prlt epic reorder</code></td><td>Reorder epics</td></tr>
560
- <tr><td><code>prlt epic link block <id></code></td><td>Link blocking epic</td></tr>
561
- <!-- spec -->
562
- <tr><td rowspan="6"><b>spec</b></td><td><code>prlt spec create</code></td><td>Create specification</td></tr>
563
- <tr><td><code>prlt spec list</code></td><td>List specifications</td></tr>
564
- <tr><td><code>prlt spec view <id></code></td><td>View specification</td></tr>
565
- <tr><td><code>prlt spec plan <id></code></td><td>Generate plan from spec</td></tr>
566
- <tr><td><code>prlt spec ticket <id></code></td><td>Create ticket from spec</td></tr>
567
- <tr><td><code>prlt spec link relates <id></code></td><td>Link related spec</td></tr>
568
548
  <!-- action -->
569
549
  <tr><td rowspan="6"><b>action</b></td><td><code>prlt action create</code></td><td>Create action template</td></tr>
570
550
  <tr><td><code>prlt action list</code></td><td>List actions</td></tr>
@@ -576,30 +556,6 @@ Agent-created PRs ready for review:
576
556
  <tr><td rowspan="3"><b>branch</b></td><td><code>prlt branch create</code></td><td>Create branch</td></tr>
577
557
  <tr><td><code>prlt branch list</code></td><td>List branches</td></tr>
578
558
  <tr><td><code>prlt branch validate</code></td><td>Validate branch name</td></tr>
579
- <!-- status -->
580
- <tr><td rowspan="5"><b>status</b></td><td><code>prlt status list</code></td><td>List workflow statuses</td></tr>
581
- <tr><td><code>prlt status create</code></td><td>Create custom status</td></tr>
582
- <tr><td><code>prlt status update <id></code></td><td>Update status</td></tr>
583
- <tr><td><code>prlt status move <id></code></td><td>Reorder status</td></tr>
584
- <tr><td><code>prlt status delete <id></code></td><td>Delete status</td></tr>
585
- <!-- workflow -->
586
- <tr><td rowspan="5"><b>workflow</b></td><td><code>prlt workflow list</code></td><td>List workflows</td></tr>
587
- <tr><td><code>prlt workflow create</code></td><td>Create workflow</td></tr>
588
- <tr><td><code>prlt workflow view <id></code></td><td>View workflow</td></tr>
589
- <tr><td><code>prlt workflow switch <id></code></td><td>Switch active workflow</td></tr>
590
- <tr><td><code>prlt workflow delete <id></code></td><td>Delete workflow</td></tr>
591
- <!-- phase -->
592
- <tr><td rowspan="5"><b>phase</b></td><td><code>prlt phase list</code></td><td>List phases</td></tr>
593
- <tr><td><code>prlt phase create</code></td><td>Create phase</td></tr>
594
- <tr><td><code>prlt phase update <id></code></td><td>Update phase</td></tr>
595
- <tr><td><code>prlt phase move <id></code></td><td>Reorder phase</td></tr>
596
- <tr><td><code>prlt phase delete <id></code></td><td>Delete phase</td></tr>
597
- <!-- template -->
598
- <tr><td rowspan="5"><b>template</b></td><td><code>prlt template list</code></td><td>List templates</td></tr>
599
- <tr><td><code>prlt template delete <id></code></td><td>Delete template</td></tr>
600
- <tr><td><code>prlt template ticket list</code></td><td>List ticket templates</td></tr>
601
- <tr><td><code>prlt template ticket apply</code></td><td>Apply ticket template</td></tr>
602
- <tr><td><code>prlt template phase list</code></td><td>List phase templates</td></tr>
603
559
  <!-- pr -->
604
560
  <tr><td rowspan="3"><b>pr</b></td><td><code>prlt pr create</code></td><td>Create pull request</td></tr>
605
561
  <tr><td><code>prlt pr status <id></code></td><td>Check PR status</td></tr>
@@ -180,8 +180,8 @@ export default class ActionRun extends PMOCommand {
180
180
  this.log(styles.muted(` prlt work start ${ticket.id} --action ${action.id}`));
181
181
  }
182
182
  this.log('');
183
- this.log(styles.muted('Or use spawn-all to distribute to agents:'));
184
- this.log(styles.muted(` prlt work spawn-all --action ${action.id}`));
183
+ this.log(styles.muted('Or use spawn --all to distribute to agents:'));
184
+ this.log(styles.muted(` prlt work spawn --all --action ${action.id}`));
185
185
  this.log('');
186
186
  }
187
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/action/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/commands/action/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1,17 @@
1
- export { default } from '../../staff/add.js';
1
+ import { PromptCommand } from '../../../lib/prompt-command.js';
2
+ export default class Add extends PromptCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ names: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ clone: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ 'no-container': import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ theme: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ };
15
+ static strict: boolean;
16
+ run(): Promise<void>;
17
+ }
@@ -1,2 +1,275 @@
1
- export { default } from '../../staff/add.js';
1
+ import { Args, Flags } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import inquirer from 'inquirer';
4
+ import { PromptCommand } from '../../../lib/prompt-command.js';
5
+ import { machineOutputFlags } from '../../../lib/pmo/index.js';
6
+ import { getWorkspaceInfo, validateAgentNames, addAgentsToWorkspace } from '../../../lib/agents/commands.js';
7
+ import { ensureBuiltinThemes, BUILTIN_THEMES, isValidAgentName, normalizeAgentName } from '../../../lib/themes.js';
8
+ import { getTheme, getThemes, getAvailableThemeNames, getActiveTheme } from '../../../lib/database/index.js';
9
+ import { shouldOutputJson, outputPromptAsJson, outputErrorAsJson, createMetadata, buildPromptConfig, } from '../../../lib/prompt-json.js';
10
+ export default class Add extends PromptCommand {
11
+ static description = 'Add new agents to the workspace';
12
+ static examples = [
13
+ '<%= config.bin %> <%= command.id %> zeus',
14
+ '<%= config.bin %> <%= command.id %> agent-1 agent-2',
15
+ '<%= config.bin %> <%= command.id %> --theme billionaires',
16
+ '<%= config.bin %> <%= command.id %> my-agent --no-container',
17
+ ];
18
+ static args = {
19
+ names: Args.string({
20
+ description: 'Agent names to add (space-separated)',
21
+ required: false,
22
+ }),
23
+ };
24
+ static flags = {
25
+ 'no-container': Flags.boolean({
26
+ description: 'Skip devcontainer setup (not recommended for autonomous agents)',
27
+ default: false,
28
+ }),
29
+ theme: Flags.string({
30
+ char: 't',
31
+ description: 'Pick agent name(s) from a theme (billionaires, toyotas, companies, or custom)',
32
+ }),
33
+ ...machineOutputFlags,
34
+ clone: Flags.boolean({
35
+ description: 'Use independent git clone instead of worktree (more isolation, no real-time sync)',
36
+ default: false,
37
+ }),
38
+ };
39
+ static strict = false; // Allow multiple agent names
40
+ async run() {
41
+ const { argv, flags } = await this.parse(Add);
42
+ // Check if JSON output mode is active
43
+ const jsonMode = shouldOutputJson(flags);
44
+ try {
45
+ // Get workspace information
46
+ const workspaceInfo = getWorkspaceInfo();
47
+ let agentNames = argv;
48
+ let themeId;
49
+ // Theme mode: pick from a specific theme
50
+ if (flags.theme) {
51
+ // Ensure built-in themes are seeded
52
+ ensureBuiltinThemes(workspaceInfo.path);
53
+ // Validate theme exists
54
+ const theme = getTheme(workspaceInfo.path, flags.theme);
55
+ if (!theme) {
56
+ const available = BUILTIN_THEMES.map(t => t.name).join(', ');
57
+ if (jsonMode) {
58
+ outputErrorAsJson('THEME_NOT_FOUND', `Theme "${flags.theme}" not found. Available: ${available}`, createMetadata('staff add', flags));
59
+ return;
60
+ }
61
+ this.error(`Theme "${flags.theme}" not found. Available: ${available}`);
62
+ }
63
+ themeId = theme.id;
64
+ // Get available names from theme
65
+ const availableNames = getAvailableThemeNames(workspaceInfo.path, themeId);
66
+ if (availableNames.length === 0) {
67
+ if (jsonMode) {
68
+ outputErrorAsJson('NO_AVAILABLE_NAMES', `No available names in theme "${theme.display_name}". All names are in use.`, createMetadata('staff add', flags));
69
+ return;
70
+ }
71
+ this.error(`No available names in theme "${theme.display_name}". All names are in use.`);
72
+ }
73
+ // Build choices once, use for both JSON and interactive modes
74
+ const nameChoices = availableNames.map(name => ({ name, value: name }));
75
+ const selectMessage = `Select agent names from ${theme.display_name}:`;
76
+ // In JSON mode, output theme names selection prompt
77
+ if (jsonMode) {
78
+ outputPromptAsJson(buildPromptConfig('checkbox', 'names', selectMessage, nameChoices), createMetadata('staff add', flags));
79
+ return;
80
+ }
81
+ // Interactive selection from theme
82
+ const { selected } = await this.prompt([{
83
+ type: 'checkbox',
84
+ name: 'selected',
85
+ message: selectMessage,
86
+ choices: nameChoices,
87
+ validate: (input) => input.length > 0 || 'Please select at least one name'
88
+ }], null);
89
+ agentNames = selected;
90
+ }
91
+ // Interactive mode: show names from workspace's active theme
92
+ else if (agentNames.length === 0) {
93
+ // Ensure built-in themes are seeded
94
+ ensureBuiltinThemes(workspaceInfo.path);
95
+ // Check if workspace has an active theme
96
+ const activeTheme = getActiveTheme(workspaceInfo.path);
97
+ if (activeTheme) {
98
+ // Workspace has a theme - show names from it directly
99
+ themeId = activeTheme.id;
100
+ const availableNames = getAvailableThemeNames(workspaceInfo.path, activeTheme.id);
101
+ if (availableNames.length === 0) {
102
+ if (jsonMode) {
103
+ outputErrorAsJson('NO_AVAILABLE_NAMES', `No available names in ${activeTheme.display_name}. All names are in use.`, createMetadata('staff add', flags));
104
+ return;
105
+ }
106
+ this.log(chalk.yellow(`No available names in ${activeTheme.display_name}. All names are in use.`));
107
+ this.log(chalk.blue('Use --theme to pick from a different theme, or enter names directly.'));
108
+ return;
109
+ }
110
+ // Build choices once, use for both JSON and interactive modes
111
+ const nameChoices = [
112
+ ...availableNames.map(name => ({ name, value: name })),
113
+ { name: 'Enter custom name(s)...', value: '__custom__' },
114
+ ];
115
+ const selectMessage = `Select agents from ${activeTheme.display_name}:`;
116
+ // In JSON mode, output agent names selection prompt
117
+ if (jsonMode) {
118
+ outputPromptAsJson(buildPromptConfig('checkbox', 'names', selectMessage, nameChoices), createMetadata('staff add', flags));
119
+ return;
120
+ }
121
+ // Add separator before custom option for interactive mode
122
+ const choices = [
123
+ ...nameChoices.slice(0, -1),
124
+ new inquirer.Separator(),
125
+ { name: chalk.blue(nameChoices[nameChoices.length - 1].name), value: nameChoices[nameChoices.length - 1].value }
126
+ ];
127
+ const { selected } = await this.prompt([{
128
+ type: 'checkbox',
129
+ name: 'selected',
130
+ message: selectMessage,
131
+ choices,
132
+ pageSize: 20,
133
+ validate: (input) => input.length > 0 || 'Please select at least one name'
134
+ }], null);
135
+ // Check if custom was selected
136
+ const hasCustom = selected.includes('__custom__');
137
+ const themedSelections = selected.filter((s) => s !== '__custom__');
138
+ if (hasCustom) {
139
+ const { customNames } = await this.prompt([{
140
+ type: 'input',
141
+ name: 'customNames',
142
+ message: 'Enter custom agent names (space-separated):',
143
+ validate: (input) => {
144
+ if (!input.trim())
145
+ return 'Please enter at least one name';
146
+ return true;
147
+ }
148
+ }], null);
149
+ const rawNames = customNames.trim().split(/\s+/);
150
+ const normalizedCustom = rawNames.map((n) => normalizeAgentName(n)).filter((n) => n && isValidAgentName(n));
151
+ agentNames.push(...normalizedCustom);
152
+ }
153
+ if (themedSelections.length > 0) {
154
+ agentNames.push(...themedSelections);
155
+ }
156
+ }
157
+ else {
158
+ // No active theme - prompt to pick one or enter custom names
159
+ const themes = getThemes(workspaceInfo.path);
160
+ const themesWithNames = themes.map(t => ({
161
+ theme: t,
162
+ availableCount: getAvailableThemeNames(workspaceInfo.path, t.id).length
163
+ })).filter(t => t.availableCount > 0);
164
+ // Build choices once, use for both JSON and interactive modes
165
+ const themeChoices = [
166
+ ...themesWithNames.map(({ theme, availableCount }) => ({
167
+ name: `${theme.display_name} (${availableCount} available)`,
168
+ value: theme.id
169
+ })),
170
+ { name: 'Enter custom name(s)', value: '__custom__' },
171
+ ];
172
+ const selectMessage = 'No theme set. Select a theme or enter custom names:';
173
+ // In JSON mode, output theme selection prompt
174
+ if (jsonMode) {
175
+ outputPromptAsJson(buildPromptConfig('list', 'theme', selectMessage, themeChoices), createMetadata('staff add', flags));
176
+ return;
177
+ }
178
+ // Add separator and styling for interactive mode
179
+ const interactiveChoices = [
180
+ ...themeChoices.slice(0, -1).map(c => ({
181
+ name: c.name.replace(/\((\d+) available\)/, chalk.dim(`($1 available)`)),
182
+ value: c.value
183
+ })),
184
+ new inquirer.Separator(),
185
+ { name: chalk.blue(themeChoices[themeChoices.length - 1].name), value: themeChoices[themeChoices.length - 1].value }
186
+ ];
187
+ const { selectedTheme } = await this.prompt([{
188
+ type: 'list',
189
+ name: 'selectedTheme',
190
+ message: selectMessage,
191
+ choices: interactiveChoices
192
+ }], null);
193
+ if (selectedTheme === '__custom__') {
194
+ const { customNames } = await this.prompt([{
195
+ type: 'input',
196
+ name: 'customNames',
197
+ message: 'Enter custom agent names (space-separated):',
198
+ validate: (input) => {
199
+ if (!input.trim())
200
+ return 'Please enter at least one name';
201
+ return true;
202
+ }
203
+ }], null);
204
+ const rawNames = customNames.trim().split(/\s+/);
205
+ const normalizedCustom = rawNames.map((n) => ({
206
+ original: n,
207
+ normalized: normalizeAgentName(n)
208
+ })).filter((x) => x.normalized && isValidAgentName(x.normalized));
209
+ const changed = normalizedCustom.filter((x) => x.original !== x.normalized);
210
+ if (changed.length > 0) {
211
+ this.log(chalk.blue('Normalized names:'));
212
+ for (const { original, normalized } of changed) {
213
+ this.log(chalk.dim(` ${original} → ${normalized}`));
214
+ }
215
+ }
216
+ agentNames = normalizedCustom.map((x) => x.normalized);
217
+ }
218
+ else {
219
+ themeId = selectedTheme;
220
+ const theme = getTheme(workspaceInfo.path, selectedTheme);
221
+ const availableNames = getAvailableThemeNames(workspaceInfo.path, selectedTheme);
222
+ const { selected } = await this.prompt([{
223
+ type: 'checkbox',
224
+ name: 'selected',
225
+ message: `Select agents from ${theme?.display_name}:`,
226
+ choices: availableNames.map(name => ({ name, value: name })),
227
+ pageSize: 20,
228
+ validate: (input) => input.length > 0 || 'Please select at least one name'
229
+ }], null);
230
+ agentNames = selected;
231
+ }
232
+ }
233
+ if (agentNames.length === 0) {
234
+ this.log(chalk.yellow('No agents specified.'));
235
+ return;
236
+ }
237
+ }
238
+ // Validate agent names (skip for theme mode - already validated)
239
+ if (!flags.theme) {
240
+ const { valid, invalid } = validateAgentNames(agentNames);
241
+ if (invalid.length > 0) {
242
+ this.log(chalk.red(`Invalid agent names: ${invalid.join(', ')}`));
243
+ this.log(chalk.yellow('Agent names must be lowercase alphanumeric with optional hyphens/underscores.'));
244
+ if (valid.length === 0) {
245
+ return;
246
+ }
247
+ this.log(chalk.blue(`Proceeding with valid agents: ${valid.join(', ')}`));
248
+ }
249
+ agentNames = valid;
250
+ }
251
+ // Add agents to workspace
252
+ const addedAgents = await addAgentsToWorkspace(workspaceInfo, agentNames, {
253
+ skipDevcontainer: flags['no-container'],
254
+ themeId,
255
+ mountMode: flags.clone ? 'clone' : 'worktree',
256
+ });
257
+ if (addedAgents.length === 0) {
258
+ this.log(chalk.yellow('No new agents to add. All specified agents already exist.'));
259
+ return;
260
+ }
261
+ this.log(chalk.green(`\n Successfully added ${addedAgents.length} agent(s): ${addedAgents.join(', ')}`));
262
+ if (themeId) {
263
+ const theme = getTheme(workspaceInfo.path, themeId);
264
+ this.log(chalk.blue(` From theme: ${theme?.display_name || themeId}`));
265
+ }
266
+ if (!flags['no-container']) {
267
+ this.log(chalk.blue(' Devcontainer config created for isolated execution'));
268
+ }
269
+ }
270
+ catch (error) {
271
+ this.error(error instanceof Error ? error.message : String(error));
272
+ }
273
+ }
274
+ }
2
275
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/agent/staff/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/agent/staff/add.ts"],"names":[],"mappings":"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"}
@@ -1 +1,10 @@
1
- export { default } from '../../staff/list.js';
1
+ import { Command } from '@oclif/core';
2
+ export default class List extends Command {
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
+ }
@@ -1,2 +1,104 @@
1
- export { default } from '../../staff/list.js';
1
+ import { Command } from '@oclif/core';
2
+ import chalk from 'chalk';
3
+ import * as fs from 'node:fs';
4
+ import { getWorkspaceInfo, getAllAgentsStatus, resolveAgentDir } from '../../../lib/agents/commands.js';
5
+ import { shouldOutputJson } from '../../../lib/prompt-json.js';
6
+ import { machineOutputFlags } from '../../../lib/pmo/index.js';
7
+ export default class List extends Command {
8
+ static description = 'List all staff (persistent) agents and their status';
9
+ static examples = [
10
+ '<%= config.bin %> <%= command.id %>',
11
+ ];
12
+ static flags = {
13
+ ...machineOutputFlags,
14
+ };
15
+ async run() {
16
+ const { flags } = await this.parse(List);
17
+ const jsonMode = shouldOutputJson(flags);
18
+ try {
19
+ // Get workspace information
20
+ const workspaceInfo = getWorkspaceInfo();
21
+ // Filter to staff agents only
22
+ const staffAgents = workspaceInfo.agents.filter(a => a.type === 'persistent');
23
+ if (staffAgents.length === 0) {
24
+ if (jsonMode) {
25
+ this.log(JSON.stringify([], null, 2));
26
+ return;
27
+ }
28
+ this.log(chalk.yellow('No staff agents found. Add staff agents with "prlt agent staff add"'));
29
+ return;
30
+ }
31
+ // Get status for all agents and filter to staff
32
+ const agentsStatus = getAllAgentsStatus(workspaceInfo);
33
+ const staffStatus = agentsStatus.filter(a => staffAgents.some(s => s.name === a.name));
34
+ if (jsonMode) {
35
+ this.log(JSON.stringify(staffStatus, null, 2));
36
+ return;
37
+ }
38
+ this.log(chalk.bold.cyan('\n Staff Agents:\n'));
39
+ for (const agentStatus of staffStatus) {
40
+ // Agent info line
41
+ const statusIcon = agentStatus.exists ? '🟢' : '🔴';
42
+ const status = agentStatus.exists ? chalk.green('Active') : chalk.red('Missing');
43
+ this.log(`${statusIcon} ${chalk.bold(agentStatus.name)} - ${status}`);
44
+ if (agentStatus.exists) {
45
+ // Show branch info
46
+ if (agentStatus.branch) {
47
+ this.log(chalk.cyan(` Branch: ${agentStatus.branch}`));
48
+ }
49
+ // Show repository status
50
+ if (agentStatus.repositories.length > 0) {
51
+ const dirtyRepos = agentStatus.repositories.filter(r => r.status === 'dirty').length;
52
+ const reposWithCommits = agentStatus.repositories.filter(r => r.commitsAhead > 0);
53
+ let repoStatusText = `${agentStatus.repositories.length} repo(s)`;
54
+ if (dirtyRepos > 0) {
55
+ repoStatusText += `, ${dirtyRepos} dirty`;
56
+ }
57
+ if (reposWithCommits.length > 0) {
58
+ const commitDetails = reposWithCommits.map(r => `${r.name}(+${r.commitsAhead})`).join(', ');
59
+ repoStatusText += `, commits ahead: ${commitDetails}`;
60
+ }
61
+ this.log(chalk.white(` Repositories: ${repoStatusText}`));
62
+ }
63
+ // Show ticket info
64
+ if (agentStatus.assignedTickets.length > 0) {
65
+ this.log(chalk.blue(` Current tickets: ${agentStatus.assignedTickets.join(', ')}`));
66
+ }
67
+ else {
68
+ this.log(chalk.white(' No active tickets'));
69
+ }
70
+ if (agentStatus.completedTickets.length > 0) {
71
+ this.log(chalk.white(` Completed: ${agentStatus.completedTickets.length} ticket(s)`));
72
+ }
73
+ }
74
+ else {
75
+ const agentDir = resolveAgentDir(workspaceInfo, agentStatus.name);
76
+ const dirExists = fs.existsSync(agentDir);
77
+ if (dirExists) {
78
+ this.log(chalk.red(` Invalid or broken worktrees`));
79
+ this.log(chalk.yellow(' Agent directory exists but worktrees are missing or corrupted'));
80
+ }
81
+ else {
82
+ this.log(chalk.red(` Agent directory not found`));
83
+ }
84
+ this.log(chalk.white(' Run "prlt agent staff add" to recreate'));
85
+ }
86
+ this.log(''); // Empty line between agents
87
+ }
88
+ // Summary
89
+ const activeCount = staffStatus.filter(a => a.exists).length;
90
+ const totalAssignedTickets = staffStatus.reduce((sum, a) => sum + a.assignedTickets.length, 0);
91
+ this.log(chalk.bold(`Summary:`));
92
+ this.log(` Total staff agents: ${staffAgents.length}`);
93
+ this.log(` Active: ${activeCount}`);
94
+ this.log(` Inactive: ${staffAgents.length - activeCount}`);
95
+ if (workspaceInfo.hasPMO) {
96
+ this.log(` Tickets assigned: ${totalAssignedTickets}`);
97
+ }
98
+ }
99
+ catch (error) {
100
+ this.error(error instanceof Error ? error.message : String(error));
101
+ }
102
+ }
103
+ }
2
104
  //# sourceMappingURL=list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/agent/staff/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/agent/staff/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1,18 @@
1
- export { default } from '../../staff/remove.js';
1
+ import { PMOCommand } from '../../../lib/pmo/index.js';
2
+ export default class Remove extends PMOCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ protected getPMOOptions(): {
15
+ promptIfMultiple: boolean;
16
+ };
17
+ execute(): Promise<void>;
18
+ }