route-claudecode
Version:
Advanced routing and transformation system for Claude Code outputs to multiple AI providers
71 lines • 1.89 kB
TypeScript
/**
* 统一工具调用解析模块
* 为流式和非流式响应提供一致的工具调用解析和ID标准化
*
* 设计目标:
* 1. 统一工具ID格式 (toolu_前缀)
* 2. 统一参数解析逻辑
* 3. 统一错误处理
* 4. 消除流式/非流式差异
*/
export interface ToolCall {
type: 'tool_use';
id: string;
name: string;
input: any;
}
export interface ParsedToolCall {
id: string;
name: string;
arguments?: string;
input?: any;
index?: number;
}
/**
* 统一工具ID格式标准化
*/
export declare function standardizeToolId(originalId?: string): string;
/**
* 生成标准的toolu_格式ID
*/
export declare function generateTooluId(): string;
/**
* 统一工具调用解析器 - 处理OpenAI SDK格式,增强容错性
*/
export declare function parseOpenAIToolCalls(toolCalls: any[]): ToolCall[];
/**
* 统一流式工具调用处理器
*/
export declare class StreamingToolCallParser {
private toolCalls;
private argumentBuffers;
/**
* 处理工具调用开始事件
*/
handleToolCallStart(index: number, toolCall: any): ToolCall | null;
/**
* 处理工具参数增量
*/
handleToolArgumentsDelta(index: number, argumentsDelta: string): void;
/**
* 完成工具调用解析并返回最终结果
*/
finalizeToolCalls(): ToolCall[];
/**
* 重置解析器状态
*/
reset(): void;
}
/**
* 验证工具调用完整性 - 优化为更宽松的验证
*/
export declare function validateToolCall(toolCall: ToolCall): boolean;
/**
* 工具调用转换为Anthropic格式
*/
export declare function convertToAnthropicToolCall(toolCall: ToolCall): any;
/**
* 从文本内容中提取工具调用 (fallback方法)
*/
export declare function extractToolCallsFromText(content: string): ToolCall[];
//# sourceMappingURL=unified-tool-parser.d.ts.map