@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.
- package/README.md +17 -0
- package/dist/builder/ControllerMetaBuilderFactory.js +41 -0
- package/dist/builder/index.d.ts +1 -0
- package/dist/builder/index.js +2 -0
- package/dist/decorator/Acl.js +22 -0
- package/dist/decorator/Context.js +11 -0
- package/dist/decorator/Middleware.js +69 -0
- package/dist/decorator/http/HTTPController.js +29 -0
- package/dist/decorator/http/HTTPMethod.js +17 -0
- package/dist/decorator/http/HTTPParam.js +75 -0
- package/dist/decorator/http/Host.js +25 -0
- package/dist/decorator/http/index.d.ts +4 -0
- package/dist/decorator/http/index.js +5 -0
- package/dist/decorator/index.d.ts +4 -0
- package/dist/decorator/index.js +5 -0
- package/dist/{src/impl → impl}/http/HTTPControllerMetaBuilder.d.ts +1 -1
- package/dist/impl/http/HTTPControllerMetaBuilder.js +57 -0
- package/dist/{src/impl → impl}/http/HTTPControllerMethodMetaBuilder.d.ts +1 -1
- package/dist/impl/http/HTTPControllerMethodMetaBuilder.js +100 -0
- package/dist/impl/http/index.d.ts +2 -0
- package/dist/impl/http/index.js +3 -0
- package/dist/impl/index.d.ts +1 -0
- package/dist/impl/index.js +2 -0
- package/dist/index.d.ts +5 -20
- package/dist/index.js +7 -43
- package/dist/{src/model → model}/HTTPControllerMeta.d.ts +2 -4
- package/dist/model/HTTPControllerMeta.js +60 -0
- package/dist/model/HTTPCookies.js +4 -0
- package/dist/{src/model → model}/HTTPMethodMeta.d.ts +2 -3
- package/dist/model/HTTPMethodMeta.js +124 -0
- package/dist/model/HTTPRequest.d.ts +7 -0
- package/dist/model/HTTPRequest.js +3 -0
- package/dist/model/HTTPResponse.d.ts +10 -0
- package/dist/model/HTTPResponse.js +3 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.js +6 -0
- package/dist/{src/util → util}/ControllerInfoUtil.d.ts +3 -5
- package/dist/util/ControllerInfoUtil.js +46 -0
- package/dist/{src/util → util}/ControllerMetadataUtil.d.ts +1 -1
- package/dist/util/ControllerMetadataUtil.js +20 -0
- package/dist/{src/util → util}/HTTPInfoUtil.d.ts +1 -1
- package/dist/util/HTTPInfoUtil.js +64 -0
- package/dist/util/HTTPPriorityUtil.js +42 -0
- package/dist/{src/util → util}/MethodInfoUtil.d.ts +2 -4
- package/dist/util/MethodInfoUtil.js +72 -0
- package/dist/util/index.d.ts +6 -0
- package/dist/util/index.js +7 -0
- package/dist/util/validator/ControllerValidator.js +15 -0
- package/dist/util/validator/MethodValidator.js +31 -0
- package/dist/util/validator/index.d.ts +2 -0
- package/dist/util/validator/index.js +3 -0
- package/package.json +31 -35
- package/README.json +0 -5
- package/dist/src/builder/ControllerMetaBuilderFactory.js +0 -49
- package/dist/src/decorator/Acl.js +0 -29
- package/dist/src/decorator/Context.js +0 -17
- package/dist/src/decorator/Middleware.js +0 -76
- package/dist/src/decorator/http/HTTPController.js +0 -39
- package/dist/src/decorator/http/HTTPMethod.js +0 -27
- package/dist/src/decorator/http/HTTPParam.js +0 -87
- package/dist/src/decorator/http/Host.js +0 -32
- package/dist/src/decorator/mcp/Extra.d.ts +0 -1
- package/dist/src/decorator/mcp/Extra.js +0 -12
- package/dist/src/decorator/mcp/MCPController.d.ts +0 -2
- package/dist/src/decorator/mcp/MCPController.js +0 -39
- package/dist/src/decorator/mcp/MCPPrompt.d.ts +0 -4
- package/dist/src/decorator/mcp/MCPPrompt.js +0 -34
- package/dist/src/decorator/mcp/MCPResource.d.ts +0 -2
- package/dist/src/decorator/mcp/MCPResource.js +0 -23
- package/dist/src/decorator/mcp/MCPTool.d.ts +0 -4
- package/dist/src/decorator/mcp/MCPTool.js +0 -34
- package/dist/src/impl/http/HTTPControllerMetaBuilder.js +0 -67
- package/dist/src/impl/http/HTTPControllerMethodMetaBuilder.js +0 -109
- package/dist/src/impl/mcp/MCPControllerMetaBuilder.d.ts +0 -11
- package/dist/src/impl/mcp/MCPControllerMetaBuilder.js +0 -83
- package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.d.ts +0 -8
- package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.js +0 -40
- package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.d.ts +0 -8
- package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.js +0 -38
- package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.d.ts +0 -8
- package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.js +0 -40
- package/dist/src/model/HTTPControllerMeta.js +0 -61
- package/dist/src/model/HTTPCookies.js +0 -8
- package/dist/src/model/HTTPMethodMeta.js +0 -139
- package/dist/src/model/HTTPRequest.d.ts +0 -4
- package/dist/src/model/HTTPRequest.js +0 -13
- package/dist/src/model/HTTPResponse.d.ts +0 -4
- package/dist/src/model/HTTPResponse.js +0 -13
- package/dist/src/model/MCPControllerMeta.d.ts +0 -26
- package/dist/src/model/MCPControllerMeta.js +0 -40
- package/dist/src/model/MCPPromptMeta.d.ts +0 -24
- package/dist/src/model/MCPPromptMeta.js +0 -18
- package/dist/src/model/MCPResourceMeta.d.ts +0 -25
- package/dist/src/model/MCPResourceMeta.js +0 -21
- package/dist/src/model/MCPToolMeta.d.ts +0 -22
- package/dist/src/model/MCPToolMeta.js +0 -17
- package/dist/src/model/index.d.ts +0 -9
- package/dist/src/model/index.js +0 -26
- package/dist/src/util/ControllerInfoUtil.js +0 -55
- package/dist/src/util/ControllerMetadataUtil.js +0 -24
- package/dist/src/util/HTTPInfoUtil.js +0 -67
- package/dist/src/util/HTTPPriorityUtil.js +0 -46
- package/dist/src/util/MCPInfoUtil.d.ts +0 -48
- package/dist/src/util/MCPInfoUtil.js +0 -108
- package/dist/src/util/MethodInfoUtil.js +0 -83
- package/dist/src/util/validator/ControllerValidator.js +0 -22
- package/dist/src/util/validator/MethodValidator.js +0 -38
- /package/dist/{src/builder → builder}/ControllerMetaBuilderFactory.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Acl.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Context.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Middleware.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/HTTPController.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/HTTPMethod.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/HTTPParam.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/Host.d.ts +0 -0
- /package/dist/{src/model → model}/HTTPCookies.d.ts +0 -0
- /package/dist/{src/util → util}/HTTPPriorityUtil.d.ts +0 -0
- /package/dist/{src/util → util}/validator/ControllerValidator.d.ts +0 -0
- /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,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,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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4REFBaUM7QUFDakMsMERBQXNEO0FBQ3RELDhEQUFzRDtBQUN0RCx3REFBaUQ7QUFFakQsa0RBQW1EO0FBQ25ELDZGQUEwRjtBQUMxRix1Q0FBaUU7QUFDakUsdUZBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSwyRUFBbUQ7QUFDbkQsa0ZBQStFO0FBQy9FLHVGQUFvRjtBQUVwRixNQUFhLHlCQUF5QjtJQUdwQyxZQUFZLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sV0FBVyxHQUFHLDhCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQXFCLEVBQUUsQ0FBQztRQUNyQyxLQUFLLE1BQU0sVUFBVSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sT0FBTyxHQUFHLElBQUksaUVBQStCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM1RSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbkMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7UUFDSCx5Q0FBbUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLDRCQUFrQixDQUFDLGlCQUFp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
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBNkI7QUFDN0Isd0RBQWlEO0FBRWpELHVDQUF1RTtBQUN2RSwwRUFBdUU7QUFDdkUsMkVBQW1EO0FBQ25ELCtFQUF1RDtBQUN2RCxrRUFBK0Q7QUFFL0QsTUFBYSwrQkFBK0I7SUFJMUMsWUFBWSxLQUF3QixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsb0NBQW9DO0lBQ3BDLHVDQUF1QztJQUN2Qyx5REFBeUQ7SUFDekQsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGdCQUFnQjtJQUNSLG9CQUFvQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsV0FBVztRQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFckMsVUFBVTtRQUNWLE1BQU0sY0FBYyxHQUFHLHNCQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkYsTUFBTSxZQUFZLEdBQUcsd0JBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RixNQUFNLHVCQUF1QixHQUFHLE9BQU8sWUFBWSxLQUFLLFdBQVc7WUFDakUsQ0FBQyxDQUFDLGNBQWMs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
|
|
@@ -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
|
-
}
|