@autocode-cli/autocode 0.8.37 → 0.22.0

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 (1534) hide show
  1. package/.output/nitro.json +15 -0
  2. package/.output/public/_i18n/zP5M_e1m/en/messages.json +1 -0
  3. package/.output/public/_i18n/zP5M_e1m/fr/messages.json +1 -0
  4. package/.output/public/_nuxt/BBgAVlXU.js +1 -0
  5. package/.output/public/_nuxt/BZUmpBmU.js +2 -0
  6. package/.output/public/_nuxt/BmGeRwzG.js +1 -0
  7. package/.output/public/_nuxt/Bsd2P-Xc.js +1 -0
  8. package/.output/public/_nuxt/BthlfLoK.js +1 -0
  9. package/.output/public/_nuxt/Bu1Qq2g-.js +1 -0
  10. package/.output/public/_nuxt/BvF9_V7p.js +1 -0
  11. package/.output/public/_nuxt/BvUbqlcZ.js +2 -0
  12. package/.output/public/_nuxt/Bxcwuw3U.js +1 -0
  13. package/.output/public/_nuxt/C0Rlrcoy.js +59 -0
  14. package/.output/public/_nuxt/CTV7-Iux.js +1 -0
  15. package/.output/public/_nuxt/CWENDdnZ.js +1 -0
  16. package/.output/public/_nuxt/CjVJcaTo.js +7 -0
  17. package/.output/public/_nuxt/CoGBQbLh.js +1 -0
  18. package/.output/public/_nuxt/CtVoJCjv.js +1 -0
  19. package/.output/public/_nuxt/D4lcVP-d.js +1 -0
  20. package/.output/public/_nuxt/D8RlVVzC.js +1 -0
  21. package/.output/public/_nuxt/DBuWa6JT.js +1 -0
  22. package/.output/public/_nuxt/DFQ30pd7.js +1 -0
  23. package/.output/public/_nuxt/DNUcHFTN.js +1 -0
  24. package/.output/public/_nuxt/DRo5NaOZ.js +1 -0
  25. package/.output/public/_nuxt/DU0awelf.js +1 -0
  26. package/.output/public/_nuxt/DYYF8rpr.js +1 -0
  27. package/.output/public/_nuxt/DaYBQX26.js +1 -0
  28. package/.output/public/_nuxt/DwfwVH0w.js +1 -0
  29. package/.output/public/_nuxt/DykwyQae.js +1 -0
  30. package/.output/public/_nuxt/FIIaIpPb.js +1 -0
  31. package/.output/public/_nuxt/IssueHeader.BKYJE9Ko.css +1 -0
  32. package/.output/public/_nuxt/LangSwitcher.DDTh1sNN.css +1 -0
  33. package/.output/public/_nuxt/QtPIr4OQ.js +1 -0
  34. package/.output/public/_nuxt/TA-NBooC.js +1 -0
  35. package/.output/public/_nuxt/TB1o0NrH.js +13 -0
  36. package/.output/public/_nuxt/Zzp33YZj.js +1 -0
  37. package/.output/public/_nuxt/_HJO0SwU.js +1 -0
  38. package/.output/public/_nuxt/_id_.CYj9w2Sw.css +1 -0
  39. package/.output/public/_nuxt/_name_.OOW3Ydwv.css +1 -0
  40. package/.output/public/_nuxt/autocreate.-iJ9Pxhm.css +1 -0
  41. package/.output/public/_nuxt/builds/latest.json +1 -0
  42. package/.output/public/_nuxt/builds/meta/83d9a3fc-c99e-4e26-adef-e7f5b329b81a.json +1 -0
  43. package/.output/public/_nuxt/changelog.CziWegef.css +1 -0
  44. package/.output/public/_nuxt/comments.BcvjcN1z.css +1 -0
  45. package/.output/public/_nuxt/default.BaZU2Ea8.css +1 -0
  46. package/.output/public/_nuxt/entry.CzscD3wg.css +1 -0
  47. package/.output/public/_nuxt/graph.BbpRRv0M.css +1 -0
  48. package/.output/public/_nuxt/iHS1jy-1.js +1 -0
  49. package/.output/public/_nuxt/index.CDND7dpO.css +1 -0
  50. package/.output/public/_nuxt/index.COVdL_Kx.css +1 -0
  51. package/.output/public/_nuxt/index.CTkgb9uR.css +1 -0
  52. package/.output/public/_nuxt/index.DkNg_n4G.css +1 -0
  53. package/.output/public/_nuxt/jYigECdj.js +1 -0
  54. package/.output/public/_nuxt/kanban.BuPOCLgG.css +1 -0
  55. package/.output/public/_nuxt/landing.D5KkDm1b.css +1 -0
  56. package/.output/public/_nuxt/new.BFERdqdm.css +1 -0
  57. package/.output/public/_nuxt/new.BzaiohPo.css +1 -0
  58. package/.output/public/_nuxt/prompt.CbFHjm-L.css +1 -0
  59. package/.output/public/_nuxt/prompt.DM4VdPnn.css +1 -0
  60. package/.output/public/_nuxt/prompt.DZ0wdOji.css +1 -0
  61. package/.output/public/_nuxt/stats.CXzKxZ71.css +1 -0
  62. package/.output/public/_nuxt/terminal.BL0EPPyU.css +1 -0
  63. package/.output/public/_nuxt/terminal.D3JI44PH.css +1 -0
  64. package/.output/public/_nuxt/terminal.YXDzS4Ng.css +1 -0
  65. package/.output/public/_payload.json +1 -0
  66. package/.output/public/favicon.svg +11 -0
  67. package/.output/public/index.html +1 -0
  68. package/.output/public/media/podcast/en.m4a +0 -0
  69. package/.output/public/media/podcast/fr.m4a +0 -0
  70. package/.output/public/og-image.svg +58 -0
  71. package/.output/public/robots.txt +5 -0
  72. package/.output/server/chunks/_/attachments.service.mjs +33 -0
  73. package/.output/server/chunks/_/attachments.service.mjs.map +1 -0
  74. package/.output/server/chunks/_/comments.service.mjs +26 -0
  75. package/.output/server/chunks/_/comments.service.mjs.map +1 -0
  76. package/.output/server/chunks/_/en.mjs +538 -0
  77. package/.output/server/chunks/_/en.mjs.map +1 -0
  78. package/.output/server/chunks/_/error-500.mjs +10 -0
  79. package/.output/server/chunks/_/error-500.mjs.map +1 -0
  80. package/.output/server/chunks/_/fr.mjs +538 -0
  81. package/.output/server/chunks/_/fr.mjs.map +1 -0
  82. package/.output/server/chunks/build/AppHeader-styles.D4cFmBur.mjs +8 -0
  83. package/.output/server/chunks/build/AppHeader-styles.D4cFmBur.mjs.map +1 -0
  84. package/.output/server/chunks/build/CatalogPanel-styles.BJ_ozkvH.mjs +8 -0
  85. package/.output/server/chunks/build/CatalogPanel-styles.BJ_ozkvH.mjs.map +1 -0
  86. package/.output/server/chunks/build/IssueHeader-BKlqeUoH.mjs +127 -0
  87. package/.output/server/chunks/build/IssueHeader-BKlqeUoH.mjs.map +1 -0
  88. package/.output/server/chunks/build/IssueHeader-styles.aWkocVax.mjs +8 -0
  89. package/.output/server/chunks/build/IssueHeader-styles.aWkocVax.mjs.map +1 -0
  90. package/.output/server/chunks/build/LandingArchitecture-styles.Don6ug3a.mjs +8 -0
  91. package/.output/server/chunks/build/LandingArchitecture-styles.Don6ug3a.mjs.map +1 -0
  92. package/.output/server/chunks/build/LandingAutonomy-styles.D9JJFMEO.mjs +8 -0
  93. package/.output/server/chunks/build/LandingAutonomy-styles.D9JJFMEO.mjs.map +1 -0
  94. package/.output/server/chunks/build/LandingCommands-styles.BoLpFQgT.mjs +8 -0
  95. package/.output/server/chunks/build/LandingCommands-styles.BoLpFQgT.mjs.map +1 -0
  96. package/.output/server/chunks/build/LandingDemo-styles.WY8VUN9P.mjs +8 -0
  97. package/.output/server/chunks/build/LandingDemo-styles.WY8VUN9P.mjs.map +1 -0
  98. package/.output/server/chunks/build/LandingFooter-styles.CEshuzKW.mjs +8 -0
  99. package/.output/server/chunks/build/LandingFooter-styles.CEshuzKW.mjs.map +1 -0
  100. package/.output/server/chunks/build/LandingMatrixBg-styles.DKJoYVuG.mjs +8 -0
  101. package/.output/server/chunks/build/LandingMatrixBg-styles.DKJoYVuG.mjs.map +1 -0
  102. package/.output/server/chunks/build/LandingPipeline-styles.CL96fyQR.mjs +8 -0
  103. package/.output/server/chunks/build/LandingPipeline-styles.CL96fyQR.mjs.map +1 -0
  104. package/.output/server/chunks/build/LandingPodcast-styles.BUxvpRMa.mjs +8 -0
  105. package/.output/server/chunks/build/LandingPodcast-styles.BUxvpRMa.mjs.map +1 -0
  106. package/.output/server/chunks/build/LandingRoadmap-styles.DX5EsTsx.mjs +8 -0
  107. package/.output/server/chunks/build/LandingRoadmap-styles.DX5EsTsx.mjs.map +1 -0
  108. package/.output/server/chunks/build/LangSwitcher-BcmlkZkS.mjs +32 -0
  109. package/.output/server/chunks/build/LangSwitcher-BcmlkZkS.mjs.map +1 -0
  110. package/.output/server/chunks/build/LangSwitcher-styles.DjejY3Ry.mjs +8 -0
  111. package/.output/server/chunks/build/LangSwitcher-styles.DjejY3Ry.mjs.map +1 -0
  112. package/.output/server/chunks/build/NotificationContainer-styles.CWuUTY5_.mjs +8 -0
  113. package/.output/server/chunks/build/NotificationContainer-styles.CWuUTY5_.mjs.map +1 -0
  114. package/.output/server/chunks/build/PipelineColumn-styles.DeCMKSUU.mjs +8 -0
  115. package/.output/server/chunks/build/PipelineColumn-styles.DeCMKSUU.mjs.map +1 -0
  116. package/.output/server/chunks/build/PipelineSegments-styles.Cx1F1okc.mjs +8 -0
  117. package/.output/server/chunks/build/PipelineSegments-styles.Cx1F1okc.mjs.map +1 -0
  118. package/.output/server/chunks/build/_id_-CE9OXhn_.mjs +78 -0
  119. package/.output/server/chunks/build/_id_-CE9OXhn_.mjs.map +1 -0
  120. package/.output/server/chunks/build/_id_-styles.DrupDd6T.mjs +8 -0
  121. package/.output/server/chunks/build/_id_-styles.DrupDd6T.mjs.map +1 -0
  122. package/.output/server/chunks/build/_name_-UJA12Rs2.mjs +810 -0
  123. package/.output/server/chunks/build/_name_-UJA12Rs2.mjs.map +1 -0
  124. package/.output/server/chunks/build/_name_-styles.megXcys0.mjs +8 -0
  125. package/.output/server/chunks/build/_name_-styles.megXcys0.mjs.map +1 -0
  126. package/.output/server/chunks/build/autocreate-DrAjWR5B.mjs +113 -0
  127. package/.output/server/chunks/build/autocreate-DrAjWR5B.mjs.map +1 -0
  128. package/.output/server/chunks/build/autocreate-styles.BkUFXyS7.mjs +8 -0
  129. package/.output/server/chunks/build/autocreate-styles.BkUFXyS7.mjs.map +1 -0
  130. package/.output/server/chunks/build/changelog-CVp1u2jo.mjs +159 -0
  131. package/.output/server/chunks/build/changelog-CVp1u2jo.mjs.map +1 -0
  132. package/.output/server/chunks/build/changelog-styles.Ct3EgGku.mjs +8 -0
  133. package/.output/server/chunks/build/changelog-styles.Ct3EgGku.mjs.map +1 -0
  134. package/.output/server/chunks/build/client.precomputed.mjs +4 -0
  135. package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  136. package/.output/server/chunks/build/comments-CZn-fPmX.mjs +119 -0
  137. package/.output/server/chunks/build/comments-CZn-fPmX.mjs.map +1 -0
  138. package/.output/server/chunks/build/comments-styles.CMP7TEvm.mjs +8 -0
  139. package/.output/server/chunks/build/comments-styles.CMP7TEvm.mjs.map +1 -0
  140. package/.output/server/chunks/build/default-BovpaVrS.mjs +180 -0
  141. package/.output/server/chunks/build/default-BovpaVrS.mjs.map +1 -0
  142. package/.output/server/chunks/build/default-styles.DCCKRaIF.mjs +8 -0
  143. package/.output/server/chunks/build/default-styles.DCCKRaIF.mjs.map +1 -0
  144. package/.output/server/chunks/build/en-1t1dLE2e.mjs +516 -0
  145. package/.output/server/chunks/build/en-1t1dLE2e.mjs.map +1 -0
  146. package/.output/server/chunks/build/error-styles.DYHGS7iv.mjs +8 -0
  147. package/.output/server/chunks/build/error-styles.DYHGS7iv.mjs.map +1 -0
  148. package/.output/server/chunks/build/fetch-B5NxMLIO.mjs +468 -0
  149. package/.output/server/chunks/build/fetch-B5NxMLIO.mjs.map +1 -0
  150. package/.output/server/chunks/build/fr-DHi8X16R.mjs +516 -0
  151. package/.output/server/chunks/build/fr-DHi8X16R.mjs.map +1 -0
  152. package/.output/server/chunks/build/graph-C-r91hz6.mjs +153 -0
  153. package/.output/server/chunks/build/graph-C-r91hz6.mjs.map +1 -0
  154. package/.output/server/chunks/build/graph-styles.BX4kyxPV.mjs +8 -0
  155. package/.output/server/chunks/build/graph-styles.BX4kyxPV.mjs.map +1 -0
  156. package/.output/server/chunks/build/index-Bm8ROtfk.mjs +239 -0
  157. package/.output/server/chunks/build/index-Bm8ROtfk.mjs.map +1 -0
  158. package/.output/server/chunks/build/index-C0DupdV0.mjs +89 -0
  159. package/.output/server/chunks/build/index-C0DupdV0.mjs.map +1 -0
  160. package/.output/server/chunks/build/index-CqyAV1ko.mjs +741 -0
  161. package/.output/server/chunks/build/index-CqyAV1ko.mjs.map +1 -0
  162. package/.output/server/chunks/build/index-D2tcUNO-.mjs +193 -0
  163. package/.output/server/chunks/build/index-D2tcUNO-.mjs.map +1 -0
  164. package/.output/server/chunks/build/index-styles.BJ7kZO7q.mjs +8 -0
  165. package/.output/server/chunks/build/index-styles.BJ7kZO7q.mjs.map +1 -0
  166. package/.output/server/chunks/build/index-styles.BaICoyCD.mjs +8 -0
  167. package/.output/server/chunks/build/index-styles.BaICoyCD.mjs.map +1 -0
  168. package/.output/server/chunks/build/index-styles.Cy221X-R.mjs +8 -0
  169. package/.output/server/chunks/build/index-styles.Cy221X-R.mjs.map +1 -0
  170. package/.output/server/chunks/build/kanban-CMVmXpCA.mjs +304 -0
  171. package/.output/server/chunks/build/kanban-CMVmXpCA.mjs.map +1 -0
  172. package/.output/server/chunks/build/kanban-styles.CWalvI0C.mjs +8 -0
  173. package/.output/server/chunks/build/kanban-styles.CWalvI0C.mjs.map +1 -0
  174. package/.output/server/chunks/build/landing-DK6wjn6b.mjs +52 -0
  175. package/.output/server/chunks/build/landing-DK6wjn6b.mjs.map +1 -0
  176. package/.output/server/chunks/build/landing-styles.Bx73xEdX.mjs +8 -0
  177. package/.output/server/chunks/build/landing-styles.Bx73xEdX.mjs.map +1 -0
  178. package/.output/server/chunks/build/new-BUvtXOoH.mjs +107 -0
  179. package/.output/server/chunks/build/new-BUvtXOoH.mjs.map +1 -0
  180. package/.output/server/chunks/build/new-DMctSKBX.mjs +171 -0
  181. package/.output/server/chunks/build/new-DMctSKBX.mjs.map +1 -0
  182. package/.output/server/chunks/build/new-styles.Chk5u_6M.mjs +8 -0
  183. package/.output/server/chunks/build/new-styles.Chk5u_6M.mjs.map +1 -0
  184. package/.output/server/chunks/build/new-styles.KSbzjZvD.mjs +8 -0
  185. package/.output/server/chunks/build/new-styles.KSbzjZvD.mjs.map +1 -0
  186. package/.output/server/chunks/build/nuxt-link-Cq8xZgFP.mjs +286 -0
  187. package/.output/server/chunks/build/nuxt-link-Cq8xZgFP.mjs.map +1 -0
  188. package/.output/server/chunks/build/prompt-BD-UncOd.mjs +167 -0
  189. package/.output/server/chunks/build/prompt-BD-UncOd.mjs.map +1 -0
  190. package/.output/server/chunks/build/prompt-BzvhmzrW.mjs +121 -0
  191. package/.output/server/chunks/build/prompt-BzvhmzrW.mjs.map +1 -0
  192. package/.output/server/chunks/build/prompt-evT7Aaj_.mjs +118 -0
  193. package/.output/server/chunks/build/prompt-evT7Aaj_.mjs.map +1 -0
  194. package/.output/server/chunks/build/prompt-styles.ByKVLx31.mjs +8 -0
  195. package/.output/server/chunks/build/prompt-styles.ByKVLx31.mjs.map +1 -0
  196. package/.output/server/chunks/build/prompt-styles.DWfublIG.mjs +8 -0
  197. package/.output/server/chunks/build/prompt-styles.DWfublIG.mjs.map +1 -0
  198. package/.output/server/chunks/build/prompt-styles.i7UlDRDv.mjs +8 -0
  199. package/.output/server/chunks/build/prompt-styles.i7UlDRDv.mjs.map +1 -0
  200. package/.output/server/chunks/build/server.mjs +6262 -0
  201. package/.output/server/chunks/build/server.mjs.map +1 -0
  202. package/.output/server/chunks/build/stats-Cxo5MAfa.mjs +184 -0
  203. package/.output/server/chunks/build/stats-Cxo5MAfa.mjs.map +1 -0
  204. package/.output/server/chunks/build/stats-styles.B6f61PbZ.mjs +8 -0
  205. package/.output/server/chunks/build/stats-styles.B6f61PbZ.mjs.map +1 -0
  206. package/.output/server/chunks/build/styles.mjs +82 -0
  207. package/.output/server/chunks/build/styles.mjs.map +1 -0
  208. package/.output/server/chunks/build/terminal-B0__67-c.mjs +134 -0
  209. package/.output/server/chunks/build/terminal-B0__67-c.mjs.map +1 -0
  210. package/.output/server/chunks/build/terminal-BtTmOD6s.mjs +128 -0
  211. package/.output/server/chunks/build/terminal-BtTmOD6s.mjs.map +1 -0
  212. package/.output/server/chunks/build/terminal-D_WbT8Ri.mjs +134 -0
  213. package/.output/server/chunks/build/terminal-D_WbT8Ri.mjs.map +1 -0
  214. package/.output/server/chunks/build/terminal-styles.C3XDlIUb.mjs +8 -0
  215. package/.output/server/chunks/build/terminal-styles.C3XDlIUb.mjs.map +1 -0
  216. package/.output/server/chunks/build/terminal-styles.CPOm0b7Y.mjs +8 -0
  217. package/.output/server/chunks/build/terminal-styles.CPOm0b7Y.mjs.map +1 -0
  218. package/.output/server/chunks/build/terminal-styles.TrVlIkii.mjs +8 -0
  219. package/.output/server/chunks/build/terminal-styles.TrVlIkii.mjs.map +1 -0
  220. package/.output/server/chunks/build/useApiError-BSStUojq.mjs +54 -0
  221. package/.output/server/chunks/build/useApiError-BSStUojq.mjs.map +1 -0
  222. package/.output/server/chunks/build/useNotification-BqDqaGnC.mjs +49 -0
  223. package/.output/server/chunks/build/useNotification-BqDqaGnC.mjs.map +1 -0
  224. package/.output/server/chunks/build/usePipeline-ZPHbtOs6.mjs +158 -0
  225. package/.output/server/chunks/build/usePipeline-ZPHbtOs6.mjs.map +1 -0
  226. package/.output/server/chunks/build/useWebSocket-UbMCn0vY.mjs +47 -0
  227. package/.output/server/chunks/build/useWebSocket-UbMCn0vY.mjs.map +1 -0
  228. package/.output/server/chunks/nitro/nitro.mjs +14666 -0
  229. package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  230. package/.output/server/chunks/routes/_ws.mjs +50 -0
  231. package/.output/server/chunks/routes/_ws.mjs.map +1 -0
  232. package/.output/server/chunks/routes/api/catalog/autocreate/apply.post.mjs +67 -0
  233. package/.output/server/chunks/routes/api/catalog/autocreate/apply.post.mjs.map +1 -0
  234. package/.output/server/chunks/routes/api/catalog/autocreate.post.mjs +158 -0
  235. package/.output/server/chunks/routes/api/catalog/autocreate.post.mjs.map +1 -0
  236. package/.output/server/chunks/routes/api/changelog/summary.post.mjs +140 -0
  237. package/.output/server/chunks/routes/api/changelog/summary.post.mjs.map +1 -0
  238. package/.output/server/chunks/routes/api/changelog.get.mjs +83 -0
  239. package/.output/server/chunks/routes/api/changelog.get.mjs.map +1 -0
  240. package/.output/server/chunks/routes/api/columns/_slug/actions.get.mjs +43 -0
  241. package/.output/server/chunks/routes/api/columns/_slug/actions.get.mjs.map +1 -0
  242. package/.output/server/chunks/routes/api/columns/_slug/prompt.get.mjs +44 -0
  243. package/.output/server/chunks/routes/api/columns/_slug/prompt.get.mjs.map +1 -0
  244. package/.output/server/chunks/routes/api/health.get.mjs +61 -0
  245. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -0
  246. package/.output/server/chunks/routes/api/index.get.mjs +80 -0
  247. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -0
  248. package/.output/server/chunks/routes/api/index.get2.mjs +39 -0
  249. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -0
  250. package/.output/server/chunks/routes/api/index.get3.mjs +55 -0
  251. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -0
  252. package/.output/server/chunks/routes/api/index.get4.mjs +46 -0
  253. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -0
  254. package/.output/server/chunks/routes/api/index.post.mjs +104 -0
  255. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -0
  256. package/.output/server/chunks/routes/api/index.post2.mjs +73 -0
  257. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -0
  258. package/.output/server/chunks/routes/api/index.post3.mjs +64 -0
  259. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -0
  260. package/.output/server/chunks/routes/api/issues/_id/_column/log.get.mjs +90 -0
  261. package/.output/server/chunks/routes/api/issues/_id/_column/log.get.mjs.map +1 -0
  262. package/.output/server/chunks/routes/api/issues/_id/ancestors.get.mjs +57 -0
  263. package/.output/server/chunks/routes/api/issues/_id/ancestors.get.mjs.map +1 -0
  264. package/.output/server/chunks/routes/api/issues/_id/archive.delete.mjs +67 -0
  265. package/.output/server/chunks/routes/api/issues/_id/archive.delete.mjs.map +1 -0
  266. package/.output/server/chunks/routes/api/issues/_id/attachments/_attachmentId_.delete.mjs +75 -0
  267. package/.output/server/chunks/routes/api/issues/_id/attachments/_attachmentId_.delete.mjs.map +1 -0
  268. package/.output/server/chunks/routes/api/issues/_id/attachments/_attachmentId_.get.mjs +73 -0
  269. package/.output/server/chunks/routes/api/issues/_id/attachments/_attachmentId_.get.mjs.map +1 -0
  270. package/.output/server/chunks/routes/api/issues/_id/attachments.get.mjs +51 -0
  271. package/.output/server/chunks/routes/api/issues/_id/attachments.get.mjs.map +1 -0
  272. package/.output/server/chunks/routes/api/issues/_id/attachments.post.mjs +103 -0
  273. package/.output/server/chunks/routes/api/issues/_id/attachments.post.mjs.map +1 -0
  274. package/.output/server/chunks/routes/api/issues/_id/children.get.mjs +57 -0
  275. package/.output/server/chunks/routes/api/issues/_id/children.get.mjs.map +1 -0
  276. package/.output/server/chunks/routes/api/issues/_id/comments.get.mjs +50 -0
  277. package/.output/server/chunks/routes/api/issues/_id/comments.get.mjs.map +1 -0
  278. package/.output/server/chunks/routes/api/issues/_id/comments.post.mjs +66 -0
  279. package/.output/server/chunks/routes/api/issues/_id/comments.post.mjs.map +1 -0
  280. package/.output/server/chunks/routes/api/issues/_id/full-history.get.mjs +79 -0
  281. package/.output/server/chunks/routes/api/issues/_id/full-history.get.mjs.map +1 -0
  282. package/.output/server/chunks/routes/api/issues/_id/full-terminal.get.mjs +88 -0
  283. package/.output/server/chunks/routes/api/issues/_id/full-terminal.get.mjs.map +1 -0
  284. package/.output/server/chunks/routes/api/issues/_id/history/_sessionId/log.get.mjs +84 -0
  285. package/.output/server/chunks/routes/api/issues/_id/history/_sessionId/log.get.mjs.map +1 -0
  286. package/.output/server/chunks/routes/api/issues/_id/history/_sessionId/prompt.get.mjs +57 -0
  287. package/.output/server/chunks/routes/api/issues/_id/history/_sessionId/prompt.get.mjs.map +1 -0
  288. package/.output/server/chunks/routes/api/issues/_id/history.get.mjs +68 -0
  289. package/.output/server/chunks/routes/api/issues/_id/history.get.mjs.map +1 -0
  290. package/.output/server/chunks/routes/api/issues/_id/log.get.mjs +75 -0
  291. package/.output/server/chunks/routes/api/issues/_id/log.get.mjs.map +1 -0
  292. package/.output/server/chunks/routes/api/issues/_id/move.post.mjs +87 -0
  293. package/.output/server/chunks/routes/api/issues/_id/move.post.mjs.map +1 -0
  294. package/.output/server/chunks/routes/api/issues/_id/next.post.mjs +78 -0
  295. package/.output/server/chunks/routes/api/issues/_id/next.post.mjs.map +1 -0
  296. package/.output/server/chunks/routes/api/issues/_id_.get.mjs +63 -0
  297. package/.output/server/chunks/routes/api/issues/_id_.get.mjs.map +1 -0
  298. package/.output/server/chunks/routes/api/issues/_id_.patch.mjs +70 -0
  299. package/.output/server/chunks/routes/api/issues/_id_.patch.mjs.map +1 -0
  300. package/.output/server/chunks/routes/api/issues/actionable.get.mjs +60 -0
  301. package/.output/server/chunks/routes/api/issues/actionable.get.mjs.map +1 -0
  302. package/.output/server/chunks/routes/api/issues/autocomplete.post.mjs +110 -0
  303. package/.output/server/chunks/routes/api/issues/autocomplete.post.mjs.map +1 -0
  304. package/.output/server/chunks/routes/api/issues/graph.get.mjs +69 -0
  305. package/.output/server/chunks/routes/api/issues/graph.get.mjs.map +1 -0
  306. package/.output/server/chunks/routes/api/pipelines/_name/activate.put.mjs +59 -0
  307. package/.output/server/chunks/routes/api/pipelines/_name/activate.put.mjs.map +1 -0
  308. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/activate.put.mjs +58 -0
  309. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/activate.put.mjs.map +1 -0
  310. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/finalize.post.mjs +69 -0
  311. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version/finalize.post.mjs.map +1 -0
  312. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.delete.mjs +58 -0
  313. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.delete.mjs.map +1 -0
  314. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.get.mjs +68 -0
  315. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.get.mjs.map +1 -0
  316. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.put.mjs +70 -0
  317. package/.output/server/chunks/routes/api/pipelines/_name/versions/_version_.put.mjs.map +1 -0
  318. package/.output/server/chunks/routes/api/pipelines/_name/versions.get.mjs +49 -0
  319. package/.output/server/chunks/routes/api/pipelines/_name/versions.get.mjs.map +1 -0
  320. package/.output/server/chunks/routes/api/pipelines/_name/versions.post.mjs +61 -0
  321. package/.output/server/chunks/routes/api/pipelines/_name/versions.post.mjs.map +1 -0
  322. package/.output/server/chunks/routes/api/pipelines/_name_.delete.mjs +54 -0
  323. package/.output/server/chunks/routes/api/pipelines/_name_.delete.mjs.map +1 -0
  324. package/.output/server/chunks/routes/api/pipelines/_name_.get.mjs +63 -0
  325. package/.output/server/chunks/routes/api/pipelines/_name_.get.mjs.map +1 -0
  326. package/.output/server/chunks/routes/api/pipelines/_name_.put.mjs +78 -0
  327. package/.output/server/chunks/routes/api/pipelines/_name_.put.mjs.map +1 -0
  328. package/.output/server/chunks/routes/api/stats.get.mjs +39 -0
  329. package/.output/server/chunks/routes/api/stats.get.mjs.map +1 -0
  330. package/.output/server/chunks/routes/api/status.get.mjs +38 -0
  331. package/.output/server/chunks/routes/api/status.get.mjs.map +1 -0
  332. package/.output/server/chunks/routes/api/workflow/health.get.mjs +40 -0
  333. package/.output/server/chunks/routes/api/workflow/health.get.mjs.map +1 -0
  334. package/.output/server/chunks/routes/api/ws/status.get.mjs +38 -0
  335. package/.output/server/chunks/routes/api/ws/status.get.mjs.map +1 -0
  336. package/.output/server/chunks/routes/renderer.mjs +399 -0
  337. package/.output/server/chunks/routes/renderer.mjs.map +1 -0
  338. package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  339. package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  340. package/.output/server/index.mjs +28 -0
  341. package/.output/server/index.mjs.map +1 -0
  342. package/.output/server/node_modules/.prisma/client/default.js +5 -0
  343. package/.output/server/node_modules/.prisma/client/index.js +224 -0
  344. package/.output/server/node_modules/.prisma/client/package.json +144 -0
  345. package/.output/server/node_modules/.prisma/client/query_compiler_bg.js +2 -0
  346. package/.output/server/node_modules/.prisma/client/query_compiler_bg.wasm-base64.js +2 -0
  347. package/.output/server/node_modules/.prisma/package.json +4 -0
  348. package/.output/server/node_modules/@babel/parser/lib/index.js +14662 -0
  349. package/.output/server/node_modules/@babel/parser/package.json +50 -0
  350. package/.output/server/node_modules/@intlify/core/dist/core.mjs +31 -0
  351. package/.output/server/node_modules/@intlify/core/package.json +82 -0
  352. package/.output/server/node_modules/@intlify/core-base/dist/core-base.mjs +1886 -0
  353. package/.output/server/node_modules/@intlify/core-base/package.json +80 -0
  354. package/.output/server/node_modules/@intlify/h3/dist/index.mjs +65 -0
  355. package/.output/server/node_modules/@intlify/h3/package.json +122 -0
  356. package/.output/server/node_modules/@intlify/message-compiler/dist/message-compiler.mjs +1530 -0
  357. package/.output/server/node_modules/@intlify/message-compiler/package.json +79 -0
  358. package/.output/server/node_modules/@intlify/shared/dist/shared.mjs +281 -0
  359. package/.output/server/node_modules/@intlify/shared/package.json +69 -0
  360. package/.output/server/node_modules/@intlify/utils/dist/h3.mjs +89 -0
  361. package/.output/server/node_modules/@intlify/utils/dist/shared/utils.9f8159f5.mjs +108 -0
  362. package/.output/server/node_modules/@intlify/utils/package.json +129 -0
  363. package/.output/server/node_modules/@prisma/adapter-better-sqlite3/dist/index.mjs +619 -0
  364. package/.output/server/node_modules/@prisma/adapter-better-sqlite3/package.json +45 -0
  365. package/.output/server/node_modules/@prisma/client/default.js +3 -0
  366. package/.output/server/node_modules/@prisma/client/package.json +281 -0
  367. package/.output/server/node_modules/@prisma/client/runtime/client.js +82 -0
  368. package/.output/server/node_modules/@prisma/client-runtime-utils/dist/index.js +2552 -0
  369. package/.output/server/node_modules/@prisma/client-runtime-utils/package.json +39 -0
  370. package/.output/server/node_modules/@prisma/debug/dist/index.mjs +213 -0
  371. package/.output/server/node_modules/@prisma/debug/package.json +47 -0
  372. package/.output/server/node_modules/@prisma/driver-adapter-utils/dist/index.mjs +245 -0
  373. package/.output/server/node_modules/@prisma/driver-adapter-utils/package.json +40 -0
  374. package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6763 -0
  375. package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  376. package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
  377. package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  378. package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
  379. package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  380. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/api.js +2 -0
  381. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/app.js +2 -0
  382. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/component.js +2 -0
  383. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/context.js +2 -0
  384. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/hooks.js +2 -0
  385. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/index.js +22 -0
  386. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/util.js +2 -0
  387. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/const.js +5 -0
  388. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/env.js +17 -0
  389. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/index.js +45 -0
  390. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/plugin.js +2 -0
  391. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/proxy.js +111 -0
  392. package/.output/server/node_modules/@vue/devtools-api/lib/cjs/time.js +28 -0
  393. package/.output/server/node_modules/@vue/devtools-api/package.json +37 -0
  394. package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1853 -0
  395. package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  396. package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6770 -0
  397. package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  398. package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1732 -0
  399. package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  400. package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +879 -0
  401. package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  402. package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
  403. package/.output/server/node_modules/@vue/shared/package.json +47 -0
  404. package/.output/server/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  405. package/.output/server/node_modules/better-sqlite3/lib/database.js +90 -0
  406. package/.output/server/node_modules/better-sqlite3/lib/index.js +3 -0
  407. package/.output/server/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  408. package/.output/server/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  409. package/.output/server/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  410. package/.output/server/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  411. package/.output/server/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  412. package/.output/server/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  413. package/.output/server/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  414. package/.output/server/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  415. package/.output/server/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  416. package/.output/server/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  417. package/.output/server/node_modules/better-sqlite3/lib/util.js +12 -0
  418. package/.output/server/node_modules/better-sqlite3/package.json +59 -0
  419. package/.output/server/node_modules/bindings/bindings.js +221 -0
  420. package/.output/server/node_modules/bindings/package.json +28 -0
  421. package/.output/server/node_modules/cookie-es/dist/index.mjs +262 -0
  422. package/.output/server/node_modules/cookie-es/package.json +46 -0
  423. package/.output/server/node_modules/d3/package.json +92 -0
  424. package/.output/server/node_modules/d3/src/index.js +30 -0
  425. package/.output/server/node_modules/d3-array/package.json +61 -0
  426. package/.output/server/node_modules/d3-array/src/array.js +4 -0
  427. package/.output/server/node_modules/d3-array/src/ascending.js +3 -0
  428. package/.output/server/node_modules/d3-array/src/bin.js +125 -0
  429. package/.output/server/node_modules/d3-array/src/bisect.js +9 -0
  430. package/.output/server/node_modules/d3-array/src/bisector.js +56 -0
  431. package/.output/server/node_modules/d3-array/src/blur.js +115 -0
  432. package/.output/server/node_modules/d3-array/src/constant.js +3 -0
  433. package/.output/server/node_modules/d3-array/src/count.js +18 -0
  434. package/.output/server/node_modules/d3-array/src/cross.js +33 -0
  435. package/.output/server/node_modules/d3-array/src/cumsum.js +6 -0
  436. package/.output/server/node_modules/d3-array/src/descending.js +7 -0
  437. package/.output/server/node_modules/d3-array/src/deviation.js +6 -0
  438. package/.output/server/node_modules/d3-array/src/difference.js +11 -0
  439. package/.output/server/node_modules/d3-array/src/disjoint.js +15 -0
  440. package/.output/server/node_modules/d3-array/src/every.js +10 -0
  441. package/.output/server/node_modules/d3-array/src/extent.js +29 -0
  442. package/.output/server/node_modules/d3-array/src/filter.js +11 -0
  443. package/.output/server/node_modules/d3-array/src/fsum.js +69 -0
  444. package/.output/server/node_modules/d3-array/src/greatest.js +29 -0
  445. package/.output/server/node_modules/d3-array/src/greatestIndex.js +19 -0
  446. package/.output/server/node_modules/d3-array/src/group.js +65 -0
  447. package/.output/server/node_modules/d3-array/src/groupSort.js +10 -0
  448. package/.output/server/node_modules/d3-array/src/identity.js +3 -0
  449. package/.output/server/node_modules/d3-array/src/index.js +57 -0
  450. package/.output/server/node_modules/d3-array/src/intersection.js +19 -0
  451. package/.output/server/node_modules/d3-array/src/least.js +29 -0
  452. package/.output/server/node_modules/d3-array/src/leastIndex.js +19 -0
  453. package/.output/server/node_modules/d3-array/src/map.js +5 -0
  454. package/.output/server/node_modules/d3-array/src/max.js +20 -0
  455. package/.output/server/node_modules/d3-array/src/maxIndex.js +22 -0
  456. package/.output/server/node_modules/d3-array/src/mean.js +19 -0
  457. package/.output/server/node_modules/d3-array/src/median.js +9 -0
  458. package/.output/server/node_modules/d3-array/src/merge.js +9 -0
  459. package/.output/server/node_modules/d3-array/src/min.js +20 -0
  460. package/.output/server/node_modules/d3-array/src/minIndex.js +22 -0
  461. package/.output/server/node_modules/d3-array/src/mode.js +28 -0
  462. package/.output/server/node_modules/d3-array/src/nice.js +18 -0
  463. package/.output/server/node_modules/d3-array/src/number.js +20 -0
  464. package/.output/server/node_modules/d3-array/src/pairs.js +15 -0
  465. package/.output/server/node_modules/d3-array/src/permute.js +3 -0
  466. package/.output/server/node_modules/d3-array/src/quantile.js +47 -0
  467. package/.output/server/node_modules/d3-array/src/quickselect.js +53 -0
  468. package/.output/server/node_modules/d3-array/src/range.js +13 -0
  469. package/.output/server/node_modules/d3-array/src/rank.js +24 -0
  470. package/.output/server/node_modules/d3-array/src/reduce.js +14 -0
  471. package/.output/server/node_modules/d3-array/src/reverse.js +4 -0
  472. package/.output/server/node_modules/d3-array/src/scan.js +6 -0
  473. package/.output/server/node_modules/d3-array/src/shuffle.js +13 -0
  474. package/.output/server/node_modules/d3-array/src/some.js +10 -0
  475. package/.output/server/node_modules/d3-array/src/sort.js +39 -0
  476. package/.output/server/node_modules/d3-array/src/subset.js +5 -0
  477. package/.output/server/node_modules/d3-array/src/sum.js +18 -0
  478. package/.output/server/node_modules/d3-array/src/superset.js +19 -0
  479. package/.output/server/node_modules/d3-array/src/threshold/freedmanDiaconis.js +7 -0
  480. package/.output/server/node_modules/d3-array/src/threshold/scott.js +7 -0
  481. package/.output/server/node_modules/d3-array/src/threshold/sturges.js +5 -0
  482. package/.output/server/node_modules/d3-array/src/ticks.js +55 -0
  483. package/.output/server/node_modules/d3-array/src/transpose.js +15 -0
  484. package/.output/server/node_modules/d3-array/src/union.js +11 -0
  485. package/.output/server/node_modules/d3-array/src/variance.js +25 -0
  486. package/.output/server/node_modules/d3-array/src/zip.js +5 -0
  487. package/.output/server/node_modules/d3-axis/package.json +54 -0
  488. package/.output/server/node_modules/d3-axis/src/axis.js +174 -0
  489. package/.output/server/node_modules/d3-axis/src/identity.js +3 -0
  490. package/.output/server/node_modules/d3-axis/src/index.js +6 -0
  491. package/.output/server/node_modules/d3-brush/package.json +55 -0
  492. package/.output/server/node_modules/d3-brush/src/brush.js +621 -0
  493. package/.output/server/node_modules/d3-brush/src/constant.js +1 -0
  494. package/.output/server/node_modules/d3-brush/src/event.js +16 -0
  495. package/.output/server/node_modules/d3-brush/src/index.js +6 -0
  496. package/.output/server/node_modules/d3-brush/src/noevent.js +8 -0
  497. package/.output/server/node_modules/d3-chord/package.json +54 -0
  498. package/.output/server/node_modules/d3-chord/src/array.js +1 -0
  499. package/.output/server/node_modules/d3-chord/src/chord.js +122 -0
  500. package/.output/server/node_modules/d3-chord/src/constant.js +5 -0
  501. package/.output/server/node_modules/d3-chord/src/index.js +2 -0
  502. package/.output/server/node_modules/d3-chord/src/math.js +8 -0
  503. package/.output/server/node_modules/d3-chord/src/ribbon.js +134 -0
  504. package/.output/server/node_modules/d3-color/package.json +54 -0
  505. package/.output/server/node_modules/d3-color/src/color.js +396 -0
  506. package/.output/server/node_modules/d3-color/src/cubehelix.js +61 -0
  507. package/.output/server/node_modules/d3-color/src/define.js +10 -0
  508. package/.output/server/node_modules/d3-color/src/index.js +3 -0
  509. package/.output/server/node_modules/d3-color/src/lab.js +123 -0
  510. package/.output/server/node_modules/d3-color/src/math.js +2 -0
  511. package/.output/server/node_modules/d3-contour/package.json +66 -0
  512. package/.output/server/node_modules/d3-contour/src/area.js +5 -0
  513. package/.output/server/node_modules/d3-contour/src/array.js +3 -0
  514. package/.output/server/node_modules/d3-contour/src/ascending.js +3 -0
  515. package/.output/server/node_modules/d3-contour/src/constant.js +1 -0
  516. package/.output/server/node_modules/d3-contour/src/contains.js +27 -0
  517. package/.output/server/node_modules/d3-contour/src/contours.js +225 -0
  518. package/.output/server/node_modules/d3-contour/src/density.js +149 -0
  519. package/.output/server/node_modules/d3-contour/src/index.js +2 -0
  520. package/.output/server/node_modules/d3-contour/src/noop.js +1 -0
  521. package/.output/server/node_modules/d3-delaunay/package.json +62 -0
  522. package/.output/server/node_modules/d3-delaunay/src/delaunay.js +248 -0
  523. package/.output/server/node_modules/d3-delaunay/src/index.js +2 -0
  524. package/.output/server/node_modules/d3-delaunay/src/path.js +37 -0
  525. package/.output/server/node_modules/d3-delaunay/src/polygon.js +17 -0
  526. package/.output/server/node_modules/d3-delaunay/src/voronoi.js +332 -0
  527. package/.output/server/node_modules/d3-dispatch/package.json +50 -0
  528. package/.output/server/node_modules/d3-dispatch/src/dispatch.js +84 -0
  529. package/.output/server/node_modules/d3-dispatch/src/index.js +1 -0
  530. package/.output/server/node_modules/d3-drag/package.json +54 -0
  531. package/.output/server/node_modules/d3-drag/src/constant.js +1 -0
  532. package/.output/server/node_modules/d3-drag/src/drag.js +194 -0
  533. package/.output/server/node_modules/d3-drag/src/event.js +28 -0
  534. package/.output/server/node_modules/d3-drag/src/index.js +2 -0
  535. package/.output/server/node_modules/d3-drag/src/nodrag.js +28 -0
  536. package/.output/server/node_modules/d3-drag/src/noevent.js +13 -0
  537. package/.output/server/node_modules/d3-dsv/package.json +68 -0
  538. package/.output/server/node_modules/d3-dsv/src/autoType.js +20 -0
  539. package/.output/server/node_modules/d3-dsv/src/csv.js +11 -0
  540. package/.output/server/node_modules/d3-dsv/src/dsv.js +164 -0
  541. package/.output/server/node_modules/d3-dsv/src/index.js +4 -0
  542. package/.output/server/node_modules/d3-dsv/src/tsv.js +11 -0
  543. package/.output/server/node_modules/d3-ease/package.json +51 -0
  544. package/.output/server/node_modules/d3-ease/src/back.js +37 -0
  545. package/.output/server/node_modules/d3-ease/src/bounce.js +22 -0
  546. package/.output/server/node_modules/d3-ease/src/circle.js +11 -0
  547. package/.output/server/node_modules/d3-ease/src/cubic.js +11 -0
  548. package/.output/server/node_modules/d3-ease/src/elastic.js +46 -0
  549. package/.output/server/node_modules/d3-ease/src/exp.js +13 -0
  550. package/.output/server/node_modules/d3-ease/src/index.js +66 -0
  551. package/.output/server/node_modules/d3-ease/src/linear.js +1 -0
  552. package/.output/server/node_modules/d3-ease/src/math.js +4 -0
  553. package/.output/server/node_modules/d3-ease/src/poly.js +37 -0
  554. package/.output/server/node_modules/d3-ease/src/quad.js +11 -0
  555. package/.output/server/node_modules/d3-ease/src/sin.js +14 -0
  556. package/.output/server/node_modules/d3-fetch/package.json +53 -0
  557. package/.output/server/node_modules/d3-fetch/src/blob.js +8 -0
  558. package/.output/server/node_modules/d3-fetch/src/buffer.js +8 -0
  559. package/.output/server/node_modules/d3-fetch/src/dsv.js +22 -0
  560. package/.output/server/node_modules/d3-fetch/src/image.js +9 -0
  561. package/.output/server/node_modules/d3-fetch/src/index.js +7 -0
  562. package/.output/server/node_modules/d3-fetch/src/json.js +9 -0
  563. package/.output/server/node_modules/d3-fetch/src/text.js +8 -0
  564. package/.output/server/node_modules/d3-fetch/src/xml.js +12 -0
  565. package/.output/server/node_modules/d3-force/package.json +58 -0
  566. package/.output/server/node_modules/d3-force/src/center.js +40 -0
  567. package/.output/server/node_modules/d3-force/src/collide.js +100 -0
  568. package/.output/server/node_modules/d3-force/src/constant.js +5 -0
  569. package/.output/server/node_modules/d3-force/src/index.js +8 -0
  570. package/.output/server/node_modules/d3-force/src/jiggle.js +3 -0
  571. package/.output/server/node_modules/d3-force/src/lcg.js +9 -0
  572. package/.output/server/node_modules/d3-force/src/link.js +117 -0
  573. package/.output/server/node_modules/d3-force/src/manyBody.js +116 -0
  574. package/.output/server/node_modules/d3-force/src/radial.js +57 -0
  575. package/.output/server/node_modules/d3-force/src/simulation.js +156 -0
  576. package/.output/server/node_modules/d3-force/src/x.js +41 -0
  577. package/.output/server/node_modules/d3-force/src/y.js +41 -0
  578. package/.output/server/node_modules/d3-format/package.json +55 -0
  579. package/.output/server/node_modules/d3-format/src/defaultLocale.js +18 -0
  580. package/.output/server/node_modules/d3-format/src/exponent.js +5 -0
  581. package/.output/server/node_modules/d3-format/src/formatDecimal.js +20 -0
  582. package/.output/server/node_modules/d3-format/src/formatGroup.js +18 -0
  583. package/.output/server/node_modules/d3-format/src/formatNumerals.js +7 -0
  584. package/.output/server/node_modules/d3-format/src/formatPrefixAuto.js +16 -0
  585. package/.output/server/node_modules/d3-format/src/formatRounded.js +11 -0
  586. package/.output/server/node_modules/d3-format/src/formatSpecifier.js +47 -0
  587. package/.output/server/node_modules/d3-format/src/formatTrim.js +11 -0
  588. package/.output/server/node_modules/d3-format/src/formatTypes.js +19 -0
  589. package/.output/server/node_modules/d3-format/src/identity.js +3 -0
  590. package/.output/server/node_modules/d3-format/src/index.js +6 -0
  591. package/.output/server/node_modules/d3-format/src/locale.js +148 -0
  592. package/.output/server/node_modules/d3-format/src/precisionFixed.js +5 -0
  593. package/.output/server/node_modules/d3-format/src/precisionPrefix.js +5 -0
  594. package/.output/server/node_modules/d3-format/src/precisionRound.js +6 -0
  595. package/.output/server/node_modules/d3-geo/package.json +59 -0
  596. package/.output/server/node_modules/d3-geo/src/area.js +76 -0
  597. package/.output/server/node_modules/d3-geo/src/bounds.js +179 -0
  598. package/.output/server/node_modules/d3-geo/src/cartesian.js +33 -0
  599. package/.output/server/node_modules/d3-geo/src/centroid.js +143 -0
  600. package/.output/server/node_modules/d3-geo/src/circle.js +72 -0
  601. package/.output/server/node_modules/d3-geo/src/clip/antimeridian.js +92 -0
  602. package/.output/server/node_modules/d3-geo/src/clip/buffer.js +24 -0
  603. package/.output/server/node_modules/d3-geo/src/clip/circle.js +177 -0
  604. package/.output/server/node_modules/d3-geo/src/clip/extent.js +20 -0
  605. package/.output/server/node_modules/d3-geo/src/clip/index.js +131 -0
  606. package/.output/server/node_modules/d3-geo/src/clip/line.js +59 -0
  607. package/.output/server/node_modules/d3-geo/src/clip/rectangle.js +168 -0
  608. package/.output/server/node_modules/d3-geo/src/clip/rejoin.js +103 -0
  609. package/.output/server/node_modules/d3-geo/src/compose.js +12 -0
  610. package/.output/server/node_modules/d3-geo/src/constant.js +5 -0
  611. package/.output/server/node_modules/d3-geo/src/contains.js +97 -0
  612. package/.output/server/node_modules/d3-geo/src/distance.js +10 -0
  613. package/.output/server/node_modules/d3-geo/src/graticule.js +105 -0
  614. package/.output/server/node_modules/d3-geo/src/identity.js +1 -0
  615. package/.output/server/node_modules/d3-geo/src/index.js +34 -0
  616. package/.output/server/node_modules/d3-geo/src/interpolate.js +36 -0
  617. package/.output/server/node_modules/d3-geo/src/length.js +53 -0
  618. package/.output/server/node_modules/d3-geo/src/math.js +36 -0
  619. package/.output/server/node_modules/d3-geo/src/noop.js +1 -0
  620. package/.output/server/node_modules/d3-geo/src/path/area.js +50 -0
  621. package/.output/server/node_modules/d3-geo/src/path/bounds.js +28 -0
  622. package/.output/server/node_modules/d3-geo/src/path/centroid.js +100 -0
  623. package/.output/server/node_modules/d3-geo/src/path/context.js +45 -0
  624. package/.output/server/node_modules/d3-geo/src/path/index.js +76 -0
  625. package/.output/server/node_modules/d3-geo/src/path/measure.js +45 -0
  626. package/.output/server/node_modules/d3-geo/src/path/string.js +86 -0
  627. package/.output/server/node_modules/d3-geo/src/pointEqual.js +5 -0
  628. package/.output/server/node_modules/d3-geo/src/polygonContains.js +74 -0
  629. package/.output/server/node_modules/d3-geo/src/projection/albers.js +10 -0
  630. package/.output/server/node_modules/d3-geo/src/projection/albersUsa.js +111 -0
  631. package/.output/server/node_modules/d3-geo/src/projection/azimuthal.js +27 -0
  632. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +17 -0
  633. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +17 -0
  634. package/.output/server/node_modules/d3-geo/src/projection/conic.js +15 -0
  635. package/.output/server/node_modules/d3-geo/src/projection/conicConformal.js +38 -0
  636. package/.output/server/node_modules/d3-geo/src/projection/conicEqualArea.js +33 -0
  637. package/.output/server/node_modules/d3-geo/src/projection/conicEquidistant.js +32 -0
  638. package/.output/server/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +15 -0
  639. package/.output/server/node_modules/d3-geo/src/projection/equalEarth.js +36 -0
  640. package/.output/server/node_modules/d3-geo/src/projection/equirectangular.js +12 -0
  641. package/.output/server/node_modules/d3-geo/src/projection/fit.js +47 -0
  642. package/.output/server/node_modules/d3-geo/src/projection/gnomonic.js +16 -0
  643. package/.output/server/node_modules/d3-geo/src/projection/identity.js +85 -0
  644. package/.output/server/node_modules/d3-geo/src/projection/index.js +177 -0
  645. package/.output/server/node_modules/d3-geo/src/projection/mercator.js +52 -0
  646. package/.output/server/node_modules/d3-geo/src/projection/naturalEarth1.js +28 -0
  647. package/.output/server/node_modules/d3-geo/src/projection/orthographic.js +15 -0
  648. package/.output/server/node_modules/d3-geo/src/projection/resample.js +102 -0
  649. package/.output/server/node_modules/d3-geo/src/projection/stereographic.js +18 -0
  650. package/.output/server/node_modules/d3-geo/src/projection/transverseMercator.js +27 -0
  651. package/.output/server/node_modules/d3-geo/src/rotation.js +79 -0
  652. package/.output/server/node_modules/d3-geo/src/stream.js +69 -0
  653. package/.output/server/node_modules/d3-geo/src/transform.js +26 -0
  654. package/.output/server/node_modules/d3-hierarchy/package.json +56 -0
  655. package/.output/server/node_modules/d3-hierarchy/src/accessors.js +8 -0
  656. package/.output/server/node_modules/d3-hierarchy/src/array.js +20 -0
  657. package/.output/server/node_modules/d3-hierarchy/src/cluster.js +84 -0
  658. package/.output/server/node_modules/d3-hierarchy/src/constant.js +9 -0
  659. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/ancestors.js +7 -0
  660. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/count.js +12 -0
  661. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/descendants.js +3 -0
  662. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/each.js +7 -0
  663. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +15 -0
  664. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +12 -0
  665. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/find.js +8 -0
  666. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/index.js +91 -0
  667. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/iterator.js +14 -0
  668. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/leaves.js +9 -0
  669. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/links.js +9 -0
  670. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/path.js +30 -0
  671. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sort.js +7 -0
  672. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sum.js +9 -0
  673. package/.output/server/node_modules/d3-hierarchy/src/index.js +15 -0
  674. package/.output/server/node_modules/d3-hierarchy/src/lcg.js +9 -0
  675. package/.output/server/node_modules/d3-hierarchy/src/pack/enclose.js +123 -0
  676. package/.output/server/node_modules/d3-hierarchy/src/pack/index.js +81 -0
  677. package/.output/server/node_modules/d3-hierarchy/src/pack/siblings.js +120 -0
  678. package/.output/server/node_modules/d3-hierarchy/src/partition.js +52 -0
  679. package/.output/server/node_modules/d3-hierarchy/src/stratify.js +145 -0
  680. package/.output/server/node_modules/d3-hierarchy/src/tree.js +237 -0
  681. package/.output/server/node_modules/d3-hierarchy/src/treemap/binary.js +46 -0
  682. package/.output/server/node_modules/d3-hierarchy/src/treemap/dice.js +12 -0
  683. package/.output/server/node_modules/d3-hierarchy/src/treemap/index.js +94 -0
  684. package/.output/server/node_modules/d3-hierarchy/src/treemap/resquarify.js +36 -0
  685. package/.output/server/node_modules/d3-hierarchy/src/treemap/round.js +6 -0
  686. package/.output/server/node_modules/d3-hierarchy/src/treemap/slice.js +12 -0
  687. package/.output/server/node_modules/d3-hierarchy/src/treemap/sliceDice.js +6 -0
  688. package/.output/server/node_modules/d3-hierarchy/src/treemap/squarify.js +66 -0
  689. package/.output/server/node_modules/d3-interpolate/package.json +53 -0
  690. package/.output/server/node_modules/d3-interpolate/src/array.js +22 -0
  691. package/.output/server/node_modules/d3-interpolate/src/basis.js +19 -0
  692. package/.output/server/node_modules/d3-interpolate/src/basisClosed.js +13 -0
  693. package/.output/server/node_modules/d3-interpolate/src/color.js +29 -0
  694. package/.output/server/node_modules/d3-interpolate/src/constant.js +1 -0
  695. package/.output/server/node_modules/d3-interpolate/src/cubehelix.js +29 -0
  696. package/.output/server/node_modules/d3-interpolate/src/date.js +6 -0
  697. package/.output/server/node_modules/d3-interpolate/src/discrete.js +6 -0
  698. package/.output/server/node_modules/d3-interpolate/src/hcl.js +21 -0
  699. package/.output/server/node_modules/d3-interpolate/src/hsl.js +21 -0
  700. package/.output/server/node_modules/d3-interpolate/src/hue.js +9 -0
  701. package/.output/server/node_modules/d3-interpolate/src/index.js +21 -0
  702. package/.output/server/node_modules/d3-interpolate/src/lab.js +16 -0
  703. package/.output/server/node_modules/d3-interpolate/src/number.js +5 -0
  704. package/.output/server/node_modules/d3-interpolate/src/numberArray.js +14 -0
  705. package/.output/server/node_modules/d3-interpolate/src/object.js +23 -0
  706. package/.output/server/node_modules/d3-interpolate/src/piecewise.js +11 -0
  707. package/.output/server/node_modules/d3-interpolate/src/quantize.js +5 -0
  708. package/.output/server/node_modules/d3-interpolate/src/rgb.js +55 -0
  709. package/.output/server/node_modules/d3-interpolate/src/round.js +5 -0
  710. package/.output/server/node_modules/d3-interpolate/src/string.js +64 -0
  711. package/.output/server/node_modules/d3-interpolate/src/transform/decompose.js +26 -0
  712. package/.output/server/node_modules/d3-interpolate/src/transform/index.js +63 -0
  713. package/.output/server/node_modules/d3-interpolate/src/transform/parse.js +18 -0
  714. package/.output/server/node_modules/d3-interpolate/src/value.js +22 -0
  715. package/.output/server/node_modules/d3-interpolate/src/zoom.js +71 -0
  716. package/.output/server/node_modules/d3-path/package.json +54 -0
  717. package/.output/server/node_modules/d3-path/src/index.js +1 -0
  718. package/.output/server/node_modules/d3-path/src/path.js +156 -0
  719. package/.output/server/node_modules/d3-polygon/package.json +51 -0
  720. package/.output/server/node_modules/d3-polygon/src/area.js +15 -0
  721. package/.output/server/node_modules/d3-polygon/src/centroid.js +20 -0
  722. package/.output/server/node_modules/d3-polygon/src/contains.js +16 -0
  723. package/.output/server/node_modules/d3-polygon/src/cross.js +7 -0
  724. package/.output/server/node_modules/d3-polygon/src/hull.js +49 -0
  725. package/.output/server/node_modules/d3-polygon/src/index.js +5 -0
  726. package/.output/server/node_modules/d3-polygon/src/length.js +23 -0
  727. package/.output/server/node_modules/d3-quadtree/package.json +49 -0
  728. package/.output/server/node_modules/d3-quadtree/src/add.js +84 -0
  729. package/.output/server/node_modules/d3-quadtree/src/cover.js +43 -0
  730. package/.output/server/node_modules/d3-quadtree/src/data.js +7 -0
  731. package/.output/server/node_modules/d3-quadtree/src/extent.js +5 -0
  732. package/.output/server/node_modules/d3-quadtree/src/find.js +70 -0
  733. package/.output/server/node_modules/d3-quadtree/src/index.js +1 -0
  734. package/.output/server/node_modules/d3-quadtree/src/quad.js +7 -0
  735. package/.output/server/node_modules/d3-quadtree/src/quadtree.js +73 -0
  736. package/.output/server/node_modules/d3-quadtree/src/remove.js +62 -0
  737. package/.output/server/node_modules/d3-quadtree/src/root.js +3 -0
  738. package/.output/server/node_modules/d3-quadtree/src/size.js +7 -0
  739. package/.output/server/node_modules/d3-quadtree/src/visit.js +16 -0
  740. package/.output/server/node_modules/d3-quadtree/src/visitAfter.js +21 -0
  741. package/.output/server/node_modules/d3-quadtree/src/x.js +7 -0
  742. package/.output/server/node_modules/d3-quadtree/src/y.js +7 -0
  743. package/.output/server/node_modules/d3-random/package.json +51 -0
  744. package/.output/server/node_modules/d3-random/src/bates.js +19 -0
  745. package/.output/server/node_modules/d3-random/src/bernoulli.js +14 -0
  746. package/.output/server/node_modules/d3-random/src/beta.js +19 -0
  747. package/.output/server/node_modules/d3-random/src/binomial.js +38 -0
  748. package/.output/server/node_modules/d3-random/src/cauchy.js +15 -0
  749. package/.output/server/node_modules/d3-random/src/defaultSource.js +1 -0
  750. package/.output/server/node_modules/d3-random/src/exponential.js +13 -0
  751. package/.output/server/node_modules/d3-random/src/gamma.js +34 -0
  752. package/.output/server/node_modules/d3-random/src/geometric.js +17 -0
  753. package/.output/server/node_modules/d3-random/src/index.js +18 -0
  754. package/.output/server/node_modules/d3-random/src/int.js +16 -0
  755. package/.output/server/node_modules/d3-random/src/irwinHall.js +15 -0
  756. package/.output/server/node_modules/d3-random/src/lcg.js +9 -0
  757. package/.output/server/node_modules/d3-random/src/logNormal.js +17 -0
  758. package/.output/server/node_modules/d3-random/src/logistic.js +16 -0
  759. package/.output/server/node_modules/d3-random/src/normal.js +28 -0
  760. package/.output/server/node_modules/d3-random/src/pareto.js +15 -0
  761. package/.output/server/node_modules/d3-random/src/poisson.js +27 -0
  762. package/.output/server/node_modules/d3-random/src/uniform.js +17 -0
  763. package/.output/server/node_modules/d3-random/src/weibull.js +22 -0
  764. package/.output/server/node_modules/d3-scale/package.json +57 -0
  765. package/.output/server/node_modules/d3-scale/src/band.js +101 -0
  766. package/.output/server/node_modules/d3-scale/src/constant.js +5 -0
  767. package/.output/server/node_modules/d3-scale/src/continuous.js +125 -0
  768. package/.output/server/node_modules/d3-scale/src/diverging.js +104 -0
  769. package/.output/server/node_modules/d3-scale/src/identity.js +28 -0
  770. package/.output/server/node_modules/d3-scale/src/index.js +78 -0
  771. package/.output/server/node_modules/d3-scale/src/init.js +26 -0
  772. package/.output/server/node_modules/d3-scale/src/linear.js +70 -0
  773. package/.output/server/node_modules/d3-scale/src/log.js +140 -0
  774. package/.output/server/node_modules/d3-scale/src/nice.js +18 -0
  775. package/.output/server/node_modules/d3-scale/src/number.js +3 -0
  776. package/.output/server/node_modules/d3-scale/src/ordinal.js +46 -0
  777. package/.output/server/node_modules/d3-scale/src/pow.js +50 -0
  778. package/.output/server/node_modules/d3-scale/src/quantile.js +57 -0
  779. package/.output/server/node_modules/d3-scale/src/quantize.js +56 -0
  780. package/.output/server/node_modules/d3-scale/src/radial.js +63 -0
  781. package/.output/server/node_modules/d3-scale/src/sequential.js +107 -0
  782. package/.output/server/node_modules/d3-scale/src/sequentialQuantile.js +38 -0
  783. package/.output/server/node_modules/d3-scale/src/symlog.js +35 -0
  784. package/.output/server/node_modules/d3-scale/src/threshold.js +39 -0
  785. package/.output/server/node_modules/d3-scale/src/tickFormat.js +29 -0
  786. package/.output/server/node_modules/d3-scale/src/time.js +71 -0
  787. package/.output/server/node_modules/d3-scale/src/utcTime.js +8 -0
  788. package/.output/server/node_modules/d3-scale-chromatic/package.json +55 -0
  789. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Accent.js +3 -0
  790. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Dark2.js +3 -0
  791. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Paired.js +3 -0
  792. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Pastel1.js +3 -0
  793. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Pastel2.js +3 -0
  794. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Set1.js +3 -0
  795. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Set2.js +3 -0
  796. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Set3.js +3 -0
  797. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/Tableau10.js +3 -0
  798. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/category10.js +3 -0
  799. package/.output/server/node_modules/d3-scale-chromatic/src/categorical/observable10.js +3 -0
  800. package/.output/server/node_modules/d3-scale-chromatic/src/colors.js +5 -0
  801. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/BrBG.js +16 -0
  802. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/PRGn.js +16 -0
  803. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/PiYG.js +16 -0
  804. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/PuOr.js +16 -0
  805. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/RdBu.js +16 -0
  806. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/RdGy.js +16 -0
  807. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js +16 -0
  808. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js +16 -0
  809. package/.output/server/node_modules/d3-scale-chromatic/src/diverging/Spectral.js +16 -0
  810. package/.output/server/node_modules/d3-scale-chromatic/src/index.js +44 -0
  811. package/.output/server/node_modules/d3-scale-chromatic/src/ramp.js +3 -0
  812. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js +14 -0
  813. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js +14 -0
  814. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js +14 -0
  815. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js +14 -0
  816. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js +14 -0
  817. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js +14 -0
  818. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js +14 -0
  819. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js +14 -0
  820. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js +14 -0
  821. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js +14 -0
  822. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js +14 -0
  823. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js +14 -0
  824. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js +8 -0
  825. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js +4 -0
  826. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js +17 -0
  827. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js +14 -0
  828. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js +8 -0
  829. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js +16 -0
  830. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-single/Blues.js +14 -0
  831. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-single/Greens.js +14 -0
  832. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-single/Greys.js +14 -0
  833. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js +14 -0
  834. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-single/Purples.js +14 -0
  835. package/.output/server/node_modules/d3-scale-chromatic/src/sequential-single/Reds.js +14 -0
  836. package/.output/server/node_modules/d3-selection/package.json +51 -0
  837. package/.output/server/node_modules/d3-selection/src/array.js +9 -0
  838. package/.output/server/node_modules/d3-selection/src/constant.js +5 -0
  839. package/.output/server/node_modules/d3-selection/src/create.js +6 -0
  840. package/.output/server/node_modules/d3-selection/src/creator.js +25 -0
  841. package/.output/server/node_modules/d3-selection/src/index.js +15 -0
  842. package/.output/server/node_modules/d3-selection/src/local.js +27 -0
  843. package/.output/server/node_modules/d3-selection/src/matcher.js +12 -0
  844. package/.output/server/node_modules/d3-selection/src/namespace.js +7 -0
  845. package/.output/server/node_modules/d3-selection/src/namespaces.js +9 -0
  846. package/.output/server/node_modules/d3-selection/src/pointer.js +20 -0
  847. package/.output/server/node_modules/d3-selection/src/pointers.js +11 -0
  848. package/.output/server/node_modules/d3-selection/src/select.js +7 -0
  849. package/.output/server/node_modules/d3-selection/src/selectAll.js +8 -0
  850. package/.output/server/node_modules/d3-selection/src/selection/append.js +8 -0
  851. package/.output/server/node_modules/d3-selection/src/selection/attr.js +57 -0
  852. package/.output/server/node_modules/d3-selection/src/selection/call.js +6 -0
  853. package/.output/server/node_modules/d3-selection/src/selection/classed.js +75 -0
  854. package/.output/server/node_modules/d3-selection/src/selection/clone.js +13 -0
  855. package/.output/server/node_modules/d3-selection/src/selection/data.js +128 -0
  856. package/.output/server/node_modules/d3-selection/src/selection/datum.js +5 -0
  857. package/.output/server/node_modules/d3-selection/src/selection/dispatch.js +34 -0
  858. package/.output/server/node_modules/d3-selection/src/selection/each.js +10 -0
  859. package/.output/server/node_modules/d3-selection/src/selection/empty.js +3 -0
  860. package/.output/server/node_modules/d3-selection/src/selection/enter.js +22 -0
  861. package/.output/server/node_modules/d3-selection/src/selection/exit.js +6 -0
  862. package/.output/server/node_modules/d3-selection/src/selection/filter.js +16 -0
  863. package/.output/server/node_modules/d3-selection/src/selection/html.js +25 -0
  864. package/.output/server/node_modules/d3-selection/src/selection/index.js +90 -0
  865. package/.output/server/node_modules/d3-selection/src/selection/insert.js +14 -0
  866. package/.output/server/node_modules/d3-selection/src/selection/iterator.js +7 -0
  867. package/.output/server/node_modules/d3-selection/src/selection/join.js +15 -0
  868. package/.output/server/node_modules/d3-selection/src/selection/lower.js +7 -0
  869. package/.output/server/node_modules/d3-selection/src/selection/merge.js +19 -0
  870. package/.output/server/node_modules/d3-selection/src/selection/node.js +11 -0
  871. package/.output/server/node_modules/d3-selection/src/selection/nodes.js +3 -0
  872. package/.output/server/node_modules/d3-selection/src/selection/on.js +67 -0
  873. package/.output/server/node_modules/d3-selection/src/selection/order.js +13 -0
  874. package/.output/server/node_modules/d3-selection/src/selection/property.js +28 -0
  875. package/.output/server/node_modules/d3-selection/src/selection/raise.js +7 -0
  876. package/.output/server/node_modules/d3-selection/src/selection/remove.js +8 -0
  877. package/.output/server/node_modules/d3-selection/src/selection/select.js +17 -0
  878. package/.output/server/node_modules/d3-selection/src/selection/selectAll.js +25 -0
  879. package/.output/server/node_modules/d3-selection/src/selection/selectChild.js +18 -0
  880. package/.output/server/node_modules/d3-selection/src/selection/selectChildren.js +18 -0
  881. package/.output/server/node_modules/d3-selection/src/selection/size.js +5 -0
  882. package/.output/server/node_modules/d3-selection/src/selection/sort.js +24 -0
  883. package/.output/server/node_modules/d3-selection/src/selection/sparse.js +3 -0
  884. package/.output/server/node_modules/d3-selection/src/selection/style.js +35 -0
  885. package/.output/server/node_modules/d3-selection/src/selection/text.js +25 -0
  886. package/.output/server/node_modules/d3-selection/src/selector.js +7 -0
  887. package/.output/server/node_modules/d3-selection/src/selectorAll.js +9 -0
  888. package/.output/server/node_modules/d3-selection/src/sourceEvent.js +5 -0
  889. package/.output/server/node_modules/d3-selection/src/window.js +5 -0
  890. package/.output/server/node_modules/d3-shape/package.json +55 -0
  891. package/.output/server/node_modules/d3-shape/src/arc.js +268 -0
  892. package/.output/server/node_modules/d3-shape/src/area.js +112 -0
  893. package/.output/server/node_modules/d3-shape/src/areaRadial.js +29 -0
  894. package/.output/server/node_modules/d3-shape/src/array.js +7 -0
  895. package/.output/server/node_modules/d3-shape/src/constant.js +5 -0
  896. package/.output/server/node_modules/d3-shape/src/curve/basis.js +51 -0
  897. package/.output/server/node_modules/d3-shape/src/curve/basisClosed.js +52 -0
  898. package/.output/server/node_modules/d3-shape/src/curve/basisOpen.js +39 -0
  899. package/.output/server/node_modules/d3-shape/src/curve/bump.js +75 -0
  900. package/.output/server/node_modules/d3-shape/src/curve/bundle.js +56 -0
  901. package/.output/server/node_modules/d3-shape/src/curve/cardinal.js +61 -0
  902. package/.output/server/node_modules/d3-shape/src/curve/cardinalClosed.js +61 -0
  903. package/.output/server/node_modules/d3-shape/src/curve/cardinalOpen.js +49 -0
  904. package/.output/server/node_modules/d3-shape/src/curve/catmullRom.js +88 -0
  905. package/.output/server/node_modules/d3-shape/src/curve/catmullRomClosed.js +74 -0
  906. package/.output/server/node_modules/d3-shape/src/curve/catmullRomOpen.js +62 -0
  907. package/.output/server/node_modules/d3-shape/src/curve/linear.js +31 -0
  908. package/.output/server/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
  909. package/.output/server/node_modules/d3-shape/src/curve/monotone.js +104 -0
  910. package/.output/server/node_modules/d3-shape/src/curve/natural.js +65 -0
  911. package/.output/server/node_modules/d3-shape/src/curve/radial.js +36 -0
  912. package/.output/server/node_modules/d3-shape/src/curve/step.js +53 -0
  913. package/.output/server/node_modules/d3-shape/src/descending.js +3 -0
  914. package/.output/server/node_modules/d3-shape/src/identity.js +3 -0
  915. package/.output/server/node_modules/d3-shape/src/index.js +53 -0
  916. package/.output/server/node_modules/d3-shape/src/line.js +58 -0
  917. package/.output/server/node_modules/d3-shape/src/lineRadial.js +19 -0
  918. package/.output/server/node_modules/d3-shape/src/link.js +73 -0
  919. package/.output/server/node_modules/d3-shape/src/math.js +20 -0
  920. package/.output/server/node_modules/d3-shape/src/noop.js +1 -0
  921. package/.output/server/node_modules/d3-shape/src/offset/diverging.js +14 -0
  922. package/.output/server/node_modules/d3-shape/src/offset/expand.js +10 -0
  923. package/.output/server/node_modules/d3-shape/src/offset/none.js +9 -0
  924. package/.output/server/node_modules/d3-shape/src/offset/silhouette.js +10 -0
  925. package/.output/server/node_modules/d3-shape/src/offset/wiggle.js +24 -0
  926. package/.output/server/node_modules/d3-shape/src/order/appearance.js +12 -0
  927. package/.output/server/node_modules/d3-shape/src/order/ascending.js +12 -0
  928. package/.output/server/node_modules/d3-shape/src/order/descending.js +5 -0
  929. package/.output/server/node_modules/d3-shape/src/order/insideOut.js +27 -0
  930. package/.output/server/node_modules/d3-shape/src/order/none.js +5 -0
  931. package/.output/server/node_modules/d3-shape/src/order/reverse.js +5 -0
  932. package/.output/server/node_modules/d3-shape/src/path.js +19 -0
  933. package/.output/server/node_modules/d3-shape/src/pie.js +80 -0
  934. package/.output/server/node_modules/d3-shape/src/point.js +7 -0
  935. package/.output/server/node_modules/d3-shape/src/pointRadial.js +3 -0
  936. package/.output/server/node_modules/d3-shape/src/stack.js +58 -0
  937. package/.output/server/node_modules/d3-shape/src/symbol/asterisk.js +17 -0
  938. package/.output/server/node_modules/d3-shape/src/symbol/circle.js +9 -0
  939. package/.output/server/node_modules/d3-shape/src/symbol/cross.js +20 -0
  940. package/.output/server/node_modules/d3-shape/src/symbol/diamond.js +16 -0
  941. package/.output/server/node_modules/d3-shape/src/symbol/diamond2.js +12 -0
  942. package/.output/server/node_modules/d3-shape/src/symbol/plus.js +11 -0
  943. package/.output/server/node_modules/d3-shape/src/symbol/square.js +9 -0
  944. package/.output/server/node_modules/d3-shape/src/symbol/square2.js +12 -0
  945. package/.output/server/node_modules/d3-shape/src/symbol/star.js +24 -0
  946. package/.output/server/node_modules/d3-shape/src/symbol/times.js +11 -0
  947. package/.output/server/node_modules/d3-shape/src/symbol/triangle.js +13 -0
  948. package/.output/server/node_modules/d3-shape/src/symbol/triangle2.js +15 -0
  949. package/.output/server/node_modules/d3-shape/src/symbol/wye.js +25 -0
  950. package/.output/server/node_modules/d3-shape/src/symbol.js +66 -0
  951. package/.output/server/node_modules/d3-time/package.json +53 -0
  952. package/.output/server/node_modules/d3-time/src/day.js +35 -0
  953. package/.output/server/node_modules/d3-time/src/duration.js +7 -0
  954. package/.output/server/node_modules/d3-time/src/hour.js +26 -0
  955. package/.output/server/node_modules/d3-time/src/index.js +96 -0
  956. package/.output/server/node_modules/d3-time/src/interval.js +69 -0
  957. package/.output/server/node_modules/d3-time/src/millisecond.js +25 -0
  958. package/.output/server/node_modules/d3-time/src/minute.js +26 -0
  959. package/.output/server/node_modules/d3-time/src/month.js +27 -0
  960. package/.output/server/node_modules/d3-time/src/second.js +14 -0
  961. package/.output/server/node_modules/d3-time/src/ticks.js +58 -0
  962. package/.output/server/node_modules/d3-time/src/week.js +56 -0
  963. package/.output/server/node_modules/d3-time/src/year.js +49 -0
  964. package/.output/server/node_modules/d3-time-format/package.json +60 -0
  965. package/.output/server/node_modules/d3-time-format/src/defaultLocale.js +27 -0
  966. package/.output/server/node_modules/d3-time-format/src/index.js +4 -0
  967. package/.output/server/node_modules/d3-time-format/src/isoFormat.js +13 -0
  968. package/.output/server/node_modules/d3-time-format/src/isoParse.js +13 -0
  969. package/.output/server/node_modules/d3-time-format/src/locale.js +697 -0
  970. package/.output/server/node_modules/d3-timer/package.json +53 -0
  971. package/.output/server/node_modules/d3-timer/src/index.js +13 -0
  972. package/.output/server/node_modules/d3-timer/src/interval.js +17 -0
  973. package/.output/server/node_modules/d3-timer/src/timeout.js +11 -0
  974. package/.output/server/node_modules/d3-timer/src/timer.js +110 -0
  975. package/.output/server/node_modules/d3-transition/package.json +65 -0
  976. package/.output/server/node_modules/d3-transition/src/active.js +21 -0
  977. package/.output/server/node_modules/d3-transition/src/index.js +4 -0
  978. package/.output/server/node_modules/d3-transition/src/interrupt.js +24 -0
  979. package/.output/server/node_modules/d3-transition/src/selection/index.js +6 -0
  980. package/.output/server/node_modules/d3-transition/src/selection/interrupt.js +7 -0
  981. package/.output/server/node_modules/d3-transition/src/selection/transition.js +42 -0
  982. package/.output/server/node_modules/d3-transition/src/transition/attr.js +78 -0
  983. package/.output/server/node_modules/d3-transition/src/transition/attrTween.js +44 -0
  984. package/.output/server/node_modules/d3-transition/src/transition/delay.js +23 -0
  985. package/.output/server/node_modules/d3-transition/src/transition/duration.js +23 -0
  986. package/.output/server/node_modules/d3-transition/src/transition/ease.js +16 -0
  987. package/.output/server/node_modules/d3-transition/src/transition/easeVarying.js +14 -0
  988. package/.output/server/node_modules/d3-transition/src/transition/end.js +29 -0
  989. package/.output/server/node_modules/d3-transition/src/transition/filter.js +16 -0
  990. package/.output/server/node_modules/d3-transition/src/transition/index.js +73 -0
  991. package/.output/server/node_modules/d3-transition/src/transition/interpolate.js +10 -0
  992. package/.output/server/node_modules/d3-transition/src/transition/merge.js +19 -0
  993. package/.output/server/node_modules/d3-transition/src/transition/on.js +32 -0
  994. package/.output/server/node_modules/d3-transition/src/transition/remove.js +11 -0
  995. package/.output/server/node_modules/d3-transition/src/transition/schedule.js +153 -0
  996. package/.output/server/node_modules/d3-transition/src/transition/select.js +22 -0
  997. package/.output/server/node_modules/d3-transition/src/transition/selectAll.js +26 -0
  998. package/.output/server/node_modules/d3-transition/src/transition/selection.js +7 -0
  999. package/.output/server/node_modules/d3-transition/src/transition/style.js +80 -0
  1000. package/.output/server/node_modules/d3-transition/src/transition/styleTween.js +24 -0
  1001. package/.output/server/node_modules/d3-transition/src/transition/text.js +20 -0
  1002. package/.output/server/node_modules/d3-transition/src/transition/textTween.js +24 -0
  1003. package/.output/server/node_modules/d3-transition/src/transition/transition.js +24 -0
  1004. package/.output/server/node_modules/d3-transition/src/transition/tween.js +81 -0
  1005. package/.output/server/node_modules/d3-zoom/package.json +57 -0
  1006. package/.output/server/node_modules/d3-zoom/src/constant.js +1 -0
  1007. package/.output/server/node_modules/d3-zoom/src/event.js +14 -0
  1008. package/.output/server/node_modules/d3-zoom/src/index.js +2 -0
  1009. package/.output/server/node_modules/d3-zoom/src/noevent.js +8 -0
  1010. package/.output/server/node_modules/d3-zoom/src/transform.js +51 -0
  1011. package/.output/server/node_modules/d3-zoom/src/zoom.js +447 -0
  1012. package/.output/server/node_modules/defu/dist/defu.mjs +69 -0
  1013. package/.output/server/node_modules/defu/package.json +43 -0
  1014. package/.output/server/node_modules/delaunator/index.js +480 -0
  1015. package/.output/server/node_modules/delaunator/package.json +56 -0
  1016. package/.output/server/node_modules/destr/dist/index.mjs +72 -0
  1017. package/.output/server/node_modules/destr/package.json +47 -0
  1018. package/.output/server/node_modules/devalue/index.js +4 -0
  1019. package/.output/server/node_modules/devalue/package.json +37 -0
  1020. package/.output/server/node_modules/devalue/src/base64.js +110 -0
  1021. package/.output/server/node_modules/devalue/src/constants.js +6 -0
  1022. package/.output/server/node_modules/devalue/src/parse.js +205 -0
  1023. package/.output/server/node_modules/devalue/src/stringify.js +265 -0
  1024. package/.output/server/node_modules/devalue/src/uneval.js +407 -0
  1025. package/.output/server/node_modules/devalue/src/utils.js +118 -0
  1026. package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
  1027. package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
  1028. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
  1029. package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
  1030. package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
  1031. package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
  1032. package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
  1033. package/.output/server/node_modules/entities/package.json +113 -0
  1034. package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  1035. package/.output/server/node_modules/estree-walker/package.json +37 -0
  1036. package/.output/server/node_modules/file-uri-to-path/index.js +66 -0
  1037. package/.output/server/node_modules/file-uri-to-path/package.json +32 -0
  1038. package/.output/server/node_modules/h3/dist/index.mjs +2478 -0
  1039. package/.output/server/node_modules/h3/package.json +75 -0
  1040. package/.output/server/node_modules/hookable/dist/index.mjs +290 -0
  1041. package/.output/server/node_modules/hookable/package.json +49 -0
  1042. package/.output/server/node_modules/internmap/package.json +43 -0
  1043. package/.output/server/node_modules/internmap/src/index.js +61 -0
  1044. package/.output/server/node_modules/iron-webcrypto/dist/index.js +298 -0
  1045. package/.output/server/node_modules/iron-webcrypto/package.json +72 -0
  1046. package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
  1047. package/.output/server/node_modules/marked/package.json +103 -0
  1048. package/.output/server/node_modules/node-mock-http/dist/_polyfill/buffer/node.mjs +1 -0
  1049. package/.output/server/node_modules/node-mock-http/dist/_polyfill/events/node.mjs +1 -0
  1050. package/.output/server/node_modules/node-mock-http/dist/index.mjs +1 -0
  1051. package/.output/server/node_modules/node-mock-http/package.json +63 -0
  1052. package/.output/server/node_modules/radix3/dist/index.mjs +262 -0
  1053. package/.output/server/node_modules/radix3/package.json +52 -0
  1054. package/.output/server/node_modules/robust-predicates/esm/incircle.js +765 -0
  1055. package/.output/server/node_modules/robust-predicates/esm/insphere.js +766 -0
  1056. package/.output/server/node_modules/robust-predicates/esm/orient2d.js +184 -0
  1057. package/.output/server/node_modules/robust-predicates/esm/orient3d.js +462 -0
  1058. package/.output/server/node_modules/robust-predicates/esm/util.js +138 -0
  1059. package/.output/server/node_modules/robust-predicates/index.js +5 -0
  1060. package/.output/server/node_modules/robust-predicates/package.json +75 -0
  1061. package/.output/server/node_modules/sortablejs/Sortable.min.js +2 -0
  1062. package/.output/server/node_modules/sortablejs/package.json +56 -0
  1063. package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  1064. package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  1065. package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  1066. package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  1067. package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  1068. package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  1069. package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  1070. package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  1071. package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  1072. package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  1073. package/.output/server/node_modules/source-map-js/package.json +71 -0
  1074. package/.output/server/node_modules/source-map-js/source-map.js +8 -0
  1075. package/.output/server/node_modules/ufo/dist/index.mjs +638 -0
  1076. package/.output/server/node_modules/ufo/package.json +47 -0
  1077. package/.output/server/node_modules/uncrypto/dist/crypto.node.mjs +16 -0
  1078. package/.output/server/node_modules/uncrypto/package.json +60 -0
  1079. package/.output/server/node_modules/unhead/dist/index.mjs +9 -0
  1080. package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  1081. package/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
  1082. package/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
  1083. package/.output/server/node_modules/unhead/dist/server.mjs +182 -0
  1084. package/.output/server/node_modules/unhead/dist/shared/unhead.B578PsDV.mjs +266 -0
  1085. package/.output/server/node_modules/unhead/dist/shared/unhead.BPM0-cfG.mjs +44 -0
  1086. package/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
  1087. package/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs +148 -0
  1088. package/.output/server/node_modules/unhead/dist/shared/unhead.CGCfDSEL.mjs +180 -0
  1089. package/.output/server/node_modules/unhead/dist/shared/unhead.CYpwL2hc.mjs +194 -0
  1090. package/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
  1091. package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  1092. package/.output/server/node_modules/unhead/dist/shared/unhead.ckV6dpEQ.mjs +166 -0
  1093. package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  1094. package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  1095. package/.output/server/node_modules/unhead/package.json +105 -0
  1096. package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  1097. package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  1098. package/.output/server/node_modules/vue/index.js +7 -0
  1099. package/.output/server/node_modules/vue/index.mjs +1 -0
  1100. package/.output/server/node_modules/vue/package.json +112 -0
  1101. package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  1102. package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +301 -0
  1103. package/.output/server/node_modules/vue-bundle-renderer/package.json +55 -0
  1104. package/.output/server/node_modules/vue-devtools-stub/dist/index.mjs +11 -0
  1105. package/.output/server/node_modules/vue-devtools-stub/package.json +41 -0
  1106. package/.output/server/node_modules/vue-router/dist/devtools-EWN81iOl.mjs +1220 -0
  1107. package/.output/server/node_modules/vue-router/dist/vue-router.mjs +1557 -0
  1108. package/.output/server/node_modules/vue-router/package.json +153 -0
  1109. package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  1110. package/.output/server/node_modules/vuedraggable/dist/vuedraggable.umd.min.js +2 -0
  1111. package/.output/server/node_modules/vuedraggable/package.json +97 -0
  1112. package/.output/server/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  1113. package/.output/server/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  1114. package/.output/server/node_modules/yaml/dist/compose/compose-node.js +105 -0
  1115. package/.output/server/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  1116. package/.output/server/node_modules/yaml/dist/compose/composer.js +222 -0
  1117. package/.output/server/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  1118. package/.output/server/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  1119. package/.output/server/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  1120. package/.output/server/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  1121. package/.output/server/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  1122. package/.output/server/node_modules/yaml/dist/compose/resolve-flow-scalar.js +225 -0
  1123. package/.output/server/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  1124. package/.output/server/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  1125. package/.output/server/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  1126. package/.output/server/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  1127. package/.output/server/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  1128. package/.output/server/node_modules/yaml/dist/doc/Document.js +337 -0
  1129. package/.output/server/node_modules/yaml/dist/doc/anchors.js +76 -0
  1130. package/.output/server/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  1131. package/.output/server/node_modules/yaml/dist/doc/createNode.js +90 -0
  1132. package/.output/server/node_modules/yaml/dist/doc/directives.js +178 -0
  1133. package/.output/server/node_modules/yaml/dist/errors.js +62 -0
  1134. package/.output/server/node_modules/yaml/dist/index.js +50 -0
  1135. package/.output/server/node_modules/yaml/dist/log.js +19 -0
  1136. package/.output/server/node_modules/yaml/dist/nodes/Alias.js +116 -0
  1137. package/.output/server/node_modules/yaml/dist/nodes/Collection.js +151 -0
  1138. package/.output/server/node_modules/yaml/dist/nodes/Node.js +40 -0
  1139. package/.output/server/node_modules/yaml/dist/nodes/Pair.js +39 -0
  1140. package/.output/server/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  1141. package/.output/server/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  1142. package/.output/server/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  1143. package/.output/server/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  1144. package/.output/server/node_modules/yaml/dist/nodes/identity.js +53 -0
  1145. package/.output/server/node_modules/yaml/dist/nodes/toJS.js +39 -0
  1146. package/.output/server/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  1147. package/.output/server/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  1148. package/.output/server/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  1149. package/.output/server/node_modules/yaml/dist/parse/cst.js +112 -0
  1150. package/.output/server/node_modules/yaml/dist/parse/lexer.js +719 -0
  1151. package/.output/server/node_modules/yaml/dist/parse/line-counter.js +41 -0
  1152. package/.output/server/node_modules/yaml/dist/parse/parser.js +972 -0
  1153. package/.output/server/node_modules/yaml/dist/public-api.js +107 -0
  1154. package/.output/server/node_modules/yaml/dist/schema/Schema.js +39 -0
  1155. package/.output/server/node_modules/yaml/dist/schema/common/map.js +19 -0
  1156. package/.output/server/node_modules/yaml/dist/schema/common/null.js +17 -0
  1157. package/.output/server/node_modules/yaml/dist/schema/common/seq.js +19 -0
  1158. package/.output/server/node_modules/yaml/dist/schema/common/string.js +16 -0
  1159. package/.output/server/node_modules/yaml/dist/schema/core/bool.js +21 -0
  1160. package/.output/server/node_modules/yaml/dist/schema/core/float.js +47 -0
  1161. package/.output/server/node_modules/yaml/dist/schema/core/int.js +42 -0
  1162. package/.output/server/node_modules/yaml/dist/schema/core/schema.js +25 -0
  1163. package/.output/server/node_modules/yaml/dist/schema/json/schema.js +64 -0
  1164. package/.output/server/node_modules/yaml/dist/schema/tags.js +99 -0
  1165. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  1166. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  1167. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  1168. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  1169. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/merge.js +68 -0
  1170. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  1171. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  1172. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  1173. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  1174. package/.output/server/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  1175. package/.output/server/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  1176. package/.output/server/node_modules/yaml/dist/stringify/stringify.js +131 -0
  1177. package/.output/server/node_modules/yaml/dist/stringify/stringifyCollection.js +145 -0
  1178. package/.output/server/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  1179. package/.output/server/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  1180. package/.output/server/node_modules/yaml/dist/stringify/stringifyNumber.js +26 -0
  1181. package/.output/server/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  1182. package/.output/server/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  1183. package/.output/server/node_modules/yaml/dist/visit.js +236 -0
  1184. package/.output/server/node_modules/yaml/package.json +97 -0
  1185. package/.output/server/package.json +90 -0
  1186. package/README.md +396 -117
  1187. package/bin/autocode +2337 -1
  1188. package/package.json +61 -23
  1189. package/templates/prompts/ready.en.md +29 -0
  1190. package/templates/prompts/ready.fr.md +29 -0
  1191. package/dist/cli/commands/comment.d.ts +0 -9
  1192. package/dist/cli/commands/comment.d.ts.map +0 -1
  1193. package/dist/cli/commands/comment.js +0 -40
  1194. package/dist/cli/commands/comment.js.map +0 -1
  1195. package/dist/cli/commands/health.d.ts +0 -9
  1196. package/dist/cli/commands/health.d.ts.map +0 -1
  1197. package/dist/cli/commands/health.js +0 -101
  1198. package/dist/cli/commands/health.js.map +0 -1
  1199. package/dist/cli/commands/init.d.ts +0 -9
  1200. package/dist/cli/commands/init.d.ts.map +0 -1
  1201. package/dist/cli/commands/init.js +0 -63
  1202. package/dist/cli/commands/init.js.map +0 -1
  1203. package/dist/cli/commands/list.d.ts +0 -9
  1204. package/dist/cli/commands/list.d.ts.map +0 -1
  1205. package/dist/cli/commands/list.js +0 -121
  1206. package/dist/cli/commands/list.js.map +0 -1
  1207. package/dist/cli/commands/move.d.ts +0 -9
  1208. package/dist/cli/commands/move.d.ts.map +0 -1
  1209. package/dist/cli/commands/move.js +0 -66
  1210. package/dist/cli/commands/move.js.map +0 -1
  1211. package/dist/cli/commands/new.d.ts +0 -9
  1212. package/dist/cli/commands/new.d.ts.map +0 -1
  1213. package/dist/cli/commands/new.js +0 -105
  1214. package/dist/cli/commands/new.js.map +0 -1
  1215. package/dist/cli/commands/next.d.ts +0 -9
  1216. package/dist/cli/commands/next.d.ts.map +0 -1
  1217. package/dist/cli/commands/next.js +0 -46
  1218. package/dist/cli/commands/next.js.map +0 -1
  1219. package/dist/cli/commands/parent.d.ts +0 -9
  1220. package/dist/cli/commands/parent.d.ts.map +0 -1
  1221. package/dist/cli/commands/parent.js +0 -94
  1222. package/dist/cli/commands/parent.js.map +0 -1
  1223. package/dist/cli/commands/pipeline.d.ts +0 -9
  1224. package/dist/cli/commands/pipeline.d.ts.map +0 -1
  1225. package/dist/cli/commands/pipeline.js +0 -68
  1226. package/dist/cli/commands/pipeline.js.map +0 -1
  1227. package/dist/cli/commands/pipeline.test.d.ts +0 -5
  1228. package/dist/cli/commands/pipeline.test.d.ts.map +0 -1
  1229. package/dist/cli/commands/pipeline.test.js +0 -171
  1230. package/dist/cli/commands/pipeline.test.js.map +0 -1
  1231. package/dist/cli/commands/serve.d.ts +0 -9
  1232. package/dist/cli/commands/serve.d.ts.map +0 -1
  1233. package/dist/cli/commands/serve.js +0 -249
  1234. package/dist/cli/commands/serve.js.map +0 -1
  1235. package/dist/cli/commands/show.d.ts +0 -9
  1236. package/dist/cli/commands/show.d.ts.map +0 -1
  1237. package/dist/cli/commands/show.js +0 -111
  1238. package/dist/cli/commands/show.js.map +0 -1
  1239. package/dist/cli/commands/stats.d.ts +0 -9
  1240. package/dist/cli/commands/stats.d.ts.map +0 -1
  1241. package/dist/cli/commands/stats.js +0 -108
  1242. package/dist/cli/commands/stats.js.map +0 -1
  1243. package/dist/cli/commands/sync.d.ts +0 -9
  1244. package/dist/cli/commands/sync.d.ts.map +0 -1
  1245. package/dist/cli/commands/sync.js +0 -91
  1246. package/dist/cli/commands/sync.js.map +0 -1
  1247. package/dist/cli/commands/tunnel.d.ts +0 -9
  1248. package/dist/cli/commands/tunnel.d.ts.map +0 -1
  1249. package/dist/cli/commands/tunnel.js +0 -90
  1250. package/dist/cli/commands/tunnel.js.map +0 -1
  1251. package/dist/cli/parser.d.ts +0 -13
  1252. package/dist/cli/parser.d.ts.map +0 -1
  1253. package/dist/cli/parser.js +0 -67
  1254. package/dist/cli/parser.js.map +0 -1
  1255. package/dist/core/catalog.d.ts +0 -52
  1256. package/dist/core/catalog.d.ts.map +0 -1
  1257. package/dist/core/catalog.js +0 -102
  1258. package/dist/core/catalog.js.map +0 -1
  1259. package/dist/core/column.d.ts +0 -50
  1260. package/dist/core/column.d.ts.map +0 -1
  1261. package/dist/core/column.js +0 -134
  1262. package/dist/core/column.js.map +0 -1
  1263. package/dist/core/config.d.ts +0 -20
  1264. package/dist/core/config.d.ts.map +0 -1
  1265. package/dist/core/config.js +0 -54
  1266. package/dist/core/config.js.map +0 -1
  1267. package/dist/core/features.d.ts +0 -24
  1268. package/dist/core/features.d.ts.map +0 -1
  1269. package/dist/core/features.js +0 -33
  1270. package/dist/core/features.js.map +0 -1
  1271. package/dist/core/hierarchy.d.ts +0 -121
  1272. package/dist/core/hierarchy.d.ts.map +0 -1
  1273. package/dist/core/hierarchy.js +0 -350
  1274. package/dist/core/hierarchy.js.map +0 -1
  1275. package/dist/core/implementations/FilesystemIssueRepository.d.ts +0 -18
  1276. package/dist/core/implementations/FilesystemIssueRepository.d.ts.map +0 -1
  1277. package/dist/core/implementations/FilesystemIssueRepository.js +0 -149
  1278. package/dist/core/implementations/FilesystemIssueRepository.js.map +0 -1
  1279. package/dist/core/interfaces/IHierarchyService.d.ts +0 -32
  1280. package/dist/core/interfaces/IHierarchyService.d.ts.map +0 -1
  1281. package/dist/core/interfaces/IHierarchyService.js +0 -2
  1282. package/dist/core/interfaces/IHierarchyService.js.map +0 -1
  1283. package/dist/core/interfaces/IIssueRepository.d.ts +0 -55
  1284. package/dist/core/interfaces/IIssueRepository.d.ts.map +0 -1
  1285. package/dist/core/interfaces/IIssueRepository.js +0 -2
  1286. package/dist/core/interfaces/IIssueRepository.js.map +0 -1
  1287. package/dist/core/interfaces/IPipelineService.d.ts +0 -38
  1288. package/dist/core/interfaces/IPipelineService.d.ts.map +0 -1
  1289. package/dist/core/interfaces/IPipelineService.js +0 -2
  1290. package/dist/core/interfaces/IPipelineService.js.map +0 -1
  1291. package/dist/core/interfaces/IWorkflowService.d.ts +0 -38
  1292. package/dist/core/interfaces/IWorkflowService.d.ts.map +0 -1
  1293. package/dist/core/interfaces/IWorkflowService.js +0 -2
  1294. package/dist/core/interfaces/IWorkflowService.js.map +0 -1
  1295. package/dist/core/interfaces/index.d.ts +0 -5
  1296. package/dist/core/interfaces/index.d.ts.map +0 -1
  1297. package/dist/core/interfaces/index.js +0 -2
  1298. package/dist/core/interfaces/index.js.map +0 -1
  1299. package/dist/core/issue.d.ts +0 -62
  1300. package/dist/core/issue.d.ts.map +0 -1
  1301. package/dist/core/issue.js +0 -255
  1302. package/dist/core/issue.js.map +0 -1
  1303. package/dist/core/loop-detector.d.ts +0 -45
  1304. package/dist/core/loop-detector.d.ts.map +0 -1
  1305. package/dist/core/loop-detector.js +0 -81
  1306. package/dist/core/loop-detector.js.map +0 -1
  1307. package/dist/core/pipeline.d.ts +0 -70
  1308. package/dist/core/pipeline.d.ts.map +0 -1
  1309. package/dist/core/pipeline.js +0 -199
  1310. package/dist/core/pipeline.js.map +0 -1
  1311. package/dist/core/sync.d.ts +0 -41
  1312. package/dist/core/sync.d.ts.map +0 -1
  1313. package/dist/core/sync.js +0 -272
  1314. package/dist/core/sync.js.map +0 -1
  1315. package/dist/core/validation.d.ts +0 -26
  1316. package/dist/core/validation.d.ts.map +0 -1
  1317. package/dist/core/validation.js +0 -67
  1318. package/dist/core/validation.js.map +0 -1
  1319. package/dist/core/workflow.d.ts +0 -68
  1320. package/dist/core/workflow.d.ts.map +0 -1
  1321. package/dist/core/workflow.js +0 -226
  1322. package/dist/core/workflow.js.map +0 -1
  1323. package/dist/index.d.ts +0 -8
  1324. package/dist/index.d.ts.map +0 -1
  1325. package/dist/index.js +0 -12
  1326. package/dist/index.js.map +0 -1
  1327. package/dist/server/api-autocomplete.test.d.ts +0 -6
  1328. package/dist/server/api-autocomplete.test.d.ts.map +0 -1
  1329. package/dist/server/api-autocomplete.test.js +0 -249
  1330. package/dist/server/api-autocomplete.test.js.map +0 -1
  1331. package/dist/server/api.d.ts +0 -9
  1332. package/dist/server/api.d.ts.map +0 -1
  1333. package/dist/server/api.js +0 -1377
  1334. package/dist/server/api.js.map +0 -1
  1335. package/dist/server/dashboard/index.d.ts +0 -10
  1336. package/dist/server/dashboard/index.d.ts.map +0 -1
  1337. package/dist/server/dashboard/index.js +0 -16
  1338. package/dist/server/dashboard/index.js.map +0 -1
  1339. package/dist/server/dashboard/pages/autocreate.d.ts +0 -9
  1340. package/dist/server/dashboard/pages/autocreate.d.ts.map +0 -1
  1341. package/dist/server/dashboard/pages/autocreate.js +0 -854
  1342. package/dist/server/dashboard/pages/autocreate.js.map +0 -1
  1343. package/dist/server/dashboard/pages/changelog.d.ts +0 -9
  1344. package/dist/server/dashboard/pages/changelog.d.ts.map +0 -1
  1345. package/dist/server/dashboard/pages/changelog.js +0 -160
  1346. package/dist/server/dashboard/pages/changelog.js.map +0 -1
  1347. package/dist/server/dashboard/pages/column-edit.d.ts +0 -8
  1348. package/dist/server/dashboard/pages/column-edit.d.ts.map +0 -1
  1349. package/dist/server/dashboard/pages/column-edit.js +0 -303
  1350. package/dist/server/dashboard/pages/column-edit.js.map +0 -1
  1351. package/dist/server/dashboard/pages/column-prompt.d.ts +0 -8
  1352. package/dist/server/dashboard/pages/column-prompt.d.ts.map +0 -1
  1353. package/dist/server/dashboard/pages/column-prompt.js +0 -249
  1354. package/dist/server/dashboard/pages/column-prompt.js.map +0 -1
  1355. package/dist/server/dashboard/pages/column-terminal.d.ts +0 -8
  1356. package/dist/server/dashboard/pages/column-terminal.d.ts.map +0 -1
  1357. package/dist/server/dashboard/pages/column-terminal.js +0 -550
  1358. package/dist/server/dashboard/pages/column-terminal.js.map +0 -1
  1359. package/dist/server/dashboard/pages/index.d.ts +0 -21
  1360. package/dist/server/dashboard/pages/index.d.ts.map +0 -1
  1361. package/dist/server/dashboard/pages/index.js +0 -21
  1362. package/dist/server/dashboard/pages/index.js.map +0 -1
  1363. package/dist/server/dashboard/pages/issue-comments.d.ts +0 -8
  1364. package/dist/server/dashboard/pages/issue-comments.d.ts.map +0 -1
  1365. package/dist/server/dashboard/pages/issue-comments.js +0 -283
  1366. package/dist/server/dashboard/pages/issue-comments.js.map +0 -1
  1367. package/dist/server/dashboard/pages/issue-graph.d.ts +0 -9
  1368. package/dist/server/dashboard/pages/issue-graph.d.ts.map +0 -1
  1369. package/dist/server/dashboard/pages/issue-graph.js +0 -629
  1370. package/dist/server/dashboard/pages/issue-graph.js.map +0 -1
  1371. package/dist/server/dashboard/pages/issue-history.d.ts +0 -8
  1372. package/dist/server/dashboard/pages/issue-history.d.ts.map +0 -1
  1373. package/dist/server/dashboard/pages/issue-history.js +0 -149
  1374. package/dist/server/dashboard/pages/issue-history.js.map +0 -1
  1375. package/dist/server/dashboard/pages/issue-shared.d.ts +0 -27
  1376. package/dist/server/dashboard/pages/issue-shared.d.ts.map +0 -1
  1377. package/dist/server/dashboard/pages/issue-shared.js +0 -297
  1378. package/dist/server/dashboard/pages/issue-shared.js.map +0 -1
  1379. package/dist/server/dashboard/pages/issue-terminal.d.ts +0 -8
  1380. package/dist/server/dashboard/pages/issue-terminal.d.ts.map +0 -1
  1381. package/dist/server/dashboard/pages/issue-terminal.js +0 -363
  1382. package/dist/server/dashboard/pages/issue-terminal.js.map +0 -1
  1383. package/dist/server/dashboard/pages/issue-view.d.ts +0 -8
  1384. package/dist/server/dashboard/pages/issue-view.d.ts.map +0 -1
  1385. package/dist/server/dashboard/pages/issue-view.js +0 -386
  1386. package/dist/server/dashboard/pages/issue-view.js.map +0 -1
  1387. package/dist/server/dashboard/pages/main-dashboard.d.ts +0 -11
  1388. package/dist/server/dashboard/pages/main-dashboard.d.ts.map +0 -1
  1389. package/dist/server/dashboard/pages/main-dashboard.js +0 -228
  1390. package/dist/server/dashboard/pages/main-dashboard.js.map +0 -1
  1391. package/dist/server/dashboard/pages/new-issue.d.ts +0 -8
  1392. package/dist/server/dashboard/pages/new-issue.d.ts.map +0 -1
  1393. package/dist/server/dashboard/pages/new-issue.js +0 -898
  1394. package/dist/server/dashboard/pages/new-issue.js.map +0 -1
  1395. package/dist/server/dashboard/pages/new-issue.test.d.ts +0 -6
  1396. package/dist/server/dashboard/pages/new-issue.test.d.ts.map +0 -1
  1397. package/dist/server/dashboard/pages/new-issue.test.js +0 -824
  1398. package/dist/server/dashboard/pages/new-issue.test.js.map +0 -1
  1399. package/dist/server/dashboard/pages/pipeline-configurator.d.ts +0 -8
  1400. package/dist/server/dashboard/pages/pipeline-configurator.d.ts.map +0 -1
  1401. package/dist/server/dashboard/pages/pipeline-configurator.js +0 -1783
  1402. package/dist/server/dashboard/pages/pipeline-configurator.js.map +0 -1
  1403. package/dist/server/dashboard/pages/shared.d.ts +0 -8
  1404. package/dist/server/dashboard/pages/shared.d.ts.map +0 -1
  1405. package/dist/server/dashboard/pages/shared.js +0 -58
  1406. package/dist/server/dashboard/pages/shared.js.map +0 -1
  1407. package/dist/server/dashboard/pages/stats-page.d.ts +0 -8
  1408. package/dist/server/dashboard/pages/stats-page.d.ts.map +0 -1
  1409. package/dist/server/dashboard/pages/stats-page.js +0 -558
  1410. package/dist/server/dashboard/pages/stats-page.js.map +0 -1
  1411. package/dist/server/dashboard/pages/water-quality-form.d.ts +0 -10
  1412. package/dist/server/dashboard/pages/water-quality-form.d.ts.map +0 -1
  1413. package/dist/server/dashboard/pages/water-quality-form.js +0 -910
  1414. package/dist/server/dashboard/pages/water-quality-form.js.map +0 -1
  1415. package/dist/server/dashboard/scripts/index.d.ts +0 -11
  1416. package/dist/server/dashboard/scripts/index.d.ts.map +0 -1
  1417. package/dist/server/dashboard/scripts/index.js +0 -1278
  1418. package/dist/server/dashboard/scripts/index.js.map +0 -1
  1419. package/dist/server/dashboard/shared/header.d.ts +0 -88
  1420. package/dist/server/dashboard/shared/header.d.ts.map +0 -1
  1421. package/dist/server/dashboard/shared/header.js +0 -209
  1422. package/dist/server/dashboard/shared/header.js.map +0 -1
  1423. package/dist/server/dashboard/shared/i18n-script.d.ts +0 -45
  1424. package/dist/server/dashboard/shared/i18n-script.d.ts.map +0 -1
  1425. package/dist/server/dashboard/shared/i18n-script.js +0 -204
  1426. package/dist/server/dashboard/shared/i18n-script.js.map +0 -1
  1427. package/dist/server/dashboard/shared/index.d.ts +0 -19
  1428. package/dist/server/dashboard/shared/index.d.ts.map +0 -1
  1429. package/dist/server/dashboard/shared/index.js +0 -22
  1430. package/dist/server/dashboard/shared/index.js.map +0 -1
  1431. package/dist/server/dashboard/shared/translations.d.ts +0 -515
  1432. package/dist/server/dashboard/shared/translations.d.ts.map +0 -1
  1433. package/dist/server/dashboard/shared/translations.js +0 -591
  1434. package/dist/server/dashboard/shared/translations.js.map +0 -1
  1435. package/dist/server/dashboard/styles/base.d.ts +0 -5
  1436. package/dist/server/dashboard/styles/base.d.ts.map +0 -1
  1437. package/dist/server/dashboard/styles/base.js +0 -130
  1438. package/dist/server/dashboard/styles/base.js.map +0 -1
  1439. package/dist/server/dashboard/styles/board.d.ts +0 -5
  1440. package/dist/server/dashboard/styles/board.d.ts.map +0 -1
  1441. package/dist/server/dashboard/styles/board.js +0 -168
  1442. package/dist/server/dashboard/styles/board.js.map +0 -1
  1443. package/dist/server/dashboard/styles/comments.d.ts +0 -5
  1444. package/dist/server/dashboard/styles/comments.d.ts.map +0 -1
  1445. package/dist/server/dashboard/styles/comments.js +0 -249
  1446. package/dist/server/dashboard/styles/comments.js.map +0 -1
  1447. package/dist/server/dashboard/styles/components.d.ts +0 -5
  1448. package/dist/server/dashboard/styles/components.d.ts.map +0 -1
  1449. package/dist/server/dashboard/styles/components.js +0 -360
  1450. package/dist/server/dashboard/styles/components.js.map +0 -1
  1451. package/dist/server/dashboard/styles/footer.d.ts +0 -5
  1452. package/dist/server/dashboard/styles/footer.d.ts.map +0 -1
  1453. package/dist/server/dashboard/styles/footer.js +0 -40
  1454. package/dist/server/dashboard/styles/footer.js.map +0 -1
  1455. package/dist/server/dashboard/styles/index.d.ts +0 -8
  1456. package/dist/server/dashboard/styles/index.d.ts.map +0 -1
  1457. package/dist/server/dashboard/styles/index.js +0 -27
  1458. package/dist/server/dashboard/styles/index.js.map +0 -1
  1459. package/dist/server/dashboard/styles/logs.d.ts +0 -5
  1460. package/dist/server/dashboard/styles/logs.d.ts.map +0 -1
  1461. package/dist/server/dashboard/styles/logs.js +0 -89
  1462. package/dist/server/dashboard/styles/logs.js.map +0 -1
  1463. package/dist/server/dashboard/styles/notifications.d.ts +0 -5
  1464. package/dist/server/dashboard/styles/notifications.d.ts.map +0 -1
  1465. package/dist/server/dashboard/styles/notifications.js +0 -51
  1466. package/dist/server/dashboard/styles/notifications.js.map +0 -1
  1467. package/dist/server/dashboard/styles/variables.d.ts +0 -5
  1468. package/dist/server/dashboard/styles/variables.d.ts.map +0 -1
  1469. package/dist/server/dashboard/styles/variables.js +0 -29
  1470. package/dist/server/dashboard/styles/variables.js.map +0 -1
  1471. package/dist/server/dashboard/utils.d.ts +0 -8
  1472. package/dist/server/dashboard/utils.d.ts.map +0 -1
  1473. package/dist/server/dashboard/utils.js +0 -14
  1474. package/dist/server/dashboard/utils.js.map +0 -1
  1475. package/dist/server/dashboard.d.ts +0 -8
  1476. package/dist/server/dashboard.d.ts.map +0 -1
  1477. package/dist/server/dashboard.js +0 -8
  1478. package/dist/server/dashboard.js.map +0 -1
  1479. package/dist/server/index.d.ts +0 -8
  1480. package/dist/server/index.d.ts.map +0 -1
  1481. package/dist/server/index.js +0 -274
  1482. package/dist/server/index.js.map +0 -1
  1483. package/dist/server/watcher.d.ts +0 -13
  1484. package/dist/server/watcher.d.ts.map +0 -1
  1485. package/dist/server/watcher.js +0 -62
  1486. package/dist/server/watcher.js.map +0 -1
  1487. package/dist/server/websocket.d.ts +0 -46
  1488. package/dist/server/websocket.d.ts.map +0 -1
  1489. package/dist/server/websocket.js +0 -204
  1490. package/dist/server/websocket.js.map +0 -1
  1491. package/dist/services/autocreate.d.ts +0 -34
  1492. package/dist/services/autocreate.d.ts.map +0 -1
  1493. package/dist/services/autocreate.js +0 -503
  1494. package/dist/services/autocreate.js.map +0 -1
  1495. package/dist/services/claude.d.ts +0 -79
  1496. package/dist/services/claude.d.ts.map +0 -1
  1497. package/dist/services/claude.js +0 -519
  1498. package/dist/services/claude.js.map +0 -1
  1499. package/dist/services/issue-io.d.ts +0 -81
  1500. package/dist/services/issue-io.d.ts.map +0 -1
  1501. package/dist/services/issue-io.js +0 -249
  1502. package/dist/services/issue-io.js.map +0 -1
  1503. package/dist/services/monitoring.d.ts +0 -47
  1504. package/dist/services/monitoring.d.ts.map +0 -1
  1505. package/dist/services/monitoring.js +0 -136
  1506. package/dist/services/monitoring.js.map +0 -1
  1507. package/dist/services/stats.d.ts +0 -58
  1508. package/dist/services/stats.d.ts.map +0 -1
  1509. package/dist/services/stats.js +0 -196
  1510. package/dist/services/stats.js.map +0 -1
  1511. package/dist/types/index.d.ts +0 -213
  1512. package/dist/types/index.d.ts.map +0 -1
  1513. package/dist/types/index.js +0 -8
  1514. package/dist/types/index.js.map +0 -1
  1515. package/dist/utils/config.d.ts +0 -101
  1516. package/dist/utils/config.d.ts.map +0 -1
  1517. package/dist/utils/config.js +0 -98
  1518. package/dist/utils/config.js.map +0 -1
  1519. package/dist/utils/fs.d.ts +0 -60
  1520. package/dist/utils/fs.d.ts.map +0 -1
  1521. package/dist/utils/fs.js +0 -129
  1522. package/dist/utils/fs.js.map +0 -1
  1523. package/dist/utils/logger.d.ts +0 -23
  1524. package/dist/utils/logger.d.ts.map +0 -1
  1525. package/dist/utils/logger.js +0 -56
  1526. package/dist/utils/logger.js.map +0 -1
  1527. package/dist/utils/tunnel.d.ts +0 -62
  1528. package/dist/utils/tunnel.d.ts.map +0 -1
  1529. package/dist/utils/tunnel.js +0 -240
  1530. package/dist/utils/tunnel.js.map +0 -1
  1531. package/dist/utils/version-check.d.ts +0 -26
  1532. package/dist/utils/version-check.d.ts.map +0 -1
  1533. package/dist/utils/version-check.js +0 -234
  1534. package/dist/utils/version-check.js.map +0 -1
