UNPKG

route-claudecode

Version:

Advanced routing and transformation system for Claude Code outputs to multiple AI providers

94 lines 3.23 kB
/** * Enhanced OpenAI Format Transformer * Handles conversion between OpenAI API format and unified format * Includes tool call processing and response handling * * 遵循零硬编码、零Fallback、零沉默失败原则 */ import { MessageTransformer, UnifiedRequest, UnifiedResponse, StreamChunk } from './types'; import { BaseRequest, BaseResponse } from '@/types'; export declare class OpenAITransformer implements MessageTransformer { readonly name = "openai"; /** * 🎯 Convert BaseRequest (Anthropic format) to OpenAI API format * 这是Provider调用的主要入口点 */ transformBaseRequestToOpenAI(request: BaseRequest): any; /** * 🎯 Convert OpenAI API response to BaseResponse (Anthropic format) * 这是Provider调用的主要出口点 */ transformOpenAIResponseToBase(response: any, originalRequest: BaseRequest): BaseResponse; /** * 🎯 Process OpenAI streaming response and convert to Anthropic SSE events * 处理流式响应转换 */ transformOpenAIStreamToAnthropicSSE(stream: AsyncIterable<any>, originalRequest: BaseRequest, requestId: string): AsyncIterable<any>; /** * Convert OpenAI request to unified format */ transformRequestToUnified(request: any): UnifiedRequest; /** * Convert unified request to OpenAI format */ transformRequestFromUnified(request: UnifiedRequest): any; /** * Convert OpenAI response to unified format */ transformResponseToUnified(response: any): UnifiedResponse; /** * Convert unified response to OpenAI format */ transformResponseFromUnified(response: UnifiedResponse): any; /** * Convert OpenAI streaming chunk to unified format * 保留finish_reason,传递给下游处理 */ /** * Convert OpenAI streaming chunk to unified format * 🔧 修复finish_reason映射,确保工具调用正确处理 */ transformStreamChunk(chunk: any): StreamChunk | null; /** * Convert messages to unified format */ private convertMessagesToUnified; /** * Convert messages from unified format */ private convertMessagesFromUnified; /** * 🔧 Convert Anthropic messages to OpenAI format */ private convertAnthropicMessagesToOpenAI; /** * 🔧 Convert Anthropic content blocks to OpenAI format */ private convertAnthropicContentToOpenAI; /** * 🔧 Convert Anthropic tools to OpenAI format */ private convertAnthropicToolsToOpenAI; /** * 🔧 Convert tool choice */ private convertToolChoice; /** * 🔧 Convert OpenAI message to Anthropic content blocks */ private convertOpenAIMessageToAnthropicContent; /** * 🎯 Map OpenAI finish_reason to Anthropic stop_reason * 修复跨节点耦合问题 - finish reason映射应在Transformer内部处理 */ private mapOpenAIFinishReasonToAnthropic; /** * 🔧 Check if message has tool calls */ private hasToolCalls; } /** * Utility function to create OpenAI transformer */ export declare function createOpenAITransformer(): OpenAITransformer; //# sourceMappingURL=openai.d.ts.map