mycontext-cli 1.0.94 → 2.0.0
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 +446 -130
- package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts +110 -0
- package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +1 -0
- package/dist/agents/implementations/ClaudeAgentWorkflow.js +590 -0
- package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +1 -0
- package/dist/agents/implementations/WorkflowAgent.d.ts +5 -0
- package/dist/agents/implementations/WorkflowAgent.d.ts.map +1 -1
- package/dist/agents/implementations/WorkflowAgent.js +98 -10
- package/dist/agents/implementations/WorkflowAgent.js.map +1 -1
- package/dist/agents/interfaces/SubAgent.d.ts +5 -0
- package/dist/agents/interfaces/SubAgent.d.ts.map +1 -1
- package/dist/commands/build-app.d.ts +5 -0
- package/dist/commands/build-app.d.ts.map +1 -1
- package/dist/commands/build-app.js +127 -4
- package/dist/commands/build-app.js.map +1 -1
- package/dist/commands/compile-prd.d.ts.map +1 -1
- package/dist/commands/compile-prd.js +18 -54
- package/dist/commands/compile-prd.js.map +1 -1
- package/dist/commands/enhance.d.ts +21 -0
- package/dist/commands/enhance.d.ts.map +1 -1
- package/dist/commands/enhance.js +155 -12
- package/dist/commands/enhance.js.map +1 -1
- package/dist/commands/generate-components.d.ts +43 -0
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +270 -0
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/constants/fileNames.d.ts +68 -0
- package/dist/constants/fileNames.d.ts.map +1 -0
- package/dist/constants/fileNames.js +102 -0
- package/dist/constants/fileNames.js.map +1 -0
- package/dist/interfaces/AIClient.d.ts +198 -0
- package/dist/interfaces/AIClient.d.ts.map +1 -0
- package/dist/interfaces/AIClient.js +40 -0
- package/dist/interfaces/AIClient.js.map +1 -0
- package/dist/package.json +5 -3
- package/dist/types/index.d.ts +423 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/agentDefinitions.d.ts +60 -0
- package/dist/utils/agentDefinitions.d.ts.map +1 -0
- package/dist/utils/agentDefinitions.js +344 -0
- package/dist/utils/agentDefinitions.js.map +1 -0
- package/dist/utils/aiClientFactory.d.ts +93 -0
- package/dist/utils/aiClientFactory.d.ts.map +1 -0
- package/dist/utils/aiClientFactory.js +290 -0
- package/dist/utils/aiClientFactory.js.map +1 -0
- package/dist/utils/aiClientRouter.d.ts +121 -0
- package/dist/utils/aiClientRouter.d.ts.map +1 -0
- package/dist/utils/aiClientRouter.js +401 -0
- package/dist/utils/aiClientRouter.js.map +1 -0
- package/dist/utils/claudeAgentClient.d.ts +166 -0
- package/dist/utils/claudeAgentClient.d.ts.map +1 -0
- package/dist/utils/claudeAgentClient.js +714 -0
- package/dist/utils/claudeAgentClient.js.map +1 -0
- package/dist/utils/claudeClient.d.ts +7 -3
- package/dist/utils/claudeClient.d.ts.map +1 -1
- package/dist/utils/claudeClient.js +28 -5
- package/dist/utils/claudeClient.js.map +1 -1
- package/dist/utils/completeArchitectureEngine.d.ts +67 -0
- package/dist/utils/completeArchitectureEngine.d.ts.map +1 -0
- package/dist/utils/completeArchitectureEngine.js +329 -0
- package/dist/utils/completeArchitectureEngine.js.map +1 -0
- package/dist/utils/contextLoader.d.ts +1 -12
- package/dist/utils/contextLoader.d.ts.map +1 -1
- package/dist/utils/contextLoader.js +29 -150
- package/dist/utils/contextLoader.js.map +1 -1
- package/dist/utils/contextManager.d.ts +76 -0
- package/dist/utils/contextManager.d.ts.map +1 -0
- package/dist/utils/contextManager.js +327 -0
- package/dist/utils/contextManager.js.map +1 -0
- package/dist/utils/hybridAIClient.d.ts +25 -1
- package/dist/utils/hybridAIClient.d.ts.map +1 -1
- package/dist/utils/hybridAIClient.js +69 -2
- package/dist/utils/hybridAIClient.js.map +1 -1
- package/dist/utils/mcpAgentIntegration.d.ts +104 -0
- package/dist/utils/mcpAgentIntegration.d.ts.map +1 -0
- package/dist/utils/mcpAgentIntegration.js +382 -0
- package/dist/utils/mcpAgentIntegration.js.map +1 -0
- package/dist/utils/mcpTools.d.ts +164 -0
- package/dist/utils/mcpTools.d.ts.map +1 -0
- package/dist/utils/mcpTools.js +385 -0
- package/dist/utils/mcpTools.js.map +1 -0
- package/dist/utils/routeGenerator.d.ts +56 -0
- package/dist/utils/routeGenerator.d.ts.map +1 -0
- package/dist/utils/routeGenerator.js +231 -0
- package/dist/utils/routeGenerator.js.map +1 -0
- package/dist/utils/serverActionGenerator.d.ts +56 -0
- package/dist/utils/serverActionGenerator.d.ts.map +1 -0
- package/dist/utils/serverActionGenerator.js +258 -0
- package/dist/utils/serverActionGenerator.js.map +1 -0
- package/dist/utils/streamingHandler.d.ts +98 -0
- package/dist/utils/streamingHandler.d.ts.map +1 -0
- package/dist/utils/streamingHandler.js +259 -0
- package/dist/utils/streamingHandler.js.map +1 -0
- package/dist/utils/toolPermissions.d.ts +105 -0
- package/dist/utils/toolPermissions.d.ts.map +1 -0
- package/dist/utils/toolPermissions.js +408 -0
- package/dist/utils/toolPermissions.js.map +1 -0
- package/package.json +5 -3
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.MCPAgentIntegration = void 0;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
const contextManager_1 = require("./contextManager");
|
|
44
|
+
const toolPermissions_1 = require("./toolPermissions");
|
|
45
|
+
class MCPAgentIntegration {
|
|
46
|
+
constructor(workingDirectory) {
|
|
47
|
+
this.claudeAgentClient = null;
|
|
48
|
+
this.workingDirectory = workingDirectory || process.cwd();
|
|
49
|
+
this.mcpConfigFile = path.join(this.workingDirectory, ".mycontext", "mcp-config.json");
|
|
50
|
+
this.contextManager = new contextManager_1.ContextManager(this.workingDirectory);
|
|
51
|
+
this.permissionManager = new toolPermissions_1.ToolPermissionManager(this.workingDirectory);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Initialize MCP integration with Claude Agent SDK
|
|
55
|
+
*/
|
|
56
|
+
async initialize(claudeAgentClient) {
|
|
57
|
+
this.claudeAgentClient = claudeAgentClient;
|
|
58
|
+
try {
|
|
59
|
+
// Load MCP configuration
|
|
60
|
+
const mcpConfig = await this.loadMCPConfig();
|
|
61
|
+
// Initialize Claude Agent with MCP tools
|
|
62
|
+
await this.configureClaudeAgentWithMCP(mcpConfig);
|
|
63
|
+
console.log(chalk_1.default.green("✅ MCP integration initialized with Claude Agent SDK"));
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.log(chalk_1.default.red(`❌ MCP integration failed: ${error.message}`));
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Add MCP server to configuration
|
|
72
|
+
*/
|
|
73
|
+
async addMCPServer(server) {
|
|
74
|
+
try {
|
|
75
|
+
const mcpConfig = await this.loadMCPConfig();
|
|
76
|
+
// Check if server already exists
|
|
77
|
+
const existingServer = mcpConfig.servers.find((s) => s.name === server.name);
|
|
78
|
+
if (existingServer) {
|
|
79
|
+
throw new Error(`MCP server '${server.name}' already exists`);
|
|
80
|
+
}
|
|
81
|
+
// Test server connection
|
|
82
|
+
const status = await this.testMCPServer(server);
|
|
83
|
+
// Add server to configuration
|
|
84
|
+
mcpConfig.servers.push({
|
|
85
|
+
...server,
|
|
86
|
+
status,
|
|
87
|
+
lastUsed: new Date().toISOString(),
|
|
88
|
+
});
|
|
89
|
+
await this.saveMCPConfig(mcpConfig);
|
|
90
|
+
// Update Claude Agent configuration if initialized
|
|
91
|
+
if (this.claudeAgentClient) {
|
|
92
|
+
await this.configureClaudeAgentWithMCP(mcpConfig);
|
|
93
|
+
}
|
|
94
|
+
console.log(chalk_1.default.green(`✅ MCP server '${server.name}' added successfully`));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
console.log(chalk_1.default.red(`❌ Failed to add MCP server: ${error.message}`));
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Remove MCP server from configuration
|
|
103
|
+
*/
|
|
104
|
+
async removeMCPServer(serverName) {
|
|
105
|
+
try {
|
|
106
|
+
const mcpConfig = await this.loadMCPConfig();
|
|
107
|
+
const serverIndex = mcpConfig.servers.findIndex((s) => s.name === serverName);
|
|
108
|
+
if (serverIndex === -1) {
|
|
109
|
+
throw new Error(`MCP server '${serverName}' not found`);
|
|
110
|
+
}
|
|
111
|
+
mcpConfig.servers.splice(serverIndex, 1);
|
|
112
|
+
// Update active server if it was removed
|
|
113
|
+
if (mcpConfig.activeServer === serverName) {
|
|
114
|
+
mcpConfig.activeServer =
|
|
115
|
+
mcpConfig.servers.length > 0 ? mcpConfig.servers[0].name : undefined;
|
|
116
|
+
}
|
|
117
|
+
await this.saveMCPConfig(mcpConfig);
|
|
118
|
+
// Update Claude Agent configuration if initialized
|
|
119
|
+
if (this.claudeAgentClient) {
|
|
120
|
+
await this.configureClaudeAgentWithMCP(mcpConfig);
|
|
121
|
+
}
|
|
122
|
+
console.log(chalk_1.default.green(`✅ MCP server '${serverName}' removed successfully`));
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
console.log(chalk_1.default.red(`❌ Failed to remove MCP server: ${error.message}`));
|
|
126
|
+
throw error;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Execute MCP workflow with Claude Agent SDK
|
|
131
|
+
*/
|
|
132
|
+
async executeMCPWorkflow(workflowPrompt, context = {}, options = {}) {
|
|
133
|
+
if (!this.claudeAgentClient) {
|
|
134
|
+
throw new Error("Claude Agent SDK not initialized");
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
// Load current context
|
|
138
|
+
const currentContext = await this.contextManager.loadContext();
|
|
139
|
+
const mergedContext = await this.contextManager.mergeContext(currentContext, context);
|
|
140
|
+
// Build MCP-enhanced workflow prompt
|
|
141
|
+
const mcpPrompt = this.buildMCPWorkflowPrompt(workflowPrompt, mergedContext);
|
|
142
|
+
// Execute workflow with Claude Agent SDK
|
|
143
|
+
const result = await this.claudeAgentClient.runAgentWorkflow(mcpPrompt, mergedContext, options);
|
|
144
|
+
// Process MCP results
|
|
145
|
+
const mcpResults = await this.processMCPResults(result.content);
|
|
146
|
+
// Update context with MCP results
|
|
147
|
+
const updatedContext = await this.updateContextWithMCPResults(mergedContext, mcpResults);
|
|
148
|
+
// Save updated context
|
|
149
|
+
await this.contextManager.saveContext(updatedContext);
|
|
150
|
+
return {
|
|
151
|
+
content: result.content,
|
|
152
|
+
context: updatedContext,
|
|
153
|
+
mcpResults,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
console.log(chalk_1.default.red(`❌ MCP workflow execution failed: ${error.message}`));
|
|
158
|
+
throw error;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get MCP server status
|
|
163
|
+
*/
|
|
164
|
+
async getMCPServerStatus() {
|
|
165
|
+
const mcpConfig = await this.loadMCPConfig();
|
|
166
|
+
// Test all servers
|
|
167
|
+
for (const server of mcpConfig.servers) {
|
|
168
|
+
server.status = await this.testMCPServer(server);
|
|
169
|
+
}
|
|
170
|
+
await this.saveMCPConfig(mcpConfig);
|
|
171
|
+
return {
|
|
172
|
+
servers: mcpConfig.servers,
|
|
173
|
+
activeServer: mcpConfig.activeServer,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* List available MCP capabilities
|
|
178
|
+
*/
|
|
179
|
+
async listMCPCapabilities() {
|
|
180
|
+
const mcpConfig = await this.loadMCPConfig();
|
|
181
|
+
const capabilities = {};
|
|
182
|
+
for (const server of mcpConfig.servers) {
|
|
183
|
+
if (server.status === "active") {
|
|
184
|
+
capabilities[server.name] = server.capabilities;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return capabilities;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Configure Claude Agent with MCP tools
|
|
191
|
+
*/
|
|
192
|
+
async configureClaudeAgentWithMCP(mcpConfig) {
|
|
193
|
+
if (!this.claudeAgentClient)
|
|
194
|
+
return;
|
|
195
|
+
try {
|
|
196
|
+
// Get MCP tools from active servers
|
|
197
|
+
const mcpTools = await this.getMCPTools(mcpConfig);
|
|
198
|
+
// Get permission configuration
|
|
199
|
+
const permissionConfig = this.permissionManager.getClaudeAgentConfig();
|
|
200
|
+
// Initialize Claude Agent with MCP tools and permissions
|
|
201
|
+
await this.claudeAgentClient.initialize({
|
|
202
|
+
allowedTools: mcpTools,
|
|
203
|
+
...permissionConfig,
|
|
204
|
+
contextManagement: true,
|
|
205
|
+
});
|
|
206
|
+
console.log(chalk_1.default.green(`✅ Claude Agent configured with ${mcpTools.length} MCP tools`));
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
console.log(chalk_1.default.yellow(`⚠️ Could not configure Claude Agent with MCP: ${error.message}`));
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Test MCP server connection
|
|
214
|
+
*/
|
|
215
|
+
async testMCPServer(server) {
|
|
216
|
+
try {
|
|
217
|
+
// Simple HTTP test - in a real implementation, you'd use proper MCP protocol
|
|
218
|
+
const response = await fetch(server.url, {
|
|
219
|
+
method: "GET",
|
|
220
|
+
headers: server.token
|
|
221
|
+
? { Authorization: `Bearer ${server.token}` }
|
|
222
|
+
: {},
|
|
223
|
+
signal: AbortSignal.timeout(5000),
|
|
224
|
+
});
|
|
225
|
+
return response.ok ? "active" : "error";
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
return "error";
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Get MCP tools from configuration
|
|
233
|
+
*/
|
|
234
|
+
async getMCPTools(mcpConfig) {
|
|
235
|
+
const tools = [];
|
|
236
|
+
for (const server of mcpConfig.servers) {
|
|
237
|
+
if (server.status === "active") {
|
|
238
|
+
// Map MCP capabilities to tool names
|
|
239
|
+
const serverTools = server.capabilities.map((capability) => `mcp_${server.name}_${capability}`);
|
|
240
|
+
tools.push(...serverTools);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
return tools;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Build MCP-enhanced workflow prompt
|
|
247
|
+
*/
|
|
248
|
+
buildMCPWorkflowPrompt(workflowPrompt, context) {
|
|
249
|
+
let mcpPrompt = `Execute the following workflow with MCP (Model Context Protocol) integration:\n\n${workflowPrompt}\n\n`;
|
|
250
|
+
// Add MCP context
|
|
251
|
+
mcpPrompt += `## Available MCP Tools:\n`;
|
|
252
|
+
const mcpConfig = this.loadMCPConfigSync();
|
|
253
|
+
for (const server of mcpConfig.servers) {
|
|
254
|
+
if (server.status === "active") {
|
|
255
|
+
mcpPrompt += `- ${server.name}: ${server.capabilities.join(", ")}\n`;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// Add project context
|
|
259
|
+
if (context.prd) {
|
|
260
|
+
mcpPrompt += `\n## Project Requirements:\n${context.prd}\n`;
|
|
261
|
+
}
|
|
262
|
+
if (context.componentList) {
|
|
263
|
+
mcpPrompt += `\n## Available Components:\n${JSON.stringify(context.componentList, null, 2)}\n`;
|
|
264
|
+
}
|
|
265
|
+
mcpPrompt += `\nPlease use the available MCP tools to enhance your workflow execution.`;
|
|
266
|
+
return mcpPrompt;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Process MCP results from agent response
|
|
270
|
+
*/
|
|
271
|
+
async processMCPResults(content) {
|
|
272
|
+
const mcpResults = [];
|
|
273
|
+
try {
|
|
274
|
+
// Extract MCP tool calls from content
|
|
275
|
+
const mcpCallRegex = /mcp_\w+_\w+\([^)]*\)/g;
|
|
276
|
+
const matches = content.match(mcpCallRegex);
|
|
277
|
+
if (matches) {
|
|
278
|
+
for (const match of matches) {
|
|
279
|
+
mcpResults.push({
|
|
280
|
+
tool: match,
|
|
281
|
+
timestamp: new Date().toISOString(),
|
|
282
|
+
status: "executed",
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
console.log(chalk_1.default.yellow("⚠️ Could not process MCP results"));
|
|
289
|
+
}
|
|
290
|
+
return mcpResults;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Update context with MCP results
|
|
294
|
+
*/
|
|
295
|
+
async updateContextWithMCPResults(context, mcpResults) {
|
|
296
|
+
const updatedContext = { ...context };
|
|
297
|
+
// Add MCP results to previous outputs
|
|
298
|
+
updatedContext.previousOutputs = {
|
|
299
|
+
...updatedContext.previousOutputs,
|
|
300
|
+
mcpResults: {
|
|
301
|
+
results: mcpResults,
|
|
302
|
+
timestamp: new Date().toISOString(),
|
|
303
|
+
},
|
|
304
|
+
};
|
|
305
|
+
return updatedContext;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Load MCP configuration
|
|
309
|
+
*/
|
|
310
|
+
async loadMCPConfig() {
|
|
311
|
+
try {
|
|
312
|
+
if (fs.existsSync(this.mcpConfigFile)) {
|
|
313
|
+
const content = fs.readFileSync(this.mcpConfigFile, "utf8");
|
|
314
|
+
return JSON.parse(content);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
console.log(chalk_1.default.yellow(`⚠️ Could not load MCP config: ${error.message}`));
|
|
319
|
+
}
|
|
320
|
+
return this.getDefaultMCPConfig();
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Load MCP configuration synchronously
|
|
324
|
+
*/
|
|
325
|
+
loadMCPConfigSync() {
|
|
326
|
+
try {
|
|
327
|
+
if (fs.existsSync(this.mcpConfigFile)) {
|
|
328
|
+
const content = fs.readFileSync(this.mcpConfigFile, "utf8");
|
|
329
|
+
return JSON.parse(content);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
// Ignore errors
|
|
334
|
+
}
|
|
335
|
+
return this.getDefaultMCPConfig();
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* Save MCP configuration
|
|
339
|
+
*/
|
|
340
|
+
async saveMCPConfig(config) {
|
|
341
|
+
try {
|
|
342
|
+
const configDir = path.dirname(this.mcpConfigFile);
|
|
343
|
+
if (!fs.existsSync(configDir)) {
|
|
344
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
345
|
+
}
|
|
346
|
+
fs.writeFileSync(this.mcpConfigFile, JSON.stringify(config, null, 2));
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
console.log(chalk_1.default.red(`❌ Could not save MCP config: ${error.message}`));
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Get default MCP configuration
|
|
354
|
+
*/
|
|
355
|
+
getDefaultMCPConfig() {
|
|
356
|
+
return {
|
|
357
|
+
servers: [],
|
|
358
|
+
activeServer: undefined,
|
|
359
|
+
configuration: {
|
|
360
|
+
autoConnect: true,
|
|
361
|
+
timeout: 30000,
|
|
362
|
+
retries: 3,
|
|
363
|
+
cacheResults: true,
|
|
364
|
+
},
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Get MCP integration summary
|
|
369
|
+
*/
|
|
370
|
+
getMCPSummary() {
|
|
371
|
+
const config = this.loadMCPConfigSync();
|
|
372
|
+
const summary = {
|
|
373
|
+
servers: config.servers.length,
|
|
374
|
+
activeServers: config.servers.filter((s) => s.status === "active").length,
|
|
375
|
+
activeServer: config.activeServer,
|
|
376
|
+
configuration: config.configuration,
|
|
377
|
+
};
|
|
378
|
+
return JSON.stringify(summary, null, 2);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
exports.MCPAgentIntegration = MCPAgentIntegration;
|
|
382
|
+
//# sourceMappingURL=mcpAgentIntegration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpAgentIntegration.js","sourceRoot":"","sources":["../../src/utils/mcpAgentIntegration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools for MyContext CLI
|
|
3
|
+
*
|
|
4
|
+
* Custom tools that extend Claude Agent SDK capabilities
|
|
5
|
+
* with MyContext-specific functionality.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Analyze React component structure and dependencies
|
|
10
|
+
*/
|
|
11
|
+
export declare const analyzeComponentTool: {
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
inputSchema: {
|
|
15
|
+
filePath: z.ZodString;
|
|
16
|
+
checkTypes: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
checkImports: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
};
|
|
19
|
+
handler: (args: {
|
|
20
|
+
filePath: string;
|
|
21
|
+
checkTypes?: boolean | undefined;
|
|
22
|
+
checkImports?: boolean | undefined;
|
|
23
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Validate PRD structure and completeness
|
|
27
|
+
*/
|
|
28
|
+
export declare const validatePRDTool: {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
inputSchema: {
|
|
32
|
+
prdPath: z.ZodString;
|
|
33
|
+
};
|
|
34
|
+
handler: (args: {
|
|
35
|
+
prdPath: string;
|
|
36
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Check TypeScript types in generated code
|
|
40
|
+
*/
|
|
41
|
+
export declare const checkTypesTool: {
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
inputSchema: {
|
|
45
|
+
targetPath: z.ZodString;
|
|
46
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
};
|
|
48
|
+
handler: (args: {
|
|
49
|
+
targetPath: string;
|
|
50
|
+
strict?: boolean | undefined;
|
|
51
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Generate component documentation
|
|
55
|
+
*/
|
|
56
|
+
export declare const generateDocsTool: {
|
|
57
|
+
name: string;
|
|
58
|
+
description: string;
|
|
59
|
+
inputSchema: {
|
|
60
|
+
componentPath: z.ZodString;
|
|
61
|
+
outputPath: z.ZodOptional<z.ZodString>;
|
|
62
|
+
};
|
|
63
|
+
handler: (args: {
|
|
64
|
+
componentPath: string;
|
|
65
|
+
outputPath?: string | undefined;
|
|
66
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Get all available MCP tools
|
|
70
|
+
*/
|
|
71
|
+
export declare function getAllMCPTools(): ({
|
|
72
|
+
name: string;
|
|
73
|
+
description: string;
|
|
74
|
+
inputSchema: {
|
|
75
|
+
filePath: z.ZodString;
|
|
76
|
+
checkTypes: z.ZodOptional<z.ZodBoolean>;
|
|
77
|
+
checkImports: z.ZodOptional<z.ZodBoolean>;
|
|
78
|
+
};
|
|
79
|
+
handler: (args: {
|
|
80
|
+
filePath: string;
|
|
81
|
+
checkTypes?: boolean | undefined;
|
|
82
|
+
checkImports?: boolean | undefined;
|
|
83
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
84
|
+
} | {
|
|
85
|
+
name: string;
|
|
86
|
+
description: string;
|
|
87
|
+
inputSchema: {
|
|
88
|
+
prdPath: z.ZodString;
|
|
89
|
+
};
|
|
90
|
+
handler: (args: {
|
|
91
|
+
prdPath: string;
|
|
92
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
93
|
+
} | {
|
|
94
|
+
name: string;
|
|
95
|
+
description: string;
|
|
96
|
+
inputSchema: {
|
|
97
|
+
targetPath: z.ZodString;
|
|
98
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
99
|
+
};
|
|
100
|
+
handler: (args: {
|
|
101
|
+
targetPath: string;
|
|
102
|
+
strict?: boolean | undefined;
|
|
103
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
104
|
+
} | {
|
|
105
|
+
name: string;
|
|
106
|
+
description: string;
|
|
107
|
+
inputSchema: {
|
|
108
|
+
componentPath: z.ZodString;
|
|
109
|
+
outputPath: z.ZodOptional<z.ZodString>;
|
|
110
|
+
};
|
|
111
|
+
handler: (args: {
|
|
112
|
+
componentPath: string;
|
|
113
|
+
outputPath?: string | undefined;
|
|
114
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
115
|
+
})[];
|
|
116
|
+
/**
|
|
117
|
+
* Get MCP tools by name
|
|
118
|
+
*/
|
|
119
|
+
export declare function getMCPToolByName(name: string): {
|
|
120
|
+
name: string;
|
|
121
|
+
description: string;
|
|
122
|
+
inputSchema: {
|
|
123
|
+
filePath: z.ZodString;
|
|
124
|
+
checkTypes: z.ZodOptional<z.ZodBoolean>;
|
|
125
|
+
checkImports: z.ZodOptional<z.ZodBoolean>;
|
|
126
|
+
};
|
|
127
|
+
handler: (args: {
|
|
128
|
+
filePath: string;
|
|
129
|
+
checkTypes?: boolean | undefined;
|
|
130
|
+
checkImports?: boolean | undefined;
|
|
131
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
132
|
+
} | {
|
|
133
|
+
name: string;
|
|
134
|
+
description: string;
|
|
135
|
+
inputSchema: {
|
|
136
|
+
prdPath: z.ZodString;
|
|
137
|
+
};
|
|
138
|
+
handler: (args: {
|
|
139
|
+
prdPath: string;
|
|
140
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
141
|
+
} | {
|
|
142
|
+
name: string;
|
|
143
|
+
description: string;
|
|
144
|
+
inputSchema: {
|
|
145
|
+
targetPath: z.ZodString;
|
|
146
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
147
|
+
};
|
|
148
|
+
handler: (args: {
|
|
149
|
+
targetPath: string;
|
|
150
|
+
strict?: boolean | undefined;
|
|
151
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
152
|
+
} | {
|
|
153
|
+
name: string;
|
|
154
|
+
description: string;
|
|
155
|
+
inputSchema: {
|
|
156
|
+
componentPath: z.ZodString;
|
|
157
|
+
outputPath: z.ZodOptional<z.ZodString>;
|
|
158
|
+
};
|
|
159
|
+
handler: (args: {
|
|
160
|
+
componentPath: string;
|
|
161
|
+
outputPath?: string | undefined;
|
|
162
|
+
}, extra: unknown) => Promise<CallToolResult>;
|
|
163
|
+
} | undefined;
|
|
164
|
+
//# sourceMappingURL=mcpTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTools.d.ts","sourceRoot":"","sources":["../../src/utils/mcpTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;CAgFhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CAkG3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;CAqF1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;CA0F5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAO7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAG5C"}
|