Skip to content

ContentBlockData

type ContentBlockData =
| TextBlockData
| {
toolUse: ToolUseBlockData;
}
| {
toolResult: ToolResultBlockData;
}
| {
reasoning: ReasoningBlockData;
}
| {
cachePoint: CachePointBlockData;
}
| {
guardContent: GuardContentBlockData;
}
| {
image: ImageBlockData;
}
| {
video: VideoBlockData;
}
| {
document: DocumentBlockData;
};

Defined in: src/types/messages.ts:85

A block of content within a message. Content blocks can contain text, tool usage requests, tool results, reasoning content, cache points, guard content, or media (image, video, document).

This is a discriminated union where the object key determines the content format.

if ('text' in block) {
console.log(block.text.text)
}