UNPKG

@unified-llm/core

Version:

Unified LLM interface (in-memory).

41 lines 1.29 kB
/** * MCP tool 定義(McpTool[])を OpenAI tool schema に変換するための小さなカタログ。 * 目的は「変換処理に名前を与えて読みやすくする」こと。 */ export class McpToolCatalog { constructor(tools) { this.tools = tools; } /** * MCP tools -> OpenAI tools */ toOpenAiTools() { return this.tools.map((tool) => ({ type: "function", name: tool.name, description: tool.description, parameters: tool.inputSchema, })); } /** * MCP tools -> Gemini tools * * IMPORTANT: * - Gemini の functionDeclarations は `parameters` ではなく `parametersJsonSchema` を使う。 * (parameters に JSON Schema を入れると "Unknown name additionalProperties/$schema" 等で落ちる) */ toGeminiTools() { if (this.tools.length === 0) return []; return [ { functionDeclarations: this.tools.map((tool) => ({ name: tool.name, description: tool.description, parametersJsonSchema: tool.inputSchema, })), }, ]; } } //# sourceMappingURL=mcp-tool-catalog.js.map