@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
@@ -0,0 +1,144 @@
1
+ import inquirer from 'inquirer';
2
+ import chalk from 'chalk';
3
+ import { PromptCommand } from '../../../lib/prompt-command.js';
4
+ import { machineOutputFlags } from '../../../lib/pmo/index.js';
5
+ import { getWorkspaceInfo } from '../../../lib/agents/commands.js';
6
+ import { ensureBuiltinThemes } from '../../../lib/themes.js';
7
+ import { getThemes, getAvailableThemeNames } from '../../../lib/database/index.js';
8
+ import { shouldOutputJson, outputPromptAsJson, createMetadata, buildPromptConfig, } from '../../../lib/prompt-json.js';
9
+ export default class AgentThemes extends PromptCommand {
10
+ static description = 'Manage agent naming themes';
11
+ static examples = [
12
+ '<%= config.bin %> <%= command.id %> list',
13
+ '<%= config.bin %> <%= command.id %> create greek-gods',
14
+ '<%= config.bin %> <%= command.id %> add-names greek-gods zeus athena',
15
+ ];
16
+ static flags = {
17
+ ...machineOutputFlags,
18
+ };
19
+ async run() {
20
+ const { flags } = await this.parse(AgentThemes);
21
+ const jsonMode = shouldOutputJson(flags);
22
+ const menuChoices = [
23
+ { id: 'list', name: 'List themes', command: 'prlt agent themes list --format json' },
24
+ { id: 'create', name: 'Create a new theme', command: 'prlt agent themes create --machine' },
25
+ { id: 'add-names', name: 'Add names to a theme', command: 'prlt agent themes add-names --machine' },
26
+ { id: 'cancel', name: 'Cancel', command: '' },
27
+ ];
28
+ const message = 'What would you like to do?';
29
+ if (jsonMode) {
30
+ outputPromptAsJson(buildPromptConfig('list', 'action', message, menuChoices.map(c => ({
31
+ name: c.name,
32
+ value: c.id,
33
+ command: c.command,
34
+ }))), createMetadata('agent themes', flags));
35
+ return;
36
+ }
37
+ this.log(chalk.bold('\nAgent Themes'));
38
+ this.log(chalk.dim('Optional themed name pools for your agents.\n'));
39
+ const { action } = await this.prompt([{
40
+ type: 'list',
41
+ name: 'action',
42
+ message,
43
+ choices: [
44
+ ...menuChoices.slice(0, 3).map(c => ({ name: c.name, value: c.id })),
45
+ new inquirer.Separator(),
46
+ { name: menuChoices[3].name, value: menuChoices[3].id }
47
+ ]
48
+ }], null);
49
+ if (action === 'cancel') {
50
+ this.log(chalk.dim('Cancelled.'));
51
+ return;
52
+ }
53
+ try {
54
+ switch (action) {
55
+ case 'list': {
56
+ const { default: ListCommand } = await import('./list.js');
57
+ const cmd = new ListCommand([], this.config);
58
+ await cmd.run();
59
+ break;
60
+ }
61
+ case 'create': {
62
+ const { themeName } = await this.prompt([{
63
+ type: 'input',
64
+ name: 'themeName',
65
+ message: 'Theme name:',
66
+ validate: (input) => {
67
+ if (!input.trim())
68
+ return 'Theme name is required';
69
+ return true;
70
+ }
71
+ }], null);
72
+ const normalized = themeName.trim().toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
73
+ if (themeName.trim() !== normalized) {
74
+ this.log(chalk.blue(`Normalized: ${themeName.trim()} → ${normalized}`));
75
+ }
76
+ const { default: CreateCommand } = await import('./create.js');
77
+ const cmd = new CreateCommand([normalized], this.config);
78
+ await cmd.run();
79
+ const { addNamesNow } = await this.prompt([{
80
+ type: 'list',
81
+ name: 'addNamesNow',
82
+ message: 'Add names to this theme now?',
83
+ choices: [
84
+ { name: 'Yes', value: true },
85
+ { name: 'No', value: false },
86
+ ],
87
+ }], null);
88
+ if (addNamesNow) {
89
+ const { names } = await this.prompt([{
90
+ type: 'input',
91
+ name: 'names',
92
+ message: 'Enter names (space-separated):',
93
+ validate: (input) => input.trim() ? true : 'At least one name is required'
94
+ }], null);
95
+ const addArgs = [normalized, ...names.trim().split(/\s+/)];
96
+ const { default: AddNamesCommand } = await import('./add-names.js');
97
+ const addCmd = new AddNamesCommand(addArgs, this.config);
98
+ await addCmd.run();
99
+ }
100
+ break;
101
+ }
102
+ case 'add-names': {
103
+ const workspaceInfo = getWorkspaceInfo();
104
+ ensureBuiltinThemes(workspaceInfo.path);
105
+ const themes = getThemes(workspaceInfo.path);
106
+ if (themes.length === 0) {
107
+ this.log(chalk.yellow('No themes found. Create one first.'));
108
+ return;
109
+ }
110
+ const themeChoices = themes.map(t => {
111
+ const availableNames = getAvailableThemeNames(workspaceInfo.path, t.id);
112
+ const builtinTag = t.builtin ? chalk.dim(' [built-in]') : '';
113
+ return {
114
+ name: `${t.display_name}${builtinTag} ${chalk.dim(`(${availableNames.length} names available)`)}`,
115
+ value: t.id
116
+ };
117
+ });
118
+ const { selectedTheme } = await this.prompt([{
119
+ type: 'list',
120
+ name: 'selectedTheme',
121
+ message: 'Select theme to add names to:',
122
+ choices: themeChoices
123
+ }], null);
124
+ const { names } = await this.prompt([{
125
+ type: 'input',
126
+ name: 'names',
127
+ message: 'Names to add (space-separated):',
128
+ validate: (input) => input.trim() ? true : 'At least one name is required'
129
+ }], null);
130
+ const addArgs = [selectedTheme, ...names.trim().split(/\s+/)];
131
+ const { default: AddNamesCommand } = await import('./add-names.js');
132
+ const cmd = new AddNamesCommand(addArgs, this.config);
133
+ await cmd.run();
134
+ break;
135
+ }
136
+ default:
137
+ this.error(`Unknown action: ${action}`);
138
+ }
139
+ }
140
+ catch (error) {
141
+ this.error(error instanceof Error ? error.message : String(error));
142
+ }
143
+ }
144
+ }
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/list.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/list.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/set.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/set.js';
@@ -7,6 +7,7 @@ export default class Visit 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 { colors } from '../../lib/colors.js';
4
4
  import { getWorkspaceInfo, formatAgentList } from '../../lib/agents/commands.js';
