mcp-adr-analysis-server 2.1.11 → 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 +69 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1638 -551
- 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/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.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +4 -1
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/adr-validation-tool.d.ts +52 -0
- package/dist/src/tools/adr-validation-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-validation-tool.js +52 -0
- package/dist/src/tools/adr-validation-tool.js.map +1 -1
- 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 +47 -5
- 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 +48 -1
- 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 +15 -1
- package/dist/src/tools/deployment-readiness-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/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 +45 -1
- package/dist/src/tools/perform-research-tool.d.ts.map +1 -1
- package/dist/src/tools/perform-research-tool.js +146 -2
- package/dist/src/tools/perform-research-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 +4 -1
- 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 +2 -2
- 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-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 +36 -0
- package/dist/src/utils/ai-executor.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 +4 -1
- 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 +4 -1
- package/dist/src/utils/environment-analysis.js.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts +16 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +159 -3
- package/dist/src/utils/knowledge-graph-manager.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/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 +135 -3
- package/dist/src/utils/research-orchestrator.d.ts.map +1 -1
- package/dist/src/utils/research-orchestrator.js +440 -27
- package/dist/src/utils/research-orchestrator.js.map +1 -1
- 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/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,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR Timeline Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for ADR timeline tracking and analysis
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Basic timeline information for an ADR
|
|
8
|
+
* Extracted automatically from git history, content, or filesystem
|
|
9
|
+
*/
|
|
10
|
+
export interface BasicTimeline {
|
|
11
|
+
/** When the ADR was created (ISO timestamp) */
|
|
12
|
+
created_at: string;
|
|
13
|
+
/** When the ADR was last updated (ISO timestamp) */
|
|
14
|
+
updated_at: string;
|
|
15
|
+
/** Age of the ADR in days */
|
|
16
|
+
age_days: number;
|
|
17
|
+
/** Days since last update */
|
|
18
|
+
days_since_update: number;
|
|
19
|
+
/** Staleness warnings based on basic timeline analysis */
|
|
20
|
+
staleness_warnings: string[];
|
|
21
|
+
/** How the timeline was extracted */
|
|
22
|
+
extraction_method: 'git' | 'content' | 'filesystem';
|
|
23
|
+
/** Whether extraction was skipped due to smart detection */
|
|
24
|
+
extraction_skipped?: boolean;
|
|
25
|
+
/** Reason extraction was skipped (if applicable) */
|
|
26
|
+
skip_reason?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Extended timeline with status history and implementation tracking
|
|
30
|
+
* Only extracted when explicitly requested (expensive operations)
|
|
31
|
+
*/
|
|
32
|
+
export interface ExtendedTimeline extends BasicTimeline {
|
|
33
|
+
/** History of status changes */
|
|
34
|
+
status_history: StatusChangeRecord[];
|
|
35
|
+
/** Implementation timeline and lag analysis */
|
|
36
|
+
implementation_timeline?: ImplementationTimeline;
|
|
37
|
+
/** Full audit trail for compliance */
|
|
38
|
+
compliance_audit_trail?: AuditTrail;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Record of a status change in an ADR
|
|
42
|
+
*/
|
|
43
|
+
export interface StatusChangeRecord {
|
|
44
|
+
/** The status (Proposed, Accepted, Deprecated, etc.) */
|
|
45
|
+
status: string;
|
|
46
|
+
/** When the status changed (ISO timestamp) */
|
|
47
|
+
changed_at: string;
|
|
48
|
+
/** Git commit hash where change occurred */
|
|
49
|
+
commit_hash?: string;
|
|
50
|
+
/** Git commit message */
|
|
51
|
+
commit_message?: string;
|
|
52
|
+
/** Confidence in this detection (0-1) */
|
|
53
|
+
confidence: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Timeline of ADR implementation in code
|
|
57
|
+
*/
|
|
58
|
+
export interface ImplementationTimeline {
|
|
59
|
+
/** When the ADR was created */
|
|
60
|
+
adr_created: string;
|
|
61
|
+
/** When first related code was committed */
|
|
62
|
+
first_implementation?: string;
|
|
63
|
+
/** When most recent related code was committed */
|
|
64
|
+
latest_implementation?: string;
|
|
65
|
+
/** Days from ADR creation to first implementation */
|
|
66
|
+
days_to_implement?: number;
|
|
67
|
+
/** Whether any implementation has been detected */
|
|
68
|
+
is_implemented: boolean;
|
|
69
|
+
/** Keywords used to detect implementation */
|
|
70
|
+
search_keywords: string[];
|
|
71
|
+
/** Files that appear to implement this ADR */
|
|
72
|
+
related_files: string[];
|
|
73
|
+
/** Total commits related to this ADR */
|
|
74
|
+
commit_count: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Full audit trail for compliance purposes
|
|
78
|
+
*/
|
|
79
|
+
export interface AuditTrail {
|
|
80
|
+
/** ADR file path */
|
|
81
|
+
adr_path: string;
|
|
82
|
+
/** Full timeline of all changes */
|
|
83
|
+
changes: Array<{
|
|
84
|
+
timestamp: string;
|
|
85
|
+
type: 'created' | 'content_modified' | 'status_changed' | 'implementation';
|
|
86
|
+
description: string;
|
|
87
|
+
commit_hash?: string;
|
|
88
|
+
author?: string;
|
|
89
|
+
}>;
|
|
90
|
+
/** When this audit trail was generated */
|
|
91
|
+
generated_at: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Project context for adaptive threshold selection
|
|
95
|
+
*/
|
|
96
|
+
export interface ProjectContext {
|
|
97
|
+
/** Project development phase */
|
|
98
|
+
phase: 'startup' | 'growth' | 'mature' | 'maintenance';
|
|
99
|
+
/** Current activity level */
|
|
100
|
+
activityLevel: 'very_active' | 'active' | 'moderate' | 'low';
|
|
101
|
+
/** Team velocity metrics */
|
|
102
|
+
teamVelocity: {
|
|
103
|
+
avgCommitsPerWeek: number;
|
|
104
|
+
avgAdrCreationRate: number;
|
|
105
|
+
avgTimeToImplement: number;
|
|
106
|
+
};
|
|
107
|
+
/** Deployment cadence */
|
|
108
|
+
deploymentCadence: 'daily' | 'weekly' | 'biweekly' | 'monthly' | 'quarterly';
|
|
109
|
+
/** ADR pattern characteristics */
|
|
110
|
+
adrCharacteristics: {
|
|
111
|
+
avgAdrAge: number;
|
|
112
|
+
proposedToAcceptedAvg: number;
|
|
113
|
+
acceptedToImplementedAvg: number;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Threshold configuration for action item generation
|
|
118
|
+
*/
|
|
119
|
+
export interface ThresholdProfile {
|
|
120
|
+
/** Profile name */
|
|
121
|
+
name: string;
|
|
122
|
+
/** Profile description */
|
|
123
|
+
description: string;
|
|
124
|
+
/** Days before flagging stale Proposed ADRs */
|
|
125
|
+
staleProposedDays: number;
|
|
126
|
+
/** Days before flagging unimplemented Accepted ADRs */
|
|
127
|
+
acceptedUnimplementedDays: number;
|
|
128
|
+
/** Days before flagging outdated ADR documentation */
|
|
129
|
+
outdatedAdrDays: number;
|
|
130
|
+
/** Days before flagging dormant ADRs */
|
|
131
|
+
dormantAdrDays: number;
|
|
132
|
+
/** Days to flag rapid/unstable changes */
|
|
133
|
+
rapidChangeDays: number;
|
|
134
|
+
/** Days to warn about slow implementation */
|
|
135
|
+
implementationLagWarning: number;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Actionable work item generated from timeline analysis
|
|
139
|
+
*/
|
|
140
|
+
export interface AdrActionItem {
|
|
141
|
+
/** The ADR this action applies to */
|
|
142
|
+
adrFilename: string;
|
|
143
|
+
adrTitle: string;
|
|
144
|
+
adrStatus: string;
|
|
145
|
+
/** Action priority level */
|
|
146
|
+
priority: 'critical' | 'high' | 'medium' | 'low';
|
|
147
|
+
/** Urgency score (0-100) */
|
|
148
|
+
urgencyScore: number;
|
|
149
|
+
/** Type of action needed */
|
|
150
|
+
actionType: 'review' | 'implement' | 'update' | 'close' | 'deprecate';
|
|
151
|
+
/** Human-readable action description */
|
|
152
|
+
actionDescription: string;
|
|
153
|
+
/** Why this action is needed */
|
|
154
|
+
rationale: string;
|
|
155
|
+
/** Estimated effort */
|
|
156
|
+
estimatedEffort: 'low' | 'medium' | 'high';
|
|
157
|
+
/** Suggested completion date */
|
|
158
|
+
dueDate?: string;
|
|
159
|
+
/** Potential blockers */
|
|
160
|
+
blockers: string[];
|
|
161
|
+
/** Timeline data that triggered this action */
|
|
162
|
+
timeline: BasicTimeline;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Work queue organized by priority
|
|
166
|
+
*/
|
|
167
|
+
export interface AdrWorkQueue {
|
|
168
|
+
/** Critical priority actions */
|
|
169
|
+
critical: AdrActionItem[];
|
|
170
|
+
/** High priority actions */
|
|
171
|
+
high: AdrActionItem[];
|
|
172
|
+
/** Medium priority actions */
|
|
173
|
+
medium: AdrActionItem[];
|
|
174
|
+
/** Low priority actions */
|
|
175
|
+
low: AdrActionItem[];
|
|
176
|
+
/** Summary statistics */
|
|
177
|
+
summary: {
|
|
178
|
+
totalActions: number;
|
|
179
|
+
criticalCount: number;
|
|
180
|
+
estimatedHours: number;
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* ADR type for applying specific modifiers
|
|
185
|
+
*/
|
|
186
|
+
export type AdrType = 'infrastructure' | 'feature' | 'security' | 'refactoring';
|
|
187
|
+
/**
|
|
188
|
+
* Modifiers to apply to thresholds based on ADR type
|
|
189
|
+
*/
|
|
190
|
+
export interface AdrTypeModifiers {
|
|
191
|
+
infrastructure: number;
|
|
192
|
+
feature: number;
|
|
193
|
+
security: number;
|
|
194
|
+
refactoring: number;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Options for timeline extraction
|
|
198
|
+
*/
|
|
199
|
+
export interface TimelineExtractionOptions {
|
|
200
|
+
/** Use caching for timeline data */
|
|
201
|
+
useCache?: boolean;
|
|
202
|
+
/** Cache TTL in seconds */
|
|
203
|
+
cacheTTL?: number;
|
|
204
|
+
/** Force extraction even if not needed */
|
|
205
|
+
forceExtract?: boolean;
|
|
206
|
+
/** Include extended timeline data */
|
|
207
|
+
includeExtended?: boolean;
|
|
208
|
+
/** Analyze implementation lag */
|
|
209
|
+
analyzeImplementation?: boolean;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Options for ADR discovery with timeline
|
|
213
|
+
*/
|
|
214
|
+
export interface DiscoverAdrsWithTimelineOptions {
|
|
215
|
+
/** Include ADR content */
|
|
216
|
+
includeContent?: boolean;
|
|
217
|
+
/** Include timeline analysis */
|
|
218
|
+
includeTimeline?: boolean;
|
|
219
|
+
/** Timeline extraction options */
|
|
220
|
+
timelineOptions?: TimelineExtractionOptions;
|
|
221
|
+
/** Auto-detect project context */
|
|
222
|
+
autoDetectContext?: boolean;
|
|
223
|
+
/** Manual threshold profile override */
|
|
224
|
+
thresholdProfile?: string;
|
|
225
|
+
/** Custom threshold values */
|
|
226
|
+
customThresholds?: Partial<ThresholdProfile>;
|
|
227
|
+
/** Use ADR type modifiers */
|
|
228
|
+
useAdrTypeModifiers?: boolean;
|
|
229
|
+
/** Show context detection reasoning */
|
|
230
|
+
showContextDetection?: boolean;
|
|
231
|
+
/** Generate action items */
|
|
232
|
+
generateActions?: boolean;
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=adr-timeline-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr-timeline-types.d.ts","sourceRoot":"","sources":["../../../src/utils/adr-timeline-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr-timeline-types.js","sourceRoot":"","sources":["../../../src/utils/adr-timeline-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -31,6 +31,42 @@ export interface AIExecutionError extends Error {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* AI Executor Service Class
|
|
34
|
+
*
|
|
35
|
+
* @description Core service for executing AI prompts through OpenRouter.ai integration.
|
|
36
|
+
* Transforms the MCP server from returning prompts to returning actual AI-generated results.
|
|
37
|
+
* Includes caching, retry logic, and comprehensive error handling.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* // Initialize with custom configuration
|
|
42
|
+
* const executor = new AIExecutor({
|
|
43
|
+
* apiKey: 'your-api-key',
|
|
44
|
+
* model: 'anthropic/claude-3-sonnet',
|
|
45
|
+
* maxTokens: 4000
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* // Execute a prompt
|
|
49
|
+
* const result = await executor.executePrompt({
|
|
50
|
+
* prompt: 'Analyze this ADR...',
|
|
51
|
+
* context: { projectPath: '/path/to/project' }
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* console.log(result.content); // AI-generated analysis
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Use singleton instance
|
|
60
|
+
* const executor = getAIExecutor();
|
|
61
|
+
* const result = await executor.executePrompt({
|
|
62
|
+
* prompt: 'Generate ADR suggestions',
|
|
63
|
+
* maxTokens: 2000
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*
|
|
67
|
+
* @since 2.0.0
|
|
68
|
+
* @category AI
|
|
69
|
+
* @category Core
|
|
34
70
|
*/
|
|
35
71
|
export declare class AIExecutor {
|
|
36
72
|
private client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-executor.d.ts","sourceRoot":"","sources":["../../../src/utils/ai-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,QAAQ,EAIT,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,yBAAyB;IACzB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED
|
|
1
|
+
{"version":3,"file":"ai-executor.d.ts","sourceRoot":"","sources":["../../../src/utils/ai-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,QAAQ,EAIT,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,yBAAyB;IACzB,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,KAAK;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,KAAK,CAAyE;gBAE1E,MAAM,CAAC,EAAE,QAAQ;IAK7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2BxB;;OAEG;IACI,WAAW,IAAI,OAAO;IAM7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACU,aAAa,CACxB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,GACL,OAAO,CAAC,iBAAiB,CAAC;IA0F7B;;OAEG;IACU,uBAAuB,CAAC,CAAC,GAAG,GAAG,EAC1C,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,GACL,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,GAAG,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAgC/C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACI,SAAS,IAAI,QAAQ;IAI5B;;OAEG;IACI,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKvD;;OAEG;IACI,UAAU,IAAI,IAAI;IAIzB;;OAEG;IACI,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAO1D;AAOD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}
|
|
@@ -8,6 +8,42 @@ import OpenAI from 'openai';
|
|
|
8
8
|
import { loadAIConfig, validateAIConfig, isAIExecutionEnabled, } from '../config/ai-config.js';
|
|
9
9
|
/**
|
|
10
10
|
* AI Executor Service Class
|
|
11
|
+
*
|
|
12
|
+
* @description Core service for executing AI prompts through OpenRouter.ai integration.
|
|
13
|
+
* Transforms the MCP server from returning prompts to returning actual AI-generated results.
|
|
14
|
+
* Includes caching, retry logic, and comprehensive error handling.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // Initialize with custom configuration
|
|
19
|
+
* const executor = new AIExecutor({
|
|
20
|
+
* apiKey: 'your-api-key',
|
|
21
|
+
* model: 'anthropic/claude-3-sonnet',
|
|
22
|
+
* maxTokens: 4000
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Execute a prompt
|
|
26
|
+
* const result = await executor.executePrompt({
|
|
27
|
+
* prompt: 'Analyze this ADR...',
|
|
28
|
+
* context: { projectPath: '/path/to/project' }
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* console.log(result.content); // AI-generated analysis
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* // Use singleton instance
|
|
37
|
+
* const executor = getAIExecutor();
|
|
38
|
+
* const result = await executor.executePrompt({
|
|
39
|
+
* prompt: 'Generate ADR suggestions',
|
|
40
|
+
* maxTokens: 2000
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @since 2.0.0
|
|
45
|
+
* @category AI
|
|
46
|
+
* @category Core
|
|
11
47
|
*/
|
|
12
48
|
export class AIExecutor {
|
|
13
49
|
client = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-executor.js","sourceRoot":"","sources":["../../../src/utils/ai-executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAEL,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AA4BhC
|
|
1
|
+
{"version":3,"file":"ai-executor.js","sourceRoot":"","sources":["../../../src/utils/ai-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conditional Request Support
|
|
3
|
+
*
|
|
4
|
+
* Implements HTTP conditional request headers (ETag, If-Modified-Since)
|
|
5
|
+
* for efficient resource caching and bandwidth reduction.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - ETag generation (strong and weak)
|
|
9
|
+
* - If-None-Match validation
|
|
10
|
+
* - If-Modified-Since validation
|
|
11
|
+
* - 304 Not Modified support
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Generate strong ETag from content
|
|
15
|
+
* Format: "hash"
|
|
16
|
+
*/
|
|
17
|
+
export declare function generateStrongETag(content: string | object): string;
|
|
18
|
+
/**
|
|
19
|
+
* Generate weak ETag from metadata
|
|
20
|
+
* Format: W/"timestamp-hash"
|
|
21
|
+
* Useful when content hasn't changed but metadata has
|
|
22
|
+
*/
|
|
23
|
+
export declare function generateWeakETag(timestamp: string, identifier: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* Parse ETag from header
|
|
26
|
+
* Handles both strong and weak ETags
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseETag(etag: string): {
|
|
29
|
+
value: string;
|
|
30
|
+
isWeak: boolean;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Compare two ETags for equality
|
|
34
|
+
* Supports both strong and weak comparison
|
|
35
|
+
*/
|
|
36
|
+
export declare function compareETags(etag1: string, etag2: string, weakComparison?: boolean): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Parse If-None-Match header
|
|
39
|
+
* Returns array of ETags to check
|
|
40
|
+
*/
|
|
41
|
+
export declare function parseIfNoneMatch(header: string): string[];
|
|
42
|
+
/**
|
|
43
|
+
* Check if resource matches If-None-Match condition
|
|
44
|
+
* Returns true if resource has NOT been modified
|
|
45
|
+
*/
|
|
46
|
+
export declare function checkIfNoneMatch(currentETag: string, ifNoneMatchHeader: string): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Parse If-Modified-Since header to Date
|
|
49
|
+
*/
|
|
50
|
+
export declare function parseIfModifiedSince(header: string): Date | null;
|
|
51
|
+
/**
|
|
52
|
+
* Check if resource has been modified since given date
|
|
53
|
+
* Returns true if resource has been modified
|
|
54
|
+
*/
|
|
55
|
+
export declare function checkIfModifiedSince(lastModified: string, ifModifiedSinceHeader: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Evaluate conditional request
|
|
58
|
+
* Returns { notModified: boolean, reason?: string }
|
|
59
|
+
*/
|
|
60
|
+
export interface ConditionalRequestResult {
|
|
61
|
+
notModified: boolean;
|
|
62
|
+
reason?: string;
|
|
63
|
+
}
|
|
64
|
+
export declare function evaluateConditionalRequest(params: {
|
|
65
|
+
currentETag: string;
|
|
66
|
+
lastModified: string;
|
|
67
|
+
ifNoneMatch?: string;
|
|
68
|
+
ifModifiedSince?: string;
|
|
69
|
+
}): ConditionalRequestResult;
|
|
70
|
+
/**
|
|
71
|
+
* Generate HTTP cache headers for response
|
|
72
|
+
*/
|
|
73
|
+
export interface CacheHeaders {
|
|
74
|
+
'ETag': string;
|
|
75
|
+
'Last-Modified': string;
|
|
76
|
+
'Cache-Control': string;
|
|
77
|
+
'Vary'?: string;
|
|
78
|
+
}
|
|
79
|
+
export declare function generateCacheHeaders(params: {
|
|
80
|
+
etag: string;
|
|
81
|
+
lastModified: string;
|
|
82
|
+
maxAge?: number;
|
|
83
|
+
mustRevalidate?: boolean;
|
|
84
|
+
vary?: string[];
|
|
85
|
+
}): CacheHeaders;
|
|
86
|
+
/**
|
|
87
|
+
* Create 304 Not Modified response metadata
|
|
88
|
+
*/
|
|
89
|
+
export interface NotModifiedResponse {
|
|
90
|
+
status: 304;
|
|
91
|
+
statusText: 'Not Modified';
|
|
92
|
+
headers: CacheHeaders;
|
|
93
|
+
body?: never;
|
|
94
|
+
}
|
|
95
|
+
export declare function createNotModifiedResponse(params: {
|
|
96
|
+
etag: string;
|
|
97
|
+
lastModified: string;
|
|
98
|
+
maxAge?: number;
|
|
99
|
+
}): NotModifiedResponse;
|
|
100
|
+
/**
|
|
101
|
+
* Calculate cache freshness
|
|
102
|
+
* Returns true if cache is still fresh
|
|
103
|
+
*/
|
|
104
|
+
export declare function isCacheFresh(lastModified: string, maxAge: number): boolean;
|
|
105
|
+
//# sourceMappingURL=conditional-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditional-request.d.ts","sourceRoot":"","sources":["../../../src/utils/conditional-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAInE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAG9E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAI1E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,UAAQ,GAAG,OAAO,CAc1F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAYzD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAcxF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAWhE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAajG;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,wBAAwB,CAwB3B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,YAAY,CAsBf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,GAAG,CAAC;IACZ,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,mBAAmB,CAmBtB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAQ1E"}
|