mcp-adr-analysis-server 2.1.9 → 2.1.19
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 +420 -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 +21 -12
- 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,420 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DAG Executor for Bootstrap Validation Loop
|
|
3
|
+
*
|
|
4
|
+
* Executes tasks in a Directed Acyclic Graph (DAG) with:
|
|
5
|
+
* - Dependency resolution via topological sort
|
|
6
|
+
* - Parallel execution within layers
|
|
7
|
+
* - Fine-grained error handling and retry logic
|
|
8
|
+
* - Task-level validation and timeout support
|
|
9
|
+
*/
|
|
10
|
+
import { exec } from 'child_process';
|
|
11
|
+
import { promisify } from 'util';
|
|
12
|
+
import { EnhancedLogger } from './enhanced-logging.js';
|
|
13
|
+
import { ResourceExtractor } from './resource-extractor.js';
|
|
14
|
+
const execAsync = promisify(exec);
|
|
15
|
+
/**
|
|
16
|
+
* DAG Executor with dependency resolution and parallel execution
|
|
17
|
+
*/
|
|
18
|
+
export class DAGExecutor {
|
|
19
|
+
logger;
|
|
20
|
+
maxParallelism;
|
|
21
|
+
systemCardManager;
|
|
22
|
+
resourceExtractor;
|
|
23
|
+
constructor(maxParallelism = 5, systemCardManager) {
|
|
24
|
+
this.logger = new EnhancedLogger();
|
|
25
|
+
this.maxParallelism = maxParallelism;
|
|
26
|
+
this.systemCardManager = systemCardManager;
|
|
27
|
+
this.resourceExtractor = new ResourceExtractor();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Execute DAG with topological sort and parallel execution
|
|
31
|
+
*/
|
|
32
|
+
async execute(tasks) {
|
|
33
|
+
const startTime = Date.now();
|
|
34
|
+
this.logger.info(`🔄 Starting DAG execution with ${tasks.length} tasks`, 'DAGExecutor');
|
|
35
|
+
// 1. Validate DAG structure
|
|
36
|
+
this.validateDAG(tasks);
|
|
37
|
+
// 2. Build dependency graph
|
|
38
|
+
const graph = this.buildDependencyGraph(tasks);
|
|
39
|
+
// 3. Topological sort to determine execution layers
|
|
40
|
+
const sortedLayers = this.topologicalSort(graph);
|
|
41
|
+
this.logger.info(`📊 DAG topology: ${sortedLayers.length} layers, max parallelism: ${this.maxParallelism}`, 'DAGExecutor');
|
|
42
|
+
// 4. Execute layer by layer (parallel within layer)
|
|
43
|
+
const results = new Map();
|
|
44
|
+
const failedTasks = [];
|
|
45
|
+
const skippedTasks = [];
|
|
46
|
+
for (let layerIndex = 0; layerIndex < sortedLayers.length; layerIndex++) {
|
|
47
|
+
const layer = sortedLayers[layerIndex];
|
|
48
|
+
if (!layer) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
this.logger.info(`🔹 Executing layer ${layerIndex + 1}/${sortedLayers.length} with ${layer.length} tasks`, 'DAGExecutor');
|
|
52
|
+
// Execute all tasks in this layer in parallel (up to maxParallelism)
|
|
53
|
+
const layerResults = await this.executeLayer(layer, results);
|
|
54
|
+
for (const [taskId, result] of layerResults) {
|
|
55
|
+
results.set(taskId, result);
|
|
56
|
+
if (result.skipped) {
|
|
57
|
+
skippedTasks.push(taskId);
|
|
58
|
+
}
|
|
59
|
+
else if (!result.success) {
|
|
60
|
+
failedTasks.push(taskId);
|
|
61
|
+
// Mark dependent tasks as skipped
|
|
62
|
+
const task = tasks.find(t => t.id === taskId);
|
|
63
|
+
if (task && !task.canFailSafely) {
|
|
64
|
+
const dependents = this.getDependentTasks(taskId, tasks);
|
|
65
|
+
for (const depId of dependents) {
|
|
66
|
+
if (!results.has(depId)) {
|
|
67
|
+
results.set(depId, {
|
|
68
|
+
taskId: depId,
|
|
69
|
+
success: false,
|
|
70
|
+
stdout: '',
|
|
71
|
+
stderr: '',
|
|
72
|
+
duration: 0,
|
|
73
|
+
skipped: true,
|
|
74
|
+
skipReason: `Dependency ${taskId} failed`,
|
|
75
|
+
});
|
|
76
|
+
skippedTasks.push(depId);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Stop if critical task failed
|
|
83
|
+
const criticalTaskFailed = layer.some(task => !results.get(task.id)?.success && task.severity === 'critical');
|
|
84
|
+
if (criticalTaskFailed) {
|
|
85
|
+
this.logger.error('❌ Critical task failed, stopping DAG execution', 'DAGExecutor');
|
|
86
|
+
// Mark remaining tasks as skipped
|
|
87
|
+
for (const task of tasks) {
|
|
88
|
+
if (!results.has(task.id)) {
|
|
89
|
+
results.set(task.id, {
|
|
90
|
+
taskId: task.id,
|
|
91
|
+
success: false,
|
|
92
|
+
stdout: '',
|
|
93
|
+
stderr: '',
|
|
94
|
+
duration: 0,
|
|
95
|
+
skipped: true,
|
|
96
|
+
skipReason: 'Critical task failed in earlier layer',
|
|
97
|
+
});
|
|
98
|
+
skippedTasks.push(task.id);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
const duration = Date.now() - startTime;
|
|
105
|
+
const executedTasks = Array.from(results.keys()).filter(id => !results.get(id)?.skipped);
|
|
106
|
+
const success = failedTasks.length === 0;
|
|
107
|
+
this.logger.info(`${success ? '✅' : '❌'} DAG execution ${success ? 'completed' : 'failed'}: ${executedTasks.length} executed, ${failedTasks.length} failed, ${skippedTasks.length} skipped (${duration}ms)`, 'DAGExecutor');
|
|
108
|
+
return {
|
|
109
|
+
success,
|
|
110
|
+
executedTasks,
|
|
111
|
+
failedTasks,
|
|
112
|
+
skippedTasks,
|
|
113
|
+
duration,
|
|
114
|
+
taskResults: results,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Execute all tasks in a layer in parallel (with concurrency limit)
|
|
119
|
+
*/
|
|
120
|
+
async executeLayer(layer, previousResults) {
|
|
121
|
+
const results = new Map();
|
|
122
|
+
// Filter tasks whose dependencies are met
|
|
123
|
+
const executableTasks = [];
|
|
124
|
+
for (const task of layer) {
|
|
125
|
+
const dependenciesMet = task.dependsOn.every(depId => {
|
|
126
|
+
const depResult = previousResults.get(depId);
|
|
127
|
+
return depResult?.success === true;
|
|
128
|
+
});
|
|
129
|
+
if (!dependenciesMet) {
|
|
130
|
+
// Check if any dependency failed and wasn't safe to fail
|
|
131
|
+
const failedDep = task.dependsOn.find(depId => {
|
|
132
|
+
const depResult = previousResults.get(depId);
|
|
133
|
+
return depResult && !depResult.success;
|
|
134
|
+
});
|
|
135
|
+
results.set(task.id, {
|
|
136
|
+
taskId: task.id,
|
|
137
|
+
success: false,
|
|
138
|
+
stdout: '',
|
|
139
|
+
stderr: `Dependencies not met: ${failedDep || 'unknown'}`,
|
|
140
|
+
duration: 0,
|
|
141
|
+
skipped: true,
|
|
142
|
+
skipReason: `Dependency ${failedDep} failed`,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
executableTasks.push(task);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
if (executableTasks.length === 0) {
|
|
150
|
+
return results;
|
|
151
|
+
}
|
|
152
|
+
// Execute tasks with concurrency limit
|
|
153
|
+
const taskResults = await this.executeWithConcurrencyLimit(executableTasks, this.maxParallelism);
|
|
154
|
+
for (let i = 0; i < executableTasks.length; i++) {
|
|
155
|
+
const task = executableTasks[i];
|
|
156
|
+
const result = taskResults[i];
|
|
157
|
+
if (task && result) {
|
|
158
|
+
results.set(task.id, result);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return results;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Execute tasks with concurrency limit
|
|
165
|
+
*/
|
|
166
|
+
async executeWithConcurrencyLimit(tasks, concurrencyLimit) {
|
|
167
|
+
const promises = [];
|
|
168
|
+
const executing = [];
|
|
169
|
+
for (const task of tasks) {
|
|
170
|
+
const promise = this.executeTask(task).then(result => {
|
|
171
|
+
executing.splice(executing.indexOf(promise), 1);
|
|
172
|
+
return result;
|
|
173
|
+
});
|
|
174
|
+
executing.push(promise);
|
|
175
|
+
promises.push(promise);
|
|
176
|
+
if (executing.length >= concurrencyLimit) {
|
|
177
|
+
await Promise.race(executing);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return Promise.all(promises);
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Execute a single task with retry logic
|
|
184
|
+
*/
|
|
185
|
+
async executeTask(task) {
|
|
186
|
+
const startTime = Date.now();
|
|
187
|
+
this.logger.info(`▶️ Executing: ${task.name}`, 'DAGExecutor');
|
|
188
|
+
try {
|
|
189
|
+
if (!task.command) {
|
|
190
|
+
throw new Error(`Task ${task.id} has no command defined`);
|
|
191
|
+
}
|
|
192
|
+
// Build full command
|
|
193
|
+
const fullCommand = task.commandArgs
|
|
194
|
+
? `${task.command} ${task.commandArgs.join(' ')}`
|
|
195
|
+
: task.command;
|
|
196
|
+
// Execute command with timeout
|
|
197
|
+
const timeout = task.timeout || 30000;
|
|
198
|
+
const { stdout, stderr } = await this.executeCommand(fullCommand, timeout);
|
|
199
|
+
const duration = Date.now() - startTime;
|
|
200
|
+
// Check exit code (execAsync throws on non-zero exit)
|
|
201
|
+
const success = true;
|
|
202
|
+
// Run custom validation if defined
|
|
203
|
+
let validationPassed = true;
|
|
204
|
+
if (task.validationCheck) {
|
|
205
|
+
validationPassed = task.validationCheck(stdout);
|
|
206
|
+
if (!validationPassed) {
|
|
207
|
+
this.logger.warn(`❌ Validation failed for task: ${task.name}`, 'DAGExecutor');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
const finalSuccess = success && validationPassed;
|
|
211
|
+
if (finalSuccess) {
|
|
212
|
+
this.logger.info(`✅ Completed: ${task.name} (${duration}ms)`, 'DAGExecutor');
|
|
213
|
+
// Extract resources from command output and update SystemCard
|
|
214
|
+
if (this.systemCardManager) {
|
|
215
|
+
try {
|
|
216
|
+
const extractionResult = this.resourceExtractor.extract(fullCommand, stdout, stderr, task.id);
|
|
217
|
+
if (extractionResult.resources.length > 0) {
|
|
218
|
+
await this.systemCardManager.addResources(extractionResult.resources, {
|
|
219
|
+
phase: task.category,
|
|
220
|
+
taskId: task.id,
|
|
221
|
+
});
|
|
222
|
+
this.logger.info(`📝 Tracked ${extractionResult.resources.length} resources from task: ${task.name}`, 'DAGExecutor');
|
|
223
|
+
}
|
|
224
|
+
if (extractionResult.warnings.length > 0) {
|
|
225
|
+
this.logger.warn(`Resource extraction warnings: ${extractionResult.warnings.join(', ')}`, 'DAGExecutor');
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
// Log but don't fail the task if resource extraction fails
|
|
230
|
+
this.logger.warn(`Failed to extract resources from task ${task.name}: ${error.message}`, 'DAGExecutor');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
this.logger.error(`❌ Failed: ${task.name} (${duration}ms)`, 'DAGExecutor');
|
|
236
|
+
}
|
|
237
|
+
return {
|
|
238
|
+
taskId: task.id,
|
|
239
|
+
success: finalSuccess,
|
|
240
|
+
exitCode: 0,
|
|
241
|
+
stdout,
|
|
242
|
+
stderr,
|
|
243
|
+
duration,
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
const duration = Date.now() - startTime;
|
|
248
|
+
// Retry logic
|
|
249
|
+
if (task.retryCount && task.retryCount > 0) {
|
|
250
|
+
this.logger.warn(`🔄 Task ${task.name} failed, retrying (${task.retryCount} retries left)...`, 'DAGExecutor');
|
|
251
|
+
if (task.retryDelay) {
|
|
252
|
+
await new Promise(resolve => setTimeout(resolve, task.retryDelay));
|
|
253
|
+
}
|
|
254
|
+
// Recursively retry with decremented retry count
|
|
255
|
+
const retryTask = { ...task, retryCount: task.retryCount - 1 };
|
|
256
|
+
return this.executeTask(retryTask);
|
|
257
|
+
}
|
|
258
|
+
this.logger.error(`❌ Task failed: ${task.name} - ${error.message}`, 'DAGExecutor');
|
|
259
|
+
return {
|
|
260
|
+
taskId: task.id,
|
|
261
|
+
success: false,
|
|
262
|
+
exitCode: error.code || 1,
|
|
263
|
+
stdout: error.stdout || '',
|
|
264
|
+
stderr: error.stderr || error.message,
|
|
265
|
+
duration,
|
|
266
|
+
error,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Execute shell command with timeout
|
|
272
|
+
*/
|
|
273
|
+
async executeCommand(command, timeout) {
|
|
274
|
+
try {
|
|
275
|
+
const { stdout, stderr } = await execAsync(command, {
|
|
276
|
+
timeout,
|
|
277
|
+
maxBuffer: 10 * 1024 * 1024, // 10MB
|
|
278
|
+
});
|
|
279
|
+
return { stdout, stderr };
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
// Re-throw with consistent structure
|
|
283
|
+
throw {
|
|
284
|
+
code: error.code,
|
|
285
|
+
message: error.message,
|
|
286
|
+
stdout: error.stdout || '',
|
|
287
|
+
stderr: error.stderr || '',
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Validate DAG structure (no cycles, valid dependencies)
|
|
293
|
+
*/
|
|
294
|
+
validateDAG(tasks) {
|
|
295
|
+
const taskIds = new Set(tasks.map(t => t.id));
|
|
296
|
+
// Check for duplicate task IDs
|
|
297
|
+
if (taskIds.size !== tasks.length) {
|
|
298
|
+
throw new Error('Duplicate task IDs detected in DAG');
|
|
299
|
+
}
|
|
300
|
+
// Check all dependencies exist
|
|
301
|
+
for (const task of tasks) {
|
|
302
|
+
for (const depId of task.dependsOn) {
|
|
303
|
+
if (!taskIds.has(depId)) {
|
|
304
|
+
throw new Error(`Task ${task.id} depends on non-existent task: ${depId}`);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
// Check for cycles using depth-first search
|
|
309
|
+
this.detectCycles(tasks);
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Detect cycles in DAG using DFS
|
|
313
|
+
*/
|
|
314
|
+
detectCycles(tasks) {
|
|
315
|
+
const visited = new Set();
|
|
316
|
+
const recursionStack = new Set();
|
|
317
|
+
const graph = this.buildDependencyGraph(tasks);
|
|
318
|
+
const dfs = (taskId) => {
|
|
319
|
+
visited.add(taskId);
|
|
320
|
+
recursionStack.add(taskId);
|
|
321
|
+
const task = graph.get(taskId);
|
|
322
|
+
if (!task) {
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
for (const depId of task.dependsOn) {
|
|
326
|
+
if (!visited.has(depId)) {
|
|
327
|
+
if (dfs(depId)) {
|
|
328
|
+
return true;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
else if (recursionStack.has(depId)) {
|
|
332
|
+
throw new Error(`Circular dependency detected: ${taskId} -> ${depId}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
recursionStack.delete(taskId);
|
|
336
|
+
return false;
|
|
337
|
+
};
|
|
338
|
+
for (const task of tasks) {
|
|
339
|
+
if (!visited.has(task.id)) {
|
|
340
|
+
dfs(task.id);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Build dependency graph from tasks
|
|
346
|
+
*/
|
|
347
|
+
buildDependencyGraph(tasks) {
|
|
348
|
+
const graph = new Map();
|
|
349
|
+
for (const task of tasks) {
|
|
350
|
+
graph.set(task.id, task);
|
|
351
|
+
}
|
|
352
|
+
return graph;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Topological sort to determine execution order (Kahn's algorithm)
|
|
356
|
+
*/
|
|
357
|
+
topologicalSort(graph) {
|
|
358
|
+
const layers = [];
|
|
359
|
+
const inDegree = new Map();
|
|
360
|
+
const visited = new Set();
|
|
361
|
+
// Calculate in-degrees
|
|
362
|
+
for (const [id, task] of graph) {
|
|
363
|
+
if (!inDegree.has(id)) {
|
|
364
|
+
inDegree.set(id, 0);
|
|
365
|
+
}
|
|
366
|
+
for (const _depId of task.dependsOn) {
|
|
367
|
+
inDegree.set(id, (inDegree.get(id) || 0) + 1);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
// Process nodes layer by layer
|
|
371
|
+
while (visited.size < graph.size) {
|
|
372
|
+
const layer = [];
|
|
373
|
+
// Find all nodes with in-degree 0 (no unmet dependencies)
|
|
374
|
+
for (const [id, task] of graph) {
|
|
375
|
+
if (!visited.has(id) && (inDegree.get(id) || 0) === 0) {
|
|
376
|
+
layer.push(task);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
if (layer.length === 0) {
|
|
380
|
+
// This shouldn't happen if cycle detection works
|
|
381
|
+
throw new Error('Cannot resolve DAG - circular dependency detected');
|
|
382
|
+
}
|
|
383
|
+
layers.push(layer);
|
|
384
|
+
// Mark layer as visited and update in-degrees
|
|
385
|
+
for (const task of layer) {
|
|
386
|
+
visited.add(task.id);
|
|
387
|
+
// Decrease in-degree for dependent tasks
|
|
388
|
+
for (const [id, t] of graph) {
|
|
389
|
+
if (t.dependsOn.includes(task.id)) {
|
|
390
|
+
inDegree.set(id, (inDegree.get(id) || 0) - 1);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
return layers;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Get all tasks that depend on the given task (recursively)
|
|
399
|
+
*/
|
|
400
|
+
getDependentTasks(taskId, allTasks) {
|
|
401
|
+
const dependents = [];
|
|
402
|
+
const queue = [taskId];
|
|
403
|
+
const visited = new Set();
|
|
404
|
+
while (queue.length > 0) {
|
|
405
|
+
const current = queue.shift();
|
|
406
|
+
if (visited.has(current)) {
|
|
407
|
+
continue;
|
|
408
|
+
}
|
|
409
|
+
visited.add(current);
|
|
410
|
+
for (const task of allTasks) {
|
|
411
|
+
if (task.dependsOn.includes(current) && !visited.has(task.id)) {
|
|
412
|
+
dependents.push(task.id);
|
|
413
|
+
queue.push(task.id);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
return dependents;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
//# sourceMappingURL=dag-executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dag-executor.js","sourceRoot":"","sources":["../../../src/utils/dag-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-analysis.d.ts","sourceRoot":"","sources":["../../../src/utils/deployment-analysis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;IACpE,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACnD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,GAAE,MAAoB,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"deployment-analysis.d.ts","sourceRoot":"","sources":["../../../src/utils/deployment-analysis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;IACpE,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CACnD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,GAAE,MAAoB,EAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,oBAAoB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,CA6JnF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,cAAc,CAAC,EAAE,MAAM,EACvB,eAAe,CAAC,EAAE,cAAc,EAAE,GACjC,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CA8D3D;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,eAAe,EAAE,cAAc,EAAE,EACjC,UAAU,CAAC,EAAE,GAAG,EAChB,iBAAiB,CAAC,EAAE,GAAG,GACtB,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE3D;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,eAAe,EAAE,cAAc,EAAE,EACjC,YAAY,EAAE,WAAW,EAAE,EAC3B,cAAc,CAAC,EAAE,KAAK,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,GACD,OAAO,CAAC;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAmE/D"}
|
|
@@ -11,7 +11,10 @@ export async function identifyDeploymentTasks(adrDirectory = 'docs/adrs', todoPa
|
|
|
11
11
|
// Use actual ADR discovery instead of prompts
|
|
12
12
|
const { discoverAdrsInDirectory } = await import('./adr-discovery.js');
|
|
13
13
|
// Actually read ADR files
|
|
14
|
-
const discoveryResult = await discoverAdrsInDirectory(adrDirectory,
|
|
14
|
+
const discoveryResult = await discoverAdrsInDirectory(adrDirectory, process.cwd(), {
|
|
15
|
+
includeContent: true,
|
|
16
|
+
includeTimeline: false,
|
|
17
|
+
});
|
|
15
18
|
// Read TODO file if provided
|
|
16
19
|
let todoContent = '';
|
|
17
20
|
if (todoPath) {
|
|
@@ -34,8 +37,9 @@ Based on actual ADR file analysis and TODO content, identify deployment-related
|
|
|
34
37
|
|
|
35
38
|
## Discovered ADRs (${discoveryResult.totalAdrs} total)
|
|
36
39
|
|
|
37
|
-
${discoveryResult.adrs.length > 0
|
|
38
|
-
discoveryResult.adrs
|
|
40
|
+
${discoveryResult.adrs.length > 0
|
|
41
|
+
? discoveryResult.adrs
|
|
42
|
+
.map((adr, index) => `
|
|
39
43
|
### ${index + 1}. ${adr.title}
|
|
40
44
|
- **File**: ${adr.filename}
|
|
41
45
|
- **Status**: ${adr.status}
|
|
@@ -48,18 +52,22 @@ ${adr.content || 'Content not available'}
|
|
|
48
52
|
\`\`\`
|
|
49
53
|
|
|
50
54
|
---
|
|
51
|
-
`)
|
|
55
|
+
`)
|
|
56
|
+
.join('\n')
|
|
57
|
+
: 'No ADRs found in the specified directory.'}
|
|
52
58
|
|
|
53
59
|
## TODO Content Analysis
|
|
54
60
|
|
|
55
|
-
${todoPath
|
|
61
|
+
${todoPath
|
|
62
|
+
? `
|
|
56
63
|
### TODO File: ${todoPath}
|
|
57
64
|
\`\`\`
|
|
58
65
|
${todoContent}
|
|
59
66
|
\`\`\`
|
|
60
67
|
|
|
61
68
|
Extract any deployment-related tasks, infrastructure requirements, or operational concerns from the actual TODO content above.
|
|
62
|
-
`
|
|
69
|
+
`
|
|
70
|
+
: '**No TODO file provided.** Only ADR content will be analyzed for deployment tasks.'}
|
|
63
71
|
|
|
64
72
|
## Task Identification Criteria
|
|
65
73
|
|
|
@@ -135,9 +143,9 @@ const result = await identifyDeploymentTasks(adrDirectory, todoPath);
|
|
|
135
143
|
totalAdrs: discoveryResult.totalAdrs,
|
|
136
144
|
adrsWithContent: discoveryResult.adrs.filter(adr => adr.content).length,
|
|
137
145
|
todoProvided: !!todoPath,
|
|
138
|
-
todoLength: todoContent.length
|
|
139
|
-
}
|
|
140
|
-
}
|
|
146
|
+
todoLength: todoContent.length,
|
|
147
|
+
},
|
|
148
|
+
},
|
|
141
149
|
};
|
|
142
150
|
}
|
|
143
151
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-analysis.js","sourceRoot":"","sources":["../../../src/utils/deployment-analysis.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAkChD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,eAAuB,WAAW,EAClC,QAAiB;IAEjB,IAAI,CAAC;QACH,8CAA8C;QAC9C,MAAM,EAAE,uBAAuB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAEvE,0BAA0B;QAC1B,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"deployment-analysis.js","sourceRoot":"","sources":["../../../src/utils/deployment-analysis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deployment Type Registry
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive registry of deployment platforms with their specific
|
|
5
|
+
* file requirements, validation rules, and deployment patterns.
|
|
6
|
+
*
|
|
7
|
+
* Supports: OpenShift, Kubernetes, Firebase, Docker, MCP Servers,
|
|
8
|
+
* FastMCP, bare metal, and hybrid deployments.
|
|
9
|
+
*/
|
|
10
|
+
export interface DeploymentFile {
|
|
11
|
+
path: string;
|
|
12
|
+
required: boolean;
|
|
13
|
+
canAutoGenerate: boolean;
|
|
14
|
+
isSecret: boolean;
|
|
15
|
+
description: string;
|
|
16
|
+
templateContent?: string;
|
|
17
|
+
validationRules?: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface DeploymentType {
|
|
20
|
+
id: string;
|
|
21
|
+
name: string;
|
|
22
|
+
category: 'container' | 'serverless' | 'mcp' | 'traditional';
|
|
23
|
+
detectionPatterns: {
|
|
24
|
+
files?: string[];
|
|
25
|
+
dependencies?: string[];
|
|
26
|
+
commands?: string[];
|
|
27
|
+
};
|
|
28
|
+
requiredFiles: DeploymentFile[];
|
|
29
|
+
optionalFiles: DeploymentFile[];
|
|
30
|
+
environmentVariables: {
|
|
31
|
+
name: string;
|
|
32
|
+
required: boolean;
|
|
33
|
+
description: string;
|
|
34
|
+
isSecret: boolean;
|
|
35
|
+
}[];
|
|
36
|
+
validationCommands: string[];
|
|
37
|
+
deploymentCommands: string[];
|
|
38
|
+
documentation: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Registry of all supported deployment types
|
|
42
|
+
*/
|
|
43
|
+
export declare const DEPLOYMENT_TYPES: DeploymentType[];
|
|
44
|
+
/**
|
|
45
|
+
* Detect deployment types based on project structure
|
|
46
|
+
*/
|
|
47
|
+
export declare function detectDeploymentTypes(projectPath: string): Promise<DeploymentType[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Get all required files for detected deployment types
|
|
50
|
+
*/
|
|
51
|
+
export declare function getRequiredFilesForDeployments(deploymentTypes: DeploymentType[]): DeploymentFile[];
|
|
52
|
+
//# sourceMappingURL=deployment-type-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-type-registry.d.ts","sourceRoot":"","sources":["../../../src/utils/deployment-type-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,GAAG,YAAY,GAAG,KAAK,GAAG,aAAa,CAAC;IAC7D,iBAAiB,EAAE;QACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,aAAa,EAAE,cAAc,EAAE,CAAC;IAChC,oBAAoB,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;IACJ,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAud5C,CAAC;AAEF;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAoD1F;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,eAAe,EAAE,cAAc,EAAE,GAChC,cAAc,EAAE,CAYlB"}
|