@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.
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +2 -0
- package/dist/api/router.js.map +1 -1
- package/dist/api/routes/code-graph.d.ts.map +1 -1
- package/dist/api/routes/code-graph.js +3 -1
- package/dist/api/routes/code-graph.js.map +1 -1
- package/dist/api/routes/davinci.d.ts +3 -0
- package/dist/api/routes/davinci.d.ts.map +1 -0
- package/dist/api/routes/davinci.js +188 -0
- package/dist/api/routes/davinci.js.map +1 -0
- package/dist/core/analyzer/ac-coverage.d.ts +16 -0
- package/dist/core/analyzer/ac-coverage.d.ts.map +1 -0
- package/dist/core/analyzer/ac-coverage.js +38 -0
- package/dist/core/analyzer/ac-coverage.js.map +1 -0
- package/dist/core/analyzer/asset-blockers.d.ts +23 -0
- package/dist/core/analyzer/asset-blockers.d.ts.map +1 -0
- package/dist/core/analyzer/asset-blockers.js +50 -0
- package/dist/core/analyzer/asset-blockers.js.map +1 -0
- package/dist/core/analyzer/concurrency-risk.d.ts +26 -0
- package/dist/core/analyzer/concurrency-risk.d.ts.map +1 -0
- package/dist/core/analyzer/concurrency-risk.js +99 -0
- package/dist/core/analyzer/concurrency-risk.js.map +1 -0
- package/dist/core/analyzer/config-coverage.d.ts +20 -0
- package/dist/core/analyzer/config-coverage.d.ts.map +1 -0
- package/dist/core/analyzer/config-coverage.js +49 -0
- package/dist/core/analyzer/config-coverage.js.map +1 -0
- package/dist/core/analyzer/contract-coverage.d.ts +22 -0
- package/dist/core/analyzer/contract-coverage.d.ts.map +1 -0
- package/dist/core/analyzer/contract-coverage.js +51 -0
- package/dist/core/analyzer/contract-coverage.js.map +1 -0
- package/dist/core/analyzer/data-integrity.d.ts +22 -0
- package/dist/core/analyzer/data-integrity.d.ts.map +1 -0
- package/dist/core/analyzer/data-integrity.js +80 -0
- package/dist/core/analyzer/data-integrity.js.map +1 -0
- package/dist/core/analyzer/economy-simulator.d.ts +33 -0
- package/dist/core/analyzer/economy-simulator.d.ts.map +1 -0
- package/dist/core/analyzer/economy-simulator.js +162 -0
- package/dist/core/analyzer/economy-simulator.js.map +1 -0
- package/dist/core/analyzer/formula-consistency.d.ts +25 -0
- package/dist/core/analyzer/formula-consistency.d.ts.map +1 -0
- package/dist/core/analyzer/formula-consistency.js +82 -0
- package/dist/core/analyzer/formula-consistency.js.map +1 -0
- package/dist/core/analyzer/metric-coverage.d.ts +22 -0
- package/dist/core/analyzer/metric-coverage.d.ts.map +1 -0
- package/dist/core/analyzer/metric-coverage.js +52 -0
- package/dist/core/analyzer/metric-coverage.js.map +1 -0
- package/dist/core/analyzer/performance-budget-check.d.ts +22 -0
- package/dist/core/analyzer/performance-budget-check.d.ts.map +1 -0
- package/dist/core/analyzer/performance-budget-check.js +40 -0
- package/dist/core/analyzer/performance-budget-check.js.map +1 -0
- package/dist/core/analyzer/risk-assessment.d.ts.map +1 -1
- package/dist/core/analyzer/risk-assessment.js +9 -0
- package/dist/core/analyzer/risk-assessment.js.map +1 -1
- package/dist/core/analyzer/scenario-coverage.d.ts +19 -0
- package/dist/core/analyzer/scenario-coverage.d.ts.map +1 -0
- package/dist/core/analyzer/scenario-coverage.js +59 -0
- package/dist/core/analyzer/scenario-coverage.js.map +1 -0
- package/dist/core/analyzer/state-completeness.d.ts +22 -0
- package/dist/core/analyzer/state-completeness.d.ts.map +1 -0
- package/dist/core/analyzer/state-completeness.js +76 -0
- package/dist/core/analyzer/state-completeness.js.map +1 -0
- package/dist/core/code/code-indexer.d.ts +1 -1
- package/dist/core/code/code-indexer.d.ts.map +1 -1
- package/dist/core/code/code-indexer.js +50 -3
- package/dist/core/code/code-indexer.js.map +1 -1
- package/dist/core/code/code-store.js +3 -3
- package/dist/core/code/code-store.js.map +1 -1
- package/dist/core/code/code-types.d.ts +4 -4
- package/dist/core/code/treesitter/treesitter-manager.d.ts.map +1 -1
- package/dist/core/code/treesitter/treesitter-manager.js +2 -0
- package/dist/core/code/treesitter/treesitter-manager.js.map +1 -1
- package/dist/core/davinci/build-runner.d.ts +37 -0
- package/dist/core/davinci/build-runner.d.ts.map +1 -0
- package/dist/core/davinci/build-runner.js +239 -0
- package/dist/core/davinci/build-runner.js.map +1 -0
- package/dist/core/davinci/davinci-parser.d.ts +6 -0
- package/dist/core/davinci/davinci-parser.d.ts.map +1 -0
- package/dist/core/davinci/davinci-parser.js +218 -0
- package/dist/core/davinci/davinci-parser.js.map +1 -0
- package/dist/core/davinci/davinci-store.d.ts +49 -0
- package/dist/core/davinci/davinci-store.d.ts.map +1 -0
- package/dist/core/davinci/davinci-store.js +121 -0
- package/dist/core/davinci/davinci-store.js.map +1 -0
- package/dist/core/davinci/davinci-types.d.ts +241 -0
- package/dist/core/davinci/davinci-types.d.ts.map +1 -0
- package/dist/core/davinci/davinci-types.js +123 -0
- package/dist/core/davinci/davinci-types.js.map +1 -0
- package/dist/core/davinci/davinci-validators.d.ts +16 -0
- package/dist/core/davinci/davinci-validators.d.ts.map +1 -0
- package/dist/core/davinci/davinci-validators.js +86 -0
- package/dist/core/davinci/davinci-validators.js.map +1 -0
- package/dist/core/davinci/descriptor-generator.d.ts +19 -0
- package/dist/core/davinci/descriptor-generator.d.ts.map +1 -0
- package/dist/core/davinci/descriptor-generator.js +52 -0
- package/dist/core/davinci/descriptor-generator.js.map +1 -0
- package/dist/core/davinci/plugin-generator.d.ts +29 -0
- package/dist/core/davinci/plugin-generator.d.ts.map +1 -0
- package/dist/core/davinci/plugin-generator.js +86 -0
- package/dist/core/davinci/plugin-generator.js.map +1 -0
- package/dist/core/davinci/plugin-type-detector.d.ts +15 -0
- package/dist/core/davinci/plugin-type-detector.d.ts.map +1 -0
- package/dist/core/davinci/plugin-type-detector.js +114 -0
- package/dist/core/davinci/plugin-type-detector.js.map +1 -0
- package/dist/core/davinci/pom-generator.d.ts +4 -0
- package/dist/core/davinci/pom-generator.d.ts.map +1 -0
- package/dist/core/davinci/pom-generator.js +179 -0
- package/dist/core/davinci/pom-generator.js.map +1 -0
- package/dist/core/davinci/template-registry.d.ts +25 -0
- package/dist/core/davinci/template-registry.d.ts.map +1 -0
- package/dist/core/davinci/template-registry.js +280 -0
- package/dist/core/davinci/template-registry.js.map +1 -0
- package/dist/core/davinci/variable-resolver.d.ts +9 -0
- package/dist/core/davinci/variable-resolver.d.ts.map +1 -0
- package/dist/core/davinci/variable-resolver.js +62 -0
- package/dist/core/davinci/variable-resolver.js.map +1 -0
- package/dist/core/designer/adr-validator.d.ts.map +1 -1
- package/dist/core/designer/adr-validator.js +12 -4
- package/dist/core/designer/adr-validator.js.map +1 -1
- package/dist/core/designer/tech-risk-assessor.d.ts +5 -1
- package/dist/core/designer/tech-risk-assessor.d.ts.map +1 -1
- package/dist/core/designer/tech-risk-assessor.js +39 -11
- package/dist/core/designer/tech-risk-assessor.js.map +1 -1
- package/dist/core/designer/traceability-matrix.d.ts.map +1 -1
- package/dist/core/designer/traceability-matrix.js +14 -3
- package/dist/core/designer/traceability-matrix.js.map +1 -1
- package/dist/core/graph/auto-sequence.d.ts +10 -0
- package/dist/core/graph/auto-sequence.d.ts.map +1 -0
- package/dist/core/graph/auto-sequence.js +29 -0
- package/dist/core/graph/auto-sequence.js.map +1 -0
- package/dist/core/graph/csv-export.d.ts +7 -0
- package/dist/core/graph/csv-export.d.ts.map +1 -0
- package/dist/core/graph/csv-export.js +43 -0
- package/dist/core/graph/csv-export.js.map +1 -0
- package/dist/core/graph/graph-types.d.ts +2 -2
- package/dist/core/graph/graph-types.d.ts.map +1 -1
- package/dist/core/graph/mermaid-export.d.ts +1 -1
- package/dist/core/graph/mermaid-export.d.ts.map +1 -1
- package/dist/core/graph/mermaid-export.js +101 -0
- package/dist/core/graph/mermaid-export.js.map +1 -1
- package/dist/core/importer/prd-to-graph.d.ts.map +1 -1
- package/dist/core/importer/prd-to-graph.js +8 -1
- package/dist/core/importer/prd-to-graph.js.map +1 -1
- package/dist/core/listener/backlog-health.d.ts.map +1 -1
- package/dist/core/listener/backlog-health.js +15 -3
- package/dist/core/listener/backlog-health.js.map +1 -1
- package/dist/core/parser/classify.d.ts +4 -0
- package/dist/core/parser/classify.d.ts.map +1 -1
- package/dist/core/parser/classify.js +18 -0
- package/dist/core/parser/classify.js.map +1 -1
- package/dist/core/parser/extract.d.ts.map +1 -1
- package/dist/core/parser/extract.js +22 -4
- package/dist/core/parser/extract.js.map +1 -1
- package/dist/core/parser/prd-diff.d.ts +23 -0
- package/dist/core/parser/prd-diff.d.ts.map +1 -0
- package/dist/core/parser/prd-diff.js +55 -0
- package/dist/core/parser/prd-diff.js.map +1 -0
- package/dist/core/parser/read-swagger.d.ts.map +1 -1
- package/dist/core/parser/read-swagger.js +6 -0
- package/dist/core/parser/read-swagger.js.map +1 -1
- package/dist/core/parser/segment.d.ts +5 -0
- package/dist/core/parser/segment.d.ts.map +1 -1
- package/dist/core/parser/segment.js +70 -0
- package/dist/core/parser/segment.js.map +1 -1
- package/dist/core/planner/auto-ready.d.ts +19 -0
- package/dist/core/planner/auto-ready.d.ts.map +1 -0
- package/dist/core/planner/auto-ready.js +39 -0
- package/dist/core/planner/auto-ready.js.map +1 -0
- package/dist/core/planner/planning-report.d.ts +13 -1
- package/dist/core/planner/planning-report.d.ts.map +1 -1
- package/dist/core/planner/planning-report.js +53 -2
- package/dist/core/planner/planning-report.js.map +1 -1
- package/dist/core/planner/sprint-health.d.ts +22 -0
- package/dist/core/planner/sprint-health.d.ts.map +1 -0
- package/dist/core/planner/sprint-health.js +41 -0
- package/dist/core/planner/sprint-health.js.map +1 -0
- package/dist/core/siebel/sif-parser.d.ts.map +1 -1
- package/dist/core/siebel/sif-parser.js +6 -0
- package/dist/core/siebel/sif-parser.js.map +1 -1
- package/dist/core/siebel/wsdl-parser.d.ts.map +1 -1
- package/dist/core/siebel/wsdl-parser.js +6 -0
- package/dist/core/siebel/wsdl-parser.js.map +1 -1
- package/dist/core/store/migrations.d.ts.map +1 -1
- package/dist/core/store/migrations.js +17 -0
- package/dist/core/store/migrations.js.map +1 -1
- package/dist/core/store/sqlite-store.d.ts +6 -0
- package/dist/core/store/sqlite-store.d.ts.map +1 -1
- package/dist/core/store/sqlite-store.js +54 -3
- package/dist/core/store/sqlite-store.js.map +1 -1
- package/dist/core/templates/template-engine.d.ts +36 -0
- package/dist/core/templates/template-engine.d.ts.map +1 -0
- package/dist/core/templates/template-engine.js +104 -0
- package/dist/core/templates/template-engine.js.map +1 -0
- package/dist/core/translation/generators/universal-generator.d.ts.map +1 -1
- package/dist/core/translation/generators/universal-generator.js +187 -9
- package/dist/core/translation/generators/universal-generator.js.map +1 -1
- package/dist/core/translation/language-detect.d.ts.map +1 -1
- package/dist/core/translation/language-detect.js +37 -14
- package/dist/core/translation/language-detect.js.map +1 -1
- package/dist/docs-manifest.json +68 -5
- package/dist/mcp/app-factory.js +1 -1
- package/dist/mcp/app-factory.js.map +1 -1
- package/dist/mcp/tools/analyze.d.ts.map +1 -1
- package/dist/mcp/tools/analyze.js +100 -1
- package/dist/mcp/tools/analyze.js.map +1 -1
- package/dist/mcp/tools/davinci-analyze.d.ts +4 -0
- package/dist/mcp/tools/davinci-analyze.d.ts.map +1 -0
- package/dist/mcp/tools/davinci-analyze.js +31 -0
- package/dist/mcp/tools/davinci-analyze.js.map +1 -0
- package/dist/mcp/tools/davinci-build.d.ts +4 -0
- package/dist/mcp/tools/davinci-build.d.ts.map +1 -0
- package/dist/mcp/tools/davinci-build.js +43 -0
- package/dist/mcp/tools/davinci-build.js.map +1 -0
- package/dist/mcp/tools/davinci-convert.d.ts +4 -0
- package/dist/mcp/tools/davinci-convert.d.ts.map +1 -0
- package/dist/mcp/tools/davinci-convert.js +61 -0
- package/dist/mcp/tools/davinci-convert.js.map +1 -0
- package/dist/mcp/tools/edge.d.ts.map +1 -1
- package/dist/mcp/tools/edge.js +81 -3
- package/dist/mcp/tools/edge.js.map +1 -1
- package/dist/mcp/tools/export.d.ts.map +1 -1
- package/dist/mcp/tools/export.js +17 -4
- package/dist/mcp/tools/export.js.map +1 -1
- package/dist/mcp/tools/import-prd.d.ts.map +1 -1
- package/dist/mcp/tools/import-prd.js +89 -2
- package/dist/mcp/tools/import-prd.js.map +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +12 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/node.d.ts.map +1 -1
- package/dist/mcp/tools/node.js +127 -6
- package/dist/mcp/tools/node.js.map +1 -1
- package/dist/mcp/tools/plan-sprint.d.ts.map +1 -1
- package/dist/mcp/tools/plan-sprint.js +6 -2
- package/dist/mcp/tools/plan-sprint.js.map +1 -1
- package/dist/mcp/tools/show.d.ts.map +1 -1
- package/dist/mcp/tools/show.js +11 -4
- package/dist/mcp/tools/show.js.map +1 -1
- package/dist/mcp/tools/template.d.ts +4 -0
- package/dist/mcp/tools/template.d.ts.map +1 -0
- package/dist/mcp/tools/template.js +137 -0
- package/dist/mcp/tools/template.js.map +1 -0
- package/dist/schemas/analyzer-schema.d.ts +2 -2
- package/dist/schemas/designer-schema.d.ts +21 -0
- package/dist/schemas/designer-schema.d.ts.map +1 -1
- package/dist/schemas/designer-schema.js +2 -0
- package/dist/schemas/designer-schema.js.map +1 -1
- package/dist/schemas/edge.schema.d.ts +6 -0
- package/dist/schemas/edge.schema.d.ts.map +1 -1
- package/dist/schemas/edge.schema.js +2 -0
- package/dist/schemas/edge.schema.js.map +1 -1
- package/dist/schemas/graph.schema.d.ts +13 -0
- package/dist/schemas/graph.schema.d.ts.map +1 -1
- package/dist/schemas/node.schema.d.ts +20 -0
- package/dist/schemas/node.schema.d.ts.map +1 -1
- package/dist/schemas/node.schema.js +3 -0
- package/dist/schemas/node.schema.js.map +1 -1
- package/dist/schemas/siebel.schema.d.ts +13 -13
- package/dist/web/dashboard/dist/assets/{benchmark-tab-en-UkR66.js → benchmark-tab-Aqr2Xzu5.js} +1 -1
- package/dist/web/dashboard/dist/assets/{circle-alert-5GIBBP3L.js → circle-alert-BJTyaShp.js} +1 -1
- package/dist/web/dashboard/dist/assets/constants-DLyESMjx.js +1 -0
- package/dist/web/dashboard/dist/assets/{context-tab-DjfwQik8.js → context-tab-CbmHGGZh.js} +1 -1
- package/dist/web/dashboard/dist/assets/davinci-tab-krxsY7Pp.js +10 -0
- package/dist/web/dashboard/dist/assets/{docs-tab-gEBzBEEV.js → docs-tab-AautK0dL.js} +1 -1
- package/dist/web/dashboard/dist/assets/file-code-DVOtQrhl.js +11 -0
- package/dist/web/dashboard/dist/assets/{gitnexus-tab-BE2pi0xe.js → gitnexus-tab-D5xRYU3u.js} +1 -1
- package/dist/web/dashboard/dist/assets/{graph-section-Cwx-Bmeh.js → graph-section-D5y4S3T1.js} +1 -1
- package/dist/web/dashboard/dist/assets/{graph-tab-BcS75lY0.js → graph-tab-tmjyMc4q.js} +1 -1
- package/dist/web/dashboard/dist/assets/{graph-utils-OY_fOvB3.js → graph-utils-BlwoHdjR.js} +1 -1
- package/dist/web/dashboard/dist/assets/index-BcMjWikL.css +1 -0
- package/dist/web/dashboard/dist/assets/{index-4X4gmCkA.js → index-C13O-yj1.js} +1 -1
- package/dist/web/dashboard/dist/assets/{index-1aGs8JPI.js → index-CAOXRHQq.js} +1 -1
- package/dist/web/dashboard/dist/assets/{index-C3Kad9YO.js → index-DrvFzUJS.js} +24 -19
- package/dist/web/dashboard/dist/assets/{insights-tab-CP2uIpid.js → insights-tab-9sq9NfBt.js} +1 -1
- package/dist/web/dashboard/dist/assets/{journey-tab-ChwNK_8S.js → journey-tab-ujeAoAsS.js} +1 -1
- package/dist/web/dashboard/dist/assets/{languages-tab-DnBvSh4N.js → languages-tab-DT-46f7p.js} +24 -39
- package/dist/web/dashboard/dist/assets/{loader-circle-Bxe_TLXv.js → loader-circle-DQz_g7p_.js} +1 -1
- package/dist/web/dashboard/dist/assets/{logs-tab-BH86QvKe.js → logs-tab-DHj9jG6G.js} +1 -1
- package/dist/web/dashboard/dist/assets/{lsp-tab-DUpaQXtx.js → lsp-tab-DGIm2cTM.js} +3 -3
- package/dist/web/dashboard/dist/assets/{memories-tab-CkwtNv3t.js → memories-tab-DT7JcHgq.js} +1 -1
- package/dist/web/dashboard/dist/assets/{prd-backlog-tab-CPJanaVF.js → prd-backlog-tab-CLzQ5p_3.js} +1 -1
- package/dist/web/dashboard/dist/assets/{refresh-cw-DL1dUrhF.js → refresh-cw-C0EeXZ6n.js} +1 -1
- package/dist/web/dashboard/dist/assets/{siebel-tab-D7x34UXy.js → siebel-tab-67cdoYQ_.js} +3 -3
- package/dist/web/dashboard/dist/assets/{sif-parse.worker-DZrybOHz.js → sif-parse.worker-Cty_N-lP.js} +3 -3
- package/dist/web/dashboard/dist/assets/{skills-tab-BuqCMS29.js → skills-tab-DL8-pMo9.js} +1 -1
- package/dist/web/dashboard/dist/assets/{style-iy_ryTT6.js → style-DeKQIW_i.js} +1 -1
- package/dist/web/dashboard/dist/assets/triangle-alert-cibtv50e.js +16 -0
- package/dist/web/dashboard/dist/assets/upload-CZI9Zosi.js +16 -0
- package/dist/web/dashboard/dist/index.html +2 -2
- package/package.json +3 -1
- package/dist/web/dashboard/dist/assets/constants-Dd6A34aQ.js +0 -1
- package/dist/web/dashboard/dist/assets/index-BVhCKhGJ.css +0 -1
- 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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,aAAa;IACb,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,QAAQ;IACR,eAAe;IACf,WAAW;IACX,KAAK;IACL,cAAc;IACd,UAAU;IACV,YAAY;IACZ,WAAW;IACX,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,MAAiB,EAAE,KAAkB;IACnE,MAAM,CAAC,IAAI,CACT,SAAS,EACT,yfAAyf,EACzf;QACE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2IAA2I,CAAC;KACpL,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACzB,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QAEpC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzF,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3E,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC9C,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBAC7E,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBACrE,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBACD,iCAAiC;gBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;oBAC5C,OAAO,QAAQ,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnF,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrE,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC1E,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;gBACxD,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9C,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC3E,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,GAAG,qDAAqD,KAAK,GAAG,CAAC;gBACvG,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;gBACxF,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,EAAE,CAAC;gBAC7E,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,GAAG,8DAA8D,KAAK,GAAG,CAAC;gBAChH,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnG,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;gBAChF,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,GAAG,0DAA0D,KAAK,GAAG,CAAC;gBAC5G,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC;gBACnF,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC1E,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,GAAG,4DAA4D,KAAK,GAAG,CAAC;gBAC9G,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;gBAClF,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;gBAChF,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,GAAG,2DAA2D,KAAK,GAAG,CAAC;gBAC7G,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,eAAe,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5G,MAAM,QAAQ,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC;gBACjF,IAAI,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAAK,GAAG,8DAA8D,KAAK,GAAG,CAAC;gBAChH,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO,QAAQ,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBACD,iCAAiC;gBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;oBAC5C,OAAO,QAAQ,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACrD,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1G,MAAM,WAAW,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC9E,IAAI,KAAK,KAAK,WAAW;oBAAE,WAAW,CAAC,KAAK,GAAG,mEAAmE,KAAK,GAAG,CAAC;gBAC3H,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,EAAE,CAAC,CAAC;gBAC9H,MAAM,WAAW,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC9E,IAAI,KAAK,KAAK,WAAW;oBAAE,WAAW,CAAC,KAAK,GAAG,8DAA8D,KAAK,GAAG,CAAC;gBACtH,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,cAAc,GAAG,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtH,MAAM,gBAAgB,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC;gBACxF,IAAI,KAAK,KAAK,WAAW;oBAAE,gBAAgB,CAAC,KAAK,GAAG,6DAA6D,KAAK,GAAG,CAAC;gBAC1H,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACnC,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClG,MAAM,WAAW,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC9E,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,WAAW;oBAAE,WAAW,CAAC,KAAK,GAAG,8EAA8E,KAAK,GAAG,CAAC;gBAC9J,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/G,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC1F,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBAChG,MAAM,WAAW,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC9E,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU;oBAAE,WAAW,CAAC,KAAK,GAAG,yEAAyE,KAAK,GAAG,CAAC;gBACtJ,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7C,MAAM,cAAc,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/F,MAAM,UAAU,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAC5E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ;oBAAE,UAAU,CAAC,KAAK,GAAG,yEAAyE,KAAK,GAAG,CAAC;gBACpJ,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC1F,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;gBAClG,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtG,MAAM,cAAc,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;gBACpF,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS;oBAAE,cAAc,CAAC,KAAK,GAAG,wEAAwE,KAAK,GAAG,CAAC;gBACvJ,OAAO,OAAO,CAAC,cAAc,CAAC,CAAC;YACjC,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBACjF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBAC5E,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBAC5E,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,aAAa,CAAC,CAAC,MAAM,CAAC;gBAE/E,MAAM,aAAa,GAAG;oBACpB,cAAc,EAAE,OAAO;oBACvB,gBAAgB,EAAE,YAAY,KAAK,CAAC;oBACpC,cAAc,EAAE,eAAe,KAAK,CAAC;oBACrC,eAAe,EAAE,YAAY;oBAC7B,YAAY,EAAE,GAAG,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,aAAa;iBAC/D,CAAC;gBACF,MAAM,YAAY,GAAG,OAAO,IAAI,YAAY,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,IAAI,YAAY,CAAC;gBAC5F,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/D,MAAM,eAAe,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;gBACzG,IAAI,KAAK,KAAK,QAAQ;oBAAE,eAAe,CAAC,KAAK,GAAG,+DAA+D,KAAK,GAAG,CAAC;gBACxH,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC;YAClC,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC9C,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;gBAClG,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;gBACnG,MAAM,WAAW,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;gBAC9E,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,SAAS;oBAAE,WAAW,CAAC,KAAK,GAAG,8EAA8E,KAAK,GAAG,CAAC;gBAC7J,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9B,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC/H,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACR,OAAO,QAAQ,CAAC,yBAAyB,IAAc,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
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;
|
|
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"}
|
package/dist/mcp/tools/edge.js
CHANGED
|
@@ -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
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
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;
|
|
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"}
|
package/dist/mcp/tools/export.js
CHANGED
|
@@ -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
|
|
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,
|