route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
62 lines • 2.05 kB
TypeScript
/**
* OpenAI SDK Client - 并行模块
* @deprecated Use UnifiedOpenAIClient instead - this client will be removed in v3.0.0
* 废弃警告:请使用UnifiedOpenAIClient - 此客户端将在v3.0.0中移除
*
* 使用官方OpenAI SDK实现,提供平滑切换选项
* 设计目标:
* 1. 使用官方OpenAI SDK
* 2. 保持与enhanced-client相同的接口
* 3. 支持平滑切换
* 4. 集成竞态控制系统
*/
import OpenAI from 'openai';
import { BaseRequest, BaseResponse, Provider, ProviderConfig } from '@/types';
export interface OpenAISDKConfig extends ProviderConfig {
useOfficialSDK?: boolean;
sdkOptions?: {
timeout?: number;
maxRetries?: number;
defaultHeaders?: Record<string, string>;
};
}
/**
* OpenAI SDK客户端 - 官方SDK实现
*/
export declare class OpenAISDKClient implements Provider {
readonly name: string;
readonly type = "openai-sdk";
readonly config: OpenAISDKConfig;
protected openaiClient: OpenAI;
private validatedConfig;
private sessionManager;
private apiHandler;
constructor(config: OpenAISDKConfig, providerId: string);
/**
* 健康检查
*/
isHealthy(): Promise<boolean>;
/**
* 发送非流式请求 - 使用统一API处理器
*/
sendRequest(request: BaseRequest): Promise<BaseResponse>;
/**
* 发送流式请求 - 基于非流式API的流式模拟
*/
sendStreamRequest(request: BaseRequest): AsyncIterable<any>;
/**
* 从 BaseRequest 提取 OpenAI 格式(备用方法)
* 预期外部 Transformer 已完成转换,这里只是简单提取
*/
private extractOpenAIFormat;
/**
* 包装原始 OpenAI 响应为 BaseResponse 格式
* 最小包装,详细转换由外部 Transformer 处理
*/
private wrapResponse;
}
/**
* 创建OpenAI SDK客户端 - 重构后的简化版本
*/
export declare function createOpenAISDKClient(config: OpenAISDKConfig, providerId: string): OpenAISDKClient;
//# sourceMappingURL=sdk-client.d.ts.map