Port between external LLM format and internal domain.
Serializes %Extraction{} structs to fenced dynamic-key JSON for prompts
(matching upstream langextract's default — decided by the 2026-07-05
format A/B, see benchmark/BASELINE.md), and normalizes raw LLM output
back to canonical format for the parser. Decoding is JSON-only (since
0.7.0; the YAML tolerance path and its repair machinery were removed
once JSON became the wire format).
Both directions of the wire format live here on purpose — they share the
dynamic-key _attributes contract. Prompt.Builder uses the encode half;
Pipeline uses the decode half.
Summary
Functions
@spec format_extractions([LangExtract.Extraction.t()]) :: String.t()