@eggjs/controller-decorator 3.62.0 → 4.0.0-beta.10

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 (119) hide show
  1. package/README.md +17 -0
  2. package/dist/builder/ControllerMetaBuilderFactory.js +41 -0
  3. package/dist/builder/index.d.ts +1 -0
  4. package/dist/builder/index.js +2 -0
  5. package/dist/decorator/Acl.js +22 -0
  6. package/dist/decorator/Context.js +11 -0
  7. package/dist/decorator/Middleware.js +69 -0
  8. package/dist/decorator/http/HTTPController.js +29 -0
  9. package/dist/decorator/http/HTTPMethod.js +17 -0
  10. package/dist/decorator/http/HTTPParam.js +75 -0
  11. package/dist/decorator/http/Host.js +25 -0
  12. package/dist/decorator/http/index.d.ts +4 -0
  13. package/dist/decorator/http/index.js +5 -0
  14. package/dist/decorator/index.d.ts +4 -0
  15. package/dist/decorator/index.js +5 -0
  16. package/dist/{src/impl → impl}/http/HTTPControllerMetaBuilder.d.ts +1 -1
  17. package/dist/impl/http/HTTPControllerMetaBuilder.js +57 -0
  18. package/dist/{src/impl → impl}/http/HTTPControllerMethodMetaBuilder.d.ts +1 -1
  19. package/dist/impl/http/HTTPControllerMethodMetaBuilder.js +100 -0
  20. package/dist/impl/http/index.d.ts +2 -0
  21. package/dist/impl/http/index.js +3 -0
  22. package/dist/impl/index.d.ts +1 -0
  23. package/dist/impl/index.js +2 -0
  24. package/dist/index.d.ts +5 -20
  25. package/dist/index.js +7 -43
  26. package/dist/{src/model → model}/HTTPControllerMeta.d.ts +2 -4
  27. package/dist/model/HTTPControllerMeta.js +60 -0
  28. package/dist/model/HTTPCookies.js +4 -0
  29. package/dist/{src/model → model}/HTTPMethodMeta.d.ts +2 -3
  30. package/dist/model/HTTPMethodMeta.js +124 -0
  31. package/dist/model/HTTPRequest.d.ts +7 -0
  32. package/dist/model/HTTPRequest.js +3 -0
  33. package/dist/model/HTTPResponse.d.ts +10 -0
  34. package/dist/model/HTTPResponse.js +3 -0
  35. package/dist/model/index.d.ts +5 -0
  36. package/dist/model/index.js +6 -0
  37. package/dist/{src/util → util}/ControllerInfoUtil.d.ts +3 -5
  38. package/dist/util/ControllerInfoUtil.js +46 -0
  39. package/dist/{src/util → util}/ControllerMetadataUtil.d.ts +1 -1
  40. package/dist/util/ControllerMetadataUtil.js +20 -0
  41. package/dist/{src/util → util}/HTTPInfoUtil.d.ts +1 -1
  42. package/dist/util/HTTPInfoUtil.js +64 -0
  43. package/dist/util/HTTPPriorityUtil.js +42 -0
  44. package/dist/{src/util → util}/MethodInfoUtil.d.ts +2 -4
  45. package/dist/util/MethodInfoUtil.js +72 -0
  46. package/dist/util/index.d.ts +6 -0
  47. package/dist/util/index.js +7 -0
  48. package/dist/util/validator/ControllerValidator.js +15 -0
  49. package/dist/util/validator/MethodValidator.js +31 -0
  50. package/dist/util/validator/index.d.ts +2 -0
  51. package/dist/util/validator/index.js +3 -0
  52. package/package.json +31 -35
  53. package/README.json +0 -5
  54. package/dist/src/builder/ControllerMetaBuilderFactory.js +0 -49
  55. package/dist/src/decorator/Acl.js +0 -29
  56. package/dist/src/decorator/Context.js +0 -17
  57. package/dist/src/decorator/Middleware.js +0 -76
  58. package/dist/src/decorator/http/HTTPController.js +0 -39
  59. package/dist/src/decorator/http/HTTPMethod.js +0 -27
  60. package/dist/src/decorator/http/HTTPParam.js +0 -87
  61. package/dist/src/decorator/http/Host.js +0 -32
  62. package/dist/src/decorator/mcp/Extra.d.ts +0 -1
  63. package/dist/src/decorator/mcp/Extra.js +0 -12
  64. package/dist/src/decorator/mcp/MCPController.d.ts +0 -2
  65. package/dist/src/decorator/mcp/MCPController.js +0 -39
  66. package/dist/src/decorator/mcp/MCPPrompt.d.ts +0 -4
  67. package/dist/src/decorator/mcp/MCPPrompt.js +0 -34
  68. package/dist/src/decorator/mcp/MCPResource.d.ts +0 -2
  69. package/dist/src/decorator/mcp/MCPResource.js +0 -23
  70. package/dist/src/decorator/mcp/MCPTool.d.ts +0 -4
  71. package/dist/src/decorator/mcp/MCPTool.js +0 -34
  72. package/dist/src/impl/http/HTTPControllerMetaBuilder.js +0 -67
  73. package/dist/src/impl/http/HTTPControllerMethodMetaBuilder.js +0 -109
  74. package/dist/src/impl/mcp/MCPControllerMetaBuilder.d.ts +0 -11
  75. package/dist/src/impl/mcp/MCPControllerMetaBuilder.js +0 -83
  76. package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.d.ts +0 -8
  77. package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.js +0 -40
  78. package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.d.ts +0 -8
  79. package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.js +0 -38
  80. package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.d.ts +0 -8
  81. package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.js +0 -40
  82. package/dist/src/model/HTTPControllerMeta.js +0 -61
  83. package/dist/src/model/HTTPCookies.js +0 -8
  84. package/dist/src/model/HTTPMethodMeta.js +0 -139
  85. package/dist/src/model/HTTPRequest.d.ts +0 -4
  86. package/dist/src/model/HTTPRequest.js +0 -13
  87. package/dist/src/model/HTTPResponse.d.ts +0 -4
  88. package/dist/src/model/HTTPResponse.js +0 -13
  89. package/dist/src/model/MCPControllerMeta.d.ts +0 -26
  90. package/dist/src/model/MCPControllerMeta.js +0 -40
  91. package/dist/src/model/MCPPromptMeta.d.ts +0 -24
  92. package/dist/src/model/MCPPromptMeta.js +0 -18
  93. package/dist/src/model/MCPResourceMeta.d.ts +0 -25
  94. package/dist/src/model/MCPResourceMeta.js +0 -21
  95. package/dist/src/model/MCPToolMeta.d.ts +0 -22
  96. package/dist/src/model/MCPToolMeta.js +0 -17
  97. package/dist/src/model/index.d.ts +0 -9
  98. package/dist/src/model/index.js +0 -26
  99. package/dist/src/util/ControllerInfoUtil.js +0 -55
  100. package/dist/src/util/ControllerMetadataUtil.js +0 -24
  101. package/dist/src/util/HTTPInfoUtil.js +0 -67
  102. package/dist/src/util/HTTPPriorityUtil.js +0 -46
  103. package/dist/src/util/MCPInfoUtil.d.ts +0 -48
  104. package/dist/src/util/MCPInfoUtil.js +0 -108
  105. package/dist/src/util/MethodInfoUtil.js +0 -83
  106. package/dist/src/util/validator/ControllerValidator.js +0 -22
  107. package/dist/src/util/validator/MethodValidator.js +0 -38
  108. /package/dist/{src/builder → builder}/ControllerMetaBuilderFactory.d.ts +0 -0
  109. /package/dist/{src/decorator → decorator}/Acl.d.ts +0 -0
  110. /package/dist/{src/decorator → decorator}/Context.d.ts +0 -0
  111. /package/dist/{src/decorator → decorator}/Middleware.d.ts +0 -0
  112. /package/dist/{src/decorator → decorator}/http/HTTPController.d.ts +0 -0
  113. /package/dist/{src/decorator → decorator}/http/HTTPMethod.d.ts +0 -0
  114. /package/dist/{src/decorator → decorator}/http/HTTPParam.d.ts +0 -0
  115. /package/dist/{src/decorator → decorator}/http/Host.d.ts +0 -0
  116. /package/dist/{src/model → model}/HTTPCookies.d.ts +0 -0
  117. /package/dist/{src/util → util}/HTTPPriorityUtil.d.ts +0 -0
  118. /package/dist/{src/util → util}/validator/ControllerValidator.d.ts +0 -0
  119. /package/dist/{src/util → util}/validator/MethodValidator.d.ts +0 -0
