# `Tinkex.Types.SampleStreamChunk`
[🔗](https://github.com/North-Shore-AI/tinkex/blob/v0.4.0/lib/tinkex/types/sample_stream_chunk.ex#L1)

Represents a single chunk from a streaming sample response.

Chunks are emitted incrementally during SSE-based streaming sampling,
allowing real-time token-by-token processing of model output.

# `t`

```elixir
@type t() :: %Tinkex.Types.SampleStreamChunk{
  event_type: :token | :done | :error,
  finish_reason: String.t() | nil,
  index: non_neg_integer() | nil,
  logprob: float() | nil,
  token: String.t() | nil,
  token_id: integer() | nil,
  total_tokens: non_neg_integer() | nil
}
```

# `done`

```elixir
@spec done(String.t() | nil, non_neg_integer() | nil) :: t()
```

Create a done chunk indicating stream completion.

# `done?`

```elixir
@spec done?(t()) :: boolean()
```

Check if this is the final chunk in a stream.

# `error`

```elixir
@spec error(String.t()) :: t()
```

Create an error chunk.

# `from_map`

```elixir
@spec from_map(map()) :: t()
```

Create a SampleStreamChunk from a parsed SSE event map.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
