@thorium-dev-group/x402-mcp-extension
Version:
X402-MCP Protocol Extension
37 lines • 1.5 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.METADATA_KEY_MCP_TOOL = void 0;
exports.MCPTool = MCPTool;
exports.isMCPTool = isMCPTool;
exports.getMCPToolOptions = getMCPToolOptions;
exports.isPaymentRequired = isPaymentRequired;
exports.getPaymentOptions = getPaymentOptions;
require("reflect-metadata");
const registry_1 = require("./registry");
const PaymentOptions_1 = require("./PaymentOptions");
exports.METADATA_KEY_MCP_TOOL = 'x402_mcp_protocol:mcp_tool';
function MCPTool(options) {
return function (target, propertyKey, descriptor) {
Reflect.defineMetadata(exports.METADATA_KEY_MCP_TOOL, options, target[propertyKey]);
(0, registry_1.registerHandler)({
target,
propertyKey,
toolOptions: options,
});
};
}
function isMCPTool(target, propertyKey) {
const method = target[propertyKey];
return method ? Reflect.hasMetadata(exports.METADATA_KEY_MCP_TOOL, method) : false;
}
function getMCPToolOptions(target, propertyKey) {
const method = target[propertyKey];
return method ? Reflect.getMetadata(exports.METADATA_KEY_MCP_TOOL, method) : undefined;
}
function isPaymentRequired(target, propertyKey) {
return (0, PaymentOptions_1.isPaymentRequired)(getMCPToolOptions, target, propertyKey);
}
function getPaymentOptions(target, propertyKey) {
return (0, PaymentOptions_1.getPaymentOptions)(getMCPToolOptions, target, propertyKey);
}
//# sourceMappingURL=mcpTool.js.map