All notable changes to @codeforamerica/safety-net-blueprint-mock-server will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Cross-resource search handler querying across persons, cases, applications, tasks, and appointments databases
- Support for
typesparameter to filter search results by resource type - Facet counts per resource type in search results with merged pagination
- Rule evaluation engine with rules loader, action handlers, and condition matching
- Queue resource seeding and route registration
onCreateeffects in create handler (audit events + rule evaluation)evaluate-ruleseffects in transition handler (re-evaluation on release)
- Route generator now routes
operationId=searchto custom search handler - Search result attributes include
fieldkey for machine-readable access;labeloptional; simplified type enum
- Integration test now skips POST validation test for GET-only APIs (e.g., search API)
- Postman generator matches examples to endpoints by resource type instead of applying all examples to every endpoint
- State machine engine integration: transition handler, state machine loader, RPC overlay generator
- State machine route registration in mock server setup and route generator
- Create effects and audit events:
resolveValue()with$nowand$object.*,applyCreateEffect(), pending creates deriveCollectionName()in route generator for multi-resource APIs- Case Management and Scheduling API route support
- X-Caller-Id to CORS allowed headers
- Unit tests for state machine engine, loader, overlay generator, rules engine, and action handlers
- Integration tests for audit events and rule evaluation across task lifecycle
- All CRUD handlers now use
endpoint.collectionName - Seeder clears all collections for an API on startup, not just the primary
- Collection names derived from path segments instead of API name
- Seeder now clears-then-reseeds instead of skip-if-exists, so deleted examples restore on restart
- Path param extraction uses
endpoint.pathinstead of deriving fromapiMetadata.name - Postman generator sort order:
GET(order 0) no longer treated as falsy - Windows
fileURLToPathcheck inserver.js - Removed
/workflow/prefix from workflow spec paths for consistency
- Express 5.x mock server with auto-discovery of
*-openapi.yamlspecs - SQLite database per spec with automatic seeding from example files
- CRUD operation handlers (list, create, get, update, delete)
- Dynamic route registration from OpenAPI specs
- Search support via
qparameter with patterns fromapi-patterns.yaml - Swagger UI server (separate port)
- Database reset command (
mock:reset) - Preflight integration test infrastructure with newman/Postman collections
- npm workspace packaging and publishing infrastructure