route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
117 lines • 3.18 kB
TypeScript
/**
* Demo3兼容模型映射和数据匹配器
* 确保与Demo3 AIClient-2-API完全一致的输入输出逻辑
* 项目所有者: Jason Zhang
*/
export interface Demo3ModelMapping {
'claude-sonnet-4': 'CLAUDE_SONNET_4_20250514_V1_0';
'claude-3-7-sonnet': 'CLAUDE_3_7_SONNET';
'claude-3-5-sonnet': 'CLAUDE_3_5_SONNET';
'claude-3-sonnet-20240229': 'CLAUDE_SONNET_4_20250514_V1_0';
}
export interface Demo3RequestFormat {
model: string;
max_tokens: number;
messages: Array<{
role: 'user' | 'assistant' | 'system';
content: string | Array<{
type: 'text' | 'tool_use' | 'tool_result';
text?: string;
id?: string;
name?: string;
input?: any;
tool_use_id?: string;
content?: any;
}>;
}>;
tools?: Array<{
name: string;
description: string;
input_schema: {
type: string;
properties: any;
required?: string[];
};
}>;
stream?: boolean;
temperature?: number;
}
export interface Demo3ResponseFormat {
id: string;
type: 'message';
role: 'assistant';
content: Array<{
type: 'text' | 'tool_use';
text?: string;
id?: string;
name?: string;
input?: any;
}>;
model: string;
stop_reason: 'end_turn' | 'max_tokens' | 'tool_use' | 'stop_sequence';
stop_sequence: string | null;
usage: {
input_tokens: number;
output_tokens: number;
};
}
export declare class Demo3DataMatcher {
private readonly modelMapping;
/**
* 🎯 关键方法:将任意请求转换为Demo3精确格式
*/
transformToDemo3Format(request: any): Demo3RequestFormat;
/**
* 🎯 关键方法:将Demo3响应转换回标准格式
*/
transformFromDemo3Format(demo3Response: Demo3ResponseFormat): any;
/**
* Demo3模型名映射
*/
private mapModelToDemo3;
/**
* 消息格式转换 - 确保与Demo3一致
*/
private transformMessages;
/**
* 🎯 关键:工具格式转换为Demo3格式
*/
private transformToolsToDemo3Format;
/**
* Demo3内容格式转换
*/
private transformContentFromDemo3;
/**
* Stop reason映射
*/
private mapStopReasonFromDemo3;
/**
* 🎯 验证Demo3请求格式完整性
*/
validateDemo3Request(request: Demo3RequestFormat): void;
/**
* 🎯 验证Demo3响应格式完整性
*/
validateDemo3Response(response: Demo3ResponseFormat): void;
/**
* 🎯 获取Demo3支持的模型列表
*/
getSupportedModels(): string[];
/**
* 🎯 检查模型是否被Demo3支持
*/
isModelSupported(modelName: string): boolean;
/**
* 🎯 创建模拟Demo3测试请求
*/
createDemo3TestRequest(): Demo3RequestFormat;
/**
* 🎯 创建模拟Demo3测试响应
*/
createDemo3TestResponse(): Demo3ResponseFormat;
}
/**
* 全局Demo3数据匹配器实例
*/
export declare const demo3DataMatcher: Demo3DataMatcher;
//# sourceMappingURL=demo3-data-matcher.d.ts.map