agentinit 1.4.1 → 1.5.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/CHANGELOG.md +12 -0
- package/README.md +209 -0
- package/dist/agentinit-1.5.0.tgz +0 -0
- package/dist/agents/Agent.d.ts +110 -0
- package/dist/agents/Agent.d.ts.map +1 -0
- package/dist/agents/Agent.js +174 -0
- package/dist/agents/Agent.js.map +1 -0
- package/dist/agents/ClaudeAgent.d.ts +50 -0
- package/dist/agents/ClaudeAgent.d.ts.map +1 -0
- package/dist/agents/ClaudeAgent.js +249 -0
- package/dist/agents/ClaudeAgent.js.map +1 -0
- package/dist/agents/ClaudeDesktopAgent.d.ts +49 -0
- package/dist/agents/ClaudeDesktopAgent.d.ts.map +1 -0
- package/dist/agents/ClaudeDesktopAgent.js +143 -0
- package/dist/agents/ClaudeDesktopAgent.js.map +1 -0
- package/dist/agents/CodexCliAgent.d.ts +48 -0
- package/dist/agents/CodexCliAgent.d.ts.map +1 -0
- package/dist/agents/CodexCliAgent.js +262 -0
- package/dist/agents/CodexCliAgent.js.map +1 -0
- package/dist/agents/CursorAgent.d.ts +44 -0
- package/dist/agents/CursorAgent.d.ts.map +1 -0
- package/dist/agents/CursorAgent.js +231 -0
- package/dist/agents/CursorAgent.js.map +1 -0
- package/dist/agents/GeminiCliAgent.d.ts +40 -0
- package/dist/agents/GeminiCliAgent.d.ts.map +1 -0
- package/dist/agents/GeminiCliAgent.js +195 -0
- package/dist/agents/GeminiCliAgent.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +33191 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/apply.d.ts +2 -0
- package/dist/commands/apply.d.ts.map +1 -0
- package/dist/commands/apply.js +468 -0
- package/dist/commands/apply.js.map +1 -0
- package/dist/commands/config.d.ts +8 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +6 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/detect.d.ts +6 -0
- package/dist/commands/detect.d.ts.map +1 -0
- package/dist/commands/detect.js +55 -0
- package/dist/commands/detect.js.map +1 -0
- package/dist/commands/init.d.ts +7 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +105 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/mcp.d.ts +8 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +127 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/subagents.d.ts +9 -0
- package/dist/commands/subagents.d.ts.map +1 -0
- package/dist/commands/subagents.js +6 -0
- package/dist/commands/subagents.js.map +1 -0
- package/dist/commands/sync.d.ts +7 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +49 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/verifyMcp.d.ts +2 -0
- package/dist/commands/verifyMcp.d.ts.map +1 -0
- package/dist/commands/verifyMcp.js +215 -0
- package/dist/commands/verifyMcp.js.map +1 -0
- package/dist/constants/index.d.ts +3 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/mcp.d.ts +9 -0
- package/dist/constants/mcp.d.ts.map +1 -0
- package/dist/constants/mcp.js +28 -0
- package/dist/constants/mcp.js.map +1 -0
- package/dist/constants/tokens.d.ts +6 -0
- package/dist/constants/tokens.d.ts.map +1 -0
- package/dist/constants/tokens.js +5 -0
- package/dist/constants/tokens.js.map +1 -0
- package/dist/core/agentDetector.d.ts +9 -0
- package/dist/core/agentDetector.d.ts.map +1 -0
- package/dist/core/agentDetector.js +51 -0
- package/dist/core/agentDetector.js.map +1 -0
- package/dist/core/agentManager.d.ts +55 -0
- package/dist/core/agentManager.d.ts.map +1 -0
- package/dist/core/agentManager.js +111 -0
- package/dist/core/agentManager.js.map +1 -0
- package/dist/core/configMerger.d.ts +49 -0
- package/dist/core/configMerger.d.ts.map +1 -0
- package/dist/core/configMerger.js +180 -0
- package/dist/core/configMerger.js.map +1 -0
- package/dist/core/mcpClient.d.ts +38 -0
- package/dist/core/mcpClient.d.ts.map +1 -0
- package/dist/core/mcpClient.js +416 -0
- package/dist/core/mcpClient.js.map +1 -0
- package/dist/core/mcpFilter.d.ts +44 -0
- package/dist/core/mcpFilter.d.ts.map +1 -0
- package/dist/core/mcpFilter.js +126 -0
- package/dist/core/mcpFilter.js.map +1 -0
- package/dist/core/mcpParser.d.ts +25 -0
- package/dist/core/mcpParser.d.ts.map +1 -0
- package/dist/core/mcpParser.js +297 -0
- package/dist/core/mcpParser.js.map +1 -0
- package/dist/core/propagator.d.ts +25 -0
- package/dist/core/propagator.d.ts.map +1 -0
- package/dist/core/propagator.js +154 -0
- package/dist/core/propagator.js.map +1 -0
- package/dist/core/rulesApplicator.d.ts +29 -0
- package/dist/core/rulesApplicator.d.ts.map +1 -0
- package/dist/core/rulesApplicator.js +181 -0
- package/dist/core/rulesApplicator.js.map +1 -0
- package/dist/core/rulesParser.d.ts +41 -0
- package/dist/core/rulesParser.d.ts.map +1 -0
- package/dist/core/rulesParser.js +260 -0
- package/dist/core/rulesParser.js.map +1 -0
- package/dist/core/rulesTemplateLoader.d.ts +31 -0
- package/dist/core/rulesTemplateLoader.d.ts.map +1 -0
- package/dist/core/rulesTemplateLoader.js +75 -0
- package/dist/core/rulesTemplateLoader.js.map +1 -0
- package/dist/core/stackDetector.d.ts +16 -0
- package/dist/core/stackDetector.d.ts.map +1 -0
- package/dist/core/stackDetector.js +234 -0
- package/dist/core/stackDetector.js.map +1 -0
- package/dist/core/templateEngine.d.ts +15 -0
- package/dist/core/templateEngine.d.ts.map +1 -0
- package/dist/core/templateEngine.js +260 -0
- package/dist/core/templateEngine.js.map +1 -0
- package/dist/core/tomlGenerator.d.ts +24 -0
- package/dist/core/tomlGenerator.d.ts.map +1 -0
- package/dist/core/tomlGenerator.js +185 -0
- package/dist/core/tomlGenerator.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -33195
- package/dist/index.js.map +1 -0
- package/dist/lib/index.d.ts +39 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +40 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/types/index.d.ts +23 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/index.js +23 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/utils/index.d.ts +18 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +21 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/verifier/index.d.ts +22 -0
- package/dist/lib/verifier/index.d.ts.map +1 -0
- package/dist/lib/verifier/index.js +22 -0
- package/dist/lib/verifier/index.js.map +1 -0
- package/dist/registry/mcpRegistry.d.ts +12 -0
- package/dist/registry/mcpRegistry.d.ts.map +1 -0
- package/dist/registry/mcpRegistry.js +114 -0
- package/dist/registry/mcpRegistry.js.map +1 -0
- package/dist/types/index.d.ts +180 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/rules.d.ts +51 -0
- package/dist/types/rules.d.ts.map +1 -0
- package/dist/types/rules.js +2 -0
- package/dist/types/rules.js.map +1 -0
- package/dist/utils/fs.d.ts +12 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +91 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +36 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/paths.d.ts +77 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +140 -0
- package/dist/utils/paths.js.map +1 -0
- package/package.json +30 -6
- package/dist/agentinit-1.4.1.tgz +0 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { resolve } from 'path';
|
|
2
|
+
import ora from 'ora';
|
|
3
|
+
import prompts from 'prompts';
|
|
4
|
+
import { logger } from '../utils/logger.js';
|
|
5
|
+
import { fileExists, writeFile } from '../utils/fs.js';
|
|
6
|
+
import { AgentDetector } from '../core/agentDetector.js';
|
|
7
|
+
import { StackDetector } from '../core/stackDetector.js';
|
|
8
|
+
import { TemplateEngine } from '../core/templateEngine.js';
|
|
9
|
+
export async function initCommand(options) {
|
|
10
|
+
const cwd = process.cwd();
|
|
11
|
+
const agentsPath = resolve(cwd, 'agents.md');
|
|
12
|
+
logger.title('🚀 AgentInit - Initialize Project');
|
|
13
|
+
// Check if agents.md already exists
|
|
14
|
+
if (!options.force && await fileExists(agentsPath)) {
|
|
15
|
+
const response = await prompts({
|
|
16
|
+
type: 'confirm',
|
|
17
|
+
name: 'overwrite',
|
|
18
|
+
message: 'agents.md already exists. Do you want to overwrite it?',
|
|
19
|
+
initial: false
|
|
20
|
+
});
|
|
21
|
+
if (!response.overwrite) {
|
|
22
|
+
logger.info('Initialization cancelled');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const spinner = ora('Analyzing project...').start();
|
|
27
|
+
try {
|
|
28
|
+
// Detect existing agents and stack
|
|
29
|
+
const agentDetector = new AgentDetector();
|
|
30
|
+
const stackDetector = new StackDetector();
|
|
31
|
+
const [agents, stack] = await Promise.all([
|
|
32
|
+
agentDetector.detectAgents(cwd),
|
|
33
|
+
stackDetector.detectStack(cwd)
|
|
34
|
+
]);
|
|
35
|
+
spinner.succeed('Project analysis complete');
|
|
36
|
+
// Show detection results
|
|
37
|
+
if (agents.length > 0) {
|
|
38
|
+
logger.info(`Found existing agents: ${agents.map(a => a.name).join(', ')}`);
|
|
39
|
+
}
|
|
40
|
+
logger.info(`Detected stack: ${stack.language}${stack.framework ? ` with ${stack.framework}` : ''}`);
|
|
41
|
+
// Get project template preference
|
|
42
|
+
let template = options.template;
|
|
43
|
+
if (!template) {
|
|
44
|
+
const response = await prompts({
|
|
45
|
+
type: 'select',
|
|
46
|
+
name: 'template',
|
|
47
|
+
message: 'What type of project is this?',
|
|
48
|
+
choices: [
|
|
49
|
+
{ title: 'Web Application', value: 'web' },
|
|
50
|
+
{ title: 'Command Line Tool', value: 'cli' },
|
|
51
|
+
{ title: 'Library/Package', value: 'library' },
|
|
52
|
+
{ title: 'Full Stack Application', value: 'fullstack' },
|
|
53
|
+
{ title: 'Mobile Application', value: 'mobile' },
|
|
54
|
+
{ title: 'Custom', value: 'custom' }
|
|
55
|
+
],
|
|
56
|
+
initial: stack.framework ? 0 : 1
|
|
57
|
+
});
|
|
58
|
+
template = response.template;
|
|
59
|
+
}
|
|
60
|
+
if (!template) {
|
|
61
|
+
logger.error('Template selection is required');
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Generate project config
|
|
65
|
+
const projectConfig = {
|
|
66
|
+
name: getProjectName(cwd),
|
|
67
|
+
stack,
|
|
68
|
+
agents,
|
|
69
|
+
preferences: {
|
|
70
|
+
alwaysUseGit: true,
|
|
71
|
+
alwaysWriteTests: true,
|
|
72
|
+
testFramework: stack.testFramework || 'jest',
|
|
73
|
+
commitStyle: 'conventional',
|
|
74
|
+
runDevServer: true
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
// Generate agents.md content
|
|
78
|
+
const templateEngine = new TemplateEngine();
|
|
79
|
+
const agentsContent = await templateEngine.generateAgentsFile(projectConfig, template);
|
|
80
|
+
// Write agents.md
|
|
81
|
+
const writeSpinner = ora('Creating agents.md...').start();
|
|
82
|
+
await writeFile(agentsPath, agentsContent);
|
|
83
|
+
writeSpinner.succeed('agents.md created successfully');
|
|
84
|
+
logger.success('✨ Project initialized successfully!');
|
|
85
|
+
logger.info('Next steps:');
|
|
86
|
+
logger.info(' 1. Review and customize agents.md');
|
|
87
|
+
logger.info(' 2. Run `agentinit sync` to apply configuration');
|
|
88
|
+
logger.info(' 3. Run `agentinit mcp --interactive` to install MCPs');
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
spinner.fail('Failed to analyze project');
|
|
92
|
+
logger.error(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function getProjectName(cwd) {
|
|
96
|
+
try {
|
|
97
|
+
const packageJsonPath = resolve(cwd, 'package.json');
|
|
98
|
+
const packageJson = require(packageJsonPath);
|
|
99
|
+
return packageJson.name || cwd.split('/').pop() || 'project';
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
return cwd.split('/').pop() || 'project';
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAWA,UAAU,UAAU;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBnE"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import prompts from 'prompts';
|
|
3
|
+
import { exec } from 'child_process';
|
|
4
|
+
import { promisify } from 'util';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
import { MCPRegistryManager } from '../registry/mcpRegistry.js';
|
|
7
|
+
import { StackDetector } from '../core/stackDetector.js';
|
|
8
|
+
const execAsync = promisify(exec);
|
|
9
|
+
export async function mcpCommand(options) {
|
|
10
|
+
const cwd = process.cwd();
|
|
11
|
+
logger.title('📦 AgentInit - MCP Management');
|
|
12
|
+
const registryManager = new MCPRegistryManager();
|
|
13
|
+
if (options.search) {
|
|
14
|
+
await searchMCPs(registryManager, options.search);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (options.install) {
|
|
18
|
+
await installMCP(registryManager, options.install);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (options.interactive) {
|
|
22
|
+
await interactiveMCPSelection(registryManager, cwd);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// Default: show top MCPs
|
|
26
|
+
showTopMCPs(registryManager);
|
|
27
|
+
}
|
|
28
|
+
async function searchMCPs(registry, query) {
|
|
29
|
+
const results = registry.searchMCPs(query);
|
|
30
|
+
if (results.length === 0) {
|
|
31
|
+
logger.info(`No MCPs found matching "${query}"`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
logger.success(`Found ${results.length} MCPs matching "${query}":`);
|
|
35
|
+
results.forEach(mcp => displayMCP(mcp));
|
|
36
|
+
}
|
|
37
|
+
async function installMCP(registry, name) {
|
|
38
|
+
const mcp = registry.getMCPByName(name);
|
|
39
|
+
if (!mcp) {
|
|
40
|
+
logger.error(`MCP "${name}" not found in registry`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const spinner = ora(`Installing ${mcp.name}...`).start();
|
|
44
|
+
try {
|
|
45
|
+
await execAsync(mcp.installCommand);
|
|
46
|
+
spinner.succeed(`${mcp.name} installed successfully`);
|
|
47
|
+
logger.info('Agent Instructions:');
|
|
48
|
+
logger.info(mcp.agentInstructions);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
spinner.fail(`Failed to install ${mcp.name}`);
|
|
52
|
+
logger.error(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function interactiveMCPSelection(registry, projectPath) {
|
|
56
|
+
// Detect stack to show relevant MCPs
|
|
57
|
+
const stackDetector = new StackDetector();
|
|
58
|
+
const stack = await stackDetector.detectStack(projectPath);
|
|
59
|
+
logger.info(`Detected stack: ${stack.language}${stack.framework ? ` with ${stack.framework}` : ''}`);
|
|
60
|
+
// Get recommendations based on stack
|
|
61
|
+
const stackMCPs = registry.getMCPsForStack(stack.language);
|
|
62
|
+
const topMCPs = registry.getTopMCPs(4);
|
|
63
|
+
// Combine and deduplicate
|
|
64
|
+
const recommendedMCPs = [...new Set([...stackMCPs, ...topMCPs])].slice(0, 6);
|
|
65
|
+
const choices = recommendedMCPs.map(mcp => ({
|
|
66
|
+
title: `${mcp.name} - ${mcp.description}`,
|
|
67
|
+
value: mcp,
|
|
68
|
+
selected: false
|
|
69
|
+
}));
|
|
70
|
+
choices.push({
|
|
71
|
+
title: '🔍 Search for more MCPs',
|
|
72
|
+
value: 'search',
|
|
73
|
+
selected: false
|
|
74
|
+
});
|
|
75
|
+
const response = await prompts({
|
|
76
|
+
type: 'multiselect',
|
|
77
|
+
name: 'mcps',
|
|
78
|
+
message: '🔥 Select MCPs to install:',
|
|
79
|
+
choices,
|
|
80
|
+
hint: 'Space to select, Enter to confirm'
|
|
81
|
+
});
|
|
82
|
+
if (!response.mcps || response.mcps.length === 0) {
|
|
83
|
+
logger.info('No MCPs selected');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// Handle search option
|
|
87
|
+
if (response.mcps.includes('search')) {
|
|
88
|
+
const searchResponse = await prompts({
|
|
89
|
+
type: 'text',
|
|
90
|
+
name: 'query',
|
|
91
|
+
message: 'Search MCPs:'
|
|
92
|
+
});
|
|
93
|
+
if (searchResponse.query) {
|
|
94
|
+
await searchMCPs(registry, searchResponse.query);
|
|
95
|
+
}
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Install selected MCPs
|
|
99
|
+
for (const mcp of response.mcps) {
|
|
100
|
+
if (typeof mcp === 'object') {
|
|
101
|
+
await installMCP(registry, mcp.name);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
logger.success('✨ MCP installation complete!');
|
|
105
|
+
logger.info('Next steps:');
|
|
106
|
+
logger.info(' 1. Update your agents.md with MCP-specific instructions');
|
|
107
|
+
logger.info(' 2. Run `agentinit sync` to apply changes to agent configs');
|
|
108
|
+
}
|
|
109
|
+
function showTopMCPs(registry) {
|
|
110
|
+
const topMCPs = registry.getTopMCPs(5);
|
|
111
|
+
logger.subtitle('🔥 Top Recommended MCPs:');
|
|
112
|
+
topMCPs.forEach(mcp => displayMCP(mcp));
|
|
113
|
+
logger.info('');
|
|
114
|
+
logger.info('Commands:');
|
|
115
|
+
logger.info(' agentinit mcp --interactive Interactive MCP selection');
|
|
116
|
+
logger.info(' agentinit mcp --search <query> Search for MCPs');
|
|
117
|
+
logger.info(' agentinit mcp --install <name> Install specific MCP');
|
|
118
|
+
}
|
|
119
|
+
function displayMCP(mcp) {
|
|
120
|
+
const verification = mcp.verified ? '✓' : '?';
|
|
121
|
+
logger.info(` ${verification} ${mcp.name} (${mcp.category})`);
|
|
122
|
+
logger.info(` ${mcp.description}`);
|
|
123
|
+
logger.info(` Install: ${mcp.installCommand}`);
|
|
124
|
+
logger.info(` Stack: ${mcp.stackCompatibility.join(', ')}`);
|
|
125
|
+
logger.info('');
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagents.d.ts","sourceRoot":"","sources":["../../src/commands/subagents.ts"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagents.js","sourceRoot":"","sources":["../../src/commands/subagents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAS5C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAyB;IAC9D,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDrE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import { logger } from '../utils/logger.js';
|
|
3
|
+
import { Propagator } from '../core/propagator.js';
|
|
4
|
+
export async function syncCommand(options) {
|
|
5
|
+
const cwd = process.cwd();
|
|
6
|
+
logger.title('🔄 AgentInit - Sync Configuration');
|
|
7
|
+
if (options.dryRun) {
|
|
8
|
+
logger.info('Running in dry-run mode - no files will be modified');
|
|
9
|
+
}
|
|
10
|
+
const spinner = ora('Syncing agents.md with agent configurations...').start();
|
|
11
|
+
try {
|
|
12
|
+
const propagator = new Propagator();
|
|
13
|
+
const result = await propagator.syncAgentsFile(cwd, options);
|
|
14
|
+
if (result.success) {
|
|
15
|
+
spinner.succeed('Synchronization complete');
|
|
16
|
+
if (result.changes.length === 0) {
|
|
17
|
+
logger.info('No changes needed - all configurations are up to date');
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
logger.success(`Applied ${result.changes.length} changes:`);
|
|
21
|
+
for (const change of result.changes) {
|
|
22
|
+
const action = change.action === 'created' ? '➕' :
|
|
23
|
+
change.action === 'updated' ? '📝' : '💾';
|
|
24
|
+
logger.info(` ${action} ${change.agent}: ${change.file}`);
|
|
25
|
+
}
|
|
26
|
+
if (options.backup && result.changes.some(c => c.action === 'backed_up')) {
|
|
27
|
+
logger.info('💾 Backup files created with .agentinit.backup extension');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
spinner.fail('Synchronization failed');
|
|
33
|
+
for (const error of result.errors) {
|
|
34
|
+
logger.error(error);
|
|
35
|
+
}
|
|
36
|
+
if (result.changes.length > 0) {
|
|
37
|
+
logger.warning('Partial sync completed. Some changes were applied:');
|
|
38
|
+
for (const change of result.changes) {
|
|
39
|
+
logger.info(` - ${change.agent}: ${change.file}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
spinner.fail('Sync failed');
|
|
46
|
+
logger.error(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOnD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAElD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,gDAAgD,CAAC,CAAC,KAAK,EAAE,CAAC;IAE9E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAE5C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,WAAW,MAAM,CAAC,OAAO,CAAC,MAAM,WAAW,CAAC,CAAC;gBAE5D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBACpC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxD,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,EAAE,CAAC;oBACzE,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAEvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC;gBACrE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QACH,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyMcp.d.ts","sourceRoot":"","sources":["../../src/commands/verifyMcp.ts"],"names":[],"mappings":"AAcA,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4OpE"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import ora from 'ora';
|
|
2
|
+
import { logger } from '../utils/logger.js';
|
|
3
|
+
import { MCPVerifier } from '../core/mcpClient.js';
|
|
4
|
+
import { DEFAULT_CONNECTION_TIMEOUT_MS } from '../constants/index.js';
|
|
5
|
+
import { MCPParser, MCPParseError } from '../core/mcpParser.js';
|
|
6
|
+
import { AgentManager } from '../core/agentManager.js';
|
|
7
|
+
export async function verifyMcpCommand(args) {
|
|
8
|
+
const cwd = process.cwd();
|
|
9
|
+
logger.title('🔍 AgentInit - MCP Verification');
|
|
10
|
+
// Parse command line options
|
|
11
|
+
const hasAll = args.includes('--all');
|
|
12
|
+
const mcpNameIndex = args.findIndex(arg => arg === '--mcp-name');
|
|
13
|
+
const mcpName = mcpNameIndex >= 0 && mcpNameIndex + 1 < args.length ? args[mcpNameIndex + 1] : null;
|
|
14
|
+
const timeoutIndex = args.findIndex(arg => arg === '--timeout');
|
|
15
|
+
const timeoutArg = timeoutIndex >= 0 && timeoutIndex + 1 < args.length ? args[timeoutIndex + 1] : null;
|
|
16
|
+
const parsedTimeout = timeoutArg ? parseInt(timeoutArg, 10) : NaN;
|
|
17
|
+
const timeout = timeoutArg && Number.isFinite(parsedTimeout) && parsedTimeout > 0 ? parsedTimeout : undefined;
|
|
18
|
+
// Check if MCP configuration arguments are present
|
|
19
|
+
const hasMcpArgs = args.some(arg => arg.startsWith('--mcp-'));
|
|
20
|
+
// Validate options
|
|
21
|
+
if (mcpName && hasAll) {
|
|
22
|
+
logger.error('Cannot use --mcp-name and --all together. Choose one option.');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
if (hasMcpArgs && (mcpName || hasAll)) {
|
|
26
|
+
logger.error('Cannot mix direct MCP configuration with --mcp-name or --all. Choose one approach.');
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
if (!mcpName && !hasAll && !hasMcpArgs) {
|
|
30
|
+
logger.info('Usage: agentinit verify_mcp [options]');
|
|
31
|
+
logger.info('');
|
|
32
|
+
logger.info('Verify existing configurations:');
|
|
33
|
+
logger.info(' --mcp-name <name> Verify specific MCP server by name');
|
|
34
|
+
logger.info(' --all Verify all configured MCP servers');
|
|
35
|
+
logger.info(` --timeout <ms> Connection timeout in milliseconds (default: ${DEFAULT_CONNECTION_TIMEOUT_MS})`);
|
|
36
|
+
logger.info('');
|
|
37
|
+
logger.info('Verify direct MCP configuration:');
|
|
38
|
+
logger.info(' --mcp-stdio <name> <command> Verify STDIO MCP server');
|
|
39
|
+
logger.info(' --mcp-http <name> <url> Verify HTTP MCP server');
|
|
40
|
+
logger.info(' --mcp-sse <name> <url> Verify SSE MCP server');
|
|
41
|
+
logger.info(' --args <args> Additional arguments for server');
|
|
42
|
+
logger.info(' --env <env_vars> Environment variables for server');
|
|
43
|
+
logger.info(' --auth <token> Authentication token for HTTP/SSE');
|
|
44
|
+
logger.info('');
|
|
45
|
+
logger.info('Examples:');
|
|
46
|
+
logger.info(' # Verify existing configurations');
|
|
47
|
+
logger.info(' agentinit verify_mcp --all');
|
|
48
|
+
logger.info(' agentinit verify_mcp --mcp-name exa');
|
|
49
|
+
logger.info('');
|
|
50
|
+
logger.info(' # Verify direct configuration');
|
|
51
|
+
logger.info(' agentinit verify_mcp --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything"');
|
|
52
|
+
logger.info(' agentinit verify_mcp --mcp-http github "https://api.github.com/mcp" --auth "Bearer token"');
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
let spinner;
|
|
56
|
+
let serversToVerify = [];
|
|
57
|
+
let filteredSources = [];
|
|
58
|
+
try {
|
|
59
|
+
if (hasMcpArgs) {
|
|
60
|
+
// Handle direct MCP configuration
|
|
61
|
+
spinner = ora('Parsing MCP configuration...').start();
|
|
62
|
+
// Filter out non-MCP arguments
|
|
63
|
+
const mcpArgs = args.filter((arg, index) => {
|
|
64
|
+
if (arg === '--mcp-name' || arg === '--all' || arg === '--timeout')
|
|
65
|
+
return false;
|
|
66
|
+
if (index > 0 && (args[index - 1] === '--mcp-name' || args[index - 1] === '--timeout'))
|
|
67
|
+
return false;
|
|
68
|
+
return true;
|
|
69
|
+
});
|
|
70
|
+
// Parse MCP configuration
|
|
71
|
+
const mcpParsed = MCPParser.parseArguments(mcpArgs);
|
|
72
|
+
serversToVerify = mcpParsed.servers;
|
|
73
|
+
if (serversToVerify.length === 0) {
|
|
74
|
+
spinner.warn('No MCP servers found in arguments');
|
|
75
|
+
logger.info('Use --mcp-stdio, --mcp-http, or --mcp-sse to specify servers');
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
spinner.text = `Verifying ${serversToVerify.length} MCP server(s) from arguments...`;
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
// Handle existing configuration verification
|
|
82
|
+
spinner = ora('Detecting agents and MCP configurations...').start();
|
|
83
|
+
// Initialize agent manager and detect agents
|
|
84
|
+
const agentManager = new AgentManager();
|
|
85
|
+
const detectedAgents = await agentManager.detectAgents(cwd);
|
|
86
|
+
if (detectedAgents.length === 0) {
|
|
87
|
+
spinner.warn('No AI coding agents detected in this project');
|
|
88
|
+
logger.info('Run `agentinit detect` to see which agents are supported');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// Collect all MCP servers from detected agents
|
|
92
|
+
const allMcpServers = [];
|
|
93
|
+
const serverSources = [];
|
|
94
|
+
for (const detection of detectedAgents) {
|
|
95
|
+
const { agent } = detection;
|
|
96
|
+
// Get MCP configuration for this agent
|
|
97
|
+
try {
|
|
98
|
+
const mcpServers = await agent.getMCPServers(cwd);
|
|
99
|
+
for (const server of mcpServers) {
|
|
100
|
+
allMcpServers.push(server);
|
|
101
|
+
serverSources.push({
|
|
102
|
+
server,
|
|
103
|
+
agent: agent.name,
|
|
104
|
+
configPath: agent.getNativeMcpPath(cwd)
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
// Agent might not have MCP configuration, continue
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (allMcpServers.length === 0) {
|
|
114
|
+
spinner.warn('No MCP servers found in any agent configuration');
|
|
115
|
+
logger.info('Use `agentinit apply` to add MCP servers to your project');
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
// Filter servers based on options
|
|
119
|
+
if (hasAll) {
|
|
120
|
+
serversToVerify = allMcpServers;
|
|
121
|
+
filteredSources = serverSources;
|
|
122
|
+
spinner.text = `Verifying ${serversToVerify.length} MCP server(s)...`;
|
|
123
|
+
}
|
|
124
|
+
else if (mcpName) {
|
|
125
|
+
const matchingServers = allMcpServers.filter(server => server.name.toLowerCase() === mcpName.toLowerCase());
|
|
126
|
+
if (matchingServers.length === 0) {
|
|
127
|
+
spinner.fail(`MCP server "${mcpName}" not found`);
|
|
128
|
+
logger.info('Available MCP servers:');
|
|
129
|
+
allMcpServers.forEach(server => {
|
|
130
|
+
const source = serverSources.find(s => s.server.name === server.name);
|
|
131
|
+
logger.info(` • ${server.name} (${server.type}) - ${source?.agent || 'unknown'}`);
|
|
132
|
+
});
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
serversToVerify = matchingServers;
|
|
136
|
+
filteredSources = serverSources.filter(s => matchingServers.some(server => server.name === s.server.name));
|
|
137
|
+
spinner.text = `Verifying MCP server "${mcpName}"...`;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// Initialize verifier and verify servers
|
|
141
|
+
const verifier = new MCPVerifier(timeout);
|
|
142
|
+
const results = await verifier.verifyServers(serversToVerify, timeout);
|
|
143
|
+
// Count results
|
|
144
|
+
const successCount = results.filter(r => r.status === 'success').length;
|
|
145
|
+
const errorCount = results.filter(r => r.status === 'error').length;
|
|
146
|
+
const timeoutCount = results.filter(r => r.status === 'timeout').length;
|
|
147
|
+
// Update spinner based on results
|
|
148
|
+
if (successCount === results.length) {
|
|
149
|
+
spinner.succeed(`All ${results.length} MCP server(s) verified successfully!`);
|
|
150
|
+
}
|
|
151
|
+
else if (successCount > 0) {
|
|
152
|
+
spinner.warn(`${successCount}/${results.length} MCP server(s) verified successfully`);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
spinner.fail(`Failed to verify any MCP servers`);
|
|
156
|
+
}
|
|
157
|
+
logger.info('');
|
|
158
|
+
logger.info('Verification Results:');
|
|
159
|
+
logger.info('');
|
|
160
|
+
// Display formatted results
|
|
161
|
+
const formattedOutput = verifier.formatResults(results);
|
|
162
|
+
console.log(formattedOutput);
|
|
163
|
+
// Show summary
|
|
164
|
+
if (results.length > 1) {
|
|
165
|
+
logger.info('Summary:');
|
|
166
|
+
logger.info(` ✅ Successful: ${successCount}`);
|
|
167
|
+
if (errorCount > 0) {
|
|
168
|
+
logger.info(` ❌ Failed: ${errorCount}`);
|
|
169
|
+
}
|
|
170
|
+
if (timeoutCount > 0) {
|
|
171
|
+
logger.info(` ⏱️ Timeout: ${timeoutCount}`);
|
|
172
|
+
}
|
|
173
|
+
logger.info('');
|
|
174
|
+
}
|
|
175
|
+
// Show source information for failed servers (only for existing configuration mode)
|
|
176
|
+
if (!hasMcpArgs) {
|
|
177
|
+
const failedServers = results.filter(r => r.status !== 'success');
|
|
178
|
+
if (failedServers.length > 0) {
|
|
179
|
+
logger.info('Configuration Sources:');
|
|
180
|
+
failedServers.forEach(result => {
|
|
181
|
+
const source = filteredSources.find(s => s.server.name === result.server.name);
|
|
182
|
+
if (source) {
|
|
183
|
+
logger.info(` • ${result.server.name}: ${source.configPath} (${source.agent})`);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
logger.info('');
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Show next steps for failed verifications
|
|
190
|
+
if (successCount < results.length) {
|
|
191
|
+
logger.info('Troubleshooting Tips:');
|
|
192
|
+
logger.info(' 1. Ensure MCP server packages are installed');
|
|
193
|
+
logger.info(' 2. Check environment variables are set correctly');
|
|
194
|
+
logger.info(' 3. Verify network connectivity for HTTP/SSE servers');
|
|
195
|
+
logger.info(' 4. Try increasing timeout with --timeout <ms>');
|
|
196
|
+
logger.info(' 5. Check agent configuration files for syntax errors');
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
if (spinner) {
|
|
201
|
+
spinner.fail('Failed to verify MCP servers');
|
|
202
|
+
}
|
|
203
|
+
if (error instanceof MCPParseError) {
|
|
204
|
+
logger.error('MCP Configuration Error:');
|
|
205
|
+
logger.error(error.message);
|
|
206
|
+
logger.info('');
|
|
207
|
+
logger.info('For help with the correct syntax, run: agentinit verify_mcp');
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
logger.error(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
211
|
+
}
|
|
212
|
+
process.exit(1);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=verifyMcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyMcp.js","sourceRoot":"","sources":["../../src/commands/verifyMcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAA4B,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const DEFAULT_CONNECTION_TIMEOUT_MS = 30000;
|
|
2
|
+
export declare const MCP_VERIFIER_CONFIG: {
|
|
3
|
+
readonly name: "agentinit-verifier";
|
|
4
|
+
readonly version: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class TimeoutError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAenD,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAEX,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B"}
|