defmodule Anthropic.Event.ContentBlockStart do @moduledoc """ Represents the `content_block_start` SSE event from the Anthropic streaming API. Emitted when a new content block opens (text or tool-use). The `index` identifies which block in the message content array is starting, and `content_block` describes its type and any initial metadata. """ @type content_block :: %{type: :text, text: String.t()} | %{type: :tool_use, id: String.t(), name: String.t()} @type t :: %__MODULE__{ index: non_neg_integer(), content_block: content_block() } @enforce_keys [:index, :content_block] defstruct [:index, :content_block] end