route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
135 lines • 3.62 kB
TypeScript
/**
* CodeWhisperer Transformer - 统一格式转换
* 将CodeWhisperer格式与统一格式之间进行转换
* 项目所有者: Jason Zhang
*/
import { MessageTransformer, UnifiedRequest, UnifiedResponse } from './types';
import { BaseRequest, BaseResponse } from '@/types';
export interface CodeWhispererRequest {
model: string;
max_tokens: number;
messages: Array<{
role: string;
content: any;
}>;
stream?: boolean;
temperature?: number;
system?: Array<{
type: string;
text: string;
}>;
tools?: Array<{
name: string;
description: string;
input_schema: any;
}>;
}
export interface CodeWhispererResponse {
id: string;
type: string;
model: string;
role: string;
content: Array<{
type: string;
text?: string;
id?: string;
name?: string;
input?: any;
}>;
stop_reason: string;
stop_sequence: string | null;
usage: {
input_tokens: number;
output_tokens: number;
};
}
export declare class CodeWhispererTransformer implements MessageTransformer {
readonly name = "codewhisperer";
/**
* 🎯 Convert BaseRequest (Anthropic format) to CodeWhisperer format
* 这是Provider调用的主要入口点
*/
transformBaseToCodeWhisperer(request: BaseRequest): CodeWhispererRequest;
/**
* 🎯 Convert CodeWhisperer response to BaseResponse (Anthropic format)
* 这是Provider调用的主要出口点
*/
transformCodeWhispererToBase(response: CodeWhispererResponse, originalRequest: BaseRequest): BaseResponse;
/**
* 转换请求到统一格式
*/
transformRequestToUnified(request: CodeWhispererRequest): UnifiedRequest;
/**
* 从统一格式转换请求
*/
transformRequestFromUnified(unified: UnifiedRequest): CodeWhispererRequest;
/**
* 转换响应到统一格式
*/
transformResponseToUnified(response: CodeWhispererResponse): UnifiedResponse;
/**
* 从统一格式转换响应
*/
transformResponseFromUnified(unified: UnifiedResponse): CodeWhispererResponse;
/**
* 标准化消息格式
*/
private normalizeMessages;
/**
* 反标准化消息格式
*/
private denormalizeMessages;
/**
* 标准化消息内容
*/
private normalizeMessageContent;
/**
* 反标准化消息内容
*/
private denormalizeMessageContent;
/**
* 标准化内容块
*/
private normalizeContent;
/**
* 反标准化内容块
*/
private denormalizeContent;
/**
* 映射stop reason到统一格式
*/
private mapStopReason;
/**
* 🔧 Convert Anthropic messages to CodeWhisperer format
*/
private convertAnthropicMessagesToCodeWhisperer;
/**
* 🔧 Convert Anthropic tools to CodeWhisperer format
*/
private convertAnthropicToolsToCodeWhisperer;
/**
* 🎯 Map CodeWhisperer stop_reason to Anthropic stop_reason
*/
private mapCodeWhispererStopReasonToAnthropic;
/**
* 🔧 Check if content has tool calls
*/
private hasToolCallsInContent;
/**
* 提取文本内容
*/
private extractTextContent;
/**
* 提取工具调用
*/
private extractToolCalls;
/**
* 从统一格式构建内容
*/
private buildContentFromUnified;
}
/**
* 创建CodeWhisperer转换器实例
*/
export declare function createCodeWhispererTransformer(): CodeWhispererTransformer;
//# sourceMappingURL=codewhisperer.d.ts.map