Step 1 — Parse
Readdata/books-sample.csv and parse into raw records
The first stage reads a CSV file and parses it into an array of plain JavaScript objects keyed by column header. No transformation is applied — this is the raw source data.
Step 2 — Map
Loadmappings/books-to-book.json — defines how CSV columns become entity fields
A mapping file declares the target Entity, a GUIDTemplate
(unique stable key per record), and a Mappings object where each value is a
Pict template expression that produces the target field value from the source record.
Literal values like "Classic" are valid alongside template expressions.
Step 3 — Visual Mapping Editor
Wire CSV source fields to Book entity columns using the flow canvas
The Visual Mapping Editor lets you draw connections between source fields
(CSV columns) and target columns (Book entity schema) on an interactive flow canvas.
Add TPL nodes (purple) to apply Pict template expressions like
{~D:Record.title~}, or SOL nodes (orange) for conditional
solver expressions. Click Save Mapping to apply the wiring to the pipeline —
the Transform step will use your visual mapping.
Requires a built bundle — run
npm run build in this directory first.
Step 4 — Transform (Comprehension)
Run TabularTransform to produce a comprehension from the mapped recordsTabularTransform applies the mapping configuration to each raw record and builds a comprehension — a deduplicated dictionary keyed by GUID. The comprehension is the canonical intermediate format in the meadow-integration pipeline. Duplicate GUIDs are merged; bad records (empty GUIDs) are tracked separately. If you saved a visual mapping in Step 3, it will be used here instead of the static JSON config.
Step 5 — Load (IntegrationAdapter)
Push the comprehension into the bookstore database via IntegrationAdapter
IntegrationAdapter iterates the comprehension and calls the Meadow REST API
for each record: GET by GUID to check existence, then POST (create) or PUT (update).
GUIDs are tracked in the GUIDMap so re-runs are idempotent upserts.
The bookstore API is powered by meadow-endpoints on an in-memory SQLite database.
Step 6 — Verify
Read the loaded books back from the bookstore database
After loading, query the database directly to confirm the records are persisted.
You can also hit the live Meadow-Endpoints API at
GET /1.0/Books/0/20
to see the full record structure with auto-generated IDs, audit timestamps, and GUIDs.