{"_id":"@dreamboard-games/reducer-contract","_rev":"3-68dbade8ce2597f0ba7f7984926ba489","name":"@dreamboard-games/reducer-contract","dist-tags":{"latest":"7.0.2"},"versions":{"7.0.0":{"name":"@dreamboard-games/reducer-contract","version":"7.0.0","license":"SEE LICENSE IN LICENSE","_id":"@dreamboard-games/reducer-contract@7.0.0","maintainers":[{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"}],"homepage":"http://dreamboard.games/","bugs":{"url":"https://github.com/dreamboard-games/dreamboard/issues"},"dist":{"shasum":"fa6ea2f9e145102aec0273831c41868bc0324a56","tarball":"https://registry.npmjs.org/@dreamboard-games/reducer-contract/-/reducer-contract-7.0.0.tgz","fileCount":38,"integrity":"sha512-SKKg4vj1lb3AXHQDkHySRr75+N+xMCXK40ztwuwbCYv47IPvyJrSmMe8k26w8D+6ztamdyAtDbVW1yNZEsDjyA==","signatures":[{"sig":"MEUCIQDG1UbU+rXDJT9uoz9eqQATqXpWmNz/tBZ4b55RAWjCWAIgGFYI5dxXwsIQGzwXzZnXdSMn6TjesymdUX99F+iXGJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116562},"main":"./src/index.ts","type":"module","types":"./src/index.ts","exports":{".":"./src/index.ts","./zod":"./generated/zod.ts","./wire":"./generated/wire.ts","./bundle":"./src/bundle.ts","./schema":"./schema/reducer-runtime.schema.json","./version":"./generated/version.ts","./builders":"./generated/builders.ts","./fixtures":"./fixtures/index.ts"},"gitHead":"404337a31fa0cc99d50ec71b188a98bea18f1dd5","scripts":{"lint":"tsc --noEmit","test":"pnpm generate && bun test","build":"pnpm generate && tsc --noEmit","generate":"node scripts/generate-ts.mjs && node scripts/generate-kotlin.mjs","typecheck":"pnpm generate && tsc --noEmit","generate:check":"node scripts/generate-check.mjs"},"_npmUser":{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"},"repository":{"url":"git+https://github.com/dreamboard-games/dreamboard.git","type":"git"},"_npmVersion":"11.11.0","description":"Single-source-of-truth wire contract between the JS reducer bundle and the Kotlin reducer runtime. The JSON Schema in ./schema is authoritative; TS and Kotlin artifacts are generated.","directories":{},"_nodeVersion":"25.8.1","dependencies":{"@dreamboard/sdk-types":"npm:@dreamboard-games/sdk-types@0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"4.4.3"},"_npmOperationalInternal":{"tmp":"tmp/reducer-contract_7.0.0_1779234121662_0.5051983587509223","host":"s3://npm-registry-packages-npm-production"}},"7.0.1":{"name":"@dreamboard-games/reducer-contract","version":"7.0.1","license":"SEE LICENSE IN LICENSE","_id":"@dreamboard-games/reducer-contract@7.0.1","maintainers":[{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"}],"homepage":"http://dreamboard.games/","bugs":{"url":"https://github.com/dreamboard-games/dreamboard/issues"},"dist":{"shasum":"b1e4e7acdc5782fee751e24885e102902664cb8f","tarball":"https://registry.npmjs.org/@dreamboard-games/reducer-contract/-/reducer-contract-7.0.1.tgz","fileCount":39,"integrity":"sha512-885akQXGuRJVOH86CFYGd6R7H/X7HN2obzZo9kE1t2u5dfAfoQ9x5A85BZYOLeOVAIjL2QPaS59k8GTYWMU+VA==","signatures":[{"sig":"MEUCIQCkZh4A7joBy/eeBG06eFL33JGyrJ2pXT9JOJNrH0yPaAIgZNsS36sHDE5Eh9V7d5BgzwWUAVVDMxDlNsgNA7YZY6U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117292},"main":"./src/index.ts","type":"module","types":"./src/index.ts","exports":{".":"./src/index.ts","./zod":"./generated/zod.ts","./wire":"./generated/wire.ts","./bundle":"./src/bundle.ts","./schema":"./schema/reducer-runtime.schema.json","./version":"./generated/version.ts","./builders":"./generated/builders.ts","./fixtures":"./fixtures/index.ts"},"gitHead":"404337a31fa0cc99d50ec71b188a98bea18f1dd5","scripts":{"lint":"tsc --noEmit","test":"pnpm generate && bun test","build":"pnpm generate && tsc --noEmit","generate":"node scripts/generate-ts.mjs && node scripts/generate-kotlin.mjs","typecheck":"pnpm generate && tsc --noEmit","generate:check":"node scripts/generate-check.mjs"},"_npmUser":{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"},"repository":{"url":"git+https://github.com/dreamboard-games/dreamboard.git","type":"git"},"_npmVersion":"11.11.0","description":"Single-source-of-truth wire contract between the JS reducer bundle and the Kotlin reducer runtime. The JSON Schema in ./schema is authoritative; TS and Kotlin artifacts are generated.","directories":{},"_nodeVersion":"25.8.1","dependencies":{"@dreamboard/sdk-types":"npm:@dreamboard-games/sdk-types@0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"zod":"4.4.3"},"_npmOperationalInternal":{"tmp":"tmp/reducer-contract_7.0.1_1779234771753_0.8840990356732259","host":"s3://npm-registry-packages-npm-production"}},"7.0.2":{"name":"@dreamboard-games/reducer-contract","version":"7.0.2","description":"Single-source-of-truth wire contract between the JS reducer bundle and the Kotlin reducer runtime. The JSON Schema in ./schema is authoritative; TS and Kotlin artifacts are generated.","type":"module","main":"./src/index.ts","types":"./src/index.ts","exports":{".":"./src/index.ts","./bundle":"./src/bundle.ts","./wire":"./generated/wire.ts","./zod":"./generated/zod.ts","./builders":"./generated/builders.ts","./version":"./generated/version.ts","./schema":"./schema/reducer-runtime.schema.json","./fixtures":"./fixtures/index.ts"},"scripts":{"generate":"node scripts/generate-ts.mjs && node scripts/generate-kotlin.mjs","generate:check":"node scripts/generate-check.mjs","build":"pnpm generate && tsc --noEmit","typecheck":"pnpm generate && tsc --noEmit","test":"pnpm generate && bun test","lint":"tsc --noEmit"},"dependencies":{"@dreamboard/sdk-types":"npm:@dreamboard-games/sdk-types@0.1.2"},"peerDependencies":{"zod":"4.4.3"},"license":"SEE LICENSE IN LICENSE","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/dreamboard-games/dreamboard.git"},"homepage":"http://dreamboard.games/","bugs":{"url":"https://github.com/dreamboard-games/dreamboard/issues"},"gitHead":"ca65bc2d6f69b23416502aa907fb54601eb6daa1","_id":"@dreamboard-games/reducer-contract@7.0.2","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-dVna9UCH2Nu5OuojUbhB4XtwWaRIVHSebc+kmwjPSNInexkE6wdkNHelICEU7w9W0xNPXpMKAZXJuAvhL7RjdA==","shasum":"01c3f8d55eda6d30a766832436d326dade4c4732","tarball":"https://registry.npmjs.org/@dreamboard-games/reducer-contract/-/reducer-contract-7.0.2.tgz","fileCount":39,"unpackedSize":117292,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDouUaKpbR/ey1sY+neQ/E/bVlTTtWLAivzH5xKlkDKdgIgRK+NeXVKz3AijPV5yatgCMgicC5XuQHqNbafBXxvbe0="}]},"_npmUser":{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"},"directories":{},"maintainers":[{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/reducer-contract_7.0.2_1779257614546_0.3417070011303831"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-19T23:42:01.488Z","modified":"2026-05-20T06:13:34.788Z","7.0.0":"2026-05-19T23:42:01.830Z","7.0.1":"2026-05-19T23:52:51.916Z","7.0.2":"2026-05-20T06:13:34.680Z"},"bugs":{"url":"https://github.com/dreamboard-games/dreamboard/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"http://dreamboard.games/","repository":{"type":"git","url":"git+https://github.com/dreamboard-games/dreamboard.git"},"description":"Single-source-of-truth wire contract between the JS reducer bundle and the Kotlin reducer runtime. The JSON Schema in ./schema is authoritative; TS and Kotlin artifacts are generated.","maintainers":[{"name":"ctan1345","email":"ctan1345@uni.sydney.edu.au"}],"readme":"# @dreamboard-games/reducer-contract\n\nWire contract between Dreamboard reducer bundles and the runtime that executes\nthem.\n\nThis package is published as `@dreamboard-games/reducer-contract`. Dreamboard\nworkspace tooling may install it through the npm alias\n`@dreamboard/reducer-contract` so generated and authored source can keep stable\nimport paths.\n\n## Contents\n\n- JSON Schema for reducer runtime messages.\n- Generated TypeScript wire types and Zod validators.\n- Generated effect builders.\n- Canonical fixture corpus used for JS/Kotlin conformance checks.\n\nThe schema files in `schema/` are the authoritative contract. Generated\nTypeScript and Kotlin artifacts are derived from that schema and should stay in\nlockstep with it.\n\n","readmeFilename":"README.md"}