@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
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metric Coverage Analyzer — checks metric monitoring coverage for high-priority risks.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Finds metric nodes
|
|
6
|
+
* - Finds risk nodes with high priority (1-2)
|
|
7
|
+
* - Reports high risks without linked metrics
|
|
8
|
+
*/
|
|
9
|
+
import { logger } from "../utils/logger.js";
|
|
10
|
+
export function analyzeMetricCoverage(doc) {
|
|
11
|
+
const metricNodes = doc.nodes.filter((n) => n.type === "metric");
|
|
12
|
+
const highRisks = doc.nodes.filter((n) => n.type === "risk" && n.priority <= 2);
|
|
13
|
+
// Build set of risk IDs that have at least one edge to/from a metric
|
|
14
|
+
const metricIds = new Set(metricNodes.map((n) => n.id));
|
|
15
|
+
const risksWithMetrics = new Set();
|
|
16
|
+
for (const edge of doc.edges) {
|
|
17
|
+
// Check if edge connects a risk to a metric (either direction)
|
|
18
|
+
if (metricIds.has(edge.to) && highRisks.some((r) => r.id === edge.from)) {
|
|
19
|
+
risksWithMetrics.add(edge.from);
|
|
20
|
+
}
|
|
21
|
+
if (metricIds.has(edge.from) && highRisks.some((r) => r.id === edge.to)) {
|
|
22
|
+
risksWithMetrics.add(edge.to);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const coveredRisks = [];
|
|
26
|
+
const uncoveredRisks = [];
|
|
27
|
+
for (const risk of highRisks) {
|
|
28
|
+
if (risksWithMetrics.has(risk.id)) {
|
|
29
|
+
coveredRisks.push(risk.id);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
uncoveredRisks.push({ nodeId: risk.id, title: risk.title, priority: risk.priority });
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const coveragePercent = highRisks.length > 0
|
|
36
|
+
? Math.round((coveredRisks.length / highRisks.length) * 100)
|
|
37
|
+
: 100;
|
|
38
|
+
logger.debug("analyzer:metric-coverage", {
|
|
39
|
+
totalMetrics: metricNodes.length,
|
|
40
|
+
totalHighRisks: highRisks.length,
|
|
41
|
+
covered: coveredRisks.length,
|
|
42
|
+
coveragePercent,
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
totalMetrics: metricNodes.length,
|
|
46
|
+
totalHighRisks: highRisks.length,
|
|
47
|
+
coveredRisks,
|
|
48
|
+
uncoveredRisks,
|
|
49
|
+
coveragePercent,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=metric-coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metric-coverage.js","sourceRoot":"","sources":["../../../src/core/analyzer/metric-coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C,MAAM,UAAU,qBAAqB,CAAC,GAAkB;IACtD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IAEhF,qEAAqE;IACrE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,+DAA+D;QAC/D,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACxE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,cAAc,GAA+D,EAAE,CAAC;IAEtF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QAC5D,CAAC,CAAC,GAAG,CAAC;IAER,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;QACvC,YAAY,EAAE,WAAW,CAAC,MAAM;QAChC,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,OAAO,EAAE,YAAY,CAAC,MAAM;QAC5B,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAE,WAAW,CAAC,MAAM;QAChC,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,YAAY;QACZ,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Budget Analyzer — checks performance budget node status.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Metadata has metricName and threshold
|
|
6
|
+
* - Status from metadata.status or default "untested"
|
|
7
|
+
*/
|
|
8
|
+
import type { GraphDocument } from "../graph/graph-types.js";
|
|
9
|
+
export type BudgetStatus = "untested" | "passing" | "failing";
|
|
10
|
+
export interface PerformanceBudgetReport {
|
|
11
|
+
budgets: Array<{
|
|
12
|
+
nodeId: string;
|
|
13
|
+
title: string;
|
|
14
|
+
metric: string;
|
|
15
|
+
threshold: string;
|
|
16
|
+
status: BudgetStatus;
|
|
17
|
+
}>;
|
|
18
|
+
totalBudgets: number;
|
|
19
|
+
untestedCount: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function analyzePerformanceBudgets(doc: GraphDocument): PerformanceBudgetReport;
|
|
22
|
+
//# sourceMappingURL=performance-budget-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-budget-check.d.ts","sourceRoot":"","sources":["../../../src/core/analyzer/performance-budget-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC3G,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAOD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,aAAa,GAAG,uBAAuB,CA8BrF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Budget Analyzer — checks performance budget node status.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Metadata has metricName and threshold
|
|
6
|
+
* - Status from metadata.status or default "untested"
|
|
7
|
+
*/
|
|
8
|
+
import { logger } from "../utils/logger.js";
|
|
9
|
+
function toBudgetStatus(value) {
|
|
10
|
+
if (value === "passing" || value === "failing")
|
|
11
|
+
return value;
|
|
12
|
+
return "untested";
|
|
13
|
+
}
|
|
14
|
+
export function analyzePerformanceBudgets(doc) {
|
|
15
|
+
const budgetNodes = doc.nodes.filter((n) => n.type === "performance_budget");
|
|
16
|
+
const budgets = [];
|
|
17
|
+
let untestedCount = 0;
|
|
18
|
+
for (const node of budgetNodes) {
|
|
19
|
+
const metric = typeof node.metadata?.metricName === "string" ? node.metadata.metricName : "unknown";
|
|
20
|
+
const threshold = typeof node.metadata?.threshold === "string"
|
|
21
|
+
? node.metadata.threshold
|
|
22
|
+
: typeof node.metadata?.threshold === "number"
|
|
23
|
+
? String(node.metadata.threshold)
|
|
24
|
+
: "unspecified";
|
|
25
|
+
const status = toBudgetStatus(node.metadata?.status);
|
|
26
|
+
if (status === "untested")
|
|
27
|
+
untestedCount++;
|
|
28
|
+
budgets.push({ nodeId: node.id, title: node.title, metric, threshold, status });
|
|
29
|
+
}
|
|
30
|
+
logger.debug("analyzer:performance-budget", {
|
|
31
|
+
totalBudgets: budgetNodes.length,
|
|
32
|
+
untestedCount,
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
budgets,
|
|
36
|
+
totalBudgets: budgetNodes.length,
|
|
37
|
+
untestedCount,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=performance-budget-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance-budget-check.js","sourceRoot":"","sources":["../../../src/core/analyzer/performance-budget-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAkB;IAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IAE7E,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QACpG,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ;YAC5D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS;YACzB,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,KAAK,QAAQ;gBAC5C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,CAAC,CAAC,aAAa,CAAC;QACpB,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,MAAM,KAAK,UAAU;YAAE,aAAa,EAAE,CAAC;QAE3C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;QAC1C,YAAY,EAAE,WAAW,CAAC,MAAM;QAChC,aAAa;KACd,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,YAAY,EAAE,WAAW,CAAC,MAAM;QAChC,aAAa;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-assessment.d.ts","sourceRoot":"","sources":["../../../src/core/analyzer/risk-assessment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"risk-assessment.d.ts","sourceRoot":"","sources":["../../../src/core/analyzer/risk-assessment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,kCAAkC,CAAC;AA4BzF,wBAAgB,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,UAAU,CA+D1D"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* - Keywords in title/description drive automatic probability/impact scoring
|
|
6
6
|
* - Mitigation status: mitigated if child task is done, partial if in_progress
|
|
7
7
|
*/
|
|
8
|
+
import { assessMitigationLevel } from "../designer/tech-risk-assessor.js";
|
|
8
9
|
import { logger } from "../utils/logger.js";
|
|
9
10
|
const HIGH_PROBABILITY_KEYWORDS = ["sempre", "provável", "frequente", "common", "likely"];
|
|
10
11
|
const LOW_PROBABILITY_KEYWORDS = ["raro", "improvável", "unlikely", "rare"];
|
|
@@ -48,6 +49,14 @@ export function assessRisks(doc) {
|
|
|
48
49
|
else if (someProgress)
|
|
49
50
|
mitigationStatus = "partial";
|
|
50
51
|
}
|
|
52
|
+
// Also check edge-based mitigation (unified with tech_risk analyzer)
|
|
53
|
+
if (mitigationStatus === "unmitigated") {
|
|
54
|
+
const edgeLevel = assessMitigationLevel(doc, node);
|
|
55
|
+
if (edgeLevel === "mitigated")
|
|
56
|
+
mitigationStatus = "mitigated";
|
|
57
|
+
else if (edgeLevel === "partially_mitigated")
|
|
58
|
+
mitigationStatus = "partial";
|
|
59
|
+
}
|
|
51
60
|
const suggestedMitigation = mitigationStatus === "unmitigated"
|
|
52
61
|
? suggestMitigation(text, level)
|
|
53
62
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk-assessment.js","sourceRoot":"","sources":["../../../src/core/analyzer/risk-assessment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"risk-assessment.js","sourceRoot":"","sources":["../../../src/core/analyzer/risk-assessment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scenario Coverage Analyzer — checks how many systems are covered by scenario nodes.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Finds all nodes with type === "scenario"
|
|
6
|
+
* - Reads metadata.systemsInvolved from each scenario
|
|
7
|
+
* - Compares against all epic/task titles to estimate system coverage
|
|
8
|
+
* - Reports % of systems covered by at least 1 scenario
|
|
9
|
+
*/
|
|
10
|
+
import type { GraphDocument } from "../graph/graph-types.js";
|
|
11
|
+
export interface ScenarioCoverageReport {
|
|
12
|
+
totalScenarios: number;
|
|
13
|
+
systemsCovered: string[];
|
|
14
|
+
systemsUncovered: string[];
|
|
15
|
+
allSystems: string[];
|
|
16
|
+
coveragePercent: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function analyzeScenarioCoverage(doc: GraphDocument): ScenarioCoverageReport;
|
|
19
|
+
//# sourceMappingURL=scenario-coverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-coverage.d.ts","sourceRoot":"","sources":["../../../src/core/analyzer/scenario-coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,aAAa,GAAG,sBAAsB,CAoDlF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Scenario Coverage Analyzer — checks how many systems are covered by scenario nodes.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Finds all nodes with type === "scenario"
|
|
6
|
+
* - Reads metadata.systemsInvolved from each scenario
|
|
7
|
+
* - Compares against all epic/task titles to estimate system coverage
|
|
8
|
+
* - Reports % of systems covered by at least 1 scenario
|
|
9
|
+
*/
|
|
10
|
+
import { logger } from "../utils/logger.js";
|
|
11
|
+
export function analyzeScenarioCoverage(doc) {
|
|
12
|
+
const scenarios = doc.nodes.filter((n) => n.type === "scenario");
|
|
13
|
+
// Collect all systems referenced in scenario metadata
|
|
14
|
+
const coveredSystems = new Set();
|
|
15
|
+
for (const scenario of scenarios) {
|
|
16
|
+
const meta = scenario.metadata;
|
|
17
|
+
if (!meta)
|
|
18
|
+
continue;
|
|
19
|
+
const systems = meta.systemsInvolved ?? [];
|
|
20
|
+
for (const sys of systems) {
|
|
21
|
+
coveredSystems.add(sys.toLowerCase());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
// Estimate all systems from epic/task titles
|
|
25
|
+
const allSystemNames = new Set();
|
|
26
|
+
for (const node of doc.nodes) {
|
|
27
|
+
if (node.type === "epic" || node.type === "task") {
|
|
28
|
+
allSystemNames.add(node.title.toLowerCase());
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const systemsCovered = [];
|
|
32
|
+
const systemsUncovered = [];
|
|
33
|
+
for (const sys of allSystemNames) {
|
|
34
|
+
if (coveredSystems.has(sys)) {
|
|
35
|
+
systemsCovered.push(sys);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
systemsUncovered.push(sys);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const allSystems = [...allSystemNames];
|
|
42
|
+
const coveragePercent = allSystems.length > 0
|
|
43
|
+
? Math.round((systemsCovered.length / allSystems.length) * 100)
|
|
44
|
+
: 100;
|
|
45
|
+
logger.debug("analyzer:scenario-coverage", {
|
|
46
|
+
totalScenarios: scenarios.length,
|
|
47
|
+
covered: systemsCovered.length,
|
|
48
|
+
total: allSystems.length,
|
|
49
|
+
coveragePercent,
|
|
50
|
+
});
|
|
51
|
+
return {
|
|
52
|
+
totalScenarios: scenarios.length,
|
|
53
|
+
systemsCovered,
|
|
54
|
+
systemsUncovered,
|
|
55
|
+
allSystems,
|
|
56
|
+
coveragePercent,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=scenario-coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-coverage.js","sourceRoot":"","sources":["../../../src/core/analyzer/scenario-coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C,MAAM,UAAU,uBAAuB,CAAC,GAAkB;IACxD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAEjE,sDAAsD;IACtD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAA+C,CAAC;QACtE,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,OAAO,GAAI,IAAI,CAAC,eAA4B,IAAI,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QAC/D,CAAC,CAAC,GAAG,CAAC;IAER,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE;QACzC,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,OAAO,EAAE,cAAc,CAAC,MAAM;QAC9B,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO;QACL,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,eAAe;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Completeness Analyzer — validates state machine nodes.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Metadata has states, transitions, initialState
|
|
6
|
+
* - Dead states (no outgoing transition)
|
|
7
|
+
* - Unreachable states (no incoming transition except initial)
|
|
8
|
+
* - initialState is in states array
|
|
9
|
+
*/
|
|
10
|
+
import type { GraphDocument } from "../graph/graph-types.js";
|
|
11
|
+
export interface StateCompletenessReport {
|
|
12
|
+
machines: Array<{
|
|
13
|
+
nodeId: string;
|
|
14
|
+
title: string;
|
|
15
|
+
valid: boolean;
|
|
16
|
+
issues: string[];
|
|
17
|
+
}>;
|
|
18
|
+
totalMachines: number;
|
|
19
|
+
validCount: number;
|
|
20
|
+
}
|
|
21
|
+
export declare function analyzeStateCompleteness(doc: GraphDocument): StateCompletenessReport;
|
|
22
|
+
//# sourceMappingURL=state-completeness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-completeness.d.ts","sourceRoot":"","sources":["../../../src/core/analyzer/state-completeness.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG7D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrF,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAqBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,aAAa,GAAG,uBAAuB,CAiEpF"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State Completeness Analyzer — validates state machine nodes.
|
|
3
|
+
*
|
|
4
|
+
* Checks:
|
|
5
|
+
* - Metadata has states, transitions, initialState
|
|
6
|
+
* - Dead states (no outgoing transition)
|
|
7
|
+
* - Unreachable states (no incoming transition except initial)
|
|
8
|
+
* - initialState is in states array
|
|
9
|
+
*/
|
|
10
|
+
import { logger } from "../utils/logger.js";
|
|
11
|
+
function getStringArray(value) {
|
|
12
|
+
if (!Array.isArray(value))
|
|
13
|
+
return [];
|
|
14
|
+
return value.filter((v) => typeof v === "string");
|
|
15
|
+
}
|
|
16
|
+
function getTransitions(value) {
|
|
17
|
+
if (!Array.isArray(value))
|
|
18
|
+
return [];
|
|
19
|
+
return value.filter((v) => typeof v === "object" && v !== null && typeof v.from === "string" && typeof v.to === "string");
|
|
20
|
+
}
|
|
21
|
+
export function analyzeStateCompleteness(doc) {
|
|
22
|
+
const machineNodes = doc.nodes.filter((n) => n.type === "state_machine");
|
|
23
|
+
const machines = [];
|
|
24
|
+
let validCount = 0;
|
|
25
|
+
for (const node of machineNodes) {
|
|
26
|
+
const issues = [];
|
|
27
|
+
const states = getStringArray(node.metadata?.states);
|
|
28
|
+
const transitions = getTransitions(node.metadata?.transitions);
|
|
29
|
+
const initialState = node.metadata?.initialState;
|
|
30
|
+
if (!node.metadata?.states) {
|
|
31
|
+
issues.push("Missing 'states' in metadata");
|
|
32
|
+
}
|
|
33
|
+
if (!node.metadata?.transitions) {
|
|
34
|
+
issues.push("Missing 'transitions' in metadata");
|
|
35
|
+
}
|
|
36
|
+
if (!node.metadata?.initialState) {
|
|
37
|
+
issues.push("Missing 'initialState' in metadata");
|
|
38
|
+
}
|
|
39
|
+
// Only do deeper checks if base metadata exists
|
|
40
|
+
if (states.length > 0 && transitions.length > 0 && initialState) {
|
|
41
|
+
const statesSet = new Set(states);
|
|
42
|
+
// Validate initialState is in states
|
|
43
|
+
if (!statesSet.has(initialState)) {
|
|
44
|
+
issues.push(`initialState '${initialState}' is not in the states array`);
|
|
45
|
+
}
|
|
46
|
+
// Find dead states (no outgoing transition)
|
|
47
|
+
const statesWithOutgoing = new Set(transitions.map((t) => t.from));
|
|
48
|
+
for (const state of states) {
|
|
49
|
+
if (!statesWithOutgoing.has(state)) {
|
|
50
|
+
issues.push(`Dead state '${state}': no outgoing transition`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// Find unreachable states (no incoming transition, except initial)
|
|
54
|
+
const statesWithIncoming = new Set(transitions.map((t) => t.to));
|
|
55
|
+
for (const state of states) {
|
|
56
|
+
if (state !== initialState && !statesWithIncoming.has(state)) {
|
|
57
|
+
issues.push(`Unreachable state '${state}': no incoming transition`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const valid = issues.length === 0;
|
|
62
|
+
if (valid)
|
|
63
|
+
validCount++;
|
|
64
|
+
machines.push({ nodeId: node.id, title: node.title, valid, issues });
|
|
65
|
+
}
|
|
66
|
+
logger.debug("analyzer:state-completeness", {
|
|
67
|
+
totalMachines: machineNodes.length,
|
|
68
|
+
validCount,
|
|
69
|
+
});
|
|
70
|
+
return {
|
|
71
|
+
machines,
|
|
72
|
+
totalMachines: machineNodes.length,
|
|
73
|
+
validCount,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=state-completeness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-completeness.js","sourceRoot":"","sources":["../../../src/core/analyzer/state-completeness.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { CodeStore } from "./code-store.js";
|
|
7
7
|
import type { CodeAnalyzer, IndexResult } from "./code-types.js";
|
|
8
|
-
/** Matches test files
|
|
8
|
+
/** Matches test files across all supported languages and TS declaration files. */
|
|
9
9
|
export declare const TEST_OR_DECL_PATTERN: RegExp;
|
|
10
10
|
export declare class CodeIndexer {
|
|
11
11
|
private readonly store;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-indexer.d.ts","sourceRoot":"","sources":["../../../src/core/code/code-indexer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"code-indexer.d.ts","sourceRoot":"","sources":["../../../src/core/code/code-indexer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAwCjE,kFAAkF;AAElF,eAAO,MAAM,oBAAoB,QAuBrB,CAAC;AAEb,qBAAa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4B;gBAGtC,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EAClC,SAAS,CAAC,EAAE,YAAY,EAAE;IAW5B;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAY7E;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAwI9E"}
|
|
@@ -19,9 +19,56 @@ function getGitHash(basePath) {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
const TS_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx", ".mts", ".cts"]);
|
|
22
|
-
const IGNORED_DIRS = new Set([
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
const IGNORED_DIRS = new Set([
|
|
23
|
+
// JavaScript/Node.js
|
|
24
|
+
"node_modules", "dist", ".next", ".nuxt",
|
|
25
|
+
// General
|
|
26
|
+
".git", "coverage",
|
|
27
|
+
// Go
|
|
28
|
+
"vendor",
|
|
29
|
+
// Python
|
|
30
|
+
"__pycache__", "venv", ".venv", ".mypy_cache", ".pytest_cache", ".tox",
|
|
31
|
+
// C#/.NET
|
|
32
|
+
"bin", "obj", ".vs",
|
|
33
|
+
// Java/Kotlin
|
|
34
|
+
"target", ".gradle", ".idea",
|
|
35
|
+
// C/C++
|
|
36
|
+
"cmake-build-debug", "cmake-build-release",
|
|
37
|
+
// Rust
|
|
38
|
+
// "target" already listed under Java/Kotlin
|
|
39
|
+
// Ruby
|
|
40
|
+
".bundle",
|
|
41
|
+
// Swift
|
|
42
|
+
".build", "DerivedData", "Pods", ".swiftpm",
|
|
43
|
+
// Lua
|
|
44
|
+
"lua_modules", ".luarocks",
|
|
45
|
+
]);
|
|
46
|
+
/** Matches test files across all supported languages and TS declaration files. */
|
|
47
|
+
// eslint-disable-next-line security/detect-non-literal-regexp
|
|
48
|
+
export const TEST_OR_DECL_PATTERN = new RegExp([
|
|
49
|
+
// TypeScript/JavaScript: .test.ts, .spec.js, .d.ts
|
|
50
|
+
/\.(test|spec)\.(ts|tsx|js|jsx|mts|cts)$/.source,
|
|
51
|
+
/\.d\.(ts|mts|cts)$/.source,
|
|
52
|
+
// Go: _test.go
|
|
53
|
+
/_test\.go$/.source,
|
|
54
|
+
// Python: test_*.py, *_test.py, conftest.py
|
|
55
|
+
/(^|[/\\])test_[^/\\]+\.py$/.source,
|
|
56
|
+
/_test\.py$/.source,
|
|
57
|
+
/(^|[/\\])conftest\.py$/.source,
|
|
58
|
+
// C#: *Tests.cs, *Test.cs
|
|
59
|
+
/Tests?\.cs$/.source,
|
|
60
|
+
// Java/Kotlin: *Test.java, *Tests.java, *IT.java, *Test.kt
|
|
61
|
+
/(Tests?|IT)\.(java|kt|kts)$/.source,
|
|
62
|
+
// Ruby: *_spec.rb, *_test.rb
|
|
63
|
+
/_(spec|test)\.rb$/.source,
|
|
64
|
+
// PHP: *Test.php
|
|
65
|
+
/Test\.php$/.source,
|
|
66
|
+
// Rust: already in src/tests/ convention, no file pattern needed
|
|
67
|
+
// Swift: *Tests.swift
|
|
68
|
+
/Tests?\.swift$/.source,
|
|
69
|
+
// Lua: _test.lua, _spec.lua
|
|
70
|
+
/_(test|spec)\.lua$/.source,
|
|
71
|
+
].join("|"));
|
|
25
72
|
export class CodeIndexer {
|
|
26
73
|
store;
|
|
27
74
|
projectId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-indexer.js","sourceRoot":"","sources":["../../../src/core/code/code-indexer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,SAAS,UAAU,CAAC,QAAgB;IAClC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"code-indexer.js","sourceRoot":"","sources":["../../../src/core/code/code-indexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ function rowToSymbol(row) {
|
|
|
18
18
|
modulePath: row.module_path,
|
|
19
19
|
signature: row.signature,
|
|
20
20
|
metadata: row.metadata ? JSON.parse(row.metadata) : undefined,
|
|
21
|
-
language: row.language ??
|
|
21
|
+
language: row.language ?? undefined,
|
|
22
22
|
docstring: row.docstring ?? undefined,
|
|
23
23
|
sourceSnippet: row.source_snippet ?? undefined,
|
|
24
24
|
visibility: row.visibility ?? "public",
|
|
@@ -61,7 +61,7 @@ export class CodeStore {
|
|
|
61
61
|
this.db
|
|
62
62
|
.prepare(`INSERT INTO code_symbols (id, project_id, name, kind, file, start_line, end_line, exported, module_path, signature, metadata, language, docstring, source_snippet, visibility, indexed_at)
|
|
63
63
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
|
64
|
-
.run(id, symbol.projectId, symbol.name, symbol.kind, symbol.file, symbol.startLine, symbol.endLine, symbol.exported ? 1 : 0, symbol.modulePath ?? null, symbol.signature ?? null, symbol.metadata ? JSON.stringify(symbol.metadata) : null, symbol.language ??
|
|
64
|
+
.run(id, symbol.projectId, symbol.name, symbol.kind, symbol.file, symbol.startLine, symbol.endLine, symbol.exported ? 1 : 0, symbol.modulePath ?? null, symbol.signature ?? null, symbol.metadata ? JSON.stringify(symbol.metadata) : null, symbol.language ?? null, symbol.docstring ?? null, symbol.sourceSnippet ?? null, symbol.visibility ?? "public", indexedAt);
|
|
65
65
|
return { ...symbol, id, indexedAt };
|
|
66
66
|
}
|
|
67
67
|
insertSymbolsBulk(symbols) {
|
|
@@ -70,7 +70,7 @@ export class CodeStore {
|
|
|
70
70
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
71
71
|
const insertMany = this.db.transaction((syms) => {
|
|
72
72
|
for (const s of syms) {
|
|
73
|
-
stmt.run(generateId("csym"), s.projectId, s.name, s.kind, s.file, s.startLine, s.endLine, s.exported ? 1 : 0, s.modulePath ?? null, s.signature ?? null, s.metadata ? JSON.stringify(s.metadata) : null, s.language ??
|
|
73
|
+
stmt.run(generateId("csym"), s.projectId, s.name, s.kind, s.file, s.startLine, s.endLine, s.exported ? 1 : 0, s.modulePath ?? null, s.signature ?? null, s.metadata ? JSON.stringify(s.metadata) : null, s.language ?? null, s.docstring ?? null, s.sourceSnippet ?? null, s.visibility ?? "public", indexedAt);
|
|
74
74
|
}
|
|
75
75
|
return syms.length;
|
|
76
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-store.js","sourceRoot":"","sources":["../../../src/core/code/code-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AA4CvC,4DAA4D;AAE5D,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;QACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ,KAAK,CAAC;QAC5B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAA6B,CAAC,CAAC,CAAC,SAAS;QAC1F,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,
|
|
1
|
+
{"version":3,"file":"code-store.js","sourceRoot":"","sources":["../../../src/core/code/code-store.ts"],"names":[],"mappings":"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"}
|