@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,197 +0,0 @@
1
- /**
2
- * MCP Project Tools
3
- */
4
- import { z } from 'zod';
5
- import { errorResponse, strictTool } from '../helpers.js';
6
- export function registerProjectTools(server, ctx) {
7
- strictTool(server, 'project_list', 'List all projects', {
8
- include_archived: z.boolean().optional().describe('Include archived'),
9
- search: z.string().optional().describe('Search in name'),
10
- }, async (params) => {
11
- try {
12
- const projects = await ctx.storage.listProjects({
13
- isArchived: params.include_archived ? undefined : false,
14
- search: params.search,
15
- });
16
- return {
17
- content: [{
18
- type: 'text',
19
- text: JSON.stringify({
20
- success: true,
21
- count: projects.length,
22
- projects: projects.map((p) => ({
23
- id: p.id,
24
- name: p.name,
25
- description: p.description,
26
- template: p.template,
27
- status: p.status,
28
- isArchived: p.isArchived,
29
- workflowId: p.workflowId,
30
- createdAt: p.createdAt.toISOString(),
31
- updatedAt: p.updatedAt.toISOString(),
32
- })),
33
- }, null, 2),
34
- }],
35
- };
36
- }
37
- catch (error) {
38
- return errorResponse(error);
39
- }
40
- });
41
- strictTool(server, 'project_create', 'Create a new project', {
42
- name: z.string().describe('Project name'),
43
- description: z.string().optional().describe('Description'),
44
- template: z.string().optional().describe('Template (kanban, scrum, linear, simple)'),
45
- }, async (params) => {
46
- try {
47
- const board = await ctx.storage.createProject({
48
- name: params.name,
49
- description: params.description,
50
- template: params.template,
51
- });
52
- return {
53
- content: [{
54
- type: 'text',
55
- text: JSON.stringify({
56
- success: true,
57
- project: { id: board.id, name: board.name, columns: board.columns.map((c) => c.name) },
58
- }, null, 2),
59
- }],
60
- };
61
- }
62
- catch (error) {
63
- return errorResponse(error);
64
- }
65
- });
66
- strictTool(server, 'project_show', 'Get project details', { id: z.string().describe('Project ID') }, async (params) => {
67
- try {
68
- const project = await ctx.storage.getProject(params.id);
69
- if (!project)
70
- throw new Error(`Project not found: ${params.id}`);
71
- const tickets = await ctx.storage.listTickets(params.id);
72
- return {
73
- content: [{
74
- type: 'text',
75
- text: JSON.stringify({
76
- success: true,
77
- project: {
78
- id: project.id,
79
- name: project.name,
80
- description: project.description,
81
- template: project.template,
82
- status: project.status,
83
- isArchived: project.isArchived,
84
- workflowId: project.workflowId,
85
- ticketCount: tickets.length,
86
- createdAt: project.createdAt.toISOString(),
87
- updatedAt: project.updatedAt.toISOString(),
88
- },
89
- }, null, 2),
90
- }],
91
- };
92
- }
93
- catch (error) {
94
- return errorResponse(error);
95
- }
96
- });
97
- strictTool(server, 'project_update', 'Update a project', {
98
- id: z.string().describe('Project ID'),
99
- name: z.string().optional().describe('New name'),
100
- description: z.string().optional().describe('New description'),
101
- }, async (params) => {
102
- try {
103
- const changes = {};
104
- if (params.name)
105
- changes.name = params.name;
106
- if (params.description !== undefined)
107
- changes.description = params.description;
108
- const project = await ctx.storage.updateProject(params.id, changes);
109
- return {
110
- content: [{
111
- type: 'text',
112
- text: JSON.stringify({ success: true, project: { id: project.id, name: project.name } }, null, 2),
113
- }],
114
- };
115
- }
116
- catch (error) {
117
- return errorResponse(error);
118
- }
119
- });
120
- strictTool(server, 'project_archive', 'Archive a project', { id: z.string().describe('Project ID') }, async (params) => {
121
- try {
122
- const project = await ctx.storage.archiveProject(params.id);
123
- return {
124
- content: [{
125
- type: 'text',
126
- text: JSON.stringify({ success: true, project: { id: project.id, isArchived: project.isArchived } }, null, 2),
127
- }],
128
- };
129
- }
130
- catch (error) {
131
- return errorResponse(error);
132
- }
133
- });
134
- strictTool(server, 'project_unarchive', 'Unarchive a project', { id: z.string().describe('Project ID') }, async (params) => {
135
- try {
136
- const project = await ctx.storage.unarchiveProject(params.id);
137
- return {
138
- content: [{
139
- type: 'text',
140
- text: JSON.stringify({ success: true, project: { id: project.id, isArchived: project.isArchived } }, null, 2),
141
- }],
142
- };
143
- }
144
- catch (error) {
145
- return errorResponse(error);
146
- }
147
- });
148
- strictTool(server, 'project_delete', 'Delete a project', { id: z.string().describe('Project ID') }, async (params) => {
149
- try {
150
- await ctx.storage.deleteProject(params.id);
151
- return {
152
- content: [{
153
- type: 'text',
154
- text: JSON.stringify({ success: true, message: `Deleted project ${params.id}` }, null, 2),
155
- }],
156
- };
157
- }
158
- catch (error) {
159
- return errorResponse(error);
160
- }
161
- });
162
- strictTool(server, 'project_link_to_spec', 'Link project to a spec', {
163
- project_id: z.string().describe('Project ID'),
164
- spec_id: z.string().describe('Spec ID'),
165
- }, async (params) => {
166
- try {
167
- await ctx.storage.linkProjectToSpec(params.project_id, params.spec_id);
168
- return {
169
- content: [{
170
- type: 'text',
171
- text: JSON.stringify({ success: true, message: 'Project linked to spec' }, null, 2),
172
- }],
173
- };
174
- }
175
- catch (error) {
176
- return errorResponse(error);
177
- }
178
- });
179
- strictTool(server, 'project_get_specs', 'Get specs linked to a project', { project_id: z.string().describe('Project ID') }, async (params) => {
180
- try {
181
- const specs = await ctx.storage.getSpecsForProject(params.project_id);
182
- return {
183
- content: [{
184
- type: 'text',
185
- text: JSON.stringify({
186
- success: true,
187
- specs: specs.map((s) => ({ id: s.id, title: s.title, status: s.status })),
188
- }, null, 2),
189
- }],
190
- };
191
- }
192
- catch (error) {
193
- return errorResponse(error);
194
- }
195
- });
196
- }
197
- //# sourceMappingURL=project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/project.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * MCP Roadmap Tools
3
- */
4
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import type { McpToolContext } from '../types.js';
6
- export declare function registerRoadmapTools(server: McpServer, ctx: McpToolContext): void;
@@ -1,124 +0,0 @@
1
- /**
2
- * MCP Roadmap Tools
3
- */
4
- import { z } from 'zod';
5
- import { errorResponse, strictTool } from '../helpers.js';
6
- export function registerRoadmapTools(server, ctx) {
7
- strictTool(server, 'roadmap_list', 'List roadmaps', {}, async () => {
8
- try {
9
- const roadmaps = await ctx.storage.listRoadmaps();
10
- return {
11
- content: [{
12
- type: 'text',
13
- text: JSON.stringify({
14
- success: true,
15
- roadmaps: roadmaps.map((r) => ({
16
- id: r.id,
17
- name: r.name,
18
- description: r.description,
19
- isDefault: r.isDefault,
20
- })),
21
- }, null, 2),
22
- }],
23
- };
24
- }
25
- catch (error) {
26
- return errorResponse(error);
27
- }
28
- });
29
- strictTool(server, 'roadmap_create', 'Create a roadmap', {
30
- name: z.string().describe('Roadmap name'),
31
- description: z.string().optional(),
32
- is_default: z.boolean().optional(),
33
- }, async (params) => {
34
- try {
35
- const roadmap = await ctx.storage.createRoadmap({
36
- name: params.name,
37
- description: params.description,
38
- isDefault: params.is_default ?? false,
39
- });
40
- return {
41
- content: [{
42
- type: 'text',
43
- text: JSON.stringify({ success: true, roadmap: { id: roadmap.id, name: roadmap.name } }, null, 2),
44
- }],
45
- };
46
- }
47
- catch (error) {
48
- return errorResponse(error);
49
- }
50
- });
51
- strictTool(server, 'roadmap_show', 'Get roadmap with projects', { id: z.string().describe('Roadmap ID') }, async (params) => {
52
- try {
53
- const roadmap = await ctx.storage.getRoadmap(params.id);
54
- if (!roadmap)
55
- throw new Error(`Roadmap not found: ${params.id}`);
56
- const projects = await ctx.storage.listRoadmapProjects(params.id);
57
- return {
58
- content: [{
59
- type: 'text',
60
- text: JSON.stringify({
61
- success: true,
62
- roadmap: {
63
- ...roadmap,
64
- projects: projects.map((p) => ({ id: p.id, name: p.name })),
65
- },
66
- }, null, 2),
67
- }],
68
- };
69
- }
70
- catch (error) {
71
- return errorResponse(error);
72
- }
73
- });
74
- strictTool(server, 'roadmap_add_project', 'Add project to roadmap', {
75
- roadmap_id: z.string().describe('Roadmap ID'),
76
- project_id: z.string().describe('Project ID'),
77
- position: z.number().optional(),
78
- }, async (params) => {
79
- try {
80
- await ctx.storage.addProjectToRoadmap(params.roadmap_id, params.project_id, params.position);
81
- return {
82
- content: [{
83
- type: 'text',
84
- text: JSON.stringify({ success: true, message: 'Project added to roadmap' }, null, 2),
85
- }],
86
- };
87
- }
88
- catch (error) {
89
- return errorResponse(error);
90
- }
91
- });
92
- strictTool(server, 'roadmap_remove_project', 'Remove project from roadmap', {
93
- roadmap_id: z.string().describe('Roadmap ID'),
94
- project_id: z.string().describe('Project ID'),
95
- }, async (params) => {
96
- try {
97
- await ctx.storage.removeProjectFromRoadmap(params.roadmap_id, params.project_id);
98
- return {
99
- content: [{
100
- type: 'text',
101
- text: JSON.stringify({ success: true, message: 'Project removed from roadmap' }, null, 2),
102
- }],
103
- };
104
- }
105
- catch (error) {
106
- return errorResponse(error);
107
- }
108
- });
109
- strictTool(server, 'roadmap_delete', 'Delete a roadmap', { id: z.string().describe('Roadmap ID') }, async (params) => {
110
- try {
111
- await ctx.storage.deleteRoadmap(params.id);
112
- return {
113
- content: [{
114
- type: 'text',
115
- text: JSON.stringify({ success: true, message: 'Roadmap deleted' }, null, 2),
116
- }],
117
- };
118
- }
119
- catch (error) {
120
- return errorResponse(error);
121
- }
122
- });
123
- }
124
- //# sourceMappingURL=roadmap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roadmap.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/roadmap.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * MCP Status Tools
3
- */
4
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import type { McpToolContext } from '../types.js';
6
- export declare function registerStatusTools(server: McpServer, ctx: McpToolContext): void;
@@ -1,110 +0,0 @@
1
- /**
2
- * MCP Status Tools
3
- */
4
- import { z } from 'zod';
5
- import { errorResponse, strictTool } from '../helpers.js';
6
- export function registerStatusTools(server, ctx) {
7
- strictTool(server, 'status_list', 'List statuses in a workflow', { workflow_id: z.string().describe('Workflow ID') }, async (params) => {
8
- try {
9
- const statuses = await ctx.storage.listStatuses(params.workflow_id);
10
- return {
11
- content: [{
12
- type: 'text',
13
- text: JSON.stringify({
14
- success: true,
15
- statuses: statuses.map((s) => ({
16
- id: s.id,
17
- name: s.name,
18
- category: s.category,
19
- position: s.position,
20
- isDefault: s.isDefault,
21
- })),
22
- }, null, 2),
23
- }],
24
- };
25
- }
26
- catch (error) {
27
- return errorResponse(error);
28
- }
29
- });
30
- strictTool(server, 'status_create', 'Create a status in a workflow', {
31
- workflow_id: z.string().describe('Workflow ID'),
32
- name: z.string().describe('Status name'),
33
- category: z.enum(['triage', 'backlog', 'unstarted', 'started', 'completed', 'canceled']).describe('Category'),
34
- position: z.number().optional(),
35
- is_default: z.boolean().optional(),
36
- }, async (params) => {
37
- try {
38
- const status = await ctx.storage.createStatus(params.workflow_id, {
39
- name: params.name,
40
- category: params.category,
41
- position: params.position,
42
- isDefault: params.is_default,
43
- });
44
- return {
45
- content: [{
46
- type: 'text',
47
- text: JSON.stringify({ success: true, status: { id: status.id, name: status.name, category: status.category } }, null, 2),
48
- }],
49
- };
50
- }
51
- catch (error) {
52
- return errorResponse(error);
53
- }
54
- });
55
- strictTool(server, 'status_update', 'Update a status', {
56
- id: z.string().describe('Status ID'),
57
- name: z.string().optional(),
58
- category: z.enum(['triage', 'backlog', 'unstarted', 'started', 'completed', 'canceled']).optional(),
59
- }, async (params) => {
60
- try {
61
- const changes = {};
62
- if (params.name)
63
- changes.name = params.name;
64
- if (params.category)
65
- changes.category = params.category;
66
- const status = await ctx.storage.updateStatus(params.id, changes);
67
- return {
68
- content: [{
69
- type: 'text',
70
- text: JSON.stringify({ success: true, status: { id: status.id, name: status.name } }, null, 2),
71
- }],
72
- };
73
- }
74
- catch (error) {
75
- return errorResponse(error);
76
- }
77
- });
78
- strictTool(server, 'status_reorder', 'Reorder a status', {
79
- id: z.string().describe('Status ID'),
80
- position: z.number().describe('New position'),
81
- }, async (params) => {
82
- try {
83
- const status = await ctx.storage.reorderStatus(params.id, params.position);
84
- return {
85
- content: [{
86
- type: 'text',
87
- text: JSON.stringify({ success: true, status: { id: status.id, position: status.position } }, null, 2),
88
- }],
89
- };
90
- }
91
- catch (error) {
92
- return errorResponse(error);
93
- }
94
- });
95
- strictTool(server, 'status_delete', 'Delete a status', { id: z.string().describe('Status ID') }, async (params) => {
96
- try {
97
- await ctx.storage.deleteStatus(params.id);
98
- return {
99
- content: [{
100
- type: 'text',
101
- text: JSON.stringify({ success: true, message: 'Status deleted' }, null, 2),
102
- }],
103
- };
104
- }
105
- catch (error) {
106
- return errorResponse(error);
107
- }
108
- });
109
- }
110
- //# sourceMappingURL=status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/status.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * MCP Template Tools
3
- */
4
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import type { McpToolContext } from '../types.js';
6
- export declare function registerTemplateTools(server: McpServer, ctx: McpToolContext): void;
@@ -1,108 +0,0 @@
1
- /**
2
- * MCP Template Tools
3
- */
4
- import { z } from 'zod';
5
- import { errorResponse, strictTool } from '../helpers.js';
6
- export function registerTemplateTools(server, ctx) {
7
- strictTool(server, 'ticket_template_list', 'List ticket templates', { include_builtin: z.boolean().optional() }, async (params) => {
8
- try {
9
- const templates = await ctx.storage.listTicketTemplates({
10
- isBuiltin: params.include_builtin ? undefined : false,
11
- });
12
- return {
13
- content: [{
14
- type: 'text',
15
- text: JSON.stringify({
16
- success: true,
17
- templates: templates.map((t) => ({
18
- id: t.id,
19
- name: t.name,
20
- description: t.description,
21
- isBuiltin: t.isBuiltin,
22
- })),
23
- }, null, 2),
24
- }],
25
- };
26
- }
27
- catch (error) {
28
- return errorResponse(error);
29
- }
30
- });
31
- strictTool(server, 'ticket_template_show', 'Get ticket template details', { id: z.string().describe('Template ID') }, async (params) => {
32
- try {
33
- const template = await ctx.storage.getTicketTemplate(params.id);
34
- if (!template)
35
- throw new Error(`Template not found: ${params.id}`);
36
- return {
37
- content: [{
38
- type: 'text',
39
- text: JSON.stringify({ success: true, template }, null, 2),
40
- }],
41
- };
42
- }
43
- catch (error) {
44
- return errorResponse(error);
45
- }
46
- });
47
- strictTool(server, 'ticket_template_create', 'Create a ticket template', {
48
- name: z.string().describe('Template name'),
49
- description: z.string().optional(),
50
- title_pattern: z.string().optional(),
51
- description_template: z.string().optional(),
52
- default_priority: z.string().optional().describe('Default priority (uses workspace priority scale)'),
53
- default_category: z.string().optional(),
54
- }, async (params) => {
55
- try {
56
- const template = await ctx.storage.createTicketTemplate({
57
- name: params.name,
58
- description: params.description,
59
- titlePattern: params.title_pattern,
60
- descriptionTemplate: params.description_template,
61
- defaultPriority: params.default_priority,
62
- defaultCategory: params.default_category,
63
- });
64
- return {
65
- content: [{
66
- type: 'text',
67
- text: JSON.stringify({ success: true, template: { id: template.id, name: template.name } }, null, 2),
68
- }],
69
- };
70
- }
71
- catch (error) {
72
- return errorResponse(error);
73
- }
74
- });
75
- strictTool(server, 'ticket_template_create_from_ticket', 'Create template from existing ticket', {
76
- ticket_id: z.string().describe('Ticket ID'),
77
- name: z.string().describe('Template name'),
78
- description: z.string().optional(),
79
- }, async (params) => {
80
- try {
81
- const template = await ctx.storage.createTicketTemplateFromTicket(params.ticket_id, params.name, params.description);
82
- return {
83
- content: [{
84
- type: 'text',
85
- text: JSON.stringify({ success: true, template: { id: template.id, name: template.name } }, null, 2),
86
- }],
87
- };
88
- }
89
- catch (error) {
90
- return errorResponse(error);
91
- }
92
- });
93
- strictTool(server, 'ticket_template_delete', 'Delete a ticket template', { id: z.string().describe('Template ID') }, async (params) => {
94
- try {
95
- await ctx.storage.deleteTicketTemplate(params.id);
96
- return {
97
- content: [{
98
- type: 'text',
99
- text: JSON.stringify({ success: true, message: 'Template deleted' }, null, 2),
100
- }],
101
- };
102
- }
103
- catch (error) {
104
- return errorResponse(error);
105
- }
106
- });
107
- }
108
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/lib/mcp/tools/template.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * MCP View Tools
3
- */
4
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import type { McpToolContext } from '../types.js';
6
- export declare function registerViewTools(server: McpServer, ctx: McpToolContext): void;