Unpacking
Another system's output, hiding inside a field of yours.
In the app
A value that parses as JSON, XML or YAML shows Unpack on its row; u opens it in place and names the parser. Over a document the text is rewritten with the ledger as the way back; over records the value opens in the panel and the cell stays as the file wrote it.
Pack restores the original bytes, not a re-serialization from the tree.
Across the two shapes
A verb is implemented once per shape, not once per format. That is why a CSV gets the same tools as a webhook payload: both collapse to one of two shapes before any verb runs.
How the shapes differ for unpack: nested strings, any depth.
- document · JSON, YAML, XML
- records · NDJSON, CSV, TSV, Markdown table, Log
Which formats can hold packed data
The verb belongs to the shape; the question "is this value packed?" belongs to the adapter. An adapter that never sees packed values simply does not answer it.
- JSON · can open packed values
- YAML · can open packed values
- XML · can open packed values
- NDJSON · can open packed values
- CSV · can open packed values
- TSV · can open packed values
- Markdown table · can open packed values
- Log · can open packed values
A worked example
The SNS envelope holds 2 packed values — the Message body, and the attribute value inside it — and both show Unpack on their rows. The Kibana export’s message column holds 3 cells of JSON; over records they open in the panel and the cells stay as the file wrote them.