# `Pixir.Providers.ErrBody`
[🔗](https://github.com/Ranvier-Technologies/pixir/blob/main/lib/pixir/providers/err_body.ex#L1)

Shared bounded error-body capture for every current consumer.

Issue #268 item 1 keeps the cap in one place. Issue #306 adds explicit drop
provenance for OpenAI, Anthropic, and ModelsRefresh so an exactly-full body is
distinct from one whose trailing bytes were discarded.

# `t`

```elixir
@opaque t()
```

# `append`

```elixir
@spec append(t(), binary()) :: t()
```

Append bytes while retaining at most `max_bytes/0` and recording any drop.

# `body`

```elixir
@spec body(t()) :: binary()
```

Return the retained body bytes for classification or bounded diagnostics.

# `max_bytes`

```elixir
@spec max_bytes() :: pos_integer()
```

Maximum number of error-body bytes retained before classification.

# `new`

```elixir
@spec new() :: t()
```

Create an empty bounded capture with no discarded-byte evidence.

# `truncated?`

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

Whether at least one received byte was discarded from this capture.

---

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