route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
94 lines • 3.23 kB
TypeScript
/**
* 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