@evolith/smart-cli 0.0.1-beta → 0.0.2-beta

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 (84) hide show
  1. package/ARCHITECTURE.md +667 -89
  2. package/dist/app.module.js +2 -0
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/application/services/index.d.ts +14 -5
  5. package/dist/application/services/index.js +41 -3
  6. package/dist/application/services/index.js.map +1 -1
  7. package/dist/application/services/phase-transition.use-case.spec.d.ts +1 -0
  8. package/dist/application/services/phase-transition.use-case.spec.js +297 -0
  9. package/dist/application/services/phase-transition.use-case.spec.js.map +1 -0
  10. package/dist/commands/docs/docs.command.d.ts +5 -0
  11. package/dist/commands/docs/docs.command.js +159 -3
  12. package/dist/commands/docs/docs.command.js.map +1 -1
  13. package/dist/commands/drift/drift.command.d.ts +24 -0
  14. package/dist/commands/drift/drift.command.js +250 -0
  15. package/dist/commands/drift/drift.command.js.map +1 -0
  16. package/dist/commands/init/agents.command.spec.d.ts +1 -0
  17. package/dist/commands/init/agents.command.spec.js +152 -0
  18. package/dist/commands/init/agents.command.spec.js.map +1 -0
  19. package/dist/commands/init/upgrade.command.d.ts +10 -0
  20. package/dist/commands/init/upgrade.command.js +134 -1
  21. package/dist/commands/init/upgrade.command.js.map +1 -1
  22. package/dist/commands/sdlc/gate-status.command.d.ts +5 -0
  23. package/dist/commands/sdlc/gate-status.command.js +114 -0
  24. package/dist/commands/sdlc/gate-status.command.js.map +1 -0
  25. package/dist/commands/sdlc/sdlc.command.js +3 -1
  26. package/dist/commands/sdlc/sdlc.command.js.map +1 -1
  27. package/dist/commands/validate/validate.command.d.ts +4 -0
  28. package/dist/commands/validate/validate.command.js +39 -0
  29. package/dist/commands/validate/validate.command.js.map +1 -1
  30. package/dist/core/agents/agent-ruleset-builder.d.ts +30 -0
  31. package/dist/core/agents/agent-ruleset-builder.js +75 -0
  32. package/dist/core/agents/agent-ruleset-builder.js.map +1 -0
  33. package/dist/core/agents/agent-ruleset-builder.spec.d.ts +1 -0
  34. package/dist/core/agents/agent-ruleset-builder.spec.js +135 -0
  35. package/dist/core/agents/agent-ruleset-builder.spec.js.map +1 -0
  36. package/dist/core/mcp/server.d.ts +14 -9
  37. package/dist/core/mcp/server.js +236 -181
  38. package/dist/core/mcp/server.js.map +1 -1
  39. package/dist/core/services/command-history.service.spec.d.ts +1 -0
  40. package/dist/core/services/command-history.service.spec.js +166 -0
  41. package/dist/core/services/command-history.service.spec.js.map +1 -0
  42. package/dist/core/upgrade/satellite-upgrade.service.d.ts +48 -0
  43. package/dist/core/upgrade/satellite-upgrade.service.js +358 -0
  44. package/dist/core/upgrade/satellite-upgrade.service.js.map +1 -0
  45. package/dist/core/upgrade/satellite-upgrade.service.spec.d.ts +1 -0
  46. package/dist/core/upgrade/satellite-upgrade.service.spec.js +143 -0
  47. package/dist/core/upgrade/satellite-upgrade.service.spec.js.map +1 -0
  48. package/dist/core/validators/architecture-drift.service.d.ts +68 -0
  49. package/dist/core/validators/architecture-drift.service.js +266 -0
  50. package/dist/core/validators/architecture-drift.service.js.map +1 -0
  51. package/dist/core/validators/architecture-drift.service.spec.d.ts +1 -0
  52. package/dist/core/validators/architecture-drift.service.spec.js +315 -0
  53. package/dist/core/validators/architecture-drift.service.spec.js.map +1 -0
  54. package/dist/core/validators/phase-gate-validator.service.d.ts +71 -0
  55. package/dist/core/validators/phase-gate-validator.service.js +271 -0
  56. package/dist/core/validators/phase-gate-validator.service.js.map +1 -0
  57. package/dist/core/validators/phase-gate-validator.service.spec.d.ts +1 -0
  58. package/dist/core/validators/phase-gate-validator.service.spec.js +326 -0
  59. package/dist/core/validators/phase-gate-validator.service.spec.js.map +1 -0
  60. package/dist/core/validators/ruleset-validator-architecture.spec.d.ts +1 -0
  61. package/dist/core/validators/ruleset-validator-architecture.spec.js +178 -0
  62. package/dist/core/validators/ruleset-validator-architecture.spec.js.map +1 -0
  63. package/dist/core/validators/ruleset-validator.service.d.ts +24 -0
  64. package/dist/core/validators/ruleset-validator.service.js +394 -0
  65. package/dist/core/validators/ruleset-validator.service.js.map +1 -1
  66. package/dist/core/validators/ruleset-validator.service.spec.js +4 -3
  67. package/dist/core/validators/ruleset-validator.service.spec.js.map +1 -1
  68. package/dist/domain/services/adr.service.spec.d.ts +1 -0
  69. package/dist/domain/services/adr.service.spec.js +141 -0
  70. package/dist/domain/services/adr.service.spec.js.map +1 -0
  71. package/dist/domain/services/agent-registry.service.spec.d.ts +1 -0
  72. package/dist/domain/services/agent-registry.service.spec.js +162 -0
  73. package/dist/domain/services/agent-registry.service.spec.js.map +1 -0
  74. package/dist/domain/services/standards.service.spec.d.ts +1 -0
  75. package/dist/domain/services/standards.service.spec.js +140 -0
  76. package/dist/domain/services/standards.service.spec.js.map +1 -0
  77. package/dist/domain/services/tool-usage-telemetry.service.spec.d.ts +1 -0
  78. package/dist/domain/services/tool-usage-telemetry.service.spec.js +180 -0
  79. package/dist/domain/services/tool-usage-telemetry.service.spec.js.map +1 -0
  80. package/dist/infrastructure/formatters/output-formatter.service.spec.d.ts +1 -0
  81. package/dist/infrastructure/formatters/output-formatter.service.spec.js +164 -0
  82. package/dist/infrastructure/formatters/output-formatter.service.spec.js.map +1 -0
  83. package/dist/main.js +0 -0
  84. package/package.json +1 -1
