mcp-adr-analysis-server 2.1.20 → 2.1.27
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 +63 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/config/ai-config.d.ts +54 -6
- package/dist/src/config/ai-config.d.ts.map +1 -1
- package/dist/src/config/ai-config.js +69 -6
- package/dist/src/config/ai-config.js.map +1 -1
- package/dist/src/config/ape-descriptions.d.ts +77 -0
- package/dist/src/config/ape-descriptions.d.ts.map +1 -0
- package/dist/src/config/ape-descriptions.js +177 -0
- package/dist/src/config/ape-descriptions.js.map +1 -0
- package/dist/src/index.d.ts +40 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +934 -8
- package/dist/src/index.js.map +1 -1
- package/dist/src/prompts/adr-suggestion-prompts.d.ts +5 -0
- package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
- package/dist/src/prompts/adr-suggestion-prompts.js +22 -1
- package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
- package/dist/src/prompts/prompt-catalog.d.ts +95 -0
- package/dist/src/prompts/prompt-catalog.d.ts.map +1 -0
- package/dist/src/prompts/prompt-catalog.js +300 -0
- package/dist/src/prompts/prompt-catalog.js.map +1 -0
- package/dist/src/resources/adrs-discovered-resource.d.ts +124 -0
- package/dist/src/resources/adrs-discovered-resource.d.ts.map +1 -0
- package/dist/src/resources/adrs-discovered-resource.js +174 -0
- package/dist/src/resources/adrs-discovered-resource.js.map +1 -0
- package/dist/src/resources/adrs-review-resource.d.ts +82 -0
- package/dist/src/resources/adrs-review-resource.d.ts.map +1 -0
- package/dist/src/resources/adrs-review-resource.js +160 -0
- package/dist/src/resources/adrs-review-resource.js.map +1 -0
- package/dist/src/resources/architectural-context-resource.d.ts +95 -0
- package/dist/src/resources/architectural-context-resource.d.ts.map +1 -0
- package/dist/src/resources/architectural-context-resource.js +428 -0
- package/dist/src/resources/architectural-context-resource.js.map +1 -0
- package/dist/src/resources/conversation-snapshot-resource.d.ts +92 -0
- package/dist/src/resources/conversation-snapshot-resource.d.ts.map +1 -0
- package/dist/src/resources/conversation-snapshot-resource.js +122 -0
- package/dist/src/resources/conversation-snapshot-resource.js.map +1 -0
- package/dist/src/resources/deployment-status-resource.js +1 -1
- package/dist/src/resources/deployment-status-resource.js.map +1 -1
- package/dist/src/resources/environment-analysis-resource.js +1 -1
- package/dist/src/resources/environment-analysis-resource.js.map +1 -1
- package/dist/src/resources/knowledge-graph-resource.d.ts +129 -0
- package/dist/src/resources/knowledge-graph-resource.d.ts.map +1 -0
- package/dist/src/resources/knowledge-graph-resource.js +217 -0
- package/dist/src/resources/knowledge-graph-resource.js.map +1 -0
- package/dist/src/resources/memory-expand-resource.d.ts +90 -0
- package/dist/src/resources/memory-expand-resource.d.ts.map +1 -0
- package/dist/src/resources/memory-expand-resource.js +176 -0
- package/dist/src/resources/memory-expand-resource.js.map +1 -0
- package/dist/src/resources/memory-stats-resource.d.ts +77 -0
- package/dist/src/resources/memory-stats-resource.d.ts.map +1 -0
- package/dist/src/resources/memory-stats-resource.js +108 -0
- package/dist/src/resources/memory-stats-resource.js.map +1 -0
- package/dist/src/resources/project-metrics-resource.js +1 -1
- package/dist/src/resources/project-metrics-resource.js.map +1 -1
- package/dist/src/resources/resource-cache.d.ts.map +1 -1
- package/dist/src/resources/resource-cache.js +2 -1
- package/dist/src/resources/resource-cache.js.map +1 -1
- package/dist/src/resources/server-context-resource.d.ts +69 -0
- package/dist/src/resources/server-context-resource.d.ts.map +1 -0
- package/dist/src/resources/server-context-resource.js +104 -0
- package/dist/src/resources/server-context-resource.js.map +1 -0
- package/dist/src/resources/tool-catalog-resource.d.ts +122 -0
- package/dist/src/resources/tool-catalog-resource.d.ts.map +1 -0
- package/dist/src/resources/tool-catalog-resource.js +167 -0
- package/dist/src/resources/tool-catalog-resource.js.map +1 -0
- package/dist/src/tools/adr-aggregator-tools.d.ts +185 -0
- package/dist/src/tools/adr-aggregator-tools.d.ts.map +1 -0
- package/dist/src/tools/adr-aggregator-tools.js +872 -0
- package/dist/src/tools/adr-aggregator-tools.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 +7 -6
- package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.d.ts +5 -0
- package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
- package/dist/src/tools/adr-suggestion-tool.js +40 -71
- package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
- package/dist/src/tools/analyze-gaps-tool.d.ts +57 -0
- package/dist/src/tools/analyze-gaps-tool.d.ts.map +1 -0
- package/dist/src/tools/analyze-gaps-tool.js +727 -0
- package/dist/src/tools/analyze-gaps-tool.js.map +1 -0
- package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +23 -1
- package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -1
- package/dist/src/tools/bootstrap-validation-loop-tool.js +15 -5
- package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -1
- package/dist/src/tools/ce-mcp-tools.d.ts +291 -0
- package/dist/src/tools/ce-mcp-tools.d.ts.map +1 -0
- package/dist/src/tools/ce-mcp-tools.js +1188 -0
- package/dist/src/tools/ce-mcp-tools.js.map +1 -0
- package/dist/src/tools/content-masking-tool.d.ts +11 -0
- package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
- package/dist/src/tools/content-masking-tool.js +13 -6
- package/dist/src/tools/content-masking-tool.js.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.d.ts +11 -0
- package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.js +10 -4
- package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
- package/dist/src/tools/environment-analysis-tool.d.ts +96 -1
- package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
- package/dist/src/tools/environment-analysis-tool.js +38 -46
- package/dist/src/tools/environment-analysis-tool.js.map +1 -1
- package/dist/src/tools/research-question-tool.d.ts.map +1 -1
- package/dist/src/tools/research-question-tool.js +3 -2
- package/dist/src/tools/research-question-tool.js.map +1 -1
- package/dist/src/tools/review-existing-adrs-tool.d.ts +5 -0
- package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
- package/dist/src/tools/review-existing-adrs-tool.js +123 -42
- package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
- package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
- package/dist/src/tools/rule-generation-tool.js +3 -5
- package/dist/src/tools/rule-generation-tool.js.map +1 -1
- package/dist/src/tools/search-codebase-tool.d.ts +148 -0
- package/dist/src/tools/search-codebase-tool.d.ts.map +1 -0
- package/dist/src/tools/search-codebase-tool.js +406 -0
- package/dist/src/tools/search-codebase-tool.js.map +1 -0
- package/dist/src/tools/smart-git-push-tool-v2.js +1 -1
- package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
- package/dist/src/tools/tool-catalog.d.ts +134 -0
- package/dist/src/tools/tool-catalog.d.ts.map +1 -0
- package/dist/src/tools/tool-catalog.js +1813 -0
- package/dist/src/tools/tool-catalog.js.map +1 -0
- package/dist/src/tools/tool-chain-orchestrator.d.ts +11 -2
- package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
- package/dist/src/tools/tool-chain-orchestrator.js +11 -2
- package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
- package/dist/src/tools/tool-dispatcher.d.ts +98 -0
- package/dist/src/tools/tool-dispatcher.d.ts.map +1 -0
- package/dist/src/tools/tool-dispatcher.js +229 -0
- package/dist/src/tools/tool-dispatcher.js.map +1 -0
- package/dist/src/tools/tree-sitter-code-tools.d.ts +184 -0
- package/dist/src/tools/tree-sitter-code-tools.d.ts.map +1 -0
- package/dist/src/tools/tree-sitter-code-tools.js +642 -0
- package/dist/src/tools/tree-sitter-code-tools.js.map +1 -0
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +22 -0
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js +20 -3
- package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
- package/dist/src/tools/update-knowledge-tool.d.ts +89 -0
- package/dist/src/tools/update-knowledge-tool.d.ts.map +1 -0
- package/dist/src/tools/update-knowledge-tool.js +222 -0
- package/dist/src/tools/update-knowledge-tool.js.map +1 -0
- package/dist/src/types/adr-aggregator.d.ts +692 -0
- package/dist/src/types/adr-aggregator.d.ts.map +1 -0
- package/dist/src/types/adr-aggregator.js +8 -0
- package/dist/src/types/adr-aggregator.js.map +1 -0
- package/dist/src/types/ce-mcp.d.ts +248 -0
- package/dist/src/types/ce-mcp.d.ts.map +1 -0
- package/dist/src/types/ce-mcp.js +27 -0
- package/dist/src/types/ce-mcp.js.map +1 -0
- package/dist/src/types/index.d.ts +3 -2
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/memory-entities.d.ts +48 -48
- package/dist/src/utils/adr-aggregator-client.d.ts +177 -0
- package/dist/src/utils/adr-aggregator-client.d.ts.map +1 -0
- package/dist/src/utils/adr-aggregator-client.js +396 -0
- package/dist/src/utils/adr-aggregator-client.js.map +1 -0
- package/dist/src/utils/adr-context-detector.js +1 -1
- package/dist/src/utils/adr-context-detector.js.map +1 -1
- package/dist/src/utils/adr-planning-task-integration.d.ts +260 -0
- package/dist/src/utils/adr-planning-task-integration.d.ts.map +1 -0
- package/dist/src/utils/adr-planning-task-integration.js +466 -0
- package/dist/src/utils/adr-planning-task-integration.js.map +1 -0
- package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -1
- package/dist/src/utils/adr-timeline-extractor.js +3 -2
- package/dist/src/utils/adr-timeline-extractor.js.map +1 -1
- package/dist/src/utils/ai-executor.d.ts +10 -0
- package/dist/src/utils/ai-executor.d.ts.map +1 -1
- package/dist/src/utils/ai-executor.js +14 -3
- package/dist/src/utils/ai-executor.js.map +1 -1
- package/dist/src/utils/automatic-prompt-engineering.d.ts +5 -0
- package/dist/src/utils/automatic-prompt-engineering.d.ts.map +1 -1
- package/dist/src/utils/automatic-prompt-engineering.js +10 -90
- package/dist/src/utils/automatic-prompt-engineering.js.map +1 -1
- package/dist/src/utils/bootstrap-task-integration.d.ts +214 -0
- package/dist/src/utils/bootstrap-task-integration.d.ts.map +1 -0
- package/dist/src/utils/bootstrap-task-integration.js +365 -0
- package/dist/src/utils/bootstrap-task-integration.js.map +1 -0
- package/dist/src/utils/config.d.ts +3 -0
- package/dist/src/utils/config.d.ts.map +1 -1
- package/dist/src/utils/config.js +13 -0
- package/dist/src/utils/config.js.map +1 -1
- package/dist/src/utils/dag-executor.js +1 -1
- package/dist/src/utils/dag-executor.js.map +1 -1
- package/dist/src/utils/deployment-task-integration.d.ts +260 -0
- package/dist/src/utils/deployment-task-integration.d.ts.map +1 -0
- package/dist/src/utils/deployment-task-integration.js +393 -0
- package/dist/src/utils/deployment-task-integration.js.map +1 -0
- package/dist/src/utils/dynamic-deployment-intelligence.js +1 -1
- package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -1
- package/dist/src/utils/enhanced-logging.d.ts +3 -0
- package/dist/src/utils/enhanced-logging.d.ts.map +1 -1
- package/dist/src/utils/enhanced-logging.js +9 -30
- package/dist/src/utils/enhanced-logging.js.map +1 -1
- package/dist/src/utils/environment-capability-registry.js +1 -1
- package/dist/src/utils/environment-capability-registry.js.map +1 -1
- package/dist/src/utils/file-system.d.ts.map +1 -1
- package/dist/src/utils/file-system.js +33 -3
- package/dist/src/utils/file-system.js.map +1 -1
- package/dist/src/utils/git-remote-detector.d.ts +67 -0
- package/dist/src/utils/git-remote-detector.d.ts.map +1 -0
- package/dist/src/utils/git-remote-detector.js +194 -0
- package/dist/src/utils/git-remote-detector.js.map +1 -0
- package/dist/src/utils/gitleaks-detector.js +1 -1
- package/dist/src/utils/gitleaks-detector.js.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.d.ts +13 -0
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +13 -0
- package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
- package/dist/src/utils/prompt-execution.d.ts +29 -1
- package/dist/src/utils/prompt-execution.d.ts.map +1 -1
- package/dist/src/utils/prompt-execution.js +29 -1
- package/dist/src/utils/prompt-execution.js.map +1 -1
- package/dist/src/utils/research-orchestrator.d.ts +87 -1
- package/dist/src/utils/research-orchestrator.d.ts.map +1 -1
- package/dist/src/utils/research-orchestrator.js +121 -17
- package/dist/src/utils/research-orchestrator.js.map +1 -1
- package/dist/src/utils/research-task-integration.d.ts +297 -0
- package/dist/src/utils/research-task-integration.d.ts.map +1 -0
- package/dist/src/utils/research-task-integration.js +449 -0
- package/dist/src/utils/research-task-integration.js.map +1 -0
- package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -1
- package/dist/src/utils/ripgrep-wrapper.js +17 -3
- package/dist/src/utils/ripgrep-wrapper.js.map +1 -1
- package/dist/src/utils/sandbox-executor.d.ts +145 -0
- package/dist/src/utils/sandbox-executor.d.ts.map +1 -0
- package/dist/src/utils/sandbox-executor.js +642 -0
- package/dist/src/utils/sandbox-executor.js.map +1 -0
- package/dist/src/utils/server-context-generator.d.ts +5 -0
- package/dist/src/utils/server-context-generator.d.ts.map +1 -1
- package/dist/src/utils/server-context-generator.js +38 -0
- package/dist/src/utils/server-context-generator.js.map +1 -1
- package/dist/src/utils/task-manager.d.ts +239 -0
- package/dist/src/utils/task-manager.d.ts.map +1 -0
- package/dist/src/utils/task-manager.js +528 -0
- package/dist/src/utils/task-manager.js.map +1 -0
- package/dist/src/utils/task-persistence.d.ts +82 -0
- package/dist/src/utils/task-persistence.d.ts.map +1 -0
- package/dist/src/utils/task-persistence.js +248 -0
- package/dist/src/utils/task-persistence.js.map +1 -0
- package/dist/src/utils/test-aware-defaults.d.ts +57 -0
- package/dist/src/utils/test-aware-defaults.d.ts.map +1 -0
- package/dist/src/utils/test-aware-defaults.js +71 -0
- package/dist/src/utils/test-aware-defaults.js.map +1 -0
- package/dist/src/utils/tree-sitter-analyzer.d.ts +42 -5
- package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -1
- package/dist/src/utils/tree-sitter-analyzer.js +499 -17
- package/dist/src/utils/tree-sitter-analyzer.js.map +1 -1
- package/package.json +24 -19
- package/dist/src/tools/smart-git-push-tool.d.ts +0 -55
- package/dist/src/tools/smart-git-push-tool.d.ts.map +0 -1
- package/dist/src/tools/smart-git-push-tool.js +0 -1011
- package/dist/src/tools/smart-git-push-tool.js.map +0 -1
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR Aggregator API Client
|
|
3
|
+
* HTTP client for bidirectional sync with https://adraggregator.com
|
|
4
|
+
*
|
|
5
|
+
* @see NEW_FEATURE.md for API documentation
|
|
6
|
+
*/
|
|
7
|
+
import { McpAdrError } from '../types/index.js';
|
|
8
|
+
import { loadConfig } from './config.js';
|
|
9
|
+
import { detectGitRemote, isGitRepository } from './git-remote-detector.js';
|
|
10
|
+
/**
|
|
11
|
+
* ADR Aggregator API Client
|
|
12
|
+
*
|
|
13
|
+
* Provides methods for all ADR Aggregator API endpoints:
|
|
14
|
+
* - sync_to_aggregator (POST /mcp-sync-adr)
|
|
15
|
+
* - get_adr_context (GET /mcp-get-context)
|
|
16
|
+
* - get_staleness_report (GET /mcp-staleness-report)
|
|
17
|
+
* - get_adr_templates (GET /mcp-get-templates)
|
|
18
|
+
* - get_adr_diagrams (GET /mcp-get-diagrams) - Pro+ tier
|
|
19
|
+
* - validate_adr_compliance (POST /mcp-validate-compliance) - Pro+ tier
|
|
20
|
+
* - get_knowledge_graph (GET /mcp-get-knowledge-graph) - Team tier
|
|
21
|
+
*/
|
|
22
|
+
export class AdrAggregatorClient {
|
|
23
|
+
baseUrl;
|
|
24
|
+
apiKey;
|
|
25
|
+
timeout;
|
|
26
|
+
constructor(config) {
|
|
27
|
+
const serverConfig = loadConfig();
|
|
28
|
+
this.baseUrl =
|
|
29
|
+
config?.baseUrl ||
|
|
30
|
+
serverConfig.adrAggregatorUrl ||
|
|
31
|
+
'https://jvgdaquuggzbkenxnkja.supabase.co';
|
|
32
|
+
this.apiKey = config?.apiKey || serverConfig.adrAggregatorApiKey;
|
|
33
|
+
this.timeout = config?.timeout || 30000;
|
|
34
|
+
// Ensure baseUrl doesn't end with slash
|
|
35
|
+
if (this.baseUrl.endsWith('/')) {
|
|
36
|
+
this.baseUrl = this.baseUrl.slice(0, -1);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Public Helper Methods
|
|
41
|
+
// ============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Auto-detect repository name from git remote
|
|
44
|
+
*
|
|
45
|
+
* @param projectPath - Path to the project (defaults to config.projectPath)
|
|
46
|
+
* @returns Repository name in "owner/repo" format
|
|
47
|
+
* @throws McpAdrError if not a git repository
|
|
48
|
+
*/
|
|
49
|
+
getRepositoryName(projectPath) {
|
|
50
|
+
const path = projectPath || loadConfig().projectPath;
|
|
51
|
+
if (!isGitRepository(path)) {
|
|
52
|
+
throw new McpAdrError('Not a git repository. Cannot detect repository name.', 'NOT_GIT_REPO');
|
|
53
|
+
}
|
|
54
|
+
const gitInfo = detectGitRemote(path);
|
|
55
|
+
return gitInfo.repositoryName;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get full git remote info
|
|
59
|
+
*
|
|
60
|
+
* @param projectPath - Path to the project (defaults to config.projectPath)
|
|
61
|
+
* @returns Git remote information
|
|
62
|
+
*/
|
|
63
|
+
getGitInfo(projectPath) {
|
|
64
|
+
const path = projectPath || loadConfig().projectPath;
|
|
65
|
+
return detectGitRemote(path);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Check if API key is configured
|
|
69
|
+
*
|
|
70
|
+
* @returns true if API key is set
|
|
71
|
+
*/
|
|
72
|
+
isConfigured() {
|
|
73
|
+
return !!this.apiKey;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get the current base URL
|
|
77
|
+
*/
|
|
78
|
+
getBaseUrl() {
|
|
79
|
+
return this.baseUrl;
|
|
80
|
+
}
|
|
81
|
+
// ============================================================================
|
|
82
|
+
// API Methods
|
|
83
|
+
// ============================================================================
|
|
84
|
+
/**
|
|
85
|
+
* Sync ADRs to ADR Aggregator platform
|
|
86
|
+
*
|
|
87
|
+
* @param request - Sync request with ADRs and options
|
|
88
|
+
* @returns Sync response with results
|
|
89
|
+
*/
|
|
90
|
+
async syncAdrs(request) {
|
|
91
|
+
return this.post('/functions/v1/mcp-sync-adr', request);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get ADR context from aggregator
|
|
95
|
+
*
|
|
96
|
+
* @param request - Context request with filters
|
|
97
|
+
* @returns ADR context response
|
|
98
|
+
*/
|
|
99
|
+
async getContext(request) {
|
|
100
|
+
const params = this.buildQueryParams(request);
|
|
101
|
+
return this.get(`/functions/v1/mcp-get-context?${params}`);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Get staleness report
|
|
105
|
+
*
|
|
106
|
+
* @param request - Staleness report request
|
|
107
|
+
* @returns Staleness report response
|
|
108
|
+
*/
|
|
109
|
+
async getStalenessReport(request) {
|
|
110
|
+
const params = this.buildQueryParams(request);
|
|
111
|
+
return this.get(`/functions/v1/mcp-staleness-report?${params}`);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Get ADR templates
|
|
115
|
+
*
|
|
116
|
+
* @param request - Templates request with optional domain filter
|
|
117
|
+
* @returns Templates response
|
|
118
|
+
*/
|
|
119
|
+
async getTemplates(request) {
|
|
120
|
+
const params = this.buildQueryParams(request);
|
|
121
|
+
const endpoint = params
|
|
122
|
+
? `/functions/v1/mcp-get-templates?${params}`
|
|
123
|
+
: '/functions/v1/mcp-get-templates';
|
|
124
|
+
return this.get(endpoint);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get Mermaid diagrams (Pro+ tier)
|
|
128
|
+
*
|
|
129
|
+
* @param request - Diagrams request
|
|
130
|
+
* @returns Diagrams response
|
|
131
|
+
*/
|
|
132
|
+
async getDiagrams(request) {
|
|
133
|
+
const params = this.buildQueryParams(request);
|
|
134
|
+
return this.get(`/functions/v1/mcp-get-diagrams?${params}`);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Validate ADR compliance (Pro+ tier)
|
|
138
|
+
*
|
|
139
|
+
* @param request - Compliance validation request
|
|
140
|
+
* @returns Compliance validation response
|
|
141
|
+
*/
|
|
142
|
+
async validateCompliance(request) {
|
|
143
|
+
return this.post('/functions/v1/mcp-validate-compliance', request);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get knowledge graph (Team tier)
|
|
147
|
+
*
|
|
148
|
+
* @param request - Knowledge graph request
|
|
149
|
+
* @returns Knowledge graph response
|
|
150
|
+
*/
|
|
151
|
+
async getKnowledgeGraph(request) {
|
|
152
|
+
const params = this.buildQueryParams(request);
|
|
153
|
+
return this.get(`/functions/v1/mcp-get-knowledge-graph?${params}`);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Report code gaps to ADR Aggregator
|
|
157
|
+
*
|
|
158
|
+
* @param request - Code gaps report request
|
|
159
|
+
* @returns Report response with gap counts
|
|
160
|
+
*/
|
|
161
|
+
async reportCodeGaps(request) {
|
|
162
|
+
// Gap endpoints use Bearer token authentication
|
|
163
|
+
return this.postWithBearerAuth('/functions/v1/mcp-report-code-gaps', request);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get current code gaps from ADR Aggregator
|
|
167
|
+
*
|
|
168
|
+
* @param request - Get gaps request with optional filters
|
|
169
|
+
* @returns Current gaps with status information
|
|
170
|
+
*/
|
|
171
|
+
async getCodeGaps(request) {
|
|
172
|
+
const params = this.buildQueryParams(request);
|
|
173
|
+
// Gap endpoints use Bearer token authentication
|
|
174
|
+
return this.getWithBearerAuth(`/functions/v1/mcp-get-gaps?${params}`);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Update implementation status of synced ADRs (Pro+ tier)
|
|
178
|
+
*
|
|
179
|
+
* @param request - Update request with status changes
|
|
180
|
+
* @returns Update response with results
|
|
181
|
+
*/
|
|
182
|
+
async updateImplementationStatus(request) {
|
|
183
|
+
return this.post('/functions/v1/mcp-update-implementation-status', request);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Get ADR priorities for roadmap/backlog planning
|
|
187
|
+
*
|
|
188
|
+
* @param request - Priorities request with optional filters
|
|
189
|
+
* @returns Prioritized ADRs with scores, dependencies, and blockers
|
|
190
|
+
*/
|
|
191
|
+
async getPriorities(request) {
|
|
192
|
+
const params = this.buildQueryParams(request);
|
|
193
|
+
return this.get(`/functions/v1/mcp-get-priorities?${params}`);
|
|
194
|
+
}
|
|
195
|
+
// ============================================================================
|
|
196
|
+
// Private HTTP Methods
|
|
197
|
+
// ============================================================================
|
|
198
|
+
async get(endpoint) {
|
|
199
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
200
|
+
const headers = this.buildHeaders();
|
|
201
|
+
const controller = new AbortController();
|
|
202
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
203
|
+
try {
|
|
204
|
+
const response = await fetch(url, {
|
|
205
|
+
method: 'GET',
|
|
206
|
+
headers,
|
|
207
|
+
signal: controller.signal,
|
|
208
|
+
});
|
|
209
|
+
clearTimeout(timeoutId);
|
|
210
|
+
return this.handleResponse(response);
|
|
211
|
+
}
|
|
212
|
+
catch (error) {
|
|
213
|
+
clearTimeout(timeoutId);
|
|
214
|
+
throw this.handleError(error);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
async post(endpoint, body) {
|
|
218
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
219
|
+
const headers = this.buildHeaders();
|
|
220
|
+
const controller = new AbortController();
|
|
221
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
222
|
+
try {
|
|
223
|
+
const response = await fetch(url, {
|
|
224
|
+
method: 'POST',
|
|
225
|
+
headers,
|
|
226
|
+
body: JSON.stringify(body),
|
|
227
|
+
signal: controller.signal,
|
|
228
|
+
});
|
|
229
|
+
clearTimeout(timeoutId);
|
|
230
|
+
return this.handleResponse(response);
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
clearTimeout(timeoutId);
|
|
234
|
+
throw this.handleError(error);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
buildHeaders() {
|
|
238
|
+
const headers = {
|
|
239
|
+
'Content-Type': 'application/json',
|
|
240
|
+
Accept: 'application/json',
|
|
241
|
+
'User-Agent': 'mcp-adr-analysis-server/2.1.22',
|
|
242
|
+
};
|
|
243
|
+
if (this.apiKey) {
|
|
244
|
+
headers['x-api-key'] = this.apiKey;
|
|
245
|
+
}
|
|
246
|
+
return headers;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Build headers with Bearer token authentication
|
|
250
|
+
* Used for gap analysis endpoints
|
|
251
|
+
*/
|
|
252
|
+
buildBearerHeaders() {
|
|
253
|
+
const headers = {
|
|
254
|
+
'Content-Type': 'application/json',
|
|
255
|
+
Accept: 'application/json',
|
|
256
|
+
'User-Agent': 'mcp-adr-analysis-server/2.1.22',
|
|
257
|
+
};
|
|
258
|
+
if (this.apiKey) {
|
|
259
|
+
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
260
|
+
}
|
|
261
|
+
return headers;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* GET request with Bearer token authentication
|
|
265
|
+
*/
|
|
266
|
+
async getWithBearerAuth(endpoint) {
|
|
267
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
268
|
+
const headers = this.buildBearerHeaders();
|
|
269
|
+
const controller = new AbortController();
|
|
270
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
271
|
+
try {
|
|
272
|
+
const response = await fetch(url, {
|
|
273
|
+
method: 'GET',
|
|
274
|
+
headers,
|
|
275
|
+
signal: controller.signal,
|
|
276
|
+
});
|
|
277
|
+
clearTimeout(timeoutId);
|
|
278
|
+
return this.handleResponse(response);
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
clearTimeout(timeoutId);
|
|
282
|
+
throw this.handleError(error);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* POST request with Bearer token authentication
|
|
287
|
+
*/
|
|
288
|
+
async postWithBearerAuth(endpoint, body) {
|
|
289
|
+
const url = `${this.baseUrl}${endpoint}`;
|
|
290
|
+
const headers = this.buildBearerHeaders();
|
|
291
|
+
const controller = new AbortController();
|
|
292
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeout);
|
|
293
|
+
try {
|
|
294
|
+
const response = await fetch(url, {
|
|
295
|
+
method: 'POST',
|
|
296
|
+
headers,
|
|
297
|
+
body: JSON.stringify(body),
|
|
298
|
+
signal: controller.signal,
|
|
299
|
+
});
|
|
300
|
+
clearTimeout(timeoutId);
|
|
301
|
+
return this.handleResponse(response);
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
clearTimeout(timeoutId);
|
|
305
|
+
throw this.handleError(error);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
buildQueryParams(params) {
|
|
309
|
+
const searchParams = new URLSearchParams();
|
|
310
|
+
for (const [key, value] of Object.entries(params)) {
|
|
311
|
+
if (value !== undefined && value !== null && value !== '') {
|
|
312
|
+
if (Array.isArray(value)) {
|
|
313
|
+
// Handle array parameters
|
|
314
|
+
for (const item of value) {
|
|
315
|
+
searchParams.append(key, String(item));
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
else if (typeof value === 'boolean') {
|
|
319
|
+
searchParams.append(key, value ? 'true' : 'false');
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
searchParams.append(key, String(value));
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
return searchParams.toString();
|
|
327
|
+
}
|
|
328
|
+
async handleResponse(response) {
|
|
329
|
+
const contentType = response.headers.get('content-type') || '';
|
|
330
|
+
if (!response.ok) {
|
|
331
|
+
let errorData;
|
|
332
|
+
if (contentType.includes('application/json')) {
|
|
333
|
+
try {
|
|
334
|
+
errorData = (await response.json());
|
|
335
|
+
}
|
|
336
|
+
catch {
|
|
337
|
+
// Ignore JSON parse errors for error responses
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
const errorMessage = errorData?.message || `HTTP ${response.status}: ${response.statusText}`;
|
|
341
|
+
const errorCode = errorData?.code || `HTTP_${response.status}`;
|
|
342
|
+
throw new McpAdrError(errorMessage, errorCode, {
|
|
343
|
+
status: response.status,
|
|
344
|
+
tier_required: errorData?.tier_required,
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
if (contentType.includes('application/json')) {
|
|
348
|
+
return (await response.json());
|
|
349
|
+
}
|
|
350
|
+
throw new McpAdrError('Unexpected response content type', 'INVALID_RESPONSE');
|
|
351
|
+
}
|
|
352
|
+
handleError(error) {
|
|
353
|
+
if (error instanceof McpAdrError) {
|
|
354
|
+
return error;
|
|
355
|
+
}
|
|
356
|
+
if (error instanceof Error) {
|
|
357
|
+
if (error.name === 'AbortError') {
|
|
358
|
+
return new McpAdrError('Request timed out', 'TIMEOUT_ERROR');
|
|
359
|
+
}
|
|
360
|
+
return new McpAdrError(`API request failed: ${error.message}`, 'API_REQUEST_ERROR');
|
|
361
|
+
}
|
|
362
|
+
return new McpAdrError('Unknown API error', 'UNKNOWN_ERROR');
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
// ============================================================================
|
|
366
|
+
// Singleton Instance
|
|
367
|
+
// ============================================================================
|
|
368
|
+
let clientInstance = null;
|
|
369
|
+
/**
|
|
370
|
+
* Get the singleton ADR Aggregator client instance
|
|
371
|
+
*
|
|
372
|
+
* @returns Configured ADR Aggregator client
|
|
373
|
+
*/
|
|
374
|
+
export function getAdrAggregatorClient() {
|
|
375
|
+
if (!clientInstance) {
|
|
376
|
+
clientInstance = new AdrAggregatorClient();
|
|
377
|
+
}
|
|
378
|
+
return clientInstance;
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Reset the singleton client instance
|
|
382
|
+
* Useful for testing or when configuration changes
|
|
383
|
+
*/
|
|
384
|
+
export function resetAdrAggregatorClient() {
|
|
385
|
+
clientInstance = null;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Create a new client with custom configuration
|
|
389
|
+
*
|
|
390
|
+
* @param config - Custom configuration
|
|
391
|
+
* @returns New ADR Aggregator client instance
|
|
392
|
+
*/
|
|
393
|
+
export function createAdrAggregatorClient(config) {
|
|
394
|
+
return new AdrAggregatorClient(config);
|
|
395
|
+
}
|
|
396
|
+
//# sourceMappingURL=adr-aggregator-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr-aggregator-client.js","sourceRoot":"","sources":["../../../src/utils/adr-aggregator-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Automatically detects project context (phase, activity level, velocity)
|
|
5
5
|
* to select appropriate thresholds for timeline analysis
|
|
6
6
|
*/
|
|
7
|
-
import { exec } from 'child_process';
|
|
7
|
+
import { exec } from 'node:child_process';
|
|
8
8
|
import { promisify } from 'util';
|
|
9
9
|
const execAsync = promisify(exec);
|
|
10
10
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr-context-detector.js","sourceRoot":"","sources":["../../../src/utils/adr-context-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"adr-context-detector.js","sourceRoot":"","sources":["../../../src/utils/adr-context-detector.ts"],"names":[],"mappings":"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"}
|