@proletariat/cli 0.3.93 → 0.3.94

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 (374) hide show
  1. package/dist/commands/action/create.d.ts +1 -1
  2. package/dist/commands/action/delete.d.ts +1 -1
  3. package/dist/commands/action/index.d.ts +1 -1
  4. package/dist/commands/action/list.d.ts +1 -1
  5. package/dist/commands/action/run.d.ts +1 -1
  6. package/dist/commands/action/show.d.ts +1 -1
  7. package/dist/commands/action/update.d.ts +1 -1
  8. package/dist/commands/agent/cleanup.d.ts +1 -1
  9. package/dist/commands/agent/gc.d.ts +1 -1
  10. package/dist/commands/agent/index.d.ts +1 -1
  11. package/dist/commands/agent/list.d.ts +1 -1
  12. package/dist/commands/agent/login.d.ts +1 -1
  13. package/dist/commands/agent/rebuild.d.ts +1 -1
  14. package/dist/commands/agent/remove.d.ts +1 -1
  15. package/dist/commands/agent/restart.d.ts +1 -1
  16. package/dist/commands/agent/shell.d.ts +1 -1
  17. package/dist/commands/agent/staff/index.d.ts +1 -1
  18. package/dist/commands/agent/staff/remove.d.ts +1 -1
  19. package/dist/commands/agent/status.d.ts +1 -1
  20. package/dist/commands/agent/visit.d.ts +1 -1
  21. package/dist/commands/asana/import.d.ts +1 -1
  22. package/dist/commands/branch/create.d.ts +1 -1
  23. package/dist/commands/branch/index.d.ts +1 -1
  24. package/dist/commands/branch/list.d.ts +1 -1
  25. package/dist/commands/branch/validate.d.ts +1 -1
  26. package/dist/commands/branch/where.d.ts +1 -1
  27. package/dist/commands/config/index.js +2 -2
  28. package/dist/commands/config/index.js.map +1 -1
  29. package/dist/commands/diet.d.ts +1 -1
  30. package/dist/commands/docker/index.js +2 -0
  31. package/dist/commands/docker/index.js.map +1 -1
  32. package/dist/commands/docker/rebuild-cache.d.ts +12 -0
  33. package/dist/commands/docker/rebuild-cache.js +144 -0
  34. package/dist/commands/docker/rebuild-cache.js.map +1 -0
  35. package/dist/commands/execution/config.d.ts +1 -1
  36. package/dist/commands/execution/index.d.ts +1 -1
  37. package/dist/commands/execution/list.d.ts +1 -1
  38. package/dist/commands/execution/logs.d.ts +1 -1
  39. package/dist/commands/execution/stop.d.ts +1 -1
  40. package/dist/commands/execution/view.d.ts +1 -1
  41. package/dist/commands/hook/export.d.ts +1 -1
  42. package/dist/commands/hook/fire.d.ts +1 -1
  43. package/dist/commands/hook/index.d.ts +1 -1
  44. package/dist/commands/hook/list.d.ts +1 -1
  45. package/dist/commands/hook/preset.d.ts +1 -1
  46. package/dist/commands/linear/auth.d.ts +1 -1
  47. package/dist/commands/linear/connect.d.ts +1 -1
  48. package/dist/commands/linear/import.d.ts +1 -1
  49. package/dist/commands/linear/status.d.ts +1 -1
  50. package/dist/commands/linear/sync.d.ts +1 -1
  51. package/dist/commands/mcp-server.d.ts +8 -2
  52. package/dist/commands/mcp-server.js +15 -28
  53. package/dist/commands/mcp-server.js.map +1 -1
  54. package/dist/commands/monday/connect.d.ts +1 -1
  55. package/dist/commands/monday/sync.d.ts +1 -1
  56. package/dist/commands/orchestrate/index.d.ts +1 -1
  57. package/dist/commands/orchestrator/index.d.ts +1 -1
  58. package/dist/commands/orchestrator/start.d.ts +3 -3
  59. package/dist/commands/orchestrator/start.js +38 -40
  60. package/dist/commands/orchestrator/start.js.map +1 -1
  61. package/dist/commands/pr/checks.d.ts +1 -1
  62. package/dist/commands/pr/close.d.ts +1 -1
  63. package/dist/commands/pr/create.d.ts +1 -1
  64. package/dist/commands/pr/index.d.ts +1 -1
  65. package/dist/commands/pr/link.d.ts +1 -1
  66. package/dist/commands/pr/list.d.ts +1 -1
  67. package/dist/commands/pr/merge.d.ts +1 -1
  68. package/dist/commands/pr/status.d.ts +1 -1
  69. package/dist/commands/pull.d.ts +1 -1
  70. package/dist/commands/repo/add.d.ts +1 -1
  71. package/dist/commands/repo/create.d.ts +1 -1
  72. package/dist/commands/repo/fix-remotes.d.ts +1 -1
  73. package/dist/commands/repo/index.d.ts +1 -1
  74. package/dist/commands/repo/list.d.ts +1 -1
  75. package/dist/commands/repo/remove.d.ts +1 -1
  76. package/dist/commands/repo/view.d.ts +1 -1
  77. package/dist/commands/session/attach.d.ts +1 -1
  78. package/dist/commands/session/cleanup.d.ts +1 -1
  79. package/dist/commands/session/create.d.ts +1 -1
  80. package/dist/commands/session/exec.d.ts +1 -1
  81. package/dist/commands/session/health.d.ts +1 -1
  82. package/dist/commands/session/index.d.ts +1 -1
  83. package/dist/commands/session/inspect.d.ts +1 -1
  84. package/dist/commands/session/list.d.ts +1 -1
  85. package/dist/commands/session/peek.d.ts +1 -1
  86. package/dist/commands/session/prune.d.ts +1 -1
  87. package/dist/commands/session/report.d.ts +1 -1
  88. package/dist/commands/session/restart.d.ts +1 -1
  89. package/dist/commands/shortcut/connect.d.ts +1 -1
  90. package/dist/commands/support/logs.d.ts +1 -1
  91. package/dist/commands/ticket/create.d.ts +1 -1
  92. package/dist/commands/ticket/delete.d.ts +1 -1
  93. package/dist/commands/ticket/edit.d.ts +1 -1
  94. package/dist/commands/ticket/index.d.ts +1 -1
  95. package/dist/commands/ticket/index.js +6 -36
  96. package/dist/commands/ticket/index.js.map +1 -1
  97. package/dist/commands/ticket/list.d.ts +1 -1
  98. package/dist/commands/ticket/move.d.ts +1 -1
  99. package/dist/commands/ticket/show.d.ts +8 -7
  100. package/dist/commands/ticket/show.js +101 -8
  101. package/dist/commands/ticket/show.js.map +1 -1
  102. package/dist/commands/ticket/update.d.ts +1 -1
  103. package/dist/commands/trello/configure.d.ts +1 -1
  104. package/dist/commands/trello/import.d.ts +1 -1
  105. package/dist/commands/trello/sync.d.ts +1 -1
  106. package/dist/commands/work/asana.d.ts +1 -1
  107. package/dist/commands/work/complete.d.ts +1 -1
  108. package/dist/commands/work/groom.d.ts +1 -1
  109. package/dist/commands/work/hooks/add.d.ts +1 -1
  110. package/dist/commands/work/hooks/index.d.ts +1 -1
  111. package/dist/commands/work/hooks/list.d.ts +1 -1
  112. package/dist/commands/work/hooks/remove.d.ts +1 -1
  113. package/dist/commands/work/hooks/toggle.d.ts +1 -1
  114. package/dist/commands/work/implement.d.ts +1 -1
  115. package/dist/commands/work/index.d.ts +1 -1
  116. package/dist/commands/work/jira.d.ts +1 -1
  117. package/dist/commands/work/linear.d.ts +1 -1
  118. package/dist/commands/work/peek.d.ts +1 -1
  119. package/dist/commands/work/ready.d.ts +1 -1
  120. package/dist/commands/work/rebase.d.ts +1 -1
  121. package/dist/commands/work/resolve.d.ts +1 -1
  122. package/dist/commands/work/review.d.ts +1 -1
  123. package/dist/commands/work/ship.d.ts +1 -1
  124. package/dist/commands/work/shortcut.d.ts +1 -1
  125. package/dist/commands/work/source/set.d.ts +1 -1
  126. package/dist/commands/work/source.d.ts +1 -1
  127. package/dist/commands/work/spawn.d.ts +1 -1
  128. package/dist/commands/work/start.d.ts +1 -1
  129. package/dist/commands/work/status.d.ts +1 -1
  130. package/dist/commands/work/stop.d.ts +1 -1
  131. package/dist/commands/work/watch.d.ts +1 -1
  132. package/dist/hooks/init.js +1 -1
  133. package/dist/hooks/init.js.map +1 -1
  134. package/dist/lib/asana/config.js +13 -7
  135. package/dist/lib/asana/config.js.map +1 -1
  136. package/dist/lib/clickup/client.d.ts +92 -0
  137. package/dist/lib/clickup/client.js +150 -0
  138. package/dist/lib/clickup/client.js.map +1 -0
  139. package/dist/lib/clickup/config.d.ts +41 -0
  140. package/dist/lib/clickup/config.js +104 -0
  141. package/dist/lib/clickup/config.js.map +1 -0
  142. package/dist/lib/clickup/index.d.ts +4 -0
  143. package/dist/lib/clickup/index.js +4 -0
  144. package/dist/lib/clickup/index.js.map +1 -0
  145. package/dist/lib/clickup/types.d.ts +104 -0
  146. package/dist/lib/clickup/types.js +34 -0
  147. package/dist/lib/clickup/types.js.map +1 -0
  148. package/dist/lib/database/credential-store.d.ts +64 -0
  149. package/dist/lib/database/credential-store.js +306 -0
  150. package/dist/lib/database/credential-store.js.map +1 -0
  151. package/dist/lib/database/index.d.ts +1 -0
  152. package/dist/lib/database/index.js +2 -0
  153. package/dist/lib/database/index.js.map +1 -1
  154. package/dist/lib/database/pmo-bootstrap.d.ts +7 -0
  155. package/dist/lib/database/pmo-bootstrap.js +45 -20
  156. package/dist/lib/database/pmo-bootstrap.js.map +1 -1
  157. package/dist/lib/database/workspace.js +4 -0
  158. package/dist/lib/database/workspace.js.map +1 -1
  159. package/dist/lib/execution/devcontainer.js +51 -0
  160. package/dist/lib/execution/devcontainer.js.map +1 -1
  161. package/dist/lib/execution/runners/docker-management.d.ts +23 -0
  162. package/dist/lib/execution/runners/docker-management.js +99 -7
  163. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  164. package/dist/lib/execution/session-utils.d.ts +4 -0
  165. package/dist/lib/execution/session-utils.js +34 -24
  166. package/dist/lib/execution/session-utils.js.map +1 -1
  167. package/dist/lib/execution/types.js +1 -1
  168. package/dist/lib/external-issues/types.d.ts +3 -3
  169. package/dist/lib/external-issues/types.js +1 -1
  170. package/dist/lib/external-issues/types.js.map +1 -1
  171. package/dist/lib/jira/config.js +10 -4
  172. package/dist/lib/jira/config.js.map +1 -1
  173. package/dist/lib/linear/config.js +13 -8
  174. package/dist/lib/linear/config.js.map +1 -1
  175. package/dist/lib/mcp/generator.d.ts +26 -0
  176. package/dist/lib/mcp/generator.js +219 -0
  177. package/dist/lib/mcp/generator.js.map +1 -0
  178. package/dist/lib/mcp/index.d.ts +1 -0
  179. package/dist/lib/mcp/index.js +1 -0
  180. package/dist/lib/mcp/index.js.map +1 -1
  181. package/dist/lib/mcp/tools/index.d.ts +0 -11
  182. package/dist/lib/mcp/tools/index.js +0 -11
  183. package/dist/lib/mcp/tools/index.js.map +1 -1
  184. package/dist/lib/mcp/tools/overrides/index.d.ts +23 -0
  185. package/dist/lib/mcp/tools/overrides/index.js +30 -0
  186. package/dist/lib/mcp/tools/overrides/index.js.map +1 -0
  187. package/dist/lib/mcp/tools/overrides/tmux.d.ts +11 -0
  188. package/dist/lib/mcp/tools/overrides/tmux.js +184 -0
  189. package/dist/lib/mcp/tools/overrides/tmux.js.map +1 -0
  190. package/dist/lib/mcp/tools/overrides/work-start.d.ts +12 -0
  191. package/dist/lib/mcp/tools/overrides/work-start.js +108 -0
  192. package/dist/lib/mcp/tools/overrides/work-start.js.map +1 -0
  193. package/dist/lib/mcp/tools/ticket.js +10 -48
  194. package/dist/lib/mcp/tools/ticket.js.map +1 -1
  195. package/dist/lib/monday/config.js +11 -5
  196. package/dist/lib/monday/config.js.map +1 -1
  197. package/dist/lib/pmo/base-command.d.ts +20 -152
  198. package/dist/lib/pmo/base-command.js +32 -198
  199. package/dist/lib/pmo/base-command.js.map +1 -1
  200. package/dist/lib/pmo/index.d.ts +1 -0
  201. package/dist/lib/pmo/index.js +3 -0
  202. package/dist/lib/pmo/index.js.map +1 -1
  203. package/dist/lib/pmo/storage/base.d.ts +0 -18
  204. package/dist/lib/pmo/storage/base.js +0 -231
  205. package/dist/lib/pmo/storage/base.js.map +1 -1
  206. package/dist/lib/pmo/storage/index.d.ts +1 -76
  207. package/dist/lib/pmo/storage/index.js +1 -215
  208. package/dist/lib/pmo/storage/index.js.map +1 -1
  209. package/dist/lib/pmo/storage/tickets.d.ts +2 -2
  210. package/dist/lib/pmo/storage/tickets.js +4 -34
  211. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  212. package/dist/lib/pmo/types.d.ts +0 -37
  213. package/dist/lib/providers/clickup-provider.d.ts +28 -0
  214. package/dist/lib/providers/clickup-provider.js +353 -0
  215. package/dist/lib/providers/clickup-provider.js.map +1 -0
  216. package/dist/lib/providers/resolver.d.ts +1 -1
  217. package/dist/lib/providers/resolver.js +16 -5
  218. package/dist/lib/providers/resolver.js.map +1 -1
  219. package/dist/lib/providers/types.d.ts +1 -1
  220. package/dist/lib/runners/claude-code-runner.js +13 -4
  221. package/dist/lib/runners/claude-code-runner.js.map +1 -1
  222. package/dist/lib/runtime-command.d.ts +219 -0
  223. package/dist/lib/runtime-command.js +320 -0
  224. package/dist/lib/runtime-command.js.map +1 -0
  225. package/dist/lib/shortcut/config.js +13 -7
  226. package/dist/lib/shortcut/config.js.map +1 -1
  227. package/dist/lib/trello/config.js +17 -12
  228. package/dist/lib/trello/config.js.map +1 -1
  229. package/dist/lib/work-lifecycle/events.d.ts +1 -1
  230. package/dist/lib/work-source/config.d.ts +1 -1
  231. package/dist/lib/work-source/config.js +11 -1
  232. package/dist/lib/work-source/config.js.map +1 -1
  233. package/dist/lib/work-source/provider-sources.js +6 -1
  234. package/dist/lib/work-source/provider-sources.js.map +1 -1
  235. package/oclif.manifest.json +3015 -4827
  236. package/package.json +1 -1
  237. package/dist/commands/board/index.d.ts +0 -21
  238. package/dist/commands/board/index.js +0 -263
  239. package/dist/commands/board/index.js.map +0 -1
  240. package/dist/commands/board/view.d.ts +0 -15
  241. package/dist/commands/board/view.js +0 -137
  242. package/dist/commands/board/view.js.map +0 -1
  243. package/dist/commands/board/watch.d.ts +0 -15
  244. package/dist/commands/board/watch.js +0 -59
  245. package/dist/commands/board/watch.js.map +0 -1
  246. package/dist/commands/dashboard/index.d.ts +0 -14
  247. package/dist/commands/dashboard/index.js +0 -117
  248. package/dist/commands/dashboard/index.js.map +0 -1
  249. package/dist/commands/dashboard.d.ts +0 -38
  250. package/dist/commands/dashboard.js +0 -353
  251. package/dist/commands/dashboard.js.map +0 -1
  252. package/dist/commands/pmo/init.d.ts +0 -28
  253. package/dist/commands/pmo/init.js +0 -410
  254. package/dist/commands/pmo/init.js.map +0 -1
  255. package/dist/commands/project/archive.d.ts +0 -18
  256. package/dist/commands/project/archive.js +0 -79
  257. package/dist/commands/project/archive.js.map +0 -1
  258. package/dist/commands/project/create.d.ts +0 -24
  259. package/dist/commands/project/create.js +0 -191
  260. package/dist/commands/project/create.js.map +0 -1
  261. package/dist/commands/project/delete.d.ts +0 -18
  262. package/dist/commands/project/delete.js +0 -115
  263. package/dist/commands/project/delete.js.map +0 -1
  264. package/dist/commands/project/index.d.ts +0 -14
  265. package/dist/commands/project/index.js +0 -60
  266. package/dist/commands/project/index.js.map +0 -1
  267. package/dist/commands/project/list.d.ts +0 -16
  268. package/dist/commands/project/list.js +0 -115
  269. package/dist/commands/project/list.js.map +0 -1
  270. package/dist/commands/project/spec.d.ts +0 -19
  271. package/dist/commands/project/spec.js +0 -218
  272. package/dist/commands/project/spec.js.map +0 -1
  273. package/dist/commands/project/unarchive.d.ts +0 -17
  274. package/dist/commands/project/unarchive.js +0 -55
  275. package/dist/commands/project/unarchive.js.map +0 -1
  276. package/dist/commands/project/update.d.ts +0 -19
  277. package/dist/commands/project/update.js +0 -161
  278. package/dist/commands/project/update.js.map +0 -1
  279. package/dist/commands/project/view.d.ts +0 -17
  280. package/dist/commands/project/view.js +0 -107
  281. package/dist/commands/project/view.js.map +0 -1
  282. package/dist/commands/ticket/bulk.d.ts +0 -14
  283. package/dist/commands/ticket/bulk.js +0 -141
  284. package/dist/commands/ticket/bulk.js.map +0 -1
  285. package/dist/commands/ticket/cancel.d.ts +0 -17
  286. package/dist/commands/ticket/cancel.js +0 -206
  287. package/dist/commands/ticket/cancel.js.map +0 -1
  288. package/dist/commands/ticket/category.d.ts +0 -15
  289. package/dist/commands/ticket/category.js +0 -64
  290. package/dist/commands/ticket/category.js.map +0 -1
  291. package/dist/commands/ticket/complete.d.ts +0 -17
  292. package/dist/commands/ticket/complete.js +0 -193
  293. package/dist/commands/ticket/complete.js.map +0 -1
  294. package/dist/commands/ticket/epic.d.ts +0 -21
  295. package/dist/commands/ticket/epic.js +0 -306
  296. package/dist/commands/ticket/epic.js.map +0 -1
  297. package/dist/commands/ticket/link/block.d.ts +0 -15
  298. package/dist/commands/ticket/link/block.js +0 -96
  299. package/dist/commands/ticket/link/block.js.map +0 -1
  300. package/dist/commands/ticket/link/duplicates.d.ts +0 -15
  301. package/dist/commands/ticket/link/duplicates.js +0 -96
  302. package/dist/commands/ticket/link/duplicates.js.map +0 -1
  303. package/dist/commands/ticket/link/index.d.ts +0 -14
  304. package/dist/commands/ticket/link/index.js +0 -99
  305. package/dist/commands/ticket/link/index.js.map +0 -1
  306. package/dist/commands/ticket/link/relates.d.ts +0 -15
  307. package/dist/commands/ticket/link/relates.js +0 -96
  308. package/dist/commands/ticket/link/relates.js.map +0 -1
  309. package/dist/commands/ticket/project.d.ts +0 -19
  310. package/dist/commands/ticket/project.js +0 -257
  311. package/dist/commands/ticket/project.js.map +0 -1
  312. package/dist/commands/ticket/reassign.d.ts +0 -20
  313. package/dist/commands/ticket/reassign.js +0 -340
  314. package/dist/commands/ticket/reassign.js.map +0 -1
  315. package/dist/commands/ticket/resolve.d.ts +0 -68
  316. package/dist/commands/ticket/resolve.js +0 -306
  317. package/dist/commands/ticket/resolve.js.map +0 -1
  318. package/dist/commands/ticket/spec.d.ts +0 -19
  319. package/dist/commands/ticket/spec.js +0 -260
  320. package/dist/commands/ticket/spec.js.map +0 -1
  321. package/dist/commands/ticket/status.d.ts +0 -14
  322. package/dist/commands/ticket/status.js +0 -84
  323. package/dist/commands/ticket/status.js.map +0 -1
  324. package/dist/commands/ticket/view.d.ts +0 -14
  325. package/dist/commands/ticket/view.js +0 -113
  326. package/dist/commands/ticket/view.js.map +0 -1
  327. package/dist/lib/mcp/tools/board.d.ts +0 -6
  328. package/dist/lib/mcp/tools/board.js +0 -190
  329. package/dist/lib/mcp/tools/board.js.map +0 -1
  330. package/dist/lib/mcp/tools/category.d.ts +0 -6
  331. package/dist/lib/mcp/tools/category.js +0 -85
  332. package/dist/lib/mcp/tools/category.js.map +0 -1
  333. package/dist/lib/mcp/tools/epic.d.ts +0 -6
  334. package/dist/lib/mcp/tools/epic.js +0 -184
  335. package/dist/lib/mcp/tools/epic.js.map +0 -1
  336. package/dist/lib/mcp/tools/label.d.ts +0 -6
  337. package/dist/lib/mcp/tools/label.js +0 -339
  338. package/dist/lib/mcp/tools/label.js.map +0 -1
  339. package/dist/lib/mcp/tools/phase.d.ts +0 -6
  340. package/dist/lib/mcp/tools/phase.js +0 -132
  341. package/dist/lib/mcp/tools/phase.js.map +0 -1
  342. package/dist/lib/mcp/tools/project.d.ts +0 -6
  343. package/dist/lib/mcp/tools/project.js +0 -197
  344. package/dist/lib/mcp/tools/project.js.map +0 -1
  345. package/dist/lib/mcp/tools/roadmap.d.ts +0 -6
  346. package/dist/lib/mcp/tools/roadmap.js +0 -124
  347. package/dist/lib/mcp/tools/roadmap.js.map +0 -1
  348. package/dist/lib/mcp/tools/status.d.ts +0 -6
  349. package/dist/lib/mcp/tools/status.js +0 -110
  350. package/dist/lib/mcp/tools/status.js.map +0 -1
  351. package/dist/lib/mcp/tools/template.d.ts +0 -6
  352. package/dist/lib/mcp/tools/template.js +0 -108
  353. package/dist/lib/mcp/tools/template.js.map +0 -1
  354. package/dist/lib/mcp/tools/view.d.ts +0 -6
  355. package/dist/lib/mcp/tools/view.js +0 -77
  356. package/dist/lib/mcp/tools/view.js.map +0 -1
  357. package/dist/lib/mcp/tools/workflow.d.ts +0 -6
  358. package/dist/lib/mcp/tools/workflow.js +0 -96
  359. package/dist/lib/mcp/tools/workflow.js.map +0 -1
  360. package/dist/lib/pmo/storage/categories.d.ts +0 -50
  361. package/dist/lib/pmo/storage/categories.js +0 -206
  362. package/dist/lib/pmo/storage/categories.js.map +0 -1
  363. package/dist/lib/pmo/storage/labels.d.ts +0 -55
  364. package/dist/lib/pmo/storage/labels.js +0 -347
  365. package/dist/lib/pmo/storage/labels.js.map +0 -1
  366. package/dist/lib/pmo/storage/phases.d.ts +0 -65
  367. package/dist/lib/pmo/storage/phases.js +0 -393
  368. package/dist/lib/pmo/storage/phases.js.map +0 -1
  369. package/dist/lib/pmo/storage/roadmaps.d.ts +0 -64
  370. package/dist/lib/pmo/storage/roadmaps.js +0 -373
  371. package/dist/lib/pmo/storage/roadmaps.js.map +0 -1
  372. package/dist/lib/pmo/storage/views.d.ts +0 -57
  373. package/dist/lib/pmo/storage/views.js +0 -456
  374. package/dist/lib/pmo/storage/views.js.map +0 -1
