Skip to main content

Module pack

Module pack 

Source
Expand description

Macro packs: the YAML binding skeleton with embedded raw payload blocks (ADR-0004, TECH-SPEC §6).

Packs are parsed with serde_norway (deny_unknown_fields on the fixed schema; the payload key of a step — hurl:, or a future engine’s kind — is dynamic and checked against the registered engines’ StepKindSpecs in validation pass 8). Loading is pure: the CLI discovers files and hands PackSources in; built-in packs are embedded at build time.

Structs§

ExpectItem
One assert-only item: a status: shorthand and/or raw hurl assert lines (both may contain ${…}).
Macro
One loaded macro.
MacroStep
One step of a request macro.
PackSet
A validated set of packs: every macro, indexed by (globally unique) name.
PackSource
One pack input: a name (path as authored, or builtin:…) plus its text.

Enums§

MacroBody
A macro is either a sequence of request steps or an assert-only expect: (merged into the previous request entry — the Then-step rule, ADR-0004).
MacroStepKind
Payload or composition of a MacroStep.
PayloadForm
The two payload shapes (ADR-0004: raw text is primary; structured is reserved for future non-hurl engines).

Functions§

builtin_sources
The built-in packs embedded into every proef binary.
json_schema
The pack JSON Schema with engine payload fragments merged into the step object’s properties. Falls back to the plain derived schema when the generated shape does not match expectations (never fails).
load
Parse and validate sources against the registered engine step kinds (validation passes 1–8, TECH-SPEC §4.1). All diagnostics are collected — one bad pack does not hide problems in another.