@eggjs/controller-decorator 3.53.0 → 3.55.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.
Files changed (33) hide show
  1. package/dist/index.d.ts +7 -0
  2. package/dist/index.js +8 -1
  3. package/dist/src/decorator/mcp/Extra.d.ts +1 -0
  4. package/dist/src/decorator/mcp/Extra.js +12 -0
  5. package/dist/src/decorator/mcp/MCPController.d.ts +2 -0
  6. package/dist/src/decorator/mcp/MCPController.js +38 -0
  7. package/dist/src/decorator/mcp/MCPPrompt.d.ts +4 -0
  8. package/dist/src/decorator/mcp/MCPPrompt.js +34 -0
  9. package/dist/src/decorator/mcp/MCPResource.d.ts +2 -0
  10. package/dist/src/decorator/mcp/MCPResource.js +23 -0
  11. package/dist/src/decorator/mcp/MCPTool.d.ts +4 -0
  12. package/dist/src/decorator/mcp/MCPTool.js +34 -0
  13. package/dist/src/impl/mcp/MCPControllerMetaBuilder.d.ts +11 -0
  14. package/dist/src/impl/mcp/MCPControllerMetaBuilder.js +82 -0
  15. package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.d.ts +8 -0
  16. package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.js +40 -0
  17. package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.d.ts +8 -0
  18. package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.js +38 -0
  19. package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.d.ts +8 -0
  20. package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.js +40 -0
  21. package/dist/src/model/MCPControllerMeta.d.ts +25 -0
  22. package/dist/src/model/MCPControllerMeta.js +41 -0
  23. package/dist/src/model/MCPPromptMeta.d.ts +22 -0
  24. package/dist/src/model/MCPPromptMeta.js +17 -0
  25. package/dist/src/model/MCPResourceMeta.d.ts +25 -0
  26. package/dist/src/model/MCPResourceMeta.js +21 -0
  27. package/dist/src/model/MCPToolMeta.d.ts +22 -0
  28. package/dist/src/model/MCPToolMeta.js +17 -0
  29. package/dist/src/model/index.d.ts +4 -0
  30. package/dist/src/model/index.js +5 -1
  31. package/dist/src/util/MCPInfoUtil.d.ts +46 -0
  32. package/dist/src/util/MCPInfoUtil.js +102 -0
  33. package/package.json +8 -7
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import './src/impl/http/HTTPControllerMetaBuilder';
2
+ import './src/impl/mcp/MCPControllerMetaBuilder';
2
3
  export * from '@eggjs/tegg-types/controller-decorator';
3
4
  export * from './src/model';
4
5
  export * from './src/decorator/Context';
@@ -8,7 +9,13 @@ export * from './src/decorator/http/HTTPController';
8
9
  export * from './src/decorator/http/HTTPMethod';
9
10
  export * from './src/decorator/http/HTTPParam';
10
11
  export * from './src/decorator/http/Host';
12
+ export * from './src/decorator/mcp/MCPController';
13
+ export * from './src/decorator/mcp/MCPPrompt';
14
+ export * from './src/decorator/mcp/MCPResource';
15
+ export * from './src/decorator/mcp/MCPTool';
16
+ export * from './src/decorator/mcp/Extra';
11
17
  export * from './src/builder/ControllerMetaBuilderFactory';
12
18
  export * from './src/util/ControllerMetadataUtil';
19
+ export * from './src/util/MCPInfoUtil';
13
20
  export * from './src/util/HTTPPriorityUtil';
14
21
  export { default as ControllerInfoUtil } from './src/util/ControllerInfoUtil';
package/dist/index.js CHANGED
@@ -19,6 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
20
  exports.ControllerInfoUtil = void 0;
21
21
  require("./src/impl/http/HTTPControllerMetaBuilder");
22
+ require("./src/impl/mcp/MCPControllerMetaBuilder");
22
23
  __exportStar(require("@eggjs/tegg-types/controller-decorator"), exports);
23
24
  __exportStar(require("./src/model"), exports);
24
25
  __exportStar(require("./src/decorator/Context"), exports);
@@ -28,9 +29,15 @@ __exportStar(require("./src/decorator/http/HTTPController"), exports);
28
29
  __exportStar(require("./src/decorator/http/HTTPMethod"), exports);
29
30
  __exportStar(require("./src/decorator/http/HTTPParam"), exports);
30
31
  __exportStar(require("./src/decorator/http/Host"), exports);
32
+ __exportStar(require("./src/decorator/mcp/MCPController"), exports);
33
+ __exportStar(require("./src/decorator/mcp/MCPPrompt"), exports);
34
+ __exportStar(require("./src/decorator/mcp/MCPResource"), exports);
35
+ __exportStar(require("./src/decorator/mcp/MCPTool"), exports);
36
+ __exportStar(require("./src/decorator/mcp/Extra"), exports);
31
37
  __exportStar(require("./src/builder/ControllerMetaBuilderFactory"), exports);
32
38
  __exportStar(require("./src/util/ControllerMetadataUtil"), exports);
39
+ __exportStar(require("./src/util/MCPInfoUtil"), exports);
33
40
  __exportStar(require("./src/util/HTTPPriorityUtil"), exports);
34
41
  var ControllerInfoUtil_1 = require("./src/util/ControllerInfoUtil");
