mcp-adr-analysis-server 2.1.9 → 2.1.20
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/README.md +55 -8
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/index.d.ts +78 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1793 -577
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompts/index.d.ts.map +1 -1
- package/dist/src/prompts/index.js +23 -6
- package/dist/src/prompts/index.js.map +1 -1
- package/dist/src/prompts/validated-pattern-prompts.d.ts +33 -0
- package/dist/src/prompts/validated-pattern-prompts.d.ts.map +1 -0
- package/dist/src/prompts/validated-pattern-prompts.js +337 -0
- package/dist/src/prompts/validated-pattern-prompts.js.map +1 -0
- package/dist/src/resources/adr-by-id-resource.d.ts +116 -0
- package/dist/src/resources/adr-by-id-resource.d.ts.map +1 -0
- package/dist/src/resources/adr-by-id-resource.js +213 -0
- package/dist/src/resources/adr-by-id-resource.js.map +1 -0
- package/dist/src/resources/code-quality-resource.d.ts +105 -0
- package/dist/src/resources/code-quality-resource.d.ts.map +1 -0
- package/dist/src/resources/code-quality-resource.js +282 -0
- package/dist/src/resources/code-quality-resource.js.map +1 -0
- package/dist/src/resources/deployment-history-resource.d.ts +214 -0
- package/dist/src/resources/deployment-history-resource.d.ts.map +1 -0
- package/dist/src/resources/deployment-history-resource.js +308 -0
- package/dist/src/resources/deployment-history-resource.js.map +1 -0
- package/dist/src/resources/deployment-status-resource.d.ts +256 -0
- package/dist/src/resources/deployment-status-resource.d.ts.map +1 -0
- package/dist/src/resources/deployment-status-resource.js +665 -0
- package/dist/src/resources/deployment-status-resource.js.map +1 -0
- package/dist/src/resources/environment-analysis-resource.d.ts +237 -0
- package/dist/src/resources/environment-analysis-resource.d.ts.map +1 -0
- package/dist/src/resources/environment-analysis-resource.js +646 -0
- package/dist/src/resources/environment-analysis-resource.js.map +1 -0
- package/dist/src/resources/index.d.ts +6 -2
- package/dist/src/resources/index.d.ts.map +1 -1
- package/dist/src/resources/index.js +247 -492
- package/dist/src/resources/index.js.map +1 -1
- package/dist/src/resources/memory-snapshots-resource.d.ts +180 -0
- package/dist/src/resources/memory-snapshots-resource.d.ts.map +1 -0
- package/dist/src/resources/memory-snapshots-resource.js +847 -0
- package/dist/src/resources/memory-snapshots-resource.js.map +1 -0
- package/dist/src/resources/pattern-base-code-by-platform-resource.d.ts +35 -0
- package/dist/src/resources/pattern-base-code-by-platform-resource.d.ts.map +1 -0
- package/dist/src/resources/pattern-base-code-by-platform-resource.js +72 -0
- package/dist/src/resources/pattern-base-code-by-platform-resource.js.map +1 -0
- package/dist/src/resources/pattern-by-name-resource.d.ts +53 -0
- package/dist/src/resources/pattern-by-name-resource.d.ts.map +1 -0
- package/dist/src/resources/pattern-by-name-resource.js +200 -0
- package/dist/src/resources/pattern-by-name-resource.js.map +1 -0
- package/dist/src/resources/pattern-sources-by-platform-resource.d.ts +26 -0
- package/dist/src/resources/pattern-sources-by-platform-resource.d.ts.map +1 -0
- package/dist/src/resources/pattern-sources-by-platform-resource.js +59 -0
- package/dist/src/resources/pattern-sources-by-platform-resource.js.map +1 -0
- package/dist/src/resources/project-metrics-resource.d.ts +180 -0
- package/dist/src/resources/project-metrics-resource.d.ts.map +1 -0
- package/dist/src/resources/project-metrics-resource.js +487 -0
- package/dist/src/resources/project-metrics-resource.js.map +1 -0
- package/dist/src/resources/project-status-resource.d.ts +75 -0
- package/dist/src/resources/project-status-resource.d.ts.map +1 -0
- package/dist/src/resources/project-status-resource.js +189 -0
- package/dist/src/resources/project-status-resource.js.map +1 -0
- package/dist/src/resources/research-by-topic-resource.d.ts +21 -0
- package/dist/src/resources/research-by-topic-resource.d.ts.map +1 -0
- package/dist/src/resources/research-by-topic-resource.js +125 -0
- package/dist/src/resources/research-by-topic-resource.js.map +1 -0
- package/dist/src/resources/research-index-resource.d.ts +100 -0
- package/dist/src/resources/research-index-resource.d.ts.map +1 -0
- package/dist/src/resources/research-index-resource.js +200 -0
- package/dist/src/resources/research-index-resource.js.map +1 -0
- package/dist/src/resources/resource-cache.d.ts +144 -0
- package/dist/src/resources/resource-cache.d.ts.map +1 -0
- package/dist/src/resources/resource-cache.js +316 -0
- package/dist/src/resources/resource-cache.js.map +1 -0
- package/dist/src/resources/resource-router.d.ts +45 -0
- package/dist/src/resources/resource-router.d.ts.map +1 -0
- package/dist/src/resources/resource-router.js +96 -0
- package/dist/src/resources/resource-router.js.map +1 -0
- package/dist/src/resources/rule-by-id-resource.d.ts +38 -0
- package/dist/src/resources/rule-by-id-resource.d.ts.map +1 -0
- package/dist/src/resources/rule-by-id-resource.js +104 -0
- package/dist/src/resources/rule-by-id-resource.js.map +1 -0
- package/dist/src/resources/rule-catalog-resource.d.ts +126 -0
- package/dist/src/resources/rule-catalog-resource.d.ts.map +1 -0
- package/dist/src/resources/rule-catalog-resource.js +224 -0
- package/dist/src/resources/rule-catalog-resource.js.map +1 -0
- package/dist/src/resources/rule-generation-resource.d.ts +80 -0
- package/dist/src/resources/rule-generation-resource.d.ts.map +1 -0
- package/dist/src/resources/rule-generation-resource.js +282 -0
- package/dist/src/resources/rule-generation-resource.js.map +1 -0
- package/dist/src/resources/technology-by-name-resource.d.ts +43 -0
- package/dist/src/resources/technology-by-name-resource.d.ts.map +1 -0
- package/dist/src/resources/technology-by-name-resource.js +176 -0
- package/dist/src/resources/technology-by-name-resource.js.map +1 -0
- package/dist/src/resources/todo-by-id-resource.d.ts +46 -0
- package/dist/src/resources/todo-by-id-resource.d.ts.map +1 -0
- package/dist/src/resources/todo-by-id-resource.js +192 -0
- package/dist/src/resources/todo-by-id-resource.js.map +1 -0
- package/dist/src/resources/todo-list-resource.d.ts +96 -0
- package/dist/src/resources/todo-list-resource.d.ts.map +1 -0
- package/dist/src/resources/todo-list-resource.js +209 -0
- package/dist/src/resources/todo-list-resource.js.map +1 -0
- package/dist/src/resources/validated-pattern-by-platform-resource.d.ts +14 -0
- package/dist/src/resources/validated-pattern-by-platform-resource.d.ts.map +1 -0
- package/dist/src/resources/validated-pattern-by-platform-resource.js +45 -0
- package/dist/src/resources/validated-pattern-by-platform-resource.js.map +1 -0
- package/dist/src/resources/validated-patterns-catalog-resource.d.ts +36 -0
- package/dist/src/resources/validated-patterns-catalog-resource.d.ts.map +1 -0
- package/dist/src/resources/validated-patterns-catalog-resource.js +57 -0
- package/dist/src/resources/validated-patterns-catalog-resource.js.map +1 -0
- package/dist/src/templates/domain-knowledge-templates.d.ts.map +1 -1
- package/dist/src/templates/domain-knowledge-templates.js +49 -49
- package/dist/src/templates/domain-knowledge-templates.js.map +1 -1
- package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-bootstrap-validation-tool.js +214 -4
- package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.d.ts +2 -2
- package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +129 -12
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/adr-validation-tool.d.ts +98 -0
- package/dist/src/tools/adr-validation-tool.d.ts.map +1 -0
- package/dist/src/tools/adr-validation-tool.js +372 -0
- package/dist/src/tools/adr-validation-tool.js.map +1 -0
- package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +262 -0
- package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -0
- package/dist/src/tools/bootstrap-validation-loop-tool.js +1934 -0
- package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -0
- package/dist/src/tools/conversation-memory-tool.d.ts +48 -0
- package/dist/src/tools/conversation-memory-tool.d.ts.map +1 -0
- package/dist/src/tools/conversation-memory-tool.js +254 -0
- package/dist/src/tools/conversation-memory-tool.js.map +1 -0
- package/dist/src/tools/deployment-analysis-tool.d.ts.map +1 -1
- package/dist/src/tools/deployment-analysis-tool.js +82 -6
- package/dist/src/tools/deployment-analysis-tool.js.map +1 -1
- package/dist/src/tools/deployment-guidance-tool.d.ts.map +1 -1
- package/dist/src/tools/deployment-guidance-tool.js +126 -25
- package/dist/src/tools/deployment-guidance-tool.js.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.js +166 -5
- package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
- package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
- package/dist/src/tools/environment-analysis-tool.js +36 -1
- package/dist/src/tools/environment-analysis-tool.js.map +1 -1
- package/dist/src/tools/expand-analysis-tool.d.ts +23 -0
- package/dist/src/tools/expand-analysis-tool.d.ts.map +1 -0
- package/dist/src/tools/expand-analysis-tool.js +107 -0
- package/dist/src/tools/expand-analysis-tool.js.map +1 -0
- package/dist/src/tools/get-server-context-tool.d.ts +67 -0
- package/dist/src/tools/get-server-context-tool.d.ts.map +1 -0
- package/dist/src/tools/get-server-context-tool.js +75 -0
- package/dist/src/tools/get-server-context-tool.js.map +1 -0
- package/dist/src/tools/interactive-adr-planning-tool.d.ts.map +1 -1
- package/dist/src/tools/interactive-adr-planning-tool.js +82 -9
- package/dist/src/tools/interactive-adr-planning-tool.js.map +1 -1
- package/dist/src/tools/llm-cloud-management-tool.d.ts +62 -0
- package/dist/src/tools/llm-cloud-management-tool.d.ts.map +1 -0
- package/dist/src/tools/llm-cloud-management-tool.js +202 -0
- package/dist/src/tools/llm-cloud-management-tool.js.map +1 -0
- package/dist/src/tools/llm-database-management-tool.d.ts +62 -0
- package/dist/src/tools/llm-database-management-tool.d.ts.map +1 -0
- package/dist/src/tools/llm-database-management-tool.js +203 -0
- package/dist/src/tools/llm-database-management-tool.js.map +1 -0
- package/dist/src/tools/llm-web-search-tool.d.ts +59 -0
- package/dist/src/tools/llm-web-search-tool.d.ts.map +1 -0
- package/dist/src/tools/llm-web-search-tool.js +165 -0
- package/dist/src/tools/llm-web-search-tool.js.map +1 -0
- package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
- package/dist/src/tools/mcp-planning-tool.js +10 -3
- package/dist/src/tools/mcp-planning-tool.js.map +1 -1
- package/dist/src/tools/memory-loading-tool.d.ts.map +1 -1
- package/dist/src/tools/memory-loading-tool.js +4 -2
- package/dist/src/tools/memory-loading-tool.js.map +1 -1
- package/dist/src/tools/perform-research-tool.d.ts +61 -0
- package/dist/src/tools/perform-research-tool.d.ts.map +1 -0
- package/dist/src/tools/perform-research-tool.js +324 -0
- package/dist/src/tools/perform-research-tool.js.map +1 -0
- package/dist/src/tools/research-question-tool.d.ts.map +1 -1
- package/dist/src/tools/research-question-tool.js +11 -9
- package/dist/src/tools/research-question-tool.js.map +1 -1
- package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
- package/dist/src/tools/review-existing-adrs-tool.js +42 -3
- package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
- package/dist/src/tools/tool-chain-orchestrator.d.ts +15 -94
- package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
- package/dist/src/tools/tool-chain-orchestrator.js +2 -2
- package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +25 -120
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js +91 -2
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
- package/dist/src/types/ape-framework.d.ts +50 -283
- package/dist/src/types/ape-framework.d.ts.map +1 -1
- package/dist/src/types/conversation-context.d.ts.map +1 -1
- package/dist/src/types/conversation-context.js +12 -12
- package/dist/src/types/conversation-context.js.map +1 -1
- package/dist/src/types/conversation-memory.d.ts +184 -0
- package/dist/src/types/conversation-memory.d.ts.map +1 -0
- package/dist/src/types/conversation-memory.js +8 -0
- package/dist/src/types/conversation-memory.js.map +1 -0
- package/dist/src/types/index.d.ts +112 -339
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/knowledge-generation.d.ts +96 -401
- package/dist/src/types/knowledge-generation.d.ts.map +1 -1
- package/dist/src/types/knowledge-graph-schemas.d.ts +77 -715
- package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
- package/dist/src/types/knowledge-graph-schemas.js +8 -8
- package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
- package/dist/src/types/memory-entities.d.ts +1230 -6164
- package/dist/src/types/memory-entities.d.ts.map +1 -1
- package/dist/src/types/memory-entities.js +8 -8
- package/dist/src/types/memory-entities.js.map +1 -1
- package/dist/src/types/reflexion-framework.d.ts +35 -264
- package/dist/src/types/reflexion-framework.d.ts.map +1 -1
- package/dist/src/types/reflexion-framework.js +1 -1
- package/dist/src/types/reflexion-framework.js.map +1 -1
- package/dist/src/types/state-reinforcement.d.ts +87 -0
- package/dist/src/types/state-reinforcement.d.ts.map +1 -0
- package/dist/src/types/state-reinforcement.js +5 -0
- package/dist/src/types/state-reinforcement.js.map +1 -0
- package/dist/src/types/tiered-response.d.ts +61 -0
- package/dist/src/types/tiered-response.d.ts.map +1 -0
- package/dist/src/types/tiered-response.js +8 -0
- package/dist/src/types/tiered-response.js.map +1 -0
- package/dist/src/types/tool-context.d.ts +50 -0
- package/dist/src/types/tool-context.d.ts.map +1 -0
- package/dist/src/types/tool-context.js +20 -0
- package/dist/src/types/tool-context.js.map +1 -0
- package/dist/src/utils/adr-action-analyzer.d.ts +23 -0
- package/dist/src/utils/adr-action-analyzer.d.ts.map +1 -0
- package/dist/src/utils/adr-action-analyzer.js +323 -0
- package/dist/src/utils/adr-action-analyzer.js.map +1 -0
- package/dist/src/utils/adr-context-detector.d.ts +33 -0
- package/dist/src/utils/adr-context-detector.d.ts.map +1 -0
- package/dist/src/utils/adr-context-detector.js +279 -0
- package/dist/src/utils/adr-context-detector.js.map +1 -0
- package/dist/src/utils/adr-discovery.d.ts +28 -2
- package/dist/src/utils/adr-discovery.d.ts.map +1 -1
- package/dist/src/utils/adr-discovery.js +91 -7
- package/dist/src/utils/adr-discovery.js.map +1 -1
- package/dist/src/utils/adr-knowledge-initializer.d.ts +54 -0
- package/dist/src/utils/adr-knowledge-initializer.d.ts.map +1 -0
- package/dist/src/utils/adr-knowledge-initializer.js +240 -0
- package/dist/src/utils/adr-knowledge-initializer.js.map +1 -0
- package/dist/src/utils/adr-timeline-extractor.d.ts +21 -0
- package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -0
- package/dist/src/utils/adr-timeline-extractor.js +294 -0
- package/dist/src/utils/adr-timeline-extractor.js.map +1 -0
- package/dist/src/utils/adr-timeline-types.d.ts +234 -0
- package/dist/src/utils/adr-timeline-types.d.ts.map +1 -0
- package/dist/src/utils/adr-timeline-types.js +7 -0
- package/dist/src/utils/adr-timeline-types.js.map +1 -0
- package/dist/src/utils/ai-executor.d.ts +36 -0
- package/dist/src/utils/ai-executor.d.ts.map +1 -1
- package/dist/src/utils/ai-executor.js +39 -3
- package/dist/src/utils/ai-executor.js.map +1 -1
- package/dist/src/utils/apply-cot-enhancement.d.ts.map +1 -1
- package/dist/src/utils/apply-cot-enhancement.js +15 -15
- package/dist/src/utils/apply-cot-enhancement.js.map +1 -1
- package/dist/src/utils/automatic-prompt-engineering.d.ts.map +1 -1
- package/dist/src/utils/automatic-prompt-engineering.js +68 -58
- package/dist/src/utils/automatic-prompt-engineering.js.map +1 -1
- package/dist/src/utils/conditional-request.d.ts +105 -0
- package/dist/src/utils/conditional-request.d.ts.map +1 -0
- package/dist/src/utils/conditional-request.js +186 -0
- package/dist/src/utils/conditional-request.js.map +1 -0
- package/dist/src/utils/config.d.ts +72 -18
- package/dist/src/utils/config.d.ts.map +1 -1
- package/dist/src/utils/config.js +75 -0
- package/dist/src/utils/config.js.map +1 -1
- package/dist/src/utils/context-document-manager.d.ts +112 -0
- package/dist/src/utils/context-document-manager.d.ts.map +1 -0
- package/dist/src/utils/context-document-manager.js +351 -0
- package/dist/src/utils/context-document-manager.js.map +1 -0
- package/dist/src/utils/conversation-memory-manager.d.ts +86 -0
- package/dist/src/utils/conversation-memory-manager.d.ts.map +1 -0
- package/dist/src/utils/conversation-memory-manager.js +443 -0
- package/dist/src/utils/conversation-memory-manager.js.map +1 -0
- package/dist/src/utils/dag-executor.d.ts +106 -0
- package/dist/src/utils/dag-executor.d.ts.map +1 -0
- package/dist/src/utils/dag-executor.js +453 -0
- package/dist/src/utils/dag-executor.js.map +1 -0
- package/dist/src/utils/deployment-analysis.d.ts.map +1 -1
- package/dist/src/utils/deployment-analysis.js +17 -9
- package/dist/src/utils/deployment-analysis.js.map +1 -1
- package/dist/src/utils/deployment-type-registry.d.ts +52 -0
- package/dist/src/utils/deployment-type-registry.d.ts.map +1 -0
- package/dist/src/utils/deployment-type-registry.js +543 -0
- package/dist/src/utils/deployment-type-registry.js.map +1 -0
- package/dist/src/utils/dynamic-deployment-intelligence.d.ts +117 -0
- package/dist/src/utils/dynamic-deployment-intelligence.d.ts.map +1 -0
- package/dist/src/utils/dynamic-deployment-intelligence.js +445 -0
- package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -0
- package/dist/src/utils/environment-analysis.d.ts.map +1 -1
- package/dist/src/utils/environment-analysis.js +63 -44
- package/dist/src/utils/environment-analysis.js.map +1 -1
- package/dist/src/utils/environment-capability-registry.d.ts +101 -0
- package/dist/src/utils/environment-capability-registry.d.ts.map +1 -0
- package/dist/src/utils/environment-capability-registry.js +489 -0
- package/dist/src/utils/environment-capability-registry.js.map +1 -0
- package/dist/src/utils/index.d.ts +3 -3
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +3 -3
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/utils/knowledge-generation.d.ts.map +1 -1
- package/dist/src/utils/knowledge-generation.js +61 -35
- package/dist/src/utils/knowledge-generation.js.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts +19 -0
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +165 -1
- package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
- package/dist/src/utils/llm-artifact-detector.d.ts.map +1 -1
- package/dist/src/utils/llm-artifact-detector.js +28 -24
- package/dist/src/utils/llm-artifact-detector.js.map +1 -1
- package/dist/src/utils/mermaid-diagrams.d.ts +101 -0
- package/dist/src/utils/mermaid-diagrams.d.ts.map +1 -0
- package/dist/src/utils/mermaid-diagrams.js +445 -0
- package/dist/src/utils/mermaid-diagrams.js.map +1 -0
- package/dist/src/utils/monitoring.d.ts +249 -0
- package/dist/src/utils/monitoring.d.ts.map +1 -0
- package/dist/src/utils/monitoring.js +513 -0
- package/dist/src/utils/monitoring.js.map +1 -0
- package/dist/src/utils/pattern-contribution-helper.d.ts +60 -0
- package/dist/src/utils/pattern-contribution-helper.d.ts.map +1 -0
- package/dist/src/utils/pattern-contribution-helper.js +308 -0
- package/dist/src/utils/pattern-contribution-helper.js.map +1 -0
- package/dist/src/utils/pattern-loader.d.ts +183 -0
- package/dist/src/utils/pattern-loader.d.ts.map +1 -0
- package/dist/src/utils/pattern-loader.js +200 -0
- package/dist/src/utils/pattern-loader.js.map +1 -0
- package/dist/src/utils/pattern-research-utility.d.ts +107 -0
- package/dist/src/utils/pattern-research-utility.d.ts.map +1 -0
- package/dist/src/utils/pattern-research-utility.js +360 -0
- package/dist/src/utils/pattern-research-utility.js.map +1 -0
- package/dist/src/utils/pattern-to-dag-converter.d.ts +62 -0
- package/dist/src/utils/pattern-to-dag-converter.d.ts.map +1 -0
- package/dist/src/utils/pattern-to-dag-converter.js +265 -0
- package/dist/src/utils/pattern-to-dag-converter.js.map +1 -0
- package/dist/src/utils/platform-detector.d.ts +86 -0
- package/dist/src/utils/platform-detector.d.ts.map +1 -0
- package/dist/src/utils/platform-detector.js +509 -0
- package/dist/src/utils/platform-detector.js.map +1 -0
- package/dist/src/utils/prompt-composition.d.ts.map +1 -1
- package/dist/src/utils/prompt-composition.js +1 -4
- package/dist/src/utils/prompt-composition.js.map +1 -1
- package/dist/src/utils/reflexion.d.ts.map +1 -1
- package/dist/src/utils/reflexion.js +51 -42
- package/dist/src/utils/reflexion.js.map +1 -1
- package/dist/src/utils/research-integration.d.ts.map +1 -1
- package/dist/src/utils/research-integration.js +8 -2
- package/dist/src/utils/research-integration.js.map +1 -1
- package/dist/src/utils/research-orchestrator.d.ts +209 -0
- package/dist/src/utils/research-orchestrator.d.ts.map +1 -0
- package/dist/src/utils/research-orchestrator.js +863 -0
- package/dist/src/utils/research-orchestrator.js.map +1 -0
- package/dist/src/utils/research-questions.d.ts.map +1 -1
- package/dist/src/utils/research-questions.js +4 -1
- package/dist/src/utils/research-questions.js.map +1 -1
- package/dist/src/utils/resource-extractor.d.ts +57 -0
- package/dist/src/utils/resource-extractor.d.ts.map +1 -0
- package/dist/src/utils/resource-extractor.js +323 -0
- package/dist/src/utils/resource-extractor.js.map +1 -0
- package/dist/src/utils/resource-versioning.d.ts +124 -0
- package/dist/src/utils/resource-versioning.d.ts.map +1 -0
- package/dist/src/utils/resource-versioning.js +272 -0
- package/dist/src/utils/resource-versioning.js.map +1 -0
- package/dist/src/utils/root-manager.d.ts +118 -0
- package/dist/src/utils/root-manager.d.ts.map +1 -0
- package/dist/src/utils/root-manager.js +154 -0
- package/dist/src/utils/root-manager.js.map +1 -0
- package/dist/src/utils/rule-generation.d.ts.map +1 -1
- package/dist/src/utils/rule-generation.js +4 -1
- package/dist/src/utils/rule-generation.js.map +1 -1
- package/dist/src/utils/server-context-generator.d.ts +47 -0
- package/dist/src/utils/server-context-generator.d.ts.map +1 -0
- package/dist/src/utils/server-context-generator.js +666 -0
- package/dist/src/utils/server-context-generator.js.map +1 -0
- package/dist/src/utils/state-reinforcement-manager.d.ts +60 -0
- package/dist/src/utils/state-reinforcement-manager.d.ts.map +1 -0
- package/dist/src/utils/state-reinforcement-manager.js +200 -0
- package/dist/src/utils/state-reinforcement-manager.js.map +1 -0
- package/dist/src/utils/system-card-manager.d.ts +194 -0
- package/dist/src/utils/system-card-manager.d.ts.map +1 -0
- package/dist/src/utils/system-card-manager.js +336 -0
- package/dist/src/utils/system-card-manager.js.map +1 -0
- package/dist/src/utils/tiered-response-manager.d.ts +40 -0
- package/dist/src/utils/tiered-response-manager.d.ts.map +1 -0
- package/dist/src/utils/tiered-response-manager.js +243 -0
- package/dist/src/utils/tiered-response-manager.js.map +1 -0
- package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -1
- package/dist/src/utils/tree-sitter-analyzer.js +83 -11
- package/dist/src/utils/tree-sitter-analyzer.js.map +1 -1
- package/dist/src/utils/validated-pattern-definitions.d.ts +219 -0
- package/dist/src/utils/validated-pattern-definitions.d.ts.map +1 -0
- package/dist/src/utils/validated-pattern-definitions.js +1511 -0
- package/dist/src/utils/validated-pattern-definitions.js.map +1 -0
- package/package.json +22 -13
- package/dist/src/prompts/todo-prompts.d.ts +0 -49
- package/dist/src/prompts/todo-prompts.d.ts.map +0 -1
- package/dist/src/prompts/todo-prompts.js +0 -824
- package/dist/src/prompts/todo-prompts.js.map +0 -1
- package/dist/src/types/todo-json-schemas.d.ts +0 -17
- package/dist/src/types/todo-json-schemas.d.ts.map +0 -1
- package/dist/src/types/todo-json-schemas.js +0 -9
- package/dist/src/types/todo-json-schemas.js.map +0 -1
- package/dist/src/utils/todo-file-watcher.d.ts +0 -14
- package/dist/src/utils/todo-file-watcher.d.ts.map +0 -1
- package/dist/src/utils/todo-file-watcher.js +0 -25
- package/dist/src/utils/todo-file-watcher.js.map +0 -1
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mermaid Diagram Generation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides standardized mermaid diagram generation for ADRs and documentation.
|
|
5
|
+
* Supports workflow diagrams, sequence diagrams, state diagrams, and more.
|
|
6
|
+
*/
|
|
7
|
+
// ============================================================================
|
|
8
|
+
// Interactive ADR Planning Diagrams
|
|
9
|
+
// ============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Generate workflow diagram for interactive ADR planning
|
|
12
|
+
*/
|
|
13
|
+
export function generateInteractiveADRWorkflow(phases, currentPhase) {
|
|
14
|
+
const sortedPhases = phases.sort((a, b) => a.order - b.order);
|
|
15
|
+
let diagram = '```mermaid\ngraph LR\n';
|
|
16
|
+
sortedPhases.forEach((phase, index) => {
|
|
17
|
+
const nodeId = `P${index + 1}`;
|
|
18
|
+
const nextNodeId = `P${index + 2}`;
|
|
19
|
+
// Add styling based on status
|
|
20
|
+
let style = '';
|
|
21
|
+
if (phase.status === 'completed') {
|
|
22
|
+
style = ':::completed';
|
|
23
|
+
}
|
|
24
|
+
else if (phase.status === 'in_progress' || phase.id === currentPhase) {
|
|
25
|
+
style = ':::inProgress';
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
style = ':::pending';
|
|
29
|
+
}
|
|
30
|
+
// Format node label
|
|
31
|
+
const label = phase.name.replace(/\n/g, '<br/>');
|
|
32
|
+
diagram += ` ${nodeId}["${label}"]${style}\n`;
|
|
33
|
+
// Add connection to next phase
|
|
34
|
+
if (index < sortedPhases.length - 1) {
|
|
35
|
+
diagram += ` ${nodeId} --> ${nextNodeId}\n`;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
// Add styling definitions
|
|
39
|
+
diagram += '\n';
|
|
40
|
+
diagram += ' classDef completed fill:#d4edda,stroke:#28a745,stroke-width:2px\n';
|
|
41
|
+
diagram += ' classDef inProgress fill:#fff3cd,stroke:#ffc107,stroke-width:3px\n';
|
|
42
|
+
diagram += ' classDef pending fill:#f8f9fa,stroke:#6c757d,stroke-width:1px\n';
|
|
43
|
+
diagram += '```\n';
|
|
44
|
+
return diagram;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Generate detailed phase breakdown diagram
|
|
48
|
+
*/
|
|
49
|
+
export function generateADRPlanningDetailedFlow() {
|
|
50
|
+
return `\`\`\`mermaid
|
|
51
|
+
graph TB
|
|
52
|
+
Start([Start ADR Planning]) --> P1[Problem Definition]
|
|
53
|
+
|
|
54
|
+
P1 --> P1A[Clarify Challenge]
|
|
55
|
+
P1A --> P1B[Identify Stakeholders]
|
|
56
|
+
P1B --> P1C[Define Success Criteria]
|
|
57
|
+
P1C --> P2[Research & Analysis]
|
|
58
|
+
|
|
59
|
+
P2 --> P2A[Gather Context]
|
|
60
|
+
P2A --> P2B[Review Documentation]
|
|
61
|
+
P2B --> P2C[Analyze Codebase]
|
|
62
|
+
P2C --> P3[Option Exploration]
|
|
63
|
+
|
|
64
|
+
P3 --> P3A[Identify Alternatives]
|
|
65
|
+
P3A --> P3B[Evaluate Pros/Cons]
|
|
66
|
+
P3B --> P3C[Assess Risks]
|
|
67
|
+
P3C --> P4[Decision Making]
|
|
68
|
+
|
|
69
|
+
P4 --> P4A[Select Approach]
|
|
70
|
+
P4A --> P4B[Document Rationale]
|
|
71
|
+
P4B --> P4C[Define Tradeoffs]
|
|
72
|
+
P4C --> P5[Impact Assessment]
|
|
73
|
+
|
|
74
|
+
P5 --> P5A[Technical Impact]
|
|
75
|
+
P5A --> P5B[Business Impact]
|
|
76
|
+
P5B --> P5C[Team Impact]
|
|
77
|
+
P5C --> P6[Implementation Planning]
|
|
78
|
+
|
|
79
|
+
P6 --> P6A[Generate TODOs]
|
|
80
|
+
P6A --> P6B[Estimate Timeline]
|
|
81
|
+
P6B --> P6C[Identify Dependencies]
|
|
82
|
+
P6C --> P7[ADR Generation]
|
|
83
|
+
|
|
84
|
+
P7 --> P7A[Create Document]
|
|
85
|
+
P7A --> P7B[Add Diagrams]
|
|
86
|
+
P7B --> P7C[Review & Finalize]
|
|
87
|
+
P7C --> End([ADR Complete])
|
|
88
|
+
|
|
89
|
+
style Start fill:#e1f5ff
|
|
90
|
+
style End fill:#d4edda
|
|
91
|
+
style P4 fill:#fff3cd
|
|
92
|
+
style P7 fill:#d1ecf1
|
|
93
|
+
\`\`\`
|
|
94
|
+
`;
|
|
95
|
+
}
|
|
96
|
+
// ============================================================================
|
|
97
|
+
// Deployment Guidance Diagrams
|
|
98
|
+
// ============================================================================
|
|
99
|
+
/**
|
|
100
|
+
* Generate deployment sequence diagram
|
|
101
|
+
*/
|
|
102
|
+
export function generateDeploymentSequence(steps, environment = 'production') {
|
|
103
|
+
let diagram = '```mermaid\nsequenceDiagram\n';
|
|
104
|
+
diagram += ` participant User as Developer\n`;
|
|
105
|
+
diagram += ` participant Tool as Deployment Tool\n`;
|
|
106
|
+
diagram += ` participant ADR as ADR Documents\n`;
|
|
107
|
+
diagram += ` participant Script as Deploy Scripts\n`;
|
|
108
|
+
diagram += ` participant Env as ${environment.charAt(0).toUpperCase() + environment.slice(1)} Environment\n\n`;
|
|
109
|
+
// Add sequence steps
|
|
110
|
+
steps.forEach((step, index) => {
|
|
111
|
+
const from = step.participant || 'Tool';
|
|
112
|
+
const to = step.target || 'Env';
|
|
113
|
+
const message = step.action;
|
|
114
|
+
diagram += ` ${from}->>${to}: ${message}\n`;
|
|
115
|
+
if (step.validation) {
|
|
116
|
+
diagram += ` ${to}-->>Tool: ${step.validation}\n`;
|
|
117
|
+
}
|
|
118
|
+
if (index < steps.length - 1 && step.phase !== steps[index + 1]?.phase) {
|
|
119
|
+
diagram += `\n Note over User,Env: Phase ${index + 1} Complete\n\n`;
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
diagram += '```\n';
|
|
123
|
+
return diagram;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Generate deployment workflow diagram
|
|
127
|
+
*/
|
|
128
|
+
export function generateDeploymentWorkflow(platform, phases) {
|
|
129
|
+
let diagram = '```mermaid\nflowchart TD\n';
|
|
130
|
+
diagram += ` Start([Start Deployment]) --> Detect[Detect Platform]\n`;
|
|
131
|
+
diagram += ` Detect --> Platform{Platform:<br/>${platform}}\n`;
|
|
132
|
+
diagram += ` Platform --> LoadADR[Read ADR Decisions]\n`;
|
|
133
|
+
diagram += ` LoadADR --> GenScripts[Generate Deploy Scripts]\n\n`;
|
|
134
|
+
// Add phases
|
|
135
|
+
phases.forEach((phase, index) => {
|
|
136
|
+
const phaseId = `Phase${index + 1}`;
|
|
137
|
+
diagram += ` ${index === 0 ? 'GenScripts' : `Phase${index}`} --> ${phaseId}[${phase}]\n`;
|
|
138
|
+
});
|
|
139
|
+
const lastPhaseId = `Phase${phases.length}`;
|
|
140
|
+
diagram += `\n ${lastPhaseId} --> Validate{Validation<br/>Passed?}\n`;
|
|
141
|
+
diagram += ` Validate -->|No| Fix[Auto-fix Issues]\n`;
|
|
142
|
+
diagram += ` Fix --> ${lastPhaseId}\n`;
|
|
143
|
+
diagram += ` Validate -->|Yes| Success([✅ Deployment Success])\n\n`;
|
|
144
|
+
// Add styling
|
|
145
|
+
diagram += ` style Start fill:#e1f5ff\n`;
|
|
146
|
+
diagram += ` style Platform fill:#fff3cd\n`;
|
|
147
|
+
diagram += ` style Success fill:#d4edda\n`;
|
|
148
|
+
diagram += ` style Fix fill:#f8d7da\n`;
|
|
149
|
+
diagram += '```\n';
|
|
150
|
+
return diagram;
|
|
151
|
+
}
|
|
152
|
+
// ============================================================================
|
|
153
|
+
// ADR Suggestion Diagrams
|
|
154
|
+
// ============================================================================
|
|
155
|
+
/**
|
|
156
|
+
* Generate implicit decision detection flow
|
|
157
|
+
*/
|
|
158
|
+
export function generateImplicitDecisionFlow() {
|
|
159
|
+
return `\`\`\`mermaid
|
|
160
|
+
graph TB
|
|
161
|
+
Start([Scan Codebase]) --> Analyze[Code Analysis]
|
|
162
|
+
|
|
163
|
+
Analyze --> TreeSitter[Tree-sitter AST<br/>Parsing]
|
|
164
|
+
Analyze --> Pattern[Pattern Detection]
|
|
165
|
+
Analyze --> Deps[Dependency Analysis]
|
|
166
|
+
|
|
167
|
+
TreeSitter --> Detect[Detect Implicit<br/>Decisions]
|
|
168
|
+
Pattern --> Detect
|
|
169
|
+
Deps --> Detect
|
|
170
|
+
|
|
171
|
+
Detect --> Type{Decision<br/>Type?}
|
|
172
|
+
|
|
173
|
+
Type -->|Architecture| A1[Layered Architecture]
|
|
174
|
+
Type -->|Architecture| A2[Microservices]
|
|
175
|
+
Type -->|Architecture| A3[Event-Driven]
|
|
176
|
+
|
|
177
|
+
Type -->|Technology| T1[Framework Choice]
|
|
178
|
+
Type -->|Technology| T2[Database Selection]
|
|
179
|
+
Type -->|Technology| T3[Build Tools]
|
|
180
|
+
|
|
181
|
+
Type -->|Security| S1[Authentication]
|
|
182
|
+
Type -->|Security| S2[Authorization]
|
|
183
|
+
Type -->|Security| S3[Encryption]
|
|
184
|
+
|
|
185
|
+
Type -->|Performance| P1[Caching Strategy]
|
|
186
|
+
Type -->|Performance| P2[Load Balancing]
|
|
187
|
+
Type -->|Performance| P3[Optimization]
|
|
188
|
+
|
|
189
|
+
A1 --> Priority[Prioritize Suggestions]
|
|
190
|
+
A2 --> Priority
|
|
191
|
+
A3 --> Priority
|
|
192
|
+
T1 --> Priority
|
|
193
|
+
T2 --> Priority
|
|
194
|
+
T3 --> Priority
|
|
195
|
+
S1 --> Priority
|
|
196
|
+
S2 --> Priority
|
|
197
|
+
S3 --> Priority
|
|
198
|
+
P1 --> Priority
|
|
199
|
+
P2 --> Priority
|
|
200
|
+
P3 --> Priority
|
|
201
|
+
|
|
202
|
+
Priority --> Confidence{Confidence<br/>>80%?}
|
|
203
|
+
Confidence -->|Yes| High[High Priority ADR]
|
|
204
|
+
Confidence -->|No| Review[Requires Review]
|
|
205
|
+
|
|
206
|
+
High --> Output[Generate ADR<br/>Suggestions]
|
|
207
|
+
Review --> Output
|
|
208
|
+
|
|
209
|
+
Output --> End([Present to User])
|
|
210
|
+
|
|
211
|
+
style Start fill:#e1f5ff
|
|
212
|
+
style Detect fill:#fff3cd
|
|
213
|
+
style Type fill:#fff3cd
|
|
214
|
+
style High fill:#d4edda
|
|
215
|
+
style Review fill:#f8d7da
|
|
216
|
+
style End fill:#d1ecf1
|
|
217
|
+
\`\`\`
|
|
218
|
+
`;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Generate code change analysis flow
|
|
222
|
+
*/
|
|
223
|
+
export function generateCodeChangeAnalysisFlow() {
|
|
224
|
+
return `\`\`\`mermaid
|
|
225
|
+
sequenceDiagram
|
|
226
|
+
participant User as Developer
|
|
227
|
+
participant Tool as ADR Suggestion Tool
|
|
228
|
+
participant Code as Codebase
|
|
229
|
+
participant AI as AI Analysis
|
|
230
|
+
participant ADR as ADR Suggestions
|
|
231
|
+
|
|
232
|
+
User->>Tool: Provide code changes
|
|
233
|
+
Tool->>Code: Analyze before code
|
|
234
|
+
Tool->>Code: Analyze after code
|
|
235
|
+
Code-->>Tool: Code differences
|
|
236
|
+
|
|
237
|
+
Tool->>AI: Semantic analysis
|
|
238
|
+
AI->>AI: Detect architectural impact
|
|
239
|
+
AI->>AI: Identify decision patterns
|
|
240
|
+
AI-->>Tool: Analysis results
|
|
241
|
+
|
|
242
|
+
Tool->>Tool: Classify changes
|
|
243
|
+
Note over Tool: Architecture, Security,<br/>Performance, Data
|
|
244
|
+
|
|
245
|
+
Tool->>ADR: Generate suggestions
|
|
246
|
+
ADR->>ADR: Rank by importance
|
|
247
|
+
ADR->>ADR: Add context & rationale
|
|
248
|
+
ADR-->>User: Prioritized ADR list
|
|
249
|
+
|
|
250
|
+
User->>User: Review suggestions
|
|
251
|
+
User->>ADR: Approve ADR creation
|
|
252
|
+
\`\`\`
|
|
253
|
+
`;
|
|
254
|
+
}
|
|
255
|
+
// ============================================================================
|
|
256
|
+
// Deployment Readiness Diagrams
|
|
257
|
+
// ============================================================================
|
|
258
|
+
/**
|
|
259
|
+
* Generate deployment readiness validation flow
|
|
260
|
+
*/
|
|
261
|
+
export function generateDeploymentReadinessFlow(strictMode = true) {
|
|
262
|
+
const tolerance = strictMode ? '0 failures' : 'Low tolerance';
|
|
263
|
+
return `\`\`\`mermaid
|
|
264
|
+
flowchart TD
|
|
265
|
+
Start([Check Deployment Readiness]) --> Tests[Run All Tests]
|
|
266
|
+
|
|
267
|
+
Tests --> Unit[Unit Tests]
|
|
268
|
+
Tests --> Integration[Integration Tests]
|
|
269
|
+
Tests --> E2E[End-to-End Tests]
|
|
270
|
+
|
|
271
|
+
Unit --> Coverage{Test Coverage<br/>≥80%?}
|
|
272
|
+
Integration --> Coverage
|
|
273
|
+
E2E --> Coverage
|
|
274
|
+
|
|
275
|
+
Coverage -->|No| Block1[❌ BLOCKED<br/>Insufficient Coverage]
|
|
276
|
+
Coverage -->|Yes| Failures{Test<br/>Failures?}
|
|
277
|
+
|
|
278
|
+
Failures -->|Yes| Block2[❌ BLOCKED<br/>${tolerance}]
|
|
279
|
+
Failures -->|No| Quality[Code Quality Checks]
|
|
280
|
+
|
|
281
|
+
Quality --> Lint[Linting]
|
|
282
|
+
Quality --> Type[Type Checking]
|
|
283
|
+
Quality --> Format[Formatting]
|
|
284
|
+
|
|
285
|
+
Lint --> QualityPass{All Checks<br/>Pass?}
|
|
286
|
+
Type --> QualityPass
|
|
287
|
+
Format --> QualityPass
|
|
288
|
+
|
|
289
|
+
QualityPass -->|No| Block3[❌ BLOCKED<br/>Quality Issues]
|
|
290
|
+
QualityPass -->|Yes| ADR[ADR Compliance Check]
|
|
291
|
+
|
|
292
|
+
ADR --> Impl{All ADRs<br/>Implemented?}
|
|
293
|
+
Impl -->|No| Block4[❌ BLOCKED<br/>Missing Implementation]
|
|
294
|
+
Impl -->|Yes| Mock[Mock vs Production Check]
|
|
295
|
+
|
|
296
|
+
Mock --> RealCode{Production-Ready<br/>Code?}
|
|
297
|
+
RealCode -->|No| Block5[❌ BLOCKED<br/>Mock Implementation]
|
|
298
|
+
RealCode -->|Yes| Config[Configuration Validation]
|
|
299
|
+
|
|
300
|
+
Config --> Secrets{Secrets<br/>Configured?}
|
|
301
|
+
Secrets -->|No| Block6[❌ BLOCKED<br/>Missing Secrets]
|
|
302
|
+
Secrets -->|Yes| Env{Environment<br/>Variables Set?}
|
|
303
|
+
|
|
304
|
+
Env -->|No| Block7[❌ BLOCKED<br/>Missing Env Vars]
|
|
305
|
+
Env -->|Yes| Ready[✅ READY TO DEPLOY]
|
|
306
|
+
|
|
307
|
+
Ready --> Score[Deployment Score:<br/>100/100]
|
|
308
|
+
|
|
309
|
+
Block1 --> Report[Generate Detailed<br/>Failure Report]
|
|
310
|
+
Block2 --> Report
|
|
311
|
+
Block3 --> Report
|
|
312
|
+
Block4 --> Report
|
|
313
|
+
Block5 --> Report
|
|
314
|
+
Block6 --> Report
|
|
315
|
+
Block7 --> Report
|
|
316
|
+
|
|
317
|
+
Report --> Remediation[Provide Fix Steps]
|
|
318
|
+
|
|
319
|
+
style Start fill:#e1f5ff
|
|
320
|
+
style Ready fill:#d4edda
|
|
321
|
+
style Score fill:#d4edda
|
|
322
|
+
style Block1 fill:#f8d7da
|
|
323
|
+
style Block2 fill:#f8d7da
|
|
324
|
+
style Block3 fill:#f8d7da
|
|
325
|
+
style Block4 fill:#f8d7da
|
|
326
|
+
style Block5 fill:#f8d7da
|
|
327
|
+
style Block6 fill:#f8d7da
|
|
328
|
+
style Block7 fill:#f8d7da
|
|
329
|
+
style Report fill:#fff3cd
|
|
330
|
+
\`\`\`
|
|
331
|
+
`;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Generate test validation pyramid
|
|
335
|
+
*/
|
|
336
|
+
export function generateTestValidationPyramid() {
|
|
337
|
+
return `\`\`\`mermaid
|
|
338
|
+
graph TB
|
|
339
|
+
subgraph "Test Pyramid"
|
|
340
|
+
E2E[End-to-End Tests<br/>10% of tests]
|
|
341
|
+
Integration[Integration Tests<br/>30% of tests]
|
|
342
|
+
Unit[Unit Tests<br/>60% of tests]
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
E2E --> Integration
|
|
346
|
+
Integration --> Unit
|
|
347
|
+
|
|
348
|
+
Unit --> Coverage{Coverage<br/>≥80%?}
|
|
349
|
+
Coverage -->|Yes| Pass[✅ Tests Pass]
|
|
350
|
+
Coverage -->|No| Fail[❌ Blocked]
|
|
351
|
+
|
|
352
|
+
style E2E fill:#fff3cd
|
|
353
|
+
style Integration fill:#cfe2ff
|
|
354
|
+
style Unit fill:#e1f5ff
|
|
355
|
+
style Pass fill:#d4edda
|
|
356
|
+
style Fail fill:#f8d7da
|
|
357
|
+
\`\`\`
|
|
358
|
+
`;
|
|
359
|
+
}
|
|
360
|
+
// ============================================================================
|
|
361
|
+
// Tool Chain Orchestrator Diagrams
|
|
362
|
+
// ============================================================================
|
|
363
|
+
/**
|
|
364
|
+
* Generate tool orchestration flow
|
|
365
|
+
*/
|
|
366
|
+
export function generateToolOrchestrationFlow(tools) {
|
|
367
|
+
let diagram = '```mermaid\ngraph LR\n';
|
|
368
|
+
diagram += ' Start([User Request]) --> AI[AI Planning]\n';
|
|
369
|
+
diagram += ' AI --> Analyze[Analyze Request]\n';
|
|
370
|
+
diagram += ' Analyze --> Plan[Generate Tool Sequence]\n\n';
|
|
371
|
+
const sortedTools = tools.sort((a, b) => a.order - b.order);
|
|
372
|
+
sortedTools.forEach((tool, index) => {
|
|
373
|
+
const toolId = `T${index + 1}`;
|
|
374
|
+
diagram += ` ${index === 0 ? 'Plan' : `T${index}`} --> ${toolId}[${tool.name}]\n`;
|
|
375
|
+
if (tool.depends && tool.depends.length > 0) {
|
|
376
|
+
diagram += ` Note right of ${toolId}: Depends on:<br/>${tool.depends.join(', ')}\n`;
|
|
377
|
+
}
|
|
378
|
+
});
|
|
379
|
+
const lastToolId = `T${sortedTools.length}`;
|
|
380
|
+
diagram += `\n ${lastToolId} --> Validate{All Tools<br/>Succeeded?}\n`;
|
|
381
|
+
diagram += ` Validate -->|No| Retry[Retry Failed Tools]\n`;
|
|
382
|
+
diagram += ` Retry --> ${lastToolId}\n`;
|
|
383
|
+
diagram += ` Validate -->|Yes| Result[Combine Results]\n`;
|
|
384
|
+
diagram += ` Result --> End([Return to User])\n\n`;
|
|
385
|
+
// Add styling
|
|
386
|
+
diagram += ' style Start fill:#e1f5ff\n';
|
|
387
|
+
diagram += ' style AI fill:#fff3cd\n';
|
|
388
|
+
diagram += ' style End fill:#d4edda\n';
|
|
389
|
+
diagram += ' style Retry fill:#f8d7da\n';
|
|
390
|
+
diagram += '```\n';
|
|
391
|
+
return diagram;
|
|
392
|
+
}
|
|
393
|
+
// ============================================================================
|
|
394
|
+
// Helper Functions
|
|
395
|
+
// ============================================================================
|
|
396
|
+
/**
|
|
397
|
+
* Sanitize text for mermaid diagram labels
|
|
398
|
+
*/
|
|
399
|
+
export function sanitizeMermaidLabel(text) {
|
|
400
|
+
return text.replace(/"/g, "'").replace(/\[/g, '(').replace(/]/g, ')').replace(/\n/g, '<br/>');
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Generate a simple state diagram
|
|
404
|
+
*/
|
|
405
|
+
export function generateStateFlow(states) {
|
|
406
|
+
let diagram = '```mermaid\nstateDiagram-v2\n';
|
|
407
|
+
states.forEach((state, index) => {
|
|
408
|
+
if (state.type === 'start') {
|
|
409
|
+
diagram += ` [*] --> ${state.id}\n`;
|
|
410
|
+
}
|
|
411
|
+
diagram += ` ${state.id}: ${sanitizeMermaidLabel(state.label)}\n`;
|
|
412
|
+
if (index < states.length - 1) {
|
|
413
|
+
diagram += ` ${state.id} --> ${states[index + 1]?.id}\n`;
|
|
414
|
+
}
|
|
415
|
+
if (state.type === 'end') {
|
|
416
|
+
diagram += ` ${state.id} --> [*]\n`;
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
diagram += '```\n';
|
|
420
|
+
return diagram;
|
|
421
|
+
}
|
|
422
|
+
// ============================================================================
|
|
423
|
+
// Export all diagram generators
|
|
424
|
+
// ============================================================================
|
|
425
|
+
export const MermaidDiagrams = {
|
|
426
|
+
// Interactive ADR Planning
|
|
427
|
+
generateInteractiveADRWorkflow,
|
|
428
|
+
generateADRPlanningDetailedFlow,
|
|
429
|
+
// Deployment Guidance
|
|
430
|
+
generateDeploymentSequence,
|
|
431
|
+
generateDeploymentWorkflow,
|
|
432
|
+
// ADR Suggestions
|
|
433
|
+
generateImplicitDecisionFlow,
|
|
434
|
+
generateCodeChangeAnalysisFlow,
|
|
435
|
+
// Deployment Readiness
|
|
436
|
+
generateDeploymentReadinessFlow,
|
|
437
|
+
generateTestValidationPyramid,
|
|
438
|
+
// Tool Orchestration
|
|
439
|
+
generateToolOrchestrationFlow,
|
|
440
|
+
// Helpers
|
|
441
|
+
sanitizeMermaidLabel,
|
|
442
|
+
generateStateFlow,
|
|
443
|
+
};
|
|
444
|
+
export default MermaidDiagrams;
|
|
445
|
+
//# sourceMappingURL=mermaid-diagrams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mermaid-diagrams.js","sourceRoot":"","sources":["../../../src/utils/mermaid-diagrams.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Monitoring and Analytics Framework
|
|
3
|
+
*
|
|
4
|
+
* Provides comprehensive monitoring and analytics for MCP server:
|
|
5
|
+
* - Request/response tracking
|
|
6
|
+
* - Performance metrics (latency, throughput)
|
|
7
|
+
* - Error tracking and reporting
|
|
8
|
+
* - Resource usage analytics
|
|
9
|
+
* - Cache performance metrics
|
|
10
|
+
* - Tool execution metrics
|
|
11
|
+
* - Health checks
|
|
12
|
+
* - Metrics aggregation and reporting
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Metric types for categorization
|
|
16
|
+
*/
|
|
17
|
+
export declare enum MetricType {
|
|
18
|
+
COUNTER = "counter",
|
|
19
|
+
GAUGE = "gauge",
|
|
20
|
+
HISTOGRAM = "histogram",
|
|
21
|
+
TIMER = "timer"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Metric category for organization
|
|
25
|
+
*/
|
|
26
|
+
export declare enum MetricCategory {
|
|
27
|
+
REQUEST = "request",
|
|
28
|
+
RESOURCE = "resource",
|
|
29
|
+
TOOL = "tool",
|
|
30
|
+
CACHE = "cache",
|
|
31
|
+
ERROR = "error",
|
|
32
|
+
PERFORMANCE = "performance",
|
|
33
|
+
SYSTEM = "system"
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Individual metric data point
|
|
37
|
+
*/
|
|
38
|
+
export interface Metric {
|
|
39
|
+
name: string;
|
|
40
|
+
type: MetricType;
|
|
41
|
+
category: MetricCategory;
|
|
42
|
+
value: number;
|
|
43
|
+
timestamp: string;
|
|
44
|
+
tags?: Record<string, string>;
|
|
45
|
+
metadata?: Record<string, any>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Aggregated metric statistics
|
|
49
|
+
*/
|
|
50
|
+
export interface MetricStats {
|
|
51
|
+
count: number;
|
|
52
|
+
sum: number;
|
|
53
|
+
min: number;
|
|
54
|
+
max: number;
|
|
55
|
+
avg: number;
|
|
56
|
+
p50: number;
|
|
57
|
+
p95: number;
|
|
58
|
+
p99: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Health check result
|
|
62
|
+
*/
|
|
63
|
+
export interface HealthCheck {
|
|
64
|
+
name: string;
|
|
65
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
66
|
+
message?: string;
|
|
67
|
+
timestamp: string;
|
|
68
|
+
duration: number;
|
|
69
|
+
metadata?: Record<string, any>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Request tracking data
|
|
73
|
+
*/
|
|
74
|
+
export interface RequestMetrics {
|
|
75
|
+
requestId: string;
|
|
76
|
+
type: 'tool' | 'resource' | 'prompt';
|
|
77
|
+
name: string;
|
|
78
|
+
startTime: string;
|
|
79
|
+
endTime?: string;
|
|
80
|
+
duration?: number;
|
|
81
|
+
status: 'pending' | 'success' | 'error';
|
|
82
|
+
error?: string;
|
|
83
|
+
metadata?: Record<string, any>;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Performance snapshot
|
|
87
|
+
*/
|
|
88
|
+
export interface PerformanceSnapshot {
|
|
89
|
+
timestamp: string;
|
|
90
|
+
requests: {
|
|
91
|
+
total: number;
|
|
92
|
+
success: number;
|
|
93
|
+
error: number;
|
|
94
|
+
pending: number;
|
|
95
|
+
};
|
|
96
|
+
latency: {
|
|
97
|
+
p50: number;
|
|
98
|
+
p95: number;
|
|
99
|
+
p99: number;
|
|
100
|
+
avg: number;
|
|
101
|
+
};
|
|
102
|
+
throughput: {
|
|
103
|
+
requestsPerSecond: number;
|
|
104
|
+
requestsPerMinute: number;
|
|
105
|
+
};
|
|
106
|
+
cache: {
|
|
107
|
+
hitRate: number;
|
|
108
|
+
totalHits: number;
|
|
109
|
+
totalMisses: number;
|
|
110
|
+
};
|
|
111
|
+
errors: {
|
|
112
|
+
total: number;
|
|
113
|
+
byType: Record<string, number>;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Monitoring configuration
|
|
118
|
+
*/
|
|
119
|
+
export interface MonitoringConfig {
|
|
120
|
+
enabled: boolean;
|
|
121
|
+
metricsRetentionMs: number;
|
|
122
|
+
aggregationIntervalMs: number;
|
|
123
|
+
maxMetricsInMemory: number;
|
|
124
|
+
enableHealthChecks: boolean;
|
|
125
|
+
healthCheckIntervalMs: number;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Monitoring manager class
|
|
129
|
+
*/
|
|
130
|
+
export declare class MonitoringManager {
|
|
131
|
+
private config;
|
|
132
|
+
private metrics;
|
|
133
|
+
private requests;
|
|
134
|
+
private healthChecks;
|
|
135
|
+
private aggregationTimer;
|
|
136
|
+
private healthCheckTimer;
|
|
137
|
+
private startTime;
|
|
138
|
+
constructor(config?: Partial<MonitoringConfig>);
|
|
139
|
+
/**
|
|
140
|
+
* Record a counter metric (incrementing value)
|
|
141
|
+
*/
|
|
142
|
+
recordCounter(name: string, category: MetricCategory, value?: number, tags?: Record<string, string>, metadata?: Record<string, any>): void;
|
|
143
|
+
/**
|
|
144
|
+
* Record a gauge metric (point-in-time value)
|
|
145
|
+
*/
|
|
146
|
+
recordGauge(name: string, category: MetricCategory, value: number, tags?: Record<string, string>, metadata?: Record<string, any>): void;
|
|
147
|
+
/**
|
|
148
|
+
* Record a histogram value (for distribution analysis)
|
|
149
|
+
*/
|
|
150
|
+
recordHistogram(name: string, category: MetricCategory, value: number, tags?: Record<string, string>, metadata?: Record<string, any>): void;
|
|
151
|
+
/**
|
|
152
|
+
* Start tracking a request
|
|
153
|
+
*/
|
|
154
|
+
startRequest(requestId: string, type: 'tool' | 'resource' | 'prompt', name: string, metadata?: Record<string, any>): void;
|
|
155
|
+
/**
|
|
156
|
+
* Complete a request successfully
|
|
157
|
+
*/
|
|
158
|
+
completeRequest(requestId: string, metadata?: Record<string, any>): void;
|
|
159
|
+
/**
|
|
160
|
+
* Mark a request as failed
|
|
161
|
+
*/
|
|
162
|
+
failRequest(requestId: string, error: string, metadata?: Record<string, any>): void;
|
|
163
|
+
/**
|
|
164
|
+
* Record cache hit
|
|
165
|
+
*/
|
|
166
|
+
recordCacheHit(cacheKey: string): void;
|
|
167
|
+
/**
|
|
168
|
+
* Record cache miss
|
|
169
|
+
*/
|
|
170
|
+
recordCacheMiss(cacheKey: string): void;
|
|
171
|
+
/**
|
|
172
|
+
* Register a health check
|
|
173
|
+
*/
|
|
174
|
+
registerHealthCheck(_name: string, _check: () => Promise<{
|
|
175
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
176
|
+
message?: string;
|
|
177
|
+
}>): void;
|
|
178
|
+
/**
|
|
179
|
+
* Run a health check
|
|
180
|
+
*/
|
|
181
|
+
runHealthCheck(name: string, check: () => Promise<{
|
|
182
|
+
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
183
|
+
message?: string;
|
|
184
|
+
}>): Promise<HealthCheck>;
|
|
185
|
+
/**
|
|
186
|
+
* Get all health checks
|
|
187
|
+
*/
|
|
188
|
+
getHealthChecks(): HealthCheck[];
|
|
189
|
+
/**
|
|
190
|
+
* Get overall health status
|
|
191
|
+
*/
|
|
192
|
+
getHealthStatus(): 'healthy' | 'degraded' | 'unhealthy';
|
|
193
|
+
/**
|
|
194
|
+
* Get performance snapshot
|
|
195
|
+
*/
|
|
196
|
+
getPerformanceSnapshot(): PerformanceSnapshot;
|
|
197
|
+
/**
|
|
198
|
+
* Get metric statistics by name and category
|
|
199
|
+
*/
|
|
200
|
+
getMetricStats(name: string, category: MetricCategory): MetricStats | null;
|
|
201
|
+
/**
|
|
202
|
+
* Get all metrics
|
|
203
|
+
*/
|
|
204
|
+
getMetrics(): Metric[];
|
|
205
|
+
/**
|
|
206
|
+
* Get metrics by category
|
|
207
|
+
*/
|
|
208
|
+
getMetricsByCategory(category: MetricCategory): Metric[];
|
|
209
|
+
/**
|
|
210
|
+
* Get recent requests
|
|
211
|
+
*/
|
|
212
|
+
getRecentRequests(limit?: number): RequestMetrics[];
|
|
213
|
+
/**
|
|
214
|
+
* Clear old metrics based on retention policy
|
|
215
|
+
*/
|
|
216
|
+
cleanup(): number;
|
|
217
|
+
/**
|
|
218
|
+
* Reset all metrics
|
|
219
|
+
*/
|
|
220
|
+
reset(): void;
|
|
221
|
+
/**
|
|
222
|
+
* Stop monitoring
|
|
223
|
+
*/
|
|
224
|
+
stop(): void;
|
|
225
|
+
/**
|
|
226
|
+
* Get uptime in milliseconds
|
|
227
|
+
*/
|
|
228
|
+
getUptime(): number;
|
|
229
|
+
/**
|
|
230
|
+
* Export metrics to JSON
|
|
231
|
+
*/
|
|
232
|
+
exportMetrics(): string;
|
|
233
|
+
private addMetric;
|
|
234
|
+
private getMetricSum;
|
|
235
|
+
private calculatePercentiles;
|
|
236
|
+
private calculateStats;
|
|
237
|
+
private percentile;
|
|
238
|
+
private startAggregation;
|
|
239
|
+
private startHealthChecks;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Singleton monitoring instance
|
|
243
|
+
*/
|
|
244
|
+
export declare const monitoring: MonitoringManager;
|
|
245
|
+
/**
|
|
246
|
+
* Helper to track async operations
|
|
247
|
+
*/
|
|
248
|
+
export declare function trackOperation<T>(operation: () => Promise<T>, name: string, category: MetricCategory, tags?: Record<string, string>): Promise<T>;
|
|
249
|
+
//# sourceMappingURL=monitoring.d.ts.map
|