easy-mcp-nest 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +104 -29
- package/dist/config/config-validator.js +36 -14
- package/dist/config/config-validator.js.map +1 -1
- package/dist/config/mcp-config.interface.d.ts +9 -4
- package/dist/core/mcp-server/mcp-server.service.js +2 -1
- package/dist/core/mcp-server/mcp-server.service.js.map +1 -1
- package/dist/core/observability/tracing.service.js +1 -1
- package/dist/core/observability/tracing.service.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/resource-registry.service.d.ts +3 -2
- package/dist/resources/resource-registry.service.js +7 -3
- package/dist/resources/resource-registry.service.js.map +1 -1
- package/dist/resources/resource.interface.d.ts +2 -1
- package/dist/standalone/core-services.d.ts +5 -0
- package/dist/standalone/core-services.js +18 -2
- package/dist/standalone/core-services.js.map +1 -1
- package/dist/tooling/tool-registry/tool-registry.service.js +14 -4
- package/dist/tooling/tool-registry/tool-registry.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/validation/index.d.ts +1 -1
- package/dist/validation/index.js +2 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/zod-integration.d.ts +1 -0
- package/dist/validation/zod-integration.js +14 -0
- package/dist/validation/zod-integration.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,6 +20,11 @@ export declare class StandaloneResourceRegistry {
|
|
|
20
20
|
registerResource(resource: ResourceRegistrationInput): void;
|
|
21
21
|
getResource(uri: string): ResourceRegistrationInput | undefined;
|
|
22
22
|
getAllResources(): ResourceRegistrationInput[];
|
|
23
|
+
getResourceContent(uri: string, context?: McpContext): Promise<string | {
|
|
24
|
+
type: string;
|
|
25
|
+
data: string;
|
|
26
|
+
mimeType?: string;
|
|
27
|
+
}>;
|
|
23
28
|
}
|
|
24
29
|
export declare class StandalonePromptRegistry {
|
|
25
30
|
private readonly registry;
|
|
@@ -4,21 +4,30 @@ exports.StandalonePromptRegistry = exports.StandaloneResourceRegistry = exports.
|
|
|
4
4
|
const easy_mcp_error_1 = require("../core/errors/easy-mcp-error");
|
|
5
5
|
const schema_validator_1 = require("../core/utils/schema-validator");
|
|
6
6
|
const logger_util_1 = require("../core/utils/logger.util");
|
|
7
|
+
const zod_integration_1 = require("../validation/zod-integration");
|
|
7
8
|
class StandaloneToolRegistry {
|
|
8
9
|
registry = new Map();
|
|
9
10
|
registerTool(toolInput) {
|
|
10
11
|
if (this.registry.has(toolInput.name)) {
|
|
11
12
|
throw new Error(`Tool name '${toolInput.name}' already registered.`);
|
|
12
13
|
}
|
|
13
|
-
|
|
14
|
+
let normalizedSchema;
|
|
15
|
+
try {
|
|
16
|
+
normalizedSchema = (0, zod_integration_1.normalizeInputSchema)(toolInput.inputSchema);
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
throw new Error(`Tool '${toolInput.name}': invalid inputSchema: ${err instanceof Error ? err.message : String(err)}`);
|
|
20
|
+
}
|
|
21
|
+
if (normalizedSchema.type !== "object") {
|
|
14
22
|
throw new Error(`Tool '${toolInput.name}': inputSchema.type must be "object" for tool definitions`);
|
|
15
23
|
}
|
|
16
24
|
const toolDefinition = {
|
|
17
25
|
name: toolInput.name,
|
|
18
26
|
description: toolInput.description,
|
|
19
27
|
execute: toolInput.function,
|
|
20
|
-
inputSchema:
|
|
28
|
+
inputSchema: normalizedSchema,
|
|
21
29
|
icon: toolInput.icon,
|
|
30
|
+
requiredScopes: toolInput.requiredScopes,
|
|
22
31
|
};
|
|
23
32
|
this.registry.set(toolInput.name, toolDefinition);
|
|
24
33
|
logger_util_1.logger.info("StandaloneToolRegistry", `Tool registered: ${toolInput.name}`, {
|
|
@@ -73,6 +82,13 @@ class StandaloneResourceRegistry {
|
|
|
73
82
|
getAllResources() {
|
|
74
83
|
return Array.from(this.registry.values());
|
|
75
84
|
}
|
|
85
|
+
async getResourceContent(uri, context) {
|
|
86
|
+
const resource = this.registry.get(uri);
|
|
87
|
+
if (!resource) {
|
|
88
|
+
throw new Error("Resource not found");
|
|
89
|
+
}
|
|
90
|
+
return await resource.getContent(context);
|
|
91
|
+
}
|
|
76
92
|
}
|
|
77
93
|
exports.StandaloneResourceRegistry = StandaloneResourceRegistry;
|
|
78
94
|
class StandalonePromptRegistry {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-services.js","sourceRoot":"","sources":["../../src/standalone/core-services.ts"],"names":[],"mappings":";;;AAEA,kEAAsF;AAEtF,qEAAuE;AACvE,2DAAmD;
|
|
1
|
+
{"version":3,"file":"core-services.js","sourceRoot":"","sources":["../../src/standalone/core-services.ts"],"names":[],"mappings":";;;AAEA,kEAAsF;AAEtF,qEAAuE;AACvE,2DAAmD;AACnD,mEAAqE;AAKrE,MAAa,sBAAsB;IAChB,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAM9D,YAAY,CAAC,SAAgC;QAC3C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,CAAC,IAAI,uBAAuB,CAAC,CAAC;QACvE,CAAC;QAGD,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC;YACH,gBAAgB,GAAG,IAAA,sCAAoB,EAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,CAAC,IAAI,2BAA2B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;QAGD,IAAI,gBAAgB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,SAAS,SAAS,CAAC,IAAI,2DAA2D,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,cAAc,GAAmB;YACrC,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,OAAO,EAAE,SAAS,CAAC,QAAQ;YAC3B,WAAW,EAAE,gBAKZ;YACD,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,cAAc,EAAE,SAAS,CAAC,cAAc;SACzC,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAClD,oBAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,oBAAoB,SAAS,CAAC,IAAI,EAAE,EAAE;YAC1E,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,SAAS,CAAC,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;IAKD,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAKD,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,IAAyB,EACzB,iBAAqC,EACrC,OAAoB;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,kCAAiB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QAGD,MAAM,eAAe,GAAG,IAAA,wCAAqB,EAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,mCAAkB,CAC1B,SAAS,IAAI,wBAAwB,eAAe,EAAE,EACtD,IAAI,CACL,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,mCAAkB,CAC1B,SAAS,IAAI,uBAAuB,YAAY,EAAE,EAClD,IAAI,EACJ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,oBAAoB;QAQlB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,WAAW;aAC7B;SACF,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AA7GD,wDA6GC;AAKD,MAAa,0BAA0B;IACpB,QAAQ,GAAG,IAAI,GAAG,EAAqC,CAAC;IAKzE,gBAAgB,CAAC,QAAmC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,GAAG,uBAAuB,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAKD,WAAW,CAAC,GAAW;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAKD,eAAe;QACb,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAQD,KAAK,CAAC,kBAAkB,CACtB,GAAW,EACX,OAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEd,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AA5CD,gEA4CC;AAKD,MAAa,wBAAwB;IAClB,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAKvE,cAAc,CAAC,MAA+B;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,IAAI,uBAAuB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAKD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAKD,aAAa;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;CACF;AA1BD,4DA0BC"}
|
|
@@ -19,6 +19,7 @@ const logger_util_1 = require("../../core/utils/logger.util");
|
|
|
19
19
|
const sanitize_util_1 = require("../../core/utils/sanitize.util");
|
|
20
20
|
const decorator_scanner_1 = require("../../core/utils/decorator-scanner");
|
|
21
21
|
const metrics_service_1 = require("../../core/observability/metrics.service");
|
|
22
|
+
const zod_integration_1 = require("../../validation/zod-integration");
|
|
22
23
|
let ToolRegistryService = class ToolRegistryService {
|
|
23
24
|
metricsService;
|
|
24
25
|
registry = new Map();
|
|
@@ -76,7 +77,14 @@ let ToolRegistryService = class ToolRegistryService {
|
|
|
76
77
|
});
|
|
77
78
|
}
|
|
78
79
|
registerToolFromConfig(toolInput) {
|
|
79
|
-
|
|
80
|
+
let normalizedSchema;
|
|
81
|
+
try {
|
|
82
|
+
normalizedSchema = (0, zod_integration_1.normalizeInputSchema)(toolInput.inputSchema);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
throw new Error(`Tool '${toolInput.name}': invalid inputSchema: ${err instanceof Error ? err.message : String(err)}`);
|
|
86
|
+
}
|
|
87
|
+
if (normalizedSchema.type !== "object") {
|
|
80
88
|
throw new Error(`Tool '${toolInput.name}': inputSchema.type must be "object" for tool definitions`);
|
|
81
89
|
}
|
|
82
90
|
const toolDefinition = {
|
|
@@ -85,11 +93,12 @@ let ToolRegistryService = class ToolRegistryService {
|
|
|
85
93
|
execute: toolInput.function,
|
|
86
94
|
inputSchema: {
|
|
87
95
|
type: "object",
|
|
88
|
-
properties:
|
|
89
|
-
required:
|
|
90
|
-
...Object.fromEntries(Object.entries(
|
|
96
|
+
properties: normalizedSchema.properties || {},
|
|
97
|
+
required: normalizedSchema.required || [],
|
|
98
|
+
...Object.fromEntries(Object.entries(normalizedSchema).filter(([key]) => !["type", "properties", "required"].includes(key) && (0, sanitize_util_1.isSafeObjectKey)(key))),
|
|
91
99
|
},
|
|
92
100
|
icon: toolInput.icon,
|
|
101
|
+
requiredScopes: toolInput.requiredScopes,
|
|
93
102
|
};
|
|
94
103
|
this.registerTool(toolDefinition);
|
|
95
104
|
}
|
|
@@ -179,6 +188,7 @@ let ToolRegistryService = class ToolRegistryService {
|
|
|
179
188
|
function: tool.execute,
|
|
180
189
|
inputSchema: convertedSchema,
|
|
181
190
|
icon: tool.icon,
|
|
191
|
+
requiredScopes: tool.requiredScopes,
|
|
182
192
|
};
|
|
183
193
|
});
|
|
184
194
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.service.js","sourceRoot":"","sources":["../../../src/tooling/tool-registry/tool-registry.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAG9D,qEAAyF;AACzF,8DAAsD;AACtD,kEAAiE;AACjE,0EAAyE;AAGzE,8EAA0E;
|
|
1
|
+
{"version":3,"file":"tool-registry.service.js","sourceRoot":"","sources":["../../../src/tooling/tool-registry/tool-registry.service.ts"],"names":[],"mappings":"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"}
|