# `Codex.IO.Buffer`
[🔗](https://github.com/nshkrdotcom/codex_sdk/blob/v0.16.1/lib/codex/io/buffer.ex#L1)

Shared helpers for newline-delimited subprocess output buffering and JSON decoding.

# `line`

```elixir
@type line() :: binary()
```

# `decode_complete_lines`

```elixir
@spec decode_complete_lines([binary()]) :: {[map()], [binary()]}
```

# `decode_json_lines`

```elixir
@spec decode_json_lines(binary(), iodata()) :: {[map()], binary(), [binary()]}
```

# `decode_line`

```elixir
@spec decode_line(binary()) :: {:ok, map()} | {:non_json, binary()}
```

# `iodata_to_binary`

```elixir
@spec iodata_to_binary(iodata()) :: binary()
```

# `split_lines`

```elixir
@spec split_lines(binary()) :: {[line()], binary()}
```

---

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