{"_id":"@codeforamerica/blueprint-safety-net-contracts","_rev":"4-2e7a2c0efe79978e2d197851d3d6d696","name":"@codeforamerica/blueprint-safety-net-contracts","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@codeforamerica/blueprint-safety-net-contracts","version":"0.1.0","license":"SEE LICENSE IN LICENSE","_id":"@codeforamerica/blueprint-safety-net-contracts@0.1.0","maintainers":[{"name":"fritzjooste","email":"fritz@fritzjooste.com"},{"name":"alice-sjconsulting","email":"alice@sjconsulting.us"},{"name":"devowhippit","email":"dhirth@codeforamerica.org"},{"name":"chriscorrea","email":"ccorrea@codeforamerica.org"},{"name":"mryhmln","email":"mhamlin@codeforamerica.org"},{"name":"lkacenjar","email":"lkacenjar@codeforamerica.org"}],"homepage":"https://github.com/codeforamerica/safety-net-blueprint#readme","bugs":{"url":"https://github.com/codeforamerica/safety-net-blueprint/issues"},"dist":{"shasum":"841a4a06cc8a353f08be09809dda1dd5e7fb18d2","tarball":"https://registry.npmjs.org/@codeforamerica/blueprint-safety-net-contracts/-/blueprint-safety-net-contracts-0.1.0.tgz","fileCount":70,"integrity":"sha512-JfRCV5N78eerSxfojxvCKcML3ho2a2qz8C33Rl+NUsDoaR83kQXR9aSFCS5JLN1G5sTum2uXps2s78BU+yzp2Q==","signatures":[{"sig":"MEYCIQCh100W6ffq4V0XYEDeRzEPjOJwBhotVWo0hx2z8hjVjgIhAMvhVXMh2cLrh2AquFboUyVDSzMYtJ6zIZDST1PclSlx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":773846},"type":"module","engines":{"node":">=22.11.0"},"gitHead":"590957218a4729cb34da2783be15dd161a110140","scripts":{"test":"node tests/run-tests.js --all --contracts=../generated/contracts --seed=tests/integration/seed --clients=../generated/clients --stop","resolve":"node ../blueprint-cli/scripts/resolve.js --spec=. --out=../generated/contracts","validate":"node ../blueprint-cli/scripts/validate/openapi.js --spec=. --skip-examples","test:unit":"node tests/run-tests.js --unit","test:integration":"node tests/run-tests.js --integration --contracts=../generated/contracts --seed=tests/integration/seed --clients=../generated/clients --stop"},"_npmUser":{"name":"mryhmln","email":"mhamlin@codeforamerica.org"},"repository":{"url":"git+https://github.com/codeforamerica/safety-net-blueprint.git","type":"git","directory":"packages/safety-net-contracts"},"_npmVersion":"10.9.8","description":"OpenAPI specs, state machines, event schemas, and overlays for safety net benefits programs — reference implementation of the Blueprint framework","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@codeforamerica/blueprint-mock-server":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codeforamerica/blueprint-cli":"^0.1.0"},"_npmOperationalInternal":{"tmp":"tmp/blueprint-safety-net-contracts_0.1.0_1789144619712_0.5085145775464797","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"_id":"@codeforamerica/blueprint-safety-net-contracts@0.1.1","bugs":{"url":"https://github.com/codeforamerica/safety-net-blueprint/issues"},"dist":{"shasum":"c36c2ccb805991587ff9e3272e8d0fbd9b511282","tarball":"https://registry.npmjs.org/@codeforamerica/blueprint-safety-net-contracts/-/blueprint-safety-net-contracts-0.1.1.tgz","fileCount":69,"integrity":"sha512-tLDuSoIcex3MQBaEqnSupTZPhjHS+7maPUhqsnmQAOhV+mNBvUM+VNEGif1fClYumigGP2UOIDngAMMsIFp2aA==","signatures":[{"sig":"MEUCIQDFcuqXo0eqErekNzL+bCFgI5jHNNixn9Bj8Gw+HkL2YgIgTSuJ90X54ZnNTCdmUHLu4metr+Z+asDHUvtgnb3JFmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCrGor0V/GQaXwDxTyBVmSL7ROC4SovUYx5NGm2reHBdQIgS+dvQmy6SmQyDIXid/+FLFSxRd10a6hvMcUk3v/Y8eQ="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforamerica%2fblueprint-safety-net-contracts@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":775281},"name":"@codeforamerica/blueprint-safety-net-contracts","type":"module","engines":{"node":">=22.11.0"},"gitHead":"21766b9741a441def059e255e264c55565664685","license":"SEE LICENSE IN LICENSE","scripts":{"test":"node tests/run-tests.js --all --contracts=../generated/contracts --seed=../generated/contracts --clients=../generated/clients --stop","resolve":"node ../blueprint-cli/scripts/resolve.js --spec=. --out=../generated/contracts","validate":"node ../blueprint-cli/scripts/validate/openapi.js --spec=. --skip-examples","test:unit":"node tests/run-tests.js --unit","test:integration":"node tests/run-tests.js --integration --contracts=../generated/contracts --seed=../generated/contracts --clients=../generated/clients --stop"},"version":"0.1.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"47397b75-7bb6-4ccf-802a-2775ab04306d"}},"homepage":"https://github.com/codeforamerica/safety-net-blueprint#readme","repository":{"url":"git+https://github.com/codeforamerica/safety-net-blueprint.git","type":"git","directory":"packages/safety-net-contracts"},"_npmVersion":"12.1.0","description":"OpenAPI specs, state machines, event schemas, and overlays for safety net benefits programs — reference implementation of the Blueprint framework","directories":{},"maintainers":[{"name":"fritzjooste","email":"fritz@fritzjooste.com"},{"name":"devowhippit","email":"dhirth@codeforamerica.org"},{"name":"robdiciuccio","email":"rob.diciuccio@gmail.com"},{"name":"chriscorrea","email":"ccorrea@codeforamerica.org"},{"name":"mryhmln","email":"mhamlin@codeforamerica.org"},{"name":"lkacenjar","email":"lkacenjar@codeforamerica.org"}],"_nodeVersion":"22.23.2","dependencies":{"@codeforamerica/blueprint-mock-server":"^0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@codeforamerica/blueprint-cli":"^0.3.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/blueprint-safety-net-contracts_0.1.1_1790777901029_0.966430973863815"}}},"time":{"created":"2026-09-11T16:36:59.518Z","modified":"2026-09-30T14:18:21.626Z","0.1.0":"2026-09-11T16:36:59.864Z","0.1.1":"2026-09-30T14:18:21.168Z"},"bugs":{"url":"https://github.com/codeforamerica/safety-net-blueprint/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/codeforamerica/safety-net-blueprint#readme","repository":{"url":"git+https://github.com/codeforamerica/safety-net-blueprint.git","type":"git","directory":"packages/safety-net-contracts"},"description":"OpenAPI specs, state machines, event schemas, and overlays for safety net benefits programs — reference implementation of the Blueprint framework","maintainers":[{"name":"fritzjooste","email":"fritz@fritzjooste.com"},{"name":"devowhippit","email":"dhirth@codeforamerica.org"},{"name":"robdiciuccio","email":"rob.diciuccio@gmail.com"},{"name":"chriscorrea","email":"ccorrea@codeforamerica.org"},{"name":"mryhmln","email":"mhamlin@codeforamerica.org"},{"name":"lkacenjar","email":"lkacenjar@codeforamerica.org"}],"readme":"# @codeforamerica/blueprint-safety-net-contracts\n\n> OpenAPI specs, state machines, event schemas, and overlays for safety net benefits programs — reference implementation of the Blueprint framework\n\n[![npm version](https://img.shields.io/npm/v/@codeforamerica/blueprint-safety-net-contracts.svg)](https://www.npmjs.com/package/@codeforamerica/blueprint-safety-net-contracts)\n[![license](https://img.shields.io/npm/l/@codeforamerica/blueprint-safety-net-contracts.svg)](https://github.com/codeforamerica/safety-net-blueprint/blob/main/LICENSE)\n\n> **Pre-release:** This package is at `0.x`. Until `1.0.0`, minor versions may include breaking changes. Pin your version if stability matters.\n\n## What It Is\n\nA reference implementation of the Blueprint framework for safety net benefits programs. It defines the full API surface — data operations (REST), behavioral operations (RPC), events, and field metadata — as contract artifacts that states can adopt, customize with overlays, and build adapters against.\n\nStates don't fork this package. They install it, apply overlays to customize contracts for their context (renaming fields, restricting visibility, setting domain-specific defaults), and point the Blueprint CLI at the resolved output.\n\n## Installation\n\n```bash\nnpm install @codeforamerica/blueprint-safety-net-contracts\n```\n\n## What's Included\n\nContract artifacts are organized under `src/` by domain:\n\n| Domain | Contracts |\n|--------|-----------|\n| **Intake** | Application submission, household composition, document upload, program selection |\n| **Eligibility** | Eligibility determination, program rules, decision records |\n| **Case Management** | Case lifecycle, task assignment, SLA tracking, worker queues |\n| **Client Management** | Person records, household relationships, contact information |\n| **Document Management** | Document upload, classification, retention |\n| **Workflow** | Cross-domain task routing, approval queues, escalation |\n| **Data Exchange** | Inter-agency data sharing, federal reporting adapters |\n| **Scheduling** | Appointment booking, interview scheduling, timer events |\n| **Communication** | Notices, correspondence, notification preferences |\n| **Platform** | Events bus, policy registry, system configuration |\n| **Identity & Access** | User accounts, roles, permissions |\n\nEach domain includes:\n- **OpenAPI spec** (`*-openapi.yaml`) — REST and RPC endpoints with full schema definitions\n- **State machine** (`*-state-machine.yaml`) — lifecycle states, transitions, guards, and actor restrictions\n- **AsyncAPI catalog** (`*-asyncapi.yaml`) — events emitted and subscriptions consumed\n- **Annotations** (`*-annotations.yaml`) — field-level policy citations and data classifications\n\n## Adopting the Blueprint\n\nInstall the package alongside the CLI and resolve the base contracts with your state-specific overlays:\n\n```bash\nnpm install @codeforamerica/blueprint-safety-net-contracts @codeforamerica/blueprint-cli\n\n# Resolve base contracts with your overlays\nnpx blueprint-resolve \\\n  --spec ./node_modules/@codeforamerica/blueprint-safety-net-contracts/src \\\n  --overlay ./overlays/config.yaml \\\n  --out ./resolved\n\n# Validate resolved output\nnpx blueprint-validate --resolved ./resolved\n\n# Start the mock server for frontend development\nnpx blueprint-mock --spec=./resolved\n```\n\nSee the [Setup Guide](https://github.com/codeforamerica/safety-net-blueprint/blob/main/docs/guides/setup-guide.md) for the full walkthrough and the [Overlay Guide](https://github.com/codeforamerica/safety-net-blueprint/blob/main/docs/guides/overlay-guide.md) for overlay authoring.\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/codeforamerica/safety-net-blueprint/blob/main/packages/safety-net-contracts/CHANGELOG.md) for release history.\n\n## Documentation\n\nSee the [Safety Net Blueprint documentation](https://github.com/codeforamerica/safety-net-blueprint) for full guides and reference.\n\n## License\n\n[PolyForm Noncommercial License 1.0.0](https://polyformproject.org/licenses/noncommercial/1.0.0/)\n","readmeFilename":"README.md"}