Emitted for each incremental update within a content block.
The delta field carries the incremental content block update.
Accumulation rules:
text-delta → append text to the active block's text fieldreasoning-delta → append reasoning to the active block's reasoning fielddata-delta → append data to the active block's data fieldtool-call-delta → append args to the active tool-call block's args fieldblock-delta → shallow-merge fields onto the active blockConsumers ignore delta types they don't recognize.
content-block-finish carries the complete block.
A tool call's args stream in one of two forms, never both in one block:
tool-call-delta slices, which append, or block-delta snapshots of the
args so far, which replace.
interface ContentBlockDeltaEvent// Text token
{ event: "content-block-delta", index: 0,
delta: { type: "text-delta", text: " world" } }
// Tool call args slice
{ event: "content-block-delta", index: 1,
delta: { type: "tool-call-delta", args: '"wea' } }
// Tool call args snapshot
{ event: "content-block-delta", index: 1,
delta: { type: "block-delta",
fields: { type: "tool_call_chunk", args: '{"q":"wea' } } }
// Provider-specific field (e.g., signature)
{ event: "content-block-delta", index: 0,
delta: { type: "block-delta",
fields: { type: "reasoning", signature: "sig_abc" } } }Incremental content block delta.
Positional index of the block being updated.