@@ -33,7 +33,6 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.EvolithMcpServer = void 0;
37
36
  exports.startMcpServer = startMcpServer;
38
37
  const common_1 = require("@nestjs/common");
39
38
  const ruleset_validator_service_1 = require("../validators/ruleset-validator.service");
@@ -41,167 +40,202 @@ const validate_1 = require("./tools/validate");
41
40
  const agent_1 = require("./tools/agent");
42
41
  const architecture_1 = require("./tools/architecture");
43
42
  const sdlc_1 = require("./tools/sdlc");
44
- const resources_1 = require("./resources");
45
- const prompts_1 = require("./prompts");
46
43
  const metrics_service_1 = require("./metrics.service");
47
- let ServerClass;
48
- let StdioTransportClass;
49
- let StreamableHttpTransportClass;
50
- async function loadMcpSdk() {
51
- if (ServerClass)
52
- return;
53
- try {
54
- const mcp = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk')));
55
- ServerClass = mcp.Server;
56
- StdioTransportClass = mcp.StdioServerTransport;
57
- const httpTransport = await Promise.resolve().then(() => __importStar(require('@modelcontextprotocol/sdk/server/streamableHttp')));
58
- if (httpTransport.StreamableHTTPServerTransport) {
59
- StreamableHttpTransportClass = httpTransport.StreamableHTTPServerTransport;
60
- }
61
- }
62
- catch (error) {
63
- const msg = error instanceof Error ? error.message : String(error);
64
- throw new Error(`Failed to load @modelcontextprotocol/sdk: ${msg}. Install with: npm install @modelcontextprotocol/sdk`);
65
- }
66
- }
67
- function validateApiKey(apiKey, validKey) {
68
- if (!validKey)
69
- return true;
70
- if (!apiKey)
71
- return false;
72
- return apiKey === validKey;
73
- }
74
- const LIST_TOOLS_REQUEST_SCHEMA = {
75
- name: 'tools/list',
76
- description: 'List available tools',
77
- };
78
- const CALL_TOOL_REQUEST_SCHEMA = {
79
- name: 'tools/call',
80
- description: 'Call a tool by name',
81
- };
82
- const LIST_RESOURCES_REQUEST_SCHEMA = {
83
- name: 'resources/list',
84
- description: 'List available resources',
85
- };
86
- const READ_RESOURCE_REQUEST_SCHEMA = {
87
- name: 'resources/read',
88
- description: 'Read a resource',
89
- };
90
- const LIST_PROMPTS_REQUEST_SCHEMA = {
91
- name: 'prompts/list',
92
- description: 'List available prompts',
93
- };
94
- const GET_PROMPT_REQUEST_SCHEMA = {
95
- name: 'prompts/get',
96
- description: 'Get a prompt template',
97
- };
98
- class EvolithMcpServer {
99
- constructor(options = {}) {
100
- this.logger = new common_1.Logger(EvolithMcpServer.name);
101
- this.serverInstance = null;
102
- this.rulesetValidator = options.rulesetValidator || new ruleset_validator_service_1.RulesetValidatorService();
103
- this.metricsService = options.metricsService || new metrics_service_1.McpMetricsService();
104
- this.apiKey = options.apiKey || process.env.EVOLITH_API_KEY;
105
- this.port = options.port || parseInt(process.env.PORT || '3000', 10);
44
+ class MinimalStdioTransport {
45
+ constructor(stdin, stdout) {
46
+ this.readBuffer = '';
47
+ this.stdin = stdin || process.stdin;
48
+ this.stdout = stdout || process.stdout;
49
+ this.readBuffer = '';
50
+ this.started = false;
106
51
  }
107
- async initialize() {
108
- await loadMcpSdk();
109
- this.serverInstance = new ServerClass({
110
- name: 'evolith-mcp-server',
111
- version: '1.0.0',
112
- });
113
- this.serverInstance.setRequestHandler(LIST_TOOLS_REQUEST_SCHEMA, async () => {
114
- return this.handleListTools();
115
- });
116
- this.serverInstance.setRequestHandler(CALL_TOOL_REQUEST_SCHEMA, async (request) => {
117
- const req = request;
118
- if (!validateApiKey(req.arguments?.apiKey, this.apiKey)) {
119
- return {
120
- content: [{ type: 'text', text: JSON.stringify({ error: true, message: 'Invalid API key' }) }],
121
- isError: true,
122
- };
52
+ async start() {
53
+ if (this.started)
54
+ return;
55
+ this.started = true;
56
+ this.stdin.on('data', (chunk) => {
57
+ this.readBuffer += chunk.toString();
58
+ let newlineIndex;
59
+ while ((newlineIndex = this.readBuffer.indexOf('\n')) !== -1) {
60
+ const line = this.readBuffer.slice(0, newlineIndex).trim();
61
+ this.readBuffer = this.readBuffer.slice(newlineIndex + 1);
62
+ if (line) {
63
+ try {
64
+ const message = JSON.parse(line);
65
+ if (this.onmessage) {
66
+ this.onmessage(message);
67
+ }
68
+ }
69
+ catch (e) {
70
+ if (this.onerror) {
71
+ this.onerror(new Error(`Invalid JSON: ${line}`));
72
+ }
73
+ }
74
+ }
123
75
  }
124
- const args = { ...req.arguments };
125
- delete args.apiKey;
126
- return this.handleCallTool(req.name, args);
127
- });
128
- this.serverInstance.setRequestHandler(LIST_RESOURCES_REQUEST_SCHEMA, async () => {
129
- return (0, resources_1.listResources)();
130
76
  });
131
- this.serverInstance.setRequestHandler(READ_RESOURCE_REQUEST_SCHEMA, async (request) => {
132
- return (0, resources_1.readResource)(request);
77
+ this.stdin.on('end', () => {
78
+ if (this.onclose) {
79
+ this.onclose();
80
+ }
133
81
  });
134
- this.serverInstance.setRequestHandler(LIST_PROMPTS_REQUEST_SCHEMA, async () => {
135
- return (0, prompts_1.listPrompts)();
82
+ this.stdin.on('error', (err) => {
83
+ if (this.onerror) {
84
+ this.onerror(err);
85
+ }
136
86
  });
137
- this.serverInstance.setRequestHandler(GET_PROMPT_REQUEST_SCHEMA, async (request) => {
138
- return (0, prompts_1.getPrompt)(request);
87
+ }
88
+ async close() {
89
+ this.started = false;
90
+ }
91
+ async send(message) {
92
+ return new Promise((resolve, reject) => {
93
+ const json = JSON.stringify(message) + '\n';
94
+ this.stdout.write(json, (err) => {
95
+ if (err)
96
+ reject(err);
97
+ else
98
+ resolve();
99
+ });
139
100
  });
140
- this.logger.log('Evolith MCP Server initialized');
141
101
  }
142
- async connect(transport = 'stdio') {
143
- if (!this.serverInstance) {
144
- await this.initialize();
145
- }
146
- if (transport === 'http') {
147
- await this.startHttpServer();
102
+ }
103
+ class DirectMcpServer {
104
+ constructor(rulesetValidator, metricsService) {
105
+ this.logger = new common_1.Logger(DirectMcpServer.name);
106
+ this.transport = new MinimalStdioTransport();
107
+ this.rulesetValidator = rulesetValidator || new ruleset_validator_service_1.RulesetValidatorService();
108
+ this.metricsService = metricsService || new metrics_service_1.McpMetricsService();
109
+ }
110
+ async start() {
111
+ const transport = this.transport;
112
+ transport.onmessage = async (message) => {
113
+ await this.handleMessage(message);
114
+ };
115
+ transport.onerror = (error) => {
116
+ this.logger.error(`Transport error: ${error.message}`);
117
+ };
118
+ await transport.start();
119
+ this.logger.log('Evolith MCP Server started on stdio');
120
+ }
121
+ async stop() {
122
+ await this.transport.close();
123
+ }
124
+ async handleMessage(rawMessage) {
125
+ try {
126
+ const request = rawMessage;
127
+ this.logger.debug(`Received: ${JSON.stringify(request)}`);
128
+ if (request.method === 'initialize') {
129
+ const response = {
130
+ jsonrpc: '2.0',
131
+ id: request.id,
132
+ result: {
133
+ protocolVersion: '2024-11-05',
134
+ capabilities: {
135
+ tools: {},
136
+ resources: {},
137
+ prompts: {},
138
+ },
139
+ serverInfo: {
140
+ name: 'evolith-mcp-server',
141
+ version: '1.0.0',
142
+ },
143
+ },
144
+ };
145
+ await this.transport.send(response);
146
+ return;
147
+ }
148
+ let result;
149
+ try {
150
+ result = await this.dispatchRequest(request.method, request.params || {});
151
+ }
152
+ catch (error) {
153
+ const errorResponse = {
154
+ jsonrpc: '2.0',
155
+ id: request.id,
156
+ error: {
157
+ code: -32603,
158
+ message: error instanceof Error ? error.message : String(error),
159
+ },
160
+ };
161
+ await this.transport.send(errorResponse);
162
+ return;
163
+ }
164
+ const response = {
165
+ jsonrpc: '2.0',
166
+ id: request.id,
167
+ result,
168
+ };
169
+ await this.transport.send(response);
148
170
  }
149
- else {
150
- const stdioTransport = new StdioTransportClass();
151
- await this.serverInstance.connect(stdioTransport);
171
+ catch (error) {
172
+ this.logger.error(`Error handling message: ${error}`);
173
+ const errorResponse = {
174
+ jsonrpc: '2.0',
175
+ id: null,
176
+ error: {
177
+ code: -32603,
178
+ message: error instanceof Error ? error.message : String(error),
179
+ },
180
+ };
181
+ await this.transport.send(errorResponse);
152
182
  }
153
183
  }
154
- async startHttpServer() {
155
- if (!StreamableHttpTransportClass) {
156
- this.logger.warn('Streamable HTTP transport not available, falling back to stdio');
157
- const stdioTransport = new StdioTransportClass();
158
- await this.serverInstance.connect(stdioTransport);
159
- return;
184
+ async dispatchRequest(method, params) {
185
+ switch (method) {
186
+ case 'tools/list':
187
+ return this.handleListTools();
188
+ case 'tools/call':
189
+ return this.handleCallTool(params);
190
+ case 'resources/list':
191
+ return this.handleListResources();
192
+ case 'resources/read':
193
+ return this.handleReadResource(params);
194
+ case 'prompts/list':
195
+ return this.handleListPrompts();
196
+ case 'prompts/get':
197
+ return this.handleGetPrompt(params);
198
+ default:
199
+ throw new Error(`Method not found: ${method}`);
160
200
  }
161
- this.logger.log(`Starting HTTP MCP server on port ${this.port}`);
162
- const httpTransport = new StreamableHttpTransportClass({
163
- port: this.port,
164
- host: '0.0.0.0',
165
- });
166
- await this.serverInstance.connect(httpTransport);
167
201
  }
168
- async handleListTools() {
202
+ handleListTools() {
169
203
  return {
170
204
  tools: [
171
205
  {
172
206
  name: 'evolith-validate',
173
- description: 'Validate a repository against Evolith governance rules. Returns validation status, rules checked, and any issues found.',
207
+ description: 'Validate a repository against Evolith governance rules',
174
208
  inputSchema: {
175
209
  type: 'object',
176
210
  properties: {
177
211
  path: { type: 'string', description: 'Path to the repository to validate' },
178
212
  format: { type: 'string', description: 'Output format: json, summary, table', default: 'json' },
179
- ruleset: { type: 'string', description: 'Specific ruleset to validate (acl, open-core, inheritance, adr-XXXX)' },
180
- corePath: { type: 'string', description: 'Path to Evolith Core (optional, auto-detected)' },
213
+ ruleset: { type: 'string', description: 'Specific ruleset to validate' },
214
+ corePath: { type: 'string', description: 'Path to Evolith Core' },
181
215
  },
182
216
  required: ['path'],
183
217
  },
184
218
  },
185
219
  {
186
220
  name: 'evolith-agent-install',
187
- description: 'Install a new Evolith agent with specified name and template',
221
+ description: 'Install a new Evolith agent',
188
222
  inputSchema: {
189
223
  type: 'object',
190
224
  properties: {
191
225
  name: { type: 'string', description: 'Name of the agent to install' },
192
- template: { type: 'string', description: 'Template to use: standard, minimal, enterprise', default: 'standard' },
193
- dir: { type: 'string', description: 'Directory to install into (defaults to current working directory)' },
226
+ template: { type: 'string', description: 'Template: standard, minimal, enterprise', default: 'standard' },
227
+ dir: { type: 'string', description: 'Directory to install into' },
194
228
  },
195
229
  required: ['name'],
196
230
  },
197
231
  },
198
232
  {
199
233
  name: 'evolith-agent-list',
200
- description: 'List all installed Evolith agents in a repository',
234
+ description: 'List all installed Evolith agents',
201
235
  inputSchema: {
202
236
  type: 'object',
203
237
  properties: {
204
- dir: { type: 'string', description: 'Directory to search for agents (defaults to current working directory)' },
238
+ dir: { type: 'string', description: 'Directory to search' },
205
239
  },
206
240
  },
207
241
  },
@@ -211,32 +245,32 @@ class EvolithMcpServer {
211
245
  inputSchema: {
212
246
  type: 'object',
213
247
  properties: {
214
- name: { type: 'string', description: 'Name of the agent to validate' },
215
- dir: { type: 'string', description: 'Directory containing the agent (defaults to current working directory)' },
248
+ name: { type: 'string' },
249
+ dir: { type: 'string' },
216
250
  },
217
251
  required: ['name'],
218
252
  },
219
253
  },
220
254
  {
221
255
  name: 'evolith-agent-upgrade',
222
- description: 'Upgrade an existing Evolith agent to the latest version',
256
+ description: 'Upgrade an existing Evolith agent',
223
257
  inputSchema: {
224
258
  type: 'object',
225
259
  properties: {
226
- name: { type: 'string', description: 'Name of the agent to upgrade' },
227
- dir: { type: 'string', description: 'Directory containing the agent (defaults to current working directory)' },
260
+ name: { type: 'string' },
261
+ dir: { type: 'string' },
228
262
  },
229
263
  required: ['name'],
230
264
  },
231
265
  },
232
266
  {
233
267
  name: 'evolith-agent-remove',
234
- description: 'Remove an Evolith agent and its ruleset',
268
+ description: 'Remove an Evolith agent',
235
269
  inputSchema: {
236
270
  type: 'object',
237
271
  properties: {
238
- name: { type: 'string', description: 'Name of the agent to remove' },
239
- dir: { type: 'string', description: 'Directory containing the agent (defaults to current working directory)' },
272
+ name: { type: 'string' },
273
+ dir: { type: 'string' },
240
274
  },
241
275
  required: ['name'],
242
276
  },
@@ -247,8 +281,8 @@ class EvolithMcpServer {
247
281
  inputSchema: {
248
282
  type: 'object',
249
283
  properties: {
250
- path: { type: 'string', description: 'Path to the repository to validate' },
251
- level: { type: 'string', description: 'Architecture level: F1 (modular), F2 (contracts), F3 (extraction)', default: 'F1' },
284
+ path: { type: 'string' },
285
+ level: { type: 'string', description: 'F1, F2, or F3' },
252
286
  },
253
287
  required: ['path'],
254
288
  },
@@ -259,20 +293,20 @@ class EvolithMcpServer {
259
293
  inputSchema: {
260
294
  type: 'object',
261
295
  properties: {
262
- path: { type: 'string', description: 'Path to the repository' },
263
- fromPhase: { type: 'string', description: 'Source phase: phase-0, phase-1, phase-2, phase-3, phase-4' },
264
- toPhase: { type: 'string', description: 'Target phase: phase-0, phase-1, phase-2, phase-3, phase-4' },
296
+ path: { type: 'string' },
297
+ fromPhase: { type: 'string' },
298
+ toPhase: { type: 'string' },
265
299
  },
266
300
  required: ['path', 'fromPhase', 'toPhase'],
267
301
  },
268
302
  },
269
303
  {
270
304
  name: 'evolith-sdlc-status',
271
- description: 'Show current SDLC phase gate status for a repository',
305
+ description: 'Show current SDLC phase gate status',
272
306
  inputSchema: {
273
307
  type: 'object',
274
308
  properties: {
275
- path: { type: 'string', description: 'Path to the repository' },
309
+ path: { type: 'string' },
276
310
  },
277
311
  required: ['path'],
278
312
  },
@@ -283,8 +317,8 @@ class EvolithMcpServer {
283
317
  inputSchema: {
284
318
  type: 'object',
285
319
  properties: {
286
- key: { type: 'string', description: 'Configuration key to retrieve' },
287
- dir: { type: 'string', description: 'Directory containing evolith.yaml' },
320
+ key: { type: 'string' },
321
+ dir: { type: 'string' },
288
322
  },
289
323
  required: ['key'],
290
324
  },
@@ -295,16 +329,16 @@ class EvolithMcpServer {
295
329
  inputSchema: {
296
330
  type: 'object',
297
331
  properties: {
298
- key: { type: 'string', description: 'Configuration key to set' },
299
- value: { type: 'string', description: 'Value to set' },
300
- dir: { type: 'string', description: 'Directory containing evolith.yaml' },
332
+ key: { type: 'string' },
333
+ value: { type: 'string' },
334
+ dir: { type: 'string' },
301
335
  },
302
336
  required: ['key', 'value'],
303
337
  },
304
338
  },
305
339
  {
306
340
  name: 'evolith-metrics',
307
- description: 'Get MCP server metrics including tool usage statistics, latency, and error rates',
341
+ description: 'Get MCP server metrics',
308
342
  inputSchema: {
309
343
  type: 'object',
310
344
  properties: {},
@@ -313,8 +347,9 @@ class EvolithMcpServer {
313
347
  ],
314
348
  };
315
349
  }
316
- async handleCallTool(name, args) {
317
- this.logger.debug(`Tool call: ${name} with args: ${JSON.stringify(args)}`);
350
+ async handleCallTool(params) {
351
+ const name = params.name;
352
+ const args = params.arguments || {};
318
353
  const startTime = Date.now();
319
354
  try {
320
355
  let result;
@@ -331,7 +366,7 @@ class EvolithMcpServer {
331
366
  result = await (0, sdlc_1.handleSdlcTools)(name, args);
332
367
  }
333
368
  else if (name === 'evolith-config-get' || name === 'evolith-config-set') {
334
- result = await handleConfigTools(name, args);
369
+ result = await this.handleConfigTools(name, args);
335
370
  }
336
371
  else if (name === 'evolith-metrics') {
337
372
  result = this.metricsService.getMetrics();
@@ -353,7 +388,6 @@ class EvolithMcpServer {
353
388
  catch (error) {
354
389
  const latencyMs = Date.now() - startTime;
355
390
  const message = error instanceof Error ? error.message : String(error);
356
- this.logger.error(`Tool ${name} failed: ${message}`);
357
391
  this.metricsService.recordToolCall(name, latencyMs, false);
358
392
  this.metricsService.recordError(message.substring(0, 50));
359
393
  return {
@@ -367,47 +401,68 @@ class EvolithMcpServer {
367
401
  };
368
402
  }
369
403
  }
370
- }
371
- exports.EvolithMcpServer = EvolithMcpServer;
372
- async function handleConfigTools(name, args) {
373
- const fs = await Promise.resolve().then(() => __importStar(require('fs-extra')));
374
- const path = await Promise.resolve().then(() => __importStar(require('path')));
375
- const yaml = await Promise.resolve().then(() => __importStar(require('yaml')));
376
- const dir = args.dir || process.cwd();
377
- const configPath = path.join(dir, 'evolith.yaml');
378
- if (!(await fs.pathExists(configPath))) {
379
- throw new Error('evolith.yaml not found');
380
- }
381
- const config = yaml.parse(await fs.readFile(configPath, 'utf-8'));
382
- if (name === 'evolith-config-get') {
383
- const key = args.key;
384
- const keys = key.split('.');
385
- let value = config;
386
- for (const k of keys) {
387
- value = value?.[k];
404
+ async handleConfigTools(name, args) {
405
+ const fs = await Promise.resolve().then(() => __importStar(require('fs-extra')));
406
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
407
+ const yaml = await Promise.resolve().then(() => __importStar(require('yaml')));
408
+ const dir = args.dir || process.cwd();
409
+ const configPath = path.join(dir, 'evolith.yaml');
410
+ if (!(await fs.pathExists(configPath))) {
411
+ throw new Error('evolith.yaml not found');
388
412
  }
389
- return { key, value: value ?? null };
390
- }
391
- else {
392
- const key = args.key;
393
- const value = args.value;
394
- const keys = key.split('.');
395
- let target = config;
396
- for (let i = 0; i < keys.length - 1; i++) {
397
- if (!target[keys[i]]) {
398
- target[keys[i]] = {};
413
+ const config = yaml.parse(await fs.readFile(configPath, 'utf-8'));
414
+ if (name === 'evolith-config-get') {
415
+ const key = args.key;
416
+ const keys = key.split('.');
417
+ let value = config;
418
+ for (const k of keys) {
419
+ value = value?.[k];
420
+ }
421
+ return { key, value: value ?? null };
422
+ }
423
+ else {
424
+ const key = args.key;
425
+ const value = args.value;
426
+ const keys = key.split('.');
427
+ let target = config;
428
+ for (let i = 0; i < keys.length - 1; i++) {
429
+ if (!target[keys[i]]) {
430
+ target[keys[i]] = {};
431
+ }
432
+ target = target[keys[i]];
399
433
  }
400
- target = target[keys[i]];
434
+ target[keys[keys.length - 1]] = value;
435
+ await fs.writeFile(configPath, yaml.stringify(config));
436
+ return { key, value, updated: true };
401
437
  }
402
- target[keys[keys.length - 1]] = value;
403
- await fs.writeFile(configPath, yaml.stringify(config));
404
- return { key, value, updated: true };
405
438
  }
439
+ async handleListResources() {
440
+ const { listResources } = await Promise.resolve().then(() => __importStar(require('./resources')));
441
+ return listResources();
442
+ }
443
+ async handleReadResource(params) {
444
+ const { readResource } = await Promise.resolve().then(() => __importStar(require('./resources')));
445
+ return readResource(params);
446
+ }
447
+ async handleListPrompts() {
448
+ const { listPrompts } = await Promise.resolve().then(() => __importStar(require('./prompts')));
449
+ return listPrompts();
450
+ }
451
+ async handleGetPrompt(params) {
452
+ const { getPrompt } = await Promise.resolve().then(() => __importStar(require('./prompts')));
453
+ return getPrompt(params);
454
+ }
455
+ }
456
+ function validateApiKey(apiKey, validKey) {
457
+ if (!validKey)
458
+ return true;
459
+ if (!apiKey)
460
+ return false;
461
+ return apiKey === validKey;
406
462
  }
407
463
  async function startMcpServer(options = {}) {
408
- const server = new EvolithMcpServer(options);
409
- const transport = options.transport || 'stdio';
410
- await server.connect(transport);
464
+ const server = new DirectMcpServer(options.rulesetValidator, options.metricsService);
465
+ await server.start();
411
466
  return server;
412
467
  }
413
468
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/core/mcp/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsaA,wCAKC;AA3aD,2CAAwC;AACxC,uFAAkF;AAClF,+CAAsD;AACtD,yCAAiD;AACjD,uDAA+D;AAC/D,uCAA+C;AAC/C,2CAA0D;AAC1D,uCAAmD;AACnD,uDAAsD;AAqBtD,IAAI,WAAkF,CAAC;AACvF,IAAI,mBAAmD,CAAC;AACxD,IAAI,4BAAsG,CAAC;AAE3G,KAAK,UAAU,UAAU;IACvB,IAAI,WAAW;QAAE,OAAO;IAExB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,wDAAa,2BAA2B,GAAC,CAAC;QACtD,WAAW,GAAG,GAAG,CAAC,MAA0F,CAAC;QAC7G,mBAAmB,GAAG,GAAG,CAAC,oBAAiE,CAAC;QAE5F,MAAM,aAAa,GAAG,wDAAa,iDAAiD,GAAC,CAAC;QACtF,IAAI,aAAa,CAAC,6BAA6B,EAAE,CAAC;YAChD,4BAA4B,GAAG,aAAa,CAAC,6BAAoH,CAAC;QACpK,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,6CAA6C,GAAG,uDAAuD,CAAC,CAAC;IAC3H,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,MAA0B,EAAE,QAA4B;IAC9E,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,KAAK,QAAQ,CAAC;AAC7B,CAAC;AAED,MAAM,yBAAyB,GAAY;IACzC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,sBAAsB;CACpC,CAAC;AAEF,MAAM,wBAAwB,GAAY;IACxC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,qBAAqB;CACnC,CAAC;AAEF,MAAM,6BAA6B,GAAY;IAC7C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,0BAA0B;CACxC,CAAC;AAEF,MAAM,4BAA4B,GAAY;IAC5C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,iBAAiB;CAC/B,CAAC;AAEF,MAAM,2BAA2B,GAAY;IAC3C,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,wBAAwB;CACtC,CAAC;AAEF,MAAM,yBAAyB,GAAY;IACzC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uBAAuB;CACrC,CAAC;AAEF,MAAa,gBAAgB;IAQ3B,YAAY,UAA4B,EAAE;QAPzB,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAKpD,mBAAc,GAA6B,IAAI,CAAC;QAGtD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,mDAAuB,EAAE,CAAC;QAClF,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,mCAAiB,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,UAAU,EAAE,CAAC;QAEnB,IAAI,CAAC,cAAc,GAAG,IAAI,WAAW,CAAC;YACpC,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YAC1E,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;YACzF,MAAM,GAAG,GAAG,OAAgE,CAAC;YAE7E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAA4B,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9E,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;oBACvG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,MAAM,CAAC;YAEnB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC9E,OAAO,IAAA,yBAAa,GAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;YAC7F,OAAO,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YAC5E,OAAO,IAAA,qBAAW,GAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAgB,EAAE,EAAE;YAC1F,OAAO,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,YAA0B,OAAO;QAC7C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,CAAC;QAED,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,cAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;YACnF,MAAM,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,cAAe,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,aAAa,GAAG,IAAI,4BAA4B,CAAC;YACrD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,SAAS;SAChB,CAAQ,CAAC;QAEV,MAAM,IAAI,CAAC,cAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,OAAO;YACL,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EAAE,yHAAyH;oBACtI,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;4BAC3E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE,OAAO,EAAE,MAAM,EAAE;4BAC/F,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sEAAsE,EAAE;4BAChH,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE;yBAC5F;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EAAE,8DAA8D;oBAC3E,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;4BACrE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gDAAgD,EAAE,OAAO,EAAE,UAAU,EAAE;4BAChH,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mEAAmE,EAAE;yBAC1G;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,mDAAmD;oBAChE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;yBAC/G;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EAAE,mCAAmC;oBAChD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;4BACtE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;yBAC/G;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EAAE,yDAAyD;oBACtE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;4BACrE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;yBAC/G;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EAAE,yCAAyC;oBACtD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;4BACpE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wEAAwE,EAAE;yBAC/G;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,+BAA+B;oBACrC,WAAW,EAAE,yDAAyD;oBACtE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;4BAC3E,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mEAAmE,EAAE,OAAO,EAAE,IAAI,EAAE;yBAC3H;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,WAAW,EAAE,+CAA+C;oBAC5D,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;4BAC/D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;4BACvG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2DAA2D,EAAE;yBACtG;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;qBAC3C;iBACF;gBACD;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EAAE,sDAAsD;oBACnE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;yBAChE;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,iCAAiC;oBAC9C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;4BACrE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;yBAC1E;wBACD,QAAQ,EAAE,CAAC,KAAK,CAAC;qBAClB;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,iCAAiC;oBAC9C,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;4BAChE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;4BACtD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;yBAC1E;wBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;qBAC3B;iBACF;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,kFAAkF;oBAC/F,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;qBACf;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,IAA6B;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,MAAe,CAAC;YAEpB,IAAI,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAChC,MAAM,GAAG,MAAM,IAAA,6BAAkB,EAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC5C,MAAM,GAAG,MAAM,IAAA,wBAAgB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,KAAK,+BAA+B,EAAE,CAAC;gBACpD,MAAM,GAAG,MAAM,IAAA,sCAAuB,EAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,MAAM,GAAG,MAAM,IAAA,sBAAe,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAC1E,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACtC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAE1D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5E;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,YAAY,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE1D,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qBAC/C;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAtSD,4CAsSC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,IAA6B;IAC1E,MAAM,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;IACpC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAClC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAElC,MAAM,GAAG,GAAI,IAAI,CAAC,GAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAElD,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAElE,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAa,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,GAAY,MAAM,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,GAAI,KAAiC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAa,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAe,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,GAA4B,MAAM,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAA4B,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACtC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,UAA4B,EAAE;IACjE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAI,OAAe,CAAC,SAAS,IAAI,OAAO,CAAC;IACxD,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/core/mcp/server.ts"],"names":[],"mappings":"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"}