UNPKG

@unified-llm/core

Version:

Unified LLM interface (in-memory).

44 lines 1.74 kB
import OpenAI from 'openai'; import { UnifiedChatRequest, UnifiedChatResponse, UnifiedStreamEventResponse, Tool as UnifiedTool } from '../../types/unified-api.js'; import { MCPServerConfig } from '../../types/mcp.js'; import BaseProvider from '../base-provider.js'; type OpenAIAPI = 'responses' | 'chat_completions'; export declare class OpenAIAgentProvider extends BaseProvider { private mcpServerConfigs?; private providerTools; private openaiClient?; private openaiApi; constructor({ apiKey, client, model, tools, mcpServers, openaiApi, logLevel, }: { apiKey?: string; client?: OpenAI; model?: string; tools?: UnifiedTool[]; mcpServers?: MCPServerConfig[]; openaiApi?: OpenAIAPI; logLevel?: string; }); chat(request: UnifiedChatRequest): Promise<UnifiedChatResponse>; /** * Streaming: emits chunk responses as they arrive, then a final, fully-unified message. */ stream(request: UnifiedChatRequest): AsyncIterableIterator<UnifiedStreamEventResponse>; private buildEphemeralAgent; private initMCPServers; private closeMCPServers; private toAgentInputs; private collectSystemText; private adaptFunctionTools; private extractTextFromContent; private convertAgentResultToUnified; /** * Extracts top-level `text`, `message.content` (formatted as BaseContent), * `model`, and `usage` from either RunResult or StreamedRunResult. * - Uses `state.generatedItems` for content extraction * - Uses `state.context.usage` for usage stats */ private extractUnifiedPayload; private handleError; private mapErrorType; } export {}; //# sourceMappingURL=agent-provider.d.ts.map