@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.
Files changed (178) hide show
  1. package/LICENSE +214 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bin.d.ts.map +1 -0
  4. package/dist/bin.js +7 -0
  5. package/dist/bin.js.map +1 -0
  6. package/dist/bootstrap.d.ts +89 -0
  7. package/dist/bootstrap.d.ts.map +1 -0
  8. package/dist/bootstrap.js +161 -0
  9. package/dist/bootstrap.js.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +17 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/middleware/rate-limiter.d.ts +136 -0
  15. package/dist/middleware/rate-limiter.d.ts.map +1 -0
  16. package/dist/middleware/rate-limiter.js +262 -0
  17. package/dist/middleware/rate-limiter.js.map +1 -0
  18. package/dist/prompts/agent-guide.d.ts +16 -0
  19. package/dist/prompts/agent-guide.d.ts.map +1 -0
  20. package/dist/prompts/agent-guide.js +391 -0
  21. package/dist/prompts/agent-guide.js.map +1 -0
  22. package/dist/prompts/explain-workflow.d.ts +15 -0
  23. package/dist/prompts/explain-workflow.d.ts.map +1 -0
  24. package/dist/prompts/explain-workflow.js +157 -0
  25. package/dist/prompts/explain-workflow.js.map +1 -0
  26. package/dist/prompts/index.d.ts +39 -0
  27. package/dist/prompts/index.d.ts.map +1 -0
  28. package/dist/prompts/index.js +83 -0
  29. package/dist/prompts/index.js.map +1 -0
  30. package/dist/prompts/review-changes.d.ts +15 -0
  31. package/dist/prompts/review-changes.d.ts.map +1 -0
  32. package/dist/prompts/review-changes.js +102 -0
  33. package/dist/prompts/review-changes.js.map +1 -0
  34. package/dist/prompts/troubleshoot-session.d.ts +15 -0
  35. package/dist/prompts/troubleshoot-session.d.ts.map +1 -0
  36. package/dist/prompts/troubleshoot-session.js +156 -0
  37. package/dist/prompts/troubleshoot-session.js.map +1 -0
  38. package/dist/registry-accessor.d.ts +83 -0
  39. package/dist/registry-accessor.d.ts.map +1 -0
  40. package/dist/registry-accessor.js +153 -0
  41. package/dist/registry-accessor.js.map +1 -0
  42. package/dist/resources/agents.d.ts +40 -0
  43. package/dist/resources/agents.d.ts.map +1 -0
  44. package/dist/resources/agents.js +123 -0
  45. package/dist/resources/agents.js.map +1 -0
  46. package/dist/resources/config.d.ts +57 -0
  47. package/dist/resources/config.d.ts.map +1 -0
  48. package/dist/resources/config.js +222 -0
  49. package/dist/resources/config.js.map +1 -0
  50. package/dist/resources/index.d.ts +38 -0
  51. package/dist/resources/index.d.ts.map +1 -0
  52. package/dist/resources/index.js +132 -0
  53. package/dist/resources/index.js.map +1 -0
  54. package/dist/resources/policies.d.ts +40 -0
  55. package/dist/resources/policies.d.ts.map +1 -0
  56. package/dist/resources/policies.js +122 -0
  57. package/dist/resources/policies.js.map +1 -0
  58. package/dist/resources/sessions.d.ts +30 -0
  59. package/dist/resources/sessions.d.ts.map +1 -0
  60. package/dist/resources/sessions.js +64 -0
  61. package/dist/resources/sessions.js.map +1 -0
  62. package/dist/resources/workflows.d.ts +40 -0
  63. package/dist/resources/workflows.d.ts.map +1 -0
  64. package/dist/resources/workflows.js +143 -0
  65. package/dist/resources/workflows.js.map +1 -0
  66. package/dist/schema-registry.d.ts +23 -0
  67. package/dist/schema-registry.d.ts.map +1 -0
  68. package/dist/schema-registry.js +225 -0
  69. package/dist/schema-registry.js.map +1 -0
  70. package/dist/server.d.ts +63 -0
  71. package/dist/server.d.ts.map +1 -0
  72. package/dist/server.js +393 -0
  73. package/dist/server.js.map +1 -0
  74. package/dist/session-accessor.d.ts +23 -0
  75. package/dist/session-accessor.d.ts.map +1 -0
  76. package/dist/session-accessor.js +39 -0
  77. package/dist/session-accessor.js.map +1 -0
  78. package/dist/shared-registry.d.ts +23 -0
  79. package/dist/shared-registry.d.ts.map +1 -0
  80. package/dist/shared-registry.js +235 -0
  81. package/dist/shared-registry.js.map +1 -0
  82. package/dist/stdio.d.ts +6 -0
  83. package/dist/stdio.d.ts.map +1 -0
  84. package/dist/stdio.js +152 -0
  85. package/dist/stdio.js.map +1 -0
  86. package/dist/tool-namespacing.d.ts +28 -0
  87. package/dist/tool-namespacing.d.ts.map +1 -0
  88. package/dist/tool-namespacing.js +80 -0
  89. package/dist/tool-namespacing.js.map +1 -0
  90. package/dist/tools/ability.d.ts +55 -0
  91. package/dist/tools/ability.d.ts.map +1 -0
  92. package/dist/tools/ability.js +560 -0
  93. package/dist/tools/ability.js.map +1 -0
  94. package/dist/tools/agent.d.ts +73 -0
  95. package/dist/tools/agent.d.ts.map +1 -0
  96. package/dist/tools/agent.js +895 -0
  97. package/dist/tools/agent.js.map +1 -0
  98. package/dist/tools/config.d.ts +36 -0
  99. package/dist/tools/config.d.ts.map +1 -0
  100. package/dist/tools/config.js +265 -0
  101. package/dist/tools/config.js.map +1 -0
  102. package/dist/tools/design.d.ts +42 -0
  103. package/dist/tools/design.d.ts.map +1 -0
  104. package/dist/tools/design.js +736 -0
  105. package/dist/tools/design.js.map +1 -0
  106. package/dist/tools/discuss.d.ts +40 -0
  107. package/dist/tools/discuss.d.ts.map +1 -0
  108. package/dist/tools/discuss.js +331 -0
  109. package/dist/tools/discuss.js.map +1 -0
  110. package/dist/tools/file-system.d.ts +63 -0
  111. package/dist/tools/file-system.d.ts.map +1 -0
  112. package/dist/tools/file-system.js +513 -0
  113. package/dist/tools/file-system.js.map +1 -0
  114. package/dist/tools/guard.d.ts +29 -0
  115. package/dist/tools/guard.d.ts.map +1 -0
  116. package/dist/tools/guard.js +311 -0
  117. package/dist/tools/guard.js.map +1 -0
  118. package/dist/tools/index.d.ts +35 -0
  119. package/dist/tools/index.d.ts.map +1 -0
  120. package/dist/tools/index.js +178 -0
  121. package/dist/tools/index.js.map +1 -0
  122. package/dist/tools/memory.d.ts +101 -0
  123. package/dist/tools/memory.d.ts.map +1 -0
  124. package/dist/tools/memory.js +704 -0
  125. package/dist/tools/memory.js.map +1 -0
  126. package/dist/tools/orchestration.d.ts +58 -0
  127. package/dist/tools/orchestration.d.ts.map +1 -0
  128. package/dist/tools/orchestration.js +714 -0
  129. package/dist/tools/orchestration.js.map +1 -0
  130. package/dist/tools/review.d.ts +40 -0
  131. package/dist/tools/review.d.ts.map +1 -0
  132. package/dist/tools/review.js +319 -0
  133. package/dist/tools/review.js.map +1 -0
  134. package/dist/tools/scaffold.d.ts +27 -0
  135. package/dist/tools/scaffold.d.ts.map +1 -0
  136. package/dist/tools/scaffold.js +495 -0
  137. package/dist/tools/scaffold.js.map +1 -0
  138. package/dist/tools/session.d.ts +75 -0
  139. package/dist/tools/session.d.ts.map +1 -0
  140. package/dist/tools/session.js +749 -0
  141. package/dist/tools/session.js.map +1 -0
  142. package/dist/tools/telemetry.d.ts +58 -0
  143. package/dist/tools/telemetry.d.ts.map +1 -0
  144. package/dist/tools/telemetry.js +638 -0
  145. package/dist/tools/telemetry.js.map +1 -0
  146. package/dist/tools/trace.d.ts +29 -0
  147. package/dist/tools/trace.d.ts.map +1 -0
  148. package/dist/tools/trace.js +191 -0
  149. package/dist/tools/trace.js.map +1 -0
  150. package/dist/tools/workflow.d.ts +26 -0
  151. package/dist/tools/workflow.d.ts.map +1 -0
  152. package/dist/tools/workflow.js +269 -0
  153. package/dist/tools/workflow.js.map +1 -0
  154. package/dist/trace-wrapper.d.ts +79 -0
  155. package/dist/trace-wrapper.d.ts.map +1 -0
  156. package/dist/trace-wrapper.js +151 -0
  157. package/dist/trace-wrapper.js.map +1 -0
  158. package/dist/types.d.ts +185 -0
  159. package/dist/types.d.ts.map +1 -0
  160. package/dist/types.js +11 -0
  161. package/dist/types.js.map +1 -0
  162. package/dist/utils/artifact-store.d.ts +49 -0
  163. package/dist/utils/artifact-store.d.ts.map +1 -0
  164. package/dist/utils/artifact-store.js +102 -0
  165. package/dist/utils/artifact-store.js.map +1 -0
  166. package/dist/utils/index.d.ts +6 -0
  167. package/dist/utils/index.d.ts.map +1 -0
  168. package/dist/utils/index.js +10 -0
  169. package/dist/utils/index.js.map +1 -0
  170. package/dist/utils/response.d.ts +139 -0
  171. package/dist/utils/response.d.ts.map +1 -0
  172. package/dist/utils/response.js +293 -0
  173. package/dist/utils/response.js.map +1 -0
  174. package/dist/validation.d.ts +223 -0
  175. package/dist/validation.d.ts.map +1 -0
  176. package/dist/validation.js +372 -0
  177. package/dist/validation.js.map +1 -0
  178. 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":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACzG,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D;;;GAGG;AACH,MAAM,OAAO,SAAS;IACH,MAAM,CAAkB;IACjC,WAAW,GAAG,KAAK,CAAC;IACX,UAAU,CAAS;IACnB,aAAa,CAAY;IAE1C,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,aAAa,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAmB;QACrC,IAAI,CAAC;YACH,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAExC,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAEvC,KAAK,YAAY;oBACf,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAE7C,KAAK,gBAAgB;oBACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAE3C,KAAK,gBAAgB;oBACnB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAEjD,KAAK,cAAc;oBACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAEzC,KAAK,aAAa;oBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAE9C,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAEtC;oBACE,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE,aAAa,CAAC,gBAAgB;4BACpC,OAAO,EAAE,qBAAqB,OAAO,CAAC,MAAM,EAAE;yBAC/C;qBACF,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;iBACnE;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAmB;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE;gBACN,eAAe,EAAE,oBAAoB;gBACrC,YAAY,EAAE;oBACZ,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,EAAE;iBACZ;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;oBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;iBAC7B;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAmB;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,eAAe;oBACnC,OAAO,EAAE,wBAAwB;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,CAAC,aAAa;aAC1B;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,eAAe,CAAC,OAAmB;QAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,eAAe;oBACnC,OAAO,EAAE,wBAAwB;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAEV,CAAC;QAEd,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,uBAAuB;iBACjC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,iBAAiB,MAAM,CAAC,IAAI,EAAE;iBACxC;aACF,CAAC;QACJ,CAAC;QAED,0CAA0C;QAC1C,6CAA6C;QAC7C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC7B,sDAAsD;YACtD,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACjE,MAAM,WAAW,GAAkB;gBACjC,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,aAAa,EAAE,KAAK,CAAC,aAAa;yBACnC,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE/C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,GAAkB;gBACjC,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;qBAC3E;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,OAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,eAAe;oBACnC,OAAO,EAAE,wBAAwB;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE;gBACN,SAAS,EAAE,aAAa;aACzB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAmB;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,eAAe;oBACnC,OAAO,EAAE,wBAAwB;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAqC,CAAC;QAE7D,IAAI,MAAM,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,0BAA0B;iBACpC;aACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAE/C,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM,EAAE;oBACN,QAAQ,EAAE,CAAC,OAAO,CAAC;iBACpB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;iBAC5E;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAmB;QAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,eAAe;oBACnC,OAAO,EAAE,wBAAwB;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE;gBACN,OAAO,EAAE,WAAW;aACrB;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAmB;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,eAAe;oBACnC,OAAO,EAAE,wBAAwB;iBAClC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAEV,CAAC;QAEd,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,yBAAyB;iBACnC;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,mBAAmB,MAAM,CAAC,IAAI,EAAE;iBAC1C;aACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAExE,8BAA8B;YAC9B,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,aAAa,CAAC,cAAc;wBAClC,OAAO,EAAE,MAAM,CAAC,OAAO;qBACxB;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa,CAAC,cAAc;oBAClC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;iBAC7E;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,OAAmB;QACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAEzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAiC;IAC/D,OAAO,IAAI,SAAS,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,eAAe;QACrC,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,sBAAsB,EAAE,0BAA0B;QAC9E,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,uBAAuB;KAC5D,CAAC,CAAC;AACL,CAAC"}
@@ -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"}