/** * StreamingResponseAccumulator — reassembles a complete `ProviderResponse` * ({ content, tool_calls }) from a stream of `StreamDelta`s. * * Provider streams frequently split a tool call's JSON `arguments` across many * deltas; this buffers each tool call by index and concatenates the fragments, * so `runAgentLoop` receives well-formed, complete tool calls to execute. */ import type { ProviderResponse } from '../providers/types.js'; import type { Usage } from './types.js'; export declare class StreamingResponseAccumulator { private text; private toolCalls; private usage; appendText(delta: string): void; beginToolCall(index: number, id: string, name: string): void; appendToolCallArgs(index: number, argsDelta: string): void; setUsage(usage: Usage): void; getUsage(): Usage | undefined; toResponse(): ProviderResponse; }