@proletariat/cli 0.3.21 → 0.3.22

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 (333) hide show
  1. package/dist/commands/action/create.d.ts +0 -1
  2. package/dist/commands/action/delete.d.ts +0 -1
  3. package/dist/commands/action/index.d.ts +0 -1
  4. package/dist/commands/action/list.d.ts +0 -1
  5. package/dist/commands/action/list.js +2 -0
  6. package/dist/commands/action/run.d.ts +0 -1
  7. package/dist/commands/action/show.d.ts +0 -1
  8. package/dist/commands/action/update.d.ts +0 -1
  9. package/dist/commands/agent/auth.d.ts +0 -1
  10. package/dist/commands/agent/auth.js +3 -7
  11. package/dist/commands/agent/discover.d.ts +0 -1
  12. package/dist/commands/agent/discover.js +3 -7
  13. package/dist/commands/agent/index.d.ts +0 -1
  14. package/dist/commands/agent/index.js +2 -0
  15. package/dist/commands/agent/list.d.ts +0 -1
  16. package/dist/commands/agent/list.js +30 -1
  17. package/dist/commands/agent/login.d.ts +0 -1
  18. package/dist/commands/agent/login.js +2 -0
  19. package/dist/commands/agent/rebuild.d.ts +0 -1
  20. package/dist/commands/agent/rebuild.js +2 -0
  21. package/dist/commands/agent/remove.d.ts +0 -1
  22. package/dist/commands/agent/remove.js +2 -0
  23. package/dist/commands/agent/restart.d.ts +0 -1
  24. package/dist/commands/agent/restart.js +2 -0
  25. package/dist/commands/agent/shell.d.ts +0 -1
  26. package/dist/commands/agent/shell.js +2 -0
  27. package/dist/commands/agent/staff/add.d.ts +0 -1
  28. package/dist/commands/agent/staff/add.js +3 -7
  29. package/dist/commands/agent/staff/index.d.ts +0 -1
  30. package/dist/commands/agent/staff/index.js +2 -0
  31. package/dist/commands/agent/staff/remove.d.ts +0 -1
  32. package/dist/commands/agent/staff/remove.js +2 -0
  33. package/dist/commands/agent/status.d.ts +0 -1
  34. package/dist/commands/agent/status.js +2 -0
  35. package/dist/commands/agent/temp/cleanup.d.ts +0 -1
  36. package/dist/commands/agent/temp/cleanup.js +2 -0
  37. package/dist/commands/agent/temp/index.d.ts +0 -1
  38. package/dist/commands/agent/temp/index.js +2 -0
  39. package/dist/commands/agent/themes/index.d.ts +0 -1
  40. package/dist/commands/agent/themes/index.js +3 -7
  41. package/dist/commands/agent/themes/set.d.ts +0 -1
  42. package/dist/commands/agent/themes/set.js +3 -7
  43. package/dist/commands/agent/visit.d.ts +0 -1
  44. package/dist/commands/agent/visit.js +2 -0
  45. package/dist/commands/autocomplete/setup.d.ts +0 -1
  46. package/dist/commands/board/index.d.ts +0 -1
  47. package/dist/commands/board/view.d.ts +0 -1
  48. package/dist/commands/board/watch.d.ts +0 -1
  49. package/dist/commands/branch/create.d.ts +0 -1
  50. package/dist/commands/branch/create.js +2 -0
  51. package/dist/commands/branch/index.d.ts +0 -1
  52. package/dist/commands/branch/index.js +2 -0
  53. package/dist/commands/branch/list.d.ts +0 -1
  54. package/dist/commands/branch/validate.d.ts +0 -1
  55. package/dist/commands/branch/where.d.ts +0 -1
  56. package/dist/commands/branch/where.js +2 -0
  57. package/dist/commands/category/create.d.ts +18 -0
  58. package/dist/commands/category/create.js +108 -0
  59. package/dist/commands/category/delete.d.ts +17 -0
  60. package/dist/commands/category/delete.js +103 -0
  61. package/dist/commands/category/index.d.ts +15 -0
  62. package/dist/commands/category/index.js +87 -0
  63. package/dist/commands/category/list.d.ts +17 -0
  64. package/dist/commands/category/list.js +85 -0
  65. package/dist/commands/category/rename.d.ts +18 -0
  66. package/dist/commands/category/rename.js +127 -0
  67. package/dist/commands/claude.js +2 -0
  68. package/dist/commands/commit.js +2 -0
  69. package/dist/commands/config/index.js +2 -0
  70. package/dist/commands/docker/clean.d.ts +0 -1
  71. package/dist/commands/docker/index.d.ts +0 -1
  72. package/dist/commands/docker/prune.d.ts +0 -1
  73. package/dist/commands/docker/restart.d.ts +0 -1
  74. package/dist/commands/docker/stop.d.ts +0 -1
  75. package/dist/commands/epic/activate.d.ts +0 -1
  76. package/dist/commands/epic/activate.js +2 -0
  77. package/dist/commands/epic/archive.d.ts +0 -1
  78. package/dist/commands/epic/archive.js +2 -0
  79. package/dist/commands/epic/create.d.ts +0 -1
  80. package/dist/commands/epic/create.js +3 -1
  81. package/dist/commands/epic/delete.d.ts +14 -0
  82. package/dist/commands/epic/delete.js +129 -0
  83. package/dist/commands/epic/index.d.ts +0 -1
  84. package/dist/commands/epic/index.js +6 -0
  85. package/dist/commands/epic/link/block.d.ts +0 -1
  86. package/dist/commands/epic/link/block.js +2 -0
  87. package/dist/commands/epic/link/duplicates.d.ts +0 -1
  88. package/dist/commands/epic/link/duplicates.js +2 -0
  89. package/dist/commands/epic/link/index.d.ts +0 -1
  90. package/dist/commands/epic/link/index.js +2 -0
  91. package/dist/commands/epic/link/relates.d.ts +0 -1
  92. package/dist/commands/epic/link/relates.js +2 -0
  93. package/dist/commands/epic/link/remove.d.ts +0 -1
  94. package/dist/commands/epic/link/remove.js +2 -0
  95. package/dist/commands/epic/list.d.ts +0 -1
  96. package/dist/commands/epic/move.d.ts +0 -1
  97. package/dist/commands/epic/move.js +2 -0
  98. package/dist/commands/epic/progress.d.ts +0 -1
  99. package/dist/commands/epic/progress.js +2 -0
  100. package/dist/commands/epic/project.d.ts +0 -1
  101. package/dist/commands/epic/project.js +2 -0
  102. package/dist/commands/epic/reorder.d.ts +0 -1
  103. package/dist/commands/epic/reorder.js +2 -0
  104. package/dist/commands/epic/spec.d.ts +0 -1
  105. package/dist/commands/epic/spec.js +2 -0
  106. package/dist/commands/epic/ticket.d.ts +0 -1
  107. package/dist/commands/epic/ticket.js +2 -0
  108. package/dist/commands/epic/view.d.ts +0 -1
  109. package/dist/commands/epic/view.js +2 -0
  110. package/dist/commands/execution/config.d.ts +0 -1
  111. package/dist/commands/execution/config.js +2 -0
  112. package/dist/commands/execution/index.d.ts +0 -1
  113. package/dist/commands/execution/index.js +3 -1
  114. package/dist/commands/execution/list.d.ts +0 -1
  115. package/dist/commands/execution/logs.d.ts +0 -1
  116. package/dist/commands/execution/logs.js +3 -1
  117. package/dist/commands/execution/stop.d.ts +0 -1
  118. package/dist/commands/execution/stop.js +3 -1
  119. package/dist/commands/execution/view.d.ts +0 -1
  120. package/dist/commands/execution/view.js +3 -1
  121. package/dist/commands/gh/index.d.ts +0 -1
  122. package/dist/commands/gh/login.d.ts +0 -1
  123. package/dist/commands/gh/status.d.ts +0 -1
  124. package/dist/commands/gh/token.d.ts +0 -1
  125. package/dist/commands/init.js +2 -0
  126. package/dist/commands/phase/create.d.ts +0 -1
  127. package/dist/commands/phase/create.js +1 -2
  128. package/dist/commands/phase/delete.d.ts +0 -1
  129. package/dist/commands/phase/delete.js +1 -1
  130. package/dist/commands/phase/list.d.ts +0 -1
  131. package/dist/commands/phase/move.d.ts +0 -1
  132. package/dist/commands/phase/move.js +2 -2
  133. package/dist/commands/phase/template/apply.d.ts +0 -1
  134. package/dist/commands/phase/template/apply.js +2 -0
  135. package/dist/commands/phase/template/create.d.ts +0 -1
  136. package/dist/commands/phase/template/create.js +0 -1
  137. package/dist/commands/phase/template/delete.d.ts +0 -1
  138. package/dist/commands/phase/template/delete.js +2 -0
  139. package/dist/commands/phase/template/index.d.ts +0 -1
  140. package/dist/commands/phase/template/index.js +2 -0
  141. package/dist/commands/phase/template/list.d.ts +0 -1
  142. package/dist/commands/phase/template/list.js +2 -0
  143. package/dist/commands/phase/template/update.d.ts +0 -1
  144. package/dist/commands/phase/update.d.ts +0 -1
  145. package/dist/commands/phase/update.js +2 -2
  146. package/dist/commands/pmo/init.js +2 -0
  147. package/dist/commands/pr/create.d.ts +0 -1
  148. package/dist/commands/pr/index.d.ts +0 -1
  149. package/dist/commands/pr/link.d.ts +0 -1
  150. package/dist/commands/pr/list.d.ts +0 -1
  151. package/dist/commands/pr/status.d.ts +0 -1
  152. package/dist/commands/project/archive.d.ts +0 -1
  153. package/dist/commands/project/create.d.ts +0 -1
  154. package/dist/commands/project/delete.d.ts +0 -1
  155. package/dist/commands/project/index.d.ts +0 -1
  156. package/dist/commands/project/list.d.ts +0 -1
  157. package/dist/commands/project/spec.d.ts +0 -1
  158. package/dist/commands/project/unarchive.d.ts +0 -1
  159. package/dist/commands/project/update.d.ts +0 -1
  160. package/dist/commands/project/view.d.ts +0 -1
  161. package/dist/commands/repo/add.d.ts +0 -1
  162. package/dist/commands/repo/add.js +2 -0
  163. package/dist/commands/repo/index.d.ts +0 -1
  164. package/dist/commands/repo/list.d.ts +0 -1
  165. package/dist/commands/repo/remove.d.ts +0 -1
  166. package/dist/commands/repo/view.d.ts +0 -1
  167. package/dist/commands/roadmap/add-project.d.ts +0 -1
  168. package/dist/commands/roadmap/add-project.js +2 -0
  169. package/dist/commands/roadmap/create.d.ts +0 -1
  170. package/dist/commands/roadmap/create.js +2 -0
  171. package/dist/commands/roadmap/delete.d.ts +0 -1
  172. package/dist/commands/roadmap/delete.js +12 -1
  173. package/dist/commands/roadmap/generate.d.ts +0 -1
  174. package/dist/commands/roadmap/generate.js +2 -0
  175. package/dist/commands/roadmap/index.d.ts +0 -1
  176. package/dist/commands/roadmap/index.js +2 -0
  177. package/dist/commands/roadmap/list.d.ts +0 -1
  178. package/dist/commands/roadmap/remove-project.d.ts +0 -1
  179. package/dist/commands/roadmap/remove-project.js +2 -0
  180. package/dist/commands/roadmap/reorder.d.ts +0 -1
  181. package/dist/commands/roadmap/reorder.js +2 -0
  182. package/dist/commands/roadmap/update.d.ts +0 -1
  183. package/dist/commands/roadmap/update.js +2 -0
  184. package/dist/commands/roadmap/view.d.ts +0 -1
  185. package/dist/commands/roadmap/view.js +2 -0
  186. package/dist/commands/session/attach.d.ts +0 -1
  187. package/dist/commands/session/attach.js +9 -0
  188. package/dist/commands/session/index.d.ts +0 -1
  189. package/dist/commands/session/index.js +2 -0
  190. package/dist/commands/session/list.d.ts +0 -1
  191. package/dist/commands/spec/create.d.ts +0 -1
  192. package/dist/commands/spec/create.js +1 -1
  193. package/dist/commands/spec/delete.d.ts +0 -1
  194. package/dist/commands/spec/edit.d.ts +0 -1
  195. package/dist/commands/spec/index.d.ts +0 -1
  196. package/dist/commands/spec/link/depends.d.ts +0 -1
  197. package/dist/commands/spec/link/duplicates.d.ts +0 -1
  198. package/dist/commands/spec/link/index.d.ts +0 -1
  199. package/dist/commands/spec/link/relates.d.ts +0 -1
  200. package/dist/commands/spec/link/remove.d.ts +0 -1
  201. package/dist/commands/spec/list.d.ts +0 -1
  202. package/dist/commands/spec/plan.d.ts +0 -1
  203. package/dist/commands/spec/ticket.d.ts +0 -3
  204. package/dist/commands/spec/ticket.js +7 -38
  205. package/dist/commands/spec/view.d.ts +0 -1
  206. package/dist/commands/status/category.d.ts +14 -0
  207. package/dist/commands/status/category.js +63 -0
  208. package/dist/commands/status/create.d.ts +0 -1
  209. package/dist/commands/status/create.js +1 -1
  210. package/dist/commands/status/delete.d.ts +0 -1
  211. package/dist/commands/status/index.d.ts +0 -1
  212. package/dist/commands/status/list.d.ts +0 -1
  213. package/dist/commands/status/move.d.ts +0 -1
  214. package/dist/commands/status/update.d.ts +0 -1
  215. package/dist/commands/template/delete.d.ts +0 -1
  216. package/dist/commands/template/delete.js +2 -0
  217. package/dist/commands/template/index.d.ts +0 -1
  218. package/dist/commands/template/list.d.ts +0 -1
  219. package/dist/commands/template/list.js +2 -0
  220. package/dist/commands/template/phase/apply.js +2 -0
  221. package/dist/commands/template/phase/create.d.ts +0 -1
  222. package/dist/commands/template/phase/create.js +3 -9
  223. package/dist/commands/template/phase/delete.js +2 -0
  224. package/dist/commands/template/phase/index.d.ts +0 -1
  225. package/dist/commands/template/phase/list.js +2 -0
  226. package/dist/commands/template/phase/update.js +2 -0
  227. package/dist/commands/template/ticket/apply.js +2 -0
  228. package/dist/commands/template/ticket/create.js +2 -0
  229. package/dist/commands/template/ticket/delete.js +2 -0
  230. package/dist/commands/template/ticket/index.d.ts +0 -1
  231. package/dist/commands/template/ticket/list.js +2 -0
  232. package/dist/commands/template/ticket/save.d.ts +0 -1
  233. package/dist/commands/template/ticket/save.js +0 -6
  234. package/dist/commands/terminal/title.d.ts +0 -1
  235. package/dist/commands/ticket/bulk.d.ts +0 -1
  236. package/dist/commands/ticket/bulk.js +2 -0
  237. package/dist/commands/ticket/category.d.ts +14 -0
  238. package/dist/commands/ticket/category.js +63 -0
  239. package/dist/commands/ticket/complete.d.ts +0 -1
  240. package/dist/commands/ticket/complete.js +2 -0
  241. package/dist/commands/ticket/create.d.ts +0 -1
  242. package/dist/commands/ticket/create.js +6 -4
  243. package/dist/commands/ticket/delete.d.ts +0 -1
  244. package/dist/commands/ticket/delete.js +2 -0
  245. package/dist/commands/ticket/edit.d.ts +0 -1
  246. package/dist/commands/ticket/edit.js +4 -2
  247. package/dist/commands/ticket/epic.d.ts +0 -1
  248. package/dist/commands/ticket/epic.js +2 -0
  249. package/dist/commands/ticket/index.d.ts +0 -1
  250. package/dist/commands/ticket/index.js +2 -0
  251. package/dist/commands/ticket/link/block.d.ts +0 -1
  252. package/dist/commands/ticket/link/block.js +2 -0
  253. package/dist/commands/ticket/link/duplicates.d.ts +0 -1
  254. package/dist/commands/ticket/link/duplicates.js +2 -0
  255. package/dist/commands/ticket/link/index.d.ts +0 -1
  256. package/dist/commands/ticket/link/index.js +2 -0
  257. package/dist/commands/ticket/link/relates.d.ts +0 -1
  258. package/dist/commands/ticket/link/relates.js +2 -0
  259. package/dist/commands/ticket/link/remove.d.ts +0 -1
  260. package/dist/commands/ticket/link/remove.js +2 -0
  261. package/dist/commands/ticket/list.d.ts +0 -1
  262. package/dist/commands/ticket/move.d.ts +0 -1
  263. package/dist/commands/ticket/move.js +2 -0
  264. package/dist/commands/ticket/project.d.ts +0 -1
  265. package/dist/commands/ticket/project.js +2 -0
  266. package/dist/commands/ticket/reassign.d.ts +0 -1
  267. package/dist/commands/ticket/reassign.js +29 -0
  268. package/dist/commands/ticket/spec.d.ts +0 -1
  269. package/dist/commands/ticket/spec.js +2 -0
  270. package/dist/commands/ticket/status.d.ts +0 -1
  271. package/dist/commands/ticket/status.js +2 -0
  272. package/dist/commands/ticket/template/apply.d.ts +0 -1
  273. package/dist/commands/ticket/template/apply.js +2 -0
  274. package/dist/commands/ticket/template/create.d.ts +0 -1
  275. package/dist/commands/ticket/template/create.js +4 -2
  276. package/dist/commands/ticket/template/delete.d.ts +0 -1
  277. package/dist/commands/ticket/template/delete.js +2 -0
  278. package/dist/commands/ticket/template/index.d.ts +0 -1
  279. package/dist/commands/ticket/template/index.js +2 -0
  280. package/dist/commands/ticket/template/list.d.ts +0 -1
  281. package/dist/commands/ticket/template/list.js +2 -0
  282. package/dist/commands/ticket/template/save.d.ts +0 -1
  283. package/dist/commands/ticket/template/save.js +2 -0
  284. package/dist/commands/ticket/update.d.ts +0 -1
  285. package/dist/commands/ticket/update.js +2 -0
  286. package/dist/commands/ticket/view.d.ts +0 -1
  287. package/dist/commands/ticket/view.js +2 -0
  288. package/dist/commands/work/complete.d.ts +0 -1
  289. package/dist/commands/work/complete.js +2 -0
  290. package/dist/commands/work/index.d.ts +0 -1
  291. package/dist/commands/work/index.js +2 -0
  292. package/dist/commands/work/ready.d.ts +1 -2
  293. package/dist/commands/work/ready.js +11 -5
  294. package/dist/commands/work/revise.d.ts +0 -1
  295. package/dist/commands/work/revise.js +3 -1
  296. package/dist/commands/work/spawn-all.d.ts +0 -1
  297. package/dist/commands/work/spawn-all.js +2 -0
  298. package/dist/commands/work/spawn.d.ts +0 -1
  299. package/dist/commands/work/spawn.js +2 -0
  300. package/dist/commands/work/start.d.ts +0 -1
  301. package/dist/commands/work/start.js +6 -0
  302. package/dist/commands/work/watch.d.ts +0 -1
  303. package/dist/commands/work/watch.js +3 -1
  304. package/dist/commands/workflow/create.d.ts +0 -1
  305. package/dist/commands/workflow/delete.d.ts +0 -1
  306. package/dist/commands/workflow/index.d.ts +0 -1
  307. package/dist/commands/workflow/index.js +2 -0
  308. package/dist/commands/workflow/list.d.ts +0 -1
  309. package/dist/commands/workflow/switch.d.ts +0 -1
  310. package/dist/commands/workflow/view.d.ts +0 -1
  311. package/dist/commands/workspace/list.js +2 -0
  312. package/dist/commands/workspace/prune.d.ts +13 -0
  313. package/dist/commands/workspace/prune.js +186 -0
  314. package/dist/commands/workspace/remove.js +2 -0
  315. package/dist/commands/workspace/use.js +2 -0
  316. package/dist/lib/pmo/base-command.d.ts +2 -4
  317. package/dist/lib/pmo/base-command.js +8 -10
  318. package/dist/lib/pmo/schema.d.ts +2 -0
  319. package/dist/lib/pmo/schema.js +17 -0
  320. package/dist/lib/pmo/storage/base.d.ts +4 -0
  321. package/dist/lib/pmo/storage/base.js +31 -0
  322. package/dist/lib/pmo/storage/categories.d.ts +50 -0
  323. package/dist/lib/pmo/storage/categories.js +205 -0
  324. package/dist/lib/pmo/storage/index.d.ts +14 -1
  325. package/dist/lib/pmo/storage/index.js +35 -1
  326. package/dist/lib/pmo/storage/tickets.d.ts +5 -0
  327. package/dist/lib/pmo/storage/tickets.js +31 -3
  328. package/dist/lib/pmo/storage/types.d.ts +10 -0
  329. package/dist/lib/pmo/types.d.ts +25 -0
  330. package/dist/lib/prompt-json.d.ts +10 -16
  331. package/dist/lib/prompt-json.js +8 -16
  332. package/oclif.manifest.json +4283 -4345
  333. package/package.json +1 -1
