@eggjs/controller-decorator 4.0.0-beta.9 → 4.0.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/builder/ControllerMetaBuilderFactory.d.ts +10 -6
- package/dist/builder/ControllerMetaBuilderFactory.js +37 -41
- package/dist/builder/index.d.ts +1 -1
- package/dist/builder/index.js +3 -2
- package/dist/decorator/Acl.d.ts +4 -1
- package/dist/decorator/Acl.js +23 -21
- package/dist/decorator/Context.d.ts +4 -1
- package/dist/decorator/Context.js +15 -10
- package/dist/decorator/Middleware.d.ts +6 -2
- package/dist/decorator/Middleware.js +51 -64
- package/dist/decorator/http/HTTPController.d.ts +6 -2
- package/dist/decorator/http/HTTPController.js +23 -28
- package/dist/decorator/http/HTTPMethod.d.ts +6 -2
- package/dist/decorator/http/HTTPMethod.js +21 -16
- package/dist/decorator/http/HTTPParam.d.ts +159 -8
- package/dist/decorator/http/HTTPParam.js +216 -68
- package/dist/decorator/http/Host.d.ts +6 -2
- package/dist/decorator/http/Host.js +26 -24
- package/dist/decorator/http/index.d.ts +5 -4
- package/dist/decorator/http/index.js +7 -5
- package/dist/decorator/index.d.ts +14 -4
- package/dist/decorator/index.js +16 -5
- package/dist/decorator/mcp/Extra.d.ts +4 -0
- package/dist/decorator/mcp/Extra.js +13 -0
- package/dist/decorator/mcp/MCPController.d.ts +6 -0
- package/dist/decorator/mcp/MCPController.js +24 -0
- package/dist/decorator/mcp/MCPPrompt.d.ts +8 -0
- package/dist/decorator/mcp/MCPPrompt.js +31 -0
- package/dist/decorator/mcp/MCPResource.d.ts +6 -0
- package/dist/decorator/mcp/MCPResource.js +21 -0
- package/dist/decorator/mcp/MCPTool.d.ts +8 -0
- package/dist/decorator/mcp/MCPTool.js +31 -0
- package/dist/decorator/mcp/index.d.ts +5 -0
- package/dist/decorator/mcp/index.js +7 -0
- package/dist/impl/http/HTTPControllerMetaBuilder.d.ts +13 -8
- package/dist/impl/http/HTTPControllerMetaBuilder.js +58 -55
- package/dist/impl/http/HTTPControllerMethodMetaBuilder.d.ts +15 -10
- package/dist/impl/http/HTTPControllerMethodMetaBuilder.js +81 -100
- package/dist/impl/http/index.d.ts +2 -2
- package/dist/impl/http/index.js +4 -3
- package/dist/impl/index.d.ts +8 -1
- package/dist/impl/index.js +10 -2
- package/dist/impl/mcp/MCPControllerMetaBuilder.d.ts +15 -0
- package/dist/impl/mcp/MCPControllerMetaBuilder.js +67 -0
- package/dist/impl/mcp/MCPControllerPromptMetaBuilder.d.ts +13 -0
- package/dist/impl/mcp/MCPControllerPromptMetaBuilder.js +37 -0
- package/dist/impl/mcp/MCPControllerResourceMetaBuilder.d.ts +13 -0
- package/dist/impl/mcp/MCPControllerResourceMetaBuilder.js +35 -0
- package/dist/impl/mcp/MCPControllerToolMetaBuilder.d.ts +13 -0
- package/dist/impl/mcp/MCPControllerToolMetaBuilder.js +37 -0
- package/dist/impl/mcp/index.d.ts +4 -0
- package/dist/impl/mcp/index.js +6 -0
- package/dist/index.d.ts +42 -6
- package/dist/index.js +44 -7
- package/dist/model/HTTPControllerMeta.d.ts +26 -21
- package/dist/model/HTTPControllerMeta.js +58 -60
- package/dist/model/HTTPCookies.d.ts +2 -3
- package/dist/model/HTTPCookies.js +3 -4
- package/dist/model/HTTPMethodMeta.d.ts +60 -56
- package/dist/model/HTTPMethodMeta.js +104 -124
- package/dist/model/HTTPResponse.d.ts +6 -9
- package/dist/model/HTTPResponse.js +6 -3
- package/dist/model/MCPControllerMeta.d.ts +29 -0
- package/dist/model/MCPControllerMeta.js +51 -0
- package/dist/model/MCPPromptMeta.d.ts +28 -0
- package/dist/model/MCPPromptMeta.js +26 -0
- package/dist/model/MCPResourceMeta.d.ts +28 -0
- package/dist/model/MCPResourceMeta.js +28 -0
- package/dist/model/MCPToolMeta.d.ts +26 -0
- package/dist/model/MCPToolMeta.js +24 -0
- package/dist/model/index.d.ts +8 -5
- package/dist/model/index.js +10 -6
- package/dist/util/ControllerInfoUtil.d.ts +21 -16
- package/dist/util/ControllerInfoUtil.js +54 -46
- package/dist/util/ControllerMetadataUtil.d.ts +8 -4
- package/dist/util/ControllerMetadataUtil.js +21 -20
- package/dist/util/HTTPInfoUtil.d.ts +19 -15
- package/dist/util/HTTPInfoUtil.js +53 -64
- package/dist/util/HTTPPriorityUtil.d.ts +22 -18
- package/dist/util/HTTPPriorityUtil.js +39 -42
- package/dist/util/MCPInfoUtil.d.ts +52 -0
- package/dist/util/MCPInfoUtil.js +87 -0
- package/dist/util/MethodInfoUtil.d.ts +24 -19
- package/dist/util/MethodInfoUtil.js +68 -72
- package/dist/util/index.d.ts +9 -6
- package/dist/util/index.js +11 -7
- package/dist/util/validator/ControllerValidator.d.ts +7 -3
- package/dist/util/validator/ControllerValidator.js +15 -14
- package/dist/util/validator/MethodValidator.d.ts +7 -3
- package/dist/util/validator/MethodValidator.js +30 -30
- package/dist/util/validator/index.d.ts +2 -2
- package/dist/util/validator/index.js +4 -3
- package/package.json +36 -39
- package/dist/model/HTTPRequest.d.ts +0 -7
- package/dist/model/HTTPRequest.js +0 -3
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ControllerInfoUtil } from "../../util/ControllerInfoUtil.js";
|
|
2
|
+
import { MCPInfoUtil } from "../../util/MCPInfoUtil.js";
|
|
3
|
+
import { PrototypeUtil, SingletonProto } from "@eggjs/core-decorator";
|
|
4
|
+
import { AccessLevel, ControllerType } from "@eggjs/tegg-types";
|
|
5
|
+
import { StackUtil } from "@eggjs/tegg-common-util";
|
|
6
|
+
|
|
7
|
+
//#region src/decorator/mcp/MCPController.ts
|
|
8
|
+
function MCPController(param) {
|
|
9
|
+
return function(constructor) {
|
|
10
|
+
SingletonProto({
|
|
11
|
+
accessLevel: AccessLevel.PUBLIC,
|
|
12
|
+
name: param?.protoName
|
|
13
|
+
})(constructor);
|
|
14
|
+
ControllerInfoUtil.setControllerType(constructor, ControllerType.MCP);
|
|
15
|
+
if (param?.controllerName) ControllerInfoUtil.setControllerName(constructor, param?.controllerName);
|
|
16
|
+
PrototypeUtil.setFilePath(constructor, StackUtil.getCalleeFromStack(false, 5));
|
|
17
|
+
if (param?.name) MCPInfoUtil.setMCPName(param.name, constructor);
|
|
18
|
+
if (param?.version) MCPInfoUtil.setMCPVersion(param.version, constructor);
|
|
19
|
+
MCPInfoUtil.setMCPControllerParams(param, constructor);
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
//#endregion
|
|
24
|
+
export { MCPController };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MCPPromptParams } from "@eggjs/tegg-types";
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
|
|
4
|
+
//#region src/decorator/mcp/MCPPrompt.d.ts
|
|
5
|
+
declare function MCPPrompt(params?: MCPPromptParams): (target: any, propertyKey: PropertyKey) => void;
|
|
6
|
+
declare function PromptArgsSchema(argsSchema: Parameters<McpServer["prompt"]>["2"]): (target: any, propertyKey: PropertyKey, parameterIndex: number) => void;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { MCPPrompt, PromptArgsSchema };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MethodInfoUtil } from "../../util/MethodInfoUtil.js";
|
|
2
|
+
import { MCPInfoUtil } from "../../util/MCPInfoUtil.js";
|
|
3
|
+
import { ControllerType } from "@eggjs/tegg-types";
|
|
4
|
+
|
|
5
|
+
//#region src/decorator/mcp/MCPPrompt.ts
|
|
6
|
+
function MCPPrompt(params) {
|
|
7
|
+
return function(target, propertyKey) {
|
|
8
|
+
const controllerClazz = target.constructor;
|
|
9
|
+
const methodName = propertyKey;
|
|
10
|
+
MethodInfoUtil.setMethodControllerType(controllerClazz, methodName, ControllerType.MCP);
|
|
11
|
+
MCPInfoUtil.setMCPPromptParams({
|
|
12
|
+
...params,
|
|
13
|
+
mcpName: params?.name,
|
|
14
|
+
name: methodName
|
|
15
|
+
}, controllerClazz, methodName);
|
|
16
|
+
MCPInfoUtil.setMCPPrompt(controllerClazz, methodName);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function PromptArgsSchema(argsSchema) {
|
|
20
|
+
return function(target, propertyKey, parameterIndex) {
|
|
21
|
+
const controllerClazz = target.constructor;
|
|
22
|
+
const methodName = propertyKey;
|
|
23
|
+
MCPInfoUtil.setMCPPromptArgsInArgs({
|
|
24
|
+
argsSchema,
|
|
25
|
+
index: parameterIndex
|
|
26
|
+
}, controllerClazz, methodName);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { MCPPrompt, PromptArgsSchema };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MethodInfoUtil } from "../../util/MethodInfoUtil.js";
|
|
2
|
+
import { MCPInfoUtil } from "../../util/MCPInfoUtil.js";
|
|
3
|
+
import { ControllerType } from "@eggjs/tegg-types";
|
|
4
|
+
|
|
5
|
+
//#region src/decorator/mcp/MCPResource.ts
|
|
6
|
+
function MCPResource(params) {
|
|
7
|
+
return function(target, propertyKey) {
|
|
8
|
+
const controllerClazz = target.constructor;
|
|
9
|
+
const methodName = propertyKey;
|
|
10
|
+
MethodInfoUtil.setMethodControllerType(controllerClazz, methodName, ControllerType.MCP);
|
|
11
|
+
MCPInfoUtil.setMCPResourceParams({
|
|
12
|
+
...params,
|
|
13
|
+
mcpName: params.name,
|
|
14
|
+
name: methodName
|
|
15
|
+
}, controllerClazz, methodName);
|
|
16
|
+
MCPInfoUtil.setMCPResource(controllerClazz, methodName);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { MCPResource };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MCPToolParams } from "@eggjs/tegg-types";
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
|
|
4
|
+
//#region src/decorator/mcp/MCPTool.d.ts
|
|
5
|
+
declare function MCPTool(params?: MCPToolParams): (target: any, propertyKey: PropertyKey) => void;
|
|
6
|
+
declare function ToolArgsSchema(argsSchema: Parameters<McpServer["tool"]>["2"]): (target: any, propertyKey: PropertyKey, parameterIndex: number) => void;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { MCPTool, ToolArgsSchema };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MethodInfoUtil } from "../../util/MethodInfoUtil.js";
|
|
2
|
+
import { MCPInfoUtil } from "../../util/MCPInfoUtil.js";
|
|
3
|
+
import { ControllerType } from "@eggjs/tegg-types";
|
|
4
|
+
|
|
5
|
+
//#region src/decorator/mcp/MCPTool.ts
|
|
6
|
+
function MCPTool(params) {
|
|
7
|
+
return function(target, propertyKey) {
|
|
8
|
+
const controllerClazz = target.constructor;
|
|
9
|
+
const methodName = propertyKey;
|
|
10
|
+
MethodInfoUtil.setMethodControllerType(controllerClazz, methodName, ControllerType.MCP);
|
|
11
|
+
MCPInfoUtil.setMCPToolParams({
|
|
12
|
+
...params,
|
|
13
|
+
mcpName: params?.name,
|
|
14
|
+
name: methodName
|
|
15
|
+
}, controllerClazz, methodName);
|
|
16
|
+
MCPInfoUtil.setMCPTool(controllerClazz, methodName);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function ToolArgsSchema(argsSchema) {
|
|
20
|
+
return function(target, propertyKey, parameterIndex) {
|
|
21
|
+
const controllerClazz = target.constructor;
|
|
22
|
+
const methodName = propertyKey;
|
|
23
|
+
MCPInfoUtil.setMCPToolArgsInArgs({
|
|
24
|
+
argsSchema,
|
|
25
|
+
index: parameterIndex
|
|
26
|
+
}, controllerClazz, methodName);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { MCPTool, ToolArgsSchema };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Extra } from "./Extra.js";
|
|
2
|
+
import { MCPController } from "./MCPController.js";
|
|
3
|
+
import { MCPPrompt, PromptArgsSchema } from "./MCPPrompt.js";
|
|
4
|
+
import { MCPResource } from "./MCPResource.js";
|
|
5
|
+
import { MCPTool, ToolArgsSchema } from "./MCPTool.js";
|
|
6
|
+
|
|
7
|
+
export { };
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { HTTPControllerMeta } from "../../model/HTTPControllerMeta.js";
|
|
2
|
+
import "../../model/index.js";
|
|
3
|
+
import { EggProtoImplClass } from "@eggjs/tegg-types";
|
|
4
|
+
|
|
5
|
+
//#region src/impl/http/HTTPControllerMetaBuilder.d.ts
|
|
6
|
+
declare class HTTPControllerMetaBuilder {
|
|
7
|
+
private readonly clazz;
|
|
8
|
+
constructor(clazz: EggProtoImplClass);
|
|
9
|
+
private buildMethod;
|
|
10
|
+
build(): HTTPControllerMeta;
|
|
11
|
+
static create(clazz: EggProtoImplClass): HTTPControllerMetaBuilder;
|
|
9
12
|
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { HTTPControllerMetaBuilder };
|
|
@@ -1,57 +1,60 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import { ControllerMetaBuilderFactory } from "../../builder/
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
1
|
+
import { ControllerInfoUtil } from "../../util/ControllerInfoUtil.js";
|
|
2
|
+
import { ControllerValidator } from "../../util/validator/ControllerValidator.js";
|
|
3
|
+
import { ControllerMetadataUtil } from "../../util/ControllerMetadataUtil.js";
|
|
4
|
+
import { HTTPInfoUtil } from "../../util/HTTPInfoUtil.js";
|
|
5
|
+
import "../../util/index.js";
|
|
6
|
+
import { ControllerMetaBuilderFactory } from "../../builder/ControllerMetaBuilderFactory.js";
|
|
7
|
+
import "../../builder/index.js";
|
|
8
|
+
import { HTTPControllerMeta } from "../../model/HTTPControllerMeta.js";
|
|
9
|
+
import "../../model/index.js";
|
|
9
10
|
import { HTTPControllerMethodMetaBuilder } from "./HTTPControllerMethodMetaBuilder.js";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
11
|
+
import { ClassUtil } from "@eggjs/metadata";
|
|
12
|
+
import { PrototypeUtil } from "@eggjs/core-decorator";
|
|
13
|
+
import { ControllerType } from "@eggjs/tegg-types";
|
|
14
|
+
import { ObjectUtils } from "@eggjs/tegg-common-util";
|
|
15
|
+
import assert from "node:assert";
|
|
16
|
+
|
|
17
|
+
//#region src/impl/http/HTTPControllerMetaBuilder.ts
|
|
18
|
+
var HTTPControllerMetaBuilder = class HTTPControllerMetaBuilder {
|
|
19
|
+
clazz;
|
|
20
|
+
constructor(clazz) {
|
|
21
|
+
this.clazz = clazz;
|
|
22
|
+
}
|
|
23
|
+
buildMethod() {
|
|
24
|
+
const methodNames = ObjectUtils.getProperties(this.clazz.prototype);
|
|
25
|
+
const methods = [];
|
|
26
|
+
for (const methodName of methodNames) {
|
|
27
|
+
const methodMeta = new HTTPControllerMethodMetaBuilder(this.clazz, methodName).build();
|
|
28
|
+
if (methodMeta) methods.push(methodMeta);
|
|
29
|
+
}
|
|
30
|
+
return methods;
|
|
31
|
+
}
|
|
32
|
+
build() {
|
|
33
|
+
ControllerValidator.validate(this.clazz);
|
|
34
|
+
const controllerType = ControllerInfoUtil.getControllerType(this.clazz);
|
|
35
|
+
assert.equal(controllerType, ControllerType.HTTP, "invalidate controller type");
|
|
36
|
+
const httpPath = HTTPInfoUtil.getHTTPPath(this.clazz);
|
|
37
|
+
const httpMiddlewares = ControllerInfoUtil.getControllerMiddlewares(this.clazz);
|
|
38
|
+
const methods = this.buildMethod();
|
|
39
|
+
const clazzName = this.clazz.name;
|
|
40
|
+
const controllerName = ControllerInfoUtil.getControllerName(this.clazz) || clazzName;
|
|
41
|
+
const protoName = PrototypeUtil.getProperty(this.clazz).name;
|
|
42
|
+
const metadata = new HTTPControllerMeta(clazzName, protoName, controllerName, httpPath, httpMiddlewares, methods, ControllerInfoUtil.hasControllerAcl(this.clazz), ControllerInfoUtil.getControllerAcl(this.clazz), ControllerInfoUtil.getControllerHosts(this.clazz), ControllerInfoUtil.getControllerTimeout(this.clazz));
|
|
43
|
+
ControllerMetadataUtil.setControllerMetadata(this.clazz, metadata);
|
|
44
|
+
for (const method of metadata.methods) {
|
|
45
|
+
const realPath = metadata.getMethodRealPath(method);
|
|
46
|
+
if (!realPath.startsWith("/")) {
|
|
47
|
+
const desc = ClassUtil.classDescription(this.clazz);
|
|
48
|
+
throw new Error(`class ${desc} method ${method.name} path ${realPath} not start with /`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return metadata;
|
|
52
|
+
}
|
|
53
|
+
static create(clazz) {
|
|
54
|
+
return new HTTPControllerMetaBuilder(clazz);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
56
57
|
ControllerMetaBuilderFactory.registerControllerMetaBuilder(ControllerType.HTTP, HTTPControllerMetaBuilder.create);
|
|
57
|
-
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { HTTPControllerMetaBuilder };
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { HTTPMethodMeta } from "../../model/HTTPMethodMeta.js";
|
|
2
|
+
import "../../model/index.js";
|
|
3
|
+
import { EggProtoImplClass } from "@eggjs/tegg-types";
|
|
4
|
+
|
|
5
|
+
//#region src/impl/http/HTTPControllerMethodMetaBuilder.d.ts
|
|
6
|
+
declare class HTTPControllerMethodMetaBuilder {
|
|
7
|
+
private readonly clazz;
|
|
8
|
+
private readonly methodName;
|
|
9
|
+
constructor(clazz: EggProtoImplClass, methodName: string);
|
|
10
|
+
private checkParamDecorators;
|
|
11
|
+
private buildParamType;
|
|
12
|
+
getPriority(): number;
|
|
13
|
+
build(): HTTPMethodMeta | undefined;
|
|
11
14
|
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { HTTPControllerMethodMetaBuilder };
|
|
@@ -1,100 +1,81 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
const httpMethod = HTTPInfoUtil.getHTTPMethodMethod(this.clazz, this.methodName);
|
|
85
|
-
const parentPath = HTTPInfoUtil.getHTTPPath(this.clazz);
|
|
86
|
-
const httpPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
|
|
87
|
-
const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
|
|
88
|
-
const middlewares = MethodInfoUtil.getMethodMiddlewares(this.clazz, this.methodName);
|
|
89
|
-
const needAcl = MethodInfoUtil.hasMethodAcl(this.clazz, this.methodName);
|
|
90
|
-
const aclCode = MethodInfoUtil.getMethodAcl(this.clazz, this.methodName);
|
|
91
|
-
const hosts = MethodInfoUtil.getMethodHosts(this.clazz, this.methodName);
|
|
92
|
-
const realPath = parentPath
|
|
93
|
-
? path.posix.join(parentPath, httpPath)
|
|
94
|
-
: httpPath;
|
|
95
|
-
const paramTypeMap = this.buildParamType(realPath);
|
|
96
|
-
const priority = this.getPriority();
|
|
97
|
-
return new HTTPMethodMeta(this.methodName, httpPath, httpMethod, middlewares, contextIndex, paramTypeMap, priority, needAcl, aclCode, hosts);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRHLE1BQU0sT0FBTywrQkFBK0I7SUFDekIsS0FBSyxDQUFvQjtJQUN6QixVQUFVLENBQVM7SUFFcEMsWUFBWSxLQUF3QixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsb0NBQW9DO0lBQ3BDLHVDQUF1QztJQUN2Qyx5REFBeUQ7SUFDekQsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGdCQUFnQjtJQUNSLG9CQUFvQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsV0FBVztRQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFckMsVUFBVTtRQUNWLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNu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
|
|
1
|
+
import { MethodInfoUtil } from "../../util/MethodInfoUtil.js";
|
|
2
|
+
import { MethodValidator } from "../../util/validator/MethodValidator.js";
|
|
3
|
+
import { HTTPInfoUtil } from "../../util/HTTPInfoUtil.js";
|
|
4
|
+
import { HTTPPriorityUtil } from "../../util/HTTPPriorityUtil.js";
|
|
5
|
+
import "../../util/index.js";
|
|
6
|
+
import { HTTPMethodMeta, ParamMetaUtil } from "../../model/HTTPMethodMeta.js";
|
|
7
|
+
import "../../model/index.js";
|
|
8
|
+
import { ClassUtil } from "@eggjs/metadata";
|
|
9
|
+
import path from "node:path";
|
|
10
|
+
|
|
11
|
+
//#region src/impl/http/HTTPControllerMethodMetaBuilder.ts
|
|
12
|
+
var HTTPControllerMethodMetaBuilder = class {
|
|
13
|
+
clazz;
|
|
14
|
+
methodName;
|
|
15
|
+
constructor(clazz, methodName) {
|
|
16
|
+
this.clazz = clazz;
|
|
17
|
+
this.methodName = methodName;
|
|
18
|
+
}
|
|
19
|
+
checkParamDecorators() {
|
|
20
|
+
const functionLength = this.clazz.prototype[this.methodName].length;
|
|
21
|
+
const paramIndexList = HTTPInfoUtil.getParamIndexList(this.clazz, this.methodName);
|
|
22
|
+
const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
|
|
23
|
+
const hasAnnotationParamCount = typeof contextIndex === "undefined" ? paramIndexList.length : paramIndexList.length + 1;
|
|
24
|
+
const maxParamCount = Math.max(functionLength, hasAnnotationParamCount);
|
|
25
|
+
for (let i = 0; i < maxParamCount; ++i) {
|
|
26
|
+
if (i === contextIndex) continue;
|
|
27
|
+
if (!HTTPInfoUtil.getHTTPMethodParamType(i, this.clazz, this.methodName)) {
|
|
28
|
+
const classDesc = ClassUtil.classDescription(this.clazz);
|
|
29
|
+
throw new Error(`${classDesc}:${this.methodName} param ${i} has no http param type, Please add @HTTPBody, @HTTPParam, @HTTPQuery, @HTTPQueries`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
buildParamType(httpPath) {
|
|
34
|
+
this.checkParamDecorators();
|
|
35
|
+
const paramTypeMap = /* @__PURE__ */ new Map();
|
|
36
|
+
const paramIndexList = HTTPInfoUtil.getParamIndexList(this.clazz, this.methodName);
|
|
37
|
+
for (const paramIndex of paramIndexList) {
|
|
38
|
+
const paramType = HTTPInfoUtil.getHTTPMethodParamType(paramIndex, this.clazz, this.methodName);
|
|
39
|
+
const paramName = HTTPInfoUtil.getHTTPMethodParamName(paramIndex, this.clazz, this.methodName);
|
|
40
|
+
const paramMeta = ParamMetaUtil.createParam(paramType, paramName);
|
|
41
|
+
try {
|
|
42
|
+
paramMeta.validate(httpPath);
|
|
43
|
+
} catch (e) {
|
|
44
|
+
e.message = `build controller ${ClassUtil.classDescription(this.clazz)} method ${this.methodName} param ${paramName} failed: ${e.message}`;
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
paramTypeMap.set(paramIndex, paramMeta);
|
|
48
|
+
}
|
|
49
|
+
return paramTypeMap;
|
|
50
|
+
}
|
|
51
|
+
getPriority() {
|
|
52
|
+
const priority = HTTPInfoUtil.getHTTPMethodPriority(this.clazz, this.methodName);
|
|
53
|
+
if (priority !== void 0) return priority;
|
|
54
|
+
const controllerPath = HTTPInfoUtil.getHTTPPath(this.clazz);
|
|
55
|
+
const methodPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
|
|
56
|
+
const realPath = controllerPath ? path.posix.join(controllerPath, methodPath) : methodPath;
|
|
57
|
+
const defaultPriority = HTTPPriorityUtil.calcPathPriority(realPath);
|
|
58
|
+
if (defaultPriority > HTTPPriorityUtil.DEFAULT_PRIORITY) throw new Error(`path ${realPath} is too long, should set priority manually`);
|
|
59
|
+
return defaultPriority;
|
|
60
|
+
}
|
|
61
|
+
build() {
|
|
62
|
+
MethodValidator.validate(this.clazz, this.methodName);
|
|
63
|
+
if (!MethodInfoUtil.getMethodControllerType(this.clazz, this.methodName)) return;
|
|
64
|
+
const httpMethod = HTTPInfoUtil.getHTTPMethodMethod(this.clazz, this.methodName);
|
|
65
|
+
const parentPath = HTTPInfoUtil.getHTTPPath(this.clazz);
|
|
66
|
+
const httpPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
|
|
67
|
+
const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
|
|
68
|
+
const middlewares = MethodInfoUtil.getMethodMiddlewares(this.clazz, this.methodName);
|
|
69
|
+
const needAcl = MethodInfoUtil.hasMethodAcl(this.clazz, this.methodName);
|
|
70
|
+
const aclCode = MethodInfoUtil.getMethodAcl(this.clazz, this.methodName);
|
|
71
|
+
const hosts = MethodInfoUtil.getMethodHosts(this.clazz, this.methodName);
|
|
72
|
+
const timeout = MethodInfoUtil.getMethodTimeout(this.clazz, this.methodName);
|
|
73
|
+
const realPath = parentPath ? path.posix.join(parentPath, httpPath) : httpPath;
|
|
74
|
+
const paramTypeMap = this.buildParamType(realPath);
|
|
75
|
+
const priority = this.getPriority();
|
|
76
|
+
return new HTTPMethodMeta(this.methodName, httpPath, httpMethod, middlewares, contextIndex, paramTypeMap, priority, needAcl, aclCode, hosts, timeout);
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
export { HTTPControllerMethodMetaBuilder };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { HTTPControllerMetaBuilder } from "./HTTPControllerMetaBuilder.js";
|
|
2
|
+
import { HTTPControllerMethodMetaBuilder } from "./HTTPControllerMethodMetaBuilder.js";
|
package/dist/impl/http/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { HTTPControllerMethodMetaBuilder } from "./HTTPControllerMethodMetaBuilder.js";
|
|
2
|
+
import { HTTPControllerMetaBuilder } from "./HTTPControllerMetaBuilder.js";
|
|
3
|
+
|
|
4
|
+
export { };
|
package/dist/impl/index.d.ts
CHANGED
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { HTTPControllerMetaBuilder } from "./http/HTTPControllerMetaBuilder.js";
|
|
2
|
+
import { HTTPControllerMethodMetaBuilder } from "./http/HTTPControllerMethodMetaBuilder.js";
|
|
3
|
+
import "./http/index.js";
|
|
4
|
+
import { MCPControllerMetaBuilder } from "./mcp/MCPControllerMetaBuilder.js";
|
|
5
|
+
import { MCPControllerPromptMetaBuilder } from "./mcp/MCPControllerPromptMetaBuilder.js";
|
|
6
|
+
import { MCPControllerResourceMetaBuilder } from "./mcp/MCPControllerResourceMetaBuilder.js";
|
|
7
|
+
import { MCPControllerToolMetaBuilder } from "./mcp/MCPControllerToolMetaBuilder.js";
|
|
8
|
+
import "./mcp/index.js";
|
package/dist/impl/index.js
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { HTTPControllerMethodMetaBuilder } from "./http/HTTPControllerMethodMetaBuilder.js";
|
|
2
|
+
import { HTTPControllerMetaBuilder } from "./http/HTTPControllerMetaBuilder.js";
|
|
3
|
+
import "./http/index.js";
|
|
4
|
+
import { MCPControllerPromptMetaBuilder } from "./mcp/MCPControllerPromptMetaBuilder.js";
|
|
5
|
+
import { MCPControllerResourceMetaBuilder } from "./mcp/MCPControllerResourceMetaBuilder.js";
|
|
6
|
+
import { MCPControllerToolMetaBuilder } from "./mcp/MCPControllerToolMetaBuilder.js";
|
|
7
|
+
import { MCPControllerMetaBuilder } from "./mcp/MCPControllerMetaBuilder.js";
|
|
8
|
+
import "./mcp/index.js";
|
|
9
|
+
|
|
10
|
+
export { };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MCPControllerMeta } from "../../model/MCPControllerMeta.js";
|
|
2
|
+
import { EggProtoImplClass } from "@eggjs/tegg-types";
|
|
3
|
+
|
|
4
|
+
//#region src/impl/mcp/MCPControllerMetaBuilder.d.ts
|
|
5
|
+
declare class MCPControllerMetaBuilder {
|
|
6
|
+
private readonly clazz;
|
|
7
|
+
constructor(clazz: EggProtoImplClass);
|
|
8
|
+
private buildResource;
|
|
9
|
+
private buildPrompt;
|
|
10
|
+
private buildTool;
|
|
11
|
+
build(): MCPControllerMeta;
|
|
12
|
+
static create(clazz: EggProtoImplClass): MCPControllerMetaBuilder;
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { MCPControllerMetaBuilder };
|