@est/envelope
The TS mirror of the json-envelope crate: ApiResponse, ApiError,
PaginationMeta with snake_case wire keys (per_page, total_pages).
Normative source: conformance/envelope/cases.json.
import { decodeEnvelope, envelopePaginated, envelopeError } from "@est/envelope";
envelopePaginated(hits, { page: 2, per_page: 50, total: 506, total_pages: 11 });decodeEnvelope(payload); // strict: rejects camelCase keys, success:true with error, ...envelopeError("RATE_LIMITED", "slow down"); // { success: false, error: { code: "RATE_LIMITED", ... } }