Codex.IO.Buffer (Codex SDK v0.14.0)

Copy Markdown View Source

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

Summary

Types

line()

@type line() :: binary()

Functions

decode_complete_lines(lines)

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

decode_json_lines(buffer, chunk)

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

decode_line(line)

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

iodata_to_binary(data)

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

split_lines(data)

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