mcp-adr-analysis-server 2.1.19 → 2.1.22

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.
Files changed (227) hide show
  1. package/README.md +1 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/config/ai-config.d.ts +54 -6
  4. package/dist/src/config/ai-config.d.ts.map +1 -1
  5. package/dist/src/config/ai-config.js +69 -6
  6. package/dist/src/config/ai-config.js.map +1 -1
  7. package/dist/src/config/ape-descriptions.d.ts +77 -0
  8. package/dist/src/config/ape-descriptions.d.ts.map +1 -0
  9. package/dist/src/config/ape-descriptions.js +177 -0
  10. package/dist/src/config/ape-descriptions.js.map +1 -0
  11. package/dist/src/index.d.ts +40 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +564 -8
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/prompts/adr-suggestion-prompts.d.ts +5 -0
  16. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
  17. package/dist/src/prompts/adr-suggestion-prompts.js +22 -1
  18. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
  19. package/dist/src/prompts/prompt-catalog.d.ts +95 -0
  20. package/dist/src/prompts/prompt-catalog.d.ts.map +1 -0
  21. package/dist/src/prompts/prompt-catalog.js +300 -0
  22. package/dist/src/prompts/prompt-catalog.js.map +1 -0
  23. package/dist/src/resources/adrs-discovered-resource.d.ts +124 -0
  24. package/dist/src/resources/adrs-discovered-resource.d.ts.map +1 -0
  25. package/dist/src/resources/adrs-discovered-resource.js +174 -0
  26. package/dist/src/resources/adrs-discovered-resource.js.map +1 -0
  27. package/dist/src/resources/adrs-review-resource.d.ts +82 -0
  28. package/dist/src/resources/adrs-review-resource.d.ts.map +1 -0
  29. package/dist/src/resources/adrs-review-resource.js +160 -0
  30. package/dist/src/resources/adrs-review-resource.js.map +1 -0
  31. package/dist/src/resources/architectural-context-resource.d.ts +95 -0
  32. package/dist/src/resources/architectural-context-resource.d.ts.map +1 -0
  33. package/dist/src/resources/architectural-context-resource.js +428 -0
  34. package/dist/src/resources/architectural-context-resource.js.map +1 -0
  35. package/dist/src/resources/conversation-snapshot-resource.d.ts +92 -0
  36. package/dist/src/resources/conversation-snapshot-resource.d.ts.map +1 -0
  37. package/dist/src/resources/conversation-snapshot-resource.js +122 -0
  38. package/dist/src/resources/conversation-snapshot-resource.js.map +1 -0
  39. package/dist/src/resources/deployment-status-resource.js +1 -1
  40. package/dist/src/resources/deployment-status-resource.js.map +1 -1
  41. package/dist/src/resources/environment-analysis-resource.js +1 -1
  42. package/dist/src/resources/environment-analysis-resource.js.map +1 -1
  43. package/dist/src/resources/knowledge-graph-resource.d.ts +129 -0
  44. package/dist/src/resources/knowledge-graph-resource.d.ts.map +1 -0
  45. package/dist/src/resources/knowledge-graph-resource.js +217 -0
  46. package/dist/src/resources/knowledge-graph-resource.js.map +1 -0
  47. package/dist/src/resources/memory-expand-resource.d.ts +90 -0
  48. package/dist/src/resources/memory-expand-resource.d.ts.map +1 -0
  49. package/dist/src/resources/memory-expand-resource.js +176 -0
  50. package/dist/src/resources/memory-expand-resource.js.map +1 -0
  51. package/dist/src/resources/memory-stats-resource.d.ts +77 -0
  52. package/dist/src/resources/memory-stats-resource.d.ts.map +1 -0
  53. package/dist/src/resources/memory-stats-resource.js +108 -0
  54. package/dist/src/resources/memory-stats-resource.js.map +1 -0
  55. package/dist/src/resources/project-metrics-resource.js +1 -1
  56. package/dist/src/resources/project-metrics-resource.js.map +1 -1
  57. package/dist/src/resources/resource-cache.d.ts.map +1 -1
  58. package/dist/src/resources/resource-cache.js +2 -1
  59. package/dist/src/resources/resource-cache.js.map +1 -1
  60. package/dist/src/resources/server-context-resource.d.ts +69 -0
  61. package/dist/src/resources/server-context-resource.d.ts.map +1 -0
  62. package/dist/src/resources/server-context-resource.js +104 -0
  63. package/dist/src/resources/server-context-resource.js.map +1 -0
  64. package/dist/src/resources/tool-catalog-resource.d.ts +122 -0
  65. package/dist/src/resources/tool-catalog-resource.d.ts.map +1 -0
  66. package/dist/src/resources/tool-catalog-resource.js +167 -0
  67. package/dist/src/resources/tool-catalog-resource.js.map +1 -0
  68. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -1
  69. package/dist/src/tools/adr-bootstrap-validation-tool.js +7 -6
  70. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
  71. package/dist/src/tools/adr-suggestion-tool.d.ts +5 -0
  72. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  73. package/dist/src/tools/adr-suggestion-tool.js +40 -71
  74. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  75. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +23 -1
  76. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -1
  77. package/dist/src/tools/bootstrap-validation-loop-tool.js +15 -5
  78. package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -1
  79. package/dist/src/tools/ce-mcp-tools.d.ts +291 -0
  80. package/dist/src/tools/ce-mcp-tools.d.ts.map +1 -0
  81. package/dist/src/tools/ce-mcp-tools.js +1188 -0
  82. package/dist/src/tools/ce-mcp-tools.js.map +1 -0
  83. package/dist/src/tools/content-masking-tool.d.ts +11 -0
  84. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  85. package/dist/src/tools/content-masking-tool.js +13 -6
  86. package/dist/src/tools/content-masking-tool.js.map +1 -1
  87. package/dist/src/tools/deployment-readiness-tool.d.ts +11 -0
  88. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  89. package/dist/src/tools/deployment-readiness-tool.js +10 -4
  90. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  91. package/dist/src/tools/environment-analysis-tool.d.ts +96 -1
  92. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  93. package/dist/src/tools/environment-analysis-tool.js +38 -46
  94. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  95. package/dist/src/tools/research-question-tool.d.ts.map +1 -1
  96. package/dist/src/tools/research-question-tool.js +3 -2
  97. package/dist/src/tools/research-question-tool.js.map +1 -1
  98. package/dist/src/tools/review-existing-adrs-tool.d.ts +5 -0
  99. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
  100. package/dist/src/tools/review-existing-adrs-tool.js +123 -42
  101. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
  102. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  103. package/dist/src/tools/rule-generation-tool.js +3 -5
  104. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  105. package/dist/src/tools/search-codebase-tool.d.ts +148 -0
  106. package/dist/src/tools/search-codebase-tool.d.ts.map +1 -0
  107. package/dist/src/tools/search-codebase-tool.js +406 -0
  108. package/dist/src/tools/search-codebase-tool.js.map +1 -0
  109. package/dist/src/tools/smart-git-push-tool-v2.js +1 -1
  110. package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
  111. package/dist/src/tools/tool-catalog.d.ts +134 -0
  112. package/dist/src/tools/tool-catalog.d.ts.map +1 -0
  113. package/dist/src/tools/tool-catalog.js +1431 -0
  114. package/dist/src/tools/tool-catalog.js.map +1 -0
  115. package/dist/src/tools/tool-chain-orchestrator.d.ts +11 -2
  116. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  117. package/dist/src/tools/tool-chain-orchestrator.js +11 -2
  118. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  119. package/dist/src/tools/tool-dispatcher.d.ts +98 -0
  120. package/dist/src/tools/tool-dispatcher.d.ts.map +1 -0
  121. package/dist/src/tools/tool-dispatcher.js +225 -0
  122. package/dist/src/tools/tool-dispatcher.js.map +1 -0
  123. package/dist/src/tools/tree-sitter-code-tools.d.ts +184 -0
  124. package/dist/src/tools/tree-sitter-code-tools.d.ts.map +1 -0
  125. package/dist/src/tools/tree-sitter-code-tools.js +642 -0
  126. package/dist/src/tools/tree-sitter-code-tools.js.map +1 -0
  127. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +22 -0
  128. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  129. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +20 -3
  130. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  131. package/dist/src/tools/update-knowledge-tool.d.ts +89 -0
  132. package/dist/src/tools/update-knowledge-tool.d.ts.map +1 -0
  133. package/dist/src/tools/update-knowledge-tool.js +222 -0
  134. package/dist/src/tools/update-knowledge-tool.js.map +1 -0
  135. package/dist/src/types/ce-mcp.d.ts +248 -0
  136. package/dist/src/types/ce-mcp.d.ts.map +1 -0
  137. package/dist/src/types/ce-mcp.js +27 -0
  138. package/dist/src/types/ce-mcp.js.map +1 -0
  139. package/dist/src/utils/adr-context-detector.js +1 -1
  140. package/dist/src/utils/adr-context-detector.js.map +1 -1
  141. package/dist/src/utils/adr-planning-task-integration.d.ts +260 -0
  142. package/dist/src/utils/adr-planning-task-integration.d.ts.map +1 -0
  143. package/dist/src/utils/adr-planning-task-integration.js +466 -0
  144. package/dist/src/utils/adr-planning-task-integration.js.map +1 -0
  145. package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -1
  146. package/dist/src/utils/adr-timeline-extractor.js +3 -2
  147. package/dist/src/utils/adr-timeline-extractor.js.map +1 -1
  148. package/dist/src/utils/ai-executor.d.ts +10 -0
  149. package/dist/src/utils/ai-executor.d.ts.map +1 -1
  150. package/dist/src/utils/ai-executor.js +14 -3
  151. package/dist/src/utils/ai-executor.js.map +1 -1
  152. package/dist/src/utils/automatic-prompt-engineering.d.ts +5 -0
  153. package/dist/src/utils/automatic-prompt-engineering.d.ts.map +1 -1
  154. package/dist/src/utils/automatic-prompt-engineering.js +10 -90
  155. package/dist/src/utils/automatic-prompt-engineering.js.map +1 -1
  156. package/dist/src/utils/bootstrap-task-integration.d.ts +214 -0
  157. package/dist/src/utils/bootstrap-task-integration.d.ts.map +1 -0
  158. package/dist/src/utils/bootstrap-task-integration.js +365 -0
  159. package/dist/src/utils/bootstrap-task-integration.js.map +1 -0
  160. package/dist/src/utils/dag-executor.d.ts.map +1 -1
  161. package/dist/src/utils/dag-executor.js +48 -15
  162. package/dist/src/utils/dag-executor.js.map +1 -1
  163. package/dist/src/utils/deployment-task-integration.d.ts +260 -0
  164. package/dist/src/utils/deployment-task-integration.d.ts.map +1 -0
  165. package/dist/src/utils/deployment-task-integration.js +393 -0
  166. package/dist/src/utils/deployment-task-integration.js.map +1 -0
  167. package/dist/src/utils/dynamic-deployment-intelligence.js +1 -1
  168. package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -1
  169. package/dist/src/utils/enhanced-logging.d.ts +3 -0
  170. package/dist/src/utils/enhanced-logging.d.ts.map +1 -1
  171. package/dist/src/utils/enhanced-logging.js +9 -30
  172. package/dist/src/utils/enhanced-logging.js.map +1 -1
  173. package/dist/src/utils/environment-capability-registry.js +1 -1
  174. package/dist/src/utils/environment-capability-registry.js.map +1 -1
  175. package/dist/src/utils/file-system.d.ts.map +1 -1
  176. package/dist/src/utils/file-system.js +33 -3
  177. package/dist/src/utils/file-system.js.map +1 -1
  178. package/dist/src/utils/gitleaks-detector.js +1 -1
  179. package/dist/src/utils/gitleaks-detector.js.map +1 -1
  180. package/dist/src/utils/knowledge-graph-manager.d.ts +13 -0
  181. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  182. package/dist/src/utils/knowledge-graph-manager.js +13 -0
  183. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  184. package/dist/src/utils/prompt-execution.d.ts +29 -1
  185. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  186. package/dist/src/utils/prompt-execution.js +29 -1
  187. package/dist/src/utils/prompt-execution.js.map +1 -1
  188. package/dist/src/utils/research-orchestrator.d.ts +87 -1
  189. package/dist/src/utils/research-orchestrator.d.ts.map +1 -1
  190. package/dist/src/utils/research-orchestrator.js +121 -17
  191. package/dist/src/utils/research-orchestrator.js.map +1 -1
  192. package/dist/src/utils/research-task-integration.d.ts +297 -0
  193. package/dist/src/utils/research-task-integration.d.ts.map +1 -0
  194. package/dist/src/utils/research-task-integration.js +449 -0
  195. package/dist/src/utils/research-task-integration.js.map +1 -0
  196. package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -1
  197. package/dist/src/utils/ripgrep-wrapper.js +17 -3
  198. package/dist/src/utils/ripgrep-wrapper.js.map +1 -1
  199. package/dist/src/utils/sandbox-executor.d.ts +145 -0
  200. package/dist/src/utils/sandbox-executor.d.ts.map +1 -0
  201. package/dist/src/utils/sandbox-executor.js +642 -0
  202. package/dist/src/utils/sandbox-executor.js.map +1 -0
  203. package/dist/src/utils/server-context-generator.d.ts +5 -0
  204. package/dist/src/utils/server-context-generator.d.ts.map +1 -1
  205. package/dist/src/utils/server-context-generator.js +38 -0
  206. package/dist/src/utils/server-context-generator.js.map +1 -1
  207. package/dist/src/utils/task-manager.d.ts +239 -0
  208. package/dist/src/utils/task-manager.d.ts.map +1 -0
  209. package/dist/src/utils/task-manager.js +528 -0
  210. package/dist/src/utils/task-manager.js.map +1 -0
  211. package/dist/src/utils/task-persistence.d.ts +82 -0
  212. package/dist/src/utils/task-persistence.d.ts.map +1 -0
  213. package/dist/src/utils/task-persistence.js +248 -0
  214. package/dist/src/utils/task-persistence.js.map +1 -0
  215. package/dist/src/utils/test-aware-defaults.d.ts +57 -0
  216. package/dist/src/utils/test-aware-defaults.d.ts.map +1 -0
  217. package/dist/src/utils/test-aware-defaults.js +71 -0
  218. package/dist/src/utils/test-aware-defaults.js.map +1 -0
  219. package/dist/src/utils/tree-sitter-analyzer.d.ts +42 -5
  220. package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -1
  221. package/dist/src/utils/tree-sitter-analyzer.js +499 -17
  222. package/dist/src/utils/tree-sitter-analyzer.js.map +1 -1
  223. package/package.json +25 -20
  224. package/dist/src/tools/smart-git-push-tool.d.ts +0 -55
  225. package/dist/src/tools/smart-git-push-tool.d.ts.map +0 -1
  226. package/dist/src/tools/smart-git-push-tool.js +0 -1011
  227. package/dist/src/tools/smart-git-push-tool.js.map +0 -1
