@eggjs/controller-decorator
Version:
tegg controller decorator
34 lines • 2.69 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MCPTool = MCPTool;
exports.ToolArgsSchema = ToolArgsSchema;
const tegg_types_1 = require("@eggjs/tegg-types");
const MCPInfoUtil_1 = require("../../../src/util/MCPInfoUtil");
const MethodInfoUtil_1 = __importDefault(require("../../../src/util/MethodInfoUtil"));
function MCPTool(params) {
return function (target, propertyKey) {
const controllerClazz = target.constructor;
const methodName = propertyKey;
MethodInfoUtil_1.default.setMethodControllerType(controllerClazz, methodName, tegg_types_1.ControllerType.MCP);
MCPInfoUtil_1.MCPInfoUtil.setMCPToolParams({
...params,
mcpName: params === null || params === void 0 ? void 0 : params.name,
name: methodName,
}, controllerClazz, methodName);
MCPInfoUtil_1.MCPInfoUtil.setMCPTool(controllerClazz, methodName);
};
}
function ToolArgsSchema(argsSchema) {
return function (target, propertyKey, parameterIndex) {
const controllerClazz = target.constructor;
const methodName = propertyKey;
MCPInfoUtil_1.MCPInfoUtil.setMCPToolArgsInArgs({
argsSchema,
index: parameterIndex,
}, controllerClazz, methodName);
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTUNQVG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvbWNwL01DUFRvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSwwQkF1QkM7QUFFRCx3Q0FpQkM7QUFuREQsa0RBSTJCO0FBRTNCLCtEQUE0RDtBQUM1RCxzRkFBOEQ7QUFFOUQsU0FBZ0IsT0FBTyxDQUFDLE1BQXNCO0lBQzVDLE9BQU8sVUFDTCxNQUFXLEVBQ1gsV0FBd0I7UUFFeEIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6Qyx3QkFBYyxDQUFDLHVCQUF1QixDQUNwQyxlQUFlLEVBQ2YsVUFBVSxFQUNWLDJCQUFjLENBQUMsR0FBRyxDQUNuQixDQUFDO1FBQ0YseUJBQVcsQ0FBQyxnQkFBZ0IsQ0FDMUI7WUFDRSxHQUFHLE1BQU07WUFDVCxPQUFPLEVBQUUsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLFVBQVU7U0FDakIsRUFDRCxlQUFlLEVBQ2YsVUFBVSxDQUNYLENBQUM7UUFDRix5QkFBVyxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxVQUE4QztJQUMzRSxPQUFPLFVBQ0wsTUFBVyxFQUNYLFdBQXdCLEVBQ3hCLGNBQXNCO1FBRXRCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMseUJBQVcsQ0FBQyxvQkFBb0IsQ0FDOUI7WUFDRSxVQUFVO1lBQ1YsS0FBSyxFQUFFLGNBQWM7U0FDdEIsRUFDRCxlQUFlLEVBQ2YsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDIn0=