@defai.digital/mcp-server 13.0.3
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/LICENSE +214 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -0
- package/dist/bootstrap.d.ts +89 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +161 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/rate-limiter.d.ts +136 -0
- package/dist/middleware/rate-limiter.d.ts.map +1 -0
- package/dist/middleware/rate-limiter.js +262 -0
- package/dist/middleware/rate-limiter.js.map +1 -0
- package/dist/prompts/agent-guide.d.ts +16 -0
- package/dist/prompts/agent-guide.d.ts.map +1 -0
- package/dist/prompts/agent-guide.js +391 -0
- package/dist/prompts/agent-guide.js.map +1 -0
- package/dist/prompts/explain-workflow.d.ts +15 -0
- package/dist/prompts/explain-workflow.d.ts.map +1 -0
- package/dist/prompts/explain-workflow.js +157 -0
- package/dist/prompts/explain-workflow.js.map +1 -0
- package/dist/prompts/index.d.ts +39 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +83 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/review-changes.d.ts +15 -0
- package/dist/prompts/review-changes.d.ts.map +1 -0
- package/dist/prompts/review-changes.js +102 -0
- package/dist/prompts/review-changes.js.map +1 -0
- package/dist/prompts/troubleshoot-session.d.ts +15 -0
- package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
- package/dist/prompts/troubleshoot-session.js +156 -0
- package/dist/prompts/troubleshoot-session.js.map +1 -0
- package/dist/registry-accessor.d.ts +83 -0
- package/dist/registry-accessor.d.ts.map +1 -0
- package/dist/registry-accessor.js +153 -0
- package/dist/registry-accessor.js.map +1 -0
- package/dist/resources/agents.d.ts +40 -0
- package/dist/resources/agents.d.ts.map +1 -0
- package/dist/resources/agents.js +123 -0
- package/dist/resources/agents.js.map +1 -0
- package/dist/resources/config.d.ts +57 -0
- package/dist/resources/config.d.ts.map +1 -0
- package/dist/resources/config.js +222 -0
- package/dist/resources/config.js.map +1 -0
- package/dist/resources/index.d.ts +38 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +132 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/policies.d.ts +40 -0
- package/dist/resources/policies.d.ts.map +1 -0
- package/dist/resources/policies.js +122 -0
- package/dist/resources/policies.js.map +1 -0
- package/dist/resources/sessions.d.ts +30 -0
- package/dist/resources/sessions.d.ts.map +1 -0
- package/dist/resources/sessions.js +64 -0
- package/dist/resources/sessions.js.map +1 -0
- package/dist/resources/workflows.d.ts +40 -0
- package/dist/resources/workflows.d.ts.map +1 -0
- package/dist/resources/workflows.js +143 -0
- package/dist/resources/workflows.js.map +1 -0
- package/dist/schema-registry.d.ts +23 -0
- package/dist/schema-registry.d.ts.map +1 -0
- package/dist/schema-registry.js +225 -0
- package/dist/schema-registry.js.map +1 -0
- package/dist/server.d.ts +63 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +393 -0
- package/dist/server.js.map +1 -0
- package/dist/session-accessor.d.ts +23 -0
- package/dist/session-accessor.d.ts.map +1 -0
- package/dist/session-accessor.js +39 -0
- package/dist/session-accessor.js.map +1 -0
- package/dist/shared-registry.d.ts +23 -0
- package/dist/shared-registry.d.ts.map +1 -0
- package/dist/shared-registry.js +235 -0
- package/dist/shared-registry.js.map +1 -0
- package/dist/stdio.d.ts +6 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +152 -0
- package/dist/stdio.js.map +1 -0
- package/dist/tool-namespacing.d.ts +28 -0
- package/dist/tool-namespacing.d.ts.map +1 -0
- package/dist/tool-namespacing.js +80 -0
- package/dist/tool-namespacing.js.map +1 -0
- package/dist/tools/ability.d.ts +55 -0
- package/dist/tools/ability.d.ts.map +1 -0
- package/dist/tools/ability.js +560 -0
- package/dist/tools/ability.js.map +1 -0
- package/dist/tools/agent.d.ts +73 -0
- package/dist/tools/agent.d.ts.map +1 -0
- package/dist/tools/agent.js +895 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/config.d.ts +36 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +265 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/design.d.ts +42 -0
- package/dist/tools/design.d.ts.map +1 -0
- package/dist/tools/design.js +736 -0
- package/dist/tools/design.js.map +1 -0
- package/dist/tools/discuss.d.ts +40 -0
- package/dist/tools/discuss.d.ts.map +1 -0
- package/dist/tools/discuss.js +331 -0
- package/dist/tools/discuss.js.map +1 -0
- package/dist/tools/file-system.d.ts +63 -0
- package/dist/tools/file-system.d.ts.map +1 -0
- package/dist/tools/file-system.js +513 -0
- package/dist/tools/file-system.js.map +1 -0
- package/dist/tools/guard.d.ts +29 -0
- package/dist/tools/guard.d.ts.map +1 -0
- package/dist/tools/guard.js +311 -0
- package/dist/tools/guard.js.map +1 -0
- package/dist/tools/index.d.ts +35 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +178 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory.d.ts +101 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +704 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/orchestration.d.ts +58 -0
- package/dist/tools/orchestration.d.ts.map +1 -0
- package/dist/tools/orchestration.js +714 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/review.d.ts +40 -0
- package/dist/tools/review.d.ts.map +1 -0
- package/dist/tools/review.js +319 -0
- package/dist/tools/review.js.map +1 -0
- package/dist/tools/scaffold.d.ts +27 -0
- package/dist/tools/scaffold.d.ts.map +1 -0
- package/dist/tools/scaffold.js +495 -0
- package/dist/tools/scaffold.js.map +1 -0
- package/dist/tools/session.d.ts +75 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +749 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/telemetry.d.ts +58 -0
- package/dist/tools/telemetry.d.ts.map +1 -0
- package/dist/tools/telemetry.js +638 -0
- package/dist/tools/telemetry.js.map +1 -0
- package/dist/tools/trace.d.ts +29 -0
- package/dist/tools/trace.d.ts.map +1 -0
- package/dist/tools/trace.js +191 -0
- package/dist/tools/trace.js.map +1 -0
- package/dist/tools/workflow.d.ts +26 -0
- package/dist/tools/workflow.d.ts.map +1 -0
- package/dist/tools/workflow.js +269 -0
- package/dist/tools/workflow.js.map +1 -0
- package/dist/trace-wrapper.d.ts +79 -0
- package/dist/trace-wrapper.d.ts.map +1 -0
- package/dist/trace-wrapper.js +151 -0
- package/dist/trace-wrapper.js.map +1 -0
- package/dist/types.d.ts +185 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/artifact-store.d.ts +49 -0
- package/dist/utils/artifact-store.d.ts.map +1 -0
- package/dist/utils/artifact-store.js +102 -0
- package/dist/utils/artifact-store.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +10 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/response.d.ts +139 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +293 -0
- package/dist/utils/response.js.map +1 -0
- package/dist/validation.d.ts +223 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +372 -0
- package/dist/validation.js.map +1 -0
- package/package.json +67 -0
package/dist/server.js
ADDED
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
import { MCPErrorCodes } from './types.js';
|
|
2
|
+
import { MCP_SERVER_NAME, MCP_PROTOCOL_VERSION, DEFAULT_SCHEMA_VERSION } from '@defai.digital/contracts';
|
|
3
|
+
import { ALL_TOOLS, TOOL_HANDLERS } from './tools/index.js';
|
|
4
|
+
import { ALL_RESOURCES, readResource } from './resources/index.js';
|
|
5
|
+
import { ALL_PROMPTS, executePrompt, getPrompt } from './prompts/index.js';
|
|
6
|
+
import { getToolPrefix, namespaceTools, resolveToolName } from './tool-namespacing.js';
|
|
7
|
+
import { getRateLimiter } from './middleware/rate-limiter.js';
|
|
8
|
+
/**
|
|
9
|
+
* MCP Server implementation
|
|
10
|
+
* Handles JSON-RPC 2.0 protocol for MCP communication
|
|
11
|
+
*/
|
|
12
|
+
export class MCPServer {
|
|
13
|
+
config;
|
|
14
|
+
initialized = false;
|
|
15
|
+
toolPrefix;
|
|
16
|
+
listableTools;
|
|
17
|
+
constructor(config) {
|
|
18
|
+
this.config = config;
|
|
19
|
+
this.toolPrefix = getToolPrefix();
|
|
20
|
+
this.listableTools = namespaceTools(ALL_TOOLS, this.toolPrefix);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Handles an incoming MCP request
|
|
24
|
+
*/
|
|
25
|
+
async handleRequest(request) {
|
|
26
|
+
try {
|
|
27
|
+
switch (request.method) {
|
|
28
|
+
case 'initialize':
|
|
29
|
+
return this.handleInitialize(request);
|
|
30
|
+
case 'tools/list':
|
|
31
|
+
return this.handleToolsList(request);
|
|
32
|
+
case 'tools/call':
|
|
33
|
+
return await this.handleToolsCall(request);
|
|
34
|
+
case 'resources/list':
|
|
35
|
+
return this.handleResourcesList(request);
|
|
36
|
+
case 'resources/read':
|
|
37
|
+
return await this.handleResourcesRead(request);
|
|
38
|
+
case 'prompts/list':
|
|
39
|
+
return this.handlePromptsList(request);
|
|
40
|
+
case 'prompts/get':
|
|
41
|
+
return await this.handlePromptsGet(request);
|
|
42
|
+
case 'shutdown':
|
|
43
|
+
return this.handleShutdown(request);
|
|
44
|
+
default:
|
|
45
|
+
return {
|
|
46
|
+
jsonrpc: '2.0',
|
|
47
|
+
id: request.id,
|
|
48
|
+
error: {
|
|
49
|
+
code: MCPErrorCodes.METHOD_NOT_FOUND,
|
|
50
|
+
message: `Method not found: ${request.method}`,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
return {
|
|
57
|
+
jsonrpc: '2.0',
|
|
58
|
+
id: request.id,
|
|
59
|
+
error: {
|
|
60
|
+
code: MCPErrorCodes.INTERNAL_ERROR,
|
|
61
|
+
message: error instanceof Error ? error.message : 'Internal error',
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Handles initialize request
|
|
68
|
+
*/
|
|
69
|
+
handleInitialize(request) {
|
|
70
|
+
this.initialized = true;
|
|
71
|
+
return {
|
|
72
|
+
jsonrpc: '2.0',
|
|
73
|
+
id: request.id,
|
|
74
|
+
result: {
|
|
75
|
+
protocolVersion: MCP_PROTOCOL_VERSION,
|
|
76
|
+
capabilities: {
|
|
77
|
+
tools: {},
|
|
78
|
+
resources: {},
|
|
79
|
+
prompts: {},
|
|
80
|
+
},
|
|
81
|
+
serverInfo: {
|
|
82
|
+
name: this.config.name,
|
|
83
|
+
version: this.config.version,
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Handles tools/list request
|
|
90
|
+
*/
|
|
91
|
+
handleToolsList(request) {
|
|
92
|
+
if (!this.initialized) {
|
|
93
|
+
return {
|
|
94
|
+
jsonrpc: '2.0',
|
|
95
|
+
id: request.id,
|
|
96
|
+
error: {
|
|
97
|
+
code: MCPErrorCodes.INVALID_REQUEST,
|
|
98
|
+
message: 'Server not initialized',
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
jsonrpc: '2.0',
|
|
104
|
+
id: request.id,
|
|
105
|
+
result: {
|
|
106
|
+
tools: this.listableTools,
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Handles tools/call request
|
|
112
|
+
* INV-MCP-006: Rate limits enforced per tool
|
|
113
|
+
* INV-MCP-007: RATE_LIMITED errors include retryAfter
|
|
114
|
+
*/
|
|
115
|
+
async handleToolsCall(request) {
|
|
116
|
+
if (!this.initialized) {
|
|
117
|
+
return {
|
|
118
|
+
jsonrpc: '2.0',
|
|
119
|
+
id: request.id,
|
|
120
|
+
error: {
|
|
121
|
+
code: MCPErrorCodes.INVALID_REQUEST,
|
|
122
|
+
message: 'Server not initialized',
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
const params = request.params;
|
|
127
|
+
if (params?.name === undefined) {
|
|
128
|
+
return {
|
|
129
|
+
jsonrpc: '2.0',
|
|
130
|
+
id: request.id,
|
|
131
|
+
error: {
|
|
132
|
+
code: MCPErrorCodes.INVALID_PARAMS,
|
|
133
|
+
message: 'Tool name is required',
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
const toolName = resolveToolName(params.name, this.toolPrefix);
|
|
138
|
+
const handler = TOOL_HANDLERS[toolName];
|
|
139
|
+
if (handler === undefined) {
|
|
140
|
+
return {
|
|
141
|
+
jsonrpc: '2.0',
|
|
142
|
+
id: request.id,
|
|
143
|
+
error: {
|
|
144
|
+
code: MCPErrorCodes.INVALID_PARAMS,
|
|
145
|
+
message: `Unknown tool: ${params.name}`,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
// Check rate limits before executing tool
|
|
150
|
+
// INV-MCP-006: Rate limits enforced per tool
|
|
151
|
+
const rateLimiter = getRateLimiter();
|
|
152
|
+
const rateLimitResult = rateLimiter.checkAndConsume(toolName);
|
|
153
|
+
if (!rateLimitResult.allowed) {
|
|
154
|
+
// INV-MCP-007: RATE_LIMITED errors include retryAfter
|
|
155
|
+
const error = rateLimiter.createError(toolName, rateLimitResult);
|
|
156
|
+
const errorResult = {
|
|
157
|
+
content: [
|
|
158
|
+
{
|
|
159
|
+
type: 'text',
|
|
160
|
+
text: JSON.stringify({
|
|
161
|
+
error: error.code,
|
|
162
|
+
message: error.message,
|
|
163
|
+
toolName: error.toolName,
|
|
164
|
+
retryAfter: error.retryAfter,
|
|
165
|
+
limit: error.limit,
|
|
166
|
+
windowSeconds: error.windowSeconds,
|
|
167
|
+
}),
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
isError: true,
|
|
171
|
+
};
|
|
172
|
+
return {
|
|
173
|
+
jsonrpc: '2.0',
|
|
174
|
+
id: request.id,
|
|
175
|
+
result: errorResult,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
const result = await handler(params.arguments);
|
|
180
|
+
return {
|
|
181
|
+
jsonrpc: '2.0',
|
|
182
|
+
id: request.id,
|
|
183
|
+
result,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
const errorResult = {
|
|
188
|
+
content: [
|
|
189
|
+
{
|
|
190
|
+
type: 'text',
|
|
191
|
+
text: `Error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
isError: true,
|
|
195
|
+
};
|
|
196
|
+
return {
|
|
197
|
+
jsonrpc: '2.0',
|
|
198
|
+
id: request.id,
|
|
199
|
+
result: errorResult,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Handles resources/list request
|
|
205
|
+
*/
|
|
206
|
+
handleResourcesList(request) {
|
|
207
|
+
if (!this.initialized) {
|
|
208
|
+
return {
|
|
209
|
+
jsonrpc: '2.0',
|
|
210
|
+
id: request.id,
|
|
211
|
+
error: {
|
|
212
|
+
code: MCPErrorCodes.INVALID_REQUEST,
|
|
213
|
+
message: 'Server not initialized',
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
jsonrpc: '2.0',
|
|
219
|
+
id: request.id,
|
|
220
|
+
result: {
|
|
221
|
+
resources: ALL_RESOURCES,
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Handles resources/read request
|
|
227
|
+
*/
|
|
228
|
+
async handleResourcesRead(request) {
|
|
229
|
+
if (!this.initialized) {
|
|
230
|
+
return {
|
|
231
|
+
jsonrpc: '2.0',
|
|
232
|
+
id: request.id,
|
|
233
|
+
error: {
|
|
234
|
+
code: MCPErrorCodes.INVALID_REQUEST,
|
|
235
|
+
message: 'Server not initialized',
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
const params = request.params;
|
|
240
|
+
if (params?.uri === undefined) {
|
|
241
|
+
return {
|
|
242
|
+
jsonrpc: '2.0',
|
|
243
|
+
id: request.id,
|
|
244
|
+
error: {
|
|
245
|
+
code: MCPErrorCodes.INVALID_PARAMS,
|
|
246
|
+
message: 'Resource URI is required',
|
|
247
|
+
},
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
try {
|
|
251
|
+
const content = await readResource(params.uri);
|
|
252
|
+
return {
|
|
253
|
+
jsonrpc: '2.0',
|
|
254
|
+
id: request.id,
|
|
255
|
+
result: {
|
|
256
|
+
contents: [content],
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
return {
|
|
262
|
+
jsonrpc: '2.0',
|
|
263
|
+
id: request.id,
|
|
264
|
+
error: {
|
|
265
|
+
code: MCPErrorCodes.INTERNAL_ERROR,
|
|
266
|
+
message: error instanceof Error ? error.message : 'Failed to read resource',
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Handles prompts/list request
|
|
273
|
+
*/
|
|
274
|
+
handlePromptsList(request) {
|
|
275
|
+
if (!this.initialized) {
|
|
276
|
+
return {
|
|
277
|
+
jsonrpc: '2.0',
|
|
278
|
+
id: request.id,
|
|
279
|
+
error: {
|
|
280
|
+
code: MCPErrorCodes.INVALID_REQUEST,
|
|
281
|
+
message: 'Server not initialized',
|
|
282
|
+
},
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
jsonrpc: '2.0',
|
|
287
|
+
id: request.id,
|
|
288
|
+
result: {
|
|
289
|
+
prompts: ALL_PROMPTS,
|
|
290
|
+
},
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* Handles prompts/get request
|
|
295
|
+
*/
|
|
296
|
+
async handlePromptsGet(request) {
|
|
297
|
+
if (!this.initialized) {
|
|
298
|
+
return {
|
|
299
|
+
jsonrpc: '2.0',
|
|
300
|
+
id: request.id,
|
|
301
|
+
error: {
|
|
302
|
+
code: MCPErrorCodes.INVALID_REQUEST,
|
|
303
|
+
message: 'Server not initialized',
|
|
304
|
+
},
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
const params = request.params;
|
|
308
|
+
if (params?.name === undefined) {
|
|
309
|
+
return {
|
|
310
|
+
jsonrpc: '2.0',
|
|
311
|
+
id: request.id,
|
|
312
|
+
error: {
|
|
313
|
+
code: MCPErrorCodes.INVALID_PARAMS,
|
|
314
|
+
message: 'Prompt name is required',
|
|
315
|
+
},
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
const prompt = getPrompt(params.name);
|
|
319
|
+
if (prompt === undefined) {
|
|
320
|
+
return {
|
|
321
|
+
jsonrpc: '2.0',
|
|
322
|
+
id: request.id,
|
|
323
|
+
error: {
|
|
324
|
+
code: MCPErrorCodes.INVALID_PARAMS,
|
|
325
|
+
message: `Unknown prompt: ${params.name}`,
|
|
326
|
+
},
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
try {
|
|
330
|
+
const result = await executePrompt(params.name, params.arguments ?? {});
|
|
331
|
+
// Check if result is an error
|
|
332
|
+
if ('error' in result) {
|
|
333
|
+
return {
|
|
334
|
+
jsonrpc: '2.0',
|
|
335
|
+
id: request.id,
|
|
336
|
+
error: {
|
|
337
|
+
code: MCPErrorCodes.INVALID_PARAMS,
|
|
338
|
+
message: result.message,
|
|
339
|
+
},
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
return {
|
|
343
|
+
jsonrpc: '2.0',
|
|
344
|
+
id: request.id,
|
|
345
|
+
result,
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
catch (error) {
|
|
349
|
+
return {
|
|
350
|
+
jsonrpc: '2.0',
|
|
351
|
+
id: request.id,
|
|
352
|
+
error: {
|
|
353
|
+
code: MCPErrorCodes.INTERNAL_ERROR,
|
|
354
|
+
message: error instanceof Error ? error.message : 'Failed to execute prompt',
|
|
355
|
+
},
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Handles shutdown request
|
|
361
|
+
*/
|
|
362
|
+
handleShutdown(request) {
|
|
363
|
+
this.initialized = false;
|
|
364
|
+
return {
|
|
365
|
+
jsonrpc: '2.0',
|
|
366
|
+
id: request.id,
|
|
367
|
+
result: null,
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Gets server info
|
|
372
|
+
*/
|
|
373
|
+
getInfo() {
|
|
374
|
+
return { ...this.config };
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Checks if server is initialized
|
|
378
|
+
*/
|
|
379
|
+
isInitialized() {
|
|
380
|
+
return this.initialized;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Creates an MCP server instance
|
|
385
|
+
*/
|
|
386
|
+
export function createMCPServer(config) {
|
|
387
|
+
return new MCPServer({
|
|
388
|
+
name: config?.name ?? MCP_SERVER_NAME,
|
|
389
|
+
version: config?.version ?? DEFAULT_SCHEMA_VERSION, // Server software version
|
|
390
|
+
description: config?.description ?? 'AutomatosX MCP Server',
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides shared access to session store and manager across MCP components.
|
|
5
|
+
* Ensures all components use the same session state.
|
|
6
|
+
*
|
|
7
|
+
* This avoids the bug where multiple modules create their own session store/manager
|
|
8
|
+
* leading to disconnected session state.
|
|
9
|
+
*/
|
|
10
|
+
import { type SessionStore, type SessionManager } from '@defai.digital/session-domain';
|
|
11
|
+
/**
|
|
12
|
+
* Get the shared session store instance
|
|
13
|
+
*/
|
|
14
|
+
export declare function getSharedSessionStore(): SessionStore;
|
|
15
|
+
/**
|
|
16
|
+
* Get the shared session manager instance
|
|
17
|
+
*/
|
|
18
|
+
export declare function getSharedSessionManager(): SessionManager;
|
|
19
|
+
/**
|
|
20
|
+
* Reset shared session instances (for testing)
|
|
21
|
+
*/
|
|
22
|
+
export declare function resetSharedSession(): void;
|
|
23
|
+
//# sourceMappingURL=session-accessor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-accessor.d.ts","sourceRoot":"","sources":["../src/session-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAC;AAMvC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CAKpD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,cAAc,CAKxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides shared access to session store and manager across MCP components.
|
|
5
|
+
* Ensures all components use the same session state.
|
|
6
|
+
*
|
|
7
|
+
* This avoids the bug where multiple modules create their own session store/manager
|
|
8
|
+
* leading to disconnected session state.
|
|
9
|
+
*/
|
|
10
|
+
import { createSessionStore, createSessionManager, DEFAULT_SESSION_DOMAIN_CONFIG, } from '@defai.digital/session-domain';
|
|
11
|
+
// Lazy-initialized singleton instances
|
|
12
|
+
let _store = null;
|
|
13
|
+
let _manager = null;
|
|
14
|
+
/**
|
|
15
|
+
* Get the shared session store instance
|
|
16
|
+
*/
|
|
17
|
+
export function getSharedSessionStore() {
|
|
18
|
+
if (_store === null) {
|
|
19
|
+
_store = createSessionStore();
|
|
20
|
+
}
|
|
21
|
+
return _store;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Get the shared session manager instance
|
|
25
|
+
*/
|
|
26
|
+
export function getSharedSessionManager() {
|
|
27
|
+
if (_manager === null) {
|
|
28
|
+
_manager = createSessionManager(getSharedSessionStore(), DEFAULT_SESSION_DOMAIN_CONFIG);
|
|
29
|
+
}
|
|
30
|
+
return _manager;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Reset shared session instances (for testing)
|
|
34
|
+
*/
|
|
35
|
+
export function resetSharedSession() {
|
|
36
|
+
_store = null;
|
|
37
|
+
_manager = null;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=session-accessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-accessor.js","sourceRoot":"","sources":["../src/session-accessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,GAG9B,MAAM,+BAA+B,CAAC;AAEvC,uCAAuC;AACvC,IAAI,MAAM,GAAwB,IAAI,CAAC;AACvC,IAAI,QAAQ,GAA0B,IAAI,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAChC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,QAAQ,GAAG,oBAAoB,CAAC,qBAAqB,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,IAAI,CAAC;IACd,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Agent Registry
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for agent registry across all MCP components.
|
|
5
|
+
* Provides unified access to agents with auto-loading of example agents.
|
|
6
|
+
*
|
|
7
|
+
* Now includes ability integration (INV-AGT-ABL-001, INV-AGT-ABL-002, INV-AGT-ABL-003)
|
|
8
|
+
*
|
|
9
|
+
* ARCHITECTURE NOTE: This file imports from tools/index.js to get TOOL_HANDLERS.
|
|
10
|
+
* To avoid circular dependencies, accessor functions are in registry-accessor.ts.
|
|
11
|
+
* Tool files should import from registry-accessor.ts, NOT from this file.
|
|
12
|
+
*/
|
|
13
|
+
import { type ProviderRegistry } from './bootstrap.js';
|
|
14
|
+
export { getSharedRegistry, getSharedExecutor, getSharedAbilityRegistry, getSharedAbilityManager, getSharedToolExecutor, isInitialized, registerAgent, getAgent, listAgents, removeAgent, executeAgent, } from './registry-accessor.js';
|
|
15
|
+
/**
|
|
16
|
+
* Get the shared provider registry
|
|
17
|
+
*/
|
|
18
|
+
export declare function getSharedProviderRegistry(): Promise<ProviderRegistry>;
|
|
19
|
+
/**
|
|
20
|
+
* Reset shared registry (for testing)
|
|
21
|
+
*/
|
|
22
|
+
export declare function resetSharedRegistry(): void;
|
|
23
|
+
//# sourceMappingURL=shared-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-registry.d.ts","sourceRoot":"","sources":["../src/shared-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiCH,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAW/E,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,QAAQ,EACR,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,wBAAwB,CAAC;AA4OhC;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAK3E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
|