@nestia/core 11.2.0 → 11.3.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/lib/adaptors/McpAdaptor.d.ts +75 -0
- package/lib/adaptors/McpAdaptor.js +256 -0
- package/lib/adaptors/McpAdaptor.js.map +1 -0
- package/lib/decorators/McpRoute.d.ts +73 -0
- package/lib/decorators/McpRoute.js +60 -0
- package/lib/decorators/McpRoute.js.map +1 -0
- package/lib/decorators/internal/IMcpRouteReflect.d.ts +2 -0
- package/lib/decorators/internal/IMcpRouteReflect.js +3 -0
- package/lib/decorators/internal/IMcpRouteReflect.js.map +1 -0
- package/lib/module.d.ts +2 -0
- package/lib/module.js +2 -0
- package/lib/module.js.map +1 -1
- package/lib/programmers/McpRouteProgrammer.d.ts +26 -0
- package/lib/programmers/McpRouteProgrammer.js +56 -0
- package/lib/programmers/McpRouteProgrammer.js.map +1 -0
- package/lib/programmers/McpRouteReturnProgrammer.d.ts +24 -0
- package/lib/programmers/McpRouteReturnProgrammer.js +63 -0
- package/lib/programmers/McpRouteReturnProgrammer.js.map +1 -0
- package/lib/programmers/internal/check_mcp_object.d.ts +1 -0
- package/lib/programmers/internal/check_mcp_object.js +28 -0
- package/lib/programmers/internal/check_mcp_object.js.map +1 -0
- package/lib/transformers/McpRouteTransformer.d.ts +33 -0
- package/lib/transformers/McpRouteTransformer.js +182 -0
- package/lib/transformers/McpRouteTransformer.js.map +1 -0
- package/lib/transformers/MethodTransformer.js +6 -0
- package/lib/transformers/MethodTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +3 -0
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/package.json +4 -3
- package/src/adaptors/McpAdaptor.ts +276 -0
- package/src/decorators/McpRoute.ts +159 -0
- package/src/decorators/internal/IMcpRouteReflect.ts +41 -0
- package/src/module.ts +2 -0
- package/src/programmers/McpRouteProgrammer.ts +75 -0
- package/src/programmers/McpRouteReturnProgrammer.ts +77 -0
- package/src/programmers/internal/check_mcp_object.ts +37 -0
- package/src/transformers/McpRouteTransformer.ts +271 -0
- package/src/transformers/MethodTransformer.ts +6 -0
- package/src/transformers/ParameterDecoratorTransformer.ts +5 -0
|
@@ -0,0 +1,63 @@
|
|
|
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.McpRouteReturnProgrammer = void 0;
|
|
7
|
+
const core_1 = require("@typia/core");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const check_mcp_object_1 = require("./internal/check_mcp_object");
|
|
10
|
+
/**
|
|
11
|
+
* Compile-time validator for the return type of an `@McpRoute()` method.
|
|
12
|
+
*
|
|
13
|
+
* Mirrors {@link TypedRouteProgrammer} but adapted to MCP's structured-output
|
|
14
|
+
* rules. The MCP specification requires every tool's output to be a single
|
|
15
|
+
* object value or nothing at all. To enforce that:
|
|
16
|
+
*
|
|
17
|
+
* - `void` returns short-circuit (nothing emitted).
|
|
18
|
+
* - Object returns are inspected directly on the analyzed metadata to reject
|
|
19
|
+
* primitives, unions, and dynamic-key records.
|
|
20
|
+
* - Mixed unions of `void` and a value type are rejected outright; MCP has no
|
|
21
|
+
* way to model "sometimes returns nothing, sometimes returns X".
|
|
22
|
+
*
|
|
23
|
+
* @author wildduck - https://github.com/wildduck2
|
|
24
|
+
*/
|
|
25
|
+
var McpRouteReturnProgrammer;
|
|
26
|
+
(function (McpRouteReturnProgrammer) {
|
|
27
|
+
McpRouteReturnProgrammer.generate = (props) => {
|
|
28
|
+
var _a;
|
|
29
|
+
const inner = (_a = props.context.checker.getAwaitedType(props.type)) !== null && _a !== void 0 ? _a : props.type;
|
|
30
|
+
if (inner.isUnion()) {
|
|
31
|
+
const hasVoid = inner.types.some((t) => isVoidLike(t));
|
|
32
|
+
const hasValue = inner.types.some((t) => !isVoidLike(t));
|
|
33
|
+
if (hasVoid && hasValue)
|
|
34
|
+
throw new Error("[@nestia.core.McpRoute] tool return type must be either `void` or a single object type. Mixed unions of `void` and an object type are not supported.");
|
|
35
|
+
}
|
|
36
|
+
if (isVoidLike(inner))
|
|
37
|
+
return;
|
|
38
|
+
const result = core_1.MetadataFactory.analyze({
|
|
39
|
+
checker: props.context.checker,
|
|
40
|
+
transformer: props.context.transformer,
|
|
41
|
+
options: {
|
|
42
|
+
escape: true,
|
|
43
|
+
constant: true,
|
|
44
|
+
absorb: true,
|
|
45
|
+
},
|
|
46
|
+
components: new core_1.MetadataCollection(),
|
|
47
|
+
type: inner,
|
|
48
|
+
});
|
|
49
|
+
if (result.success === false)
|
|
50
|
+
throw core_1.TransformerError.from({
|
|
51
|
+
code: "@nestia.core.McpRoute.Return",
|
|
52
|
+
errors: result.errors,
|
|
53
|
+
});
|
|
54
|
+
if (result.data.size() === 0)
|
|
55
|
+
return;
|
|
56
|
+
const violations = (0, check_mcp_object_1.check_mcp_object)("return")(result.data);
|
|
57
|
+
if (violations.length)
|
|
58
|
+
throw new Error(`[@nestia.core.McpRoute.Return] ${violations.join(" ")}`);
|
|
59
|
+
};
|
|
60
|
+
const isVoidLike = (t) => Boolean(t.flags &
|
|
61
|
+
(typescript_1.default.TypeFlags.Void | typescript_1.default.TypeFlags.Undefined | typescript_1.default.TypeFlags.Never));
|
|
62
|
+
})(McpRouteReturnProgrammer || (exports.McpRouteReturnProgrammer = McpRouteReturnProgrammer = {}));
|
|
63
|
+
//# sourceMappingURL=McpRouteReturnProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpRouteReturnProgrammer.js","sourceRoot":"","sources":["../../src/programmers/McpRouteReturnProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,kEAA+D;AAE/D;;;;;;;;;;;;;;GAcG;AACH,IAAiB,wBAAwB,CAiDxC;AAjDD,WAAiB,wBAAwB;IAC1B,iCAAQ,GAAG,CAAC,KAIxB,EAAQ,EAAE;;QACT,MAAM,KAAK,GACT,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,KAAK,CAAC,IAAI,CAAC;QACjE,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,OAAO,IAAI,QAAQ;gBACrB,MAAM,IAAI,KAAK,CACb,sJAAsJ,CACvJ,CAAC;QACN,CAAC;QACD,IAAI,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO;QAE9B,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACb;YACD,UAAU,EAAE,IAAI,yBAAkB,EAAE;YACpC,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;QACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,uBAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,8BAA8B;gBACpC,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QAEL,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO;QACrC,MAAM,UAAU,GAAa,IAAA,mCAAgB,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,UAAU,CAAC,MAAM;YACnB,MAAM,IAAI,KAAK,CACb,kCAAkC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACzD,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,CAAU,EAAW,EAAE,CACzC,OAAO,CACL,CAAC,CAAC,KAAK;QACL,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,GAAG,oBAAE,CAAC,SAAS,CAAC,SAAS,GAAG,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CACpE,CAAC;AACN,CAAC,EAjDgB,wBAAwB,wCAAxB,wBAAwB,QAiDxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.check_mcp_object = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Shared object-only constraint check for MCP parameter and return schemas.
|
|
6
|
+
*
|
|
7
|
+
* MCP requires both `inputSchema` and `outputSchema` (when present) to be a
|
|
8
|
+
* single, static object type — no primitives, no unions, no dynamic-key
|
|
9
|
+
* records. Parameter types additionally cannot be empty (a tool must accept
|
|
10
|
+
* an object); return types may be empty (`void` short-circuited upstream).
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
* @author wildduck - https://github.com/wildduck2
|
|
14
|
+
*/
|
|
15
|
+
const check_mcp_object = (kind) => (metadata) => {
|
|
16
|
+
const errors = [];
|
|
17
|
+
if (metadata.objects.length === 0)
|
|
18
|
+
errors.push(kind === "return"
|
|
19
|
+
? "MCP tool return type must be an object type or `void`."
|
|
20
|
+
: "MCP tool parameters must be an object type.");
|
|
21
|
+
else if (metadata.objects.length > 1 || metadata.size() > 1)
|
|
22
|
+
errors.push(`MCP tool ${kind === "return" ? "return type" : "parameters"} must be a single object type.`);
|
|
23
|
+
else if (metadata.objects[0].type.properties.some((p) => p.key.isSoleLiteral() === false))
|
|
24
|
+
errors.push(`MCP tool ${kind === "return" ? "return type" : "parameters"} must not declare dynamic keys (Record<string, X>, index signatures).`);
|
|
25
|
+
return errors;
|
|
26
|
+
};
|
|
27
|
+
exports.check_mcp_object = check_mcp_object;
|
|
28
|
+
//# sourceMappingURL=check_mcp_object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check_mcp_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_mcp_object.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACI,MAAM,gBAAgB,GAC3B,CAAC,IAAyB,EAAE,EAAE,CAC9B,CAAC,QAAwB,EAAY,EAAE;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAC/B,MAAM,CAAC,IAAI,CACT,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,wDAAwD;YAC1D,CAAC,CAAC,6CAA6C,CAClD,CAAC;SACC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;QACzD,MAAM,CAAC,IAAI,CACT,YAAY,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,gCAAgC,CAC7F,CAAC;SACC,IACH,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,KAAK,CACvC;QAED,MAAM,CAAC,IAAI,CACT,YAAY,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,uEAAuE,CACpI,CAAC;IACJ,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAvBS,QAAA,gBAAgB,oBAuBzB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { INestiaTransformContext } from "../options/INestiaTransformProject";
|
|
3
|
+
/**
|
|
4
|
+
* Rewrites `@McpRoute(...)` decorator calls at compile time.
|
|
5
|
+
*
|
|
6
|
+
* Responsibilities:
|
|
7
|
+
*
|
|
8
|
+
* 1. Normalize the public string form (`@McpRoute("tool_name")`) into an internal
|
|
9
|
+
* config object literal (`@McpRoute({ name: "tool_name" })`) so downstream
|
|
10
|
+
* consumers — runtime adaptor + SDK reflection — only ever see the rich
|
|
11
|
+
* object shape.
|
|
12
|
+
* 2. Enforce MCP-spec constraints by delegating to typia validators:
|
|
13
|
+
*
|
|
14
|
+
* - Exactly one `@McpRoute.Params()` parameter;
|
|
15
|
+
* - Parameter type is an object without dynamic properties
|
|
16
|
+
* ({@link McpRouteProgrammer});
|
|
17
|
+
* - Return type is `void` or a single object without dynamic properties
|
|
18
|
+
* ({@link McpRouteReturnProgrammer}).
|
|
19
|
+
* 3. Inject typia-generated `inputSchema` (and `outputSchema`, when the return
|
|
20
|
+
* type is non-void) into the config literal.
|
|
21
|
+
* 4. Parse the method's JSDoc and inject `description` / `title` into the config
|
|
22
|
+
* literal when not already explicit. The JSDoc comment is the canonical
|
|
23
|
+
* source for human-readable tool metadata.
|
|
24
|
+
*
|
|
25
|
+
* @author wildduck - https://github.com/wildduck2
|
|
26
|
+
*/
|
|
27
|
+
export declare namespace McpRouteTransformer {
|
|
28
|
+
const transform: (props: {
|
|
29
|
+
context: INestiaTransformContext;
|
|
30
|
+
decorator: ts.Decorator;
|
|
31
|
+
method: ts.MethodDeclaration;
|
|
32
|
+
}) => ts.Decorator;
|
|
33
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
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.McpRouteTransformer = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const McpRouteProgrammer_1 = require("../programmers/McpRouteProgrammer");
|
|
10
|
+
const McpRouteReturnProgrammer_1 = require("../programmers/McpRouteReturnProgrammer");
|
|
11
|
+
/**
|
|
12
|
+
* Rewrites `@McpRoute(...)` decorator calls at compile time.
|
|
13
|
+
*
|
|
14
|
+
* Responsibilities:
|
|
15
|
+
*
|
|
16
|
+
* 1. Normalize the public string form (`@McpRoute("tool_name")`) into an internal
|
|
17
|
+
* config object literal (`@McpRoute({ name: "tool_name" })`) so downstream
|
|
18
|
+
* consumers — runtime adaptor + SDK reflection — only ever see the rich
|
|
19
|
+
* object shape.
|
|
20
|
+
* 2. Enforce MCP-spec constraints by delegating to typia validators:
|
|
21
|
+
*
|
|
22
|
+
* - Exactly one `@McpRoute.Params()` parameter;
|
|
23
|
+
* - Parameter type is an object without dynamic properties
|
|
24
|
+
* ({@link McpRouteProgrammer});
|
|
25
|
+
* - Return type is `void` or a single object without dynamic properties
|
|
26
|
+
* ({@link McpRouteReturnProgrammer}).
|
|
27
|
+
* 3. Inject typia-generated `inputSchema` (and `outputSchema`, when the return
|
|
28
|
+
* type is non-void) into the config literal.
|
|
29
|
+
* 4. Parse the method's JSDoc and inject `description` / `title` into the config
|
|
30
|
+
* literal when not already explicit. The JSDoc comment is the canonical
|
|
31
|
+
* source for human-readable tool metadata.
|
|
32
|
+
*
|
|
33
|
+
* @author wildduck - https://github.com/wildduck2
|
|
34
|
+
*/
|
|
35
|
+
var McpRouteTransformer;
|
|
36
|
+
(function (McpRouteTransformer) {
|
|
37
|
+
McpRouteTransformer.transform = (props) => {
|
|
38
|
+
if (!typescript_1.default.isCallExpression(props.decorator.expression))
|
|
39
|
+
return props.decorator;
|
|
40
|
+
const signature = props.context.checker.getResolvedSignature(props.decorator.expression);
|
|
41
|
+
if (!(signature === null || signature === void 0 ? void 0 : signature.declaration))
|
|
42
|
+
return props.decorator;
|
|
43
|
+
const location = path_1.default.resolve(signature.declaration.getSourceFile().fileName);
|
|
44
|
+
if (LIB_PATHS.every((str) => location.indexOf(str) === -1))
|
|
45
|
+
return props.decorator;
|
|
46
|
+
// Already transformed (config has injected inputSchema entry — second run).
|
|
47
|
+
if (props.decorator.expression.arguments.length >= 1 &&
|
|
48
|
+
typescript_1.default.isObjectLiteralExpression(props.decorator.expression.arguments[0]) &&
|
|
49
|
+
hasField(props.decorator.expression.arguments[0], "inputSchema"))
|
|
50
|
+
return props.decorator;
|
|
51
|
+
enforceParams(props);
|
|
52
|
+
const paramsType = findParamsType(props);
|
|
53
|
+
const inputSchema = McpRouteProgrammer_1.McpRouteProgrammer.generate({
|
|
54
|
+
context: props.context,
|
|
55
|
+
modulo: props.decorator.expression.expression,
|
|
56
|
+
type: paramsType,
|
|
57
|
+
});
|
|
58
|
+
// Validate the return type to catch MCP-illegal shapes at compile time
|
|
59
|
+
// (non-object, dynamic-property records, mixed `void | object` unions).
|
|
60
|
+
// We do NOT emit `outputSchema` onto the wire — declaring an output schema
|
|
61
|
+
// obliges the server to return `structuredContent` per the MCP spec, which
|
|
62
|
+
// the v1 adaptor does not produce. Validation alone is enough to honor
|
|
63
|
+
// the constraint.
|
|
64
|
+
const returnType = getReturnType(props);
|
|
65
|
+
if (returnType)
|
|
66
|
+
McpRouteReturnProgrammer_1.McpRouteReturnProgrammer.generate({
|
|
67
|
+
context: props.context,
|
|
68
|
+
modulo: props.decorator.expression.expression,
|
|
69
|
+
type: returnType,
|
|
70
|
+
});
|
|
71
|
+
const config = normalizeConfig(props.decorator.expression.arguments[0]);
|
|
72
|
+
const enriched = injectFields(config, [
|
|
73
|
+
...(!hasField(config, "inputSchema")
|
|
74
|
+
? [
|
|
75
|
+
typescript_1.default.factory.createPropertyAssignment("inputSchema", inputSchema),
|
|
76
|
+
]
|
|
77
|
+
: []),
|
|
78
|
+
...jsDocFields(props.method, config),
|
|
79
|
+
]);
|
|
80
|
+
return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(props.decorator.expression, props.decorator.expression.expression, props.decorator.expression.typeArguments, [enriched]));
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Reject methods that do not expose exactly one `@McpRoute.Params()` argument
|
|
84
|
+
* object. MCP tools do not have positional arguments.
|
|
85
|
+
*/
|
|
86
|
+
const enforceParams = (props) => {
|
|
87
|
+
const decorated = props.method.parameters
|
|
88
|
+
.map((param, index) => ({ param, index }))
|
|
89
|
+
.filter(({ param }) => hasParamsDecorator(param));
|
|
90
|
+
if (decorated.length !== 1)
|
|
91
|
+
throw new Error(`[@nestia.core.McpRoute] method ${props.method.name.getText()} must declare exactly one @McpRoute.Params() parameter.`);
|
|
92
|
+
if (props.method.parameters.length !== 1 || decorated[0].index !== 0)
|
|
93
|
+
throw new Error(`[@nestia.core.McpRoute] method ${props.method.name.getText()} must have exactly one parameter, and it must be decorated by @McpRoute.Params().`);
|
|
94
|
+
};
|
|
95
|
+
const findParamsType = (props) => {
|
|
96
|
+
for (const param of props.method.parameters) {
|
|
97
|
+
if (hasParamsDecorator(param))
|
|
98
|
+
return props.context.checker.getTypeAtLocation(param);
|
|
99
|
+
}
|
|
100
|
+
throw new Error(`[@nestia.core.McpRoute] method ${props.method.name.getText()} must declare exactly one @McpRoute.Params() parameter.`);
|
|
101
|
+
};
|
|
102
|
+
const hasParamsDecorator = (param) => {
|
|
103
|
+
var _a;
|
|
104
|
+
const decos = ((_a = param.modifiers) !== null && _a !== void 0 ? _a : []).filter((m) => typescript_1.default.isDecorator(m));
|
|
105
|
+
return decos.some((d) => d.expression.getText().includes("McpRoute.Params"));
|
|
106
|
+
};
|
|
107
|
+
const getReturnType = (props) => {
|
|
108
|
+
const sig = props.context.checker.getSignatureFromDeclaration(props.method);
|
|
109
|
+
if (!sig)
|
|
110
|
+
return undefined;
|
|
111
|
+
return props.context.checker.getReturnTypeOfSignature(sig);
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Convert a string literal argument (`@McpRoute("name")`) into the canonical
|
|
115
|
+
* object form (`@McpRoute({ name: "name" })`). If the argument is already an
|
|
116
|
+
* object literal it is returned unchanged. Anything else (computed
|
|
117
|
+
* expressions etc.) is rejected via TransformerError so the wire metadata
|
|
118
|
+
* stays statically analyzable.
|
|
119
|
+
*/
|
|
120
|
+
const normalizeConfig = (arg) => {
|
|
121
|
+
if (arg === undefined)
|
|
122
|
+
return typescript_1.default.factory.createObjectLiteralExpression([], true);
|
|
123
|
+
if (typescript_1.default.isStringLiteralLike(arg))
|
|
124
|
+
return typescript_1.default.factory.createObjectLiteralExpression([
|
|
125
|
+
typescript_1.default.factory.createPropertyAssignment("name", typescript_1.default.factory.createStringLiteral(arg.text)),
|
|
126
|
+
], true);
|
|
127
|
+
if (typescript_1.default.isObjectLiteralExpression(arg))
|
|
128
|
+
return arg;
|
|
129
|
+
throw new Error("[@nestia.core.McpRoute] argument must be a string literal or object literal so the tool name can be statically resolved.");
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Parse the JSDoc block attached to `method` and emit the property
|
|
133
|
+
* assignments needed to set `description` / `title` when the existing config
|
|
134
|
+
* object does not already define them.
|
|
135
|
+
*/
|
|
136
|
+
const jsDocFields = (method, config) => {
|
|
137
|
+
var _a, _b, _c, _d;
|
|
138
|
+
const docs = typescript_1.default.getJSDocCommentsAndTags(method);
|
|
139
|
+
let description;
|
|
140
|
+
let title;
|
|
141
|
+
for (const d of docs) {
|
|
142
|
+
if (!typescript_1.default.isJSDoc(d))
|
|
143
|
+
continue;
|
|
144
|
+
const raw = typeof d.comment === "string"
|
|
145
|
+
? d.comment
|
|
146
|
+
: ((_b = (_a = d.comment) === null || _a === void 0 ? void 0 : _a.map((n) => n.text).join("")) !== null && _b !== void 0 ? _b : undefined);
|
|
147
|
+
if (raw !== undefined && raw.trim().length !== 0)
|
|
148
|
+
description = raw.trim();
|
|
149
|
+
for (const tag of (_c = d.tags) !== null && _c !== void 0 ? _c : []) {
|
|
150
|
+
const name = tag.tagName.getText();
|
|
151
|
+
const text = typeof tag.comment === "string"
|
|
152
|
+
? tag.comment
|
|
153
|
+
: (_d = tag.comment) === null || _d === void 0 ? void 0 : _d.map((n) => n.text).join("");
|
|
154
|
+
if (name === "title" && text !== undefined && text.trim().length !== 0)
|
|
155
|
+
title = text.trim();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
const out = [];
|
|
159
|
+
if (description !== undefined && !hasField(config, "description"))
|
|
160
|
+
out.push(typescript_1.default.factory.createPropertyAssignment("description", typescript_1.default.factory.createStringLiteral(description)));
|
|
161
|
+
if (title !== undefined && !hasField(config, "title"))
|
|
162
|
+
out.push(typescript_1.default.factory.createPropertyAssignment("title", typescript_1.default.factory.createStringLiteral(title)));
|
|
163
|
+
return out;
|
|
164
|
+
};
|
|
165
|
+
const hasField = (config, name) => config.properties.some((p) => typescript_1.default.isPropertyAssignment(p) && !!p.name && propertyName(p.name) === name);
|
|
166
|
+
const propertyName = (name) => typescript_1.default.isIdentifier(name)
|
|
167
|
+
? name.escapedText.toString()
|
|
168
|
+
: typescript_1.default.isStringLiteralLike(name)
|
|
169
|
+
? name.text
|
|
170
|
+
: undefined;
|
|
171
|
+
const injectFields = (config, additions) => additions.length === 0
|
|
172
|
+
? config
|
|
173
|
+
: typescript_1.default.factory.updateObjectLiteralExpression(config, [
|
|
174
|
+
...config.properties,
|
|
175
|
+
...additions,
|
|
176
|
+
]);
|
|
177
|
+
})(McpRouteTransformer || (exports.McpRouteTransformer = McpRouteTransformer = {}));
|
|
178
|
+
const LIB_PATHS = [
|
|
179
|
+
path_1.default.join("@nestia", "core", "lib", "decorators", "McpRoute.d.ts"),
|
|
180
|
+
path_1.default.join("packages", "core", "src", "decorators", "McpRoute.ts"),
|
|
181
|
+
];
|
|
182
|
+
//# sourceMappingURL=McpRouteTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"McpRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/McpRouteTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.MethodTransformer = void 0;
|
|
7
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const McpRouteTransformer_1 = require("./McpRouteTransformer");
|
|
8
9
|
const TypedRouteTransformer_1 = require("./TypedRouteTransformer");
|
|
9
10
|
const WebSocketRouteTransformer_1 = require("./WebSocketRouteTransformer");
|
|
10
11
|
var MethodTransformer;
|
|
@@ -31,6 +32,11 @@ var MethodTransformer;
|
|
|
31
32
|
method: props.method,
|
|
32
33
|
decorator,
|
|
33
34
|
});
|
|
35
|
+
decorator = McpRouteTransformer_1.McpRouteTransformer.transform({
|
|
36
|
+
context: props.context,
|
|
37
|
+
decorator,
|
|
38
|
+
method: props.method,
|
|
39
|
+
});
|
|
34
40
|
return decorator;
|
|
35
41
|
};
|
|
36
42
|
if (typescript_1.default.getDecorators !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodTransformer.js","sourceRoot":"","sources":["../../src/transformers/MethodTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAG5B,mEAAgE;AAChE,2EAAwE;AAExE,IAAiB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"MethodTransformer.js","sourceRoot":"","sources":["../../src/transformers/MethodTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,6 +90,9 @@ const FUNCTORS = {
|
|
|
90
90
|
"WebSocketRoute.Query": (props) => props.arguments.length
|
|
91
91
|
? props.arguments
|
|
92
92
|
: [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(props)],
|
|
93
|
+
"McpRoute.Params": (props) => props.arguments.length
|
|
94
|
+
? props.arguments
|
|
95
|
+
: [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(props)],
|
|
93
96
|
};
|
|
94
97
|
const LIB_PATH = path_1.default.join("@nestia", "core", "lib", "decorators");
|
|
95
98
|
const MONO_PATH = path_1.default.join("packages", "core", "src", "decorators");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.3.0",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"tgrid": "^1.1.0",
|
|
53
53
|
"typia": "12.1.0",
|
|
54
54
|
"ws": "^7.5.3",
|
|
55
|
-
"@nestia/fetcher": "^11.
|
|
55
|
+
"@nestia/fetcher": "^11.3.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@nestjs/common": ">=7.0.1",
|
|
@@ -60,9 +60,10 @@
|
|
|
60
60
|
"reflect-metadata": ">=0.1.12",
|
|
61
61
|
"rxjs": ">=6.0.3",
|
|
62
62
|
"typia": "12.1.0",
|
|
63
|
-
"@nestia/fetcher": "^11.
|
|
63
|
+
"@nestia/fetcher": "^11.3.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
+
"@modelcontextprotocol/sdk": "^1.18.0",
|
|
66
67
|
"@nestjs/common": "^11.1.6",
|
|
67
68
|
"@nestjs/core": "^11.1.6",
|
|
68
69
|
"@nestjs/platform-express": "^11.1.6",
|