LangExtract.WireFormat (LangExtract v0.4.0)

Copy Markdown View Source

Port between external LLM format and internal domain.

Serializes %Extraction{} structs to dynamic-key YAML for prompts, and normalizes raw LLM output back to canonical format for the parser.

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

format_extractions(extractions)

@spec format_extractions([LangExtract.Extraction.t()]) :: String.t()

normalize(raw)

@spec normalize(String.t()) :: {:ok, map()} | {:error, {:invalid_format, String.t()}}