@@ -18,12 +18,6 @@ export default class Visit 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
  };
28
22
  getPMOOptions() {
29
23
  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 @@
1
+ export { default } from '../../theme/list.js';
@@ -0,0 +1 @@
1
+ export { default } from '../../theme/list.js';
@@ -6,6 +6,7 @@ export default class AutocompleteSetup extends PromptCommand {
6
6
  install: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
7
  shell: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  };
10
11
  run(): Promise<void>;
11
12
  /**
@@ -6,6 +6,7 @@ export default class Board extends PMOCommand {
6
6
  action: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
11
  };
11
12
  execute(): Promise<void>;
@@ -5,6 +5,7 @@ export default class BoardView extends PMOCommand {
5
5
  static flags: {
6
6
  compact: import("@oclif/core/interfaces").BooleanFlag<boolean>;
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
  execute(): Promise<void>;
@@ -5,6 +5,7 @@ export default class BoardWatch extends PMOCommand {
5
5
  static flags: {
6
6
  debounce: import("@oclif/core/interfaces").OptionFlag<number, 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(): {
@@ -19,6 +19,7 @@ export default class BranchCreate extends PMOCommand {
19
19
  'from-origin': import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
20
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
21
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
23
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
24
  };
24
25
  protected getPMOOptions(): {
@@ -68,12 +68,6 @@ export default class BranchCreate extends PMOCommand {
68
68
  description: 'Non-interactive mode: skip prompts, switch to existing branch if it exists',
69
69
  default: false,
70
70
  }),
71
- json: Flags.boolean({
72
- char: 'm',
73
- aliases: ['machine'],
74
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
75
- default: false,
76
- }),
77
71
  };
78
72
  getPMOOptions() {
79
73
  return { promptIfMultiple: false };
@@ -4,6 +4,7 @@ export default class Branch 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 { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
3
2
  import { shouldOutputJson } from '../../lib/prompt-json.js';
4
3
  export default class Branch extends PMOCommand {
@@ -6,12 +5,6 @@ export default class Branch extends PMOCommand {
6
5
  static examples = ['<%= config.bin %> <%= command.id %>'];
7
6
  static flags = {
8
7
  ...pmoBaseFlags,
9
- json: Flags.boolean({
10
- char: 'm',
11
- aliases: ['machine'],
12
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
13
- default: false,
14
- }),
15
8
  };
16
9
  getPMOOptions() {
17
10
  return { promptIfMultiple: false };
@@ -7,6 +7,7 @@ export default class BranchList extends PMOCommand {
7
7
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  format: import("@oclif/core/interfaces").OptionFlag<string, 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
  protected getPMOOptions(): {
@@ -7,6 +7,7 @@ export default class BranchValidate 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(): {
@@ -4,6 +4,7 @@ export default class BranchWhere 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
  static args: {
@@ -1,4 +1,4 @@
1
- import { Args, Flags } from '@oclif/core';
1
+ import { Args } from '@oclif/core';
2
2
  import { execSync } from 'node:child_process';
3
3
  import * as path from 'node:path';
4
4
  import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
@@ -14,12 +14,6 @@ export default class BranchWhere extends PMOCommand {
14
14
  ];
15
15
  static flags = {
16
16
  ...pmoBaseFlags,
17
- json: Flags.boolean({
18
- char: 'm',
19
- aliases: ['machine'],
20
- description: 'Output in JSON format',
21
- default: false,
22
- }),
23
17
  };
24
18
  static args = {
25
19
  search: Args.string({
@@ -46,7 +40,7 @@ export default class BranchWhere extends PMOCommand {
46
40
  // Combine results, preferring git worktree info
47
41
  const allMatches = this.mergeResults(matches, dbMatches);
48
42
  if (allMatches.length === 0) {
49
- if (flags.json) {
43
+ if (flags.json || flags.machine) {
50
44
  this.log(JSON.stringify({ found: false, search, matches: [] }, null, 2));
51
45
  }
52
46
  else {
@@ -54,7 +48,7 @@ export default class BranchWhere extends PMOCommand {
54
48
  }
55
49
  return;
56
50
  }
57
- if (flags.json) {
51
+ if (flags.json || flags.machine) {
58
52
  this.log(JSON.stringify({
59
53
  found: true,
60
54
  search,
@@ -9,6 +9,7 @@ export default class CategoryCreate extends PMOCommand {
9
9
  type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
10
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
14
  };
14
15
  protected getPMOOptions(): {
@@ -8,6 +8,7 @@ export default class CategoryDelete extends PMOCommand {
8
8
  static flags: {
9
9
  type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
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(): {
@@ -6,6 +6,7 @@ export default class CategoryIndex extends PMOCommand {
6
6
  static flags: {
7
7
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
11
  };
11
12
  protected getPMOOptions(): {
@@ -7,6 +7,7 @@ export default class CategoryList extends PMOCommand {
7
7
  builtin: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  custom: import("@oclif/core/interfaces").BooleanFlag<boolean>;
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(): {
@@ -36,13 +36,13 @@ export default class CategoryList extends PMOCommand {
36
36
  async execute() {
37
37
  const { flags } = await this.parse(CategoryList);
38
38
  const categoryType = flags.type;
39
- let filter = { type: categoryType };
39
+ const filter = { type: categoryType };
40
40
  if (flags.builtin)
41
41
  filter.isBuiltin = true;
42
42
  if (flags.custom)
43
43
  filter.isBuiltin = false;
44
44
  const categories = await this.storage.listCategories(filter);
45
- if (flags.json) {
45
+ if (flags.json || flags.machine) {
46
46
  this.log(JSON.stringify(categories, null, 2));
47
47
  return;
48
48
  }
@@ -9,6 +9,7 @@ export default class CategoryRename extends PMOCommand {
9
9
  static flags: {
10
10
  type: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
14
  };
14
15
  protected getPMOOptions(): {
@@ -3,7 +3,6 @@ export default class Claude extends PromptCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  slug: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
7
  'permission-mode': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -12,6 +11,8 @@ export default class Claude extends PromptCommand {
12
11
  directory: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  title: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
16
  };
16
17
  run(): Promise<void>;
17
18
  /**
@@ -4,6 +4,7 @@ import * as path from 'node:path';
4
4
  import * as os from 'node:os';
5
5
  import { execSync } from 'node:child_process';
6
6
  import { PromptCommand } from '../lib/prompt-command.js';
7
+ import { machineOutputFlags } from '../lib/pmo/index.js';
7
8
  import Database from 'better-sqlite3';
8
9
  import { findHQRoot } from '../lib/workspace.js';
9
10
  import { getWorkspaceInfo, createEphemeralAgent, } from '../lib/agents/commands.js';
@@ -49,12 +50,7 @@ export default class Claude extends PromptCommand {
49
50
  '<%= config.bin %> <%= command.id %> --prompt "help me debug this function"',
50
51
  ];
51
52
  static flags = {
52
- json: Flags.boolean({
53
- char: 'm',
54
- aliases: ['machine'],
55
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
56
- default: false,
57
- }),
53
+ ...machineOutputFlags,
58
54
  slug: Flags.string({
59
55
  char: 's',
60
56
  description: 'Session name for pane/tab title',
@@ -57,6 +57,8 @@ export default class Commit extends PromptCommand {
57
57
  message: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
58
58
  };
59
59
  static flags: {
60
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
61
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
60
62
  format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
61
63
  formats: import("@oclif/core/interfaces").BooleanFlag<boolean>;
62
64
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -64,7 +66,6 @@ export default class Commit extends PromptCommand {
64
66
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
65
67
  stage: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
66
68
  'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
67
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
68
69
  };
69
70
  run(): Promise<void>;
70
71
  }
@@ -1,6 +1,7 @@
1
1
  import { Args, Flags } from '@oclif/core';
2
2
  import { execSync } from 'node:child_process';
3
3
  import { PromptCommand } from '../lib/prompt-command.js';
4
+ import { machineOutputFlags } from '../lib/pmo/index.js';
4
5
  import { validateBranchName } from '../lib/branch/index.js';
5
6
  import { styles } from '../lib/styles.js';
6
7
  import { shouldOutputJson, outputErrorAsJson, createMetadata, } from '../lib/prompt-json.js';
@@ -190,12 +191,7 @@ export default class Commit extends PromptCommand {
190
191
  description: 'Show what would be committed without committing',
191
192
  default: false,
192
193
  }),
193
- json: Flags.boolean({
194
- char: 'm',
195
- aliases: ['machine'],
196
- description: 'Output prompt configuration as JSON (for AI agents/scripts)',
197
- default: false,
198
- }),
194
+ ...machineOutputFlags,
199
195
  };
200
196
  async run() {
201
197
  const { args, flags } = await this.parse(Commit);
@@ -3,10 +3,11 @@ export default class Config extends PromptCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  set: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
7
  list: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  setting: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
11
  };
11
12
  run(): Promise<void>;
12
13
  /**
@@ -3,6 +3,7 @@ import * as path from 'node:path';
3
3
  import Database from 'better-sqlite3';
4
4
  import inquirer from 'inquirer';
5
5
  import { PromptCommand } from '../../lib/prompt-command.js';
6
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
6
7
  import { styles } from '../../lib/styles.js';
7
8
  import { getWorkspaceInfo } from '../../lib/agents/commands.js';
8
9
  import { loadExecutionConfig, saveTerminalApp, saveTerminalOpenInBackground, saveTmuxControlMode, saveShell, } from '../../lib/execution/config.js';
@@ -17,12 +18,7 @@ export default class Config extends PromptCommand {
17
18
  '<%= config.bin %> <%= command.id %> --setting terminal.app --json # Show terminal app choices',
18
19
  ];
19
20
  static flags = {
20
- json: Flags.boolean({
21
- char: 'm',
22
- aliases: ['machine'],
23
- description: 'Output configuration as JSON (for AI agents/scripts)',
24
- default: false,
25
- }),
21
+ ...machineOutputFlags,
26
22
  set: Flags.string({
27
23
  char: 's',
28
24
  description: 'Set a config value (format: key value)',
@@ -80,7 +76,7 @@ export default class Config extends PromptCommand {
80
76
  }
81
77
  // Handle --list or --json flag without --setting (just show config)
82
78
  // Also handle non-TTY mode without explicit flags - output config as readable list
83
- const isExplicitJsonMode = flags.json === true;
79
+ const isExplicitJsonMode = (flags.json === true || flags.machine === true);
84
80
  const shouldShowConfigList = flags.list || (isExplicitJsonMode && !flags.setting) || (isNonTTY() && !flags.setting && !flags.set?.length);
85
81
  if (shouldShowConfigList) {
86
82
  if (isExplicitJsonMode) {
@@ -6,6 +6,7 @@ export default class Diet extends PMOCommand {
6
6
  set: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  reset: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
11
  };
11
12
  protected execute(): Promise<void>;
@@ -4,6 +4,7 @@ export default class DockerClean extends Command {
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
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -4,6 +4,7 @@ export default class Docker extends PromptCommand {
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
  };
8
9
  run(): Promise<void>;
9
10
  private selectContainer;
@@ -6,6 +6,7 @@ export default class DockerList extends Command {
6
6
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
7
  running: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
8
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  };
10
11
  run(): Promise<void>;
11
12
  private getTrackedContainers;
@@ -6,6 +6,8 @@ export default class DockerLogs extends Command {
6
6
  follow: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
7
  tail: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
8
8
  timestamps: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
11
  };
10
12
  static args: {
11
13
  target: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
@@ -7,6 +7,7 @@ import { getWorkspaceInfo } from '../../lib/agents/commands.js';
7
7
  import { ExecutionStorage } from '../../lib/execution/storage.js';
8
8
  import { isDockerRunning } from '../../lib/execution/runners.js';
9
9
  import { resolveContainerId } from '../../lib/docker/resolve.js';
10
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
10
11
  export default class DockerLogs extends Command {
11
12
  static description = 'View logs from a container (by execution ID, agent name, or container ID)';
12
13
  static examples = [
@@ -16,6 +17,7 @@ export default class DockerLogs extends Command {
16
17
  '<%= config.bin %> <%= command.id %> WORK-001 --tail 100',
17
18
  ];
18
19
  static flags = {
20
+ ...machineOutputFlags,
19
21
  follow: Flags.boolean({
20
22
  char: 'f',
21
23
  description: 'Follow log output',
@@ -4,6 +4,7 @@ export default class DockerPrune extends Command {
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
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
9
  'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
10
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;