@mcp-graph-workflow/mcp-graph 5.32.0 → 5.34.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 (292) hide show
  1. package/dist/api/router.d.ts.map +1 -1
  2. package/dist/api/router.js +2 -0
  3. package/dist/api/router.js.map +1 -1
  4. package/dist/api/routes/code-graph.d.ts.map +1 -1
  5. package/dist/api/routes/code-graph.js +3 -1
  6. package/dist/api/routes/code-graph.js.map +1 -1
  7. package/dist/api/routes/davinci.d.ts +3 -0
  8. package/dist/api/routes/davinci.d.ts.map +1 -0
  9. package/dist/api/routes/davinci.js +188 -0
  10. package/dist/api/routes/davinci.js.map +1 -0
  11. package/dist/core/analyzer/ac-coverage.d.ts +16 -0
  12. package/dist/core/analyzer/ac-coverage.d.ts.map +1 -0
  13. package/dist/core/analyzer/ac-coverage.js +38 -0
  14. package/dist/core/analyzer/ac-coverage.js.map +1 -0
  15. package/dist/core/analyzer/asset-blockers.d.ts +23 -0
  16. package/dist/core/analyzer/asset-blockers.d.ts.map +1 -0
  17. package/dist/core/analyzer/asset-blockers.js +50 -0
  18. package/dist/core/analyzer/asset-blockers.js.map +1 -0
  19. package/dist/core/analyzer/concurrency-risk.d.ts +26 -0
  20. package/dist/core/analyzer/concurrency-risk.d.ts.map +1 -0
  21. package/dist/core/analyzer/concurrency-risk.js +99 -0
  22. package/dist/core/analyzer/concurrency-risk.js.map +1 -0
  23. package/dist/core/analyzer/config-coverage.d.ts +20 -0
  24. package/dist/core/analyzer/config-coverage.d.ts.map +1 -0
  25. package/dist/core/analyzer/config-coverage.js +49 -0
  26. package/dist/core/analyzer/config-coverage.js.map +1 -0
  27. package/dist/core/analyzer/contract-coverage.d.ts +22 -0
  28. package/dist/core/analyzer/contract-coverage.d.ts.map +1 -0
  29. package/dist/core/analyzer/contract-coverage.js +51 -0
  30. package/dist/core/analyzer/contract-coverage.js.map +1 -0
  31. package/dist/core/analyzer/data-integrity.d.ts +22 -0
  32. package/dist/core/analyzer/data-integrity.d.ts.map +1 -0
  33. package/dist/core/analyzer/data-integrity.js +80 -0
  34. package/dist/core/analyzer/data-integrity.js.map +1 -0
  35. package/dist/core/analyzer/economy-simulator.d.ts +33 -0
  36. package/dist/core/analyzer/economy-simulator.d.ts.map +1 -0
  37. package/dist/core/analyzer/economy-simulator.js +162 -0
  38. package/dist/core/analyzer/economy-simulator.js.map +1 -0
  39. package/dist/core/analyzer/formula-consistency.d.ts +25 -0
  40. package/dist/core/analyzer/formula-consistency.d.ts.map +1 -0
  41. package/dist/core/analyzer/formula-consistency.js +82 -0
  42. package/dist/core/analyzer/formula-consistency.js.map +1 -0
  43. package/dist/core/analyzer/metric-coverage.d.ts +22 -0
  44. package/dist/core/analyzer/metric-coverage.d.ts.map +1 -0
  45. package/dist/core/analyzer/metric-coverage.js +52 -0
  46. package/dist/core/analyzer/metric-coverage.js.map +1 -0
  47. package/dist/core/analyzer/performance-budget-check.d.ts +22 -0
  48. package/dist/core/analyzer/performance-budget-check.d.ts.map +1 -0
  49. package/dist/core/analyzer/performance-budget-check.js +40 -0
  50. package/dist/core/analyzer/performance-budget-check.js.map +1 -0
  51. package/dist/core/analyzer/risk-assessment.d.ts.map +1 -1
  52. package/dist/core/analyzer/risk-assessment.js +9 -0
  53. package/dist/core/analyzer/risk-assessment.js.map +1 -1
  54. package/dist/core/analyzer/scenario-coverage.d.ts +19 -0
  55. package/dist/core/analyzer/scenario-coverage.d.ts.map +1 -0
  56. package/dist/core/analyzer/scenario-coverage.js +59 -0
  57. package/dist/core/analyzer/scenario-coverage.js.map +1 -0
  58. package/dist/core/analyzer/state-completeness.d.ts +22 -0
  59. package/dist/core/analyzer/state-completeness.d.ts.map +1 -0
  60. package/dist/core/analyzer/state-completeness.js +76 -0
  61. package/dist/core/analyzer/state-completeness.js.map +1 -0
  62. package/dist/core/code/code-indexer.d.ts +1 -1
  63. package/dist/core/code/code-indexer.d.ts.map +1 -1
  64. package/dist/core/code/code-indexer.js +50 -3
  65. package/dist/core/code/code-indexer.js.map +1 -1
  66. package/dist/core/code/code-store.js +3 -3
  67. package/dist/core/code/code-store.js.map +1 -1
  68. package/dist/core/code/code-types.d.ts +4 -4
  69. package/dist/core/code/treesitter/treesitter-manager.d.ts.map +1 -1
  70. package/dist/core/code/treesitter/treesitter-manager.js +2 -0
  71. package/dist/core/code/treesitter/treesitter-manager.js.map +1 -1
  72. package/dist/core/davinci/build-runner.d.ts +37 -0
  73. package/dist/core/davinci/build-runner.d.ts.map +1 -0
  74. package/dist/core/davinci/build-runner.js +239 -0
  75. package/dist/core/davinci/build-runner.js.map +1 -0
  76. package/dist/core/davinci/davinci-parser.d.ts +6 -0
  77. package/dist/core/davinci/davinci-parser.d.ts.map +1 -0
  78. package/dist/core/davinci/davinci-parser.js +218 -0
  79. package/dist/core/davinci/davinci-parser.js.map +1 -0
  80. package/dist/core/davinci/davinci-store.d.ts +49 -0
  81. package/dist/core/davinci/davinci-store.d.ts.map +1 -0
  82. package/dist/core/davinci/davinci-store.js +121 -0
  83. package/dist/core/davinci/davinci-store.js.map +1 -0
  84. package/dist/core/davinci/davinci-types.d.ts +241 -0
  85. package/dist/core/davinci/davinci-types.d.ts.map +1 -0
  86. package/dist/core/davinci/davinci-types.js +123 -0
  87. package/dist/core/davinci/davinci-types.js.map +1 -0
  88. package/dist/core/davinci/davinci-validators.d.ts +16 -0
  89. package/dist/core/davinci/davinci-validators.d.ts.map +1 -0
  90. package/dist/core/davinci/davinci-validators.js +86 -0
  91. package/dist/core/davinci/davinci-validators.js.map +1 -0
  92. package/dist/core/davinci/descriptor-generator.d.ts +19 -0
  93. package/dist/core/davinci/descriptor-generator.d.ts.map +1 -0
  94. package/dist/core/davinci/descriptor-generator.js +52 -0
  95. package/dist/core/davinci/descriptor-generator.js.map +1 -0
  96. package/dist/core/davinci/plugin-generator.d.ts +29 -0
  97. package/dist/core/davinci/plugin-generator.d.ts.map +1 -0
  98. package/dist/core/davinci/plugin-generator.js +86 -0
  99. package/dist/core/davinci/plugin-generator.js.map +1 -0
  100. package/dist/core/davinci/plugin-type-detector.d.ts +15 -0
  101. package/dist/core/davinci/plugin-type-detector.d.ts.map +1 -0
  102. package/dist/core/davinci/plugin-type-detector.js +114 -0
  103. package/dist/core/davinci/plugin-type-detector.js.map +1 -0
  104. package/dist/core/davinci/pom-generator.d.ts +4 -0
  105. package/dist/core/davinci/pom-generator.d.ts.map +1 -0
  106. package/dist/core/davinci/pom-generator.js +179 -0
  107. package/dist/core/davinci/pom-generator.js.map +1 -0
  108. package/dist/core/davinci/template-registry.d.ts +25 -0
  109. package/dist/core/davinci/template-registry.d.ts.map +1 -0
  110. package/dist/core/davinci/template-registry.js +280 -0
  111. package/dist/core/davinci/template-registry.js.map +1 -0
  112. package/dist/core/davinci/variable-resolver.d.ts +9 -0
  113. package/dist/core/davinci/variable-resolver.d.ts.map +1 -0
  114. package/dist/core/davinci/variable-resolver.js +62 -0
  115. package/dist/core/davinci/variable-resolver.js.map +1 -0
  116. package/dist/core/designer/adr-validator.d.ts.map +1 -1
  117. package/dist/core/designer/adr-validator.js +12 -4
  118. package/dist/core/designer/adr-validator.js.map +1 -1
  119. package/dist/core/designer/tech-risk-assessor.d.ts +5 -1
  120. package/dist/core/designer/tech-risk-assessor.d.ts.map +1 -1
  121. package/dist/core/designer/tech-risk-assessor.js +39 -11
  122. package/dist/core/designer/tech-risk-assessor.js.map +1 -1
  123. package/dist/core/designer/traceability-matrix.d.ts.map +1 -1
  124. package/dist/core/designer/traceability-matrix.js +14 -3
  125. package/dist/core/designer/traceability-matrix.js.map +1 -1
  126. package/dist/core/graph/auto-sequence.d.ts +10 -0
  127. package/dist/core/graph/auto-sequence.d.ts.map +1 -0
  128. package/dist/core/graph/auto-sequence.js +29 -0
  129. package/dist/core/graph/auto-sequence.js.map +1 -0
  130. package/dist/core/graph/csv-export.d.ts +7 -0
  131. package/dist/core/graph/csv-export.d.ts.map +1 -0
  132. package/dist/core/graph/csv-export.js +43 -0
  133. package/dist/core/graph/csv-export.js.map +1 -0
  134. package/dist/core/graph/graph-types.d.ts +2 -2
  135. package/dist/core/graph/graph-types.d.ts.map +1 -1
  136. package/dist/core/graph/mermaid-export.d.ts +1 -1
  137. package/dist/core/graph/mermaid-export.d.ts.map +1 -1
  138. package/dist/core/graph/mermaid-export.js +101 -0
  139. package/dist/core/graph/mermaid-export.js.map +1 -1
  140. package/dist/core/importer/prd-to-graph.d.ts.map +1 -1
  141. package/dist/core/importer/prd-to-graph.js +8 -1
  142. package/dist/core/importer/prd-to-graph.js.map +1 -1
  143. package/dist/core/listener/backlog-health.d.ts.map +1 -1
  144. package/dist/core/listener/backlog-health.js +15 -3
  145. package/dist/core/listener/backlog-health.js.map +1 -1
  146. package/dist/core/parser/classify.d.ts +4 -0
  147. package/dist/core/parser/classify.d.ts.map +1 -1
  148. package/dist/core/parser/classify.js +18 -0
  149. package/dist/core/parser/classify.js.map +1 -1
  150. package/dist/core/parser/extract.d.ts.map +1 -1
  151. package/dist/core/parser/extract.js +22 -4
  152. package/dist/core/parser/extract.js.map +1 -1
  153. package/dist/core/parser/prd-diff.d.ts +23 -0
  154. package/dist/core/parser/prd-diff.d.ts.map +1 -0
  155. package/dist/core/parser/prd-diff.js +55 -0
  156. package/dist/core/parser/prd-diff.js.map +1 -0
  157. package/dist/core/parser/read-swagger.d.ts.map +1 -1
  158. package/dist/core/parser/read-swagger.js +6 -0
  159. package/dist/core/parser/read-swagger.js.map +1 -1
  160. package/dist/core/parser/segment.d.ts +5 -0
  161. package/dist/core/parser/segment.d.ts.map +1 -1
  162. package/dist/core/parser/segment.js +70 -0
  163. package/dist/core/parser/segment.js.map +1 -1
  164. package/dist/core/planner/auto-ready.d.ts +19 -0
  165. package/dist/core/planner/auto-ready.d.ts.map +1 -0
  166. package/dist/core/planner/auto-ready.js +39 -0
  167. package/dist/core/planner/auto-ready.js.map +1 -0
  168. package/dist/core/planner/planning-report.d.ts +13 -1
  169. package/dist/core/planner/planning-report.d.ts.map +1 -1
  170. package/dist/core/planner/planning-report.js +53 -2
  171. package/dist/core/planner/planning-report.js.map +1 -1
  172. package/dist/core/planner/sprint-health.d.ts +22 -0
  173. package/dist/core/planner/sprint-health.d.ts.map +1 -0
  174. package/dist/core/planner/sprint-health.js +41 -0
  175. package/dist/core/planner/sprint-health.js.map +1 -0
  176. package/dist/core/siebel/sif-parser.d.ts.map +1 -1
  177. package/dist/core/siebel/sif-parser.js +6 -0
  178. package/dist/core/siebel/sif-parser.js.map +1 -1
  179. package/dist/core/siebel/wsdl-parser.d.ts.map +1 -1
  180. package/dist/core/siebel/wsdl-parser.js +6 -0
  181. package/dist/core/siebel/wsdl-parser.js.map +1 -1
  182. package/dist/core/store/migrations.d.ts.map +1 -1
  183. package/dist/core/store/migrations.js +17 -0
  184. package/dist/core/store/migrations.js.map +1 -1
  185. package/dist/core/store/sqlite-store.d.ts +6 -0
  186. package/dist/core/store/sqlite-store.d.ts.map +1 -1
  187. package/dist/core/store/sqlite-store.js +54 -3
  188. package/dist/core/store/sqlite-store.js.map +1 -1
  189. package/dist/core/templates/template-engine.d.ts +36 -0
  190. package/dist/core/templates/template-engine.d.ts.map +1 -0
  191. package/dist/core/templates/template-engine.js +104 -0
  192. package/dist/core/templates/template-engine.js.map +1 -0
  193. package/dist/core/translation/generators/universal-generator.d.ts.map +1 -1
  194. package/dist/core/translation/generators/universal-generator.js +187 -9
  195. package/dist/core/translation/generators/universal-generator.js.map +1 -1
  196. package/dist/core/translation/language-detect.d.ts.map +1 -1
  197. package/dist/core/translation/language-detect.js +37 -14
  198. package/dist/core/translation/language-detect.js.map +1 -1
  199. package/dist/docs-manifest.json +68 -5
  200. package/dist/mcp/app-factory.js +1 -1
  201. package/dist/mcp/app-factory.js.map +1 -1
  202. package/dist/mcp/tools/analyze.d.ts.map +1 -1
  203. package/dist/mcp/tools/analyze.js +100 -1
  204. package/dist/mcp/tools/analyze.js.map +1 -1
  205. package/dist/mcp/tools/davinci-analyze.d.ts +4 -0
  206. package/dist/mcp/tools/davinci-analyze.d.ts.map +1 -0
  207. package/dist/mcp/tools/davinci-analyze.js +31 -0
  208. package/dist/mcp/tools/davinci-analyze.js.map +1 -0
  209. package/dist/mcp/tools/davinci-build.d.ts +4 -0
  210. package/dist/mcp/tools/davinci-build.d.ts.map +1 -0
  211. package/dist/mcp/tools/davinci-build.js +43 -0
  212. package/dist/mcp/tools/davinci-build.js.map +1 -0
  213. package/dist/mcp/tools/davinci-convert.d.ts +4 -0
  214. package/dist/mcp/tools/davinci-convert.d.ts.map +1 -0
  215. package/dist/mcp/tools/davinci-convert.js +61 -0
  216. package/dist/mcp/tools/davinci-convert.js.map +1 -0
  217. package/dist/mcp/tools/edge.d.ts.map +1 -1
  218. package/dist/mcp/tools/edge.js +81 -3
  219. package/dist/mcp/tools/edge.js.map +1 -1
  220. package/dist/mcp/tools/export.d.ts.map +1 -1
  221. package/dist/mcp/tools/export.js +17 -4
  222. package/dist/mcp/tools/export.js.map +1 -1
  223. package/dist/mcp/tools/import-prd.d.ts.map +1 -1
  224. package/dist/mcp/tools/import-prd.js +89 -2
  225. package/dist/mcp/tools/import-prd.js.map +1 -1
  226. package/dist/mcp/tools/index.d.ts.map +1 -1
  227. package/dist/mcp/tools/index.js +12 -0
  228. package/dist/mcp/tools/index.js.map +1 -1
  229. package/dist/mcp/tools/node.d.ts.map +1 -1
  230. package/dist/mcp/tools/node.js +127 -6
  231. package/dist/mcp/tools/node.js.map +1 -1
  232. package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
  233. package/dist/mcp/tools/plan-sprint.js +6 -2
  234. package/dist/mcp/tools/plan-sprint.js.map +1 -1
  235. package/dist/mcp/tools/show.d.ts.map +1 -1
  236. package/dist/mcp/tools/show.js +11 -4
  237. package/dist/mcp/tools/show.js.map +1 -1
  238. package/dist/mcp/tools/template.d.ts +4 -0
  239. package/dist/mcp/tools/template.d.ts.map +1 -0
  240. package/dist/mcp/tools/template.js +137 -0
  241. package/dist/mcp/tools/template.js.map +1 -0
  242. package/dist/schemas/analyzer-schema.d.ts +2 -2
  243. package/dist/schemas/designer-schema.d.ts +21 -0
  244. package/dist/schemas/designer-schema.d.ts.map +1 -1
  245. package/dist/schemas/designer-schema.js +2 -0
  246. package/dist/schemas/designer-schema.js.map +1 -1
  247. package/dist/schemas/edge.schema.d.ts +6 -0
  248. package/dist/schemas/edge.schema.d.ts.map +1 -1
  249. package/dist/schemas/edge.schema.js +2 -0
  250. package/dist/schemas/edge.schema.js.map +1 -1
  251. package/dist/schemas/graph.schema.d.ts +13 -0
  252. package/dist/schemas/graph.schema.d.ts.map +1 -1
  253. package/dist/schemas/node.schema.d.ts +20 -0
  254. package/dist/schemas/node.schema.d.ts.map +1 -1
  255. package/dist/schemas/node.schema.js +3 -0
  256. package/dist/schemas/node.schema.js.map +1 -1
  257. package/dist/schemas/siebel.schema.d.ts +13 -13
  258. package/dist/web/dashboard/dist/assets/{benchmark-tab-en-UkR66.js → benchmark-tab-Aqr2Xzu5.js} +1 -1
  259. package/dist/web/dashboard/dist/assets/{circle-alert-5GIBBP3L.js → circle-alert-BJTyaShp.js} +1 -1
  260. package/dist/web/dashboard/dist/assets/constants-DLyESMjx.js +1 -0
  261. package/dist/web/dashboard/dist/assets/{context-tab-DjfwQik8.js → context-tab-CbmHGGZh.js} +1 -1
  262. package/dist/web/dashboard/dist/assets/davinci-tab-krxsY7Pp.js +10 -0
  263. package/dist/web/dashboard/dist/assets/{docs-tab-gEBzBEEV.js → docs-tab-AautK0dL.js} +1 -1
  264. package/dist/web/dashboard/dist/assets/file-code-DVOtQrhl.js +11 -0
  265. package/dist/web/dashboard/dist/assets/{gitnexus-tab-BE2pi0xe.js → gitnexus-tab-D5xRYU3u.js} +1 -1
  266. package/dist/web/dashboard/dist/assets/{graph-section-Cwx-Bmeh.js → graph-section-D5y4S3T1.js} +1 -1
  267. package/dist/web/dashboard/dist/assets/{graph-tab-BcS75lY0.js → graph-tab-tmjyMc4q.js} +1 -1
  268. package/dist/web/dashboard/dist/assets/{graph-utils-OY_fOvB3.js → graph-utils-BlwoHdjR.js} +1 -1
  269. package/dist/web/dashboard/dist/assets/index-BcMjWikL.css +1 -0
  270. package/dist/web/dashboard/dist/assets/{index-4X4gmCkA.js → index-C13O-yj1.js} +1 -1
  271. package/dist/web/dashboard/dist/assets/{index-1aGs8JPI.js → index-CAOXRHQq.js} +1 -1
  272. package/dist/web/dashboard/dist/assets/{index-C3Kad9YO.js → index-DrvFzUJS.js} +24 -19
  273. package/dist/web/dashboard/dist/assets/{insights-tab-CP2uIpid.js → insights-tab-9sq9NfBt.js} +1 -1
  274. package/dist/web/dashboard/dist/assets/{journey-tab-ChwNK_8S.js → journey-tab-ujeAoAsS.js} +1 -1
  275. package/dist/web/dashboard/dist/assets/{languages-tab-DnBvSh4N.js → languages-tab-DT-46f7p.js} +24 -39
  276. package/dist/web/dashboard/dist/assets/{loader-circle-Bxe_TLXv.js → loader-circle-DQz_g7p_.js} +1 -1
  277. package/dist/web/dashboard/dist/assets/{logs-tab-BH86QvKe.js → logs-tab-DHj9jG6G.js} +1 -1
  278. package/dist/web/dashboard/dist/assets/{lsp-tab-DUpaQXtx.js → lsp-tab-DGIm2cTM.js} +3 -3
  279. package/dist/web/dashboard/dist/assets/{memories-tab-CkwtNv3t.js → memories-tab-DT7JcHgq.js} +1 -1
  280. package/dist/web/dashboard/dist/assets/{prd-backlog-tab-CPJanaVF.js → prd-backlog-tab-CLzQ5p_3.js} +1 -1
  281. package/dist/web/dashboard/dist/assets/{refresh-cw-DL1dUrhF.js → refresh-cw-C0EeXZ6n.js} +1 -1
  282. package/dist/web/dashboard/dist/assets/{siebel-tab-D7x34UXy.js → siebel-tab-67cdoYQ_.js} +3 -3
  283. package/dist/web/dashboard/dist/assets/{sif-parse.worker-DZrybOHz.js → sif-parse.worker-Cty_N-lP.js} +3 -3
  284. package/dist/web/dashboard/dist/assets/{skills-tab-BuqCMS29.js → skills-tab-DL8-pMo9.js} +1 -1
  285. package/dist/web/dashboard/dist/assets/{style-iy_ryTT6.js → style-DeKQIW_i.js} +1 -1
  286. package/dist/web/dashboard/dist/assets/triangle-alert-cibtv50e.js +16 -0
  287. package/dist/web/dashboard/dist/assets/upload-CZI9Zosi.js +16 -0
  288. package/dist/web/dashboard/dist/index.html +2 -2
  289. package/package.json +3 -1
  290. package/dist/web/dashboard/dist/assets/constants-Dd6A34aQ.js +0 -1
  291. package/dist/web/dashboard/dist/assets/index-BVhCKhGJ.css +0 -1
  292. package/dist/web/dashboard/dist/assets/triangle-alert-CPzksLkC.js +0 -26