package/bin/autocode CHANGED
@@ -1,2 +1,2338 @@
1
1
  #!/usr/bin/env node
2
- import('../dist/index.js');
2
+
3
+ import { spawn, execSync } from 'node:child_process';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { dirname, resolve, join } from 'node:path';
6
+ import { existsSync, mkdirSync, writeFileSync, readFileSync } from 'node:fs';
7
+
8
+ const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ const root = resolve(__dirname, '..');
10
+
11
+ // Parse arguments
12
+ const args = process.argv.slice(2);
13
+ const command = args[0] || 'serve';
14
+ const commandArgs = args.slice(1);
15
+
16
+ // API base URL for CLI commands (required for API calls)
17
+ function getApiBase() {
18
+ const url = process.env.AUTOCODE_API_URL;
19
+ if (!url) {
20
+ console.error('Error: AUTOCODE_API_URL environment variable is required');
21
+ console.error('Example: export AUTOCODE_API_URL=http://localhost:3000');
22
+ process.exit(1);
23
+ }
24
+ return url;
25
+ }
26
+
27
+ // Help message
28
+ function showHelp() {
29
+ console.log(`
30
+ AutoCode CLI - Issue tracking dashboard
31
+
32
+ Usage:
33
+ autocode [command] [options]
34
+
35
+ Commands:
36
+ serve [options] Start the dashboard server (default)
37
+ show <key> Show issue details
38
+ history <key> Show full issue history
39
+ list [options] List issues
40
+ comment <key> <text> Add comment to an issue
41
+ start <key> Start issue (move from backlog only)
42
+ next <key> Advance issue to next column
43
+ move <key> <column> Move issue to a different column
44
+ new <title> [desc] Create a new issue
45
+ parent <key> [parent] Manage parent relationships
46
+ health Check workflow health
47
+ stats Show usage statistics
48
+ init Initialize project structure
49
+ catalog [action] List or manage column catalog
50
+ pipeline <action> Manage pipelines
51
+ help Show this help message
52
+
53
+ Pipeline Commands:
54
+ pipeline list List all pipelines
55
+ pipeline show <name> Show pipeline with columns
56
+ pipeline create <name> Create new pipeline
57
+ pipeline delete <name> Delete pipeline version
58
+ pipeline activate <name> Activate pipeline version
59
+ pipeline versions <name> List all versions
60
+ pipeline draft <name> Create draft from latest
61
+ pipeline finalize <name> Finalize draft (--activate)
62
+ pipeline add-column Add column to pipeline
63
+ pipeline remove-column Remove column from pipeline
64
+ pipeline move-column Move column between segments
65
+
66
+ Catalog Commands:
67
+ catalog List available columns
68
+ catalog add <slug> Add new column to catalog
69
+
70
+ Serve Options:
71
+ -p, --port <port> Server port (default: 3000)
72
+ -e, --expose Expose via Cloudflare tunnel
73
+ --debug Enable debug logging to autocode/debug.log
74
+
75
+ Show Options:
76
+ --json Output as JSON
77
+
78
+ History Options:
79
+ --json Output as JSON (includes all data)
80
+ --full Show complete prompt and terminal content
81
+ --limit <N> Show only last N entries
82
+
83
+ List Options:
84
+ -c, --column <slug> Filter by column
85
+ -p, --priority <P0-P3> Filter by priority
86
+ -l, --label <label> Filter by label
87
+ --parent <key> Filter by parent
88
+ --tree Display as tree
89
+ --json Output as JSON
90
+
91
+ New Issue Options:
92
+ -p, --priority <P0-P3> Priority (default: P2)
93
+ -l, --labels <labels> Comma-separated labels
94
+ -a, --acceptance <crit> Acceptance criteria
95
+ -c, --column <slug> Target column (default: backlog)
96
+ --parent <key> Parent issue key
97
+
98
+ Move Options:
99
+ -f, --force Force move (skip validation)
100
+
101
+ Health Options:
102
+ --json Output as JSON
103
+ -v, --verbose Show detailed information
104
+
105
+ Stats Options:
106
+ --json Output as JSON
107
+ --session Show only session stats
108
+ --totals Show only total stats
109
+
110
+ Pipeline Options:
111
+ --version <N> Specific version
112
+ --json Output as JSON
113
+ --description "..." Pipeline description
114
+ --segment <segment> Segment (definition|action|finish)
115
+ --position <N> Position in segment
116
+ --name "Display Name" Column display name
117
+ --activate Activate after finalizing
118
+
119
+ Examples:
120
+ autocode Start server
121
+ autocode serve -p 8080 Start on port 8080
122
+ autocode show AC-000001 Show issue details
123
+ autocode history AC-000001 Show full issue history
124
+ autocode list -c 07_in-progress List issues in column
125
+ autocode list --tree Show issue hierarchy
126
+ autocode comment AC-000001 "Done" Add comment
127
+ autocode start AC-000001 Start issue from backlog
128
+ autocode next AC-000001 Advance issue
129
+ autocode move AC-000001 07_in-progress Move issue
130
+ autocode new "Fix bug" -p P1 -l bug Create issue
131
+ autocode parent AC-000001 Show parent/children
132
+ autocode parent AC-000001 AC-000002 Set parent
133
+ autocode health Check for stuck issues
134
+ autocode stats Show Claude usage stats
135
+ autocode pipeline list List all pipelines
136
+ autocode pipeline show default Show pipeline details
137
+ autocode pipeline add-column default review --segment action
138
+ autocode catalog add my-col --segment action --name "My Column"
139
+ `);
140
+ }
141
+
142
+ // Parse port from arguments
143
+ function getPort() {
144
+ const portIndex = args.findIndex(a => a === '-p' || a === '--port');
145
+ if (portIndex !== -1 && args[portIndex + 1]) {
146
+ return parseInt(args[portIndex + 1], 10);
147
+ }
148
+ return 3000;
149
+ }
150
+
151
+ // Check if --expose flag is present
152
+ function hasExposeFlag() {
153
+ return args.includes('-e') || args.includes('--expose');
154
+ }
155
+
156
+ // Check if --debug flag is present
157
+ function hasDebugFlag() {
158
+ return args.includes('--debug');
159
+ }
160
+
161
+ // Check if cloudflared is installed
162
+ function isCloudflaredInstalled() {
163
+ try {
164
+ execSync('which cloudflared', { stdio: 'ignore' });
165
+ return true;
166
+ } catch {
167
+ return false;
168
+ }
169
+ }
170
+
171
+ // Start cloudflare tunnel
172
+ function startTunnel(port) {
173
+ return new Promise((resolve, reject) => {
174
+ console.log('Starting Cloudflare tunnel...');
175
+
176
+ const tunnel = spawn('cloudflared', ['tunnel', '--url', `http://localhost:${port}`], {
177
+ stdio: ['ignore', 'pipe', 'pipe'],
178
+ });
179
+
180
+ if (!tunnel.pid) {
181
+ reject(new Error('Failed to start cloudflared process'));
182
+ return;
183
+ }
184
+
185
+ let url = null;
186
+ let resolved = false;
187
+ const urlRegex = /https:\/\/[a-zA-Z0-9-]+\.trycloudflare\.com/;
188
+
189
+ // Timeout for URL extraction
190
+ const timeout = setTimeout(() => {
191
+ if (!resolved) {
192
+ resolved = true;
193
+ if (url) {
194
+ resolve({ tunnel, url });
195
+ } else {
196
+ reject(new Error('Timeout waiting for tunnel URL'));
197
+ }
198
+ }
199
+ }, 30000);
200
+
201
+ // Parse URL from stderr (cloudflared outputs to stderr)
202
+ tunnel.stderr.on('data', (data) => {
203
+ const output = data.toString();
204
+ const match = output.match(urlRegex);
205
+ if (match && !resolved) {
206
+ url = match[0];
207
+ resolved = true;
208
+ clearTimeout(timeout);
209
+ resolve({ tunnel, url });
210
+ }
211
+ });
212
+
213
+ tunnel.on('exit', (code) => {
214
+ if (!resolved) {
215
+ resolved = true;
216
+ clearTimeout(timeout);
217
+ reject(new Error(`cloudflared exited with code ${code}`));
218
+ }
219
+ });
220
+
221
+ tunnel.on('error', (err) => {
222
+ if (!resolved) {
223
+ resolved = true;
224
+ clearTimeout(timeout);
225
+ reject(err);
226
+ }
227
+ });
228
+ });
229
+ }
230
+
231
+ // Start the Nitro server
232
+ async function startServer() {
233
+ const serverPath = resolve(root, '.output/server/index.mjs');
234
+
235
+ if (!existsSync(serverPath)) {
236
+ console.error('Error: .output/server/index.mjs not found');
237
+ console.error('Please run "npm run build" first');
238
+ process.exit(1);
239
+ }
240
+
241
+ const port = getPort();
242
+ const expose = hasExposeFlag();
243
+
244
+ // Check cloudflared if expose is requested
245
+ if (expose && !isCloudflaredInstalled()) {
246
+ console.error('Error: cloudflared is not installed');
247
+ console.error('Install: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/');
248
+ process.exit(1);
249
+ }
250
+
251
+ const debugMode = hasDebugFlag();
252
+
253
+ const env = {
254
+ ...process.env,
255
+ PORT: String(port),
256
+ NITRO_PORT: String(port),
257
+ AUTOCODE_DEBUG: String(debugMode),
258
+ };
259
+
260
+ console.log(`Starting AutoCode dashboard on port ${port}...`);
261
+
262
+ const server = spawn('node', [serverPath], {
263
+ stdio: 'inherit',
264
+ env,
265
+ });
266
+
267
+ let tunnelProcess = null;
268
+
269
+ // Start tunnel if requested
270
+ if (expose) {
271
+ try {
272
+ const { tunnel, url } = await startTunnel(port);
273
+ tunnelProcess = tunnel;
274
+ console.log(`\n🌐 Public URL: ${url}\n`);
275
+ } catch (err) {
276
+ console.error('Failed to start tunnel:', err.message);
277
+ }
278
+ }
279
+
280
+ server.on('error', (err) => {
281
+ console.error('Failed to start server:', err);
282
+ if (tunnelProcess) tunnelProcess.kill();
283
+ process.exit(1);
284
+ });
285
+
286
+ server.on('exit', (code) => {
287
+ if (tunnelProcess) tunnelProcess.kill();
288
+ process.exit(code || 0);
289
+ });
290
+
291
+ // Handle Ctrl+C
292
+ process.on('SIGINT', () => {
293
+ console.log('\nShutting down...');
294
+ server.kill('SIGTERM');
295
+ if (tunnelProcess) tunnelProcess.kill();
296
+ process.exit(0);
297
+ });
298
+ }
299
+
300
+ // ============================================
301
+ // CLI Commands (use API)
302
+ // ============================================
303
+
304
+ async function commentCmd() {
305
+ const key = commandArgs[0];
306
+ const text = commandArgs.slice(1).join(' ');
307
+
308
+ if (!key || !text) {
309
+ console.error('Usage: autocode comment <issue-key> "<text>"');
310
+ process.exit(1);
311
+ }
312
+
313
+ if (!key.match(/^AC-\d{6}$/)) {
314
+ console.error(`Invalid issue key: ${key}`);
315
+ process.exit(1);
316
+ }
317
+
318
+ try {
319
+ const res = await fetch(`${getApiBase()}/api/issues/${key}/comments`, {
320
+ method: 'POST',
321
+ headers: { 'Content-Type': 'application/json' },
322
+ body: JSON.stringify({ content: text, author: 'Claude' })
323
+ });
324
+
325
+ if (!res.ok) {
326
+ const err = await res.json().catch(() => ({}));
327
+ console.error(`Failed: ${err.message || res.statusText}`);
328
+ process.exit(1);
329
+ }
330
+
331
+ console.log(`✓ Added comment to ${key}`);
332
+ } catch (e) {
333
+ console.error(`Error: ${e.message}`);
334
+ console.error('Make sure autocode server is running');
335
+ process.exit(1);
336
+ }
337
+ }
338
+
339
+ async function startCmd() {
340
+ const key = commandArgs[0];
341
+
342
+ if (!key) {
343
+ console.error('Usage: autocode start <issue-key>');
344
+ process.exit(1);
345
+ }
346
+
347
+ if (!key.match(/^AC-\d{6}$/)) {
348
+ console.error(`Invalid issue key: ${key}`);
349
+ process.exit(1);
350
+ }
351
+
352
+ try {
353
+ // Get current column
354
+ const issueRes = await fetch(`${getApiBase()}/api/issues/${key}`);
355
+ if (!issueRes.ok) {
356
+ console.error(`Issue '${key}' not found`);
357
+ process.exit(1);
358
+ }
359
+ const issue = await issueRes.json();
360
+ const fromCol = issue.column_slug;
361
+
362
+ // Check if already started (not in backlog)
363
+ if (!fromCol.includes('backlog')) {
364
+ console.log(`✓ Issue ${key} already started`);
365
+ console.log(` Current column: ${fromCol}`);
366
+ console.log(` (start only works from backlog)`);
367
+ return;
368
+ }
369
+
370
+ // Advance from backlog
371
+ const res = await fetch(`${getApiBase()}/api/issues/${key}/next`, {
372
+ method: 'POST',
373
+ headers: { 'Content-Type': 'application/json' },
374
+ body: JSON.stringify({})
375
+ });
376
+
377
+ if (!res.ok) {
378
+ const err = await res.json().catch(() => ({}));
379
+ console.error(`Failed: ${err.message || err.error || res.statusText}`);
380
+ process.exit(1);
381
+ }
382
+
383
+ const result = await res.json();
384
+ console.log(`✓ Started ${key}`);
385
+ console.log(` From: ${fromCol}`);
386
+ console.log(` To: ${result.data?.column_slug || 'next'}`);
387
+ } catch (e) {
388
+ console.error(`Error: ${e.message}`);
389
+ console.error('Make sure autocode server is running');
390
+ process.exit(1);
391
+ }
392
+ }
393
+
394
+ async function nextCmd() {
395
+ const key = commandArgs[0];
396
+
397
+ if (!key) {
398
+ console.error('Usage: autocode next <issue-key>');
399
+ process.exit(1);
400
+ }
401
+
402
+ if (!key.match(/^AC-\d{6}$/)) {
403
+ console.error(`Invalid issue key: ${key}`);
404
+ process.exit(1);
405
+ }
406
+
407
+ try {
408
+ // Get current column
409
+ const issueRes = await fetch(`${getApiBase()}/api/issues/${key}`);
410
+ if (!issueRes.ok) {
411
+ console.error(`Issue '${key}' not found`);
412
+ process.exit(1);
413
+ }
414
+ const issue = await issueRes.json();
415
+ const fromCol = issue.column_slug;
416
+
417
+ // Advance
418
+ const res = await fetch(`${getApiBase()}/api/issues/${key}/next`, {
419
+ method: 'POST',
420
+ headers: { 'Content-Type': 'application/json' },
421
+ body: JSON.stringify({})
422
+ });
423
+
424
+ if (!res.ok) {
425
+ const err = await res.json().catch(() => ({}));
426
+ console.error(`Failed: ${err.message || err.error || res.statusText}`);
427
+ process.exit(1);
428
+ }
429
+
430
+ const result = await res.json();
431
+ console.log(`✓ Advanced ${key}`);
432
+ console.log(` From: ${fromCol}`);
433
+ console.log(` To: ${result.data?.column_slug || 'next'}`);
434
+ } catch (e) {
435
+ console.error(`Error: ${e.message}`);
436
+ console.error('Make sure autocode server is running');
437
+ process.exit(1);
438
+ }
439
+ }
440
+
441
+ async function moveCmd() {
442
+ const key = commandArgs[0];
443
+ const column = commandArgs[1];
444
+ const force = commandArgs.includes('--force') || commandArgs.includes('-f');
445
+
446
+ if (!key || !column) {
447
+ console.error('Usage: autocode move <issue-key> <column-slug> [--force]');
448
+ process.exit(1);
449
+ }
450
+
451
+ if (!key.match(/^AC-\d{6}$/)) {
452
+ console.error(`Invalid issue key: ${key}`);
453
+ process.exit(1);
454
+ }
455
+
456
+ try {
457
+ const issueRes = await fetch(`${getApiBase()}/api/issues/${key}`);
458
+ if (!issueRes.ok) {
459
+ console.error(`Issue '${key}' not found`);
460
+ process.exit(1);
461
+ }
462
+ const issue = await issueRes.json();
463
+ const fromCol = issue.column_slug;
464
+
465
+ const res = await fetch(`${getApiBase()}/api/issues/${key}/move`, {
466
+ method: 'POST',
467
+ headers: { 'Content-Type': 'application/json' },
468
+ body: JSON.stringify({ column, force })
469
+ });
470
+
471
+ if (!res.ok) {
472
+ const err = await res.json().catch(() => ({}));
473
+ console.error(`Failed: ${err.message || err.error || res.statusText}`);
474
+ if (!force) console.error('Use --force to override');
475
+ process.exit(1);
476
+ }
477
+
478
+ const result = await res.json();
479
+ console.log(`✓ Moved ${key}`);
480
+ console.log(` From: ${fromCol}`);
481
+ console.log(` To: ${result.data?.column_slug || column}`);
482
+ } catch (e) {
483
+ console.error(`Error: ${e.message}`);
484
+ console.error('Make sure autocode server is running');
485
+ process.exit(1);
486
+ }
487
+ }
488
+
489
+ async function newCmd() {
490
+ // Parse options
491
+ const opts = {};
492
+ let title = '';
493
+ let desc = '';
494
+ let i = 0;
495
+
496
+ while (i < commandArgs.length) {
497
+ const arg = commandArgs[i];
498
+ if (arg === '-p' || arg === '--priority') opts.priority = commandArgs[++i];
499
+ else if (arg === '-l' || arg === '--labels') opts.labels = commandArgs[++i];
500
+ else if (arg === '-a' || arg === '--acceptance') opts.acceptance = commandArgs[++i];
501
+ else if (arg === '-s' || arg === '--semver') opts.semver = commandArgs[++i];
502
+ else if (arg === '-c' || arg === '--column') opts.column = commandArgs[++i];
503
+ else if (arg === '--parent') opts.parent = commandArgs[++i];
504
+ else if (arg === '--autocomplete') opts.autocomplete = true;
505
+ else if (arg === '--lang') opts.lang = commandArgs[++i];
506
+ else if (!title) title = arg;
507
+ else if (!desc) desc = arg;
508
+ i++;
509
+ }
510
+
511
+ if (!title) {
512
+ console.error('Usage: autocode new "<title>" ["<description>"] [options]');
513
+ console.error('Options: -p <priority> -l <labels> -a <acceptance> -c <column> --parent <key> --autocomplete --lang <en|fr>');
514
+ process.exit(1);
515
+ }
516
+
517
+ try {
518
+ const body = {
519
+ title,
520
+ description: desc || '',
521
+ priority: opts.priority || 'P2',
522
+ };
523
+
524
+ if (opts.labels) body.labels = opts.labels.split(',').map(l => l.trim());
525
+ if (opts.acceptance) body.acceptance_criteria = opts.acceptance.split(',').map(c => c.trim());
526
+ if (opts.semver) body.semver = opts.semver;
527
+ if (opts.parent) body.parent_key = opts.parent;
528
+
529
+ const res = await fetch(`${getApiBase()}/api/issues`, {
530
+ method: 'POST',
531
+ headers: { 'Content-Type': 'application/json' },
532
+ body: JSON.stringify(body)
533
+ });
534
+
535
+ if (!res.ok) {
536
+ const err = await res.json().catch(() => ({}));
537
+ console.error(`Failed: ${err.message || err.error || res.statusText}`);
538
+ process.exit(1);
539
+ }
540
+
541
+ const result = await res.json();
542
+ const issue = result.data || result;
543
+
544
+ // Autocomplete if requested (generates acceptance criteria, description, etc.)
545
+ if (opts.autocomplete) {
546
+ console.log(` Generating acceptance criteria...`);
547
+ const autoRes = await fetch(`${getApiBase()}/api/issues/autocomplete`, {
548
+ method: 'POST',
549
+ headers: { 'Content-Type': 'application/json' },
550
+ body: JSON.stringify({
551
+ title: issue.title,
552
+ description: issue.description,
553
+ priority: issue.priority,
554
+ lang: opts.lang || 'fr'
555
+ })
556
+ });
557
+
558
+ if (autoRes.ok) {
559
+ const autoData = await autoRes.json();
560
+ // Update issue with generated fields
561
+ const patchRes = await fetch(`${getApiBase()}/api/issues/${issue.key}`, {
562
+ method: 'PATCH',
563
+ headers: { 'Content-Type': 'application/json' },
564
+ body: JSON.stringify({
565
+ description: autoData.description || issue.description,
566
+ priority: autoData.priority || issue.priority,
567
+ labels: autoData.labels || [],
568
+ acceptance_criteria: autoData.acceptance_criteria || [],
569
+ semver: autoData.semver || 'patch'
570
+ })
571
+ });
572
+
573
+ if (patchRes.ok) {
574
+ const updated = await patchRes.json();
575
+ console.log(` ✓ Autocomplete: ${(updated.acceptance_criteria || []).length} criteria generated`);
576
+ } else {
577
+ console.error(` ⚠ Autocomplete update failed`);
578
+ }
579
+ } else {
580
+ console.error(` ⚠ Autocomplete generation failed`);
581
+ }
582
+ }
583
+
584
+ // Move to column if specified
585
+ if (opts.column && opts.column !== '00_backlog') {
586
+ await fetch(`${getApiBase()}/api/issues/${issue.key}/move`, {
587
+ method: 'POST',
588
+ headers: { 'Content-Type': 'application/json' },
589
+ body: JSON.stringify({ column: opts.column, force: true })
590
+ });
591
+ }
592
+
593
+ console.log(`✓ Created ${issue.key}`);
594
+ console.log(` Title: ${issue.title}`);
595
+ console.log(` Priority: ${issue.priority || 'P2'}`);
596
+ console.log(` Column: ${opts.column || '00_backlog'}`);
597
+ } catch (e) {
598
+ console.error(`Error: ${e.message}`);
599
+ console.error('Make sure autocode server is running');
600
+ process.exit(1);
601
+ }
602
+ }
603
+
604
+ // ============================================
605
+ // show - Show issue details
606
+ // ============================================
607
+ async function showCmd() {
608
+ const key = commandArgs[0];
609
+ const jsonOutput = commandArgs.includes('--json');
610
+
611
+ if (!key) {
612
+ console.error('Usage: autocode show <issue-key> [--json]');
613
+ process.exit(1);
614
+ }
615
+
616
+ if (!key.match(/^AC-\d{6}$/)) {
617
+ console.error(`Invalid issue key: ${key}`);
618
+ process.exit(1);
619
+ }
620
+
621
+ try {
622
+ const API = getApiBase();
623
+ const [issueRes, childrenRes, ancestorsRes] = await Promise.all([
624
+ fetch(`${API}/api/issues/${key}`),
625
+ fetch(`${API}/api/issues/${key}/children`),
626
+ fetch(`${API}/api/issues/${key}/ancestors`)
627
+ ]);
628
+
629
+ if (!issueRes.ok) {
630
+ console.error(`Issue '${key}' not found`);
631
+ process.exit(1);
632
+ }
633
+
634
+ const issue = await issueRes.json();
635
+ const children = childrenRes.ok ? await childrenRes.json() : [];
636
+ const ancestors = ancestorsRes.ok ? await ancestorsRes.json() : [];
637
+
638
+ if (jsonOutput) {
639
+ console.log(JSON.stringify({ ...issue, children, ancestors }, null, 2));
640
+ return;
641
+ }
642
+
643
+ // Pretty print
644
+ console.log();
645
+ console.log(`\x1b[1m${issue.key}: ${issue.title}\x1b[0m`);
646
+ console.log('─'.repeat(60));
647
+
648
+ console.log(` Status: ${issue.column_slug}`);
649
+ console.log(` Priority: ${issue.priority}`);
650
+ console.log(` Semver: ${issue.semver || '-'}`);
651
+
652
+ if (issue.labels?.length > 0) {
653
+ console.log(` Labels: ${issue.labels.join(', ')}`);
654
+ }
655
+
656
+ if (issue.parent_key) {
657
+ console.log(` Parent: ${issue.parent_key}`);
658
+ }
659
+
660
+ if (children.length > 0) {
661
+ console.log(` Children: ${children.length} issue(s)`);
662
+ }
663
+
664
+ console.log();
665
+ console.log(` Created: ${issue.created_at}`);
666
+ console.log(` Updated: ${issue.updated_at}`);
667
+
668
+ if (issue.description && issue.description !== '[Description]') {
669
+ console.log();
670
+ console.log('\x1b[1mDescription:\x1b[0m');
671
+ console.log(issue.description);
672
+ }
673
+
674
+ if (issue.acceptance_criteria?.length > 0) {
675
+ console.log();
676
+ console.log('\x1b[1mAcceptance Criteria:\x1b[0m');
677
+ for (const c of issue.acceptance_criteria) {
678
+ console.log(` - ${c}`);
679
+ }
680
+ }
681
+
682
+ if (issue.comments?.length > 0) {
683
+ console.log();
684
+ console.log(`\x1b[1mComments (${issue.comments.length}):\x1b[0m`);
685
+ for (const c of issue.comments) {
686
+ console.log();
687
+ console.log(` \x1b[2m[${c.column}] ${c.created_at}\x1b[0m`);
688
+ console.log(` ${c.text}`);
689
+ }
690
+ }
691
+
692
+ if (children.length > 0) {
693
+ console.log();
694
+ console.log(`\x1b[1mChildren (${children.length}):\x1b[0m`);
695
+ for (const child of children) {
696
+ const status = child.column_slug?.substring(0, 15).padEnd(15) || '';
697
+ console.log(` \x1b[36m${child.key}\x1b[0m [${status}] ${child.title.substring(0, 40)}`);
698
+ }
699
+ }
700
+
701
+ if (issue.history?.length > 0) {
702
+ console.log();
703
+ console.log('\x1b[1mHistory:\x1b[0m');
704
+ for (const h of issue.history) {
705
+ console.log(` \x1b[2m${h.at}: ${h.action} ${h.from || '-'} → ${h.to}\x1b[0m`);
706
+ }
707
+ }
708
+
709
+ console.log();
710
+ } catch (e) {
711
+ console.error(`Error: ${e.message}`);
712
+ console.error('Make sure autocode server is running');
713
+ process.exit(1);
714
+ }
715
+ }
716
+
717
+ // ============================================
718
+ // history - Show full issue history
719
+ // ============================================
720
+ async function historyCmd() {
721
+ const key = commandArgs[0];
722
+ const jsonOutput = commandArgs.includes('--json');
723
+ const fullOutput = commandArgs.includes('--full');
724
+ const limitIdx = commandArgs.findIndex(a => a === '--limit');
725
+ const limit = limitIdx !== -1 ? parseInt(commandArgs[limitIdx + 1], 10) : undefined;
726
+
727
+ if (!key) {
728
+ console.error('Usage: autocode history <issue-key> [--json] [--full] [--limit N]');
729
+ process.exit(1);
730
+ }
731
+
732
+ if (!key.match(/^AC-\d{6}$/)) {
733
+ console.error(`Invalid issue key: ${key}`);
734
+ process.exit(1);
735
+ }
736
+
737
+ try {
738
+ const API = getApiBase();
739
+
740
+ // Fetch full history (includes execution logs)
741
+ const res = await fetch(`${API}/api/issues/${key}/full-history`);
742
+
743
+ if (!res.ok) {
744
+ if (res.status === 404) {
745
+ console.error(`Issue '${key}' not found`);
746
+ } else {
747
+ console.error(`Failed to get history: ${res.statusText}`);
748
+ }
749
+ process.exit(1);
750
+ }
751
+
752
+ const data = await res.json();
753
+ let history = data.entries || [];
754
+
755
+ // Apply limit if specified
756
+ if (limit && limit > 0) {
757
+ history = history.slice(-limit);
758
+ }
759
+
760
+ if (jsonOutput) {
761
+ console.log(JSON.stringify(history, null, 2));
762
+ return;
763
+ }
764
+
765
+ if (history.length === 0) {
766
+ console.log(`No history found for ${key}`);
767
+ return;
768
+ }
769
+
770
+ console.log();
771
+ console.log(`\x1b[1mHistory for ${key}\x1b[0m`);
772
+ console.log('═'.repeat(80));
773
+
774
+ for (let i = 0; i < history.length; i++) {
775
+ const entry = history[i];
776
+ const timestamp = entry.at.substring(0, 19).replace('T', ' ');
777
+ const action = formatAction(entry.action);
778
+ const from = entry.fromColumn || entry.from || '-';
779
+ const to = entry.toColumn || entry.to;
780
+ const sessionId = entry.sessionId ? `[${entry.sessionId}]` : '';
781
+
782
+ // Entry header
783
+ console.log();
784
+ console.log(`\x1b[1m#${i + 1}\x1b[0m ${timestamp} ${action}`);
785
+
786
+ // Transition details
787
+ if (entry.action === 'moved' || entry.action === 'started') {
788
+ console.log(` Transition: ${from} → ${to}`);
789
+ } else if (entry.action === 'created') {
790
+ console.log(` Created in: ${to}`);
791
+ } else if (entry.action === 'edited') {
792
+ console.log(` Edited in: ${to}`);
793
+ }
794
+
795
+ if (entry.sessionId) {
796
+ console.log(` Session: ${sessionId}`);
797
+ }
798
+
799
+ // Show changes if present (for edited action)
800
+ if (entry.changes && entry.changes.length > 0) {
801
+ console.log();
802
+ console.log(' \x1b[35mChanges:\x1b[0m');
803
+ for (const change of entry.changes) {
804
+ const field = change.field;
805
+ console.log(` \x1b[36m${field}:\x1b[0m`);
806
+ if (fullOutput || String(change.from || '').length < 100) {
807
+ console.log(` \x1b[31m- ${formatValue(change.from)}\x1b[0m`);
808
+ console.log(` \x1b[32m+ ${formatValue(change.to)}\x1b[0m`);
809
+ } else {
810
+ console.log(` \x1b[31m- ${truncate(String(change.from || ''), 80)}\x1b[0m`);
811
+ console.log(` \x1b[32m+ ${truncate(String(change.to || ''), 80)}\x1b[0m`);
812
+ }
813
+ }
814
+ }
815
+
816
+ // Show prompt if available
817
+ if (entry.prompt) {
818
+ console.log();
819
+ console.log(' \x1b[33mPrompt:\x1b[0m');
820
+ if (fullOutput) {
821
+ const lines = entry.prompt.split('\n');
822
+ for (const line of lines) {
823
+ console.log(` ${line}`);
824
+ }
825
+ } else {
826
+ const preview = entry.prompt.substring(0, 200).replace(/\n/g, ' ');
827
+ console.log(` ${preview}${entry.prompt.length > 200 ? '...' : ''}`);
828
+ console.log(` \x1b[2m(${entry.prompt.length} chars, use --full to see all)\x1b[0m`);
829
+ }
830
+ }
831
+
832
+ // Show terminal output if available
833
+ const terminalLog = entry.terminalLog || entry.terminal;
834
+ if (terminalLog) {
835
+ console.log();
836
+ console.log(' \x1b[32mTerminal Output:\x1b[0m');
837
+ if (fullOutput) {
838
+ const lines = terminalLog.split('\n');
839
+ for (const line of lines) {
840
+ console.log(` ${line}`);
841
+ }
842
+ } else {
843
+ const preview = terminalLog.substring(0, 300).replace(/\n/g, ' ');
844
+ console.log(` ${preview}${terminalLog.length > 300 ? '...' : ''}`);
845
+ console.log(` \x1b[2m(${terminalLog.length} chars, use --full to see all)\x1b[0m`);
846
+ }
847
+ }
848
+
849
+ // Separator between entries
850
+ if (i < history.length - 1) {
851
+ console.log();
852
+ console.log('─'.repeat(80));
853
+ }
854
+ }
855
+
856
+ console.log();
857
+ console.log('═'.repeat(80));
858
+ console.log(`Total: ${history.length} entries`);
859
+
860
+ // Summary of artifacts
861
+ const withPrompt = history.filter(h => h.prompt).length;
862
+ const withTerminal = history.filter(h => h.terminalLog || h.terminal).length;
863
+ if (withPrompt > 0 || withTerminal > 0) {
864
+ console.log(`Artifacts: ${withPrompt} prompts, ${withTerminal} terminal logs`);
865
+ }
866
+
867
+ if (!fullOutput && (withPrompt > 0 || withTerminal > 0)) {
868
+ console.log('\x1b[2mTip: Use --full to see complete prompt and terminal content\x1b[0m');
869
+ }
870
+ } catch (e) {
871
+ console.error(`Error: ${e.message}`);
872
+ console.error('Make sure autocode server is running');
873
+ process.exit(1);
874
+ }
875
+ }
876
+
877
+ function formatValue(val) {
878
+ if (val === null || val === undefined) return '(empty)';
879
+ if (typeof val === 'string') return val.replace(/\n/g, '\\n');
880
+ return JSON.stringify(val);
881
+ }
882
+
883
+ function formatAction(action) {
884
+ const width = 8;
885
+ switch (action) {
886
+ case 'created': return `\x1b[32m${'created'.padEnd(width)}\x1b[0m`;
887
+ case 'moved': return `\x1b[36m${'moved'.padEnd(width)}\x1b[0m`;
888
+ case 'started': return `\x1b[33m${'started'.padEnd(width)}\x1b[0m`;
889
+ case 'edited': return `\x1b[35m${'edited'.padEnd(width)}\x1b[0m`;
890
+ default: return action.padEnd(width);
891
+ }
892
+ }
893
+
894
+ function truncate(str, maxLen) {
895
+ if (str.length <= maxLen) return str;
896
+ return str.substring(0, maxLen - 3) + '...';
897
+ }
898
+
899
+ // ============================================
900
+ // list - List issues
901
+ // ============================================
902
+ async function listCmd() {
903
+ const opts = {};
904
+ let i = 0;
905
+
906
+ while (i < commandArgs.length) {
907
+ const arg = commandArgs[i];
908
+ if (arg === '-c' || arg === '--column') opts.column = commandArgs[++i];
909
+ else if (arg === '-p' || arg === '--priority') opts.priority = commandArgs[++i];
910
+ else if (arg === '-l' || arg === '--label') opts.label = commandArgs[++i];
911
+ else if (arg === '--parent') opts.parent = commandArgs[++i];
912
+ else if (arg === '--tree') opts.tree = true;
913
+ else if (arg === '--json') opts.json = true;
914
+ i++;
915
+ }
916
+
917
+ try {
918
+ const API = getApiBase();
919
+ const params = new URLSearchParams();
920
+ if (opts.column) params.set('column', opts.column);
921
+ if (opts.priority) params.set('priority', opts.priority);
922
+ if (opts.label) params.set('label', opts.label);
923
+ if (opts.parent) params.set('parent', opts.parent);
924
+
925
+ const url = `${API}/api/issues${params.toString() ? '?' + params.toString() : ''}`;
926
+ const res = await fetch(url);
927
+
928
+ if (!res.ok) {
929
+ const err = await res.json().catch(() => ({}));
930
+ console.error(`Failed: ${err.message || res.statusText}`);
931
+ process.exit(1);
932
+ }
933
+
934
+ let issues = await res.json();
935
+
936
+ // Sort by priority then key
937
+ const priorityOrder = { P0: 0, P1: 1, P2: 2, P3: 3 };
938
+ issues.sort((a, b) => {
939
+ const pDiff = (priorityOrder[a.priority] || 2) - (priorityOrder[b.priority] || 2);
940
+ if (pDiff !== 0) return pDiff;
941
+ return a.key.localeCompare(b.key);
942
+ });
943
+
944
+ if (opts.json) {
945
+ console.log(JSON.stringify(issues, null, 2));
946
+ return;
947
+ }
948
+
949
+ if (issues.length === 0) {
950
+ console.log('No issues found');
951
+ return;
952
+ }
953
+
954
+ if (opts.tree) {
955
+ console.log(`Issue hierarchy:`);
956
+ console.log('─'.repeat(60));
957
+ printTree(issues, null, 0);
958
+ return;
959
+ }
960
+
961
+ console.log(`Found ${issues.length} issue(s)`);
962
+ console.log('─'.repeat(60));
963
+
964
+ for (const issue of issues) {
965
+ const key = `\x1b[36m${issue.key}\x1b[0m`;
966
+ const priority = colorPriority(issue.priority);
967
+ const title = issue.title.substring(0, 50) + (issue.title.length > 50 ? '...' : '');
968
+ const status = `\x1b[2m[${issue.column_slug}]\x1b[0m`;
969
+ console.log(`${key} ${priority} ${title} ${status}`);
970
+ }
971
+ } catch (e) {
972
+ console.error(`Error: ${e.message}`);
973
+ console.error('Make sure autocode server is running');
974
+ process.exit(1);
975
+ }
976
+ }
977
+
978
+ function printTree(issues, parentKey, indent) {
979
+ // Filter: null, undefined, or empty string all mean "root level"
980
+ const children = issues.filter(t => {
981
+ const parent = t.parent_key;
982
+ if (parentKey === null) {
983
+ return !parent || parent === '';
984
+ }
985
+ return parent === parentKey;
986
+ });
987
+
988
+ const priorityOrder = { P0: 0, P1: 1, P2: 2, P3: 3 };
989
+
990
+ children.sort((a, b) => {
991
+ const pDiff = (priorityOrder[a.priority] || 2) - (priorityOrder[b.priority] || 2);
992
+ if (pDiff !== 0) return pDiff;
993
+ return a.key.localeCompare(b.key);
994
+ });
995
+
996
+ for (const issue of children) {
997
+ const prefix = indent > 0 ? ' '.repeat(indent - 1) + '└─ ' : '';
998
+ const key = `\x1b[36m${issue.key}\x1b[0m`;
999
+ const priority = colorPriority(issue.priority);
1000
+ const title = issue.title.substring(0, 40) + (issue.title.length > 40 ? '...' : '');
1001
+ const status = `\x1b[2m[${(issue.column_slug || '').substring(0, 12)}]\x1b[0m`;
1002
+ console.log(`${prefix}${key} ${priority} ${title} ${status}`);
1003
+ printTree(issues, issue.key, indent + 1);
1004
+ }
1005
+ }
1006
+
1007
+ function colorPriority(p) {
1008
+ switch (p) {
1009
+ case 'P0': return '\x1b[31mP0\x1b[0m';
1010
+ case 'P1': return '\x1b[33mP1\x1b[0m';
1011
+ case 'P2': return '\x1b[32mP2\x1b[0m';
1012
+ case 'P3': return '\x1b[2mP3\x1b[0m';
1013
+ default: return p || 'P2';
1014
+ }
1015
+ }
1016
+
1017
+ // ============================================
1018
+ // health - Check workflow health
1019
+ // ============================================
1020
+ async function healthCmd() {
1021
+ const jsonOutput = commandArgs.includes('--json');
1022
+ const verbose = commandArgs.includes('-v') || commandArgs.includes('--verbose');
1023
+
1024
+ try {
1025
+ const res = await fetch(`${getApiBase()}/api/workflow/health`);
1026
+
1027
+ if (!res.ok) {
1028
+ console.error('Failed to get health status');
1029
+ process.exit(1);
1030
+ }
1031
+
1032
+ const report = await res.json();
1033
+
1034
+ if (jsonOutput) {
1035
+ console.log(JSON.stringify(report, null, 2));
1036
+ return;
1037
+ }
1038
+
1039
+ if (report.healthy) {
1040
+ console.log('\x1b[32m✓ All issues healthy\x1b[0m');
1041
+ console.log(` Total issues: ${report.issueCount || report.summary?.totalIssues || 0}`);
1042
+ return;
1043
+ }
1044
+
1045
+ // Simple format from API
1046
+ if (report.message) {
1047
+ console.log(`\x1b[33m⚠ ${report.message}\x1b[0m`);
1048
+ console.log(` Issues: ${report.issueCount || 0}`);
1049
+ return;
1050
+ }
1051
+
1052
+ // Extended format with stuckIssues
1053
+ const stuckIssues = report.stuckIssues || [];
1054
+ const errorCount = stuckIssues.filter(s => s.severity === 'error').length;
1055
+ const warningCount = stuckIssues.filter(s => s.severity === 'warning').length;
1056
+
1057
+ if (errorCount > 0) {
1058
+ console.log(`\x1b[31m✗ ${errorCount} issue(s) need attention\x1b[0m`);
1059
+ }
1060
+ if (warningCount > 0) {
1061
+ console.log(`\x1b[33m⚠ ${warningCount} warning(s)\x1b[0m`);
1062
+ }
1063
+
1064
+ if (stuckIssues.length === 0) {
1065
+ return;
1066
+ }
1067
+
1068
+ console.log('─'.repeat(60));
1069
+
1070
+ // Group by reason
1071
+ const byReason = new Map();
1072
+ for (const stuck of stuckIssues) {
1073
+ const list = byReason.get(stuck.reason) || [];
1074
+ list.push(stuck);
1075
+ byReason.set(stuck.reason, list);
1076
+ }
1077
+
1078
+ const reasonLabels = {
1079
+ no_criteria: 'Missing Acceptance Criteria',
1080
+ loop_detected: 'Loop Detected',
1081
+ stale: 'Stale Issues',
1082
+ hierarchy_conflict: 'Hierarchy Conflicts'
1083
+ };
1084
+
1085
+ for (const [reason, issues] of byReason) {
1086
+ console.log();
1087
+ console.log(`${reasonLabels[reason] || reason} (${issues.length})`);
1088
+
1089
+ for (const stuck of issues) {
1090
+ const severity = stuck.severity === 'error' ? '\x1b[31m!\x1b[0m' : '\x1b[33m?\x1b[0m';
1091
+ const key = `\x1b[36m${stuck.key}\x1b[0m`;
1092
+ const details = `\x1b[2m${stuck.details}\x1b[0m`;
1093
+ console.log(` ${severity} ${key} ${details}`);
1094
+
1095
+ if (verbose) {
1096
+ console.log(` Column: ${stuck.column}`);
1097
+ }
1098
+ }
1099
+ }
1100
+
1101
+ if (report.recommendations?.length > 0) {
1102
+ console.log();
1103
+ console.log('Recommendations:');
1104
+ for (const rec of report.recommendations) {
1105
+ console.log(` - ${rec}`);
1106
+ }
1107
+ }
1108
+
1109
+ if (verbose && report.summary) {
1110
+ console.log();
1111
+ console.log('Summary:');
1112
+ console.log(` Total issues: ${report.summary.totalIssues}`);
1113
+ console.log(` Without criteria: ${report.summary.issuesWithoutCriteria}`);
1114
+ console.log(` Looping: ${report.summary.loopingIssues}`);
1115
+ console.log(` Hierarchy conflicts: ${report.summary.hierarchyConflicts}`);
1116
+ console.log(` Stale: ${report.summary.staleIssues}`);
1117
+ }
1118
+ } catch (e) {
1119
+ console.error(`Error: ${e.message}`);
1120
+ console.error('Make sure autocode server is running');
1121
+ process.exit(1);
1122
+ }
1123
+ }
1124
+
1125
+ // ============================================
1126
+ // parent - Manage parent relationships
1127
+ // ============================================
1128
+ async function parentCmd() {
1129
+ const key = commandArgs[0];
1130
+ const parentKey = commandArgs[1];
1131
+
1132
+ if (!key) {
1133
+ console.error('Usage: autocode parent <issue-key> [parent-key|none]');
1134
+ process.exit(1);
1135
+ }
1136
+
1137
+ if (!key.match(/^AC-\d{6}$/)) {
1138
+ console.error(`Invalid issue key: ${key}`);
1139
+ process.exit(1);
1140
+ }
1141
+
1142
+ try {
1143
+ const API = getApiBase();
1144
+
1145
+ // Show current parent/children if no argument
1146
+ if (!parentKey) {
1147
+ const [issueRes, childrenRes, ancestorsRes] = await Promise.all([
1148
+ fetch(`${API}/api/issues/${key}`),
1149
+ fetch(`${API}/api/issues/${key}/children`),
1150
+ fetch(`${API}/api/issues/${key}/ancestors`)
1151
+ ]);
1152
+
1153
+ if (!issueRes.ok) {
1154
+ console.error(`Issue '${key}' not found`);
1155
+ process.exit(1);
1156
+ }
1157
+
1158
+ const issue = await issueRes.json();
1159
+ const children = childrenRes.ok ? await childrenRes.json() : [];
1160
+ const ancestors = ancestorsRes.ok ? await ancestorsRes.json() : [];
1161
+
1162
+ console.log();
1163
+ console.log(`\x1b[1m${issue.key}: ${issue.title}\x1b[0m`);
1164
+ console.log('─'.repeat(60));
1165
+
1166
+ if (issue.parent_key) {
1167
+ const parentRes = await fetch(`${API}/api/issues/${issue.parent_key}`);
1168
+ const parent = parentRes.ok ? await parentRes.json() : null;
1169
+ console.log(` Parent: ${issue.parent_key}${parent ? ` (${parent.title.substring(0, 40)})` : ''}`);
1170
+ } else {
1171
+ console.log(' Parent: None (root issue)');
1172
+ }
1173
+
1174
+ if (ancestors.length > 0) {
1175
+ console.log();
1176
+ console.log('\x1b[1mAncestors:\x1b[0m');
1177
+ for (let i = ancestors.length - 1; i >= 0; i--) {
1178
+ const a = ancestors[i];
1179
+ const indent = ' '.repeat(ancestors.length - 1 - i);
1180
+ console.log(`${indent}\x1b[36m${a.key}\x1b[0m ${a.title.substring(0, 40)}`);
1181
+ }
1182
+ }
1183
+
1184
+ if (children.length > 0) {
1185
+ console.log();
1186
+ console.log(`\x1b[1mChildren (${children.length}):\x1b[0m`);
1187
+ for (const child of children) {
1188
+ console.log(` \x1b[36m${child.key}\x1b[0m [${(child.column_slug || '').substring(0, 12)}] ${child.title.substring(0, 40)}`);
1189
+ }
1190
+ }
1191
+
1192
+ console.log();
1193
+ return;
1194
+ }
1195
+
1196
+ // Set or remove parent
1197
+ const newParentKey = parentKey.toLowerCase() === 'none' ? null : parentKey;
1198
+
1199
+ if (newParentKey && !newParentKey.match(/^AC-\d{6}$/)) {
1200
+ console.error(`Invalid parent key: ${parentKey}`);
1201
+ process.exit(1);
1202
+ }
1203
+
1204
+ const res = await fetch(`${API}/api/issues/${key}`, {
1205
+ method: 'PATCH',
1206
+ headers: { 'Content-Type': 'application/json' },
1207
+ body: JSON.stringify({ parent_key: newParentKey })
1208
+ });
1209
+
1210
+ if (!res.ok) {
1211
+ const err = await res.json().catch(() => ({}));
1212
+ console.error(`Failed: ${err.message || err.error || res.statusText}`);
1213
+ process.exit(1);
1214
+ }
1215
+
1216
+ if (newParentKey) {
1217
+ console.log(`✓ Set parent of ${key} to ${newParentKey}`);
1218
+ } else {
1219
+ console.log(`✓ Removed parent from ${key}`);
1220
+ }
1221
+ } catch (e) {
1222
+ console.error(`Error: ${e.message}`);
1223
+ console.error('Make sure autocode server is running');
1224
+ process.exit(1);
1225
+ }
1226
+ }
1227
+
1228
+ // ============================================
1229
+ // stats - Show usage statistics
1230
+ // ============================================
1231
+ async function statsCmd() {
1232
+ const jsonOutput = commandArgs.includes('--json');
1233
+ const sessionOnly = commandArgs.includes('--session');
1234
+ const totalsOnly = commandArgs.includes('--totals');
1235
+
1236
+ try {
1237
+ const res = await fetch(`${getApiBase()}/api/stats`);
1238
+
1239
+ if (!res.ok) {
1240
+ console.error('Failed to get stats');
1241
+ process.exit(1);
1242
+ }
1243
+
1244
+ const stats = await res.json();
1245
+
1246
+ if (jsonOutput) {
1247
+ if (sessionOnly) console.log(JSON.stringify(stats.session, null, 2));
1248
+ else if (totalsOnly) console.log(JSON.stringify(stats.totals, null, 2));
1249
+ else console.log(JSON.stringify(stats, null, 2));
1250
+ return;
1251
+ }
1252
+
1253
+ console.log('Claude Usage Statistics');
1254
+ console.log('─'.repeat(60));
1255
+
1256
+ console.log(` Profile: \x1b[36m${stats.profile || 'default'}\x1b[0m`);
1257
+ console.log(` Model: \x1b[2m${stats.model || 'N/A'}\x1b[0m`);
1258
+ console.log();
1259
+
1260
+ if (!totalsOnly && stats.session) {
1261
+ const sessionTotal = (stats.session.tokensInput || 0) + (stats.session.tokensOutput || 0);
1262
+ console.log(` \x1b[36mSession\x1b[0m (started: ${formatDate(stats.session.startedAt)})`);
1263
+ console.log(` Calls: ${stats.session.callCount || 0}`);
1264
+ console.log(` Input tokens: ${formatNumber(stats.session.tokensInput || 0)}`);
1265
+ console.log(` Output tokens: ${formatNumber(stats.session.tokensOutput || 0)}`);
1266
+ console.log(` Total tokens: ${formatNumber(sessionTotal)}`);
1267
+ console.log(` Cost: $${(stats.session.costUsd || 0).toFixed(2)}`);
1268
+ console.log();
1269
+ }
1270
+
1271
+ if (!sessionOnly && stats.totals) {
1272
+ const total = (stats.totals.tokensInput || 0) + (stats.totals.tokensOutput || 0);
1273
+ console.log(` \x1b[36mAll Time\x1b[0m`);
1274
+ console.log(` Calls: ${stats.totals.callCount || 0}`);
1275
+ console.log(` Input tokens: ${formatNumber(stats.totals.tokensInput || 0)}`);
1276
+ console.log(` Output tokens: ${formatNumber(stats.totals.tokensOutput || 0)}`);
1277
+ console.log(` Total tokens: ${formatNumber(total)}`);
1278
+ console.log(` Cost: $${(stats.totals.costUsd || 0).toFixed(2)}`);
1279
+ console.log();
1280
+ }
1281
+
1282
+ if (!sessionOnly && !totalsOnly && stats.history?.length > 0) {
1283
+ console.log(` \x1b[36mRecent Calls\x1b[0m (last 5)`);
1284
+ const recent = stats.history.slice(0, 5);
1285
+ for (const call of recent) {
1286
+ const issue = call.issue ? `\x1b[36m${call.issue}\x1b[0m` : '-';
1287
+ const tokens = `${formatNumber(call.tokensInput || 0)}/${formatNumber(call.tokensOutput || 0)}`;
1288
+ const cost = call.costUsd ? `$${call.costUsd.toFixed(2)}` : '';
1289
+ const duration = formatDuration(call.duration || 0);
1290
+ console.log(` ${formatTime(call.timestamp)} ${issue} ${tokens} tokens ${cost} (${duration})`);
1291
+ }
1292
+ }
1293
+ } catch (e) {
1294
+ console.error(`Error: ${e.message}`);
1295
+ console.error('Make sure autocode server is running');
1296
+ process.exit(1);
1297
+ }
1298
+ }
1299
+
1300
+ function formatNumber(n) {
1301
+ if (n >= 1000000) return (n / 1000000).toFixed(1) + 'M';
1302
+ if (n >= 1000) return (n / 1000).toFixed(1) + 'K';
1303
+ return n.toString();
1304
+ }
1305
+
1306
+ function formatDate(iso) {
1307
+ if (!iso) return 'N/A';
1308
+ const d = new Date(iso);
1309
+ return d.toLocaleDateString() + ' ' + d.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
1310
+ }
1311
+
1312
+ function formatTime(iso) {
1313
+ if (!iso) return 'N/A';
1314
+ const d = new Date(iso);
1315
+ return d.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit' });
1316
+ }
1317
+
1318
+ function formatDuration(ms) {
1319
+ if (ms < 1000) return ms + 'ms';
1320
+ return (ms / 1000).toFixed(1) + 's';
1321
+ }
1322
+
1323
+ // ============================================
1324
+ // init - Initialize project structure
1325
+ // ============================================
1326
+ function initCmd() {
1327
+ const rootDir = commandArgs.find(a => !a.startsWith('-')) || 'autocode';
1328
+
1329
+ console.log(`Initializing autocode in ${rootDir}...`);
1330
+
1331
+ // Create directories
1332
+ const columns = [
1333
+ '00_backlog',
1334
+ '01_ready',
1335
+ '02_in-progress',
1336
+ '03_review',
1337
+ '04_done',
1338
+ '_archive'
1339
+ ];
1340
+
1341
+ try {
1342
+ mkdirSync(rootDir, { recursive: true });
1343
+ mkdirSync(join(rootDir, '.autocode'), { recursive: true });
1344
+
1345
+ for (const col of columns) {
1346
+ mkdirSync(join(rootDir, col), { recursive: true });
1347
+ }
1348
+
1349
+ // Create .seq file
1350
+ const seqFile = join(rootDir, '.autocode', '.seq');
1351
+ if (!existsSync(seqFile)) {
1352
+ writeFileSync(seqFile, '0');
1353
+ }
1354
+
1355
+ // Setup .gitignore
1356
+ const gitignorePath = join(process.cwd(), '.gitignore');
1357
+ const pattern = `/${rootDir}/*/.claude_prompt_*.md`;
1358
+
1359
+ let content = '';
1360
+ if (existsSync(gitignorePath)) {
1361
+ content = readFileSync(gitignorePath, 'utf-8');
1362
+ if (!content.includes(pattern)) {
1363
+ const newContent = content.trim()
1364
+ ? `${content.trim()}\n\n# AutoCode temporary files\n${pattern}\n`
1365
+ : `# AutoCode temporary files\n${pattern}\n`;
1366
+ writeFileSync(gitignorePath, newContent);
1367
+ console.log('Updated .gitignore with AutoCode patterns');
1368
+ }
1369
+ } else {
1370
+ writeFileSync(gitignorePath, `# AutoCode temporary files\n${pattern}\n`);
1371
+ console.log('Created .gitignore with AutoCode patterns');
1372
+ }
1373
+
1374
+ console.log(`✓ Autocode initialized in ${rootDir}`);
1375
+ console.log('');
1376
+ console.log('Created columns:');
1377
+ for (const col of columns) {
1378
+ console.log(` - ${col}`);
1379
+ }
1380
+ console.log('');
1381
+ console.log('Next: Run `autocode new "Your first issue"` to create an issue');
1382
+ } catch (e) {
1383
+ console.error(`Error: ${e.message}`);
1384
+ process.exit(1);
1385
+ }
1386
+ }
1387
+
1388
+ // ============================================
1389
+ // pipeline - Pipeline management commands
1390
+ // ============================================
1391
+ async function pipelineCmd() {
1392
+ const subCommand = commandArgs[0];
1393
+ const subArgs = commandArgs.slice(1);
1394
+
1395
+ switch (subCommand) {
1396
+ case 'list':
1397
+ case undefined:
1398
+ await pipelineListCmd(subArgs);
1399
+ break;
1400
+ case 'show':
1401
+ await pipelineShowCmd(subArgs);
1402
+ break;
1403
+ case 'create':
1404
+ await pipelineCreateCmd(subArgs);
1405
+ break;
1406
+ case 'delete':
1407
+ await pipelineDeleteCmd(subArgs);
1408
+ break;
1409
+ case 'activate':
1410
+ await pipelineActivateCmd(subArgs);
1411
+ break;
1412
+ case 'versions':
1413
+ await pipelineVersionsCmd(subArgs);
1414
+ break;
1415
+ case 'draft':
1416
+ await pipelineDraftCmd(subArgs);
1417
+ break;
1418
+ case 'finalize':
1419
+ await pipelineFinalizeCmd(subArgs);
1420
+ break;
1421
+ case 'add-column':
1422
+ await pipelineAddColumnCmd(subArgs);
1423
+ break;
1424
+ case 'remove-column':
1425
+ await pipelineRemoveColumnCmd(subArgs);
1426
+ break;
1427
+ case 'move-column':
1428
+ await pipelineMoveColumnCmd(subArgs);
1429
+ break;
1430
+ default:
1431
+ console.error(`Unknown pipeline command: ${subCommand}`);
1432
+ showPipelineHelp();
1433
+ process.exit(1);
1434
+ }
1435
+ }
1436
+
1437
+ function showPipelineHelp() {
1438
+ console.log(`
1439
+ Pipeline Commands:
1440
+ pipeline list List all pipelines
1441
+ pipeline show <name> Show pipeline with columns
1442
+ pipeline create <name> Create new pipeline
1443
+ pipeline delete <name> Delete pipeline version
1444
+ pipeline activate <name> Activate pipeline version
1445
+ pipeline versions <name> List all versions
1446
+ pipeline draft <name> Create draft from latest
1447
+ pipeline finalize <name> Finalize draft
1448
+
1449
+ Column Commands:
1450
+ pipeline add-column <pipeline> <slug> --segment <seg>
1451
+ pipeline remove-column <pipeline> <slug>
1452
+ pipeline move-column <pipeline> <slug> --segment <seg>
1453
+
1454
+ Options:
1455
+ --version <N> Specific version
1456
+ --json Output as JSON
1457
+ --description "..." Pipeline description
1458
+ --segment <segment> Target segment (definition|action|finish)
1459
+ --position <N> Position within segment
1460
+ --name "Display Name" Column display name
1461
+ --activate Also activate after finalizing
1462
+
1463
+ Examples:
1464
+ autocode pipeline list
1465
+ autocode pipeline show default
1466
+ autocode pipeline create my-pipeline --description "Custom workflow"
1467
+ autocode pipeline add-column default review-security --segment action
1468
+ autocode pipeline finalize default --activate
1469
+ `);
1470
+ }
1471
+
1472
+ // Helper: Get option value from args
1473
+ function getArgOption(args, flag) {
1474
+ const idx = args.findIndex(a => a === flag);
1475
+ if (idx !== -1 && args[idx + 1]) {
1476
+ return args[idx + 1];
1477
+ }
1478
+ return undefined;
1479
+ }
1480
+
1481
+ // Helper: Check if flag is present
1482
+ function hasArgFlag(args, flag) {
1483
+ return args.includes(flag);
1484
+ }
1485
+
1486
+ // Helper: Convert slug to display name
1487
+ function slugToName(slug) {
1488
+ return slug
1489
+ .split('-')
1490
+ .map(w => w.charAt(0).toUpperCase() + w.slice(1))
1491
+ .join(' ');
1492
+ }
1493
+
1494
+ // Helper: Format pipeline status with color
1495
+ function formatPipelineStatus(pipeline) {
1496
+ if (pipeline.active) return '\x1b[32mactive\x1b[0m';
1497
+ if (pipeline.draft) return '\x1b[33mdraft\x1b[0m';
1498
+ return 'locked';
1499
+ }
1500
+
1501
+ // Helper: Get or create draft for a pipeline
1502
+ async function getOrCreateDraft(pipelineName) {
1503
+ const API = getApiBase();
1504
+
1505
+ // Get versions
1506
+ const versionsRes = await fetch(`${API}/api/pipelines/${pipelineName}/versions`);
1507
+ if (!versionsRes.ok) {
1508
+ throw new Error(`Pipeline '${pipelineName}' not found`);
1509
+ }
1510
+ const versionList = await versionsRes.json();
1511
+
1512
+ // Find existing draft
1513
+ const draftInfo = versionList.find(v => v.draft);
1514
+ if (draftInfo) {
1515
+ // Get full draft data
1516
+ const res = await fetch(`${API}/api/pipelines/${pipelineName}?version=${draftInfo.version}`);
1517
+ if (!res.ok) throw new Error('Failed to get draft');
1518
+ return res.json();
1519
+ }
1520
+
1521
+ // Create new draft
1522
+ console.log(`Creating draft from latest locked version...`);
1523
+ const res = await fetch(`${API}/api/pipelines/${pipelineName}/versions`, { method: 'POST' });
1524
+ if (!res.ok) {
1525
+ const err = await res.json().catch(() => ({}));
1526
+ throw new Error(err.message || 'Failed to create draft');
1527
+ }
1528
+ return res.json();
1529
+ }
1530
+
1531
+ // pipeline list
1532
+ async function pipelineListCmd(args) {
1533
+ const jsonOutput = hasArgFlag(args, '--json');
1534
+
1535
+ try {
1536
+ const res = await fetch(`${getApiBase()}/api/pipelines`);
1537
+ if (!res.ok) {
1538
+ console.error('Failed to list pipelines');
1539
+ process.exit(1);
1540
+ }
1541
+
1542
+ const pipelines = await res.json();
1543
+
1544
+ if (jsonOutput) {
1545
+ console.log(JSON.stringify(pipelines, null, 2));
1546
+ return;
1547
+ }
1548
+
1549
+ if (pipelines.length === 0) {
1550
+ console.log('No pipelines found');
1551
+ return;
1552
+ }
1553
+
1554
+ console.log('Pipelines:');
1555
+ console.log('─'.repeat(60));
1556
+ console.log(' ' + 'NAME'.padEnd(20) + 'VERSION'.padEnd(10) + 'STATUS'.padEnd(12) + 'COLUMNS');
1557
+
1558
+ for (const p of pipelines) {
1559
+ const name = p.name.substring(0, 19).padEnd(20);
1560
+ const version = `v${p.version}`.padEnd(10);
1561
+ const status = formatPipelineStatus(p).padEnd(20); // Extra padding for ANSI codes
1562
+ const cols = (p.definition?.length || 0) + (p.action?.length || 0) + (p.finish?.length || 0);
1563
+ console.log(` ${name}${version}${status}${cols} columns`);
1564
+ }
1565
+
1566
+ console.log();
1567
+ console.log(`Total: ${pipelines.length} pipeline version(s)`);
1568
+ } catch (e) {
1569
+ console.error(`Error: ${e.message}`);
1570
+ console.error('Make sure autocode server is running');
1571
+ process.exit(1);
1572
+ }
1573
+ }
1574
+
1575
+ // pipeline show <name>
1576
+ async function pipelineShowCmd(args) {
1577
+ const name = args.find(a => !a.startsWith('-'));
1578
+ const version = getArgOption(args, '--version');
1579
+ const jsonOutput = hasArgFlag(args, '--json');
1580
+
1581
+ if (!name) {
1582
+ console.error('Usage: autocode pipeline show <name> [--version N] [--json]');
1583
+ process.exit(1);
1584
+ }
1585
+
1586
+ try {
1587
+ const API = getApiBase();
1588
+ const url = version
1589
+ ? `${API}/api/pipelines/${name}?version=${version}`
1590
+ : `${API}/api/pipelines/${name}`;
1591
+
1592
+ const res = await fetch(url);
1593
+ if (!res.ok) {
1594
+ console.error(`Pipeline '${name}' not found`);
1595
+ process.exit(1);
1596
+ }
1597
+
1598
+ const pipeline = await res.json();
1599
+
1600
+ if (jsonOutput) {
1601
+ console.log(JSON.stringify(pipeline, null, 2));
1602
+ return;
1603
+ }
1604
+
1605
+ const status = pipeline.active ? '(active)' : pipeline.draft ? '(draft)' : '(locked)';
1606
+ console.log();
1607
+ console.log(`\x1b[1mPipeline: ${pipeline.name} v${pipeline.version} ${status}\x1b[0m`);
1608
+ console.log('─'.repeat(60));
1609
+
1610
+ if (pipeline.description) {
1611
+ console.log(`Description: ${pipeline.description}`);
1612
+ console.log();
1613
+ }
1614
+
1615
+ let index = 1;
1616
+
1617
+ // Definition segment
1618
+ const defCols = pipeline.definition || [];
1619
+ console.log(`\x1b[36mDEFINITION\x1b[0m (${defCols.length}):`);
1620
+ for (const col of defCols) {
1621
+ const num = String(index++).padStart(3);
1622
+ const slug = col.slug.padEnd(20);
1623
+ console.log(` ${num}. ${slug} ${col.name}`);
1624
+ }
1625
+ console.log();
1626
+
1627
+ // Action segment
1628
+ const actCols = pipeline.action || [];
1629
+ console.log(`\x1b[33mACTION\x1b[0m (${actCols.length}):`);
1630
+ for (const col of actCols) {
1631
+ const num = String(index++).padStart(3);
1632
+ const slug = col.slug.padEnd(20);
1633
+ console.log(` ${num}. ${slug} ${col.name}`);
1634
+ }
1635
+ console.log();
1636
+
1637
+ // Finish segment
1638
+ const finCols = pipeline.finish || [];
1639
+ console.log(`\x1b[32mFINISH\x1b[0m (${finCols.length}):`);
1640
+ for (const col of finCols) {
1641
+ const num = String(index++).padStart(3);
1642
+ const slug = col.slug.padEnd(20);
1643
+ console.log(` ${num}. ${slug} ${col.name}`);
1644
+ }
1645
+ console.log();
1646
+
1647
+ const totalCols = defCols.length + actCols.length + finCols.length;
1648
+ console.log(`Total: ${totalCols} columns`);
1649
+
1650
+ if (pipeline.createdAt) {
1651
+ console.log(`Created: ${formatDate(pipeline.createdAt)}`);
1652
+ }
1653
+ if (pipeline.createdFromVersion) {
1654
+ console.log(`Based on: v${pipeline.createdFromVersion}`);
1655
+ }
1656
+ } catch (e) {
1657
+ console.error(`Error: ${e.message}`);
1658
+ console.error('Make sure autocode server is running');
1659
+ process.exit(1);
1660
+ }
1661
+ }
1662
+
1663
+ // pipeline versions <name>
1664
+ async function pipelineVersionsCmd(args) {
1665
+ const name = args.find(a => !a.startsWith('-'));
1666
+ const jsonOutput = hasArgFlag(args, '--json');
1667
+
1668
+ if (!name) {
1669
+ console.error('Usage: autocode pipeline versions <name> [--json]');
1670
+ process.exit(1);
1671
+ }
1672
+
1673
+ try {
1674
+ const res = await fetch(`${getApiBase()}/api/pipelines/${name}/versions`);
1675
+ if (!res.ok) {
1676
+ console.error(`Pipeline '${name}' not found`);
1677
+ process.exit(1);
1678
+ }
1679
+
1680
+ const versions = await res.json();
1681
+
1682
+ if (jsonOutput) {
1683
+ console.log(JSON.stringify(versions, null, 2));
1684
+ return;
1685
+ }
1686
+
1687
+ console.log(`Versions of: ${name}`);
1688
+ console.log('─'.repeat(60));
1689
+ console.log(' ' + 'VERSION'.padEnd(10) + 'STATUS'.padEnd(12) + 'CREATED'.padEnd(22) + 'BASED ON'.padEnd(10) + 'COLUMNS');
1690
+
1691
+ for (const v of versions) {
1692
+ const ver = `v${v.version}`.padEnd(10);
1693
+ const status = (v.active ? '\x1b[32mactive\x1b[0m' : v.draft ? '\x1b[33mdraft\x1b[0m' : 'locked').padEnd(20);
1694
+ const created = formatDate(v.createdAt).padEnd(22);
1695
+ const basedOn = v.createdFromVersion ? `v${v.createdFromVersion}`.padEnd(10) : '-'.padEnd(10);
1696
+ const cols = v.columnCount || 0;
1697
+ console.log(` ${ver}${status}${created}${basedOn}${cols}`);
1698
+ }
1699
+
1700
+ console.log();
1701
+ console.log(`Total: ${versions.length} version(s)`);
1702
+ } catch (e) {
1703
+ console.error(`Error: ${e.message}`);
1704
+ console.error('Make sure autocode server is running');
1705
+ process.exit(1);
1706
+ }
1707
+ }
1708
+
1709
+ // pipeline create <name>
1710
+ async function pipelineCreateCmd(args) {
1711
+ const name = args.find(a => !a.startsWith('-'));
1712
+ const description = getArgOption(args, '--description');
1713
+
1714
+ if (!name) {
1715
+ console.error('Usage: autocode pipeline create <name> [--description "..."]');
1716
+ process.exit(1);
1717
+ }
1718
+
1719
+ try {
1720
+ const body = { name };
1721
+ if (description) body.description = description;
1722
+
1723
+ const res = await fetch(`${getApiBase()}/api/pipelines`, {
1724
+ method: 'POST',
1725
+ headers: { 'Content-Type': 'application/json' },
1726
+ body: JSON.stringify(body)
1727
+ });
1728
+
1729
+ if (!res.ok) {
1730
+ const err = await res.json().catch(() => ({}));
1731
+ console.error(`Failed: ${err.message || res.statusText}`);
1732
+ process.exit(1);
1733
+ }
1734
+
1735
+ const pipeline = await res.json();
1736
+
1737
+ console.log(`✓ Created pipeline: ${pipeline.name} v${pipeline.version} (draft)`);
1738
+ console.log();
1739
+ console.log('Next steps:');
1740
+ console.log(` 1. Add columns: autocode pipeline add-column ${name} <slug> --segment <definition|action|finish>`);
1741
+ console.log(` 2. Finalize: autocode pipeline finalize ${name}`);
1742
+ console.log(` 3. Activate: autocode pipeline activate ${name}`);
1743
+ } catch (e) {
1744
+ console.error(`Error: ${e.message}`);
1745
+ console.error('Make sure autocode server is running');
1746
+ process.exit(1);
1747
+ }
1748
+ }
1749
+
1750
+ // pipeline delete <name>
1751
+ async function pipelineDeleteCmd(args) {
1752
+ const name = args.find(a => !a.startsWith('-'));
1753
+ const version = getArgOption(args, '--version');
1754
+ const force = hasArgFlag(args, '--force') || hasArgFlag(args, '-f');
1755
+
1756
+ if (!name) {
1757
+ console.error('Usage: autocode pipeline delete <name> [--version N] [--force]');
1758
+ process.exit(1);
1759
+ }
1760
+
1761
+ try {
1762
+ const API = getApiBase();
1763
+
1764
+ // If no version specified, find draft
1765
+ let targetVersion = version;
1766
+ if (!targetVersion) {
1767
+ const versionsRes = await fetch(`${API}/api/pipelines/${name}/versions`);
1768
+ if (!versionsRes.ok) {
1769
+ console.error(`Pipeline '${name}' not found`);
1770
+ process.exit(1);
1771
+ }
1772
+ const versions = await versionsRes.json();
1773
+ const draft = versions.find(v => v.draft);
1774
+ if (draft) {
1775
+ targetVersion = draft.version;
1776
+ } else {
1777
+ console.error(`No draft found for '${name}'. Use --version to specify which version to delete.`);
1778
+ process.exit(1);
1779
+ }
1780
+ }
1781
+
1782
+ const res = await fetch(`${API}/api/pipelines/${name}/versions/${targetVersion}`, {
1783
+ method: 'DELETE'
1784
+ });
1785
+
1786
+ if (!res.ok) {
1787
+ const err = await res.json().catch(() => ({}));
1788
+ console.error(`Failed: ${err.message || res.statusText}`);
1789
+ process.exit(1);
1790
+ }
1791
+
1792
+ console.log(`✓ Deleted: ${name} v${targetVersion}`);
1793
+ } catch (e) {
1794
+ console.error(`Error: ${e.message}`);
1795
+ console.error('Make sure autocode server is running');
1796
+ process.exit(1);
1797
+ }
1798
+ }
1799
+
1800
+ // pipeline activate <name>
1801
+ async function pipelineActivateCmd(args) {
1802
+ const name = args.find(a => !a.startsWith('-'));
1803
+ const version = getArgOption(args, '--version');
1804
+
1805
+ if (!name) {
1806
+ console.error('Usage: autocode pipeline activate <name> [--version N]');
1807
+ process.exit(1);
1808
+ }
1809
+
1810
+ try {
1811
+ const API = getApiBase();
1812
+
1813
+ // If no version specified, find latest locked
1814
+ let targetVersion = version;
1815
+ if (!targetVersion) {
1816
+ const versionsRes = await fetch(`${API}/api/pipelines/${name}/versions`);
1817
+ if (!versionsRes.ok) {
1818
+ console.error(`Pipeline '${name}' not found`);
1819
+ process.exit(1);
1820
+ }
1821
+ const versions = await versionsRes.json();
1822
+ const locked = versions.filter(v => !v.draft).sort((a, b) => b.version - a.version);
1823
+ if (locked.length === 0) {
1824
+ console.error(`No locked version found for '${name}'. Finalize a draft first.`);
1825
+ process.exit(1);
1826
+ }
1827
+ targetVersion = locked[0].version;
1828
+ }
1829
+
1830
+ const res = await fetch(`${API}/api/pipelines/${name}/versions/${targetVersion}/activate`, {
1831
+ method: 'PUT'
1832
+ });
1833
+
1834
+ if (!res.ok) {
1835
+ const err = await res.json().catch(() => ({}));
1836
+ console.error(`Failed: ${err.message || res.statusText}`);
1837
+ process.exit(1);
1838
+ }
1839
+
1840
+ console.log(`✓ Activated: ${name} v${targetVersion}`);
1841
+ } catch (e) {
1842
+ console.error(`Error: ${e.message}`);
1843
+ console.error('Make sure autocode server is running');
1844
+ process.exit(1);
1845
+ }
1846
+ }
1847
+
1848
+ // pipeline draft <name>
1849
+ async function pipelineDraftCmd(args) {
1850
+ const name = args.find(a => !a.startsWith('-'));
1851
+
1852
+ if (!name) {
1853
+ console.error('Usage: autocode pipeline draft <name>');
1854
+ process.exit(1);
1855
+ }
1856
+
1857
+ try {
1858
+ const res = await fetch(`${getApiBase()}/api/pipelines/${name}/versions`, {
1859
+ method: 'POST'
1860
+ });
1861
+
1862
+ if (!res.ok) {
1863
+ const err = await res.json().catch(() => ({}));
1864
+ console.error(`Failed: ${err.message || res.statusText}`);
1865
+ process.exit(1);
1866
+ }
1867
+
1868
+ const pipeline = await res.json();
1869
+ const colCount = (pipeline.definition?.length || 0) + (pipeline.action?.length || 0) + (pipeline.finish?.length || 0);
1870
+
1871
+ console.log(`✓ Created draft: ${name} v${pipeline.version}`);
1872
+ if (pipeline.createdFromVersion) {
1873
+ console.log(` Based on: v${pipeline.createdFromVersion} (${colCount} columns copied)`);
1874
+ }
1875
+ console.log();
1876
+ console.log('Edit columns:');
1877
+ console.log(` autocode pipeline add-column ${name} <slug> --segment <segment>`);
1878
+ console.log(` autocode pipeline remove-column ${name} <slug>`);
1879
+ console.log(` autocode pipeline move-column ${name} <slug> --segment <segment>`);
1880
+ console.log();
1881
+ console.log('Finalize when ready:');
1882
+ console.log(` autocode pipeline finalize ${name}`);
1883
+ } catch (e) {
1884
+ console.error(`Error: ${e.message}`);
1885
+ console.error('Make sure autocode server is running');
1886
+ process.exit(1);
1887
+ }
1888
+ }
1889
+
1890
+ // pipeline finalize <name>
1891
+ async function pipelineFinalizeCmd(args) {
1892
+ const name = args.find(a => !a.startsWith('-'));
1893
+ const activate = hasArgFlag(args, '--activate');
1894
+
1895
+ if (!name) {
1896
+ console.error('Usage: autocode pipeline finalize <name> [--activate]');
1897
+ process.exit(1);
1898
+ }
1899
+
1900
+ try {
1901
+ const API = getApiBase();
1902
+
1903
+ // Find draft version
1904
+ const versionsRes = await fetch(`${API}/api/pipelines/${name}/versions`);
1905
+ if (!versionsRes.ok) {
1906
+ console.error(`Pipeline '${name}' not found`);
1907
+ process.exit(1);
1908
+ }
1909
+ const versions = await versionsRes.json();
1910
+ const draft = versions.find(v => v.draft);
1911
+ if (!draft) {
1912
+ console.error(`No draft found for '${name}'`);
1913
+ process.exit(1);
1914
+ }
1915
+
1916
+ // Finalize
1917
+ const finalizeRes = await fetch(`${API}/api/pipelines/${name}/versions/${draft.version}/finalize`, {
1918
+ method: 'POST'
1919
+ });
1920
+
1921
+ if (!finalizeRes.ok) {
1922
+ const err = await finalizeRes.json().catch(() => ({}));
1923
+ console.error(`Failed: ${err.message || finalizeRes.statusText}`);
1924
+ process.exit(1);
1925
+ }
1926
+
1927
+ if (activate) {
1928
+ const activateRes = await fetch(`${API}/api/pipelines/${name}/versions/${draft.version}/activate`, {
1929
+ method: 'PUT'
1930
+ });
1931
+
1932
+ if (!activateRes.ok) {
1933
+ console.error(`Finalized but failed to activate`);
1934
+ process.exit(1);
1935
+ }
1936
+
1937
+ console.log(`✓ Finalized and activated: ${name} v${draft.version}`);
1938
+ } else {
1939
+ console.log(`✓ Finalized: ${name} v${draft.version}`);
1940
+ console.log(` Status: locked (immutable)`);
1941
+ console.log();
1942
+ console.log(`To activate: autocode pipeline activate ${name} --version ${draft.version}`);
1943
+ }
1944
+ } catch (e) {
1945
+ console.error(`Error: ${e.message}`);
1946
+ console.error('Make sure autocode server is running');
1947
+ process.exit(1);
1948
+ }
1949
+ }
1950
+
1951
+ // pipeline add-column <pipeline> <slug>
1952
+ async function pipelineAddColumnCmd(args) {
1953
+ const pipeline = args[0];
1954
+ const slug = args[1];
1955
+ const segment = getArgOption(args, '--segment');
1956
+ const position = getArgOption(args, '--position');
1957
+ const name = getArgOption(args, '--name') || slugToName(slug || '');
1958
+
1959
+ if (!pipeline || !slug || !segment) {
1960
+ console.error('Usage: autocode pipeline add-column <pipeline> <slug> --segment <definition|action|finish> [--position N] [--name "..."]');
1961
+ process.exit(1);
1962
+ }
1963
+
1964
+ if (!['definition', 'action', 'finish'].includes(segment)) {
1965
+ console.error('Segment must be: definition, action, or finish');
1966
+ process.exit(1);
1967
+ }
1968
+
1969
+ try {
1970
+ const API = getApiBase();
1971
+
1972
+ // Get or create draft
1973
+ const draft = await getOrCreateDraft(pipeline);
1974
+
1975
+ // Get current columns for segment
1976
+ const columns = [...(draft[segment] || [])];
1977
+
1978
+ // Check if column already exists
1979
+ const allColumns = [...(draft.definition || []), ...(draft.action || []), ...(draft.finish || [])];
1980
+ if (allColumns.some(c => c.slug === slug)) {
1981
+ console.error(`Column '${slug}' already exists in pipeline`);
1982
+ process.exit(1);
1983
+ }
1984
+
1985
+ // Insert at position or end
1986
+ const pos = position !== undefined ? parseInt(position, 10) : columns.length;
1987
+ columns.splice(pos, 0, { slug, name });
1988
+
1989
+ // Update draft
1990
+ const updateRes = await fetch(`${API}/api/pipelines/${pipeline}/versions/${draft.version}`, {
1991
+ method: 'PUT',
1992
+ headers: { 'Content-Type': 'application/json' },
1993
+ body: JSON.stringify({ [segment]: columns })
1994
+ });
1995
+
1996
+ if (!updateRes.ok) {
1997
+ const err = await updateRes.json().catch(() => ({}));
1998
+ console.error(`Failed: ${err.message || updateRes.statusText}`);
1999
+ process.exit(1);
2000
+ }
2001
+
2002
+ console.log(`✓ Added column: ${slug} to ${segment} segment (position ${pos})`);
2003
+ console.log(` Draft: ${pipeline} v${draft.version}`);
2004
+ console.log();
2005
+ console.log(`To finalize: autocode pipeline finalize ${pipeline}`);
2006
+ } catch (e) {
2007
+ console.error(`Error: ${e.message}`);
2008
+ console.error('Make sure autocode server is running');
2009
+ process.exit(1);
2010
+ }
2011
+ }
2012
+
2013
+ // pipeline remove-column <pipeline> <slug>
2014
+ async function pipelineRemoveColumnCmd(args) {
2015
+ const pipeline = args[0];
2016
+ const slug = args[1];
2017
+
2018
+ if (!pipeline || !slug) {
2019
+ console.error('Usage: autocode pipeline remove-column <pipeline> <slug>');
2020
+ process.exit(1);
2021
+ }
2022
+
2023
+ // Cannot remove locked columns
2024
+ if (slug === 'backlog' || slug === 'done') {
2025
+ console.error(`Cannot remove locked column: ${slug}`);
2026
+ process.exit(1);
2027
+ }
2028
+
2029
+ try {
2030
+ const API = getApiBase();
2031
+
2032
+ // Get or create draft
2033
+ const draft = await getOrCreateDraft(pipeline);
2034
+
2035
+ // Find and remove column
2036
+ let found = false;
2037
+ let foundSegment = '';
2038
+ const segments = ['definition', 'action', 'finish'];
2039
+
2040
+ for (const seg of segments) {
2041
+ const columns = draft[seg] || [];
2042
+ const idx = columns.findIndex(c => c.slug === slug);
2043
+ if (idx !== -1) {
2044
+ columns.splice(idx, 1);
2045
+ found = true;
2046
+ foundSegment = seg;
2047
+
2048
+ // Update draft
2049
+ const updateRes = await fetch(`${API}/api/pipelines/${pipeline}/versions/${draft.version}`, {
2050
+ method: 'PUT',
2051
+ headers: { 'Content-Type': 'application/json' },
2052
+ body: JSON.stringify({ [seg]: columns })
2053
+ });
2054
+
2055
+ if (!updateRes.ok) {
2056
+ const err = await updateRes.json().catch(() => ({}));
2057
+ console.error(`Failed: ${err.message || updateRes.statusText}`);
2058
+ process.exit(1);
2059
+ }
2060
+ break;
2061
+ }
2062
+ }
2063
+
2064
+ if (!found) {
2065
+ console.error(`Column '${slug}' not found in pipeline`);
2066
+ process.exit(1);
2067
+ }
2068
+
2069
+ console.log(`✓ Removed column: ${slug} from ${foundSegment} segment`);
2070
+ console.log(` Draft: ${pipeline} v${draft.version}`);
2071
+ } catch (e) {
2072
+ console.error(`Error: ${e.message}`);
2073
+ console.error('Make sure autocode server is running');
2074
+ process.exit(1);
2075
+ }
2076
+ }
2077
+
2078
+ // pipeline move-column <pipeline> <slug>
2079
+ async function pipelineMoveColumnCmd(args) {
2080
+ const pipeline = args[0];
2081
+ const slug = args[1];
2082
+ const targetSegment = getArgOption(args, '--segment');
2083
+ const position = getArgOption(args, '--position');
2084
+
2085
+ if (!pipeline || !slug || !targetSegment) {
2086
+ console.error('Usage: autocode pipeline move-column <pipeline> <slug> --segment <definition|action|finish> [--position N]');
2087
+ process.exit(1);
2088
+ }
2089
+
2090
+ if (!['definition', 'action', 'finish'].includes(targetSegment)) {
2091
+ console.error('Segment must be: definition, action, or finish');
2092
+ process.exit(1);
2093
+ }
2094
+
2095
+ // Cannot move locked columns
2096
+ if (slug === 'backlog' || slug === 'done') {
2097
+ console.error(`Cannot move locked column: ${slug}`);
2098
+ process.exit(1);
2099
+ }
2100
+
2101
+ try {
2102
+ const API = getApiBase();
2103
+
2104
+ // Get or create draft
2105
+ const draft = await getOrCreateDraft(pipeline);
2106
+
2107
+ // Find column in current segment
2108
+ let found = null;
2109
+ let sourceSegment = '';
2110
+ const segments = ['definition', 'action', 'finish'];
2111
+
2112
+ for (const seg of segments) {
2113
+ const columns = draft[seg] || [];
2114
+ const idx = columns.findIndex(c => c.slug === slug);
2115
+ if (idx !== -1) {
2116
+ found = columns[idx];
2117
+ sourceSegment = seg;
2118
+ columns.splice(idx, 1);
2119
+ break;
2120
+ }
2121
+ }
2122
+
2123
+ if (!found) {
2124
+ console.error(`Column '${slug}' not found in pipeline`);
2125
+ process.exit(1);
2126
+ }
2127
+
2128
+ // Insert at new position
2129
+ const targetColumns = draft[targetSegment] || [];
2130
+ const pos = position !== undefined ? parseInt(position, 10) : targetColumns.length;
2131
+ targetColumns.splice(pos, 0, found);
2132
+
2133
+ // Update draft
2134
+ const updateBody = {};
2135
+ if (sourceSegment !== targetSegment) {
2136
+ updateBody[sourceSegment] = draft[sourceSegment];
2137
+ }
2138
+ updateBody[targetSegment] = targetColumns;
2139
+
2140
+ const updateRes = await fetch(`${API}/api/pipelines/${pipeline}/versions/${draft.version}`, {
2141
+ method: 'PUT',
2142
+ headers: { 'Content-Type': 'application/json' },
2143
+ body: JSON.stringify(updateBody)
2144
+ });
2145
+
2146
+ if (!updateRes.ok) {
2147
+ const err = await updateRes.json().catch(() => ({}));
2148
+ console.error(`Failed: ${err.message || updateRes.statusText}`);
2149
+ process.exit(1);
2150
+ }
2151
+
2152
+ console.log(`✓ Moved column: ${slug}`);
2153
+ console.log(` From: ${sourceSegment}`);
2154
+ console.log(` To: ${targetSegment} (position ${pos})`);
2155
+ console.log(` Draft: ${pipeline} v${draft.version}`);
2156
+ } catch (e) {
2157
+ console.error(`Error: ${e.message}`);
2158
+ console.error('Make sure autocode server is running');
2159
+ process.exit(1);
2160
+ }
2161
+ }
2162
+
2163
+ // ============================================
2164
+ // catalog - List available columns
2165
+ // ============================================
2166
+ async function catalogCmd() {
2167
+ const subCmd = commandArgs[0];
2168
+
2169
+ // Handle 'catalog add' subcommand
2170
+ if (subCmd === 'add') {
2171
+ await catalogAddCmd(commandArgs.slice(1));
2172
+ return;
2173
+ }
2174
+
2175
+ const jsonOutput = commandArgs.includes('--json');
2176
+
2177
+ try {
2178
+ const res = await fetch(`${getApiBase()}/api/catalog`);
2179
+
2180
+ if (!res.ok) {
2181
+ console.error('Failed to get catalog');
2182
+ process.exit(1);
2183
+ }
2184
+
2185
+ const catalog = await res.json();
2186
+
2187
+ if (jsonOutput) {
2188
+ console.log(JSON.stringify(catalog, null, 2));
2189
+ return;
2190
+ }
2191
+
2192
+ const segmentDescriptions = {
2193
+ definition: 'Define what needs to be done',
2194
+ action: 'Execute the work',
2195
+ finish: 'Validate and complete'
2196
+ };
2197
+
2198
+ let totalCount = 0;
2199
+
2200
+ // Handle both formats: array or { segments: {...} }
2201
+ const segments = catalog.segments || catalog;
2202
+ const segmentEntries = Array.isArray(segments)
2203
+ ? segments.map(s => [s.segment, s])
2204
+ : Object.entries(segments);
2205
+
2206
+ for (const [segmentName, segmentData] of segmentEntries) {
2207
+ console.log();
2208
+ console.log(`\x1b[1m${segmentName.toUpperCase()}\x1b[0m`);
2209
+ console.log(`\x1b[2m${segmentDescriptions[segmentName] || segmentData.description || ''}\x1b[0m`);
2210
+ console.log('─'.repeat(60));
2211
+
2212
+ const columns = segmentData.columns || [];
2213
+ for (const column of columns) {
2214
+ const slug = `\x1b[36m${column.slug.padEnd(25)}\x1b[0m`;
2215
+ const name = (column.name || '').padEnd(30);
2216
+ const desc = column.description?.substring(0, 40) + (column.description?.length > 40 ? '...' : '') || '';
2217
+ console.log(` ${slug} ${name} \x1b[2m${desc}\x1b[0m`);
2218
+ totalCount++;
2219
+ }
2220
+ }
2221
+
2222
+ console.log();
2223
+ console.log(`Total: ${totalCount} column(s) available`);
2224
+ } catch (e) {
2225
+ console.error(`Error: ${e.message}`);
2226
+ console.error('Make sure autocode server is running');
2227
+ process.exit(1);
2228
+ }
2229
+ }
2230
+
2231
+ // catalog add <slug>
2232
+ async function catalogAddCmd(args) {
2233
+ const slug = args.find(a => !a.startsWith('-'));
2234
+ const segment = getArgOption(args, '--segment');
2235
+ const name = getArgOption(args, '--name') || slugToName(slug || '');
2236
+ const description = getArgOption(args, '--description');
2237
+
2238
+ if (!slug || !segment) {
2239
+ console.error('Usage: autocode catalog add <slug> --segment <definition|action|finish> [--name "..."] [--description "..."]');
2240
+ process.exit(1);
2241
+ }
2242
+
2243
+ if (!['definition', 'action', 'finish'].includes(segment)) {
2244
+ console.error('Segment must be: definition, action, or finish');
2245
+ process.exit(1);
2246
+ }
2247
+
2248
+ try {
2249
+ const body = { slug, name, segment };
2250
+ if (description) body.description = description;
2251
+
2252
+ const res = await fetch(`${getApiBase()}/api/catalog`, {
2253
+ method: 'POST',
2254
+ headers: { 'Content-Type': 'application/json' },
2255
+ body: JSON.stringify(body)
2256
+ });
2257
+
2258
+ if (!res.ok) {
2259
+ const err = await res.json().catch(() => ({}));
2260
+ console.error(`Failed: ${err.message || res.statusText}`);
2261
+ process.exit(1);
2262
+ }
2263
+
2264
+ console.log(`✓ Added to catalog: ${slug} (${segment} segment)`);
2265
+ console.log(` Name: ${name}`);
2266
+ if (description) console.log(` Description: ${description}`);
2267
+ } catch (e) {
2268
+ console.error(`Error: ${e.message}`);
2269
+ console.error('Make sure autocode server is running');
2270
+ process.exit(1);
2271
+ }
2272
+ }
2273
+
2274
+ // Main
2275
+ switch (command) {
2276
+ case 'serve':
2277
+ case undefined:
2278
+ startServer();
2279
+ break;
2280
+ case 'show':
2281
+ showCmd();
2282
+ break;
2283
+ case 'history':
2284
+ historyCmd();
2285
+ break;
2286
+ case 'list':
2287
+ case 'ls':
2288
+ listCmd();
2289
+ break;
2290
+ case 'comment':
2291
+ commentCmd();
2292
+ break;
2293
+ case 'start':
2294
+ startCmd();
2295
+ break;
2296
+ case 'next':
2297
+ nextCmd();
2298
+ break;
2299
+ case 'move':
2300
+ moveCmd();
2301
+ break;
2302
+ case 'new':
2303
+ newCmd();
2304
+ break;
2305
+ case 'parent':
2306
+ parentCmd();
2307
+ break;
2308
+ case 'health':
2309
+ healthCmd();
2310
+ break;
2311
+ case 'stats':
2312
+ statsCmd();
2313
+ break;
2314
+ case 'init':
2315
+ initCmd();
2316
+ break;
2317
+ case 'catalog':
2318
+ catalogCmd();
2319
+ break;
2320
+ case 'pipeline':
2321
+ pipelineCmd();
2322
+ break;
2323
+ case 'help':
2324
+ case '--help':
2325
+ case '-h':
2326
+ showHelp();
2327
+ break;
2328
+ default:
2329
+ // Check if it's an issue key shortcut - show issue details
2330
+ if (command.match(/^AC-\d{6}$/)) {
2331
+ commandArgs.unshift(command);
2332
+ showCmd();
2333
+ } else {
2334
+ console.error(`Unknown command: ${command}`);
2335
+ showHelp();
2336
+ process.exit(1);
2337
+ }
2338
+ }