@@ -1,32 +0,0 @@
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.Host = Host;
7
- const node_assert_1 = __importDefault(require("node:assert"));
8
- const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
9
- const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
10
- function Host(host) {
11
- function parseHost() {
12
- return Array.isArray(host) ? host : [host];
13
- }
14
- function classHost(constructor) {
15
- ControllerInfoUtil_1.default.addControllerHosts(parseHost(), constructor);
16
- }
17
- function methodHost(target, propertyKey) {
18
- (0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
19
- const controllerClazz = target.constructor;
20
- const methodName = propertyKey;
21
- MethodInfoUtil_1.default.setMethodHosts(parseHost(), controllerClazz, methodName);
22
- }
23
- return function (target, propertyKey) {
24
- if (propertyKey === undefined) {
25
- classHost(target);
26
- }
27
- else {
28
- methodHost(target, propertyKey);
29
- }
30
- };
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvaHR0cC9Ib3N0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0Esb0JBeUJDO0FBOUJELDhEQUFpQztBQUVqQyx1RkFBK0Q7QUFDL0QsK0VBQXVEO0FBRXZELFNBQWdCLElBQUksQ0FBQyxJQUFjO0lBRWpDLFNBQVMsU0FBUztRQUNoQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsU0FBUyxTQUFTLENBQUMsV0FBOEI7UUFDL0MsNEJBQWtCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELFNBQVMsVUFBVSxDQUFDLE1BQVcsRUFBRSxXQUF3QjtRQUN2RCxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsd0JBQWMsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXlCO1FBQ3BELElBQUksV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLFVBQVUsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1 +0,0 @@
1
- export declare function Extra(): (target: any, propertyKey: PropertyKey, parameterIndex: number) => void;
@@ -1,12 +0,0 @@
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
@@ -1,2 +0,0 @@
1
- import { MCPControllerParams, EggProtoImplClass } from '@eggjs/tegg-types';
2
- export declare function MCPController(param?: MCPControllerParams): (constructor: EggProtoImplClass) => void;
@@ -1,39 +0,0 @@
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
- MCPInfoUtil_1.MCPInfoUtil.setMCPControllerParams(param, constructor);
37
- };
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvbWNwL01DUENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFNQSxzQ0EyQkM7QUFqQ0Qsa0RBQXdHO0FBQ3hHLDBEQUFzRTtBQUN0RSx1RkFBK0Q7QUFDL0QsOERBQW9EO0FBQ3BELCtEQUE0RDtBQUU1RCxTQUFnQixhQUFhLENBQUMsS0FBMkI7SUFDdkQsT0FBTyxVQUFTLFdBQThCO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUEsK0JBQWMsRUFBQztZQUMxQixXQUFXLEVBQUUsd0JBQVcsQ0FBQyxNQUFNO1lBQy9CLElBQUksRUFBRSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsU0FBUztTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEIsNEJBQWtCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLDJCQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEUsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsY0FBYyxFQUFFLENBQUM7WUFDMUIsNEJBQWtCLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxjQUFjLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsOENBQThDO1FBQzlDLDJEQUEyRDtRQUMzRCx1RUFBdUU7UUFDdkUsa0dBQWtHO1FBQ2xHLGtHQUFrRztRQUNsRyx1RUFBdUU7UUFDdkUsOEJBQWEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLDRCQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0UsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxFQUFFLENBQUM7WUFDaEIseUJBQVcsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBQ0QsSUFBSSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxFQUFFLENBQUM7WUFDbkIseUJBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QseUJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,4 +0,0 @@
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;
@@ -1,34 +0,0 @@
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=
@@ -1,2 +0,0 @@
1
- import { MCPResourceParams } from '@eggjs/tegg-types';
2
- export declare function MCPResource(params: MCPResourceParams): (target: any, propertyKey: PropertyKey) => void;
@@ -1,23 +0,0 @@
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=
@@ -1,4 +0,0 @@
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;
@@ -1,34 +0,0 @@
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=
@@ -1,67 +0,0 @@
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.HTTPControllerMetaBuilder = void 0;
7
- const node_assert_1 = __importDefault(require("node:assert"));
8
- const core_decorator_1 = require("@eggjs/core-decorator");
9
- const tegg_common_util_1 = require("@eggjs/tegg-common-util");
10
- const tegg_metadata_1 = require("@eggjs/tegg-metadata");
11
- const tegg_types_1 = require("@eggjs/tegg-types");
12
- const ControllerMetaBuilderFactory_1 = require("../../builder/ControllerMetaBuilderFactory");
13
- const model_1 = require("../../model");
14
- const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
15
- const ControllerMetadataUtil_1 = require("../../util/ControllerMetadataUtil");
16
- const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
17
- const ControllerValidator_1 = require("../../util/validator/ControllerValidator");
18
- const HTTPControllerMethodMetaBuilder_1 = require("./HTTPControllerMethodMetaBuilder");
19
- class HTTPControllerMetaBuilder {
20
- constructor(clazz) {
21
- this.clazz = clazz;
22
- }
23
- buildMethod() {
24
- const methodNames = tegg_common_util_1.ObjectUtils.getProperties(this.clazz.prototype);
25
- const methods = [];
26
- for (const methodName of methodNames) {
27
- const builder = new HTTPControllerMethodMetaBuilder_1.HTTPControllerMethodMetaBuilder(this.clazz, methodName);
28
- const methodMeta = builder.build();
29
- if (methodMeta) {
30
- methods.push(methodMeta);
31
- }
32
- }
33
- return methods;
34
- }
35
- build() {
36
- ControllerValidator_1.ControllerValidator.validate(this.clazz);
37
- const controllerType = ControllerInfoUtil_1.default.getControllerType(this.clazz);
38
- (0, node_assert_1.default)(controllerType === tegg_types_1.ControllerType.HTTP, 'invalidate controller type');
39
- const httpPath = HTTPInfoUtil_1.default.getHTTPPath(this.clazz);
40
- const httpMiddlewares = ControllerInfoUtil_1.default.getControllerMiddlewares(this.clazz);
41
- const methods = this.buildMethod();
42
- const clazzName = this.clazz.name;
43
- const controllerName = ControllerInfoUtil_1.default.getControllerName(this.clazz) || clazzName;
44
- const property = core_decorator_1.PrototypeUtil.getProperty(this.clazz);
45
- const protoName = property.name;
46
- const needAcl = ControllerInfoUtil_1.default.hasControllerAcl(this.clazz);
47
- const aclCode = ControllerInfoUtil_1.default.getControllerAcl(this.clazz);
48
- const hosts = ControllerInfoUtil_1.default.getControllerHosts(this.clazz);
49
- const timeout = ControllerInfoUtil_1.default.getControllerTimeout(this.clazz);
50
- const metadata = new model_1.HTTPControllerMeta(clazzName, protoName, controllerName, httpPath, httpMiddlewares, methods, needAcl, aclCode, hosts, timeout);
51
- ControllerMetadataUtil_1.ControllerMetadataUtil.setControllerMetadata(this.clazz, metadata);
52
- for (const method of metadata.methods) {
53
- const realPath = metadata.getMethodRealPath(method);
54
- if (!realPath.startsWith('/')) {
55
- const desc = tegg_metadata_1.ClassUtil.classDescription(this.clazz);
56
- throw new Error(`class ${desc} method ${method.name} path ${realPath} not start with /`);
57
- }
58
- }
59
- return metadata;
60
- }
61
- static create(clazz) {
62
- return new HTTPControllerMetaBuilder(clazz);
63
- }
64
- }
65
- exports.HTTPControllerMetaBuilder = HTTPControllerMetaBuilder;
66
- ControllerMetaBuilderFactory_1.ControllerMetaBuilderFactory.registerControllerMetaBuilder(tegg_types_1.ControllerType.HTTP, HTTPControllerMetaBuilder.create);
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMsMERBQXNEO0FBQ3RELDhEQUFzRDtBQUN0RCx3REFBaUQ7QUFFakQsa0RBQW1EO0FBQ25ELDZGQUEwRjtBQUMxRix1Q0FBaUU7QUFDakUsdUZBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSwyRUFBbUQ7QUFDbkQsa0ZBQStFO0FBQy9FLHVGQUFvRjtBQUVwRixNQUFhLHlCQUF5QjtJQUdwQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLDhCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sT0FBTyxHQUFHLElBQUksaUVBQStCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM1RSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7UUFDSCx5Q0FBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLDRCQUFrQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RSxJQUFBLHFCQUFNLEVBQUMsY0FBYyxLQUFLLDJCQUFjLENBQUMsSUFBSSxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFDN0UsTUFBTSxRQUFRLEdBQUcsc0JBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE1BQU0sZUFBZSxHQUFHLDRCQUFrQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxjQUFjLEdBQUcsNEJBQWtCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsQ0FBQztRQUNyRixNQUFNLFFBQVEsR0FBRyw4QkFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsUUFBUyxDQUFDLElBQWMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyw0QkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsTUFBTSxPQUFPLEdBQUcsNEJBQWtCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sS0FBSyxHQUFHLDRCQUFrQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRSxNQUFNLE9BQU8sR0FBRyw0QkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQUcsSUFBSSwwQkFBa0IsQ0FDckMsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUcsK0NBQXNCLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNuRSxLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN0QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxJQUFJLEdBQUcseUJBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLFdBQVcsTUFBTSxDQUFDLElBQUksU0FBUyxRQUFRLG1CQUFtQixDQUFDLENBQUM7WUFDM0YsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUF3QjtRQUNwQyxPQUFPLElBQUkseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGO0FBbkRELDhEQW1EQztBQUVELDJEQUE0QixDQUFDLDZCQUE2QixDQUFDLDJCQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDIn0=
@@ -1,109 +0,0 @@
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.HTTPControllerMethodMetaBuilder = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const tegg_metadata_1 = require("@eggjs/tegg-metadata");
9
- const model_1 = require("../../model");
10
- const MethodValidator_1 = require("../../util/validator/MethodValidator");
11
- const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
12
- const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
13
- const HTTPPriorityUtil_1 = require("../../util/HTTPPriorityUtil");
14
- class HTTPControllerMethodMetaBuilder {
15
- constructor(clazz, methodName) {
16
- this.clazz = clazz;
17
- this.methodName = methodName;
18
- }
19
- // 检查 HTTP 方法上参数是否都加上了注解
20
- // foo(a, b=233, c); foo.length = 2;
21
- // 由于这种情况的存在, 所以需要对 function 参数检查进行特殊处理
22
- // 如果有注解的参数比 function.length 长, 长度应该取有注解参数总数(包括 @Context)
23
- //
24
- // 但是有两种特殊情况无法处理
25
- // foo(@Context() ctx, @HTTPParam() id1, id2 = 233)
26
- // foo(@Context() ctx, @HTTPParam() id1, id2 = 233, id3)
27
- // 这两种情况均为默认值参数在
28
- checkParamDecorators() {
29
- const method = this.clazz.prototype[this.methodName];
30
- // 获取函数参数长度
31
- const functionLength = method.length;
32
- // 计算带注解参数
33
- const paramIndexList = HTTPInfoUtil_1.default.getParamIndexList(this.clazz, this.methodName);
34
- const contextIndex = MethodInfoUtil_1.default.getMethodContextIndex(this.clazz, this.methodName);
35
- const hasAnnotationParamCount = typeof contextIndex === 'undefined'
36
- ? paramIndexList.length
37
- : paramIndexList.length + 1;
38
- const maxParamCount = Math.max(functionLength, hasAnnotationParamCount);
39
- for (let i = 0; i < maxParamCount; ++i) {
40
- // 上下文参数, 跳过检查
41
- if (i === contextIndex) {
42
- continue;
43
- }
44
- const paramType = HTTPInfoUtil_1.default.getHTTPMethodParamType(i, this.clazz, this.methodName);
45
- if (!paramType) {
46
- const classDesc = tegg_metadata_1.ClassUtil.classDescription(this.clazz);
47
- throw new Error(`${classDesc}:${this.methodName} param ${i} has no http param type, Please add @HTTPBody, @HTTPParam, @HTTPQuery, @HTTPQueries`);
48
- }
49
- }
50
- }
51
- buildParamType(httpPath) {
52
- this.checkParamDecorators();
53
- const paramTypeMap = new Map();
54
- const paramIndexList = HTTPInfoUtil_1.default.getParamIndexList(this.clazz, this.methodName);
55
- for (const paramIndex of paramIndexList) {
56
- const paramType = HTTPInfoUtil_1.default.getHTTPMethodParamType(paramIndex, this.clazz, this.methodName);
57
- const paramName = HTTPInfoUtil_1.default.getHTTPMethodParamName(paramIndex, this.clazz, this.methodName);
58
- const paramMeta = model_1.ParamMetaUtil.createParam(paramType, paramName);
59
- try {
60
- paramMeta.validate(httpPath);
61
- }
62
- catch (e) {
63
- const classDesc = tegg_metadata_1.ClassUtil.classDescription(this.clazz);
64
- e.message = `build controller ${classDesc} method ${this.methodName} param ${paramName} failed: ${e.message}`;
65
- throw e;
66
- }
67
- paramTypeMap.set(paramIndex, paramMeta);
68
- }
69
- return paramTypeMap;
70
- }
71
- getPriority() {
72
- const priority = HTTPInfoUtil_1.default.getHTTPMethodPriority(this.clazz, this.methodName);
73
- if (priority !== undefined) {
74
- return priority;
75
- }
76
- const controllerPath = HTTPInfoUtil_1.default.getHTTPPath(this.clazz);
77
- const methodPath = HTTPInfoUtil_1.default.getHTTPMethodPath(this.clazz, this.methodName);
78
- const realPath = controllerPath ? node_path_1.default.posix.join(controllerPath, methodPath) : methodPath;
79
- const defaultPriority = HTTPPriorityUtil_1.HTTPPriorityUtil.calcPathPriority(realPath);
80
- if (defaultPriority > HTTPPriorityUtil_1.HTTPPriorityUtil.DEFAULT_PRIORITY) {
81
- throw new Error(`path ${realPath} is too long, should set priority manually`);
82
- }
83
- return defaultPriority;
84
- }
85
- build() {
86
- MethodValidator_1.MethodValidator.validate(this.clazz, this.methodName);
87
- const controllerType = MethodInfoUtil_1.default.getMethodControllerType(this.clazz, this.methodName);
88
- if (!controllerType) {
89
- return undefined;
90
- }
91
- const httpMethod = HTTPInfoUtil_1.default.getHTTPMethodMethod(this.clazz, this.methodName);
92
- const parentPath = HTTPInfoUtil_1.default.getHTTPPath(this.clazz);
93
- const httpPath = HTTPInfoUtil_1.default.getHTTPMethodPath(this.clazz, this.methodName);
94
- const contextIndex = MethodInfoUtil_1.default.getMethodContextIndex(this.clazz, this.methodName);
95
- const middlewares = MethodInfoUtil_1.default.getMethodMiddlewares(this.clazz, this.methodName);
96
- const needAcl = MethodInfoUtil_1.default.hasMethodAcl(this.clazz, this.methodName);
97
- const aclCode = MethodInfoUtil_1.default.getMethodAcl(this.clazz, this.methodName);
98
- const hosts = MethodInfoUtil_1.default.getMethodHosts(this.clazz, this.methodName);
99
- const timeout = MethodInfoUtil_1.default.getMethodTimeout(this.clazz, this.methodName);
100
- const realPath = parentPath
101
- ? node_path_1.default.posix.join(parentPath, httpPath)
102
- : httpPath;
103
- const paramTypeMap = this.buildParamType(realPath);
104
- const priority = this.getPriority();
105
- return new model_1.HTTPMethodMeta(this.methodName, httpPath, httpMethod, middlewares, contextIndex, paramTypeMap, priority, needAcl, aclCode, hosts, timeout);
106
- }
107
- }
108
- exports.HTTPControllerMethodMetaBuilder = HTTPControllerMethodMetaBuilder;
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBNkI7QUFDN0Isd0RBQWlEO0FBRWpELHVDQUF1RTtBQUN2RSwwRUFBdUU7QUFDdkUsMkVBQW1EO0FBQ25ELCtFQUF1RDtBQUN2RCxrRUFBK0Q7QUFFL0QsTUFBYSwrQkFBK0I7SUFJMUMsWUFBWSxLQUF3QixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsb0NBQW9DO0lBQ3BDLHVDQUF1QztJQUN2Qyx5REFBeUQ7SUFDekQsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGdCQUFnQjtJQUNSLG9CQUFvQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsV0FBVztRQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFckMsVUFBVTtRQUNWLE1BQU0sY0FBYyxHQUFHLHNCQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkYsTUFBTSxZQUFZLEdBQUcsd0JBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RixNQUFNLHVCQUF1QixHQUFHLE9BQU8sWUFBWSxLQUFLLFdBQVc7WUFDakUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNO1lBQ3ZCLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUc5QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRXhFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxjQUFjO1lBQ2QsSUFBSSxDQUFDLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQ3ZCLFNBQVM7WUFDWCxDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdEYsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNmLE1BQU0sU0FBUyxHQUFHLHlCQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6RCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQyxxRkFBcUYsQ0FBQyxDQUFDO1lBQ25KLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxRQUFnQjtRQUNyQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBcUIsQ0FBQztRQUNsRCxNQUFNLGNBQWMsR0FBRyxzQkFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25GLEtBQUssTUFBTSxVQUFVLElBQUksY0FBYyxFQUFFLENBQUM7WUFDeEMsTUFBTSxTQUFTLEdBQUcsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUM7WUFDaEcsTUFBTSxTQUFTLEdBQUcsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0YsTUFBTSxTQUFTLEdBQUcscUJBQWEsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRWxFLElBQUksQ0FBQztnQkFDSCxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE1BQU0sU0FBUyxHQUFHLHlCQUFTLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsT0FBTyxHQUFHLG9CQUFvQixTQUFTLFdBQVcsSUFBSSxDQUFDLFVBQVUsVUFBVSxTQUFTLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5RyxNQUFNLENBQUMsQ0FBQztZQUNWLENBQUM7WUFFRCxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLFFBQVEsR0FBRyxzQkFBWSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pGLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzNCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxNQUFNLGNBQWMsR0FBRyxzQkFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUQsTUFBTSxVQUFVLEdBQUcsc0JBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUUsQ0FBQztRQUNoRixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLG1CQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUMzRixNQUFNLGVBQWUsR0FBRyxtQ0FBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxJQUFJLGVBQWUsR0FBRyxtQ0FBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxRQUFRLDRDQUE0QyxDQUFDLENBQUM7UUFDaEYsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLO1FBQ0gsaUNBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsTUFBTSxjQUFjLEdBQUcsd0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLHNCQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakYsTUFBTSxVQUFVLEdBQUcsc0JBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0sUUFBUSxHQUFHLHNCQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFFLENBQUM7UUFDOUUsTUFBTSxZQUFZLEdBQUcsd0JBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RixNQUFNLFdBQVcsR0FBRyx3QkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sS0FBSyxHQUFHLHdCQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sT0FBTyxHQUFHLHdCQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0UsTUFBTSxRQUFRLEdBQUcsVUFBVTtZQUN6QixDQUFDLENBQUMsbUJBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDdkMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUNiLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxzQkFBYyxDQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVMsRUFBRSxVQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xJLENBQUM7Q0FDRjtBQTVHRCwwRUE0R0MifQ==
@@ -1,11 +0,0 @@
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
- }
@@ -1,83 +0,0 @@
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);
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
- const meta = MCPInfoUtil_1.MCPInfoUtil.getMCPControllerParams(this.clazz);
75
- return new MCPControllerMeta_1.MCPControllerMeta(clazzName, protoName, controllerName, version, tools, resources, prompts, mcpMiddlewares, name, needAcl, aclCode, meta);
76
- }
77
- static create(clazz) {
78
- return new MCPControllerMetaBuilder(clazz);
79
- }
80
- }
81
- exports.MCPControllerMetaBuilder = MCPControllerMetaBuilder;
82
- ControllerMetaBuilderFactory_1.ControllerMetaBuilderFactory.registerControllerMetaBuilder(tegg_types_1.ControllerType.MCP, MCPControllerMetaBuilder.create);
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQQ29udHJvbGxlck1ldGFCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltcGwvbWNwL01DUENvbnRyb2xsZXJNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsMERBQXNEO0FBRXRELGtGQUErRTtBQUMvRSx1RkFBK0Q7QUFDL0QscUZBQWtGO0FBQ2xGLHlGQUFzRjtBQUN0RixpRkFBOEU7QUFDOUUsK0RBQTREO0FBQzVELGtEQUFzRTtBQUN0RSw0RUFBeUU7QUFDekUsNkZBQTBGO0FBRTFGLE1BQWEsd0JBQXdCO0lBR25DLFlBQVksS0FBd0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxXQUFXLEdBQUcseUJBQVcsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFzQixFQUFFLENBQUM7UUFDdEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1FQUFnQyxDQUNsRCxJQUFJLENBQUMsS0FBSyxFQUNWLFVBQVUsQ0FDWCxDQUFDO1lBQ0YsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25DLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBb0IsRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxV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
@@ -1,8 +0,0 @@
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
- }
@@ -1,40 +0,0 @@
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==
@@ -1,8 +0,0 @@
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
- }
@@ -1,38 +0,0 @@
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=
@@ -1,8 +0,0 @@
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
- }