@@ -0,0 +1,449 @@
1
+ /**
2
+ * MCP Tasks Integration for Research Orchestrator
3
+ *
4
+ * This module provides standardized task tracking for research operations,
5
+ * implementing ADR-020: MCP Tasks Integration Strategy.
6
+ *
7
+ * Key features:
8
+ * - Creates MCP Tasks for research operations
9
+ * - Returns research plans for LLM delegation (non-blocking)
10
+ * - Tracks progress through research phases
11
+ * - Supports cancellation between phases
12
+ *
13
+ * @see ADR-020: MCP Tasks Integration Strategy
14
+ * @see https://modelcontextprotocol.io/specification/2025-11-25/basic/utilities/tasks
15
+ */
16
+ import { getTaskManager } from './task-manager.js';
17
+ import { createComponentLogger } from './enhanced-logging.js';
18
+ const logger = createComponentLogger('ResearchTaskIntegration');
19
+ /**
20
+ * Research phases that map to MCP Task phases
21
+ */
22
+ export const RESEARCH_PHASES = [
23
+ 'initialization',
24
+ 'project_files_search',
25
+ 'knowledge_graph_query',
26
+ 'environment_analysis',
27
+ 'web_search',
28
+ 'synthesis',
29
+ ];
30
+ /**
31
+ * Research Task Manager - Provides MCP Tasks integration for research operations
32
+ *
33
+ * This class wraps the TaskManager to provide research-specific functionality:
34
+ * - Creates tasks with research phases
35
+ * - Returns research plans for LLM delegation (non-blocking)
36
+ * - Tracks research progress through multiple phases
37
+ * - Supports cancellation between phases
38
+ */
39
+ export class ResearchTaskManager {
40
+ taskManager;
41
+ activeContexts = new Map();
42
+ constructor(taskManager) {
43
+ this.taskManager = taskManager ?? getTaskManager();
44
+ }
45
+ /**
46
+ * Initialize the research task manager
47
+ */
48
+ async initialize() {
49
+ await this.taskManager.initialize();
50
+ logger.info('ResearchTaskManager initialized');
51
+ }
52
+ /**
53
+ * Create a new research task and return a research plan for LLM delegation
54
+ *
55
+ * This method does NOT execute research - it returns a plan that the calling
56
+ * LLM should execute using atomic tools.
57
+ *
58
+ * @returns The created task, context, and research plan for LLM delegation
59
+ */
60
+ async createResearchTask(options) {
61
+ const { question, projectPath, includeWebSearch = true, confidenceThreshold = 0.6 } = options;
62
+ const task = await this.taskManager.createTask({
63
+ type: 'research',
64
+ tool: 'research_orchestrator',
65
+ phases: [...RESEARCH_PHASES],
66
+ projectPath,
67
+ ttl: 300000, // 5 minute TTL for research
68
+ pollInterval: 1000,
69
+ });
70
+ const context = {
71
+ taskId: task.taskId,
72
+ currentPhase: 'initialization',
73
+ question,
74
+ projectPath,
75
+ cancelled: false,
76
+ };
77
+ this.activeContexts.set(task.taskId, context);
78
+ // Generate research plan for LLM delegation
79
+ const plan = this.generateResearchPlan(task.taskId, question, projectPath, includeWebSearch, confidenceThreshold);
80
+ logger.info('Research task created with LLM delegation plan', {
81
+ taskId: task.taskId,
82
+ question,
83
+ projectPath,
84
+ phasesCount: plan.phases.length,
85
+ });
86
+ return { task, context, plan };
87
+ }
88
+ /**
89
+ * Generate a research plan for LLM delegation
90
+ *
91
+ * This creates a structured plan that tells the calling LLM what tools
92
+ * to use and in what order to complete the research.
93
+ */
94
+ generateResearchPlan(taskId, question, projectPath, includeWebSearch, confidenceThreshold) {
95
+ const phases = [
96
+ {
97
+ phase: 'project_files_search',
98
+ tool: 'searchCodebase',
99
+ params: {
100
+ query: question,
101
+ projectPath,
102
+ includeAdr: true,
103
+ maxResults: 20,
104
+ },
105
+ purpose: 'Search project files for relevant code, documentation, and ADRs',
106
+ expectedOutput: 'List of relevant files with content snippets and relevance scores',
107
+ },
108
+ {
109
+ phase: 'knowledge_graph_query',
110
+ tool: 'query_knowledge_graph',
111
+ params: {
112
+ question,
113
+ projectPath,
114
+ },
115
+ purpose: 'Query the knowledge graph for architectural decisions and relationships',
116
+ expectedOutput: 'Nodes and relationships relevant to the question',
117
+ },
118
+ {
119
+ phase: 'environment_analysis',
120
+ tool: 'environment_analysis',
121
+ params: {
122
+ projectPath,
123
+ analysisType: 'research',
124
+ },
125
+ purpose: 'Analyze the runtime environment for relevant capabilities and context',
126
+ expectedOutput: 'Environment capabilities and configuration relevant to the question',
127
+ },
128
+ ];
129
+ if (includeWebSearch) {
130
+ phases.push({
131
+ phase: 'web_search',
132
+ tool: 'web_search',
133
+ params: {
134
+ query: question,
135
+ maxResults: 5,
136
+ },
137
+ purpose: 'Search the web for external information if internal sources are insufficient',
138
+ condition: `Only execute if overall confidence from previous phases is below ${confidenceThreshold}`,
139
+ expectedOutput: 'Web search results with relevant external information',
140
+ });
141
+ }
142
+ return {
143
+ taskId,
144
+ question,
145
+ phases,
146
+ synthesisInstructions: `
147
+ After executing the applicable phases, synthesize the results into a comprehensive answer:
148
+
149
+ 1. **Combine Sources**: Merge information from all phases that returned useful data
150
+ 2. **Calculate Confidence**: Weight each source by its confidence score:
151
+ - project_files: 0.9 weight
152
+ - knowledge_graph: 0.85 weight
153
+ - environment: 0.95 weight
154
+ - web_search: 0.7 weight
155
+ 3. **Identify Conflicts**: Note any conflicting information between sources
156
+ 4. **Provide Answer**: Generate a clear, actionable answer to the original question
157
+ 5. **Cite Sources**: Reference which phase(s) provided each piece of information
158
+
159
+ Report progress by calling updateResearchProgress() after each phase completes.
160
+ `,
161
+ expectedResultFormat: `{
162
+ "answer": "The synthesized answer to the question",
163
+ "confidence": 0.0-1.0,
164
+ "sources": [
165
+ { "type": "project_files|knowledge_graph|environment|web_search", "confidence": 0.0-1.0, "data": {...} }
166
+ ],
167
+ "phasesCompleted": ["phase1", "phase2", ...]
168
+ }`,
169
+ };
170
+ }
171
+ /**
172
+ * Get research task context
173
+ */
174
+ getContext(taskId) {
175
+ return this.activeContexts.get(taskId);
176
+ }
177
+ /**
178
+ * Start a research phase
179
+ */
180
+ async startPhase(taskId, phase, message) {
181
+ const context = this.activeContexts.get(taskId);
182
+ if (!context) {
183
+ logger.warn('No context found for task', { taskId });
184
+ return;
185
+ }
186
+ if (context.cancelled) {
187
+ throw new Error('Task was cancelled');
188
+ }
189
+ context.currentPhase = phase;
190
+ await this.taskManager.startPhase(taskId, phase);
191
+ const phaseIndex = RESEARCH_PHASES.indexOf(phase);
192
+ const phaseProgress = phaseIndex >= 0 ? Math.floor((phaseIndex / RESEARCH_PHASES.length) * 100) : 0;
193
+ await this.taskManager.updateProgress({
194
+ taskId,
195
+ progress: phaseProgress,
196
+ phase,
197
+ phaseProgress: 0,
198
+ ...(message !== undefined && { message }),
199
+ });
200
+ logger.info('Research phase started', { taskId, phase, progress: phaseProgress });
201
+ }
202
+ /**
203
+ * Update phase progress
204
+ */
205
+ async updatePhaseProgress(taskId, phase, phaseProgress, message) {
206
+ const context = this.activeContexts.get(taskId);
207
+ if (!context) {
208
+ return;
209
+ }
210
+ const phaseIndex = RESEARCH_PHASES.indexOf(phase);
211
+ const phaseFraction = 100 / RESEARCH_PHASES.length;
212
+ const baseProgress = phaseIndex * phaseFraction;
213
+ const overallProgress = Math.floor(baseProgress + (phaseProgress / 100) * phaseFraction);
214
+ await this.taskManager.updateProgress({
215
+ taskId,
216
+ progress: overallProgress,
217
+ phase,
218
+ phaseProgress,
219
+ ...(message !== undefined && { message }),
220
+ });
221
+ }
222
+ /**
223
+ * Complete a research phase
224
+ */
225
+ async completePhase(taskId, phase, _message) {
226
+ const context = this.activeContexts.get(taskId);
227
+ if (!context) {
228
+ return;
229
+ }
230
+ await this.taskManager.completePhase(taskId, phase);
231
+ logger.info('Research phase completed', { taskId, phase });
232
+ }
233
+ /**
234
+ * Fail a research phase
235
+ */
236
+ async failPhase(taskId, phase, error) {
237
+ const context = this.activeContexts.get(taskId);
238
+ if (!context) {
239
+ return;
240
+ }
241
+ await this.taskManager.failPhase(taskId, phase, error);
242
+ logger.warn('Research phase failed', { taskId, phase, error });
243
+ }
244
+ /**
245
+ * Store project files search result
246
+ */
247
+ async storeProjectFilesResult(taskId, result) {
248
+ const context = this.activeContexts.get(taskId);
249
+ if (!context) {
250
+ return;
251
+ }
252
+ context.projectFilesResult = result;
253
+ await this.taskManager.updateProgress({
254
+ taskId,
255
+ progress: 20,
256
+ message: `Found ${result.filesFound} files, ${result.relevantFiles.length} relevant (${Math.round(result.confidence * 100)}% confidence)`,
257
+ });
258
+ logger.info('Project files result stored', { taskId, ...result });
259
+ }
260
+ /**
261
+ * Store knowledge graph query result
262
+ */
263
+ async storeKnowledgeGraphResult(taskId, result) {
264
+ const context = this.activeContexts.get(taskId);
265
+ if (!context) {
266
+ return;
267
+ }
268
+ context.knowledgeGraphResult = result;
269
+ await this.taskManager.updateProgress({
270
+ taskId,
271
+ progress: 40,
272
+ message: `Found ${result.nodesFound} nodes, ${result.relationshipsFound} relationships (${Math.round(result.confidence * 100)}% confidence)`,
273
+ });
274
+ logger.info('Knowledge graph result stored', { taskId, ...result });
275
+ }
276
+ /**
277
+ * Store environment analysis result
278
+ */
279
+ async storeEnvironmentResult(taskId, result) {
280
+ const context = this.activeContexts.get(taskId);
281
+ if (!context) {
282
+ return;
283
+ }
284
+ context.environmentResult = result;
285
+ await this.taskManager.updateProgress({
286
+ taskId,
287
+ progress: 60,
288
+ message: `Found ${result.capabilitiesFound} capabilities (${Math.round(result.confidence * 100)}% confidence)`,
289
+ });
290
+ logger.info('Environment result stored', {
291
+ taskId,
292
+ capabilitiesFound: result.capabilitiesFound,
293
+ });
294
+ }
295
+ /**
296
+ * Store web search result
297
+ */
298
+ async storeWebSearchResult(taskId, result) {
299
+ const context = this.activeContexts.get(taskId);
300
+ if (!context) {
301
+ return;
302
+ }
303
+ context.webSearchResult = result;
304
+ await this.taskManager.updateProgress({
305
+ taskId,
306
+ progress: 80,
307
+ message: `Found ${result.resultsFound} web results from ${result.sources.length} sources (${Math.round(result.confidence * 100)}% confidence)`,
308
+ });
309
+ logger.info('Web search result stored', { taskId, ...result });
310
+ }
311
+ /**
312
+ * Store synthesized answer
313
+ */
314
+ async storeSynthesizedAnswer(taskId, answer, confidence) {
315
+ const context = this.activeContexts.get(taskId);
316
+ if (!context) {
317
+ return;
318
+ }
319
+ context.synthesizedAnswer = answer;
320
+ context.overallConfidence = confidence;
321
+ await this.taskManager.updateProgress({
322
+ taskId,
323
+ progress: 95,
324
+ message: `Answer synthesized (${Math.round(confidence * 100)}% confidence)`,
325
+ });
326
+ logger.info('Synthesized answer stored', { taskId, confidence });
327
+ }
328
+ /**
329
+ * Check if task is cancelled
330
+ */
331
+ async isCancelled(taskId) {
332
+ const context = this.activeContexts.get(taskId);
333
+ if (!context) {
334
+ return false;
335
+ }
336
+ const task = await this.taskManager.getTask(taskId);
337
+ if (task?.status === 'cancelled') {
338
+ context.cancelled = true;
339
+ }
340
+ return context.cancelled;
341
+ }
342
+ /**
343
+ * Cancel a research task
344
+ */
345
+ async cancelTask(taskId, reason) {
346
+ const context = this.activeContexts.get(taskId);
347
+ if (context) {
348
+ context.cancelled = true;
349
+ }
350
+ await this.taskManager.cancelTask(taskId, reason ?? 'Research cancelled by user');
351
+ this.activeContexts.delete(taskId);
352
+ logger.info('Research task cancelled', { taskId, reason });
353
+ }
354
+ /**
355
+ * Complete a research task successfully
356
+ */
357
+ async completeTask(taskId, result) {
358
+ await this.taskManager.completeTask(taskId, result);
359
+ this.activeContexts.delete(taskId);
360
+ logger.info('Research task completed', { taskId, success: result.success });
361
+ }
362
+ /**
363
+ * Fail a research task
364
+ */
365
+ async failTask(taskId, error) {
366
+ await this.taskManager.failTask(taskId, error);
367
+ this.activeContexts.delete(taskId);
368
+ logger.error('Research task failed', undefined, { taskId, error });
369
+ }
370
+ /**
371
+ * Get task status
372
+ */
373
+ async getTaskStatus(taskId) {
374
+ const task = await this.taskManager.getTask(taskId);
375
+ const context = this.activeContexts.get(taskId);
376
+ return { task, context };
377
+ }
378
+ }
379
+ /**
380
+ * Get the global ResearchTaskManager instance
381
+ */
382
+ let globalResearchTaskManager = null;
383
+ export function getResearchTaskManager() {
384
+ if (!globalResearchTaskManager) {
385
+ globalResearchTaskManager = new ResearchTaskManager();
386
+ }
387
+ return globalResearchTaskManager;
388
+ }
389
+ /**
390
+ * Reset the global ResearchTaskManager (for testing)
391
+ */
392
+ export async function resetResearchTaskManager() {
393
+ globalResearchTaskManager = null;
394
+ }
395
+ /**
396
+ * Helper function to create a research task and get the LLM delegation plan
397
+ *
398
+ * This is the primary entry point for research operations. It:
399
+ * 1. Creates an MCP Task for tracking
400
+ * 2. Returns a research plan for the calling LLM to execute
401
+ * 3. The LLM executes each phase using atomic tools
402
+ * 4. The LLM reports progress back via the tracker interface
403
+ *
404
+ * @example
405
+ * ```typescript
406
+ * const { taskId, plan, tracker } = await createResearchWithDelegation({
407
+ * question: 'How does authentication work in this codebase?',
408
+ * projectPath: '/path/to/project',
409
+ * });
410
+ *
411
+ * // LLM receives the plan and executes each phase:
412
+ * // Phase 1: searchCodebase({ query: question, ... })
413
+ * // Phase 2: query_knowledge_graph({ question, ... })
414
+ * // etc.
415
+ *
416
+ * // After each phase, LLM reports progress:
417
+ * await tracker.storeProjectFilesResult({ filesFound: 10, ... });
418
+ * await tracker.completePhase('project_files_search');
419
+ *
420
+ * // Finally, LLM synthesizes and completes:
421
+ * await tracker.storeSynthesizedAnswer(answer, confidence);
422
+ * await tracker.complete({ success: true, data: { answer, ... } });
423
+ * ```
424
+ */
425
+ export async function createResearchWithDelegation(options) {
426
+ const rtm = getResearchTaskManager();
427
+ await rtm.initialize();
428
+ const { task, context, plan } = await rtm.createResearchTask(options);
429
+ const taskId = task.taskId;
430
+ const tracker = {
431
+ taskId,
432
+ startPhase: (phase, message) => rtm.startPhase(taskId, phase, message),
433
+ updatePhaseProgress: (phase, progress, message) => rtm.updatePhaseProgress(taskId, phase, progress, message),
434
+ completePhase: (phase, message) => rtm.completePhase(taskId, phase, message),
435
+ failPhase: (phase, error) => rtm.failPhase(taskId, phase, error),
436
+ storeProjectFilesResult: result => rtm.storeProjectFilesResult(taskId, result),
437
+ storeKnowledgeGraphResult: result => rtm.storeKnowledgeGraphResult(taskId, result),
438
+ storeEnvironmentResult: result => rtm.storeEnvironmentResult(taskId, result),
439
+ storeWebSearchResult: result => rtm.storeWebSearchResult(taskId, result),
440
+ storeSynthesizedAnswer: (answer, confidence) => rtm.storeSynthesizedAnswer(taskId, answer, confidence),
441
+ isCancelled: () => rtm.isCancelled(taskId),
442
+ cancel: reason => rtm.cancelTask(taskId, reason),
443
+ complete: result => rtm.completeTask(taskId, result),
444
+ fail: error => rtm.failTask(taskId, error),
445
+ getContext: () => context,
446
+ };
447
+ return { taskId, plan, tracker };
448
+ }
449
+ //# sourceMappingURL=research-task-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-task-integration.js","sourceRoot":"","sources":["../../../src/utils/research-task-integration.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ripgrep-wrapper.d.ts","sourceRoot":"","sources":["../../../src/utils/ripgrep-wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmFlF;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAuHjG;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CA6BhC;AAUD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQhE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB"}
1
+ {"version":3,"file":"ripgrep-wrapper.d.ts","sourceRoot":"","sources":["../../../src/utils/ripgrep-wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0FlF;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8HjG;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CA6BhC;AAUD;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQhE;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,OAAO,CAAC,MAAM,EAAE,CAAC,CAoBnB"}
@@ -2,7 +2,7 @@
2
2
  * Ripgrep wrapper for efficient code searching
3
3
  * Provides a Node.js interface to the ripgrep command-line tool
4
4
  */
5
- import { exec } from 'child_process';
5
+ import { exec } from 'node:child_process';
6
6
  import { promisify } from 'util';
7
7
  import { FileSystemError } from '../types/index.js';
8
8
  const execAsync = promisify(exec);
@@ -50,7 +50,14 @@ export async function searchWithRipgrep(options) {
50
50
  args.push(`--max-count=${maxMatches}`);
51
51
  }
52
52
  if (fileType) {
53
- args.push(`--type=${fileType}`);
53
+ // Handle comma-separated file types (e.g., "ts,js,py" -> "--type=ts --type=js --type=py")
54
+ const types = fileType
55
+ .split(',')
56
+ .map(t => t.trim())
57
+ .filter(t => t);
58
+ for (const type of types) {
59
+ args.push(`--type=${type}`);
60
+ }
54
61
  }
55
62
  if (caseInsensitive) {
56
63
  args.push('--ignore-case');
@@ -117,7 +124,14 @@ export async function searchWithRipgrepDetailed(options) {
117
124
  args.push(`--max-count=${maxMatches}`);
118
125
  }
119
126
  if (fileType) {
120
- args.push(`--type=${fileType}`);
127
+ // Handle comma-separated file types (e.g., "ts,js,py" -> "--type=ts --type=js --type=py")
128
+ const types = fileType
129
+ .split(',')
130
+ .map(t => t.trim())
131
+ .filter(t => t);
132
+ for (const type of types) {
133
+ args.push(`--type=${type}`);
134
+ }
121
135
  }
122
136
  if (caseInsensitive) {
123
137
  args.push('--ignore-case');
@@ -1 +1 @@
1
- {"version":3,"file":"ripgrep-wrapper.js","sourceRoot":"","sources":["../../../src/utils/ripgrep-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ripgrep-wrapper.js","sourceRoot":"","sources":["../../../src/utils/ripgrep-wrapper.ts"],"names":[],"mappings":"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"}