35
42
  Object.defineProperty(exports, "ControllerInfoUtil", { enumerable: true, get: function () { return __importDefault(ControllerInfoUtil_1).default; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFtRDtBQUVuRCx5RUFBdUQ7QUFDdkQsOENBQTRCO0FBQzVCLDBEQUF3QztBQUN4Qyw2REFBMkM7QUFDM0Msc0RBQW9DO0FBQ3BDLHNFQUFvRDtBQUNwRCxrRUFBZ0Q7QUFDaEQsaUVBQStDO0FBQy9DLDREQUEwQztBQUMxQyw2RUFBMkQ7QUFDM0Qsb0VBQWtEO0FBQ2xELDhEQUE0QztBQUU1QyxvRUFBOEU7QUFBckUseUlBQUEsT0FBTyxPQUFzQiJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFtRDtBQUNuRCxtREFBaUQ7QUFFakQseUVBQXVEO0FBQ3ZELDhDQUE0QjtBQUM1QiwwREFBd0M7QUFDeEMsNkRBQTJDO0FBQzNDLHNEQUFvQztBQUNwQyxzRUFBb0Q7QUFDcEQsa0VBQWdEO0FBQ2hELGlFQUErQztBQUMvQyw0REFBMEM7QUFDMUMsb0VBQWtEO0FBQ2xELGdFQUE4QztBQUM5QyxrRUFBZ0Q7QUFDaEQsOERBQTRDO0FBQzVDLDREQUEwQztBQUMxQyw2RUFBMkQ7QUFDM0Qsb0VBQWtEO0FBQ2xELHlEQUF1QztBQUN2Qyw4REFBNEM7QUFFNUMsb0VBQThFO0FBQXJFLHlJQUFBLE9BQU8sT0FBc0IifQ==
@@ -0,0 +1 @@
1
+ export declare function Extra(): (target: any, propertyKey: PropertyKey, parameterIndex: number) => void;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Extra = Extra;
4
+ const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
5
+ function Extra() {
6
+ return function (target, propertyKey, parameterIndex) {
7
+ const controllerClazz = target.constructor;
8
+ const methodName = propertyKey;
9
+ MCPInfoUtil_1.MCPInfoUtil.setMCPExtra(parameterIndex, controllerClazz, methodName);
10
+ };
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0cmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9yL21jcC9FeHRyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLHNCQVVDO0FBWkQsK0RBQTREO0FBRTVELFNBQWdCLEtBQUs7SUFDbkIsT0FBTyxVQUNMLE1BQVcsRUFDWCxXQUF3QixFQUN4QixjQUFzQjtRQUV0QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO1FBQ3pDLHlCQUFXLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import { MCPControllerParams, EggProtoImplClass } from '@eggjs/tegg-types';
2
+ export declare function MCPController(param?: MCPControllerParams): (constructor: EggProtoImplClass) => void;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPController = MCPController;
7
+ const tegg_types_1 = require("@eggjs/tegg-types");
8
+ const core_decorator_1 = require("@eggjs/core-decorator");
9
+ const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
10
+ const tegg_common_util_1 = require("@eggjs/tegg-common-util");
11
+ const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
12
+ function MCPController(param) {
13
+ return function (constructor) {
14
+ const func = (0, core_decorator_1.SingletonProto)({
15
+ accessLevel: tegg_types_1.AccessLevel.PUBLIC,
16
+ name: param === null || param === void 0 ? void 0 : param.protoName,
17
+ });
18
+ func(constructor);
19
+ ControllerInfoUtil_1.default.setControllerType(constructor, tegg_types_1.ControllerType.MCP);
20
+ if (param === null || param === void 0 ? void 0 : param.controllerName) {
21
+ ControllerInfoUtil_1.default.setControllerName(constructor, param === null || param === void 0 ? void 0 : param.controllerName);
22
+ }
23
+ // './tegg/core/common-util/src/StackUtil.ts',
24
+ // './tegg/core/core-decorator/src/decorator/Prototype.ts',
25
+ // './tegg/core/controller-decorator/src/decorator/tr/TRController.ts',
26
+ // './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
27
+ // './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
28
+ // './tegg/core/controller-decorator/test/fixtures/TRFooController.ts',
29
+ core_decorator_1.PrototypeUtil.setFilePath(constructor, tegg_common_util_1.StackUtil.getCalleeFromStack(false, 5));
30
+ if (param === null || param === void 0 ? void 0 : param.name) {
31
+ MCPInfoUtil_1.MCPInfoUtil.setMCPName(param.name, constructor);
32
+ }
33
+ if (param === null || param === void 0 ? void 0 : param.version) {
34
+ MCPInfoUtil_1.MCPInfoUtil.setMCPVersion(param.version, constructor);
35
+ }
36
+ };
37
+ }
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvbWNwL01DUENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxzQ0EwQkM7QUFoQ0Qsa0RBQXdHO0FBQ3hHLDBEQUFzRTtBQUN0RSx1RkFBK0Q7QUFDL0QsOERBQW9EO0FBQ3BELCtEQUE0RDtBQUU1RCxTQUFnQixhQUFhLENBQUMsS0FBMkI7SUFDdkQsT0FBTyxVQUFTLFdBQThCO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUEsK0JBQWMsRUFBQztZQUMxQixXQUFXLEVBQUUsd0JBQVcsQ0FBQyxNQUFNO1lBQy9CLElBQUksRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUztTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEIsNEJBQWtCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLDJCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEUsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxFQUFFLENBQUM7WUFDMUIsNEJBQWtCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxjQUFjLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsOENBQThDO1FBQzlDLDJEQUEyRDtRQUMzRCx1RUFBdUU7UUFDdkUsa0dBQWtHO1FBQ2xHLGtHQUFrRztRQUNsRyx1RUFBdUU7UUFDdkUsOEJBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLDRCQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0UsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIseUJBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkIseUJBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import { MCPPromptParams } from '@eggjs/tegg-types';
2
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ export declare function MCPPrompt(params?: MCPPromptParams): (target: any, propertyKey: PropertyKey) => void;
4
+ export declare function PromptArgsSchema(argsSchema: Parameters<McpServer['prompt']>['2']): (target: any, propertyKey: PropertyKey, parameterIndex: number) => void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPPrompt = MCPPrompt;
7
+ exports.PromptArgsSchema = PromptArgsSchema;
8
+ const tegg_types_1 = require("@eggjs/tegg-types");
9
+ const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
10
+ const MethodInfoUtil_1 = __importDefault(require("../../../src/util/MethodInfoUtil"));
11
+ function MCPPrompt(params) {
12
+ return function (target, propertyKey) {
13
+ const controllerClazz = target.constructor;
14
+ const methodName = propertyKey;
15
+ MethodInfoUtil_1.default.setMethodControllerType(controllerClazz, methodName, tegg_types_1.ControllerType.MCP);
16
+ MCPInfoUtil_1.MCPInfoUtil.setMCPPromptParams({
17
+ ...params,
18
+ mcpName: params === null || params === void 0 ? void 0 : params.name,
19
+ name: methodName,
20
+ }, controllerClazz, methodName);
21
+ MCPInfoUtil_1.MCPInfoUtil.setMCPPrompt(controllerClazz, methodName);
22
+ };
23
+ }
24
+ function PromptArgsSchema(argsSchema) {
25
+ return function (target, propertyKey, parameterIndex) {
26
+ const controllerClazz = target.constructor;
27
+ const methodName = propertyKey;
28
+ MCPInfoUtil_1.MCPInfoUtil.setMCPPromptArgsInArgs({
29
+ argsSchema,
30
+ index: parameterIndex,
31
+ }, controllerClazz, methodName);
32
+ };
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQUHJvbXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY29yYXRvci9tY3AvTUNQUHJvbXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsOEJBdUJDO0FBRUQsNENBaUJDO0FBbkRELGtEQUkyQjtBQUUzQiwrREFBNEQ7QUFDNUQsc0ZBQThEO0FBRTlELFNBQWdCLFNBQVMsQ0FBQyxNQUF3QjtJQUNoRCxPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQXdCO1FBRXhCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsd0JBQWMsQ0FBQyx1QkFBdUIsQ0FDcEMsZUFBZSxFQUNmLFVBQVUsRUFDViwyQkFBYyxDQUFDLEdBQUcsQ0FDbkIsQ0FBQztRQUNGLHlCQUFXLENBQUMsa0JBQWtCLENBQzVCO1lBQ0UsR0FBRyxNQUFNO1lBQ1QsT0FBTyxFQUFFLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxJQUFJO1lBQ3JCLElBQUksRUFBRSxVQUFVO1NBQ2pCLEVBQ0QsZUFBZSxFQUNmLFVBQVUsQ0FDWCxDQUFDO1FBQ0YseUJBQVcsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxVQUFnRDtJQUMvRSxPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLGNBQXNCO1FBRXRCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMseUJBQVcsQ0FBQyxzQkFBc0IsQ0FDaEM7WUFDRSxVQUFVO1lBQ1YsS0FBSyxFQUFFLGNBQWM7U0FDdEIsRUFDRCxlQUFlLEVBQ2YsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ import { MCPResourceParams } from '@eggjs/tegg-types';
2
+ export declare function MCPResource(params: MCPResourceParams): (target: any, propertyKey: PropertyKey) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPResource = MCPResource;
7
+ const tegg_types_1 = require("@eggjs/tegg-types");
8
+ const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
9
+ const MethodInfoUtil_1 = __importDefault(require("../../../src/util/MethodInfoUtil"));
10
+ function MCPResource(params) {
11
+ return function (target, propertyKey) {
12
+ const controllerClazz = target.constructor;
13
+ const methodName = propertyKey;
14
+ MethodInfoUtil_1.default.setMethodControllerType(controllerClazz, methodName, tegg_types_1.ControllerType.MCP);
15
+ MCPInfoUtil_1.MCPInfoUtil.setMCPResourceParams({
16
+ ...params,
17
+ mcpName: params.name,
18
+ name: methodName,
19
+ }, controllerClazz, methodName);
20
+ MCPInfoUtil_1.MCPInfoUtil.setMCPResource(controllerClazz, methodName);
21
+ };
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9yL21jcC9NQ1BSZXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVFBLGtDQXVCQztBQS9CRCxrREFJMkI7QUFDM0IsK0RBQTREO0FBQzVELHNGQUE4RDtBQUU5RCxTQUFnQixXQUFXLENBQUMsTUFBeUI7SUFDbkQsT0FBTyxVQUNMLE1BQVcsRUFDWCxXQUF3QjtRQUV4QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO1FBQ3pDLHdCQUFjLENBQUMsdUJBQXVCLENBQ3BDLGVBQWUsRUFDZixVQUFVLEVBQ1YsMkJBQWMsQ0FBQyxHQUFHLENBQ25CLENBQUM7UUFDRix5QkFBVyxDQUFDLG9CQUFvQixDQUM5QjtZQUNFLEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNwQixJQUFJLEVBQUUsVUFBVTtTQUNqQixFQUNELGVBQWUsRUFDZixVQUFVLENBQ1gsQ0FBQztRQUNGLHlCQUFXLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,4 @@
1
+ import { MCPToolParams } from '@eggjs/tegg-types';
2
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ export declare function MCPTool(params?: MCPToolParams): (target: any, propertyKey: PropertyKey) => void;
4
+ export declare function ToolArgsSchema(argsSchema: Parameters<McpServer['tool']>['2']): (target: any, propertyKey: PropertyKey, parameterIndex: number) => void;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPTool = MCPTool;
7
+ exports.ToolArgsSchema = ToolArgsSchema;
8
+ const tegg_types_1 = require("@eggjs/tegg-types");
9
+ const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
10
+ const MethodInfoUtil_1 = __importDefault(require("../../../src/util/MethodInfoUtil"));
11
+ function MCPTool(params) {
12
+ return function (target, propertyKey) {
13
+ const controllerClazz = target.constructor;
14
+ const methodName = propertyKey;
15
+ MethodInfoUtil_1.default.setMethodControllerType(controllerClazz, methodName, tegg_types_1.ControllerType.MCP);
16
+ MCPInfoUtil_1.MCPInfoUtil.setMCPToolParams({
17
+ ...params,
18
+ mcpName: params === null || params === void 0 ? void 0 : params.name,
19
+ name: methodName,
20
+ }, controllerClazz, methodName);
21
+ MCPInfoUtil_1.MCPInfoUtil.setMCPTool(controllerClazz, methodName);
22
+ };
23
+ }
24
+ function ToolArgsSchema(argsSchema) {
25
+ return function (target, propertyKey, parameterIndex) {
26
+ const controllerClazz = target.constructor;
27
+ const methodName = propertyKey;
28
+ MCPInfoUtil_1.MCPInfoUtil.setMCPToolArgsInArgs({
29
+ argsSchema,
30
+ index: parameterIndex,
31
+ }, controllerClazz, methodName);
32
+ };
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQVG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvbWNwL01DUFRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwwQkF1QkM7QUFFRCx3Q0FpQkM7QUFuREQsa0RBSTJCO0FBRTNCLCtEQUE0RDtBQUM1RCxzRkFBOEQ7QUFFOUQsU0FBZ0IsT0FBTyxDQUFDLE1BQXNCO0lBQzVDLE9BQU8sVUFDTCxNQUFXLEVBQ1gsV0FBd0I7UUFFeEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6Qyx3QkFBYyxDQUFDLHVCQUF1QixDQUNwQyxlQUFlLEVBQ2YsVUFBVSxFQUNWLDJCQUFjLENBQUMsR0FBRyxDQUNuQixDQUFDO1FBQ0YseUJBQVcsQ0FBQyxnQkFBZ0IsQ0FDMUI7WUFDRSxHQUFHLE1BQU07WUFDVCxPQUFPLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLFVBQVU7U0FDakIsRUFDRCxlQUFlLEVBQ2YsVUFBVSxDQUNYLENBQUM7UUFDRix5QkFBVyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxVQUE4QztJQUMzRSxPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLGNBQXNCO1FBRXRCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMseUJBQVcsQ0FBQyxvQkFBb0IsQ0FDOUI7WUFDRSxVQUFVO1lBQ1YsS0FBSyxFQUFFLGNBQWM7U0FDdEIsRUFDRCxlQUFlLEVBQ2YsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,11 @@
1
+ import { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ import { MCPControllerMeta } from '../../../src/model/MCPControllerMeta';
3
+ export declare class MCPControllerMetaBuilder {
4
+ private readonly clazz;
5
+ constructor(clazz: EggProtoImplClass);
6
+ private buildResource;
7
+ private buildPrompt;
8
+ private buildTool;
9
+ build(): MCPControllerMeta;
10
+ static create(clazz: EggProtoImplClass): MCPControllerMetaBuilder;
11
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPControllerMetaBuilder = void 0;
7
+ const assert_1 = __importDefault(require("assert"));
8
+ const core_decorator_1 = require("@eggjs/core-decorator");
9
+ const ControllerValidator_1 = require("../../util/validator/ControllerValidator");
10
+ const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
11
+ const MCPControllerPromptMetaBuilder_1 = require("./MCPControllerPromptMetaBuilder");
12
+ const MCPControllerResourceMetaBuilder_1 = require("./MCPControllerResourceMetaBuilder");
13
+ const MCPControllerToolMetaBuilder_1 = require("./MCPControllerToolMetaBuilder");
14
+ const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
15
+ const tegg_types_1 = require("@eggjs/tegg-types");
16
+ const MCPControllerMeta_1 = require("../../../src/model/MCPControllerMeta");
17
+ const ControllerMetaBuilderFactory_1 = require("../../builder/ControllerMetaBuilderFactory");
18
+ class MCPControllerMetaBuilder {
19
+ constructor(clazz) {
20
+ this.clazz = clazz;
21
+ }
22
+ buildResource() {
23
+ const methodNames = MCPInfoUtil_1.MCPInfoUtil.getMCPResource(this.clazz);
24
+ const methods = [];
25
+ for (const methodName of methodNames) {
26
+ const builder = new MCPControllerResourceMetaBuilder_1.MCPControllerResourceMetaBuilder(this.clazz, methodName);
27
+ const methodMeta = builder.build();
28
+ if (methodMeta) {
29
+ methods.push(methodMeta);
30
+ }
31
+ }
32
+ return methods;
33
+ }
34
+ buildPrompt() {
35
+ const methodNames = MCPInfoUtil_1.MCPInfoUtil.getMCPPrompt(this.clazz);
36
+ const methods = [];
37
+ for (const methodName of methodNames) {
38
+ const builder = new MCPControllerPromptMetaBuilder_1.MCPControllerPromptMetaBuilder(this.clazz, methodName);
39
+ const methodMeta = builder.build();
40
+ if (methodMeta) {
41
+ methods.push(methodMeta);
42
+ }
43
+ }
44
+ return methods;
45
+ }
46
+ buildTool() {
47
+ const methodNames = MCPInfoUtil_1.MCPInfoUtil.getMCPTool(this.clazz);
48
+ const methods = [];
49
+ for (const methodName of methodNames) {
50
+ const builder = new MCPControllerToolMetaBuilder_1.MCPControllerToolMetaBuilder(this.clazz, methodName);
51
+ const methodMeta = builder.build();
52
+ if (methodMeta) {
53
+ methods.push(methodMeta);
54
+ }
55
+ }
56
+ return methods;
57
+ }
58
+ build() {
59
+ ControllerValidator_1.ControllerValidator.validate(this.clazz);
60
+ const controllerType = ControllerInfoUtil_1.default.getControllerType(this.clazz);
61
+ (0, assert_1.default)(controllerType === tegg_types_1.ControllerType.MCP, 'invalidate controller type');
62
+ const mcpMiddlewares = ControllerInfoUtil_1.default.getControllerMiddlewares(this.clazz);
63
+ const resources = this.buildResource();
64
+ const prompts = this.buildPrompt();
65
+ const tools = this.buildTool();
66
+ const property = core_decorator_1.PrototypeUtil.getProperty(this.clazz);
67
+ const protoName = property.name;
68
+ const clazzName = this.clazz.name;
69
+ const controllerName = ControllerInfoUtil_1.default.getControllerName(this.clazz) || clazzName;
70
+ const name = MCPInfoUtil_1.MCPInfoUtil.getMCPName(this.clazz) || controllerName;
71
+ const version = MCPInfoUtil_1.MCPInfoUtil.getMCPVersion(this.clazz) || '1.0.0';
72
+ const needAcl = ControllerInfoUtil_1.default.hasControllerAcl(this.clazz);
73
+ const aclCode = ControllerInfoUtil_1.default.getControllerAcl(this.clazz);
74
+ return new MCPControllerMeta_1.MCPControllerMeta(clazzName, protoName, controllerName, name, version, tools, resources, prompts, mcpMiddlewares, needAcl, aclCode);
75
+ }
76
+ static create(clazz) {
77
+ return new MCPControllerMetaBuilder(clazz);
78
+ }
79
+ }
80
+ exports.MCPControllerMetaBuilder = MCPControllerMetaBuilder;
81
+ ControllerMetaBuilderFactory_1.ControllerMetaBuilderFactory.registerControllerMetaBuilder(tegg_types_1.ControllerType.MCP, MCPControllerMetaBuilder.create);
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlck1ldGFCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvbWNwL01DUENvbnRyb2xsZXJNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsMERBQXNEO0FBRXRELGtGQUErRTtBQUMvRSx1RkFBK0Q7QUFDL0QscUZBQWtGO0FBQ2xGLHlGQUFzRjtBQUN0RixpRkFBOEU7QUFDOUUsK0RBQTREO0FBQzVELGtEQUFzRTtBQUN0RSw0RUFBeUU7QUFDekUsNkZBQTBGO0FBRTFGLE1BQWEsd0JBQXdCO0lBR25DLFlBQVksS0FBd0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxXQUFXLEdBQUcseUJBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFzQixFQUFFLENBQUM7UUFDdEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1FQUFnQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDN0UsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxV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
@@ -0,0 +1,8 @@
1
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ import { MCPPromptMeta } from '../../model';
3
+ export declare class MCPControllerPromptMetaBuilder {
4
+ private readonly clazz;
5
+ private readonly methodName;
6
+ constructor(clazz: EggProtoImplClass, methodName: string);
7
+ build(): MCPPromptMeta | undefined;
8
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPControllerPromptMetaBuilder = void 0;
7
+ const model_1 = require("../../model");
8
+ const MethodValidator_1 = require("../../util/validator/MethodValidator");
9
+ const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
10
+ const MCPInfoUtil_1 = require("../../util/MCPInfoUtil");
11
+ class MCPControllerPromptMetaBuilder {
12
+ constructor(clazz, methodName) {
13
+ this.clazz = clazz;
14
+ this.methodName = methodName;
15
+ }
16
+ build() {
17
+ MethodValidator_1.MethodValidator.validate(this.clazz, this.methodName);
18
+ const controllerType = MethodInfoUtil_1.default.getMethodControllerType(this.clazz, this.methodName);
19
+ if (!controllerType) {
20
+ return undefined;
21
+ }
22
+ const middlewares = MethodInfoUtil_1.default.getMethodMiddlewares(this.clazz, this.methodName);
23
+ const needAcl = MethodInfoUtil_1.default.hasMethodAcl(this.clazz, this.methodName);
24
+ const aclCode = MethodInfoUtil_1.default.getMethodAcl(this.clazz, this.methodName);
25
+ const params = MCPInfoUtil_1.MCPInfoUtil.getMCPPromptParams(this.clazz, this.methodName);
26
+ const detail = MCPInfoUtil_1.MCPInfoUtil.getMCPPromptArgsIndex(this.clazz, this.methodName);
27
+ const extra = MCPInfoUtil_1.MCPInfoUtil.getMCPExtra(this.clazz, this.methodName);
28
+ return new model_1.MCPPromptMeta({
29
+ name: this.methodName,
30
+ middlewares,
31
+ needAcl,
32
+ aclCode,
33
+ detail,
34
+ extra,
35
+ ...params,
36
+ });
37
+ }
38
+ }
39
+ exports.MCPControllerPromptMetaBuilder = MCPControllerPromptMetaBuilder;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlclByb21wdE1ldGFCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvbWNwL01DUENvbnRyb2xsZXJQcm9tcHRNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1Q0FBNEM7QUFDNUMsMEVBQXVFO0FBQ3ZFLCtFQUF1RDtBQUN2RCx3REFBcUQ7QUFFckQsTUFBYSw4QkFBOEI7SUFJekMsWUFBWSxLQUF3QixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsaUNBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsTUFBTSxjQUFjLEdBQUcsd0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLHdCQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckYsTUFBTSxPQUFPLEdBQUcsd0JBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekUsTUFBTSxPQUFPLEdBQUcsd0JBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekUsTUFBTSxNQUFNLEdBQUcseUJBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRSxNQUFNLE1BQU0sR0FBRyx5QkFBVyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sS0FBSyxHQUFHLHlCQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRW5FLE9BQU8sSUFBSSxxQkFBYSxDQUFDO1lBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNyQixXQUFXO1lBQ1gsT0FBTztZQUNQLE9BQU87WUFDUCxNQUFNO1lBQ04sS0FBSztZQUNMLEdBQUcsTUFBTTtTQUNWLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWhDRCx3RUFnQ0MifQ==
@@ -0,0 +1,8 @@
1
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ import { MCPResourceMeta } from '../../model';
3
+ export declare class MCPControllerResourceMetaBuilder {
4
+ private readonly clazz;
5
+ private readonly methodName;
6
+ constructor(clazz: EggProtoImplClass, methodName: string);
7
+ build(): MCPResourceMeta | undefined;
8
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPControllerResourceMetaBuilder = void 0;
7
+ const model_1 = require("../../model");
8
+ const MethodValidator_1 = require("../../util/validator/MethodValidator");
9
+ const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
10
+ const MCPInfoUtil_1 = require("../../util/MCPInfoUtil");
11
+ class MCPControllerResourceMetaBuilder {
12
+ constructor(clazz, methodName) {
13
+ this.clazz = clazz;
14
+ this.methodName = methodName;
15
+ }
16
+ build() {
17
+ MethodValidator_1.MethodValidator.validate(this.clazz, this.methodName);
18
+ const controllerType = MethodInfoUtil_1.default.getMethodControllerType(this.clazz, this.methodName);
19
+ if (!controllerType) {
20
+ return undefined;
21
+ }
22
+ const middlewares = MethodInfoUtil_1.default.getMethodMiddlewares(this.clazz, this.methodName);
23
+ const needAcl = MethodInfoUtil_1.default.hasMethodAcl(this.clazz, this.methodName);
24
+ const aclCode = MethodInfoUtil_1.default.getMethodAcl(this.clazz, this.methodName);
25
+ const params = MCPInfoUtil_1.MCPInfoUtil.getMCPResourceParams(this.clazz, this.methodName);
26
+ const extra = MCPInfoUtil_1.MCPInfoUtil.getMCPExtra(this.clazz, this.methodName);
27
+ return new model_1.MCPResourceMeta({
28
+ name: this.methodName,
29
+ middlewares,
30
+ needAcl,
31
+ aclCode,
32
+ extra,
33
+ ...params,
34
+ });
35
+ }
36
+ }
37
+ exports.MCPControllerResourceMetaBuilder = MCPControllerResourceMetaBuilder;
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlclJlc291cmNlTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW1wbC9tY3AvTUNQQ29udHJvbGxlclJlc291cmNlTWV0YUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsdUNBQThDO0FBQzlDLDBFQUF1RTtBQUN2RSwrRUFBdUQ7QUFDdkQsd0RBQXFEO0FBRXJELE1BQWEsZ0NBQWdDO0lBSTNDLFlBQVksS0FBd0IsRUFBRSxVQUFrQjtRQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSztRQUNILGlDQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sY0FBYyxHQUFHLHdCQUFjLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyx3QkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLHlCQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0UsTUFBTSxLQUFLLEdBQUcseUJBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkUsT0FBTyxJQUFJLHVCQUFlLENBQUM7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLFdBQVc7WUFDWCxPQUFPO1lBQ1AsT0FBTztZQUNQLEtBQUs7WUFDTCxHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE5QkQsNEVBOEJDIn0=
@@ -0,0 +1,8 @@
1
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ import { MCPToolMeta } from '../../model';
3
+ export declare class MCPControllerToolMetaBuilder {
4
+ private readonly clazz;
5
+ private readonly methodName;
6
+ constructor(clazz: EggProtoImplClass, methodName: string);
7
+ build(): MCPToolMeta | undefined;
8
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPControllerToolMetaBuilder = void 0;
7
+ const model_1 = require("../../model");
8
+ const MethodValidator_1 = require("../../util/validator/MethodValidator");
9
+ const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
10
+ const MCPInfoUtil_1 = require("../../util/MCPInfoUtil");
11
+ class MCPControllerToolMetaBuilder {
12
+ constructor(clazz, methodName) {
13
+ this.clazz = clazz;
14
+ this.methodName = methodName;
15
+ }
16
+ build() {
17
+ MethodValidator_1.MethodValidator.validate(this.clazz, this.methodName);
18
+ const controllerType = MethodInfoUtil_1.default.getMethodControllerType(this.clazz, this.methodName);
19
+ if (!controllerType) {
20
+ return undefined;
21
+ }
22
+ const middlewares = MethodInfoUtil_1.default.getMethodMiddlewares(this.clazz, this.methodName);
23
+ const needAcl = MethodInfoUtil_1.default.hasMethodAcl(this.clazz, this.methodName);
24
+ const aclCode = MethodInfoUtil_1.default.getMethodAcl(this.clazz, this.methodName);
25
+ const params = MCPInfoUtil_1.MCPInfoUtil.getMCPToolParams(this.clazz, this.methodName);
26
+ const detail = MCPInfoUtil_1.MCPInfoUtil.getMCPToolArgsIndex(this.clazz, this.methodName);
27
+ const extra = MCPInfoUtil_1.MCPInfoUtil.getMCPExtra(this.clazz, this.methodName);
28
+ return new model_1.MCPToolMeta({
29
+ name: this.methodName,
30
+ middlewares,
31
+ needAcl,
32
+ aclCode,
33
+ detail,
34
+ extra,
35
+ ...params,
36
+ });
37
+ }
38
+ }
39
+ exports.MCPControllerToolMetaBuilder = MCPControllerToolMetaBuilder;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlclRvb2xNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL21jcC9NQ1BDb250cm9sbGVyVG9vbE1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLHVDQUEwQztBQUMxQywwRUFBdUU7QUFDdkUsK0VBQXVEO0FBQ3ZELHdEQUFxRDtBQUVyRCxNQUFhLDRCQUE0QjtJQUl2QyxZQUFZLEtBQXdCLEVBQUUsVUFBa0I7UUFDdEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDSCxpQ0FBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RCxNQUFNLGNBQWMsR0FBRyx3QkFBYyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsd0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRixNQUFNLE9BQU8sR0FBRyx3QkFBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxNQUFNLE9BQU8sR0FBRyx3QkFBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6RSxNQUFNLE1BQU0sR0FBRyx5QkFBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sTUFBTSxHQUFHLHlCQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUUsTUFBTSxLQUFLLEdBQUcseUJBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkUsT0FBTyxJQUFJLG1CQUFXLENBQUM7WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLFdBQVc7WUFDWCxPQUFPO1lBQ1AsT0FBTztZQUNQLE1BQU07WUFDTixLQUFLO1lBQ0wsR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBaENELG9FQWdDQyJ9
@@ -0,0 +1,25 @@
1
+ import { ControllerType } from '@eggjs/tegg-types';
2
+ import type { ControllerMetadata, MiddlewareFunc, EggPrototypeName } from '@eggjs/tegg-types';
3
+ import { MCPToolMeta } from './MCPToolMeta';
4
+ import { MCPResourceMeta } from './MCPResourceMeta';
5
+ import { MCPPromptMeta } from './MCPPromptMeta';
6
+ export declare class MCPControllerMeta implements ControllerMetadata {
7
+ readonly protoName: EggPrototypeName;
8
+ readonly controllerName: string;
9
+ readonly className: string;
10
+ readonly methods: never[];
11
+ readonly middlewares: readonly MiddlewareFunc[];
12
+ readonly type = ControllerType.MCP;
13
+ readonly name: string;
14
+ readonly version: string;
15
+ readonly needAcl: boolean;
16
+ readonly aclCode?: string;
17
+ readonly tools: MCPToolMeta[];
18
+ readonly resources: MCPResourceMeta[];
19
+ readonly prompts: MCPPromptMeta[];
20
+ get id(): string;
21
+ constructor(className: string, protoName: EggPrototypeName, controllerName: string, name: string, version: string, tools: MCPToolMeta[], resources: MCPResourceMeta[], prompts: MCPPromptMeta[], middlewares: MiddlewareFunc[], needAcl?: boolean, aclCode?: string);
22
+ getMethodMiddlewares(method: MCPPromptMeta | MCPToolMeta | MCPResourceMeta): readonly MiddlewareFunc[];
23
+ hasMethodAcl(method: MCPPromptMeta | MCPToolMeta | MCPResourceMeta): boolean;
24
+ getMethodAcl(method: MCPPromptMeta | MCPToolMeta | MCPResourceMeta): string | undefined;
25
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPControllerMeta = void 0;
4
+ const tegg_types_1 = require("@eggjs/tegg-types");
5
+ class MCPControllerMeta {
6
+ get id() {
7
+ return `${this.name}:${1.0}`;
8
+ }
9
+ constructor(className, protoName, controllerName, name, version, tools, resources, prompts, middlewares, needAcl, aclCode) {
10
+ this.type = tegg_types_1.ControllerType.MCP;
11
+ this.protoName = protoName;
12
+ this.controllerName = controllerName;
13
+ this.className = className;
14
+ this.name = name;
15
+ this.version = version;
16
+ this.tools = tools;
17
+ this.resources = resources;
18
+ this.prompts = prompts;
19
+ this.middlewares = middlewares;
20
+ this.methods = [];
21
+ this.needAcl = !!needAcl;
22
+ this.aclCode = aclCode;
23
+ }
24
+ getMethodMiddlewares(method) {
25
+ if (this.middlewares.length) {
26
+ return [
27
+ ...this.middlewares,
28
+ ...method.middlewares,
29
+ ];
30
+ }
31
+ return method.middlewares;
32
+ }
33
+ hasMethodAcl(method) {
34
+ return method.needAcl || this.needAcl;
35
+ }
36
+ getMethodAcl(method) {
37
+ return method.aclCode || this.aclCode;
38
+ }
39
+ }
40
+ exports.MCPControllerMeta = MCPControllerMeta;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlck1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvTUNQQ29udHJvbGxlck1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQW1EO0FBTW5ELE1BQWEsaUJBQWlCO0lBZTVCLElBQUksRUFBRTtRQUNKLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxZQUNFLFNBQWlCLEVBQ2pCLFNBQTJCLEVBQzNCLGNBQXNCLEVBQ3RCLElBQVksRUFDWixPQUFlLEVBQ2YsS0FBb0IsRUFDcEIsU0FBNEIsRUFDNUIsT0FBd0IsRUFDeEIsV0FBNkIsRUFDN0IsT0FBaUIsRUFDakIsT0FBZ0I7UUF4QlQsU0FBSSxHQUFHLDJCQUFjLENBQUMsR0FBRyxDQUFDO1FBMEJqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQXFEO1FBQ3hFLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixPQUFPO2dCQUNMLEdBQUcsSUFBSSxDQUFDLFdBQVc7Z0JBQ25CLEdBQUcsTUFBTSxDQUFDLFdBQVc7YUFDdEIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFxRDtRQUNoRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXFEO1FBQ2hFLE9BQU8sTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQS9ERCw4Q0ErREMifQ==
@@ -0,0 +1,22 @@
1
+ import type { MiddlewareFunc } from '@eggjs/tegg-types';
2
+ import { PromptArgsSchemaDetail } from '../../src/util/MCPInfoUtil';
3
+ export declare class MCPPromptMeta {
4
+ readonly name: string;
5
+ readonly needAcl: boolean;
6
+ readonly mcpName?: string;
7
+ readonly aclCode?: string;
8
+ readonly description?: string;
9
+ readonly detail?: PromptArgsSchemaDetail;
10
+ readonly middlewares: readonly MiddlewareFunc[];
11
+ readonly extra?: number;
12
+ constructor(opt: {
13
+ name: string;
14
+ middlewares: MiddlewareFunc[];
15
+ needAcl?: boolean;
16
+ aclCode?: string;
17
+ description?: string;
18
+ mcpName?: string;
19
+ detail?: PromptArgsSchemaDetail;
20
+ extra?: number;
21
+ });
22
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPPromptMeta = void 0;
4
+ class MCPPromptMeta {
5
+ constructor(opt) {
6
+ this.name = opt.name;
7
+ this.needAcl = !!opt.needAcl;
8
+ this.description = opt.description;
9
+ this.mcpName = opt.mcpName;
10
+ this.middlewares = opt.middlewares;
11
+ this.aclCode = opt.aclCode;
12
+ this.detail = opt.detail;
13
+ this.extra = opt.extra;
14
+ }
15
+ }
16
+ exports.MCPPromptMeta = MCPPromptMeta;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQUHJvbXB0TWV0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9NQ1BQcm9tcHRNZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLE1BQWEsYUFBYTtJQVV4QixZQUFZLEdBU1g7UUFDQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUE3QkQsc0NBNkJDIn0=
@@ -0,0 +1,25 @@
1
+ import type { MiddlewareFunc } from '@eggjs/tegg-types';
2
+ import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import type { ResourceMetadata } from '@modelcontextprotocol/sdk/server/mcp.js';
4
+ export declare class MCPResourceMeta {
5
+ readonly name: string;
6
+ readonly needAcl: boolean;
7
+ readonly aclCode?: string;
8
+ readonly mcpName?: string;
9
+ readonly uri?: string;
10
+ readonly template?: ResourceTemplate;
11
+ readonly metadata?: ResourceMetadata;
12
+ readonly middlewares: readonly MiddlewareFunc[];
13
+ readonly extra?: number;
14
+ constructor(opt: {
15
+ name: string;
16
+ middlewares: MiddlewareFunc[];
17
+ needAcl?: boolean;
18
+ aclCode?: string;
19
+ mcpName?: string;
20
+ uri?: string;
21
+ template?: ConstructorParameters<typeof ResourceTemplate>;
22
+ metadata?: ResourceMetadata;
23
+ extra?: number;
24
+ });
25
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPResourceMeta = void 0;
4
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
5
+ class MCPResourceMeta {
6
+ constructor(opt) {
7
+ this.name = opt.name;
8
+ this.needAcl = !!opt.needAcl;
9
+ this.uri = opt.uri;
10
+ this.metadata = opt.metadata;
11
+ if (opt.template) {
12
+ this.template = new mcp_js_1.ResourceTemplate(opt.template[0], opt.template[1]);
13
+ }
14
+ this.middlewares = opt.middlewares;
15
+ this.aclCode = opt.aclCode;
16
+ this.mcpName = opt.mcpName;
17
+ this.extra = opt.extra;
18
+ }
19
+ }
20
+ exports.MCPResourceMeta = MCPResourceMeta;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQUmVzb3VyY2VNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL01DUFJlc291cmNlTWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvRUFBMkU7QUFHM0UsTUFBYSxlQUFlO0lBVzFCLFlBQVksR0FVWDtRQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHlCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBbENELDBDQWtDQyJ9
@@ -0,0 +1,22 @@
1
+ import type { MiddlewareFunc } from '@eggjs/tegg-types';
2
+ import { ToolArgsSchemaDetail } from '../../src/util/MCPInfoUtil';
3
+ export declare class MCPToolMeta {
4
+ readonly name: string;
5
+ readonly needAcl: boolean;
6
+ readonly aclCode?: string;
7
+ readonly mcpName?: string;
8
+ readonly description?: string;
9
+ readonly detail?: ToolArgsSchemaDetail;
10
+ readonly middlewares: readonly MiddlewareFunc[];
11
+ readonly extra?: number;
12
+ constructor(opt: {
13
+ name: string;
14
+ middlewares: MiddlewareFunc[];
15
+ needAcl?: boolean;
16
+ aclCode?: string;
17
+ description?: string;
18
+ mcpName?: string;
19
+ detail?: ToolArgsSchemaDetail;
20
+ extra?: number;
21
+ });
22
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPToolMeta = void 0;
4
+ class MCPToolMeta {
5
+ constructor(opt) {
6
+ this.name = opt.name;
7
+ this.needAcl = !!opt.needAcl;
8
+ this.description = opt.description;
9
+ this.mcpName = opt.mcpName;
10
+ this.middlewares = opt.middlewares;
11
+ this.aclCode = opt.aclCode;
12
+ this.detail = opt.detail;
13
+ this.extra = opt.extra;
14
+ }
15
+ }
16
+ exports.MCPToolMeta = MCPToolMeta;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQVG9vbE1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvTUNQVG9vbE1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxXQUFXO0lBVXRCLFlBQVksR0FTWDtRQUNDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQTdCRCxrQ0E2QkMifQ==
@@ -3,3 +3,7 @@ export * from './HTTPControllerMeta';
3
3
  export * from './HTTPRequest';
4
4
  export * from './HTTPResponse';
5
5
  export * from './HTTPCookies';
6
+ export * from './MCPControllerMeta';
7
+ export * from './MCPPromptMeta';
8
+ export * from './MCPResourceMeta';
9
+ export * from './MCPToolMeta';
@@ -19,4 +19,8 @@ __exportStar(require("./HTTPControllerMeta"), exports);
19
19
  __exportStar(require("./HTTPRequest"), exports);
20
20
  __exportStar(require("./HTTPResponse"), exports);
21
21
  __exportStar(require("./HTTPCookies"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMsZ0RBQThCO0FBQzlCLGlEQUErQjtBQUMvQixnREFBOEIifQ==
22
+ __exportStar(require("./MCPControllerMeta"), exports);
23
+ __exportStar(require("./MCPPromptMeta"), exports);
24
+ __exportStar(require("./MCPResourceMeta"), exports);
25
+ __exportStar(require("./MCPToolMeta"), exports);
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMsZ0RBQThCO0FBQzlCLGlEQUErQjtBQUMvQixnREFBOEI7QUFDOUIsc0RBQW9DO0FBQ3BDLGtEQUFnQztBQUNoQyxvREFBa0M7QUFDbEMsZ0RBQThCIn0=
@@ -0,0 +1,46 @@
1
+ import { MCPPromptParams, MCPResourceParams, MCPToolParams, EggProtoImplClass } from '@eggjs/tegg-types';
2
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ export interface ToolArgsSchemaDetail {
4
+ argsSchema: Parameters<McpServer['tool']>['2'];
5
+ index: number;
6
+ }
7
+ export interface PromptArgsSchemaDetail {
8
+ argsSchema: Parameters<McpServer['prompt']>['2'];
9
+ index: number;
10
+ }
11
+ export declare class MCPInfoUtil {
12
+ static setMCPName(name: string, clazz: EggProtoImplClass): void;
13
+ static getMCPName(clazz: EggProtoImplClass): string | undefined;
14
+ static setMCPVersion(version: string, clazz: EggProtoImplClass): void;
15
+ static getMCPVersion(clazz: EggProtoImplClass): string | undefined;
16
+ static setMCPResource(clazz: EggProtoImplClass, methodName: string): void;
17
+ static getMCPResource(clazz: EggProtoImplClass): string[];
18
+ static setMCPResourceParams(params: MCPResourceParams & {
19
+ mcpName?: string;
20
+ }, clazz: EggProtoImplClass, resourceName: string): void;
21
+ static getMCPResourceParams(clazz: EggProtoImplClass, resourceName: string): MCPResourceParams & {
22
+ mcpName?: string;
23
+ } | undefined;
24
+ static setMCPTool(clazz: EggProtoImplClass, methodName: string): void;
25
+ static getMCPTool(clazz: EggProtoImplClass): string[];
26
+ static getMCPToolParams(clazz: EggProtoImplClass, resourceName: string): MCPToolParams & {
27
+ mcpName?: string;
28
+ } | undefined;
29
+ static setMCPToolParams(params: MCPToolParams & {
30
+ mcpName?: string;
31
+ }, clazz: EggProtoImplClass, resourceName: string): void;
32
+ static setMCPPrompt(clazz: EggProtoImplClass, methodName: string): void;
33
+ static getMCPPrompt(clazz: EggProtoImplClass): string[];
34
+ static setMCPPromptParams(params: MCPPromptParams & {
35
+ mcpName?: string;
36
+ }, clazz: EggProtoImplClass, resourceName: string): void;
37
+ static getMCPPromptParams(clazz: EggProtoImplClass, resourceName: string): MCPPromptParams & {
38
+ mcpName?: string;
39
+ } | undefined;
40
+ static setMCPToolArgsInArgs(detail: ToolArgsSchemaDetail, clazz: EggProtoImplClass, methodName: string): void;
41
+ static getMCPToolArgsIndex(clazz: EggProtoImplClass, methodName: string): ToolArgsSchemaDetail | undefined;
42
+ static setMCPExtra(index: number, clazz: EggProtoImplClass, methodName: string): void;
43
+ static getMCPExtra(clazz: EggProtoImplClass, methodName: string): number | undefined;
44
+ static setMCPPromptArgsInArgs(detail: PromptArgsSchemaDetail, clazz: EggProtoImplClass, methodName: string): void;
45
+ static getMCPPromptArgsIndex(clazz: EggProtoImplClass, methodName: string): PromptArgsSchemaDetail | undefined;
46
+ }
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPInfoUtil = void 0;
4
+ const tegg_types_1 = require("@eggjs/tegg-types");
5
+ const core_decorator_1 = require("@eggjs/core-decorator");
6
+ class MCPInfoUtil {
7
+ static setMCPName(name, clazz) {
8
+ core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.CONTROLLER_MCP_NAME, name, clazz);
9
+ }
10
+ static getMCPName(clazz) {
11
+ return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_NAME, clazz);
12
+ }
13
+ static setMCPVersion(version, clazz) {
14
+ core_decorator_1.MetadataUtil.defineMetaData(tegg_types_1.CONTROLLER_MCP_VERSION, version, clazz);
15
+ }
16
+ static getMCPVersion(clazz) {
17
+ return core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_VERSION, clazz);
18
+ }
19
+ static setMCPResource(clazz, methodName) {
20
+ const methodMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_RESOURCE_MAP, clazz, new Map());
21
+ methodMap.set(methodName, true);
22
+ }
23
+ static getMCPResource(clazz) {
24
+ const methodMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_RESOURCE_MAP, clazz);
25
+ if (!methodMap) {
26
+ return [];
27
+ }
28
+ return Array.from(methodMap.keys());
29
+ }
30
+ static setMCPResourceParams(params, clazz, resourceName) {
31
+ const methodMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_RESOURCE_PARAMS_MAP, clazz, new Map());
32
+ methodMap.set(resourceName, params);
33
+ }
34
+ static getMCPResourceParams(clazz, resourceName) {
35
+ const methodMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_RESOURCE_PARAMS_MAP, clazz);
36
+ return methodMap === null || methodMap === void 0 ? void 0 : methodMap.get(resourceName);
37
+ }
38
+ static setMCPTool(clazz, methodName) {
39
+ const methodMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_TOOL_MAP, clazz, new Map());
40
+ methodMap.set(methodName, true);
41
+ }
42
+ static getMCPTool(clazz) {
43
+ const methodMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_TOOL_MAP, clazz);
44
+ if (!methodMap) {
45
+ return [];
46
+ }
47
+ return Array.from(methodMap.keys());
48
+ }
49
+ static getMCPToolParams(clazz, resourceName) {
50
+ const methodMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_TOOL_PARAMS_MAP, clazz);
51
+ return methodMap === null || methodMap === void 0 ? void 0 : methodMap.get(resourceName);
52
+ }
53
+ static setMCPToolParams(params, clazz, resourceName) {
54
+ const methodMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_TOOL_PARAMS_MAP, clazz, new Map());
55
+ methodMap.set(resourceName, params);
56
+ }
57
+ static setMCPPrompt(clazz, methodName) {
58
+ const methodMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_PROMPT_MAP, clazz, new Map());
59
+ methodMap.set(methodName, true);
60
+ }
61
+ static getMCPPrompt(clazz) {
62
+ const methodMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_PROMPT_MAP, clazz);
63
+ if (!methodMap) {
64
+ return [];
65
+ }
66
+ return Array.from(methodMap.keys());
67
+ }
68
+ static setMCPPromptParams(params, clazz, resourceName) {
69
+ const methodMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_PROMPT_PARAMS_MAP, clazz, new Map());
70
+ methodMap.set(resourceName, params);
71
+ }
72
+ static getMCPPromptParams(clazz, resourceName) {
73
+ const methodMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_PROMPT_PARAMS_MAP, clazz);
74
+ return methodMap === null || methodMap === void 0 ? void 0 : methodMap.get(resourceName);
75
+ }
76
+ static setMCPToolArgsInArgs(detail, clazz, methodName) {
77
+ const methodContextIndexMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_TOOL_ARGS_INDEX, clazz, new Map());
78
+ methodContextIndexMap.set(methodName, detail);
79
+ }
80
+ static getMCPToolArgsIndex(clazz, methodName) {
81
+ const methodContextIndexMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_TOOL_ARGS_INDEX, clazz);
82
+ return methodContextIndexMap === null || methodContextIndexMap === void 0 ? void 0 : methodContextIndexMap.get(methodName);
83
+ }
84
+ static setMCPExtra(index, clazz, methodName) {
85
+ const methodContextIndexMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_EXTRA_INDEX, clazz, new Map());
86
+ methodContextIndexMap.set(methodName, index);
87
+ }
88
+ static getMCPExtra(clazz, methodName) {
89
+ const methodContextIndexMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_EXTRA_INDEX, clazz);
90
+ return methodContextIndexMap === null || methodContextIndexMap === void 0 ? void 0 : methodContextIndexMap.get(methodName);
91
+ }
92
+ static setMCPPromptArgsInArgs(detail, clazz, methodName) {
93
+ const methodContextIndexMap = core_decorator_1.MetadataUtil.initOwnMapMetaData(tegg_types_1.CONTROLLER_MCP_PROMPT_ARGS_INDEX, clazz, new Map());
94
+ methodContextIndexMap.set(methodName, detail);
95
+ }
96
+ static getMCPPromptArgsIndex(clazz, methodName) {
97
+ const methodContextIndexMap = core_decorator_1.MetadataUtil.getMetaData(tegg_types_1.CONTROLLER_MCP_PROMPT_ARGS_INDEX, clazz);
98
+ return methodContextIndexMap === null || methodContextIndexMap === void 0 ? void 0 : methodContextIndexMap.get(methodName);
99
+ }
100
+ }
101
+ exports.MCPInfoUtil = MCPInfoUtil;
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQSW5mb1V0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9NQ1BJbmZvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFnQjJCO0FBQzNCLDBEQUFxRDtBQXNCckQsTUFBYSxXQUFXO0lBRXRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWSxFQUFFLEtBQXdCO1FBQ3RELDZCQUFZLENBQUMsY0FBYyxDQUFDLGdDQUFtQixFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUF3QjtRQUN4QyxPQUFPLDZCQUFZLENBQUMsV0FBVyxDQUFDLGdDQUFtQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWUsRUFBRSxLQUF3QjtRQUM1RCw2QkFBWSxDQUFDLGNBQWMsQ0FBQyxtQ0FBc0IsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBd0I7UUFDM0MsT0FBTyw2QkFBWSxDQUFDLFdBQVcsQ0FBQyxtQ0FBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUF3QixFQUFFLFVBQWtCO1FBQ2hFLE1BQU0sU0FBUyxHQUFpQiw2QkFBWSxDQUFDLGtCQUFrQixDQUFDLHdDQUEyQixFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0csU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBd0I7UUFDNUMsTUFBTSxTQUFTLEdBQTZCLDZCQUFZLENBQUMsV0FBVyxDQUFDLHdDQUEyQixFQUFFLEtBQUssQ0FBQyxDQUFD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eggjs/controller-decorator",
3
- "version": "3.53.0",
3
+ "version": "3.55.0",
4
4
  "description": "tegg controller decorator",
