UNPKG

@unified-llm/core

Version:

Unified LLM interface (in-memory).

56 lines 1.86 kB
import { ModelPricingKey, UsageTotals } from "../../utils/token-utils.js"; import { Thread } from "../../thread.js"; import type { MCPServerConfig, Logger } from "../../types/index.js"; import { Clock } from "../../utils/timing.js"; export declare const NOOP_LOGGER: Logger; type OpenAiTool = { type: "function"; name: string; description?: string; parameters: unknown; }; type LocalToolHandler = (args: Record<string, unknown>) => Promise<unknown>; type StructuredOutput = { format: { type: "json_schema"; name: string; schema: unknown; strict?: boolean; }; }; type TruncationOption = string; /** * Responses API を用いて、MCP ツールとローカルツールの呼び出しを含む * 反復処理(tool calling loop)を実行する。 * `previous_response_id` を使って会話履歴を連結し、最終出力を取得する。 * ループ回数は環境変数 `RESPONSES_MAX_LOOPS` で指定し、未設定時は 10 回。 * * @param options - モデル設定、入力、MCP/ローカルツール、Structured Output 等の実行オプション * @returns Responses API の最終レスポンス */ export declare function callResponsesApiAgent(options: { mcpServers: MCPServerConfig[]; model: ModelPricingKey; apiKey?: string; baseInput: any[]; thread?: Thread; structuredOutput?: StructuredOutput; localTools?: { tools: OpenAiTool[]; handlers: Map<string, LocalToolHandler>; }; config?: { temperature?: number; truncation?: TruncationOption; }; onProgress?: (event: any) => void; signal?: AbortSignal; logger?: Logger; clock?: Clock; }): Promise<{ result: unknown; usageTotals: UsageTotals; estimatedCostJpy: number; }>; export {}; //# sourceMappingURL=responses-api-agent.d.ts.map