UNPKG

openai-plugins

Version:

A TypeScript library that provides an OpenAI-compatible client for the Model Context Protocol (MCP).

58 lines (52 loc) 1.55 kB
// types.d.ts import OriginalOpenAI from "openai"; export interface MCPConfig { serverUrl?: string; serverUrls?: string[]; headers?: Record<string, string>; maxToolCalls?: number; toolTimeoutSec?: number; disconnectAfterUse?: boolean; connectionTimeoutMs?: number; maxMessageGroups?: number; finalResponseSystemPrompt?: string; secondPassSystemPrompt?: string; modelName?: string; maxOutputTokens?: number; tokenRateLimit?: number; rateLimitWindowMs?: number; noWaitOnTpm?: boolean; logLevel?: "debug" | "info" | "warn" | "error"; } export interface Plugin { name: string; handle: ( params: OriginalOpenAI.Chat.ChatCompletionCreateParams, next: ( p: OriginalOpenAI.Chat.ChatCompletionCreateParams, ) => Promise<OriginalOpenAI.Chat.ChatCompletion>, ) => Promise<OriginalOpenAI.Chat.ChatCompletion>; } // Explicitly include all required fields from the OpenAI SDK export interface OpenAIOptions { apiKey?: string; organization?: string; baseURL?: string; timeout?: number; maxRetries?: number; defaultQuery?: Record<string, string>; defaultHeaders?: Record<string, string>; dangerouslyAllowBrowser?: boolean; plugins?: string[] | Plugin[] | string | null; pluginConfig?: Record<string, any>; mcp?: MCPConfig; mcpLogLevel?: "debug" | "info" | "warn" | "error"; } /** * OpenAI client with MCP support - drop-in replacement for OpenAI */ declare class OpenAI extends OriginalOpenAI { constructor(options?: OpenAIOptions); } export { OpenAI }; export default OpenAI;