5
5
  "keywords": [
6
6
  "egg",
@@ -37,12 +37,13 @@
37
37
  "node": ">=14.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "@eggjs/aop-decorator": "^3.53.0",
40
+ "@eggjs/aop-decorator": "^3.55.0",
41
41
  "@eggjs/cookies": "^3.0.1",
42
- "@eggjs/core-decorator": "^3.53.0",
43
- "@eggjs/tegg-common-util": "^3.53.0",
44
- "@eggjs/tegg-metadata": "^3.53.0",
45
- "@eggjs/tegg-types": "^3.53.0",
42
+ "@eggjs/core-decorator": "^3.55.0",
43
+ "@eggjs/tegg-common-util": "^3.55.0",
44
+ "@eggjs/tegg-metadata": "^3.55.0",
45
+ "@eggjs/tegg-types": "^3.55.0",
46
+ "@modelcontextprotocol/sdk": "^1.10.0",
46
47
  "is-type-of": "^1.2.1",
47
48
  "path-to-regexp": "^1.8.0",
48
49
  "reflect-metadata": "^0.1.13",
@@ -60,5 +61,5 @@
60
61
  "publishConfig": {
61
62
  "access": "public"
62
63
  },
63
- "gitHead": "ce2d38c61483393e1f3c86f2635aa3f4fa226c81"
64
+ "gitHead": "355924d6771ebad3e2c586ab679ae4110abe3cef"
64
65
  }