@@ -20,6 +20,19 @@ import { checkDocCompleteness } from "../../core/handoff/doc-completeness.js";
20
20
  import { checkDeployReadiness } from "../../core/deployer/deploy-readiness.js";
21
21
  import { checkListeningReadiness } from "../../core/listener/feedback-readiness.js";
22
22
  import { analyzeBacklogHealth } from "../../core/listener/backlog-health.js";
23
+ import { analyzeSprintHealth } from "../../core/planner/sprint-health.js";
24
+ import { analyzeAutoReady } from "../../core/planner/auto-ready.js";
25
+ import { analyzeContractCoverage } from "../../core/analyzer/contract-coverage.js";
26
+ import { analyzeDataIntegrity } from "../../core/analyzer/data-integrity.js";
27
+ import { analyzeFormulaConsistency } from "../../core/analyzer/formula-consistency.js";
28
+ import { analyzePerformanceBudgets } from "../../core/analyzer/performance-budget-check.js";
29
+ import { analyzeStateCompleteness } from "../../core/analyzer/state-completeness.js";
30
+ import { analyzeScenarioCoverage } from "../../core/analyzer/scenario-coverage.js";
31
+ import { analyzeAssetBlockers } from "../../core/analyzer/asset-blockers.js";
32
+ import { analyzeConfigCoverage } from "../../core/analyzer/config-coverage.js";
33
+ import { analyzeMetricCoverage } from "../../core/analyzer/metric-coverage.js";
34
+ import { analyzeConcurrencyRisk } from "../../core/analyzer/concurrency-risk.js";
35
+ import { simulateEconomy } from "../../core/analyzer/economy-simulator.js";
23
36
  import { KnowledgeStore } from "../../core/store/knowledge-store.js";
