@defai.digital/mcp-ecosystem 13.4.1 → 13.4.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/dist/server-registry.d.ts.map +1 -1
- package/dist/server-registry.js +60 -31
- package/dist/server-registry.js.map +1 -1
- package/dist/tool-discovery.js +2 -2
- package/dist/tool-discovery.js.map +1 -1
- package/dist/tool-router.d.ts.map +1 -1
- package/dist/tool-router.js +18 -6
- package/dist/tool-router.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-registry.d.ts","sourceRoot":"","sources":["../src/server-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"server-registry.d.ts","sourceRoot":"","sources":["../src/server-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAOlC,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAE1B,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAMnD,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAQ5D,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB;IAQ1D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQ/E,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;CAM3D;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAC;IAE5B;;OAEG;IACH,aAAa,EAAE,gBAAgB,CAAC;IAEhC;;OAEG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEhF;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpF;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAEtD;;OAEG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAErE;;;OAGG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAElD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;OAGG;IACH,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,4BAA4B,GACpC,qBAAqB,CAiQvB"}
|
package/dist/server-registry.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - INV-MCP-ECO-200: Server state consistency
|
|
9
9
|
* - INV-MCP-ECO-201: Disabled servers not connected
|
|
10
10
|
*/
|
|
11
|
-
import { MCPEcosystemErrorCodes, createInitialServerState, LIMIT_DEFAULT, } from '@defai.digital/contracts';
|
|
11
|
+
import { MCPEcosystemErrorCodes, createInitialServerState, LIMIT_DEFAULT, getErrorMessage, } from '@defai.digital/contracts';
|
|
12
12
|
/**
|
|
13
13
|
* Error thrown by server registry operations
|
|
14
14
|
*/
|
|
@@ -41,6 +41,9 @@ export function createServerRegistryService(options) {
|
|
|
41
41
|
const { storage, clientFactory, defaultConnectionTimeoutMs = 10000, } = options;
|
|
42
42
|
// Active clients by server ID
|
|
43
43
|
const clients = new Map();
|
|
44
|
+
// Pending connections to prevent TOCTOU race conditions
|
|
45
|
+
// When a connection is in progress, subsequent calls wait for the same promise
|
|
46
|
+
const pendingConnections = new Map();
|
|
44
47
|
return {
|
|
45
48
|
async register(request) {
|
|
46
49
|
const { connectNow, discoverNow: _discoverNow, ...config } = request;
|
|
@@ -82,7 +85,7 @@ export function createServerRegistryService(options) {
|
|
|
82
85
|
success: true,
|
|
83
86
|
server: updatedState ?? serverState,
|
|
84
87
|
created: true,
|
|
85
|
-
error: error
|
|
88
|
+
error: getErrorMessage(error, 'Connection failed'),
|
|
86
89
|
};
|
|
87
90
|
}
|
|
88
91
|
}
|
|
@@ -96,7 +99,7 @@ export function createServerRegistryService(options) {
|
|
|
96
99
|
return {
|
|
97
100
|
success: false,
|
|
98
101
|
created: false,
|
|
99
|
-
error: error
|
|
102
|
+
error: getErrorMessage(error),
|
|
100
103
|
};
|
|
101
104
|
}
|
|
102
105
|
},
|
|
@@ -155,35 +158,61 @@ export function createServerRegistryService(options) {
|
|
|
155
158
|
if (existing?.isConnected()) {
|
|
156
159
|
return existing;
|
|
157
160
|
}
|
|
158
|
-
//
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
try {
|
|
163
|
-
// Connect with timeout
|
|
164
|
-
const timeout = state.config.connectionTimeoutMs ?? defaultConnectionTimeoutMs;
|
|
165
|
-
await Promise.race([
|
|
166
|
-
client.connect(state.config),
|
|
167
|
-
new Promise((_, reject) => setTimeout(() => reject(new Error('Connection timeout')), timeout)),
|
|
168
|
-
]);
|
|
169
|
-
// Store client and update status
|
|
170
|
-
clients.set(serverId, client);
|
|
171
|
-
await this.updateStatus(serverId, 'connected');
|
|
172
|
-
// Update lastConnectedAt
|
|
173
|
-
const updatedState = await storage.get(serverId);
|
|
174
|
-
if (updatedState) {
|
|
175
|
-
await storage.set(serverId, {
|
|
176
|
-
...updatedState,
|
|
177
|
-
lastConnectedAt: new Date().toISOString(),
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
return client;
|
|
181
|
-
}
|
|
182
|
-
catch (error) {
|
|
183
|
-
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
184
|
-
await this.updateStatus(serverId, 'error', message);
|
|
185
|
-
throw ServerRegistryError.connectionFailed(serverId, message);
|
|
161
|
+
// Check if connection is already in progress (TOCTOU protection)
|
|
162
|
+
const pending = pendingConnections.get(serverId);
|
|
163
|
+
if (pending) {
|
|
164
|
+
return pending;
|
|
186
165
|
}
|
|
166
|
+
// Create connection promise and store it immediately to prevent race conditions
|
|
167
|
+
const connectionPromise = (async () => {
|
|
168
|
+
try {
|
|
169
|
+
// Update status to connecting
|
|
170
|
+
await this.updateStatus(serverId, 'connecting');
|
|
171
|
+
// Create new client
|
|
172
|
+
const client = clientFactory.createClient();
|
|
173
|
+
// Connect with timeout
|
|
174
|
+
const timeout = state.config.connectionTimeoutMs ?? defaultConnectionTimeoutMs;
|
|
175
|
+
let timeoutId;
|
|
176
|
+
try {
|
|
177
|
+
await Promise.race([
|
|
178
|
+
client.connect(state.config),
|
|
179
|
+
new Promise((_, reject) => {
|
|
180
|
+
timeoutId = setTimeout(() => reject(new Error('Connection timeout')), timeout);
|
|
181
|
+
}),
|
|
182
|
+
]);
|
|
183
|
+
}
|
|
184
|
+
finally {
|
|
185
|
+
// Clear timeout to prevent memory leak
|
|
186
|
+
if (timeoutId !== undefined) {
|
|
187
|
+
clearTimeout(timeoutId);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// Store client and update status
|
|
191
|
+
clients.set(serverId, client);
|
|
192
|
+
await this.updateStatus(serverId, 'connected');
|
|
193
|
+
// Update lastConnectedAt
|
|
194
|
+
const updatedState = await storage.get(serverId);
|
|
195
|
+
if (updatedState) {
|
|
196
|
+
await storage.set(serverId, {
|
|
197
|
+
...updatedState,
|
|
198
|
+
lastConnectedAt: new Date().toISOString(),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
return client;
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
const message = getErrorMessage(error);
|
|
205
|
+
await this.updateStatus(serverId, 'error', message);
|
|
206
|
+
throw ServerRegistryError.connectionFailed(serverId, message);
|
|
207
|
+
}
|
|
208
|
+
finally {
|
|
209
|
+
// Always clear pending connection when done (success or failure)
|
|
210
|
+
pendingConnections.delete(serverId);
|
|
211
|
+
}
|
|
212
|
+
})();
|
|
213
|
+
// Store the promise immediately to prevent concurrent connection attempts
|
|
214
|
+
pendingConnections.set(serverId, connectionPromise);
|
|
215
|
+
return connectionPromise;
|
|
187
216
|
},
|
|
188
217
|
async disconnect(serverId) {
|
|
189
218
|
const client = clients.get(serverId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-registry.js","sourceRoot":"","sources":["../src/server-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,
|
|
1
|
+
{"version":3,"file":"server-registry.js","sourceRoot":"","sources":["../src/server-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/tool-discovery.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - INV-MCP-ECO-002: Failed servers don't block others
|
|
9
9
|
* - INV-MCP-ECO-003: Tool namespacing prevents collisions
|
|
10
10
|
*/
|
|
11
|
-
import { createToolFullName, createResourceFullUri } from '@defai.digital/contracts';
|
|
11
|
+
import { createToolFullName, createResourceFullUri, getErrorMessage } from '@defai.digital/contracts';
|
|
12
12
|
/**
|
|
13
13
|
* Creates a tool discovery service
|
|
14
14
|
*/
|
|
@@ -189,7 +189,7 @@ export function createToolDiscoveryService(options) {
|
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
191
|
catch (error) {
|
|
192
|
-
const errorMessage = error
|
|
192
|
+
const errorMessage = getErrorMessage(error);
|
|
193
193
|
// Clear cached tools/resources on error
|
|
194
194
|
await toolRegistry.clearTools(serverId);
|
|
195
195
|
await resourceRegistry.clearResources(serverId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-discovery.js","sourceRoot":"","sources":["../src/tool-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-discovery.js","sourceRoot":"","sources":["../src/tool-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-router.d.ts","sourceRoot":"","sources":["../src/tool-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAMnD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAQtD,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,eAAe;IAQlB,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,eAAe;IAQlB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;CAO7D;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,cAAc,EAAE,qBAAqB,CAAC;IAEtC;;OAEG;IACH,aAAa,EAAE,oBAAoB,CAAC;IAEpC;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3E;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"tool-router.d.ts","sourceRoot":"","sources":["../src/tool-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,IAAI,EAAE,MAAM;aAEZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,MAAM,EAC5B,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAMnD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAQtD,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EAAE,GACzB,eAAe;IAQlB,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,eAAe;IAQlB,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;CAO7D;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,cAAc,EAAE,qBAAqB,CAAC;IAEtC;;OAEG;IACH,aAAa,EAAE,oBAAoB,CAAC;IAEpC;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtE;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3E;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,iBAAiB,CA0InB"}
|
package/dist/tool-router.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - INV-MCP-ECO-300: Tool arguments validated
|
|
9
9
|
* - INV-MCP-ECO-301: Invocation errors propagated
|
|
10
10
|
*/
|
|
11
|
-
import { MCPEcosystemErrorCodes, parseToolFullName } from '@defai.digital/contracts';
|
|
11
|
+
import { MCPEcosystemErrorCodes, parseToolFullName, getErrorMessage } from '@defai.digital/contracts';
|
|
12
12
|
/**
|
|
13
13
|
* Error thrown by tool router
|
|
14
14
|
*/
|
|
@@ -61,10 +61,22 @@ export function createToolRouterService(options) {
|
|
|
61
61
|
}
|
|
62
62
|
// Call the tool with timeout
|
|
63
63
|
const timeout = timeoutMs ?? defaultRequestTimeoutMs;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
let timeoutId;
|
|
65
|
+
let result;
|
|
66
|
+
try {
|
|
67
|
+
result = await Promise.race([
|
|
68
|
+
activeClient.callTool(tool.toolName, args),
|
|
69
|
+
new Promise((_, reject) => {
|
|
70
|
+
timeoutId = setTimeout(() => reject(new Error('Request timeout')), timeout);
|
|
71
|
+
}),
|
|
72
|
+
]);
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
// Clear timeout to prevent memory leak
|
|
76
|
+
if (timeoutId !== undefined) {
|
|
77
|
+
clearTimeout(timeoutId);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
68
80
|
return {
|
|
69
81
|
success: true,
|
|
70
82
|
toolName: tool.fullName,
|
|
@@ -75,7 +87,7 @@ export function createToolRouterService(options) {
|
|
|
75
87
|
};
|
|
76
88
|
}
|
|
77
89
|
catch (error) {
|
|
78
|
-
const errorMessage = error
|
|
90
|
+
const errorMessage = getErrorMessage(error);
|
|
79
91
|
const resolvedServerId = serverId ?? 'unknown';
|
|
80
92
|
// INV-MCP-ECO-301: Propagate error details
|
|
81
93
|
if (error instanceof ToolRouterError) {
|
package/dist/tool-router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-router.js","sourceRoot":"","sources":["../src/tool-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-router.js","sourceRoot":"","sources":["../src/tool-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAItG;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IAEA;IAHlB,YACkB,IAAY,EAC5B,OAAe,EACC,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAQ;QAEZ,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,OAAO,IAAI,eAAe,CACxB,sBAAsB,CAAC,cAAc,EACrC,mBAAmB,QAAQ,EAAE,EAC7B,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,QAAgB,EAChB,OAA0B;QAE1B,OAAO,IAAI,eAAe,CACxB,sBAAsB,CAAC,cAAc,EACrC,wBAAwB,QAAQ,eAAe,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sDAAsD,EAC9I,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CACrB,QAAgB,EAChB,QAAgB,EAChB,OAAe;QAEf,OAAO,IAAI,eAAe,CACxB,sBAAsB,CAAC,iBAAiB,EACxC,iBAAiB,QAAQ,OAAO,QAAQ,YAAY,OAAO,EAAE,EAC7D,EAAE,QAAQ,EAAE,QAAQ,EAAE,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,QAAgB;QACxC,OAAO,IAAI,eAAe,CACxB,sBAAsB,CAAC,iBAAiB,EACxC,UAAU,QAAQ,mBAAmB,EACrC,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;CACF;AA6CD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAiC;IAEjC,MAAM,EACJ,cAAc,EACd,aAAa,EACb,uBAAuB,GAAG,KAAK,GAChC,GAAG,OAAO,CAAC;IAEZ,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,OAAO;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAEnE,IAAI,CAAC;gBACH,mBAAmB;gBACnB,sDAAsD;gBACtD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAExD,4BAA4B;gBAC5B,sEAAsE;gBACtE,IAAI,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,sDAAsD;oBACtD,IAAI,CAAC;wBACH,YAAY,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC7D,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,MAAM,OAAO,GAAG,SAAS,IAAI,uBAAuB,CAAC;gBACrD,IAAI,SAAoD,CAAC;gBACzD,IAAI,MAAyD,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;wBAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;wBAC1C,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;4BAC/B,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBAC9E,CAAC,CAAC;qBACH,CAAC,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACT,uCAAuC;oBACvC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC5B,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK;oBAChC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,gBAAgB,GAAG,QAAQ,IAAI,SAAS,CAAC;gBAE/C,2CAA2C;gBAC3C,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;oBACrC,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,QAAQ;wBACR,QAAQ,EAAE,gBAAgB;wBAC1B,OAAO,EAAE,EAAE;wBACX,OAAO,EAAE,IAAI;wBACb,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;qBACnC,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ;oBACR,QAAQ,EAAE,gBAAgB;oBAC1B,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ;YAClC,gDAAgD;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,eAAe,CAAC,YAAY,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,2CAA2C;YAC3C,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,MAAM,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,0BAA0B;YAC1B,uCAAuC;YACvC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,eAAe,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ;YACtC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAExD,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,0BAA0B;oBAC1B,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACtD,OAAO,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;gBACxC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defai.digital/mcp-ecosystem",
|
|
3
|
-
"version": "13.4.
|
|
3
|
+
"version": "13.4.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "DEFAI Private Limited",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"access": "public"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@defai.digital/contracts": "13.4.
|
|
32
|
+
"@defai.digital/contracts": "13.4.3"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsc --build",
|