import type { NativeStreamEvent, NativeStreamOptions } from "./native-stream.js"; /** * 流式阶段收集到的工具调用(两种来源填同一形状): * - nativeStream:chat-completions 累积 args 串,不带 input → helper 从 args JSON.parse * - anthropic-stream-factory:streamText tool-call part.input 已解析,直接带 input → 免 parse */ export interface CollectedToolCall { id: string; name: string; args: string; /** 已解析参数;缺省时 helper 从 args JSON.parse(nativeStream 来源不带,streamText 来源带)。 */ input?: Record; } /** 各 factory 从其来源(chat-completions finish event / streamText finish-step part)收集的收尾信息。 */ export interface StreamFinish { finishReason: string; usage: { inputTokens: number; outputTokens: number; totalTokens: number; }; providerMetadata?: Record; } /** * 流后 tail:Phase1 + Phase2 + finish-step/finish。从 nativeStream 抽出,行为不变。 * 调用约定:factory 在流式翻译结束、收齐 toolCalls + finish 后调用;reasoning/text 的 start/end * 配对由各 factory 的翻译器自行关闭,本函数只负责工具执行与收尾。 */ export declare function yieldToolExecutionAndFinish(toolCalls: readonly CollectedToolCall[], options: NativeStreamOptions, finish: StreamFinish): AsyncGenerator;