24
37
  import { detectCurrentPhase } from "../../core/planner/lifecycle-phase.js";
25
38
  import { checkDefinitionOfDone } from "../../core/implementer/definition-of-done.js";
@@ -35,8 +48,11 @@ const ANALYZE_MODES = z.enum([
35
48
  "blockers",
36
49
  "cycles",
37
50
  "critical_path",
51
+ "contract_coverage",
52
+ "data_integrity",
38
53
  "decompose",
39
54
  "adr",
55
+ "formula_consistency",
40
56
  "traceability",
41
57
  "coupling",
42
58
  "interfaces",
@@ -44,7 +60,9 @@ const ANALYZE_MODES = z.enum([
44
60
  "design_ready",
45
61
  "implement_done",
46
62
  "tdd_check",
63
+ "performance_budget",
47
64
  "progress",
65
+ "state_completeness",
48
66
  "validate_ready",
49
67
  "done_integrity",
50
68
  "status_flow",
@@ -55,9 +73,17 @@ const ANALYZE_MODES = z.enum([
55
73
  "release_check",
56
74
  "listening_ready",
57
75
  "backlog_health",
76
+ "sprint_health",
77
+ "auto_ready",
78
+ "scenario_coverage",
79
+ "asset_blockers",
80
+ "config_coverage",
81
+ "metric_coverage",
82
+ "concurrency_risk",
83
+ "economy_simulation",
58
84
  ]);
59
85
  export function registerAnalyze(server, store) {
60
- server.tool("analyze", "Analyze the project graph. Modes: prd_quality, scope, ready, risk, blockers, cycles, critical_path, decompose, adr, traceability, coupling, interfaces, tech_risk, design_ready (DESIGN→PLAN gate), implement_done, tdd_check, progress, validate_ready (IMPLEMENT→VALIDATE gate), done_integrity, status_flow, review_ready (VALIDATE→REVIEW gate), handoff_ready (REVIEW→HANDOFF gate), doc_completeness, deploy_ready (HANDOFF→DEPLOY gate), release_check, listening_ready (DEPLOY→LISTENING gate), backlog_health.", {
86
+ server.tool("analyze", "Analyze the project graph. Modes: prd_quality, scope, ready, risk, blockers, cycles, critical_path, contract_coverage, data_integrity, decompose, adr, formula_consistency, traceability, coupling, interfaces, tech_risk, design_ready (DESIGN→PLAN gate), implement_done, tdd_check, performance_budget, progress, state_completeness, validate_ready (IMPLEMENT→VALIDATE gate), done_integrity, status_flow, review_ready (VALIDATE→REVIEW gate), handoff_ready (REVIEW→HANDOFF gate), doc_completeness, deploy_ready (HANDOFF→DEPLOY gate), release_check, listening_ready (DEPLOY→LISTENING gate), backlog_health, sprint_health (sprint metrics + health grade), auto_ready (identify backlog tasks promotable to ready), scenario_coverage, asset_blockers, config_coverage, metric_coverage, concurrency_risk, economy_simulation (gold inflow vs outflow inflation detector — pass JSON params via nodeId: {playerCount, avgSessionHours, avgLevel}).", {
61
87
  mode: ANALYZE_MODES.describe("Analysis mode"),
62
88
  nodeId: z.string().optional().describe("Node ID (required for 'blockers'/'implement_done', optional for 'decompose'/'tdd_check'. For 'progress' mode, used as sprint name filter)"),
63
89
  }, async ({ mode, nodeId }) => {
@@ -300,6 +326,79 @@ export function registerAnalyze(server, store) {
300
326
  logger.info("tool:analyze:backlog_health:ok", { clean: healthReport.cleanForNewCycle, stale: healthReport.staleTasks.length });
301
327
  return mcpText({ ok: true, mode, ...healthReport });
302
328
  }
329
+ case "sprint_health": {
330
+ const sprintHealthReport = analyzeSprintHealth(doc, nodeId);
331
+ logger.info("tool:analyze:sprint_health:ok", { health: sprintHealthReport.health, tasks: sprintHealthReport.metrics.taskCount });
332
+ return mcpText({ ok: true, mode, ...sprintHealthReport });
333
+ }
334
+ case "auto_ready": {
335
+ const readyReport = analyzeAutoReady(doc);
336
+ return mcpText({ ok: true, mode: "auto_ready", ...readyReport });
337
+ }
338
+ case "contract_coverage": {
339
+ const ccReport = analyzeContractCoverage(doc);
340
+ logger.info("tool:analyze:contract_coverage:ok", { totalContracts: ccReport.totalContracts, coveragePercent: ccReport.coveragePercent });
341
+ return mcpText({ ok: true, mode, ...ccReport });
342
+ }
343
+ case "data_integrity": {
344
+ const diReport = analyzeDataIntegrity(doc);
345
+ logger.info("tool:analyze:data_integrity:ok", { totalTables: diReport.totalTables, validCount: diReport.validCount });
346
+ return mcpText({ ok: true, mode, ...diReport });
347
+ }
348
+ case "formula_consistency": {
349
+ const fcReport = analyzeFormulaConsistency(doc);
350
+ logger.info("tool:analyze:formula_consistency:ok", { totalFormulas: fcReport.totalFormulas, validCount: fcReport.validCount, conflicts: fcReport.conflicts.length });
351
+ return mcpText({ ok: true, mode, ...fcReport });
352
+ }
353
+ case "performance_budget": {
354
+ const pbReport = analyzePerformanceBudgets(doc);
355
+ logger.info("tool:analyze:performance_budget:ok", { totalBudgets: pbReport.totalBudgets, untestedCount: pbReport.untestedCount });
356
+ return mcpText({ ok: true, mode, ...pbReport });
357
+ }
358
+ case "state_completeness": {
359
+ const scReport = analyzeStateCompleteness(doc);
360
+ logger.info("tool:analyze:state_completeness:ok", { totalMachines: scReport.totalMachines, validCount: scReport.validCount });
361
+ return mcpText({ ok: true, mode, ...scReport });
362
+ }
363
+ case "scenario_coverage": {
364
+ const scenReport = analyzeScenarioCoverage(doc);
365
+ logger.info("tool:analyze:scenario_coverage:ok", { totalScenarios: scenReport.totalScenarios, coveragePercent: scenReport.coveragePercent });
366
+ return mcpText({ ok: true, mode, ...scenReport });
367
+ }
368
+ case "asset_blockers": {
369
+ const abReport = analyzeAssetBlockers(doc);
370
+ logger.info("tool:analyze:asset_blockers:ok", { pendingAssets: abReport.pendingAssets, blockedTaskCount: abReport.blockedTaskCount });
371
+ return mcpText({ ok: true, mode, ...abReport });
372
+ }
373
+ case "config_coverage": {
374
+ const ccfReport = analyzeConfigCoverage(doc);
375
+ logger.info("tool:analyze:config_coverage:ok", { totalConfigs: ccfReport.totalConfigs, coveragePercent: ccfReport.coveragePercent });
376
+ return mcpText({ ok: true, mode, ...ccfReport });
377
+ }
378
+ case "metric_coverage": {
379
+ const mcReport = analyzeMetricCoverage(doc);
380
+ logger.info("tool:analyze:metric_coverage:ok", { totalMetrics: mcReport.totalMetrics, coveragePercent: mcReport.coveragePercent });
381
+ return mcpText({ ok: true, mode, ...mcReport });
382
+ }
383
+ case "concurrency_risk": {
384
+ const crReport = analyzeConcurrencyRisk(doc);
385
+ logger.info("tool:analyze:concurrency_risk:ok", { totalRisks: crReport.totalRisks, entityConflicts: crReport.entityConflicts.length });
386
+ return mcpText({ ok: true, mode, ...crReport });
387
+ }
388
+ case "economy_simulation": {
389
+ let simParams = { playerCount: 1000, avgSessionHours: 3, avgLevel: 30 };
390
+ if (nodeId) {
391
+ try {
392
+ simParams = { ...simParams, ...JSON.parse(nodeId) };
393
+ }
394
+ catch {
395
+ /* use defaults when nodeId is not valid JSON */
396
+ }
397
+ }
398
+ const simReport = simulateEconomy(doc, simParams);
399
+ logger.info("tool:analyze:economy_simulation:ok", { risk: simReport.inflationRisk, net: simReport.netFlowPerDay });
400
+ return mcpText({ ok: true, mode: "economy_simulation", ...simReport });
401
+ }
303
402
  default: {
304
403
  return mcpError(`Unknown analyze mode: ${mode}`);
305
404
  }
@@ -1 +1 @@
1
- {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/mcp/tools/analyze.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/mcp/tools/analyze.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { SqliteStore } from "../../core/store/sqlite-store.js";
3
+ export declare function registerDavinciAnalyze(server: McpServer, _store: SqliteStore): void;
4
+ //# sourceMappingURL=davinci-analyze.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-analyze.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/davinci-analyze.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAgCnF"}
@@ -0,0 +1,31 @@
1
+ import { z } from "zod/v4";
2
+ import { parseDaVinciCode } from "../../core/davinci/davinci-parser.js";
3
+ import { resolveVariables } from "../../core/davinci/variable-resolver.js";
4
+ import { detectPluginType } from "../../core/davinci/plugin-type-detector.js";
5
+ import { mcpText } from "../response-helpers.js";
6
+ import { logger } from "../../core/utils/logger.js";
7
+ export function registerDavinciAnalyze(server, _store) {
8
+ server.tool("davinci_analyze", "Analyze DaVinci custom code (JavaScript). Extracts variables, API calls, flow logic, detects plugin type, and resolves variable mappings to Java equivalents.", {
9
+ code: z.string().describe("DaVinci JavaScript code to analyze"),
10
+ codeLocation: z.enum(["custom_function", "code_snippet", "html_template"]).optional()
11
+ .describe("Code location type (default: auto-detect)"),
12
+ targetSdk: z.enum(["pingfederate", "pingaccess"]).optional()
13
+ .describe("Target SDK for plugin type detection (default: pingfederate)"),
14
+ }, async ({ code, codeLocation, targetSdk }) => {
15
+ logger.info("davinci: analyzing code", { codeLength: code.length, codeLocation });
16
+ const analysis = parseDaVinciCode(code, {
17
+ codeLocation: codeLocation ?? undefined,
18
+ });
19
+ const resolvedVariables = resolveVariables(analysis.variables);
20
+ const detection = detectPluginType(analysis, targetSdk ?? "pingfederate", {
21
+ sourceCode: code,
22
+ });
23
+ return mcpText(JSON.stringify({
24
+ ok: true,
25
+ analysis,
26
+ resolvedVariables,
27
+ detection,
28
+ }, null, 2));
29
+ });
30
+ }
31
+ //# sourceMappingURL=davinci-analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-analyze.js","sourceRoot":"","sources":["../../../src/mcp/tools/davinci-analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAmB;IAC3E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,+JAA+J,EAC/J;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC/D,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;aAClF,QAAQ,CAAC,2CAA2C,CAAC;QACxD,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;aACzD,QAAQ,CAAC,8DAA8D,CAAC;KAC5E,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAElF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACtC,YAAY,EAAE,YAAY,IAAI,SAAS;SACxC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,SAAS,IAAI,cAAc,EAAE;YACxE,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5B,EAAE,EAAE,IAAI;YACR,QAAQ;YACR,iBAAiB;YACjB,SAAS;SACV,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { SqliteStore } from "../../core/store/sqlite-store.js";
3
+ export declare function registerDavinciBuild(server: McpServer, _store: SqliteStore): void;
4
+ //# sourceMappingURL=davinci-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-build.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/davinci-build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAKpE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+CjF"}
@@ -0,0 +1,43 @@
1
+ import { z } from "zod/v4";
2
+ import { checkBuildEnvironment, runMavenBuild } from "../../core/davinci/build-runner.js";
3
+ import { mcpText } from "../response-helpers.js";
4
+ import { logger } from "../../core/utils/logger.js";
5
+ export function registerDavinciBuild(server, _store) {
6
+ server.tool("davinci_build", "Build a DaVinci-converted Java plugin using Maven. Checks environment (JDK, Maven, SDK) and runs mvn package. Returns build status, JAR path, and environment indicators.", {
7
+ projectDir: z.string().describe("Path to the Maven project directory containing pom.xml"),
8
+ checkOnly: z.boolean().optional().describe("Only check environment, do not build (default: false)"),
9
+ }, async ({ projectDir, checkOnly }) => {
10
+ logger.info("davinci: build requested", { projectDir, checkOnly });
11
+ const env = checkBuildEnvironment();
12
+ if (checkOnly) {
13
+ return mcpText(JSON.stringify({
14
+ ok: true,
15
+ action: "environment_check",
16
+ environment: env,
17
+ }, null, 2));
18
+ }
19
+ if (!env.readyToBuild) {
20
+ return mcpText(JSON.stringify({
21
+ ok: false,
22
+ action: "build_blocked",
23
+ reason: "Build environment not ready",
24
+ environment: env,
25
+ hint: env.instructions.join(" | "),
26
+ }, null, 2));
27
+ }
28
+ const result = await runMavenBuild(projectDir);
29
+ return mcpText(JSON.stringify({
30
+ ok: result.success,
31
+ action: "build_complete",
32
+ buildResult: {
33
+ success: result.success,
34
+ jarPath: result.jarPath,
35
+ durationMs: result.durationMs,
36
+ stdout: result.stdout.slice(0, 2000),
37
+ stderr: result.stderr.slice(0, 2000),
38
+ },
39
+ environment: env,
40
+ }, null, 2));
41
+ });
42
+ }
43
+ //# sourceMappingURL=davinci-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-build.js","sourceRoot":"","sources":["../../../src/mcp/tools/davinci-build.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAC1F,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,MAAmB;IACzE,MAAM,CAAC,IAAI,CACT,eAAe,EACf,2KAA2K,EAC3K;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;QACzF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KACpG,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAEnE,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAC;QAEpC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC5B,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,mBAAmB;gBAC3B,WAAW,EAAE,GAAG;aACjB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC5B,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,6BAA6B;gBACrC,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;aACnC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;QAE/C,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAC5B,EAAE,EAAE,MAAM,CAAC,OAAO;YAClB,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE;gBACX,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;gBACpC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;aACrC;YACD,WAAW,EAAE,GAAG;SACjB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { SqliteStore } from "../../core/store/sqlite-store.js";
3
+ export declare function registerDavinciConvert(server: McpServer, _store: SqliteStore): void;
4
+ //# sourceMappingURL=davinci-convert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-convert.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/davinci-convert.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AASpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA+DnF"}
@@ -0,0 +1,61 @@
1
+ import { z } from "zod/v4";
2
+ import { parseDaVinciCode } from "../../core/davinci/davinci-parser.js";
3
+ import { resolveVariables } from "../../core/davinci/variable-resolver.js";
4
+ import { detectPluginType } from "../../core/davinci/plugin-type-detector.js";
5
+ import { generatePom } from "../../core/davinci/pom-generator.js";
6
+ import { mcpText } from "../response-helpers.js";
7
+ import { logger } from "../../core/utils/logger.js";
8
+ export function registerDavinciConvert(server, _store) {
9
+ server.tool("davinci_convert", "Convert DaVinci JavaScript code to PingAccess/PingFederate Java plugin. Generates Java class structure, POM.xml, and PF-INF descriptor.", {
10
+ code: z.string().describe("DaVinci JavaScript code to convert"),
11
+ pluginName: z.string().describe("Plugin name (kebab-case, e.g. 'my-auth-adapter')"),
12
+ packageName: z.string().describe("Java package name (e.g. 'com.example.adapter')"),
13
+ className: z.string().describe("Java class name (e.g. 'MyAuthAdapter')"),
14
+ targetSdk: z.enum(["pingfederate", "pingaccess"]).optional()
15
+ .describe("Target SDK (default: pingfederate)"),
16
+ pluginType: z.string().optional()
17
+ .describe("Override plugin type (e.g. 'idp-adapter', 'token-generator')"),
18
+ }, async ({ code, pluginName, packageName, className, targetSdk, pluginType }) => {
19
+ logger.info("davinci: converting code", { pluginName, targetSdk });
20
+ const sdk = targetSdk ?? "pingfederate";
21
+ const analysis = parseDaVinciCode(code);
22
+ const resolvedVariables = resolveVariables(analysis.variables);
23
+ const detection = detectPluginType(analysis, sdk, {
24
+ sourceCode: code,
25
+ override: pluginType,
26
+ });
27
+ const pomXml = generatePom({
28
+ pluginName,
29
+ packageName,
30
+ className,
31
+ pluginType: detection.pluginType,
32
+ attributeContract: [],
33
+ javaVersion: sdk === "pingaccess" ? "17" : "11",
34
+ }, sdk);
35
+ // Generate configure() body from resolved variables
36
+ const configureLines = resolvedVariables
37
+ .filter((v) => v.configureCode)
38
+ .map((v) => ` ${v.configureCode}`)
39
+ .join("\n");
40
+ // Generate GUI field declarations
41
+ const guiFieldLines = resolvedVariables
42
+ .filter((v) => v.guiFieldCode)
43
+ .map((v) => v.guiFieldCode)
44
+ .join("\n ");
45
+ return mcpText(JSON.stringify({
46
+ ok: true,
47
+ pluginName,
48
+ className,
49
+ packageName,
50
+ pluginType: detection.pluginType,
51
+ confidence: detection.confidence,
52
+ warnings: [...analysis.warnings, ...detection.warnings],
53
+ pomXml,
54
+ configureBody: configureLines || " // No configuration fields detected",
55
+ guiFields: guiFieldLines || " // No GUI fields detected",
56
+ resolvedVariables: resolvedVariables.length,
57
+ hint: "Use the generated POM and Java structure to build the plugin. Run davinci_build to compile.",
58
+ }, null, 2));
59
+ });
60
+ }
61
+ //# sourceMappingURL=davinci-convert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"davinci-convert.js","sourceRoot":"","sources":["../../../src/mcp/tools/davinci-convert.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/edge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AASpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CA2HxE"}
1
+ {"version":3,"file":"edge.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/edge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAUpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAwNxE"}
@@ -5,9 +5,10 @@ import { generateId } from "../../core/utils/id.js";
5
5
  import { now } from "../../core/utils/time.js";
6
6
  import { logger } from "../../core/utils/logger.js";
7
7
  import { mcpText, mcpError } from "../response-helpers.js";
8
+ import { sequenceSubtasks } from "../../core/graph/auto-sequence.js";
8
9
  export function registerEdge(server, store) {
9
- server.tool("edge", "Manage edges: add, delete, or list relationships between nodes", {
10
- action: z.enum(["add", "delete", "list"]).describe("Action to perform"),
10
+ server.tool("edge", "Manage edges: add, delete, list, or batch_add relationships between nodes", {
11
+ action: z.enum(["add", "delete", "list", "batch_add", "sequence"]).describe("Action to perform"),
11
12
  // add params
12
13
  from: z.string().optional().describe("Source node ID (required for add)"),
13
14
  to: z.string().optional().describe("Target node ID (required for add)"),
@@ -16,10 +17,20 @@ export function registerEdge(server, store) {
16
17
  weight: z.number().min(0).max(1).optional().describe("Edge weight 0-1 (add only)"),
17
18
  // delete params
18
19
  id: z.string().optional().describe("Edge ID (required for delete)"),
20
+ // batch_add params
21
+ edges: z.array(z.object({
22
+ from: z.string(),
23
+ to: z.string(),
24
+ relationType: RelationTypeSchema,
25
+ reason: z.string().optional(),
26
+ weight: z.number().min(0).max(1).optional(),
27
+ })).max(50).optional().describe("Array of edges for batch_add (max 50)"),
19
28
  // list params
20
29
  nodeId: z.string().optional().describe("Filter edges by node ID (list only)"),
30
+ // sequence params
31
+ parentId: z.string().optional().describe("Parent node ID for sequence action"),
21
32
  direction: z.enum(["from", "to", "both"]).optional().describe("Edge direction relative to nodeId (list only, default: both)"),
22
- }, async ({ action, from, to, relationType, reason, weight, id, nodeId, direction }) => {
33
+ }, async ({ action, from, to, relationType, reason, weight, id, edges: batchEdges, nodeId, direction, parentId }) => {
23
34
  logger.debug("tool:edge", { action, from, to, relationType });
24
35
  if (action === "add") {
25
36
  if (!from || !to || !relationType) {
@@ -65,6 +76,73 @@ export function registerEdge(server, store) {
65
76
  logger.info("tool:edge:ok", { action: "add", edgeId: edge.id, from, to, relationType });
66
77
  return mcpText({ ok: true, edge });
67
78
  }
79
+ if (action === "batch_add") {
80
+ if (!batchEdges || batchEdges.length === 0) {
81
+ return mcpError("edges array is required for batch_add action");
82
+ }
83
+ if (batchEdges.length > 50) {
84
+ return mcpError("batch_add supports at most 50 edges");
85
+ }
86
+ const inserted = [];
87
+ const errors = [];
88
+ const validEdges = [];
89
+ for (let i = 0; i < batchEdges.length; i++) {
90
+ const entry = batchEdges[i];
91
+ // Check from node exists
92
+ const fromNode = store.getNodeById(entry.from);
93
+ if (!fromNode) {
94
+ errors.push({ index: i, message: `Node not found: ${entry.from}` });
95
+ continue;
96
+ }
97
+ // Check to node exists
98
+ const toNode = store.getNodeById(entry.to);
99
+ if (!toNode) {
100
+ errors.push({ index: i, message: `Node not found: ${entry.to}` });
101
+ continue;
102
+ }
103
+ // Prevent self-reference
104
+ if (entry.from === entry.to) {
105
+ errors.push({ index: i, message: "Self-referencing edges are not allowed" });
106
+ continue;
107
+ }
108
+ // Check duplicates
109
+ const existingEdges = store.getEdgesFrom(entry.from);
110
+ const duplicate = existingEdges.find((e) => e.to === entry.to && e.relationType === entry.relationType);
111
+ if (duplicate) {
112
+ errors.push({ index: i, message: `Duplicate edge: ${entry.from} → ${entry.to} (${entry.relationType})` });
113
+ continue;
114
+ }
115
+ const edgeId = generateId("edge");
116
+ const edge = {
117
+ id: edgeId,
118
+ from: entry.from,
119
+ to: entry.to,
120
+ relationType: entry.relationType,
121
+ reason: entry.reason,
122
+ weight: entry.weight,
123
+ createdAt: now(),
124
+ };
125
+ validEdges.push(edge);
126
+ inserted.push(edgeId);
127
+ }
128
+ if (validEdges.length > 0) {
129
+ store.mergeInsert([], validEdges);
130
+ }
131
+ logger.info("tool:edge:batch_add:ok", { inserted: inserted.length, errors: errors.length });
132
+ return mcpText({ ok: true, inserted, errors });
133
+ }
134
+ if (action === "sequence") {
135
+ if (!parentId) {
136
+ return mcpError("parentId is required for sequence action");
137
+ }
138
+ const parent = store.getNodeById(parentId);
139
+ if (!parent) {
140
+ return mcpError(new NodeNotFoundError(parentId));
141
+ }
142
+ const result = sequenceSubtasks(store, parentId);
143
+ logger.info("tool:edge:sequence:ok", { parentId, edgesCreated: result.edgesCreated });
144
+ return mcpText({ ok: true, ...result });
145
+ }
68
146
  if (action === "delete") {
69
147
  if (!id) {
70
148
  return mcpError("id is required for delete action");
@@ -1 +1 @@
1
- {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../../src/mcp/tools/edge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge.js","sourceRoot":"","sources":["../../../src/mcp/tools/edge.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/export.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAMpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAwE1E"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/export.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAqF1E"}
@@ -1,15 +1,16 @@
1
1
  import { z } from "zod/v4";
2
2
  import { graphToMermaid, filterNodes } from "../../core/graph/mermaid-export.js";
3
+ import { graphToCsv } from "../../core/graph/csv-export.js";
3
4
  import { logger } from "../../core/utils/logger.js";
4
5
  import { mcpText } from "../response-helpers.js";
5
6
  export function registerExport(server, store) {
6
- server.tool("export", "Export the graph as JSON or Mermaid diagram", {
7
- action: z.enum(["json", "mermaid"]).describe("Export format"),
7
+ server.tool("export", "Export the graph as JSON, Mermaid diagram, or CSV", {
8
+ action: z.enum(["json", "mermaid", "csv"]).describe("Export format"),
8
9
  // mermaid params
9
- format: z.enum(["flowchart", "mindmap"]).optional().describe("Mermaid diagram format (default: flowchart)"),
10
+ format: z.enum(["flowchart", "mindmap", "gantt", "stateDiagram"]).optional().describe("Mermaid diagram format (default: flowchart)"),
10
11
  direction: z.enum(["TD", "LR"]).optional().describe("Flow direction for flowchart (default: TD)"),
11
12
  filterStatus: z.array(z.enum(["backlog", "ready", "in_progress", "blocked", "done"])).optional().describe("Only include nodes with these statuses"),
12
- filterType: z.array(z.enum(["epic", "task", "subtask", "requirement", "constraint", "milestone", "acceptance_criteria", "risk", "decision"])).optional().describe("Only include nodes with these types"),
13
+ filterType: z.array(z.enum(["epic", "task", "subtask", "requirement", "constraint", "milestone", "acceptance_criteria", "risk", "decision", "interface", "formula", "state_machine", "contract", "scenario", "performance_budget", "asset", "data_table", "metric", "config_schema"])).optional().describe("Only include nodes with these types"),
13
14
  }, async ({ action, format, direction, filterStatus, filterType }) => {
14
15
  logger.debug("tool:export", { format: action });
15
16
  const doc = store.toGraphDocument();
@@ -52,6 +53,18 @@ export function registerExport(server, store) {
52
53
  logger.info("tool:export:ok", { format: "json", nodes: filteredDoc.nodes.length });
53
54
  return mcpText(filteredDoc);
54
55
  }
56
+ if (action === "csv") {
57
+ const csv = graphToCsv(doc, {
58
+ filterStatus: filterStatus,
59
+ filterType: filterType,
60
+ });
61
+ logger.info("tool:export:ok", { format: "csv", nodes: doc.nodes.length });
62
+ return {
63
+ content: [
64
+ { type: "text", text: csv },
65
+ ],
66
+ };
67
+ }
55
68
  // action === "mermaid"
56
69
  const mermaid = graphToMermaid(doc.nodes, doc.edges, {
57
70
  format: format,