@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,373 +0,0 @@
1
- /**
2
- * Roadmap operations for PMO.
3
- * Roadmaps are curated collections of projects for documentation/visualization.
4
- *
5
- * This module uses Drizzle ORM for type-safe database queries.
6
- */
7
- import { eq, and, like, or, desc, asc, sql, gte, gt, lt, lte } from 'drizzle-orm';
8
- import { pmoRoadmaps, pmoRoadmapProjects, pmoProjects, } from '../../database/drizzle-schema.js';
9
- import { PMOError } from '../types.js';
10
- export class RoadmapStorage {
11
- ctx;
12
- constructor(ctx) {
13
- this.ctx = ctx;
14
- }
15
- // ===== Roadmap CRUD =====
16
- /**
17
- * Create a new roadmap.
18
- */
19
- async createRoadmap(roadmap) {
20
- const id = roadmap.id || `roadmap-${Date.now()}`;
21
- const now = new Date().toISOString();
22
- // If setting as default, unset other defaults first
23
- if (roadmap.isDefault) {
24
- this.ctx.drizzle
25
- .update(pmoRoadmaps)
26
- .set({ isDefault: false })
27
- .run();
28
- }
29
- this.ctx.drizzle.insert(pmoRoadmaps).values({
30
- id,
31
- name: roadmap.name,
32
- description: roadmap.description || null,
33
- isDefault: roadmap.isDefault || false,
34
- createdAt: now,
35
- updatedAt: now,
36
- }).run();
37
- return {
38
- id,
39
- name: roadmap.name,
40
- description: roadmap.description,
41
- isDefault: roadmap.isDefault || false,
42
- createdAt: new Date(now),
43
- updatedAt: new Date(now),
44
- };
45
- }
46
- /**
47
- * Get a roadmap by ID.
48
- */
49
- async getRoadmap(id) {
50
- const row = this.ctx.drizzle
51
- .select()
52
- .from(pmoRoadmaps)
53
- .where(eq(pmoRoadmaps.id, id))
54
- .get();
55
- if (!row)
56
- return null;
57
- return this.rowToRoadmap(row);
58
- }
59
- /**
60
- * List roadmaps with optional filters.
61
- */
62
- async listRoadmaps(filter) {
63
- let query = this.ctx.drizzle
64
- .select()
65
- .from(pmoRoadmaps)
66
- .$dynamic();
67
- const conditions = [];
68
- if (filter?.search) {
69
- conditions.push(or(like(pmoRoadmaps.name, `%${filter.search}%`), like(pmoRoadmaps.description, `%${filter.search}%`)));
70
- }
71
- if (filter?.isDefault !== undefined) {
72
- conditions.push(eq(pmoRoadmaps.isDefault, filter.isDefault));
73
- }
74
- if (conditions.length > 0) {
75
- query = query.where(and(...conditions));
76
- }
77
- const rows = query
78
- .orderBy(desc(pmoRoadmaps.isDefault), asc(pmoRoadmaps.name))
79
- .all();
80
- return rows.map(row => this.rowToRoadmap(row));
81
- }
82
- /**
83
- * Update a roadmap.
84
- */
85
- async updateRoadmap(id, changes) {
86
- const roadmap = await this.getRoadmap(id);
87
- if (!roadmap) {
88
- throw new PMOError('NOT_FOUND', `Roadmap not found: ${id}`);
89
- }
90
- const updates = {};
91
- if (changes.name !== undefined) {
92
- updates.name = changes.name;
93
- }
94
- if (changes.description !== undefined) {
95
- updates.description = changes.description || null;
96
- }
97
- if (changes.isDefault !== undefined) {
98
- // If setting as default, unset other defaults first
99
- if (changes.isDefault) {
100
- this.ctx.drizzle
101
- .update(pmoRoadmaps)
102
- .set({ isDefault: false })
103
- .run();
104
- }
105
- updates.isDefault = changes.isDefault;
106
- }
107
- if (Object.keys(updates).length > 0) {
108
- updates.updatedAt = new Date().toISOString();
109
- this.ctx.drizzle
110
- .update(pmoRoadmaps)
111
- .set(updates)
112
- .where(eq(pmoRoadmaps.id, id))
113
- .run();
114
- }
115
- return (await this.getRoadmap(id));
116
- }
117
- /**
118
- * Delete a roadmap.
119
- */
120
- async deleteRoadmap(id) {
121
- const roadmap = await this.getRoadmap(id);
122
- if (!roadmap) {
123
- throw new PMOError('NOT_FOUND', `Roadmap not found: ${id}`);
124
- }
125
- // Delete roadmap (cascades to roadmap_projects)
126
- this.ctx.drizzle
127
- .delete(pmoRoadmaps)
128
- .where(eq(pmoRoadmaps.id, id))
129
- .run();
130
- }
131
- /**
132
- * Get the default roadmap.
133
- */
134
- async getDefaultRoadmap() {
135
- const row = this.ctx.drizzle
136
- .select()
137
- .from(pmoRoadmaps)
138
- .where(eq(pmoRoadmaps.isDefault, true))
139
- .limit(1)
140
- .get();
141
- if (!row)
142
- return null;
143
- return this.rowToRoadmap(row);
144
- }
145
- /**
146
- * Set a roadmap as the default.
147
- */
148
- async setDefaultRoadmap(id) {
149
- return this.updateRoadmap(id, { isDefault: true });
150
- }
151
- // ===== Roadmap Projects =====
152
- /**
153
- * List projects in a roadmap, ordered by position.
154
- */
155
- async listRoadmapProjects(roadmapId) {
156
- const rows = this.ctx.drizzle
157
- .select({
158
- id: pmoProjects.id,
159
- name: pmoProjects.name,
160
- template: pmoProjects.template,
161
- description: pmoProjects.description,
162
- status: pmoProjects.status,
163
- phaseId: pmoProjects.phaseId,
164
- workflowId: pmoProjects.workflowId,
165
- isArchived: pmoProjects.isArchived,
166
- targetDate: pmoProjects.targetDate,
167
- initiativeId: pmoProjects.initiativeId,
168
- createdAt: pmoProjects.createdAt,
169
- updatedAt: pmoProjects.updatedAt,
170
- })
171
- .from(pmoProjects)
172
- .innerJoin(pmoRoadmapProjects, eq(pmoProjects.id, pmoRoadmapProjects.projectId))
173
- .where(eq(pmoRoadmapProjects.roadmapId, roadmapId))
174
- .orderBy(asc(pmoRoadmapProjects.position))
175
- .all();
176
- return rows.map(row => this.rowToProject(row));
177
- }
178
- /**
179
- * Add a project to a roadmap.
180
- */
181
- async addProjectToRoadmap(roadmapId, projectId, position) {
182
- // Verify roadmap exists
183
- const roadmap = await this.getRoadmap(roadmapId);
184
- if (!roadmap) {
185
- throw new PMOError('NOT_FOUND', `Roadmap not found: ${roadmapId}`);
186
- }
187
- // Check if project is already in roadmap
188
- const existing = this.ctx.drizzle
189
- .select()
190
- .from(pmoRoadmapProjects)
191
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), eq(pmoRoadmapProjects.projectId, projectId)))
192
- .get();
193
- if (existing) {
194
- throw new PMOError('CONFLICT', `Project ${projectId} is already in roadmap ${roadmapId}`);
195
- }
196
- // Get next position if not provided
197
- if (position === undefined) {
198
- const maxPosResult = this.ctx.drizzle
199
- .select({ maxPos: sql `COALESCE(MAX(${pmoRoadmapProjects.position}), -1)` })
200
- .from(pmoRoadmapProjects)
201
- .where(eq(pmoRoadmapProjects.roadmapId, roadmapId))
202
- .get();
203
- position = (maxPosResult?.maxPos ?? -1) + 1;
204
- }
205
- else {
206
- // Shift existing projects at or after this position
207
- this.ctx.drizzle
208
- .update(pmoRoadmapProjects)
209
- .set({ position: sql `${pmoRoadmapProjects.position} + 1` })
210
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), gte(pmoRoadmapProjects.position, position)))
211
- .run();
212
- }
213
- const now = new Date().toISOString();
214
- this.ctx.drizzle.insert(pmoRoadmapProjects).values({
215
- roadmapId,
216
- projectId,
217
- position,
218
- createdAt: now,
219
- }).run();
220
- // Update roadmap timestamp
221
- this.ctx.drizzle
222
- .update(pmoRoadmaps)
223
- .set({ updatedAt: now })
224
- .where(eq(pmoRoadmaps.id, roadmapId))
225
- .run();
226
- return {
227
- roadmapId,
228
- projectId,
229
- position,
230
- createdAt: new Date(now),
231
- };
232
- }
233
- /**
234
- * Remove a project from a roadmap.
235
- */
236
- async removeProjectFromRoadmap(roadmapId, projectId) {
237
- // Get current position for reordering
238
- const current = this.ctx.drizzle
239
- .select({ position: pmoRoadmapProjects.position })
240
- .from(pmoRoadmapProjects)
241
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), eq(pmoRoadmapProjects.projectId, projectId)))
242
- .get();
243
- if (!current) {
244
- throw new PMOError('NOT_FOUND', `Project ${projectId} not in roadmap ${roadmapId}`);
245
- }
246
- // Delete the association
247
- this.ctx.drizzle
248
- .delete(pmoRoadmapProjects)
249
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), eq(pmoRoadmapProjects.projectId, projectId)))
250
- .run();
251
- // Reorder remaining projects to fill the gap
252
- this.ctx.drizzle
253
- .update(pmoRoadmapProjects)
254
- .set({ position: sql `${pmoRoadmapProjects.position} - 1` })
255
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), gt(pmoRoadmapProjects.position, current.position)))
256
- .run();
257
- // Update roadmap timestamp
258
- this.ctx.drizzle
259
- .update(pmoRoadmaps)
260
- .set({ updatedAt: new Date().toISOString() })
261
- .where(eq(pmoRoadmaps.id, roadmapId))
262
- .run();
263
- }
264
- /**
265
- * Reorder a project within a roadmap.
266
- */
267
- async reorderRoadmapProject(roadmapId, projectId, newPosition) {
268
- // Get current position
269
- const current = this.ctx.drizzle
270
- .select({
271
- position: pmoRoadmapProjects.position,
272
- createdAt: pmoRoadmapProjects.createdAt,
273
- })
274
- .from(pmoRoadmapProjects)
275
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), eq(pmoRoadmapProjects.projectId, projectId)))
276
- .get();
277
- if (!current) {
278
- throw new PMOError('NOT_FOUND', `Project ${projectId} not in roadmap ${roadmapId}`);
279
- }
280
- const oldPosition = current.position;
281
- if (oldPosition === newPosition) {
282
- return {
283
- roadmapId,
284
- projectId,
285
- position: newPosition,
286
- createdAt: new Date(current.createdAt),
287
- };
288
- }
289
- // Shift positions
290
- if (newPosition < oldPosition) {
291
- // Moving up: increment positions in between
292
- this.ctx.drizzle
293
- .update(pmoRoadmapProjects)
294
- .set({ position: sql `${pmoRoadmapProjects.position} + 1` })
295
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), gte(pmoRoadmapProjects.position, newPosition), lt(pmoRoadmapProjects.position, oldPosition)))
296
- .run();
297
- }
298
- else {
299
- // Moving down: decrement positions in between
300
- this.ctx.drizzle
301
- .update(pmoRoadmapProjects)
302
- .set({ position: sql `${pmoRoadmapProjects.position} - 1` })
303
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), gt(pmoRoadmapProjects.position, oldPosition), lte(pmoRoadmapProjects.position, newPosition)))
304
- .run();
305
- }
306
- // Update the target project's position
307
- this.ctx.drizzle
308
- .update(pmoRoadmapProjects)
309
- .set({ position: newPosition })
310
- .where(and(eq(pmoRoadmapProjects.roadmapId, roadmapId), eq(pmoRoadmapProjects.projectId, projectId)))
311
- .run();
312
- // Update roadmap timestamp
313
- this.ctx.drizzle
314
- .update(pmoRoadmaps)
315
- .set({ updatedAt: new Date().toISOString() })
316
- .where(eq(pmoRoadmaps.id, roadmapId))
317
- .run();
318
- return {
319
- roadmapId,
320
- projectId,
321
- position: newPosition,
322
- createdAt: new Date(current.createdAt),
323
- };
324
- }
325
- /**
326
- * Get all roadmaps that contain a project.
327
- */
328
- async getRoadmapsForProject(projectId) {
329
- const rows = this.ctx.drizzle
330
- .select({
331
- id: pmoRoadmaps.id,
332
- name: pmoRoadmaps.name,
333
- description: pmoRoadmaps.description,
334
- isDefault: pmoRoadmaps.isDefault,
335
- createdAt: pmoRoadmaps.createdAt,
336
- updatedAt: pmoRoadmaps.updatedAt,
337
- })
338
- .from(pmoRoadmaps)
339
- .innerJoin(pmoRoadmapProjects, eq(pmoRoadmaps.id, pmoRoadmapProjects.roadmapId))
340
- .where(eq(pmoRoadmapProjects.projectId, projectId))
341
- .orderBy(asc(pmoRoadmaps.name))
342
- .all();
343
- return rows.map(row => this.rowToRoadmap(row));
344
- }
345
- // ===== Helpers =====
346
- rowToRoadmap(row) {
347
- return {
348
- id: row.id,
349
- name: row.name,
350
- description: row.description || undefined,
351
- isDefault: row.isDefault ?? false,
352
- createdAt: new Date(row.createdAt || Date.now()),
353
- updatedAt: new Date(row.updatedAt || Date.now()),
354
- };
355
- }
356
- rowToProject(row) {
357
- return {
358
- id: row.id,
359
- name: row.name,
360
- template: row.template || undefined,
361
- description: row.description || undefined,
362
- status: (row.status || 'active'),
363
- phaseId: row.phaseId || undefined,
364
- workflowId: row.workflowId || undefined,
365
- isArchived: row.isArchived ?? false,
366
- targetDate: row.targetDate ? new Date(row.targetDate) : undefined,
367
- initiativeId: row.initiativeId || undefined,
368
- createdAt: new Date(row.createdAt || Date.now()),
369
- updatedAt: new Date(row.updatedAt || Date.now()),
370
- };
371
- }
372
- }
373
- //# sourceMappingURL=roadmaps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roadmaps.js","sourceRoot":"","sources":["../../../../src/lib/pmo/storage/roadmaps.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Board view operations.
3
- *
4
- * This module uses Drizzle ORM for type-safe database queries.
5
- */
6
- import { Board, BoardView, BoardViewFilter, BoardViewFilters } from '../types.js';
7
- import { StorageContext } from './types.js';
8
- export declare class ViewStorage {
9
- private ctx;
10
- constructor(ctx: StorageContext);
11
- /**
12
- * Resolve a project identifier to its actual ID.
13
- * Tries multiple strategies:
14
- * 1. Exact ID match
15
- * 2. Case-insensitive ID match
16
- * 3. Exact name match
17
- * 4. Case-insensitive name match
18
- * 5. Slugified name match
19
- */
20
- private resolveProjectId;
21
- /**
22
- * List board views.
23
- */
24
- listBoardViews(filter?: BoardViewFilter): Promise<BoardView[]>;
25
- /**
26
- * Get a board view by ID.
27
- */
28
- getBoardView(id: string): Promise<BoardView | null>;
29
- /**
30
- * Create a new board view.
31
- */
32
- createBoardView(view: Partial<BoardView>): Promise<BoardView>;
33
- /**
34
- * Update a board view.
35
- */
36
- updateBoardView(id: string, changes: Partial<BoardView>): Promise<BoardView>;
37
- /**
38
- * Delete a board view.
39
- */
40
- deleteBoardView(id: string): Promise<void>;
41
- /**
42
- * Get the default board view for a project.
43
- */
44
- getDefaultBoardView(projectId: string): Promise<BoardView | null>;
45
- /**
46
- * Get board with optional filters applied.
47
- * @param projectIdOrName - Project ID, name, or slug. Will be resolved to actual ID.
48
- */
49
- getBoardWithView(projectIdOrName: string, viewId?: string, filters?: BoardViewFilters): Promise<Board>;
50
- /**
51
- * Get tickets for a column (workflow status) with filters applied.
52
- */
53
- private getTicketsForColumnWithFilters;
54
- private rowToTicketWithColumn;
55
- private sortTickets;
56
- private rowToBoardView;
57
- }