@codemcp/workflows 5.3.0 → 6.0.2

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 (580) hide show
  1. package/README.md +91 -0
  2. package/package.json +78 -17
  3. package/packages/cli/dist/chunk-R5U7XKVJ.js +16 -0
  4. package/packages/cli/dist/chunk-RTDQR2KY.js +6718 -0
  5. package/packages/cli/dist/cli-CZ4FMSWR.js +1421 -0
  6. package/packages/cli/dist/dist-KZOA4GL5.js +65 -0
  7. package/packages/cli/dist/dist-UGVUJIDN.js +14475 -0
  8. package/packages/cli/dist/index.js +21 -0
  9. package/packages/cli/package.json +28 -0
  10. package/packages/cli/resources/agents/architect.yaml +61 -0
  11. package/packages/cli/resources/agents/business-analyst.yaml +60 -0
  12. package/packages/cli/resources/agents/developer.yaml +61 -0
  13. package/packages/cli/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
  14. package/packages/cli/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
  15. package/packages/cli/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
  16. package/packages/cli/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
  17. package/packages/cli/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
  18. package/packages/cli/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
  19. package/packages/cli/resources/templates/architecture/c4.md +224 -0
  20. package/packages/cli/resources/templates/architecture/freestyle.md +53 -0
  21. package/packages/cli/resources/templates/architecture/game.md +250 -0
  22. package/packages/cli/resources/templates/architecture/none.md +17 -0
  23. package/packages/cli/resources/templates/design/comprehensive.md +207 -0
  24. package/packages/cli/resources/templates/design/freestyle.md +37 -0
  25. package/packages/cli/resources/templates/design/game.md +66 -0
  26. package/packages/cli/resources/templates/design/none.md +17 -0
  27. package/packages/cli/resources/templates/requirements/ears.md +90 -0
  28. package/packages/cli/resources/templates/requirements/freestyle.md +42 -0
  29. package/packages/cli/resources/templates/requirements/game.md +162 -0
  30. package/packages/cli/resources/templates/requirements/none.md +17 -0
  31. package/packages/cli/resources/templates/skills/POWER.md +23 -0
  32. package/packages/cli/resources/templates/skills/SKILL.md +19 -0
  33. package/packages/cli/resources/workflows/adr.yaml +157 -0
  34. package/packages/cli/resources/workflows/big-bang-conversion.yaml +592 -0
  35. package/packages/cli/resources/workflows/boundary-testing.yaml +376 -0
  36. package/packages/cli/resources/workflows/bugfix.yaml +177 -0
  37. package/packages/cli/resources/workflows/business-analysis.yaml +597 -0
  38. package/packages/cli/resources/workflows/c4-analysis.yaml +471 -0
  39. package/packages/cli/resources/workflows/epcc.yaml +183 -0
  40. package/packages/cli/resources/workflows/game-beginner.yaml +434 -0
  41. package/packages/cli/resources/workflows/greenfield.yaml +201 -0
  42. package/packages/cli/resources/workflows/minor.yaml +138 -0
  43. package/packages/cli/resources/workflows/posts.yaml +193 -0
  44. package/packages/cli/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
  45. package/packages/cli/resources/workflows/sdd-bugfix.yaml +381 -0
  46. package/packages/cli/resources/workflows/sdd-feature-crowd.yaml +713 -0
  47. package/packages/cli/resources/workflows/sdd-feature.yaml +471 -0
  48. package/packages/cli/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
  49. package/packages/cli/resources/workflows/sdd-greenfield.yaml +463 -0
  50. package/packages/cli/resources/workflows/slides.yaml +237 -0
  51. package/packages/cli/resources/workflows/tdd.yaml +160 -0
  52. package/packages/cli/resources/workflows/waterfall.yaml +209 -0
  53. package/packages/core/dist/beads-integration.d.ts +50 -0
  54. package/packages/core/dist/beads-integration.js +387 -0
  55. package/packages/core/dist/beads-integration.js.map +1 -0
  56. package/packages/core/dist/beads-state-manager.d.ts +58 -0
  57. package/packages/core/dist/beads-state-manager.js +212 -0
  58. package/packages/core/dist/beads-state-manager.js.map +1 -0
  59. package/packages/core/dist/config-manager.d.ts +24 -0
  60. package/packages/core/dist/config-manager.js +68 -0
  61. package/packages/core/dist/config-manager.js.map +1 -0
  62. package/packages/core/dist/conversation-manager.d.ts +98 -0
  63. package/packages/core/dist/conversation-manager.js +382 -0
  64. package/packages/core/dist/conversation-manager.js.map +1 -0
  65. package/packages/core/dist/file-detection-manager.d.ts +53 -0
  66. package/packages/core/dist/file-detection-manager.js +221 -0
  67. package/packages/core/dist/file-detection-manager.js.map +1 -0
  68. package/packages/core/dist/file-storage.d.ts +93 -0
  69. package/packages/core/dist/file-storage.js +301 -0
  70. package/packages/core/dist/file-storage.js.map +1 -0
  71. package/packages/core/dist/git-manager.d.ts +22 -0
  72. package/packages/core/dist/git-manager.js +123 -0
  73. package/packages/core/dist/git-manager.js.map +1 -0
  74. package/packages/core/dist/index.d.ts +24 -0
  75. package/packages/core/dist/index.js +31 -0
  76. package/packages/core/dist/index.js.map +1 -0
  77. package/packages/core/dist/instruction-generator.d.ts +40 -0
  78. package/packages/core/dist/instruction-generator.js +89 -0
  79. package/packages/core/dist/instruction-generator.js.map +1 -0
  80. package/packages/core/dist/interaction-logger.d.ts +37 -0
  81. package/packages/core/dist/interaction-logger.js +87 -0
  82. package/packages/core/dist/interaction-logger.js.map +1 -0
  83. package/packages/core/dist/interfaces/index.d.ts +9 -0
  84. package/packages/core/dist/interfaces/index.js +10 -0
  85. package/packages/core/dist/interfaces/index.js.map +1 -0
  86. package/packages/core/dist/interfaces/instruction-generator.interface.d.ts +41 -0
  87. package/packages/core/dist/interfaces/instruction-generator.interface.js +8 -0
  88. package/packages/core/dist/interfaces/instruction-generator.interface.js.map +1 -0
  89. package/packages/core/dist/interfaces/plan-manager.interface.d.ts +55 -0
  90. package/packages/core/dist/interfaces/plan-manager.interface.js +8 -0
  91. package/packages/core/dist/interfaces/plan-manager.interface.js.map +1 -0
  92. package/packages/core/dist/interfaces/task-backend-client.interface.d.ts +52 -0
  93. package/packages/core/dist/interfaces/task-backend-client.interface.js +8 -0
  94. package/packages/core/dist/interfaces/task-backend-client.interface.js.map +1 -0
  95. package/packages/core/dist/logger.d.ts +64 -0
  96. package/packages/core/dist/logger.js +283 -0
  97. package/packages/core/dist/logger.js.map +1 -0
  98. package/packages/core/dist/path-validation-utils.d.ts +75 -0
  99. package/packages/core/dist/path-validation-utils.js +238 -0
  100. package/packages/core/dist/path-validation-utils.js.map +1 -0
  101. package/packages/core/dist/persistence-interface.d.ts +91 -0
  102. package/packages/core/dist/persistence-interface.js +9 -0
  103. package/packages/core/dist/persistence-interface.js.map +1 -0
  104. package/{dist/components/beads/beads-plan-manager.d.ts → packages/core/dist/plan-manager.d.ts} +15 -15
  105. package/{dist/components/beads/beads-plan-manager.js → packages/core/dist/plan-manager.js} +66 -50
  106. package/packages/core/dist/plan-manager.js.map +1 -0
  107. package/packages/core/dist/project-docs-manager.d.ts +119 -0
  108. package/packages/core/dist/project-docs-manager.js +366 -0
  109. package/packages/core/dist/project-docs-manager.js.map +1 -0
  110. package/packages/core/dist/state-machine-loader.d.ts +61 -0
  111. package/packages/core/dist/state-machine-loader.js +273 -0
  112. package/packages/core/dist/state-machine-loader.js.map +1 -0
  113. package/packages/core/dist/state-machine-types.d.ts +64 -0
  114. package/packages/core/dist/state-machine-types.js +7 -0
  115. package/packages/core/dist/state-machine-types.js.map +1 -0
  116. package/packages/core/dist/state-machine.d.ts +52 -0
  117. package/packages/core/dist/state-machine.js +256 -0
  118. package/packages/core/dist/state-machine.js.map +1 -0
  119. package/packages/core/dist/system-prompt-generator.d.ts +14 -0
  120. package/packages/core/dist/system-prompt-generator.js +42 -0
  121. package/packages/core/dist/system-prompt-generator.js.map +1 -0
  122. package/packages/core/dist/task-backend.d.ts +45 -0
  123. package/packages/core/dist/task-backend.js +176 -0
  124. package/packages/core/dist/task-backend.js.map +1 -0
  125. package/packages/core/dist/template-manager.d.ts +61 -0
  126. package/packages/core/dist/template-manager.js +231 -0
  127. package/packages/core/dist/template-manager.js.map +1 -0
  128. package/packages/core/dist/transition-engine.d.ts +77 -0
  129. package/packages/core/dist/transition-engine.js +244 -0
  130. package/packages/core/dist/transition-engine.js.map +1 -0
  131. package/packages/core/dist/types.d.ts +54 -0
  132. package/packages/core/dist/types.js +5 -0
  133. package/packages/core/dist/workflow-manager.d.ts +89 -0
  134. package/packages/core/dist/workflow-manager.js +468 -0
  135. package/packages/core/dist/workflow-manager.js.map +1 -0
  136. package/packages/core/package.json +33 -0
  137. package/packages/core/resources/agents/architect.yaml +61 -0
  138. package/packages/core/resources/agents/business-analyst.yaml +60 -0
  139. package/packages/core/resources/agents/developer.yaml +61 -0
  140. package/packages/core/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
  141. package/packages/core/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
  142. package/packages/core/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
  143. package/packages/core/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
  144. package/packages/core/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
  145. package/packages/core/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
  146. package/packages/core/resources/templates/architecture/c4.md +224 -0
  147. package/packages/core/resources/templates/architecture/freestyle.md +53 -0
  148. package/packages/core/resources/templates/architecture/game.md +250 -0
  149. package/packages/core/resources/templates/architecture/none.md +17 -0
  150. package/packages/core/resources/templates/design/comprehensive.md +207 -0
  151. package/packages/core/resources/templates/design/freestyle.md +37 -0
  152. package/packages/core/resources/templates/design/game.md +66 -0
  153. package/packages/core/resources/templates/design/none.md +17 -0
  154. package/packages/core/resources/templates/requirements/ears.md +90 -0
  155. package/packages/core/resources/templates/requirements/freestyle.md +42 -0
  156. package/packages/core/resources/templates/requirements/game.md +162 -0
  157. package/packages/core/resources/templates/requirements/none.md +17 -0
  158. package/packages/core/resources/templates/skills/POWER.md +23 -0
  159. package/packages/core/resources/templates/skills/SKILL.md +19 -0
  160. package/packages/core/resources/workflows/adr.yaml +157 -0
  161. package/packages/core/resources/workflows/big-bang-conversion.yaml +592 -0
  162. package/packages/core/resources/workflows/boundary-testing.yaml +376 -0
  163. package/packages/core/resources/workflows/bugfix.yaml +177 -0
  164. package/packages/core/resources/workflows/business-analysis.yaml +597 -0
  165. package/packages/core/resources/workflows/c4-analysis.yaml +471 -0
  166. package/packages/core/resources/workflows/epcc.yaml +183 -0
  167. package/packages/core/resources/workflows/game-beginner.yaml +434 -0
  168. package/packages/core/resources/workflows/greenfield.yaml +201 -0
  169. package/packages/core/resources/workflows/minor.yaml +138 -0
  170. package/packages/core/resources/workflows/posts.yaml +193 -0
  171. package/packages/core/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
  172. package/packages/core/resources/workflows/sdd-bugfix.yaml +381 -0
  173. package/packages/core/resources/workflows/sdd-feature-crowd.yaml +713 -0
  174. package/packages/core/resources/workflows/sdd-feature.yaml +471 -0
  175. package/packages/core/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
  176. package/packages/core/resources/workflows/sdd-greenfield.yaml +463 -0
  177. package/packages/core/resources/workflows/slides.yaml +237 -0
  178. package/packages/core/resources/workflows/tdd.yaml +160 -0
  179. package/packages/core/resources/workflows/waterfall.yaml +209 -0
  180. package/packages/docs/.vitepress/dist/.gitignore +2 -0
  181. package/packages/docs/.vitepress/dist/404.html +23 -0
  182. package/packages/docs/.vitepress/dist/assets/app.Dz3lZH3M.js +1 -0
  183. package/packages/docs/.vitepress/dist/assets/chunks/framework.DZS7lpav.js +19 -0
  184. package/packages/docs/.vitepress/dist/assets/chunks/theme.q5Ewb3F1.js +206 -0
  185. package/packages/docs/.vitepress/dist/assets/dev_ARCHITECTURE.md.da_vFDwM.js +130 -0
  186. package/packages/docs/.vitepress/dist/assets/dev_ARCHITECTURE.md.da_vFDwM.lean.js +1 -0
  187. package/packages/docs/.vitepress/dist/assets/dev_DEVELOPMENT.md.DWl9cccE.js +72 -0
  188. package/packages/docs/.vitepress/dist/assets/dev_DEVELOPMENT.md.DWl9cccE.lean.js +1 -0
  189. package/packages/docs/.vitepress/dist/assets/dev_LOGGING.md.BebvbW7z.js +34 -0
  190. package/packages/docs/.vitepress/dist/assets/dev_LOGGING.md.BebvbW7z.lean.js +1 -0
  191. package/packages/docs/.vitepress/dist/assets/dev_PUBLISHING.md.CQqbiIOF.js +1 -0
  192. package/packages/docs/.vitepress/dist/assets/dev_PUBLISHING.md.CQqbiIOF.lean.js +1 -0
  193. package/packages/docs/.vitepress/dist/assets/index.md.D6ROLohf.js +2 -0
  194. package/packages/docs/.vitepress/dist/assets/index.md.D6ROLohf.lean.js +1 -0
  195. package/packages/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  196. package/packages/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  197. package/packages/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  198. package/packages/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  199. package/packages/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  200. package/packages/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  201. package/packages/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  202. package/packages/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  203. package/packages/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  204. package/packages/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  205. package/packages/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  206. package/packages/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  207. package/packages/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  208. package/packages/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  209. package/packages/docs/.vitepress/dist/assets/mcp-interaction-pattern.VdvOPuTt.png +0 -0
  210. package/packages/docs/.vitepress/dist/assets/placeholder-demo-greenfield.B8lG_tBI.png +0 -0
  211. package/packages/docs/.vitepress/dist/assets/style.CAgdBzOq.css +1 -0
  212. package/packages/docs/.vitepress/dist/assets/user_advanced-engineering.md.MkETYNtq.js +50 -0
  213. package/packages/docs/.vitepress/dist/assets/user_advanced-engineering.md.MkETYNtq.lean.js +1 -0
  214. package/packages/docs/.vitepress/dist/assets/user_agent-setup.md.B54OLL2H.js +24 -0
  215. package/packages/docs/.vitepress/dist/assets/user_agent-setup.md.B54OLL2H.lean.js +1 -0
  216. package/packages/docs/.vitepress/dist/assets/user_beads-integration.md.BzdR5Fif.js +15 -0
  217. package/packages/docs/.vitepress/dist/assets/user_beads-integration.md.BzdR5Fif.lean.js +1 -0
  218. package/packages/docs/.vitepress/dist/assets/user_crowd-mcp-integration.md.C15kSdIJ.js +157 -0
  219. package/packages/docs/.vitepress/dist/assets/user_crowd-mcp-integration.md.C15kSdIJ.lean.js +1 -0
  220. package/packages/docs/.vitepress/dist/assets/user_custom-workflows.md.Cz4IYCXa.js +143 -0
  221. package/packages/docs/.vitepress/dist/assets/user_custom-workflows.md.Cz4IYCXa.lean.js +1 -0
  222. package/packages/docs/.vitepress/dist/assets/user_git-commit-feature.md.UcTvDR-O.js +1 -0
  223. package/packages/docs/.vitepress/dist/assets/user_git-commit-feature.md.UcTvDR-O.lean.js +1 -0
  224. package/packages/docs/.vitepress/dist/assets/user_how-it-works.md.DiOXNgaL.js +23 -0
  225. package/packages/docs/.vitepress/dist/assets/user_how-it-works.md.DiOXNgaL.lean.js +1 -0
  226. package/packages/docs/.vitepress/dist/assets/user_long-term-memory.md.DZh0tjNa.js +43 -0
  227. package/packages/docs/.vitepress/dist/assets/user_long-term-memory.md.DZh0tjNa.lean.js +1 -0
  228. package/packages/docs/.vitepress/dist/assets/user_packaged-workflows.md.s1HT89ZU.js +2 -0
  229. package/packages/docs/.vitepress/dist/assets/user_packaged-workflows.md.s1HT89ZU.lean.js +1 -0
  230. package/packages/docs/.vitepress/dist/assets/user_tutorial.md.Dmj8zLB2.js +3 -0
  231. package/packages/docs/.vitepress/dist/assets/user_tutorial.md.Dmj8zLB2.lean.js +1 -0
  232. package/packages/docs/.vitepress/dist/assets/user_workflow-selection.md.CrPGw9Hr.js +7 -0
  233. package/packages/docs/.vitepress/dist/assets/user_workflow-selection.md.CrPGw9Hr.lean.js +1 -0
  234. package/packages/docs/.vitepress/dist/assets/workflows.md.Bm5sGt3u.js +1 -0
  235. package/packages/docs/.vitepress/dist/assets/workflows.md.Bm5sGt3u.lean.js +1 -0
  236. package/packages/docs/.vitepress/dist/assets/workflows_adr.md.DEaXkbRp.js +1 -0
  237. package/packages/docs/.vitepress/dist/assets/workflows_adr.md.DEaXkbRp.lean.js +1 -0
  238. package/packages/docs/.vitepress/dist/assets/workflows_big-bang-conversion.md.BA5R1LxZ.js +1 -0
  239. package/packages/docs/.vitepress/dist/assets/workflows_big-bang-conversion.md.BA5R1LxZ.lean.js +1 -0
  240. package/packages/docs/.vitepress/dist/assets/workflows_boundary-testing.md.DBcYnMhx.js +1 -0
  241. package/packages/docs/.vitepress/dist/assets/workflows_boundary-testing.md.DBcYnMhx.lean.js +1 -0
  242. package/packages/docs/.vitepress/dist/assets/workflows_bugfix.md.CZRCL0Hp.js +1 -0
  243. package/packages/docs/.vitepress/dist/assets/workflows_bugfix.md.CZRCL0Hp.lean.js +1 -0
  244. package/packages/docs/.vitepress/dist/assets/workflows_business-analysis.md.fGLml8Hw.js +1 -0
  245. package/packages/docs/.vitepress/dist/assets/workflows_business-analysis.md.fGLml8Hw.lean.js +1 -0
  246. package/packages/docs/.vitepress/dist/assets/workflows_c4-analysis.md.Dnssqzuf.js +1 -0
  247. package/packages/docs/.vitepress/dist/assets/workflows_c4-analysis.md.Dnssqzuf.lean.js +1 -0
  248. package/packages/docs/.vitepress/dist/assets/workflows_epcc.md.M6DnIhpp.js +1 -0
  249. package/packages/docs/.vitepress/dist/assets/workflows_epcc.md.M6DnIhpp.lean.js +1 -0
  250. package/packages/docs/.vitepress/dist/assets/workflows_game-beginner.md.CNxzWLtd.js +1 -0
  251. package/packages/docs/.vitepress/dist/assets/workflows_game-beginner.md.CNxzWLtd.lean.js +1 -0
  252. package/packages/docs/.vitepress/dist/assets/workflows_greenfield.md.vx_g-WOe.js +1 -0
  253. package/packages/docs/.vitepress/dist/assets/workflows_greenfield.md.vx_g-WOe.lean.js +1 -0
  254. package/packages/docs/.vitepress/dist/assets/workflows_minor.md.DdnfwMf4.js +1 -0
  255. package/packages/docs/.vitepress/dist/assets/workflows_minor.md.DdnfwMf4.lean.js +1 -0
  256. package/packages/docs/.vitepress/dist/assets/workflows_posts.md.SOldXvq7.js +1 -0
  257. package/packages/docs/.vitepress/dist/assets/workflows_posts.md.SOldXvq7.lean.js +1 -0
  258. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix-crowd.md.-lSf42gJ.js +1 -0
  259. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix-crowd.md.-lSf42gJ.lean.js +1 -0
  260. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix.md.oRAsEVbc.js +1 -0
  261. package/packages/docs/.vitepress/dist/assets/workflows_sdd-bugfix.md.oRAsEVbc.lean.js +1 -0
  262. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature-crowd.md.DAtnfCAd.js +1 -0
  263. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature-crowd.md.DAtnfCAd.lean.js +1 -0
  264. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature.md.Ce3-H_g3.js +1 -0
  265. package/packages/docs/.vitepress/dist/assets/workflows_sdd-feature.md.Ce3-H_g3.lean.js +1 -0
  266. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield-crowd.md.8DUvcmLe.js +1 -0
  267. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield-crowd.md.8DUvcmLe.lean.js +1 -0
  268. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield.md.eEN6U0J4.js +1 -0
  269. package/packages/docs/.vitepress/dist/assets/workflows_sdd-greenfield.md.eEN6U0J4.lean.js +1 -0
  270. package/packages/docs/.vitepress/dist/assets/workflows_slides.md.Cqt-19_1.js +1 -0
  271. package/packages/docs/.vitepress/dist/assets/workflows_slides.md.Cqt-19_1.lean.js +1 -0
  272. package/packages/docs/.vitepress/dist/assets/workflows_tdd.md.BjVC69tu.js +1 -0
  273. package/packages/docs/.vitepress/dist/assets/workflows_tdd.md.BjVC69tu.lean.js +1 -0
  274. package/packages/docs/.vitepress/dist/assets/workflows_waterfall.md.CL6jTZP9.js +1 -0
  275. package/packages/docs/.vitepress/dist/assets/workflows_waterfall.md.CL6jTZP9.lean.js +1 -0
  276. package/packages/docs/.vitepress/dist/dev/ARCHITECTURE.html +155 -0
  277. package/packages/docs/.vitepress/dist/dev/DEVELOPMENT.html +97 -0
  278. package/packages/docs/.vitepress/dist/dev/LOGGING.html +59 -0
  279. package/packages/docs/.vitepress/dist/dev/PUBLISHING.html +30 -0
  280. package/packages/docs/.vitepress/dist/hashmap.json +1 -0
  281. package/packages/docs/.vitepress/dist/index.html +27 -0
  282. package/packages/docs/.vitepress/dist/user/advanced-engineering.html +75 -0
  283. package/packages/docs/.vitepress/dist/user/agent-setup.html +49 -0
  284. package/packages/docs/.vitepress/dist/user/beads-integration.html +40 -0
  285. package/packages/docs/.vitepress/dist/user/crowd-mcp-integration.html +182 -0
  286. package/packages/docs/.vitepress/dist/user/custom-workflows.html +168 -0
  287. package/packages/docs/.vitepress/dist/user/git-commit-feature.html +30 -0
  288. package/packages/docs/.vitepress/dist/user/how-it-works.html +48 -0
  289. package/packages/docs/.vitepress/dist/user/long-term-memory.html +68 -0
  290. package/packages/docs/.vitepress/dist/user/packaged-workflows.html +27 -0
  291. package/packages/docs/.vitepress/dist/user/tutorial.html +28 -0
  292. package/packages/docs/.vitepress/dist/user/workflow-selection.html +32 -0
  293. package/packages/docs/.vitepress/dist/vp-icons.css +0 -0
  294. package/packages/docs/.vitepress/dist/workflows/adr.html +26 -0
  295. package/packages/docs/.vitepress/dist/workflows/adr.yaml +157 -0
  296. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.html +26 -0
  297. package/packages/docs/.vitepress/dist/workflows/big-bang-conversion.yaml +592 -0
  298. package/packages/docs/.vitepress/dist/workflows/boundary-testing.html +26 -0
  299. package/packages/docs/.vitepress/dist/workflows/boundary-testing.yaml +376 -0
  300. package/packages/docs/.vitepress/dist/workflows/bugfix.html +26 -0
  301. package/packages/docs/.vitepress/dist/workflows/bugfix.yaml +177 -0
  302. package/packages/docs/.vitepress/dist/workflows/business-analysis.html +26 -0
  303. package/packages/docs/.vitepress/dist/workflows/business-analysis.yaml +597 -0
  304. package/packages/docs/.vitepress/dist/workflows/c4-analysis.html +26 -0
  305. package/packages/docs/.vitepress/dist/workflows/c4-analysis.yaml +471 -0
  306. package/packages/docs/.vitepress/dist/workflows/epcc.html +26 -0
  307. package/packages/docs/.vitepress/dist/workflows/epcc.yaml +183 -0
  308. package/packages/docs/.vitepress/dist/workflows/game-beginner.html +26 -0
  309. package/packages/docs/.vitepress/dist/workflows/game-beginner.yaml +434 -0
  310. package/packages/docs/.vitepress/dist/workflows/greenfield.html +26 -0
  311. package/packages/docs/.vitepress/dist/workflows/greenfield.yaml +201 -0
  312. package/packages/docs/.vitepress/dist/workflows/minor.html +26 -0
  313. package/packages/docs/.vitepress/dist/workflows/minor.yaml +138 -0
  314. package/packages/docs/.vitepress/dist/workflows/posts.html +26 -0
  315. package/packages/docs/.vitepress/dist/workflows/posts.yaml +193 -0
  316. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.html +26 -0
  317. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix-crowd.yaml +608 -0
  318. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.html +26 -0
  319. package/packages/docs/.vitepress/dist/workflows/sdd-bugfix.yaml +381 -0
  320. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.html +26 -0
  321. package/packages/docs/.vitepress/dist/workflows/sdd-feature-crowd.yaml +713 -0
  322. package/packages/docs/.vitepress/dist/workflows/sdd-feature.html +26 -0
  323. package/packages/docs/.vitepress/dist/workflows/sdd-feature.yaml +471 -0
  324. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.html +26 -0
  325. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield-crowd.yaml +336 -0
  326. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.html +26 -0
  327. package/packages/docs/.vitepress/dist/workflows/sdd-greenfield.yaml +463 -0
  328. package/packages/docs/.vitepress/dist/workflows/slides.html +26 -0
  329. package/packages/docs/.vitepress/dist/workflows/slides.yaml +237 -0
  330. package/packages/docs/.vitepress/dist/workflows/tdd.html +26 -0
  331. package/packages/docs/.vitepress/dist/workflows/tdd.yaml +160 -0
  332. package/packages/docs/.vitepress/dist/workflows/waterfall.html +26 -0
  333. package/packages/docs/.vitepress/dist/workflows/waterfall.yaml +209 -0
  334. package/packages/docs/.vitepress/dist/workflows.html +26 -0
  335. package/packages/docs/package.json +32 -0
  336. package/packages/mcp-server/dist/index.js +10546 -0
  337. package/packages/mcp-server/package.json +41 -0
  338. package/packages/mcp-server/resources/agents/architect.yaml +61 -0
  339. package/packages/mcp-server/resources/agents/business-analyst.yaml +60 -0
  340. package/packages/mcp-server/resources/agents/developer.yaml +61 -0
  341. package/packages/mcp-server/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
  342. package/packages/mcp-server/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
  343. package/packages/mcp-server/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
  344. package/packages/mcp-server/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
  345. package/packages/mcp-server/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
  346. package/packages/mcp-server/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
  347. package/packages/mcp-server/resources/templates/architecture/c4.md +224 -0
  348. package/packages/mcp-server/resources/templates/architecture/freestyle.md +53 -0
  349. package/packages/mcp-server/resources/templates/architecture/game.md +250 -0
  350. package/packages/mcp-server/resources/templates/architecture/none.md +17 -0
  351. package/packages/mcp-server/resources/templates/design/comprehensive.md +207 -0
  352. package/packages/mcp-server/resources/templates/design/freestyle.md +37 -0
  353. package/packages/mcp-server/resources/templates/design/game.md +66 -0
  354. package/packages/mcp-server/resources/templates/design/none.md +17 -0
  355. package/packages/mcp-server/resources/templates/requirements/ears.md +90 -0
  356. package/packages/mcp-server/resources/templates/requirements/freestyle.md +42 -0
  357. package/packages/mcp-server/resources/templates/requirements/game.md +162 -0
  358. package/packages/mcp-server/resources/templates/requirements/none.md +17 -0
  359. package/packages/mcp-server/resources/templates/skills/POWER.md +23 -0
  360. package/packages/mcp-server/resources/templates/skills/SKILL.md +19 -0
  361. package/packages/mcp-server/resources/workflows/adr.yaml +157 -0
  362. package/packages/mcp-server/resources/workflows/big-bang-conversion.yaml +592 -0
  363. package/packages/mcp-server/resources/workflows/boundary-testing.yaml +376 -0
  364. package/packages/mcp-server/resources/workflows/bugfix.yaml +177 -0
  365. package/packages/mcp-server/resources/workflows/business-analysis.yaml +597 -0
  366. package/packages/mcp-server/resources/workflows/c4-analysis.yaml +471 -0
  367. package/packages/mcp-server/resources/workflows/epcc.yaml +183 -0
  368. package/packages/mcp-server/resources/workflows/game-beginner.yaml +434 -0
  369. package/packages/mcp-server/resources/workflows/greenfield.yaml +201 -0
  370. package/packages/mcp-server/resources/workflows/minor.yaml +138 -0
  371. package/packages/mcp-server/resources/workflows/posts.yaml +193 -0
  372. package/packages/mcp-server/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
  373. package/packages/mcp-server/resources/workflows/sdd-bugfix.yaml +381 -0
  374. package/packages/mcp-server/resources/workflows/sdd-feature-crowd.yaml +713 -0
  375. package/packages/mcp-server/resources/workflows/sdd-feature.yaml +471 -0
  376. package/packages/mcp-server/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
  377. package/packages/mcp-server/resources/workflows/sdd-greenfield.yaml +463 -0
  378. package/packages/mcp-server/resources/workflows/slides.yaml +237 -0
  379. package/packages/mcp-server/resources/workflows/tdd.yaml +160 -0
  380. package/packages/mcp-server/resources/workflows/waterfall.yaml +209 -0
  381. package/packages/visualizer/dist/WorkflowVisualizer.vue +1147 -0
  382. package/packages/visualizer/dist/index.ts +17 -0
  383. package/packages/visualizer/dist/main.ts +673 -0
  384. package/packages/visualizer/dist/services/BundledWorkflows.ts +35 -0
  385. package/packages/visualizer/dist/services/FileUploadHandler.ts +166 -0
  386. package/packages/visualizer/dist/services/WorkflowLoader.ts +198 -0
  387. package/packages/visualizer/dist/services/YamlParser.ts +248 -0
  388. package/packages/visualizer/dist/services/workflow-list.ts +23 -0
  389. package/packages/visualizer/dist/types/ui-types.ts +84 -0
  390. package/packages/visualizer/dist/types/visualization-types.ts +95 -0
  391. package/packages/visualizer/dist/types/vite-env.d.ts +12 -0
  392. package/packages/visualizer/dist/utils/DomHelpers.ts +206 -0
  393. package/packages/visualizer/dist/utils/ErrorHandler.ts +170 -0
  394. package/packages/visualizer/dist/utils/PlantUMLEncoder.ts +121 -0
  395. package/packages/visualizer/dist/visualization/DiagramRenderer.ts +430 -0
  396. package/packages/visualizer/dist/visualization/LayoutEngine.ts +339 -0
  397. package/packages/visualizer/dist/visualization/PlantUMLRenderer.ts +507 -0
  398. package/packages/visualizer/dist/visualization/StateRenderer.ts +339 -0
  399. package/packages/visualizer/dist/visualization/TransitionRenderer.ts +432 -0
  400. package/packages/visualizer/package.json +39 -0
  401. package/resources/.DS_Store +0 -0
  402. package/resources/agents/architect.yaml +61 -0
  403. package/resources/agents/business-analyst.yaml +60 -0
  404. package/resources/agents/developer.yaml +61 -0
  405. package/resources/state-machine-schema.json +114 -0
  406. package/resources/templates/architecture/arc42/arc42-template-EN.md +1077 -0
  407. package/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio-2023.png +0 -0
  408. package/resources/templates/architecture/arc42/images/01_2_iso-25010-topics-EN.drawio.png +0 -0
  409. package/resources/templates/architecture/arc42/images/05_building_blocks-EN.png +0 -0
  410. package/resources/templates/architecture/arc42/images/08-concepts-EN.drawio.png +0 -0
  411. package/resources/templates/architecture/arc42/images/arc42-logo.png +0 -0
  412. package/resources/templates/architecture/c4.md +224 -0
  413. package/resources/templates/architecture/freestyle.md +53 -0
  414. package/resources/templates/architecture/game.md +250 -0
  415. package/resources/templates/architecture/none.md +17 -0
  416. package/resources/templates/design/comprehensive.md +207 -0
  417. package/resources/templates/design/freestyle.md +37 -0
  418. package/resources/templates/design/game.md +66 -0
  419. package/resources/templates/design/none.md +17 -0
  420. package/resources/templates/requirements/ears.md +90 -0
  421. package/resources/templates/requirements/freestyle.md +42 -0
  422. package/resources/templates/requirements/game.md +162 -0
  423. package/resources/templates/requirements/none.md +17 -0
  424. package/resources/templates/skills/POWER.md +23 -0
  425. package/resources/templates/skills/SKILL.md +19 -0
  426. package/resources/workflows/adr.yaml +157 -0
  427. package/resources/workflows/big-bang-conversion.yaml +592 -0
  428. package/resources/workflows/boundary-testing.yaml +376 -0
  429. package/resources/workflows/bugfix.yaml +177 -0
  430. package/resources/workflows/business-analysis.yaml +597 -0
  431. package/resources/workflows/c4-analysis.yaml +471 -0
  432. package/resources/workflows/epcc.yaml +183 -0
  433. package/resources/workflows/game-beginner.yaml +434 -0
  434. package/resources/workflows/greenfield.yaml +201 -0
  435. package/resources/workflows/minor.yaml +138 -0
  436. package/resources/workflows/posts.yaml +193 -0
  437. package/resources/workflows/sdd-bugfix-crowd.yaml +608 -0
  438. package/resources/workflows/sdd-bugfix.yaml +381 -0
  439. package/resources/workflows/sdd-feature-crowd.yaml +713 -0
  440. package/resources/workflows/sdd-feature.yaml +471 -0
  441. package/resources/workflows/sdd-greenfield-crowd.yaml +336 -0
  442. package/resources/workflows/sdd-greenfield.yaml +463 -0
  443. package/resources/workflows/slides.yaml +237 -0
  444. package/resources/workflows/tdd.yaml +160 -0
  445. package/resources/workflows/waterfall.yaml +209 -0
  446. package/dist/components/beads/beads-instruction-generator.d.ts +0 -44
  447. package/dist/components/beads/beads-instruction-generator.d.ts.map +0 -1
  448. package/dist/components/beads/beads-instruction-generator.js +0 -160
  449. package/dist/components/beads/beads-instruction-generator.js.map +0 -1
  450. package/dist/components/beads/beads-plan-manager.d.ts.map +0 -1
  451. package/dist/components/beads/beads-plan-manager.js.map +0 -1
  452. package/dist/components/beads/beads-task-backend-client.d.ts +0 -43
  453. package/dist/components/beads/beads-task-backend-client.d.ts.map +0 -1
  454. package/dist/components/beads/beads-task-backend-client.js +0 -175
  455. package/dist/components/beads/beads-task-backend-client.js.map +0 -1
  456. package/dist/index.d.ts +0 -9
  457. package/dist/index.d.ts.map +0 -1
  458. package/dist/index.js +0 -74
  459. package/dist/index.js.map +0 -1
  460. package/dist/notification-service.d.ts +0 -14
  461. package/dist/notification-service.d.ts.map +0 -1
  462. package/dist/notification-service.js +0 -18
  463. package/dist/notification-service.js.map +0 -1
  464. package/dist/plugin-system/beads-plugin.d.ts +0 -71
  465. package/dist/plugin-system/beads-plugin.d.ts.map +0 -1
  466. package/dist/plugin-system/beads-plugin.js +0 -465
  467. package/dist/plugin-system/beads-plugin.js.map +0 -1
  468. package/dist/plugin-system/commit-plugin.d.ts +0 -40
  469. package/dist/plugin-system/commit-plugin.d.ts.map +0 -1
  470. package/dist/plugin-system/commit-plugin.js +0 -204
  471. package/dist/plugin-system/commit-plugin.js.map +0 -1
  472. package/dist/plugin-system/index.d.ts +0 -9
  473. package/dist/plugin-system/index.d.ts.map +0 -1
  474. package/dist/plugin-system/index.js +0 -9
  475. package/dist/plugin-system/index.js.map +0 -1
  476. package/dist/plugin-system/plugin-interfaces.d.ts +0 -98
  477. package/dist/plugin-system/plugin-interfaces.d.ts.map +0 -1
  478. package/dist/plugin-system/plugin-interfaces.js +0 -9
  479. package/dist/plugin-system/plugin-interfaces.js.map +0 -1
  480. package/dist/plugin-system/plugin-registry.d.ts +0 -44
  481. package/dist/plugin-system/plugin-registry.d.ts.map +0 -1
  482. package/dist/plugin-system/plugin-registry.js +0 -132
  483. package/dist/plugin-system/plugin-registry.js.map +0 -1
  484. package/dist/resource-handlers/conversation-state.d.ts +0 -15
  485. package/dist/resource-handlers/conversation-state.d.ts.map +0 -1
  486. package/dist/resource-handlers/conversation-state.js +0 -40
  487. package/dist/resource-handlers/conversation-state.js.map +0 -1
  488. package/dist/resource-handlers/development-plan.d.ts +0 -14
  489. package/dist/resource-handlers/development-plan.d.ts.map +0 -1
  490. package/dist/resource-handlers/development-plan.js +0 -31
  491. package/dist/resource-handlers/development-plan.js.map +0 -1
  492. package/dist/resource-handlers/index.d.ts +0 -24
  493. package/dist/resource-handlers/index.d.ts.map +0 -1
  494. package/dist/resource-handlers/index.js +0 -62
  495. package/dist/resource-handlers/index.js.map +0 -1
  496. package/dist/resource-handlers/system-prompt.d.ts +0 -15
  497. package/dist/resource-handlers/system-prompt.d.ts.map +0 -1
  498. package/dist/resource-handlers/system-prompt.js +0 -40
  499. package/dist/resource-handlers/system-prompt.js.map +0 -1
  500. package/dist/resource-handlers/workflow-resource.d.ts +0 -15
  501. package/dist/resource-handlers/workflow-resource.d.ts.map +0 -1
  502. package/dist/resource-handlers/workflow-resource.js +0 -85
  503. package/dist/resource-handlers/workflow-resource.js.map +0 -1
  504. package/dist/response-renderer.d.ts +0 -30
  505. package/dist/response-renderer.d.ts.map +0 -1
  506. package/dist/response-renderer.js +0 -94
  507. package/dist/response-renderer.js.map +0 -1
  508. package/dist/server-config.d.ts +0 -34
  509. package/dist/server-config.d.ts.map +0 -1
  510. package/dist/server-config.js +0 -503
  511. package/dist/server-config.js.map +0 -1
  512. package/dist/server-helpers.d.ts +0 -70
  513. package/dist/server-helpers.d.ts.map +0 -1
  514. package/dist/server-helpers.js +0 -171
  515. package/dist/server-helpers.js.map +0 -1
  516. package/dist/server-implementation.d.ts +0 -74
  517. package/dist/server-implementation.d.ts.map +0 -1
  518. package/dist/server-implementation.js +0 -201
  519. package/dist/server-implementation.js.map +0 -1
  520. package/dist/server.d.ts +0 -6
  521. package/dist/server.d.ts.map +0 -1
  522. package/dist/server.js +0 -5
  523. package/dist/server.js.map +0 -1
  524. package/dist/tool-handlers/base-tool-handler.d.ts +0 -50
  525. package/dist/tool-handlers/base-tool-handler.d.ts.map +0 -1
  526. package/dist/tool-handlers/base-tool-handler.js +0 -81
  527. package/dist/tool-handlers/base-tool-handler.js.map +0 -1
  528. package/dist/tool-handlers/conduct-review.d.ts +0 -49
  529. package/dist/tool-handlers/conduct-review.d.ts.map +0 -1
  530. package/dist/tool-handlers/conduct-review.js +0 -104
  531. package/dist/tool-handlers/conduct-review.js.map +0 -1
  532. package/dist/tool-handlers/get-tool-info.d.ts +0 -75
  533. package/dist/tool-handlers/get-tool-info.d.ts.map +0 -1
  534. package/dist/tool-handlers/get-tool-info.js +0 -168
  535. package/dist/tool-handlers/get-tool-info.js.map +0 -1
  536. package/dist/tool-handlers/index.d.ts +0 -41
  537. package/dist/tool-handlers/index.d.ts.map +0 -1
  538. package/dist/tool-handlers/index.js +0 -71
  539. package/dist/tool-handlers/index.js.map +0 -1
  540. package/dist/tool-handlers/list-workflows.d.ts +0 -35
  541. package/dist/tool-handlers/list-workflows.d.ts.map +0 -1
  542. package/dist/tool-handlers/list-workflows.js +0 -43
  543. package/dist/tool-handlers/list-workflows.js.map +0 -1
  544. package/dist/tool-handlers/no-idea.d.ts +0 -41
  545. package/dist/tool-handlers/no-idea.d.ts.map +0 -1
  546. package/dist/tool-handlers/no-idea.js +0 -29
  547. package/dist/tool-handlers/no-idea.js.map +0 -1
  548. package/dist/tool-handlers/proceed-to-phase.d.ts +0 -41
  549. package/dist/tool-handlers/proceed-to-phase.d.ts.map +0 -1
  550. package/dist/tool-handlers/proceed-to-phase.js +0 -165
  551. package/dist/tool-handlers/proceed-to-phase.js.map +0 -1
  552. package/dist/tool-handlers/reset-development.d.ts +0 -31
  553. package/dist/tool-handlers/reset-development.d.ts.map +0 -1
  554. package/dist/tool-handlers/reset-development.js +0 -48
  555. package/dist/tool-handlers/reset-development.js.map +0 -1
  556. package/dist/tool-handlers/resume-workflow.d.ts +0 -87
  557. package/dist/tool-handlers/resume-workflow.d.ts.map +0 -1
  558. package/dist/tool-handlers/resume-workflow.js +0 -212
  559. package/dist/tool-handlers/resume-workflow.js.map +0 -1
  560. package/dist/tool-handlers/setup-project-docs.d.ts +0 -37
  561. package/dist/tool-handlers/setup-project-docs.d.ts.map +0 -1
  562. package/dist/tool-handlers/setup-project-docs.js +0 -138
  563. package/dist/tool-handlers/setup-project-docs.js.map +0 -1
  564. package/dist/tool-handlers/start-development.d.ts +0 -79
  565. package/dist/tool-handlers/start-development.d.ts.map +0 -1
  566. package/dist/tool-handlers/start-development.js +0 -484
  567. package/dist/tool-handlers/start-development.js.map +0 -1
  568. package/dist/tool-handlers/whats-next.d.ts +0 -41
  569. package/dist/tool-handlers/whats-next.d.ts.map +0 -1
  570. package/dist/tool-handlers/whats-next.js +0 -123
  571. package/dist/tool-handlers/whats-next.js.map +0 -1
  572. package/dist/types.d.ts +0 -119
  573. package/dist/types.d.ts.map +0 -1
  574. package/dist/types.js +0 -5
  575. package/dist/version-info.d.ts +0 -30
  576. package/dist/version-info.d.ts.map +0 -1
  577. package/dist/version-info.js +0 -178
  578. package/dist/version-info.js.map +0 -1
  579. package/skill/SKILL.md +0 -28
  580. /package/{dist → packages/core/dist}/types.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"beads-state-manager.js","sourceRoot":"","sources":["../src/beads-state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Configuration Manager
3
+ *
4
+ * Handles loading and validation of project configuration from .vibe/config.yaml
5
+ */
6
+ export interface ProjectConfig {
7
+ enabled_workflows?: string[];
8
+ }
9
+ /**
10
+ * Manages project configuration loading and validation
11
+ */
12
+ export declare class ConfigManager {
13
+ private static readonly CONFIG_FILENAME;
14
+ /**
15
+ * Load project configuration from .vibe/config.yaml
16
+ * Returns null if no config file exists (backward compatibility)
17
+ * Throws error for invalid configuration
18
+ */
19
+ static loadProjectConfig(projectPath: string): ProjectConfig | null;
20
+ /**
21
+ * Validate configuration structure and content
22
+ */
23
+ private static validateConfig;
24
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Configuration Manager
3
+ *
4
+ * Handles loading and validation of project configuration from .vibe/config.yaml
5
+ */
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import yaml from 'js-yaml';
9
+ import { createLogger } from './logger.js';
10
+ const logger = createLogger('ConfigManager');
11
+ /**
12
+ * Manages project configuration loading and validation
13
+ */
14
+ export class ConfigManager {
15
+ static CONFIG_FILENAME = 'config.yaml';
16
+ /**
17
+ * Load project configuration from .vibe/config.yaml
18
+ * Returns null if no config file exists (backward compatibility)
19
+ * Throws error for invalid configuration
20
+ */
21
+ static loadProjectConfig(projectPath) {
22
+ const configPath = path.join(projectPath, '.vibe', this.CONFIG_FILENAME);
23
+ // No config file = backward compatibility (all workflows available)
24
+ if (!fs.existsSync(configPath)) {
25
+ logger.debug('No config file found, using defaults', { configPath });
26
+ return null;
27
+ }
28
+ try {
29
+ const configContent = fs.readFileSync(configPath, 'utf-8');
30
+ const config = yaml.load(configContent);
31
+ this.validateConfig(config, configPath);
32
+ logger.info('Loaded project configuration', {
33
+ configPath,
34
+ enabledWorkflows: config.enabled_workflows?.length || 0,
35
+ });
36
+ return config;
37
+ }
38
+ catch (error) {
39
+ if (error instanceof yaml.YAMLException) {
40
+ throw new Error(`Invalid YAML in config file ${configPath}: ${error.message}`);
41
+ }
42
+ throw new Error(`Failed to load config file ${configPath}: ${error}`);
43
+ }
44
+ }
45
+ /**
46
+ * Validate configuration structure and content
47
+ */
48
+ static validateConfig(config, configPath) {
49
+ if (!config || typeof config !== 'object') {
50
+ throw new Error(`Invalid config file ${configPath}: must be a YAML object`);
51
+ }
52
+ if (config.enabled_workflows !== undefined) {
53
+ if (!Array.isArray(config.enabled_workflows)) {
54
+ throw new Error(`Invalid config file ${configPath}: enabled_workflows must be an array`);
55
+ }
56
+ if (config.enabled_workflows.length === 0) {
57
+ throw new Error(`Invalid config file ${configPath}: enabled_workflows cannot be empty`);
58
+ }
59
+ // Validate all entries are strings
60
+ for (const workflow of config.enabled_workflows) {
61
+ if (typeof workflow !== 'string' || workflow.trim() === '') {
62
+ throw new Error(`Invalid config file ${configPath}: all workflow names must be non-empty strings`);
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../src/config-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAM7C;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAU,eAAe,GAAG,aAAa,CAAC;IAExD;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAAC,WAAmB;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEzE,oEAAoE;QACpE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAkB,CAAC;YAEzD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAExC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC1C,UAAU;gBACV,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC;aACxD,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACb,+BAA+B,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAC9D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,cAAc,CAC3B,MAAqB,EACrB,UAAkB;QAElB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,yBAAyB,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC7C,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,sCAAsC,CACxE,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,qCAAqC,CACvE,CAAC;YACJ,CAAC;YAED,mCAAmC;YACnC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAChD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC3D,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,gDAAgD,CAClF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Conversation Manager
3
+ *
4
+ * Handles conversation identification, state persistence, and coordination
5
+ * between components. Generates unique conversation identifiers from
6
+ * project path + git branch combination.
7
+ */
8
+ import type { IPersistence } from './persistence-interface.js';
9
+ import type { ConversationState, ConversationContext } from './types.js';
10
+ import { WorkflowManager } from './workflow-manager.js';
11
+ export declare class ConversationManager {
12
+ private database;
13
+ private projectPath;
14
+ private workflowManager;
15
+ constructor(database: IPersistence, workflowManager: WorkflowManager, projectPath: string);
16
+ /**
17
+ * Get conversation state by ID
18
+ */
19
+ getConversationState(conversationId: string): Promise<ConversationState | null>;
20
+ /**
21
+ * Get the current conversation context
22
+ *
23
+ * Detects the current project path and git branch, then retrieves an existing
24
+ * conversation state for this context. Does NOT create a new conversation.
25
+ *
26
+ * @throws Error if no conversation exists for this context
27
+ */
28
+ getConversationContext(): Promise<ConversationContext>;
29
+ /**
30
+ * Create a new conversation context
31
+ *
32
+ * This should only be called by the start_development tool to explicitly
33
+ * create a new conversation with a selected workflow.
34
+ *
35
+ * @param workflowName - The workflow to use for this conversation
36
+ * @param projectPathOverride - Optional project path override
37
+ * @returns The newly created conversation context
38
+ */
39
+ createConversationContext(workflowName: string, projectPathOverride?: string): Promise<ConversationContext>;
40
+ /**
41
+ * Update the conversation state
42
+ *
43
+ * @param conversationId - ID of the conversation to update
44
+ * @param updates - Partial state updates to apply
45
+ */
46
+ updateConversationState(conversationId: string, updates: Partial<Pick<ConversationState, 'currentPhase' | 'planFilePath' | 'workflowName' | 'requireReviewsBeforePhaseTransition'>>): Promise<void>;
47
+ /**
48
+ * Create a new conversation state
49
+ *
50
+ * @param conversationId - ID for the new conversation
51
+ * @param projectPath - Path to the project
52
+ * @param gitBranch - Git branch name
53
+ */
54
+ private createNewConversationState;
55
+ /**
56
+ * Generate a unique conversation ID based on project path and git branch
57
+ *
58
+ * @param projectPath - Path to the project
59
+ * @param gitBranch - Git branch name
60
+ */
61
+ private generateConversationId;
62
+ /**
63
+ * Get the current project path
64
+ */
65
+ private getProjectPath;
66
+ /**
67
+ * Get the current git branch for a project
68
+ *
69
+ * @param projectPath - Path to the project
70
+ */
71
+ private getGitBranch;
72
+ /**
73
+ * Check if a conversation has any previous interactions
74
+ * Used to determine if this is the first interaction in a conversation
75
+ */
76
+ hasInteractions(conversationId: string): Promise<boolean>;
77
+ /**
78
+ * Reset conversation data (hybrid approach)
79
+ */
80
+ resetConversation(confirm: boolean, reason?: string): Promise<{
81
+ success: boolean;
82
+ resetItems: string[];
83
+ conversationId: string;
84
+ message: string;
85
+ }>;
86
+ /**
87
+ * Validate reset request parameters
88
+ */
89
+ private validateResetRequest;
90
+ /**
91
+ * Verify that reset cleanup was successful
92
+ */
93
+ private verifyResetCleanup;
94
+ /**
95
+ * Clean up conversation data (used internally)
96
+ */
97
+ cleanupConversationData(conversationId: string): Promise<void>;
98
+ }
@@ -0,0 +1,382 @@
1
+ /**
2
+ * Conversation Manager
3
+ *
4
+ * Handles conversation identification, state persistence, and coordination
5
+ * between components. Generates unique conversation identifiers from
6
+ * project path + git branch combination.
7
+ */
8
+ import { execSync } from 'node:child_process';
9
+ import { resolve } from 'node:path';
10
+ import { existsSync } from 'node:fs';
11
+ import { createLogger } from './logger.js';
12
+ import { getPathBasename } from './path-validation-utils.js';
13
+ import { PlanManager } from './plan-manager.js';
14
+ const logger = createLogger('ConversationManager');
15
+ export class ConversationManager {
16
+ database;
17
+ projectPath;
18
+ workflowManager;
19
+ constructor(database, workflowManager, projectPath) {
20
+ this.database = database;
21
+ this.workflowManager = workflowManager;
22
+ this.projectPath = projectPath;
23
+ }
24
+ /**
25
+ * Get conversation state by ID
26
+ */
27
+ async getConversationState(conversationId) {
28
+ return await this.database.getConversationState(conversationId);
29
+ }
30
+ /**
31
+ * Get the current conversation context
32
+ *
33
+ * Detects the current project path and git branch, then retrieves an existing
34
+ * conversation state for this context. Does NOT create a new conversation.
35
+ *
36
+ * @throws Error if no conversation exists for this context
37
+ */
38
+ async getConversationContext() {
39
+ const projectPath = this.getProjectPath();
40
+ const gitBranch = this.getGitBranch(projectPath);
41
+ logger.debug('Getting conversation context', { projectPath, gitBranch });
42
+ // Generate a unique conversation ID based on project path and git branch
43
+ const conversationId = this.generateConversationId(projectPath, gitBranch);
44
+ // Try to find existing conversation state
45
+ const state = await this.database.getConversationState(conversationId);
46
+ // If no existing state, throw an error - conversation must be created with start_development first
47
+ if (!state) {
48
+ logger.warn('No conversation found for context', {
49
+ projectPath,
50
+ gitBranch,
51
+ conversationId,
52
+ });
53
+ throw new Error('No development conversation exists for this project. Use the start_development tool first to initialize development with a workflow.');
54
+ }
55
+ // Return the conversation context
56
+ return {
57
+ conversationId: state.conversationId,
58
+ projectPath: state.projectPath,
59
+ gitBranch: state.gitBranch,
60
+ currentPhase: state.currentPhase,
61
+ planFilePath: state.planFilePath,
62
+ workflowName: state.workflowName,
63
+ };
64
+ }
65
+ /**
66
+ * Create a new conversation context
67
+ *
68
+ * This should only be called by the start_development tool to explicitly
69
+ * create a new conversation with a selected workflow.
70
+ *
71
+ * @param workflowName - The workflow to use for this conversation
72
+ * @param projectPathOverride - Optional project path override
73
+ * @returns The newly created conversation context
74
+ */
75
+ async createConversationContext(workflowName, projectPathOverride) {
76
+ const projectPath = projectPathOverride || this.getProjectPath();
77
+ const gitBranch = this.getGitBranch(projectPath);
78
+ logger.debug('Creating conversation context', {
79
+ projectPath,
80
+ gitBranch,
81
+ workflowName,
82
+ });
83
+ // Generate a unique conversation ID based on project path and git branch
84
+ const conversationId = this.generateConversationId(projectPath, gitBranch);
85
+ // Check if a conversation already exists
86
+ const existingState = await this.database.getConversationState(conversationId);
87
+ if (existingState) {
88
+ // Check if user is trying to change workflow
89
+ if (existingState.workflowName !== workflowName) {
90
+ const errorMessage = `Development conversation already exists with workflow '${existingState.workflowName}'. Cannot change to '${workflowName}'. Use reset_development() first to start with a new workflow.`;
91
+ logger.error('Attempted workflow change on existing conversation', new Error(errorMessage), {
92
+ existingWorkflow: existingState.workflowName,
93
+ requestedWorkflow: workflowName,
94
+ conversationId,
95
+ });
96
+ throw new Error(errorMessage);
97
+ }
98
+ logger.debug('Conversation already exists, returning existing context', {
99
+ conversationId,
100
+ });
101
+ return {
102
+ conversationId: existingState.conversationId,
103
+ projectPath: existingState.projectPath,
104
+ gitBranch: existingState.gitBranch,
105
+ currentPhase: existingState.currentPhase,
106
+ planFilePath: existingState.planFilePath,
107
+ workflowName: existingState.workflowName,
108
+ };
109
+ }
110
+ // Create a new conversation state
111
+ const state = await this.createNewConversationState(conversationId, projectPath, gitBranch, workflowName);
112
+ // Return the conversation context
113
+ return {
114
+ conversationId: state.conversationId,
115
+ projectPath: state.projectPath,
116
+ gitBranch: state.gitBranch,
117
+ currentPhase: state.currentPhase,
118
+ planFilePath: state.planFilePath,
119
+ workflowName: state.workflowName,
120
+ };
121
+ }
122
+ /**
123
+ * Update the conversation state
124
+ *
125
+ * @param conversationId - ID of the conversation to update
126
+ * @param updates - Partial state updates to apply
127
+ */
128
+ async updateConversationState(conversationId, updates) {
129
+ logger.debug('Updating conversation state', { conversationId, updates });
130
+ // Get current state
131
+ const currentState = await this.database.getConversationState(conversationId);
132
+ if (!currentState) {
133
+ throw new Error(`Conversation state not found for ID: ${conversationId}`);
134
+ }
135
+ // Apply updates
136
+ const updatedState = {
137
+ ...currentState,
138
+ ...updates,
139
+ updatedAt: new Date().toISOString(),
140
+ };
141
+ // Save updated state
142
+ await this.database.saveConversationState(updatedState);
143
+ logger.info('Conversation state updated', {
144
+ conversationId,
145
+ currentPhase: updatedState.currentPhase,
146
+ });
147
+ }
148
+ /**
149
+ * Create a new conversation state
150
+ *
151
+ * @param conversationId - ID for the new conversation
152
+ * @param projectPath - Path to the project
153
+ * @param gitBranch - Git branch name
154
+ */
155
+ async createNewConversationState(conversationId, projectPath, gitBranch, workflowName = 'waterfall') {
156
+ logger.info('Creating new conversation state', {
157
+ conversationId,
158
+ projectPath,
159
+ gitBranch,
160
+ });
161
+ const timestamp = new Date().toISOString();
162
+ // Generate a plan file path based on the branch name
163
+ // Sanitize branch name by replacing slashes and other special characters
164
+ const sanitizedBranch = gitBranch.replace(/[/\\]/g, '-');
165
+ const planFileName = gitBranch === 'main' || gitBranch === 'master'
166
+ ? 'development-plan.md'
167
+ : `development-plan-${sanitizedBranch}.md`;
168
+ const planFilePath = resolve(projectPath, '.vibe', planFileName);
169
+ // Get initial state from the appropriate workflow
170
+ const stateMachine = this.workflowManager.loadWorkflowForProject(projectPath, workflowName);
171
+ const initialPhase = stateMachine.initial_state;
172
+ // Create new state
173
+ const newState = {
174
+ conversationId,
175
+ projectPath,
176
+ gitBranch,
177
+ currentPhase: initialPhase,
178
+ planFilePath,
179
+ workflowName,
180
+ requireReviewsBeforePhaseTransition: false, // Default to false for new conversations
181
+ createdAt: timestamp,
182
+ updatedAt: timestamp,
183
+ };
184
+ // Save to database
185
+ await this.database.saveConversationState(newState);
186
+ logger.info('New conversation state created', {
187
+ conversationId,
188
+ planFilePath,
189
+ initialPhase,
190
+ });
191
+ return newState;
192
+ }
193
+ /**
194
+ * Generate a unique conversation ID based on project path and git branch
195
+ *
196
+ * @param projectPath - Path to the project
197
+ * @param gitBranch - Git branch name
198
+ */
199
+ generateConversationId(projectPath, gitBranch) {
200
+ // Extract project name from path (cross-platform: handles both / and \)
201
+ const projectName = getPathBasename(projectPath, 'unknown-project');
202
+ // Clean branch name for use in ID
203
+ const cleanBranch = gitBranch
204
+ .replace(/[^a-zA-Z0-9-]/g, '-')
205
+ .replace(/-+/g, '-')
206
+ .replace(/^-|-$/g, '');
207
+ // For tests, use a deterministic ID
208
+ if (process.env['NODE_ENV'] === 'test') {
209
+ return `${projectName}-${cleanBranch}-p423k1`;
210
+ }
211
+ // Generate a deterministic ID based on project path and branch
212
+ // This ensures the same project/branch combination always gets the same conversation ID
213
+ let hash = 0;
214
+ const str = `${projectPath}:${gitBranch}`;
215
+ for (let i = 0; i < str.length; i++) {
216
+ const char = str.charCodeAt(i);
217
+ hash = (hash << 5) - hash + char;
218
+ hash = hash & hash; // Convert to 32-bit integer
219
+ }
220
+ const hashStr = Math.abs(hash).toString(36).substring(0, 6);
221
+ return `${projectName}-${cleanBranch}-${hashStr}`;
222
+ }
223
+ /**
224
+ * Get the current project path
225
+ */
226
+ getProjectPath() {
227
+ return this.projectPath;
228
+ }
229
+ /**
230
+ * Get the current git branch for a project
231
+ *
232
+ * @param projectPath - Path to the project
233
+ */
234
+ getGitBranch(projectPath) {
235
+ try {
236
+ // Check if this is a git repository
237
+ if (!existsSync(`${projectPath}/.git`)) {
238
+ logger.debug('Not a git repository, using "default" as branch name', {
239
+ projectPath,
240
+ });
241
+ return 'default';
242
+ }
243
+ // Get current branch name
244
+ // Use symbolic-ref which works even without commits (unlike rev-parse --abbrev-ref HEAD)
245
+ const branch = execSync('git symbolic-ref --short HEAD', {
246
+ cwd: projectPath,
247
+ encoding: 'utf-8',
248
+ stdio: ['ignore', 'pipe', 'ignore'], // Suppress stderr
249
+ }).trim();
250
+ logger.debug('Detected git branch', { projectPath, branch });
251
+ return branch;
252
+ }
253
+ catch (_error) {
254
+ logger.debug('Failed to get git branch, using "default" as branch name', {
255
+ projectPath,
256
+ });
257
+ return 'default';
258
+ }
259
+ }
260
+ /**
261
+ * Check if a conversation has any previous interactions
262
+ * Used to determine if this is the first interaction in a conversation
263
+ */
264
+ async hasInteractions(conversationId) {
265
+ try {
266
+ // Get all interactions for this conversation
267
+ const interactions = await this.database.getInteractionsByConversationId(conversationId);
268
+ const count = interactions.length;
269
+ logger.debug('Checked interaction count for conversation', {
270
+ conversationId,
271
+ count,
272
+ });
273
+ return count > 0;
274
+ }
275
+ catch (error) {
276
+ logger.error('Failed to check interaction count', error, {
277
+ conversationId,
278
+ });
279
+ // If we can't check, assume this is the first interaction to be safe
280
+ return false;
281
+ }
282
+ }
283
+ /**
284
+ * Reset conversation data (hybrid approach)
285
+ */
286
+ async resetConversation(confirm, reason) {
287
+ logger.info('Starting conversation reset', { confirm, reason });
288
+ // Validate reset request
289
+ this.validateResetRequest(confirm);
290
+ const context = await this.getConversationContext();
291
+ const resetItems = [];
292
+ try {
293
+ // Step 1: Soft delete interaction logs
294
+ await this.database.softDeleteInteractionLogs(context.conversationId);
295
+ resetItems.push('interaction_logs');
296
+ logger.debug('Interaction logs soft deleted');
297
+ // Step 2: Hard delete conversation state
298
+ await this.database.deleteConversationState(context.conversationId);
299
+ resetItems.push('conversation_state');
300
+ logger.debug('Conversation state hard deleted');
301
+ // Step 3: Hard delete plan file
302
+ const planManager = new PlanManager();
303
+ await planManager.deletePlanFile(context.planFilePath);
304
+ resetItems.push('plan_file');
305
+ logger.debug('Plan file deleted');
306
+ // Verify cleanup
307
+ await this.verifyResetCleanup(context.conversationId, context.planFilePath);
308
+ const message = `Successfully reset conversation ${context.conversationId}. Reset items: ${resetItems.join(', ')}${reason ? `. Reason: ${reason}` : ''}`;
309
+ logger.info('Conversation reset completed successfully', {
310
+ conversationId: context.conversationId,
311
+ resetItems,
312
+ reason,
313
+ });
314
+ return {
315
+ success: true,
316
+ resetItems,
317
+ conversationId: context.conversationId,
318
+ message,
319
+ };
320
+ }
321
+ catch (error) {
322
+ logger.error('Failed to reset conversation', error, {
323
+ conversationId: context.conversationId,
324
+ resetItems,
325
+ reason,
326
+ });
327
+ throw new Error(`Reset failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
328
+ }
329
+ }
330
+ /**
331
+ * Validate reset request parameters
332
+ */
333
+ validateResetRequest(confirm) {
334
+ if (!confirm) {
335
+ throw new Error('Reset operation requires explicit confirmation. Set confirm parameter to true.');
336
+ }
337
+ }
338
+ /**
339
+ * Verify that reset cleanup was successful
340
+ */
341
+ async verifyResetCleanup(conversationId, planFilePath) {
342
+ logger.debug('Verifying reset cleanup', { conversationId, planFilePath });
343
+ try {
344
+ // Check that conversation state is deleted
345
+ const state = await this.database.getConversationState(conversationId);
346
+ if (state) {
347
+ throw new Error('Conversation state was not properly deleted');
348
+ }
349
+ // Check that plan file is deleted
350
+ const planManager = new PlanManager();
351
+ const isDeleted = await planManager.ensurePlanFileDeleted(planFilePath);
352
+ if (!isDeleted) {
353
+ throw new Error('Plan file was not properly deleted');
354
+ }
355
+ logger.debug('Reset cleanup verification successful');
356
+ }
357
+ catch (error) {
358
+ logger.error('Reset cleanup verification failed', error);
359
+ throw error;
360
+ }
361
+ }
362
+ /**
363
+ * Clean up conversation data (used internally)
364
+ */
365
+ async cleanupConversationData(conversationId) {
366
+ logger.debug('Cleaning up conversation data', { conversationId });
367
+ try {
368
+ // This method can be used for additional cleanup if needed
369
+ // Currently, the main cleanup is handled by resetConversation
370
+ await this.database.softDeleteInteractionLogs(conversationId);
371
+ await this.database.deleteConversationState(conversationId);
372
+ logger.debug('Conversation data cleanup completed', { conversationId });
373
+ }
374
+ catch (error) {
375
+ logger.error('Failed to cleanup conversation data', error, {
376
+ conversationId,
377
+ });
378
+ throw error;
379
+ }
380
+ }
381
+ }
382
+ //# sourceMappingURL=conversation-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../src/conversation-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * File Detection Manager
3
+ *
4
+ * Handles pattern-based file discovery and suggestions for existing documentation files.
5
+ * Supports auto-detection of common documentation patterns in projects.
6
+ */
7
+ export interface DetectedFile {
8
+ path: string;
9
+ relativePath: string;
10
+ type: 'architecture' | 'requirements' | 'design';
11
+ confidence: 'high' | 'medium' | 'low';
12
+ }
13
+ export interface FileDetectionResult {
14
+ architecture: DetectedFile[];
15
+ requirements: DetectedFile[];
16
+ design: DetectedFile[];
17
+ }
18
+ export declare class FileDetectionManager {
19
+ private projectPath;
20
+ constructor(projectPath: string);
21
+ /**
22
+ * Detect existing documentation files in the project
23
+ */
24
+ detectDocumentationFiles(): Promise<FileDetectionResult>;
25
+ /**
26
+ * Get search locations for documentation files
27
+ */
28
+ private getSearchLocations;
29
+ /**
30
+ * Scan a location for files
31
+ */
32
+ private scanLocation;
33
+ /**
34
+ * Match a file against documentation patterns
35
+ */
36
+ private matchFileToPatterns;
37
+ /**
38
+ * Check if file matches any of the patterns
39
+ */
40
+ private matchesPatterns;
41
+ /**
42
+ * Determine confidence level for a match
43
+ */
44
+ private getConfidence;
45
+ /**
46
+ * Sort by confidence and remove duplicates
47
+ */
48
+ private sortAndDeduplicate;
49
+ /**
50
+ * Format file suggestions for LLM responses
51
+ */
52
+ formatSuggestions(detectionResult: FileDetectionResult): string;
53
+ }