@@ -3,7 +3,6 @@ export default class DockerRestart extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  time: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
@@ -3,7 +3,6 @@ export default class DockerStop extends Command {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static flags: {
6
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
6
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  time: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
@@ -7,7 +7,6 @@ export default class EpicActivate 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>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
13
12
  execute(): Promise<void>;
@@ -19,6 +19,8 @@ export default class EpicActivate extends PMOCommand {
19
19
  static flags = {
20
20
  ...pmoBaseFlags,
21
21
  json: Flags.boolean({
22
+ char: 'm',
23
+ aliases: ['machine'],
22
24
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
23
25
  default: false,
24
26
  }),
@@ -8,7 +8,6 @@ export default class EpicArchive extends PMOCommand {
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
14
13
  execute(): Promise<void>;
@@ -19,6 +19,8 @@ export default class EpicArchive extends PMOCommand {
19
19
  static flags = {
20
20
  ...pmoBaseFlags,
21
21
  json: Flags.boolean({
22
+ char: 'm',
23
+ aliases: ['machine'],
22
24
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
23
25
  default: false,
24
26
  }),
@@ -8,7 +8,6 @@ export default class EpicCreate extends PMOCommand {
8
8
  description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
9
  spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
14
13
  execute(): Promise<void>;
@@ -32,6 +32,8 @@ export default class EpicCreate extends PMOCommand {
32
32
  description: 'Link to spec ID (the design spec that describes this epic)',
33
33
  }),
34
34
  json: Flags.boolean({
35
+ char: 'm',
36
+ aliases: ['machine'],
35
37
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
36
38
  default: false,
37
39
  }),
@@ -123,7 +125,7 @@ export default class EpicCreate extends PMOCommand {
123
125
  const answers = await inquirer.prompt(fields.map(field => ({
124
126
  ...field,
125
127
  validate: field.name === 'title'
126
- ? ((input) => input.length > 0 || 'Title is required')
128
+ ? ((input) => input.trim() ? true : 'Title cannot be empty')
127
129
  : undefined,
128
130
  when: field.name === 'specId' ? () => hasSpecs : undefined,
129
131
  })));
@@ -0,0 +1,14 @@
1
+ import { PMOCommand } from '../../lib/pmo/index.js';
2
+ export default class EpicDelete extends PMOCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ id: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ execute(): Promise<void>;
14
+ }
@@ -0,0 +1,129 @@
1
+ import { Args, Flags } from '@oclif/core';
2
+ import inquirer from 'inquirer';
3
+ import { autoExportToBoard, PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
4
+ import { styles } from '../../lib/styles.js';
5
+ import { deleteEpicFile } from '../../lib/pmo/epic-files.js';
6
+ import { shouldOutputJson, outputPromptAsJson, outputErrorAsJson, createMetadata, buildPromptConfig, } from '../../lib/prompt-json.js';
7
+ export default class EpicDelete extends PMOCommand {
8
+ static description = 'Delete an epic permanently';
9
+ static examples = [
10
+ '<%= config.bin %> <%= command.id %> EPIC-001',
11
+ '<%= config.bin %> <%= command.id %> EPIC-001 --force',
12
+ '<%= config.bin %> <%= command.id %> # Interactive mode',
13
+ ];
14
+ static args = {
15
+ id: Args.string({
16
+ description: 'Epic ID to delete',
17
+ required: false,
18
+ }),
19
+ };
20
+ static flags = {
21
+ ...pmoBaseFlags,
22
+ json: Flags.boolean({
23
+ description: 'Output prompt configuration as JSON (for AI agents/scripts)',
24
+ default: false,
25
+ }),
26
+ force: Flags.boolean({
27
+ char: 'f',
28
+ description: 'Skip confirmation prompt',
29
+ default: false,
30
+ }),
31
+ };
32
+ async execute() {
33
+ const { args, flags } = await this.parse(EpicDelete);
34
+ const projectId = await this.requireProject();
35
+ // Check if JSON output mode is active
36
+ const jsonMode = shouldOutputJson(flags);
37
+ // Helper to handle errors in JSON mode
38
+ const handleError = (code, message) => {
39
+ if (jsonMode) {
40
+ outputErrorAsJson(code, message, createMetadata('epic delete', flags));
41
+ this.exit(1);
42
+ }
43
+ this.error(message);
44
+ };
45
+ let epicId = args.id;
46
+ // If no ID provided, prompt for selection
47
+ if (!epicId) {
48
+ const epics = await this.storage.listEpics(projectId);
49
+ if (epics.length === 0) {
50
+ if (jsonMode) {
51
+ outputErrorAsJson('NO_EPICS', 'No epics found.', createMetadata('epic delete', flags));
52
+ return;
53
+ }
54
+ this.log(styles.muted('\nNo epics found.'));
55
+ return;
56
+ }
57
+ // Build choices with ticket counts
58
+ const choices = await Promise.all(epics.map(async (e) => {
59
+ const tickets = await this.storage.getTicketsForEpic(projectId, e.id);
60
+ return {
61
+ name: `${e.id} ${e.title} (${e.status}) [${tickets.length} tickets]`,
62
+ value: e.id,
63
+ };
64
+ }));
65
+ // In JSON mode, output epic selection prompt
66
+ if (jsonMode) {
67
+ outputPromptAsJson(buildPromptConfig('list', 'id', 'Select epic to delete:', choices), createMetadata('epic delete', flags));
68
+ return;
69
+ }
70
+ const { selected } = await inquirer.prompt([{
71
+ type: 'list',
72
+ name: 'selected',
73
+ message: 'Select epic to delete:',
74
+ choices,
75
+ }]);
76
+ epicId = selected;
77
+ }
78
+ // Get the epic to show details
79
+ const epic = await this.storage.getEpic(epicId);
80
+ if (!epic) {
81
+ return handleError('EPIC_NOT_FOUND', `Epic not found: ${epicId}`);
82
+ }
83
+ // Get associated tickets count
84
+ const tickets = await this.storage.getTicketsForEpic(projectId, epicId);
85
+ // Confirmation prompt (unless --force)
86
+ if (!flags.force) {
87
+ // In JSON mode, output confirmation prompt
88
+ if (jsonMode) {
89
+ const confirmChoices = [
90
+ { name: 'No, cancel', value: 'false' },
91
+ { name: 'Yes, delete permanently', value: 'true' },
92
+ ];
93
+ outputPromptAsJson(buildPromptConfig('list', 'confirm', `Delete epic '${epic.title}'?`, confirmChoices), createMetadata('epic delete', flags));
94
+ return;
95
+ }
96
+ this.log(`\nDelete epic ${styles.emphasis(epicId)}?`);
97
+ this.log(` Title: ${epic.title}`);
98
+ this.log(` Status: ${epic.status}`);
99
+ this.log(` Tickets: ${tickets.length} (will be unlinked, not deleted)`);
100
+ const { confirmed } = await inquirer.prompt([{
101
+ type: 'list',
102
+ name: 'confirmed',
103
+ message: `Delete epic '${epic.title}'?`,
104
+ choices: [
105
+ { name: 'No, cancel', value: false },
106
+ { name: 'Yes, delete permanently', value: true },
107
+ ],
108
+ default: 0,
109
+ }]);
110
+ if (!confirmed) {
111
+ this.log(styles.muted('Deletion cancelled.'));
112
+ return;
113
+ }
114
+ }
115
+ // Delete the epic file first
116
+ const fileDeleted = deleteEpicFile(this.pmoPath, epicId, epic.status, projectId);
117
+ // Delete from database (this also unlinks tickets)
118
+ await this.storage.deleteEpic(epicId);
119
+ // Auto-export to board.md after deletion
120
+ await autoExportToBoard(this.pmoPath, this.storage, (msg) => this.log(styles.muted(msg)));
121
+ this.log(styles.success(`\n✅ Deleted epic ${styles.emphasis(epicId)} "${epic.title}"`));
122
+ if (tickets.length > 0) {
123
+ this.log(styles.muted(` ${tickets.length} ticket(s) unlinked from epic`));
124
+ }
125
+ if (fileDeleted) {
126
+ this.log(styles.muted(' Epic file removed'));
127
+ }
128
+ }
129
+ }
@@ -4,7 +4,6 @@ export default class Epic 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>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
10
9
  protected getPMOOptions(): {
@@ -9,6 +9,8 @@ export default class Epic extends PMOCommand {
9
9
  static flags = {
10
10
  ...pmoBaseFlags,
11
11
  json: Flags.boolean({
12
+ char: 'm',
13
+ aliases: ['machine'],
12
14
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
13
15
  default: false,
14
16
  }),
@@ -34,6 +36,7 @@ export default class Epic extends PMOCommand {
34
36
  { id: 'activate', name: 'Activate epic', command: 'prlt epic activate --json' },
35
37
  { id: 'move', name: 'Reorder epic', command: 'prlt epic move --json' },
36
38
  { id: 'project', name: 'Move to different project', command: 'prlt epic project --json' },
39
+ { id: 'delete', name: 'Delete epic', command: 'prlt epic delete --json' },
37
40
  { id: 'cancel', name: 'Cancel', command: '' },
38
41
  ];
39
42
  const message = 'Epic Operations - What would you like to do?';
@@ -83,6 +86,9 @@ export default class Epic extends PMOCommand {
83
86
  case 'project':
84
87
  await this.config.runCommand('epic:project', []);
85
88
  break;
89
+ case 'delete':
90
+ await this.config.runCommand('epic:delete', []);
91
+ break;
86
92
  }
87
93
  }
88
94
  }
@@ -9,7 +9,6 @@ export default class EpicLinkBlock extends PMOCommand {
9
9
  static flags: {
10
10
  project: 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>;
13
12
  };
14
13
  execute(): Promise<void>;
15
14
  }
@@ -16,6 +16,8 @@ export default class EpicLinkBlock extends PMOCommand {
16
16
  ...pmoBaseFlags,
17
17
  project: Flags.string({ char: 'P', description: 'Project ID' }),
18
18
  json: Flags.boolean({
19
+ char: 'm',
20
+ aliases: ['machine'],
19
21
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
20
22
  default: false,
21
23
  }),
@@ -9,7 +9,6 @@ export default class EpicLinkDuplicates extends PMOCommand {
9
9
  static flags: {
10
10
  project: 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>;
13
12
  };
14
13
  execute(): Promise<void>;
15
14
  }
@@ -14,6 +14,8 @@ export default class EpicLinkDuplicates extends PMOCommand {
14
14
  ...pmoBaseFlags,
15
15
  project: Flags.string({ char: 'P', description: 'Project ID' }),
16
16
  json: Flags.boolean({
17
+ char: 'm',
18
+ aliases: ['machine'],
17
19
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
18
20
  default: false,
19
21
  }),
@@ -12,7 +12,6 @@ export default class EpicLink extends PMOCommand {
12
12
  duplicates: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  };
17
16
  execute(): Promise<void>;
18
17
  private addDependency;
@@ -42,6 +42,8 @@ export default class EpicLink extends PMOCommand {
42
42
  default: false,
43
43
  }),
44
44
  json: Flags.boolean({
45
+ char: 'm',
46
+ aliases: ['machine'],
45
47
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
46
48
  default: false,
47
49
  }),
@@ -9,7 +9,6 @@ export default class EpicLinkRelates extends PMOCommand {
9
9
  static flags: {
10
10
  project: 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>;
13
12
  };
14
13
  execute(): Promise<void>;
15
14
  }
@@ -14,6 +14,8 @@ export default class EpicLinkRelates extends PMOCommand {
14
14
  ...pmoBaseFlags,
15
15
  project: Flags.string({ char: 'P', description: 'Project ID' }),
16
16
  json: Flags.boolean({
17
+ char: 'm',
18
+ aliases: ['machine'],
17
19
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
18
20
  default: false,
19
21
  }),
@@ -11,7 +11,6 @@ export default class EpicLinkRemove extends PMOCommand {
11
11
  type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
14
  };
16
15
  execute(): Promise<void>;
17
16
  }
@@ -19,6 +19,8 @@ export default class EpicLinkRemove extends PMOCommand {
19
19
  type: Flags.string({ char: 't', description: 'Dependency type', options: ['blocks', 'relates_to', 'duplicates'] }),
20
20
  all: Flags.boolean({ char: 'a', description: 'Remove all dependencies', default: false }),
21
21
  json: Flags.boolean({
22
+ char: 'm',
23
+ aliases: ['machine'],
22
24
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
23
25
  default: false,
24
26
  }),
@@ -4,7 +4,6 @@ export default class EpicList extends PMOCommand {
4
4
  static examples: string[];
5
5
  static flags: {
6
6
  status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
8
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
9
  };
@@ -9,7 +9,6 @@ export default class EpicMove extends PMOCommand {
9
9
  static flags: {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  execute(): Promise<void>;
@@ -31,6 +31,8 @@ export default class EpicMove extends PMOCommand {
31
31
  static flags = {
32
32
  ...pmoBaseFlags,
33
33
  json: Flags.boolean({
34
+ char: 'm',
35
+ aliases: ['machine'],
34
36
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
35
37
  default: false,
36
38
  }),
@@ -8,7 +8,6 @@ export default class EpicProgress extends PMOCommand {
8
8
  static flags: {
9
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
11
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  };
14
13
  execute(): Promise<void>;
@@ -25,6 +25,8 @@ export default class EpicProgress extends PMOCommand {
25
25
  static flags = {
26
26
  ...pmoBaseFlags,
27
27
  json: Flags.boolean({
28
+ char: 'm',
29
+ aliases: ['machine'],
28
30
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
29
31
  default: false,
30
32
  }),
@@ -9,7 +9,6 @@ export default class EpicProject extends PMOCommand {
9
9
  static flags: {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  'with-tickets': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  execute(): Promise<void>;
@@ -24,6 +24,8 @@ export default class EpicProject extends PMOCommand {
24
24
  static flags = {
25
25
  ...pmoBaseFlags,
26
26
  json: Flags.boolean({
27
+ char: 'm',
28
+ aliases: ['machine'],
27
29
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
28
30
  default: false,
29
31
  }),
@@ -15,7 +15,6 @@ export default class EpicReorder extends PMOCommand {
15
15
  after: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
16
  before: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
17
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
18
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
19
  };
21
20
  execute(): Promise<void>;
@@ -39,6 +39,8 @@ export default class EpicReorder extends PMOCommand {
39
39
  exclusive: ['first', 'last', 'after'],
40
40
  }),
41
41
  json: Flags.boolean({
42
+ char: 'm',
43
+ aliases: ['machine'],
42
44
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
43
45
  default: false,
44
46
  }),
@@ -9,7 +9,6 @@ export default class EpicSpec extends PMOCommand {
9
9
  static flags: {
10
10
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  unlink: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  execute(): Promise<void>;
@@ -24,6 +24,8 @@ export default class EpicSpec extends PMOCommand {
24
24
  static flags = {
25
25
  ...pmoBaseFlags,
26
26
  json: Flags.boolean({
27
+ char: 'm',
28
+ aliases: ['machine'],
27
29
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
28
30
  default: false,
29
31
  }),
@@ -12,7 +12,6 @@ export default class EpicTicket extends PMOCommand {
12
12
  unlink: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
13
  spec: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
14
  'unlink-spec': import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
15
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
16
  };
18
17
  execute(): Promise<void>;
@@ -27,6 +27,8 @@ export default class EpicTicket extends PMOCommand {
27
27
  static flags = {
28
28
  ...pmoBaseFlags,
29
29
  json: Flags.boolean({
30
+ char: 'm',
31
+ aliases: ['machine'],
30
32
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
31
33
  default: false,
32
34
  }),
@@ -7,7 +7,6 @@ export default class EpicView 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>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
13
12
  execute(): Promise<void>;
@@ -23,6 +23,8 @@ export default class EpicView extends PMOCommand {
23
23
  static flags = {
24
24
  ...pmoBaseFlags,
25
25
  json: Flags.boolean({
26
+ char: 'm',
27
+ aliases: ['machine'],
26
28
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
27
29
  default: false,
28
30
  }),
@@ -7,7 +7,6 @@ export default class ExecutionConfig extends PMOCommand {
7
7
  set: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  list: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
9
  setting: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
13
12
  protected getPMOOptions(): {
@@ -21,6 +21,8 @@ export default class ExecutionConfig extends PMOCommand {
21
21
  static flags = {
22
22
  ...pmoBaseFlags,
23
23
  json: Flags.boolean({
24
+ char: 'm',
25
+ aliases: ['machine'],
24
26
  description: 'Output configuration as JSON (for AI agents/scripts)',
25
27
  default: false,
26
28
  }),
@@ -4,7 +4,6 @@ export default class Execution 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>;
8
7
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
8
  };
10
9
  protected getPMOOptions(): {
@@ -12,6 +12,8 @@ export default class Execution extends PMOCommand {
12
12
  static flags = {
13
13
  ...pmoBaseFlags,
14
14
  json: Flags.boolean({
15
+ char: 'm',
16
+ aliases: ['machine'],
15
17
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
16
18
  default: false,
17
19
  }),
@@ -21,7 +23,7 @@ export default class Execution extends PMOCommand {
21
23
  }
22
24
  async execute() {
23
25
  const { flags } = await this.parse(Execution);
24
- const jsonModeConfig = (flags.json || flags.machine) ? { flags, commandName: 'execution' } : null;
26
+ const jsonModeConfig = flags.json ? { flags, commandName: 'execution' } : null;
25
27
  const { action } = await this.prompt([
26
28
  {
27
29
  type: 'list',
@@ -6,7 +6,6 @@ export default class ExecutionList extends PMOCommand {
6
6
  status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  agent: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  limit: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
9
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
10
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
11
  };
@@ -9,7 +9,6 @@ export default class ExecutionLogs extends PMOCommand {
9
9
  follow: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  tail: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
12
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
13
  };
15
14
  protected getPMOOptions(): {
@@ -35,6 +35,8 @@ export default class ExecutionLogs extends PMOCommand {
35
35
  min: 1,
36
36
  }),
37
37
  json: Flags.boolean({
38
+ char: 'm',
39
+ aliases: ['machine'],
38
40
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
39
41
  default: false,
40
42
  }),
@@ -70,7 +72,7 @@ export default class ExecutionLogs extends PMOCommand {
70
72
  }
71
73
  this.error('No executions found.');
72
74
  }
73
- const jsonModeConfig = (flags.json || flags.machine) ? { flags, commandName: 'execution logs' } : null;
75
+ const jsonModeConfig = flags.json ? { flags, commandName: 'execution logs' } : null;
74
76
  const { selectedId } = await this.prompt([
75
77
  {
76
78
  type: 'list',
@@ -10,7 +10,6 @@ export default class ExecutionStop extends PMOCommand {
10
10
  all: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  agent: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
12
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
13
  project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
14
  };
16
15
  protected getPMOOptions(): {
@@ -39,6 +39,8 @@ export default class ExecutionStop extends PMOCommand {
39
39
  description: 'Stop all executions for a specific agent',
40
40
  }),
41
41
  json: Flags.boolean({
42
+ char: 'm',
43
+ aliases: ['machine'],
42
44
  description: 'Output prompt configuration as JSON (for AI agents/scripts)',
43
45
  default: false,
44
46
  }),
@@ -137,7 +139,7 @@ export default class ExecutionStop extends PMOCommand {
137
139
  this.log(styles.muted('\nNo running executions found.\n'));
138
140
  return;
139
141
  }
140
- const jsonModeConfig = (flags.json || flags.machine) ? { flags: flags, commandName: 'execution stop' } : null;
142
+ const jsonModeConfig = flags.json ? { flags: flags, commandName: 'execution stop' } : null;
141
143
  const { selectedId } = await this.prompt([
142
144
  {
143
145
  type: 'list',