@@ -1,117 +0,0 @@
1
- import { Flags } from '@oclif/core';
2
- import { execSync } from 'node:child_process';
3
- import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
4
- import { shouldOutputJson, outputSuccessAsJson, createMetadata } from '../../lib/prompt-json.js';
5
- import { createDashboardServer } from '../../lib/dashboard/server.js';
6
- import { styles } from '../../lib/styles.js';
7
- export default class Dashboard extends PMOCommand {
8
- static description = 'Open a web dashboard for viewing agents, tickets, sessions, and PRs';
9
- static examples = [
10
- '<%= config.bin %> <%= command.id %>',
11
- '<%= config.bin %> <%= command.id %> --port 8080',
12
- '<%= config.bin %> <%= command.id %> --no-open',
13
- '<%= config.bin %> <%= command.id %> --json',
14
- ];
15
- static flags = {
16
- ...pmoBaseFlags,
17
- port: Flags.integer({
18
- description: 'Port to run the dashboard server on',
19
- default: 3147,
20
- }),
21
- open: Flags.boolean({
22
- description: 'Open dashboard in browser',
23
- default: true,
24
- allowNo: true,
25
- }),
26
- };
27
- async execute() {
28
- const { flags } = await this.parse(Dashboard);
29
- const projectId = await this.requireProject();
30
- const jsonMode = shouldOutputJson(flags);
31
- // Resolve project name
32
- let projectName = projectId;
33
- try {
34
- const project = await this.storage.getProject(projectId);
35
- if (project)
36
- projectName = project.name;
37
- }
38
- catch {
39
- // Use projectId as fallback
40
- }
41
- const port = flags.port;
42
- const url = `http://localhost:${port}`;
43
- // JSON mode: output server info and exit
44
- if (jsonMode) {
45
- outputSuccessAsJson({
46
- url,
47
- port,
48
- projectId,
49
- projectName,
50
- apiEndpoints: {
51
- data: `${url}/api/data`,
52
- events: `${url}/api/events`,
53
- },
54
- }, createMetadata('dashboard', flags));
55
- return;
56
- }
57
- // Start dashboard server
58
- let dashboard;
59
- try {
60
- dashboard = await createDashboardServer({
61
- port,
62
- storage: this.storage,
63
- projectId,
64
- projectName,
65
- });
66
- }
67
- catch (err) {
68
- this.error(err instanceof Error ? err.message : 'Failed to start dashboard server');
69
- }
70
- this.log('');
71
- this.log(styles.header(' prlt dashboard'));
72
- this.log('');
73
- this.log(` ${styles.success('Server running at')} ${styles.code(dashboard.url)}`);
74
- this.log(` ${styles.muted('Project:')} ${projectName}`);
75
- this.log('');
76
- this.log(styles.muted(' Press Ctrl+C to stop'));
77
- this.log('');
78
- // Open browser
79
- if (flags.open) {
80
- try {
81
- this.openUrl(dashboard.url);
82
- }
83
- catch {
84
- this.log(styles.muted(` Could not open browser. Visit ${dashboard.url} manually.`));
85
- }
86
- }
87
- // Wait for shutdown signal
88
- await new Promise((resolve) => {
89
- const shutdown = async () => {
90
- this.log('');
91
- this.log(styles.muted(' Shutting down dashboard...'));
92
- await dashboard.close();
93
- resolve();
94
- };
95
- process.on('SIGINT', shutdown);
96
- process.on('SIGTERM', shutdown);
97
- });
98
- }
99
- openUrl(url) {
100
- const platform = process.platform;
101
- try {
102
- if (platform === 'darwin') {
103
- execSync(`open "${url}"`);
104
- }
105
- else if (platform === 'linux') {
106
- execSync(`xdg-open "${url}"`);
107
- }
108
- else if (platform === 'win32') {
109
- execSync(`start "" "${url}"`);
110
- }
111
- }
112
- catch {
113
- // Browser open failed, non-fatal
114
- }
115
- }
116
- }
117
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/dashboard/index.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- /**
2
- * prlt dashboard — unified TUI dashboard
3
- *
4
- * Combines kanban board, agent list, and session status
5
- * into a single auto-refreshing terminal view.
6
- */
7
- import { PMOCommand } from '../lib/pmo/index.js';
8
- export default class Dashboard extends PMOCommand {
9
- static description: string;
10
- static examples: string[];
11
- static flags: {
12
- refresh: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
13
- compact: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
- };
18
- execute(): Promise<void>;
19
- /**
20
- * Gather all dashboard data from board, agents, and sessions.
21
- */
22
- private gatherData;
23
- /**
24
- * Auto-refresh loop: clear screen and redraw on interval.
25
- */
26
- private runWithRefresh;
27
- /**
28
- * Output all dashboard data as JSON for AI agents.
29
- */
30
- private outputJson;
31
- private renderDashboard;
32
- private renderBoardSection;
33
- private renderTicketCompact;
34
- private renderTicketFull;
35
- private progressBar;
36
- private renderAgentsSection;
37
- private renderSessionsSection;
38
- }
@@ -1,353 +0,0 @@
1
- /**
2
- * prlt dashboard — unified TUI dashboard
3
- *
4
- * Combines kanban board, agent list, and session status
5
- * into a single auto-refreshing terminal view.
6
- */
7
- import { Flags } from '@oclif/core';
8
- import { PMOCommand, pmoBaseFlags, } from '../lib/pmo/index.js';
9
- import { styles, formatPriority, formatCategory, getColumnStyle, getColumnEmoji, } from '../lib/styles.js';
10
- import { shouldOutputJson, outputSuccessAsJson, createMetadata, } from '../lib/prompt-json.js';
11
- import { SessionStore } from '../lib/session-store.js';
12
- import { getWorkspaceInfo, getAllAgentsStatus, getAgentTmuxSessions, } from '../lib/agents/commands.js';
13
- function formatDuration(ms) {
14
- const seconds = Math.floor(ms / 1000);
15
- if (seconds < 60)
16
- return `${seconds}s`;
17
- const minutes = Math.floor(seconds / 60);
18
- if (minutes < 60)
19
- return `${minutes}m ${seconds % 60}s`;
20
- const hours = Math.floor(minutes / 60);
21
- return `${hours}h ${minutes % 60}m`;
22
- }
23
- function padEnd(str, len) {
24
- return str.length >= len ? str.substring(0, len) : str + ' '.repeat(len - str.length);
25
- }
26
- function truncate(str, maxLen) {
27
- if (str.length <= maxLen)
28
- return str;
29
- return str.substring(0, maxLen - 3) + '...';
30
- }
31
- export default class Dashboard extends PMOCommand {
32
- static description = 'Unified TUI dashboard with board, agents, and sessions';
33
- static examples = [
34
- '<%= config.bin %> dashboard',
35
- '<%= config.bin %> dashboard --refresh 10',
36
- '<%= config.bin %> dashboard --compact',
37
- '<%= config.bin %> dashboard --json',
38
- ];
39
- static flags = {
40
- ...pmoBaseFlags,
41
- refresh: Flags.integer({
42
- char: 'r',
43
- description: 'Auto-refresh interval in seconds (0 to disable)',
44
- default: 0,
45
- }),
46
- compact: Flags.boolean({
47
- char: 'c',
48
- description: 'Compact ticket view (ID and title only)',
49
- default: false,
50
- }),
51
- };
52
- async execute() {
53
- const { flags } = await this.parse(Dashboard);
54
- const jsonMode = shouldOutputJson(flags);
55
- const projectId = await this.requireProject();
56
- if (flags.refresh > 0 && !jsonMode) {
57
- await this.runWithRefresh(projectId, flags.refresh, flags.compact);
58
- }
59
- else {
60
- const data = await this.gatherData(projectId);
61
- if (jsonMode) {
62
- this.outputJson(data, flags);
63
- return;
64
- }
65
- this.renderDashboard(data, flags.compact);
66
- }
67
- }
68
- /**
69
- * Gather all dashboard data from board, agents, and sessions.
70
- */
71
- async gatherData(projectId) {
72
- const board = await this.storage.getBoard(projectId);
73
- // Get agent status from workspace
74
- let agents = [];
75
- try {
76
- const workspaceInfo = getWorkspaceInfo();
77
- const activeAgents = workspaceInfo.agents.filter(a => a.status === 'active');
78
- if (activeAgents.length > 0) {
79
- agents = getAllAgentsStatus(workspaceInfo);
80
- }
81
- }
82
- catch {
83
- // Workspace info might not be available — ignore
84
- }
85
- // Get sessions from global session store
86
- let sessions = [];
87
- let sessionStore = null;
88
- try {
89
- sessionStore = new SessionStore();
90
- sessionStore.reconcile();
91
- sessions = sessionStore.list('running');
92
- }
93
- catch {
94
- // Session store might not exist yet — ignore
95
- }
96
- finally {
97
- sessionStore?.close();
98
- }
99
- return {
100
- board: board ? { name: board.name, columns: board.columns } : null,
101
- agents,
102
- sessions,
103
- timestamp: new Date(),
104
- };
105
- }
106
- /**
107
- * Auto-refresh loop: clear screen and redraw on interval.
108
- */
109
- async runWithRefresh(projectId, intervalSec, compact) {
110
- const render = async () => {
111
- const data = await this.gatherData(projectId);
112
- // Clear screen
113
- process.stdout.write('\x1B[2J\x1B[H');
114
- this.renderDashboard(data, compact);
115
- this.log(styles.muted(`\nAuto-refreshing every ${intervalSec}s. Press Ctrl+C to exit.`));
116
- };
117
- // Initial render
118
- await render();
119
- // Set up interval
120
- const timer = setInterval(render, intervalSec * 1000);
121
- // Wait for SIGINT
122
- await new Promise((resolve) => {
123
- const cleanup = () => {
124
- clearInterval(timer);
125
- resolve();
126
- };
127
- process.on('SIGINT', cleanup);
128
- process.on('SIGTERM', cleanup);
129
- });
130
- }
131
- /**
132
- * Output all dashboard data as JSON for AI agents.
133
- */
134
- outputJson(data, flags) {
135
- outputSuccessAsJson({
136
- board: data.board
137
- ? {
138
- name: data.board.name,
139
- columns: data.board.columns.map(col => ({
140
- name: col.name,
141
- ticketCount: col.tickets.length,
142
- tickets: col.tickets.map(t => ({
143
- id: t.id,
144
- title: t.title,
145
- priority: t.priority,
146
- category: t.category,
147
- assignee: t.assignee,
148
- subtasksDone: t.subtasks.filter((s) => s.done).length,
149
- subtasksTotal: t.subtasks.length,
150
- })),
151
- })),
152
- totalTickets: data.board.columns.reduce((sum, col) => sum + col.tickets.length, 0),
153
- }
154
- : null,
155
- agents: data.agents.map(a => ({
156
- name: a.name,
157
- exists: a.exists,
158
- branch: a.branch,
159
- assignedTickets: a.assignedTickets,
160
- completedTickets: a.completedTickets,
161
- running: getAgentTmuxSessions(a.name).length > 0,
162
- })),
163
- sessions: data.sessions.map(s => ({
164
- id: s.id,
165
- agentName: s.agentName,
166
- runner: s.runner,
167
- task: s.task,
168
- environment: s.environment,
169
- status: s.status,
170
- duration: Date.now() - s.startedAt.getTime(),
171
- startedAt: s.startedAt.toISOString(),
172
- })),
173
- timestamp: data.timestamp.toISOString(),
174
- }, createMetadata('dashboard', flags));
175
- return;
176
- }
177
- // ===========================================================================
178
- // Rendering
179
- // ===========================================================================
180
- renderDashboard(data, compact) {
181
- const termWidth = process.stdout.columns || 80;
182
- // Header
183
- this.log(styles.title('\n PROLETARIAT DASHBOARD'));
184
- this.log(styles.muted(` ${data.timestamp.toLocaleTimeString()} — ` +
185
- `${data.agents.length} agent(s), ` +
186
- `${data.sessions.length} session(s)`));
187
- this.log(styles.muted(' ' + '═'.repeat(Math.min(termWidth - 4, 76))));
188
- // Section 1: Kanban Board
189
- this.renderBoardSection(data, compact);
190
- // Section 2: Agents
191
- this.renderAgentsSection(data);
192
- // Section 3: Sessions
193
- this.renderSessionsSection(data);
194
- // Footer
195
- this.log(styles.muted(' ' + '═'.repeat(Math.min(termWidth - 4, 76))));
196
- this.log(styles.muted(' Commands: ') +
197
- styles.primary('prlt dashboard -r 5') +
198
- styles.muted(' (auto-refresh) ') +
199
- styles.primary('prlt ps') +
200
- styles.muted(' (sessions) ') +
201
- styles.primary('prlt agent list') +
202
- styles.muted(' (agents)'));
203
- this.log('');
204
- }
205
- // -- Board ------------------------------------------------------------------
206
- renderBoardSection(data, compact) {
207
- this.log('');
208
- this.log(styles.header(' BOARD'));
209
- if (!data.board) {
210
- this.log(styles.muted(' No board found.'));
211
- return;
212
- }
213
- // Summary bar: show counts per column inline
214
- const summaryParts = data.board.columns
215
- .map(col => {
216
- const colStyle = getColumnStyle(col.name);
217
- return colStyle(`${col.name}: ${col.tickets.length}`);
218
- });
219
- this.log(' ' + summaryParts.join(styles.muted(' | ')));
220
- this.log(styles.muted(' ' + '─'.repeat(60)));
221
- // Show tickets grouped by column (skip empty columns in compact mode)
222
- for (const column of data.board.columns) {
223
- if (compact && column.tickets.length === 0)
224
- continue;
225
- const headerColor = getColumnStyle(column.name);
226
- const emoji = getColumnEmoji(column.name);
227
- this.log(headerColor(` ${emoji} ${column.name} (${column.tickets.length})`));
228
- if (column.tickets.length === 0) {
229
- this.log(styles.muted(' (empty)'));
230
- continue;
231
- }
232
- const sortedTickets = [...column.tickets].sort((a, b) => (a.position || 0) - (b.position || 0));
233
- for (const ticket of sortedTickets) {
234
- if (compact) {
235
- this.renderTicketCompact(ticket);
236
- }
237
- else {
238
- this.renderTicketFull(ticket);
239
- }
240
- }
241
- }
242
- }
243
- renderTicketCompact(ticket) {
244
- const priority = formatPriority(ticket.priority);
245
- const assignee = ticket.assignee ? styles.muted(` @${ticket.assignee}`) : '';
246
- this.log(` ${styles.code(ticket.id)}: ${ticket.title} ${priority}${assignee}`);
247
- }
248
- renderTicketFull(ticket) {
249
- const priority = formatPriority(ticket.priority);
250
- const category = formatCategory(ticket.category);
251
- const assignee = ticket.assignee ? styles.muted(` @${ticket.assignee}`) : '';
252
- this.log(` ${styles.code(ticket.id)} ${ticket.title} ${priority} ${category}${assignee}`);
253
- if (ticket.description) {
254
- const shortDesc = ticket.description.split('\n')[0].substring(0, 50);
255
- this.log(styles.muted(` ${shortDesc}${ticket.description.length > 50 ? '...' : ''}`));
256
- }
257
- if (ticket.subtasks.length > 0) {
258
- const done = ticket.subtasks.filter(s => s.done).length;
259
- const total = ticket.subtasks.length;
260
- const pct = Math.round((done / total) * 100);
261
- const bar = this.progressBar(done, total, 10);
262
- this.log(styles.muted(` ${bar} ${done}/${total} (${pct}%)`));
263
- }
264
- }
265
- progressBar(done, total, width) {
266
- const filled = Math.round((done / total) * width);
267
- const empty = width - filled;
268
- return styles.success('█'.repeat(filled)) + styles.muted('░'.repeat(empty));
269
- }
270
- // -- Agents -----------------------------------------------------------------
271
- renderAgentsSection(data) {
272
- this.log('');
273
- this.log(styles.header(' AGENTS'));
274
- if (data.agents.length === 0) {
275
- this.log(styles.muted(' No agents found.'));
276
- return;
277
- }
278
- // Header row
279
- this.log(styles.muted(' ' +
280
- padEnd('Name', 18) +
281
- padEnd('Status', 12) +
282
- padEnd('Tickets', 24) +
283
- 'Branch'));
284
- this.log(styles.muted(' ' + '─'.repeat(70)));
285
- for (const agent of data.agents) {
286
- const sessions = getAgentTmuxSessions(agent.name);
287
- const isRunning = sessions.length > 0;
288
- // Determine status
289
- let statusLabel;
290
- let statusStyled;
291
- if (!agent.exists) {
292
- statusLabel = 'missing';
293
- statusStyled = styles.error(statusLabel);
294
- }
295
- else if (isRunning) {
296
- statusLabel = 'running';
297
- statusStyled = styles.success(statusLabel);
298
- }
299
- else {
300
- statusLabel = 'idle';
301
- statusStyled = styles.muted(statusLabel);
302
- }
303
- const ticketsLabel = agent.assignedTickets.length > 0
304
- ? truncate(agent.assignedTickets.join(', '), 22)
305
- : 'none';
306
- const ticketsStyled = agent.assignedTickets.length > 0
307
- ? styles.info(ticketsLabel)
308
- : styles.muted(ticketsLabel);
309
- const branchLabel = agent.branch ? truncate(agent.branch, 30) : '-';
310
- const branchStyled = agent.branch ? styles.code(branchLabel) : styles.muted(branchLabel);
311
- this.log(' ' +
312
- padEnd(agent.name, 18) +
313
- padEnd(statusLabel, 12).replace(statusLabel, statusStyled) +
314
- padEnd(ticketsLabel, 24).replace(ticketsLabel, ticketsStyled) +
315
- branchStyled);
316
- }
317
- // Agent summary
318
- const activeCount = data.agents.filter(a => a.exists).length;
319
- const runningCount = data.agents.filter(a => getAgentTmuxSessions(a.name).length > 0).length;
320
- this.log(styles.muted(` Total: ${data.agents.length} | Active: ${activeCount} | Running: ${runningCount}`));
321
- }
322
- // -- Sessions ---------------------------------------------------------------
323
- renderSessionsSection(data) {
324
- this.log('');
325
- this.log(styles.header(' SESSIONS'));
326
- if (data.sessions.length === 0) {
327
- this.log(styles.muted(' No running sessions.'));
328
- return;
329
- }
330
- // Header row
331
- this.log(styles.muted(' ' +
332
- padEnd('Agent', 16) +
333
- padEnd('Runner', 12) +
334
- padEnd('Task', 28) +
335
- padEnd('Env', 8) +
336
- padEnd('Duration', 10) +
337
- 'Status'));
338
- this.log(styles.muted(' ' + '─'.repeat(78)));
339
- for (const session of data.sessions) {
340
- const duration = formatDuration(Date.now() - session.startedAt.getTime());
341
- const taskDisplay = truncate(session.task, 26);
342
- const statusColor = session.status === 'running' ? styles.success : styles.muted;
343
- this.log(' ' +
344
- padEnd(session.agentName, 16) +
345
- padEnd(session.runner, 12) +
346
- padEnd(taskDisplay, 28) +
347
- padEnd(session.environment, 8) +
348
- padEnd(duration, 10) +
349
- statusColor(session.status));
350
- }
351
- }
352
- }
353
- //# sourceMappingURL=dashboard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/commands/dashboard.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { PromptCommand } from '../../lib/prompt-command.js';
2
- export default class PMOInit extends PromptCommand {
3
- static description: string;
4
- static examples: string[];
5
- static flags: {
6
- action: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
- confirmation: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
- machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
- location: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
- template: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- };
14
- run(): Promise<void>;
15
- /**
16
- * Create standalone mini-HQ structure for PMO outside of an HQ
17
- */
18
- private createStandaloneHQ;
19
- private findHQRoot;
20
- private promptReinitialize;
21
- private deletePMO;
22
- private initGitForPMO;
23
- private logNextSteps;
24
- /**
25
- * Check GitHub CLI setup and provide guidance for PR workflow
26
- */
27
- private checkGitHubCLI;
28
- }