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,466 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tasks Integration for Interactive ADR Planning Tool
|
|
3
|
+
*
|
|
4
|
+
* This module provides standardized task tracking for the interactive ADR planning tool,
|
|
5
|
+
* implementing ADR-020: MCP Tasks Integration Strategy.
|
|
6
|
+
*
|
|
7
|
+
* Key features:
|
|
8
|
+
* - Creates MCP Tasks for ADR planning sessions
|
|
9
|
+
* - Tracks progress through planning phases (problem_definition, research, options, decision, impact, implementation, generation)
|
|
10
|
+
* - Supports cancellation between phases
|
|
11
|
+
* - Handles input_required state for interactive planning
|
|
12
|
+
* - Provides memory integration for planning context tracking
|
|
13
|
+
*
|
|
14
|
+
* @see ADR-020: MCP Tasks Integration Strategy
|
|
15
|
+
* @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks
|
|
16
|
+
*/
|
|
17
|
+
import { getTaskManager } from './task-manager.js';
|
|
18
|
+
import { createComponentLogger } from './enhanced-logging.js';
|
|
19
|
+
const logger = createComponentLogger('AdrPlanningTaskIntegration');
|
|
20
|
+
/**
|
|
21
|
+
* ADR Planning phases that map to MCP Task phases
|
|
22
|
+
*/
|
|
23
|
+
export const ADR_PLANNING_PHASES = [
|
|
24
|
+
'problem_definition',
|
|
25
|
+
'research_analysis',
|
|
26
|
+
'option_exploration',
|
|
27
|
+
'decision_making',
|
|
28
|
+
'impact_assessment',
|
|
29
|
+
'implementation_planning',
|
|
30
|
+
'adr_generation',
|
|
31
|
+
];
|
|
32
|
+
/**
|
|
33
|
+
* ADR Planning Task Manager - Provides MCP Tasks integration for interactive ADR planning
|
|
34
|
+
*
|
|
35
|
+
* This class wraps the TaskManager to provide ADR planning-specific functionality:
|
|
36
|
+
* - Creates tasks with ADR planning phases
|
|
37
|
+
* - Tracks planning progress through multiple steps
|
|
38
|
+
* - Supports input_required state for interactive workflows
|
|
39
|
+
* - Supports cancellation between phases
|
|
40
|
+
* - Integrates with memory for planning context tracking
|
|
41
|
+
*/
|
|
42
|
+
export class AdrPlanningTaskManager {
|
|
43
|
+
taskManager;
|
|
44
|
+
activeContexts = new Map();
|
|
45
|
+
constructor(taskManager) {
|
|
46
|
+
this.taskManager = taskManager ?? getTaskManager();
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Initialize the ADR planning task manager
|
|
50
|
+
*/
|
|
51
|
+
async initialize() {
|
|
52
|
+
await this.taskManager.initialize();
|
|
53
|
+
logger.info('AdrPlanningTaskManager initialized');
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Create a new ADR planning task
|
|
57
|
+
*
|
|
58
|
+
* @returns The created task and context
|
|
59
|
+
*/
|
|
60
|
+
async createAdrPlanningTask(options) {
|
|
61
|
+
const { projectPath, adrDirectory = 'docs/adrs', sessionId } = options;
|
|
62
|
+
const generatedSessionId = sessionId ?? `adr-planning-${Date.now()}`;
|
|
63
|
+
const task = await this.taskManager.createTask({
|
|
64
|
+
type: 'adr_planning',
|
|
65
|
+
tool: 'interactive_adr_planning',
|
|
66
|
+
phases: [...ADR_PLANNING_PHASES],
|
|
67
|
+
projectPath,
|
|
68
|
+
adrDirectory,
|
|
69
|
+
ttl: 3600000, // 1 hour TTL for interactive planning sessions
|
|
70
|
+
pollInterval: 2000, // 2 second poll interval
|
|
71
|
+
});
|
|
72
|
+
const context = {
|
|
73
|
+
taskId: task.taskId,
|
|
74
|
+
sessionId: generatedSessionId,
|
|
75
|
+
currentPhase: 'problem_definition',
|
|
76
|
+
cancelled: false,
|
|
77
|
+
awaitingInput: false,
|
|
78
|
+
};
|
|
79
|
+
this.activeContexts.set(task.taskId, context);
|
|
80
|
+
logger.info('ADR planning task created', {
|
|
81
|
+
taskId: task.taskId,
|
|
82
|
+
sessionId: generatedSessionId,
|
|
83
|
+
projectPath,
|
|
84
|
+
adrDirectory,
|
|
85
|
+
});
|
|
86
|
+
return { task, context };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Get ADR planning task context
|
|
90
|
+
*/
|
|
91
|
+
getContext(taskId) {
|
|
92
|
+
return this.activeContexts.get(taskId);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Start an ADR planning phase
|
|
96
|
+
*/
|
|
97
|
+
async startPhase(taskId, phase, message) {
|
|
98
|
+
const context = this.activeContexts.get(taskId);
|
|
99
|
+
if (!context) {
|
|
100
|
+
logger.warn('No context found for task', { taskId });
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
// Check for cancellation
|
|
104
|
+
if (context.cancelled) {
|
|
105
|
+
throw new Error('Task was cancelled');
|
|
106
|
+
}
|
|
107
|
+
context.currentPhase = phase;
|
|
108
|
+
context.awaitingInput = false;
|
|
109
|
+
await this.taskManager.startPhase(taskId, phase);
|
|
110
|
+
// Calculate overall progress based on phase
|
|
111
|
+
const phaseIndex = ADR_PLANNING_PHASES.indexOf(phase);
|
|
112
|
+
const phaseProgress = phaseIndex >= 0 ? Math.floor((phaseIndex / ADR_PLANNING_PHASES.length) * 100) : 0;
|
|
113
|
+
await this.taskManager.updateProgress({
|
|
114
|
+
taskId,
|
|
115
|
+
progress: phaseProgress,
|
|
116
|
+
phase,
|
|
117
|
+
phaseProgress: 0,
|
|
118
|
+
message: message ?? `Starting phase: ${phase}`,
|
|
119
|
+
});
|
|
120
|
+
logger.info('ADR planning phase started', { taskId, phase, progress: phaseProgress });
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Update phase progress
|
|
124
|
+
*/
|
|
125
|
+
async updatePhaseProgress(taskId, phase, phaseProgress, message) {
|
|
126
|
+
const context = this.activeContexts.get(taskId);
|
|
127
|
+
if (!context) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
// Calculate overall progress
|
|
131
|
+
const phaseIndex = ADR_PLANNING_PHASES.indexOf(phase);
|
|
132
|
+
const phaseFraction = 100 / ADR_PLANNING_PHASES.length;
|
|
133
|
+
const baseProgress = phaseIndex * phaseFraction;
|
|
134
|
+
const overallProgress = Math.floor(baseProgress + (phaseProgress / 100) * phaseFraction);
|
|
135
|
+
await this.taskManager.updateProgress({
|
|
136
|
+
taskId,
|
|
137
|
+
progress: overallProgress,
|
|
138
|
+
phase,
|
|
139
|
+
phaseProgress,
|
|
140
|
+
...(message !== undefined && { message }),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Complete an ADR planning phase
|
|
145
|
+
*/
|
|
146
|
+
async completePhase(taskId, phase, _message) {
|
|
147
|
+
const context = this.activeContexts.get(taskId);
|
|
148
|
+
if (!context) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
await this.taskManager.completePhase(taskId, phase);
|
|
152
|
+
context.awaitingInput = false;
|
|
153
|
+
logger.info('ADR planning phase completed', { taskId, phase });
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Fail an ADR planning phase
|
|
157
|
+
*/
|
|
158
|
+
async failPhase(taskId, phase, error) {
|
|
159
|
+
const context = this.activeContexts.get(taskId);
|
|
160
|
+
if (!context) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
await this.taskManager.failPhase(taskId, phase, error);
|
|
164
|
+
logger.warn('ADR planning phase failed', { taskId, phase, error });
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Request input from user (sets task to input_required state)
|
|
168
|
+
*/
|
|
169
|
+
async requestInput(taskId, prompt) {
|
|
170
|
+
const context = this.activeContexts.get(taskId);
|
|
171
|
+
if (!context) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
context.awaitingInput = true;
|
|
175
|
+
await this.taskManager.requestInput(taskId, prompt);
|
|
176
|
+
logger.info('ADR planning awaiting input', { taskId, prompt });
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Resume task after receiving input
|
|
180
|
+
*/
|
|
181
|
+
async resumeAfterInput(taskId) {
|
|
182
|
+
const context = this.activeContexts.get(taskId);
|
|
183
|
+
if (!context) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
context.awaitingInput = false;
|
|
187
|
+
await this.taskManager.resumeTask(taskId);
|
|
188
|
+
logger.info('ADR planning resumed after input', { taskId });
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Store problem definition result
|
|
192
|
+
*/
|
|
193
|
+
async storeProblemDefinition(taskId, problemStatement) {
|
|
194
|
+
const context = this.activeContexts.get(taskId);
|
|
195
|
+
if (!context) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
context.problemStatement = problemStatement;
|
|
199
|
+
await this.taskManager.updateProgress({
|
|
200
|
+
taskId,
|
|
201
|
+
progress: 14,
|
|
202
|
+
message: `Problem defined: ${problemStatement.substring(0, 50)}...`,
|
|
203
|
+
});
|
|
204
|
+
logger.info('Problem definition stored', { taskId, problemLength: problemStatement.length });
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Store research findings
|
|
208
|
+
*/
|
|
209
|
+
async storeResearchFindings(taskId, findingsCount) {
|
|
210
|
+
const context = this.activeContexts.get(taskId);
|
|
211
|
+
if (!context) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
context.researchCount = findingsCount;
|
|
215
|
+
await this.taskManager.updateProgress({
|
|
216
|
+
taskId,
|
|
217
|
+
progress: 28,
|
|
218
|
+
message: `Research completed: ${findingsCount} findings gathered`,
|
|
219
|
+
});
|
|
220
|
+
logger.info('Research findings stored', { taskId, findingsCount });
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Store options explored
|
|
224
|
+
*/
|
|
225
|
+
async storeOptionsExplored(taskId, optionCount) {
|
|
226
|
+
const context = this.activeContexts.get(taskId);
|
|
227
|
+
if (!context) {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
context.optionCount = optionCount;
|
|
231
|
+
await this.taskManager.updateProgress({
|
|
232
|
+
taskId,
|
|
233
|
+
progress: 42,
|
|
234
|
+
message: `Options explored: ${optionCount} alternatives evaluated`,
|
|
235
|
+
});
|
|
236
|
+
logger.info('Options explored stored', { taskId, optionCount });
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Store decision made
|
|
240
|
+
*/
|
|
241
|
+
async storeDecision(taskId, selectedOption, _rationale) {
|
|
242
|
+
const context = this.activeContexts.get(taskId);
|
|
243
|
+
if (!context) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
context.selectedOption = selectedOption;
|
|
247
|
+
await this.taskManager.updateProgress({
|
|
248
|
+
taskId,
|
|
249
|
+
progress: 56,
|
|
250
|
+
message: `Decision made: ${selectedOption}`,
|
|
251
|
+
});
|
|
252
|
+
logger.info('Decision stored', { taskId, selectedOption });
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Store impact assessment result
|
|
256
|
+
*/
|
|
257
|
+
async storeImpactAssessment(taskId, assessment) {
|
|
258
|
+
const context = this.activeContexts.get(taskId);
|
|
259
|
+
if (!context) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
context.impactAssessment = assessment;
|
|
263
|
+
const totalImpacts = assessment.technicalImpacts + assessment.businessImpacts;
|
|
264
|
+
await this.taskManager.updateProgress({
|
|
265
|
+
taskId,
|
|
266
|
+
progress: 70,
|
|
267
|
+
message: `Impact assessed: ${totalImpacts} impacts, ${assessment.risks} risks identified`,
|
|
268
|
+
});
|
|
269
|
+
logger.info('Impact assessment stored', { taskId, ...assessment });
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Store implementation plan result
|
|
273
|
+
*/
|
|
274
|
+
async storeImplementationPlan(taskId, todoCount) {
|
|
275
|
+
const context = this.activeContexts.get(taskId);
|
|
276
|
+
if (!context) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
context.todoCount = todoCount;
|
|
280
|
+
await this.taskManager.updateProgress({
|
|
281
|
+
taskId,
|
|
282
|
+
progress: 85,
|
|
283
|
+
message: `Implementation planned: ${todoCount} tasks generated`,
|
|
284
|
+
});
|
|
285
|
+
logger.info('Implementation plan stored', { taskId, todoCount });
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Store ADR generation result
|
|
289
|
+
*/
|
|
290
|
+
async storeAdrGenerated(taskId, adrPath) {
|
|
291
|
+
const context = this.activeContexts.get(taskId);
|
|
292
|
+
if (!context) {
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
context.adrGenerated = true;
|
|
296
|
+
await this.taskManager.updateProgress({
|
|
297
|
+
taskId,
|
|
298
|
+
progress: 100,
|
|
299
|
+
message: `ADR generated: ${adrPath}`,
|
|
300
|
+
});
|
|
301
|
+
logger.info('ADR generation stored', { taskId, adrPath });
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Check if task is cancelled
|
|
305
|
+
*/
|
|
306
|
+
async isCancelled(taskId) {
|
|
307
|
+
const context = this.activeContexts.get(taskId);
|
|
308
|
+
if (!context) {
|
|
309
|
+
return false;
|
|
310
|
+
}
|
|
311
|
+
// Check if task was cancelled externally
|
|
312
|
+
const task = await this.taskManager.getTask(taskId);
|
|
313
|
+
if (task?.status === 'cancelled') {
|
|
314
|
+
context.cancelled = true;
|
|
315
|
+
}
|
|
316
|
+
return context.cancelled;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Check if task is awaiting input
|
|
320
|
+
*/
|
|
321
|
+
isAwaitingInput(taskId) {
|
|
322
|
+
const context = this.activeContexts.get(taskId);
|
|
323
|
+
return context?.awaitingInput ?? false;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Cancel an ADR planning task
|
|
327
|
+
*/
|
|
328
|
+
async cancelTask(taskId, reason) {
|
|
329
|
+
const context = this.activeContexts.get(taskId);
|
|
330
|
+
if (context) {
|
|
331
|
+
context.cancelled = true;
|
|
332
|
+
}
|
|
333
|
+
await this.taskManager.cancelTask(taskId, reason ?? 'ADR planning cancelled by user');
|
|
334
|
+
this.activeContexts.delete(taskId);
|
|
335
|
+
logger.info('ADR planning task cancelled', { taskId, reason });
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Complete an ADR planning task successfully
|
|
339
|
+
*/
|
|
340
|
+
async completeTask(taskId, result) {
|
|
341
|
+
await this.taskManager.completeTask(taskId, result);
|
|
342
|
+
this.activeContexts.delete(taskId);
|
|
343
|
+
logger.info('ADR planning task completed', { taskId, success: result.success });
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Fail an ADR planning task
|
|
347
|
+
*/
|
|
348
|
+
async failTask(taskId, error) {
|
|
349
|
+
await this.taskManager.failTask(taskId, error);
|
|
350
|
+
this.activeContexts.delete(taskId);
|
|
351
|
+
logger.error('ADR planning task failed', undefined, { taskId, error });
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Get task status
|
|
355
|
+
*/
|
|
356
|
+
async getTaskStatus(taskId) {
|
|
357
|
+
const task = await this.taskManager.getTask(taskId);
|
|
358
|
+
const context = this.activeContexts.get(taskId);
|
|
359
|
+
return { task, context };
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Get the global AdrPlanningTaskManager instance
|
|
364
|
+
*/
|
|
365
|
+
let globalAdrPlanningTaskManager = null;
|
|
366
|
+
export function getAdrPlanningTaskManager() {
|
|
367
|
+
if (!globalAdrPlanningTaskManager) {
|
|
368
|
+
globalAdrPlanningTaskManager = new AdrPlanningTaskManager();
|
|
369
|
+
}
|
|
370
|
+
return globalAdrPlanningTaskManager;
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Reset the global AdrPlanningTaskManager (for testing)
|
|
374
|
+
*/
|
|
375
|
+
export async function resetAdrPlanningTaskManager() {
|
|
376
|
+
globalAdrPlanningTaskManager = null;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Helper function to wrap ADR planning execution with task tracking
|
|
380
|
+
*
|
|
381
|
+
* This can be used by the interactive_adr_planning tool to automatically
|
|
382
|
+
* track progress through MCP Tasks.
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* ```typescript
|
|
386
|
+
* const result = await executeAdrPlanningWithTaskTracking(
|
|
387
|
+
* {
|
|
388
|
+
* projectPath: '/path/to/project',
|
|
389
|
+
* adrDirectory: 'docs/adrs',
|
|
390
|
+
* },
|
|
391
|
+
* async (tracker) => {
|
|
392
|
+
* // Problem definition phase
|
|
393
|
+
* await tracker.startPhase('problem_definition');
|
|
394
|
+
* const problem = await getProblemStatement();
|
|
395
|
+
* await tracker.storeProblemDefinition(problem);
|
|
396
|
+
* await tracker.completePhase('problem_definition');
|
|
397
|
+
*
|
|
398
|
+
* // Research phase
|
|
399
|
+
* await tracker.startPhase('research_analysis');
|
|
400
|
+
* const findings = await conductResearch();
|
|
401
|
+
* await tracker.storeResearchFindings(findings.length);
|
|
402
|
+
* await tracker.completePhase('research_analysis');
|
|
403
|
+
*
|
|
404
|
+
* // Return final result
|
|
405
|
+
* return {
|
|
406
|
+
* success: true,
|
|
407
|
+
* sessionId: tracker.sessionId,
|
|
408
|
+
* phase: 'completed',
|
|
409
|
+
* adrPath: '/path/to/adr.md',
|
|
410
|
+
* };
|
|
411
|
+
* }
|
|
412
|
+
* );
|
|
413
|
+
* ```
|
|
414
|
+
*/
|
|
415
|
+
export async function executeAdrPlanningWithTaskTracking(options, executor) {
|
|
416
|
+
const apm = getAdrPlanningTaskManager();
|
|
417
|
+
await apm.initialize();
|
|
418
|
+
const { task, context } = await apm.createAdrPlanningTask(options);
|
|
419
|
+
const taskId = task.taskId;
|
|
420
|
+
// Create a tracker interface for the executor
|
|
421
|
+
const tracker = {
|
|
422
|
+
taskId,
|
|
423
|
+
sessionId: context.sessionId,
|
|
424
|
+
startPhase: (phase, message) => apm.startPhase(taskId, phase, message),
|
|
425
|
+
updatePhaseProgress: (phase, progress, message) => apm.updatePhaseProgress(taskId, phase, progress, message),
|
|
426
|
+
completePhase: (phase, message) => apm.completePhase(taskId, phase, message),
|
|
427
|
+
failPhase: (phase, error) => apm.failPhase(taskId, phase, error),
|
|
428
|
+
requestInput: prompt => apm.requestInput(taskId, prompt),
|
|
429
|
+
resumeAfterInput: () => apm.resumeAfterInput(taskId),
|
|
430
|
+
storeProblemDefinition: problem => apm.storeProblemDefinition(taskId, problem),
|
|
431
|
+
storeResearchFindings: count => apm.storeResearchFindings(taskId, count),
|
|
432
|
+
storeOptionsExplored: count => apm.storeOptionsExplored(taskId, count),
|
|
433
|
+
storeDecision: (option, rationale) => apm.storeDecision(taskId, option, rationale),
|
|
434
|
+
storeImpactAssessment: assessment => apm.storeImpactAssessment(taskId, assessment),
|
|
435
|
+
storeImplementationPlan: todoCount => apm.storeImplementationPlan(taskId, todoCount),
|
|
436
|
+
storeAdrGenerated: adrPath => apm.storeAdrGenerated(taskId, adrPath),
|
|
437
|
+
isCancelled: () => apm.isCancelled(taskId),
|
|
438
|
+
isAwaitingInput: () => apm.isAwaitingInput(taskId),
|
|
439
|
+
getContext: () => context,
|
|
440
|
+
};
|
|
441
|
+
try {
|
|
442
|
+
const resultData = await executor(tracker);
|
|
443
|
+
const result = {
|
|
444
|
+
success: resultData?.success ?? false,
|
|
445
|
+
data: resultData,
|
|
446
|
+
};
|
|
447
|
+
await apm.completeTask(taskId, result);
|
|
448
|
+
return { taskId, result };
|
|
449
|
+
}
|
|
450
|
+
catch (error) {
|
|
451
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
452
|
+
await apm.failTask(taskId, errorMessage);
|
|
453
|
+
return {
|
|
454
|
+
taskId,
|
|
455
|
+
result: {
|
|
456
|
+
success: false,
|
|
457
|
+
error: {
|
|
458
|
+
code: 'ADR_PLANNING_ERROR',
|
|
459
|
+
message: errorMessage,
|
|
460
|
+
recoverable: false,
|
|
461
|
+
},
|
|
462
|
+
},
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
//# sourceMappingURL=adr-planning-task-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adr-planning-task-integration.js","sourceRoot":"","sources":["../../../src/utils/adr-planning-task-integration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr-timeline-extractor.d.ts","sourceRoot":"","sources":["../../../src/utils/adr-timeline-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAsCxF;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"adr-timeline-extractor.d.ts","sourceRoot":"","sources":["../../../src/utils/adr-timeline-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAsCxF;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,aAAa,CAAC,CAkFxB;AA2MD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BjF"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Extracts timeline information from ADRs using git history,
|
|
5
5
|
* content parsing, or filesystem metadata with smart conditional logic
|
|
6
6
|
*/
|
|
7
|
-
import { exec } from 'child_process';
|
|
7
|
+
import { exec } from 'node:child_process';
|
|
8
8
|
import { promisify } from 'util';
|
|
9
9
|
import { stat } from 'fs/promises';
|
|
10
10
|
const execAsync = promisify(exec);
|
|
@@ -53,8 +53,9 @@ export async function extractBasicTimeline(adrPath, adrContent, options = {}) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
// Log extraction reason for debugging
|
|
56
|
+
// NOTE: All console output goes to stderr to preserve stdout for MCP JSON-RPC
|
|
56
57
|
if (decision.shouldExtract) {
|
|
57
|
-
console.
|
|
58
|
+
console.error(`[Timeline] Extracting for ${adrPath}: ${decision.reason}`);
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
// Perform extraction using priority order: git → content → filesystem
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr-timeline-extractor.js","sourceRoot":"","sources":["../../../src/utils/adr-timeline-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"adr-timeline-extractor.js","sourceRoot":"","sources":["../../../src/utils/adr-timeline-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This service handles the execution of prompts using OpenRouter.ai,
|
|
5
5
|
* transforming the MCP server from returning prompts to returning actual results.
|
|
6
|
+
*
|
|
7
|
+
* @deprecated This module is part of the legacy OpenRouter execution path.
|
|
8
|
+
* As of CE-MCP Phase 4.4, tools should return OrchestrationDirectives instead
|
|
9
|
+
* of using this executor. This module is retained for:
|
|
10
|
+
* - Hybrid mode support (CE-MCP with OpenRouter fallback)
|
|
11
|
+
* - LLM-specific tools (llm_web_search, llm_cloud_management, llm_database_management)
|
|
12
|
+
*
|
|
13
|
+
* For new tools, use the directive-based approach defined in ADR-014.
|
|
14
|
+
* @see src/types/ce-mcp.ts for OrchestrationDirective types
|
|
15
|
+
* @see docs/adrs/adr-014-ce-mcp-architecture.md
|
|
6
16
|
*/
|
|
7
17
|
import { AIConfig } from '../config/ai-config.js';
|
|
8
18
|
export interface AIExecutionResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-executor.d.ts","sourceRoot":"","sources":["../../../src/utils/ai-executor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ai-executor.d.ts","sourceRoot":"","sources":["../../../src/utils/ai-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;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;IA8BxB;;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"}
|
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This service handles the execution of prompts using OpenRouter.ai,
|
|
5
5
|
* transforming the MCP server from returning prompts to returning actual results.
|
|
6
|
+
*
|
|
7
|
+
* @deprecated This module is part of the legacy OpenRouter execution path.
|
|
8
|
+
* As of CE-MCP Phase 4.4, tools should return OrchestrationDirectives instead
|
|
9
|
+
* of using this executor. This module is retained for:
|
|
10
|
+
* - Hybrid mode support (CE-MCP with OpenRouter fallback)
|
|
11
|
+
* - LLM-specific tools (llm_web_search, llm_cloud_management, llm_database_management)
|
|
12
|
+
*
|
|
13
|
+
* For new tools, use the directive-based approach defined in ADR-014.
|
|
14
|
+
* @see src/types/ce-mcp.ts for OrchestrationDirective types
|
|
15
|
+
* @see docs/adrs/adr-014-ce-mcp-architecture.md
|
|
6
16
|
*/
|
|
7
17
|
import OpenAI from 'openai';
|
|
8
18
|
import { loadAIConfig, validateAIConfig, isAIExecutionEnabled, } from '../config/ai-config.js';
|
|
@@ -58,7 +68,8 @@ export class AIExecutor {
|
|
|
58
68
|
*/
|
|
59
69
|
initializeClient() {
|
|
60
70
|
if (!isAIExecutionEnabled(this.config)) {
|
|
61
|
-
console
|
|
71
|
+
// NOTE: All console output goes to stderr to preserve stdout for MCP JSON-RPC
|
|
72
|
+
console.error('[AI-Executor] AI execution disabled - running in prompt-only mode');
|
|
62
73
|
return;
|
|
63
74
|
}
|
|
64
75
|
try {
|
|
@@ -73,7 +84,7 @@ export class AIExecutor {
|
|
|
73
84
|
'X-Title': this.config.siteName || '',
|
|
74
85
|
},
|
|
75
86
|
});
|
|
76
|
-
console.
|
|
87
|
+
console.error(`[AI-Executor] AI Executor initialized with model: ${this.config.defaultModel}`);
|
|
77
88
|
}
|
|
78
89
|
catch (error) {
|
|
79
90
|
console.error('Failed to initialize AI Executor:', error);
|
|
@@ -98,7 +109,7 @@ export class AIExecutor {
|
|
|
98
109
|
this.config.executionMode !== currentConfig.executionMode ||
|
|
99
110
|
this.config.defaultModel !== currentConfig.defaultModel;
|
|
100
111
|
if (configChanged) {
|
|
101
|
-
console.
|
|
112
|
+
console.error('[AI-Executor] AI configuration changed, reinitializing...');
|
|
102
113
|
this.config = currentConfig;
|
|
103
114
|
this.initializeClient();
|
|
104
115
|
}
|