UNPKG

agents

Version:

A home for your AI agents

57 lines (56 loc) 2.1 kB
//#region src/mcp/client-invoker.ts function isLegacyResultSchema(value) { return typeof value?.parse === "function"; } function normalizeCallToolArguments(schemaOrOptions, options) { return isLegacyResultSchema(schemaOrOptions) ? { schema: schemaOrOptions, options } : { options: schemaOrOptions ?? options }; } /** * Invoke SDK v2 while preserving the deprecated v1 result-schema overload. * The v2 request funnel still owns decoding and automatic MRTR. */ function callV2Tool(client, params, schemaOrOptions, options) { const normalized = normalizeCallToolArguments(schemaOrOptions, options); if (normalized.schema) return client.request({ method: "tools/call", params }, normalized.schema, normalized.options); return client.callTool(params, normalized.options); } /** * Bind the original methods before decorators such as x402 replace them. All * generation-specific calling conventions stay behind this small interface. */ function bindMcpClient(client) { if ("getProtocolEra" in client && typeof client.getProtocolEra === "function") { const v2Client = client; const listTools = v2Client.listTools.bind(v2Client); const callTool = v2Client.callTool.bind(v2Client); return { listTools: (params, options) => listTools(params, options), callTool: (params, schemaOrOptions, options) => { const normalized = normalizeCallToolArguments(schemaOrOptions, options); return normalized.schema ? v2Client.request({ method: "tools/call", params }, normalized.schema, normalized.options) : callTool(params, normalized.options); } }; } const legacy = client; const listTools = legacy.listTools.bind(legacy); const callTool = legacy.callTool.bind(legacy); return { listTools: (params, options) => listTools(params, options), callTool: (params, schemaOrOptions, options) => { const normalized = normalizeCallToolArguments(schemaOrOptions, options); return callTool(params, normalized.schema, normalized.options); } }; } //#endregion export { callV2Tool as n, bindMcpClient as t }; //# sourceMappingURL=client-invoker-VNZ7X0nn.js.map