v0.4.0: Observation mirror, catalog cache, request echoes
Observation mirror, catalog cache, request echoes
Adds three independently useful features: an opt-in LABSTAT observation mirror
backed by SQLite, a persistent catalog cache so the parsed flat-file survives
restarts, and request-parameter echoes in structuredContent on the three search/
fetch tools.
Added:
- LABSTAT observation mirror (#26) — framework defineMirror/sqliteMirrorStore, default OFF, event-loop-safe subprocess ingest, BLS_OBSERVATIONS_MIRROR_* config, out-of-band bootstrap
- Persistent catalog cache (#32) — BLS_CATALOG_CACHE_PATH / BLS_CATALOG_CACHE_TTL_HOURS; parsed catalog survives restarts
- Request-parameter echoes (#29, #30) — structuredContent.request on bls_search_series, bls_list_surveys, bls_get_series
Changed:
- Catalog cold fetch bounded-concurrency, gentler on download.bls.gov (#32)
Dependency bumps:
- better-sqlite3 ^12.10.0 (new — Node SQLite driver for the observation mirror)
158 tests pass; bun run devcheck clean.