{"_id":"@codeforbreakfast/eventsourcing-protocol","_rev":"14-72750b8b8c6ba2f1efd7d41b4694c0b7","name":"@codeforbreakfast/eventsourcing-protocol","dist-tags":{"latest":"0.4.9"},"versions":{"0.3.0":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.3.0","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.3.0","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"ac83568a34622becd83f61a6071b0adfdfbb78b5","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.3.0.tgz","fileCount":23,"integrity":"sha512-6ur2+mhl0IX9GocUTbvWmgvlXO7Yo2aVvivLDWVfo3fjQNU/tvMNr7PDy9sdNqYS7AxvFICtWhOL6EUXMDMF7Q==","signatures":[{"sig":"MEYCIQCF051eL8oGthqUeF8V3Pz+RLElScpGzIYDLQD+wPaeLgIhALBNstwT1Ye5XMuQX+Vh7TIYDA8G8chsJfa4l47wKbum","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293165},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"18e324d0d06e1524923d166cf7f6d84958155b5a","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","publish:package":"npm publish --access public"},"_npmUser":{"name":"graemef","email":"graemef@gmail.com"},"repository":{"url":"git+https://github.com/codeforbreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"10.8.2","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.17.14","eslint":"9.36.0","typescript":"5.9.2","@types/node":"24.5.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.3.0_1759054232643_0.8268014603465463","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.3.3","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.3.3","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"dbddff8a55e7f7cefa1f6b2fc87a048e3460e698","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.3.3.tgz","fileCount":23,"integrity":"sha512-znr3lDBg8S/4tjiXqnRqP3NDQrd4yVJxP74wwVZSEOQFiWbzCMGFnJXb40KUih4Jahd0bSpXxT5HE8NKNrKUJw==","signatures":[{"sig":"MEUCIAhIwpPGsrgQcrkE11TZQ7wJQWBA3SiK85L3MnP5A5sjAiEApbcA7HuXCywugdGBCc5zIHKmMrJyd5VIurGgS3XpUP8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":293327},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"b51721207db43b5ba8b9228b79cfa36219146005","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.17.14","eslint":"9.36.0","typescript":"5.9.2","@types/node":"24.5.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.3.3_1759068014721_0.6367814986904123","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.3.4","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.3.4","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"9d61e39ae866658796b99e81b6055803bb8f5c4d","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.3.4.tgz","fileCount":23,"integrity":"sha512-8uUQbTCsleAg4B/p9VroTQ83m9Wne0+KWLouhYDegFeB27J6d47oUs0WPEhy3mF5KkZ6N/Tt2j9zVVYK4tNg+g==","signatures":[{"sig":"MEQCIBku8yNok+YqYIaEuQp0orpyC/GbGG845o30qZfey7S/AiBDJHLMqSV09J2Tf6v1UjwrsLmE0+rYy+KsaZicC711UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.3.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":293327},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"4272dfe3fcd478fa8ece441ac05b36cd4089a1d1","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.17.14","eslint":"9.36.0","typescript":"5.9.2","@types/node":"24.5.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.3.4_1759077247050_0.09804411497923193","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.3.5","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.3.5","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"d683dbe4cc527335d49643fa9e022384060afe34","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.3.5.tgz","fileCount":23,"integrity":"sha512-pYf764qyGR/sPGQ9SqjPg2NGOdtoUKbbccE/owpVYRtFjaHGPUx9LCxEWIDkwrUpJrtphVT4rpV9tchPn850xA==","signatures":[{"sig":"MEQCIDfmNPrUaLCw+QunzuasToamI7AoCY5PPWsIpz2VpMrUAiBsVNs5EMtqdjkGwII78GzE9bOBgCY2KDBXXhOdeb4zog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":299983},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"35106a1245f942e488807eea940f69a8a8af3b13","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.0.1","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.17.14","eslint":"9.36.0","typescript":"5.9.2","@types/node":"24.5.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.3.5_1759154766121_0.3559301712299918","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.0","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.0","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"91ea8a1a4bc51ddac9e1539d15da778d4dd3a0a8","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.0.tgz","fileCount":23,"integrity":"sha512-9umEucTBvuVdyXyhlCLsiFvYcOVy41ZoEkfteOmjfVwaaOqm0ofAqvmneOEFbltztjfTzZYjCz7yAqPBGDfXPg==","signatures":[{"sig":"MEUCIQC3TYqbcERna/gCrqE3qtoAi6qgvGP3QaucYmuMeLzBeAIgWQ7nXz8TUZcQj3UwmaVTx00hPYrZUvT6javN4xKBnQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261655},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"25c05b1804fe30d707ce5508addc73813ed6ebfc","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.0.1","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.1","eslint":"9.36.0","typescript":"5.9.3","@types/node":"24.6.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.0_1759677754060_0.04884520756487154","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.1","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.1","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"6862992d05a0c606aef22b4952b7bf02ca287447","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.1.tgz","fileCount":23,"integrity":"sha512-36QwXb1ZnzWf9BVb1q2nC972WKcPMCMDLvuVGXps8kdcYrdmj5nhlXdFoDrikjnVvfnUjq/Ufug6aDm7Ck8Lsg==","signatures":[{"sig":"MEYCIQDxHFPYDZHsvkHpNDPEYrsSqRRjFhB5Z7lF9/Lj2PpmEAIhAPSxqv+CLDcyIg+E0MHoAOlzcs+XfBu4BFAUwFYg/4RI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261653},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"64395671cd2e58b786dc4f009dca9a0db2e22214","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.0.1","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.1","eslint":"9.36.0","typescript":"5.9.3","@types/node":"24.6.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.1_1759689712873_0.8364118828774996","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.2","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.2","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"584644c510d3756cf85a89d84338299a913445ef","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.2.tgz","fileCount":23,"integrity":"sha512-K7OYKWFUogX1KMsmxIV4KAaO4awxnBV1KFKsOOQkY8riDsvH50u6T3Ny3Nf/d3TXZUZL3LZth7aM8qR18DMdJw==","signatures":[{"sig":"MEUCIFYH1X35f+aGG9gdcoGgDfIBln1xw1tf8ehX5MFcgGp8AiEAx1Jru6Gjf5qRwlBKbd9qA6xCLMmAos7fWT5MS9nZ3Bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":288928},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"37f4fc8c1953c6018760271ab3d6b8c4d30ec88c","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.0.1","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.1","eslint":"9.36.0","typescript":"5.9.3","@types/node":"24.6.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.2_1759854549797_0.22854328522700373","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.3","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.3","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"d17041e6ffeaf6323b935a0866a4d96e5f4fd915","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.3.tgz","fileCount":19,"integrity":"sha512-0ubCKqE8+yY1S20jYgpmUtAp1ctihgI9Ycz7xnyoYNt6oVFiaAOg/FZEgrtx/e0eMo6b58tLCuZmi6PWmlrlyw==","signatures":[{"sig":"MEQCIEKcyxQESskFt8klu9nMS1Zdezbs7vO37lmgdmWvdNJsAiBAkO8fLXjB6QUHJXGWY7giX+p9O6vnrl+U+4UgThzT6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":167521},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"6b33e587b5948de08c6fcfd7bebc0f93e22cd24b","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target bun --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc --build","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.1","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.0.1","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.4","eslint":"9.36.0","typescript":"5.9.3","@types/node":"24.6.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.3_1760267626519_0.9810572032709082","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.4","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.4","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"b3aec4a957b5af4e49e1c8b0f422624c85764c55","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.4.tgz","fileCount":14,"integrity":"sha512-D2s70cTJ5bHNYUFe4S8vbfzlEUQz1ScoNryQkTvUWi40jXibDt9ExLhy+zWFu8Vjvcs5MVQIVcn6HoV+Zd0kYA==","signatures":[{"sig":"MEUCIAs5BviiYBsH9upMxdC2uBs6OOel2/eQNQQNwJLYfQtVAiEAr+kpZLS87GIvdOrEhYTmpQRxBCSlGrcOTjOUtN1pqM8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":145158},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"209ef435978ce052d57ea888fdc847b07011a674","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.2","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.0.1","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.4","eslint":"9.37.0","typescript":"5.9.3","@types/node":"24.7.1","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.4_1760430179308_0.07035041110876561","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.5","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.5","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"5e58d89c110d2917b97e6aa6322c4c003af491ef","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.5.tgz","fileCount":14,"integrity":"sha512-y21rs4hEDBGhUb+akWC+VR87rnZ4SLPQqcr6jSVO6/8d3bdVbjpS3QBLuAZfki8NRB86scvAj1T0PsEz3mFKmQ==","signatures":[{"sig":"MEYCIQCC7ZIVhZJtsQioSdwgMGcoV1fPniBGQnIwX6xylsiiWgIhALiyx3Avm6RsI5DAkroPgoBDneE0RG9w3EIAR7BDZl7a","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":145158},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"b86d91ea14ffcb2c9209ebfcbf6c48b4a9ff5876","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.2","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.1.0","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.4","eslint":"9.37.0","typescript":"5.9.3","@types/node":"24.7.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.5_1760796634136_0.9582314648527923","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.6","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.6","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"98d65fc47461bb975b412691c1ee1cacbc43a13b","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.6.tgz","fileCount":14,"integrity":"sha512-oWSaq8f/m0GlDLMzRUA9n3JFhf3jGbPwp/8F55wsT6AXz1q2uhknXwMqfqrZ9ajc30ki48CrP8bCLnvzDYEwKQ==","signatures":[{"sig":"MEQCIHJyOLe6IdhVBsrfl2gfApYFq1odqdLj5agN/qq0lDQiAiA9v4kBG82zOI+S5HnVECUtFYH/2ejvdukyMY+QeuYBqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":145158},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"8aeb86d53d72d178720c7a9543b57a8a85177f25","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.2","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.1.0","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.4","eslint":"9.38.0","typescript":"5.9.3","@types/node":"24.9.1","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.6_1761488004249_0.5762837537921779","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.7","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.7","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"b68c3d55978440747172449e181d547d7fdd709b","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.7.tgz","fileCount":14,"integrity":"sha512-XNVzf+S8JVjMihncloA0vqOf278piHwJseEirCHpDVIa3CokXKSRelxw3VJWdGXmAP451q21tdLGmX4CHomPlA==","signatures":[{"sig":"MEUCIDcmXMhBRLnHkVQg7xChAa39MjOSQOuJCMyHVzMi5oEzAiEA2Lw9TP5Y9KOJl8MaSTmbIt2G++TpJ6T69EB4lvicpFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146439},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"7f67156700fc3a5d4036c8d9fd4f905897e41917","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.2","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.1.0","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.4","eslint":"9.38.0","typescript":"5.9.3","@types/node":"24.9.2","@codeforbreakfast/buntest":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.7_1762159721720_0.5856007571775101","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.8","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.8","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"dist":{"shasum":"0843da829b187e8b1d518a0ae42516c76d081b9a","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.8.tgz","fileCount":14,"integrity":"sha512-wEek6JcHUiv/bkohQSfD9fP0ajyvBRDmK/LgCvxeLYZ3POa3kzpyXDbP1gPWjephnBOhJGd7FxdVcvP/uLtZ7A==","signatures":[{"sig":"MEUCIAWstxnwLjKwSFYKPvuZPPrX8p3dbaalKh/y3G5VQCOiAiEA6AahJOtAsquYow0/9K+DTSWmXSqlgCJNoZSwK0ZMVUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146456},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"gitHead":"572968daaa6a79b98fb010df951d5f75bcd7f1c7","scripts":{"lint":"eslint . --ext .ts,.tsx","test":"bun test","build":"bun build ./src/index.ts --outdir ./dist --target node --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"bun test --watch","validate:docs":"bun ../../scripts/validate-markdown-examples.ts","validate:pack":"bun pm pack --dry-run","publish:package":"npm publish --access public","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"repository":{"url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","type":"git","directory":"packages/eventsourcing-protocol"},"_npmVersion":"11.6.2","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","directories":{},"sideEffects":false,"_nodeVersion":"20.19.5","dependencies":{"type-fest":"5.2.0","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"effect":"3.18.4","eslint":"9.39.1","typescript":"5.9.3","@types/node":"24.10.0","@codeforbreakfast/bun-test-effect":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*"},"peerDependencies":{"effect":"^3.17.0"},"_npmOperationalInternal":{"tmp":"tmp/eventsourcing-protocol_0.4.8_1764059356622_0.23802125815664166","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@codeforbreakfast/eventsourcing-protocol","version":"0.4.9","description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"build":"bun build ./src/index.ts --outdir ./dist --target node --format esm --external effect --external @effect/* --external @codeforbreakfast/* && bun x tsc","test":"bun test","test:watch":"bun test --watch","lint":"eslint . --ext .ts,.tsx","typecheck":"tsc --noEmit","clean":"rm -rf dist","publish:package":"npm publish --access public","validate:pack":"bun pm pack --dry-run","check:publishable":"npm view $npm_package_name@$npm_package_version version >/dev/null 2>&1 && exit 1 || exit 0","validate:docs":"bun ../../scripts/validate-markdown-examples.ts"},"keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"author":{"name":"Code for Breakfast"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","directory":"packages/eventsourcing-protocol"},"bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","peerDependencies":{"effect":"^3.17.0"},"dependencies":{"@codeforbreakfast/eventsourcing-commands":"workspace:*","@codeforbreakfast/eventsourcing-store":"workspace:*","@codeforbreakfast/eventsourcing-transport":"workspace:*","type-fest":"5.2.0"},"devDependencies":{"@codeforbreakfast/bun-test-effect":"workspace:*","@codeforbreakfast/eventsourcing-transport-inmemory":"workspace:*","@types/node":"24.10.0","effect":"3.19.9","typescript":"5.9.3","eslint":"9.39.1"},"publishConfig":{"access":"public"},"sideEffects":false,"engines":{"node":">=18.0.0"},"gitHead":"dc9291553d278cb59572e9fb1569fe0c01194eea","_id":"@codeforbreakfast/eventsourcing-protocol@0.4.9","_nodeVersion":"20.19.6","_npmVersion":"11.6.2","dist":{"integrity":"sha512-D4eqK6wBivJ+vessfqkGpwAZW5a79sEEib1at+cL3YxgAkHrW4boKa9MLR/5/MaSNgZcvZIZwDGdNmdIMQcNxA==","shasum":"2f2f619cfefb7d611913470a61a9cb984268cb08","tarball":"https://registry.npmjs.org/@codeforbreakfast/eventsourcing-protocol/-/eventsourcing-protocol-0.4.9.tgz","fileCount":14,"unpackedSize":146456,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@codeforbreakfast%2feventsourcing-protocol@0.4.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDT5hRssYEsP+7L695AfsGsd+wgNBjmi1RwAZwWqvgGfAIgAvkkts/ELZI9lD2G+LCqQVGGAOH7bky/qniqPECcOtY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:26c69f90-724e-449c-9943-9789f1f0f2f2"}},"directories":{},"maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eventsourcing-protocol_0.4.9_1765443327247_0.17468951263072174"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-28T10:10:32.547Z","modified":"2025-12-11T08:55:27.782Z","0.3.0":"2025-09-28T10:10:32.971Z","0.3.3":"2025-09-28T14:00:14.912Z","0.3.4":"2025-09-28T16:34:07.284Z","0.3.5":"2025-09-29T14:06:06.301Z","0.4.0":"2025-10-05T15:22:34.249Z","0.4.1":"2025-10-05T18:41:53.048Z","0.4.2":"2025-10-07T16:29:09.981Z","0.4.3":"2025-10-12T11:13:46.709Z","0.4.4":"2025-10-14T08:22:59.481Z","0.4.5":"2025-10-18T14:10:34.325Z","0.4.6":"2025-10-26T14:13:24.437Z","0.4.7":"2025-11-03T08:48:41.933Z","0.4.8":"2025-11-25T08:29:16.822Z","0.4.9":"2025-12-11T08:55:27.391Z"},"bugs":{"url":"https://github.com/codeforbreakfast/eventsourcing/issues"},"author":{"name":"Code for Breakfast"},"license":"MIT","homepage":"https://github.com/codeforbreakfast/eventsourcing#readme","keywords":["event-sourcing","protocol","implementation","standard","transport-agnostic","websocket","http","sse","message-serialization","command-correlation","subscription-management","cqrs","aggregate","command","stream","effect","effect-ts","functional-programming","fp","typescript","type-safe"],"repository":{"type":"git","url":"git+https://github.com/CodeForBreakfast/eventsourcing.git","directory":"packages/eventsourcing-protocol"},"description":"Event sourcing protocol implementation over any transport - Protocol implementation with message serialization, command correlation, and subscription management","maintainers":[{"name":"graemef","email":"graemef@gmail.com"}],"readme":"# Event Sourcing Protocol\n\n**Transport-agnostic protocol** for event sourcing command/event communication.\n\n## Overview\n\nThis package provides the protocol layer that sits on top of any transport (WebSocket, HTTP, message queue). It handles:\n\n- **Command/Result correlation** - Track which responses belong to which requests\n- **Event subscriptions** - Stream events from the server to clients\n- **Timeout handling** - Fail commands that take too long (10s default)\n- **Error propagation** - Pass structured errors back to clients\n\n**Key principle**: Your application code should use this package's API. Transport choice (WebSocket, etc.) is a deployment detail configured when setting up your Effect layers.\n\n## Architecture\n\nThe protocol operates on public Wire API types:\n\n- `WireCommand` - Commands sent from client to server (from `@codeforbreakfast/eventsourcing-commands`)\n- `CommandResult` - Success/failure results (from `@codeforbreakfast/eventsourcing-commands`)\n- `Event` - Domain events streamed to clients (from `@codeforbreakfast/eventsourcing-store`)\n\nThese types have `unknown` payloads because the protocol doesn't know your domain - it just routes messages. Validation happens in your domain layer\n\n## Installation\n\n```bash\nbun add @codeforbreakfast/eventsourcing-protocol\n```\n\n**Note**: You'll also need a transport package for layer setup. See `@codeforbreakfast/eventsourcing-websocket` for WebSocket transport.\n\n## Client API\n\n### Sending Commands\n\n```typescript\nimport { Effect, pipe } from 'effect';\nimport { sendWireCommand } from '@codeforbreakfast/eventsourcing-protocol';\nimport type { WireCommand } from '@codeforbreakfast/eventsourcing-commands';\n\ndeclare const command: WireCommand;\n\nconst program = pipe(\n  sendWireCommand(command),\n  Effect.tap((result) =>\n    Effect.sync(() => {\n      if (result._tag === 'Success') {\n        console.log('Command succeeded at position:', result.position);\n      } else {\n        console.error('Command failed:', result.error);\n      }\n    })\n  )\n);\n\n// Provide transport layer when running (see eventsourcing-websocket for setup)\n```\n\n### Subscribing to Events\n\n```typescript\nimport { Effect, Stream, pipe } from 'effect';\nimport { subscribe, type Event } from '@codeforbreakfast/eventsourcing-protocol';\n\nconst processEvent = (event: Event) =>\n  Effect.sync(() => {\n    console.log(`Event: ${event.type}`);\n    console.log(`Position: ${event.position.eventNumber}`);\n    console.log(`Data:`, event.data);\n    console.log(`Timestamp:`, event.timestamp);\n  });\n\nconst program = pipe(\n  subscribe('user-123'),\n  Effect.flatMap((eventStream) => Stream.runForEach(eventStream, processEvent))\n);\n\n// Provide transport layer when running\n```\n\n### Complete Example\n\n```typescript\nimport { Effect, Stream, pipe } from 'effect';\nimport {\n  sendWireCommand,\n  subscribe,\n  type Event,\n  type ProtocolValidationError,\n} from '@codeforbreakfast/eventsourcing-protocol';\nimport type { WireCommand } from '@codeforbreakfast/eventsourcing-commands';\n\ndeclare const command: WireCommand;\n\nconst logEvent = (event: Event) => Effect.sync(() => console.log('Received event:', event.type));\n\nconst processEventsInBackground = (events: Stream.Stream<Event, ProtocolValidationError, never>) =>\n  pipe(events, Stream.runForEach(logEvent), Effect.fork);\n\nconst application = pipe(\n  subscribe('user-123'),\n  Effect.flatMap((events) =>\n    pipe(\n      processEventsInBackground(events),\n      Effect.flatMap(() => sendWireCommand(command))\n    )\n  )\n);\n\n// Setup transport layer (see @codeforbreakfast/eventsourcing-websocket)\n// Then run: Effect.runPromise(application.pipe(Effect.provide(layer)))\n```\n\n## Server API\n\n### ServerProtocol Service\n\nThe server-side protocol handles incoming commands and publishes events:\n\n```typescript\nimport { Effect, Stream, pipe } from 'effect';\nimport { ServerProtocol } from '@codeforbreakfast/eventsourcing-protocol';\nimport type { WireCommand, CommandResult } from '@codeforbreakfast/eventsourcing-commands';\nimport { toStreamId } from '@codeforbreakfast/eventsourcing-store';\n\nconst createSuccessResult = (target: string) =>\n  pipe(\n    toStreamId(target),\n    Effect.map((streamId) => {\n      const result: CommandResult = {\n        _tag: 'Success' as const,\n        position: { streamId, eventNumber: 1 },\n      };\n      return result;\n    })\n  );\n\nconst handleCommand = (protocol: typeof ServerProtocol.Service, command: WireCommand) =>\n  pipe(\n    Effect.sync(() => console.log('Received command:', command.name)),\n    Effect.flatMap(() => createSuccessResult(command.target)),\n    Effect.flatMap((result) => protocol.sendResult(command.id, result))\n  );\n\nconst serverProgram = pipe(\n  ServerProtocol,\n  Effect.flatMap((protocol) =>\n    pipe(\n      protocol.onWireCommand,\n      Stream.runForEach((command) => handleCommand(protocol, command))\n    )\n  )\n);\n\n// Provide ServerProtocolLive with a server transport\n// Effect.runPromise(serverProgram.pipe(Effect.provide(ServerProtocolLive(serverTransport))))\n```\n\n### Publishing Events\n\n```typescript\nimport { Effect, pipe } from 'effect';\nimport { ServerProtocol, type Event } from '@codeforbreakfast/eventsourcing-protocol';\nimport { toStreamId } from '@codeforbreakfast/eventsourcing-store';\n\nconst publishEvent = (streamId: string, event: Event) =>\n  pipe(\n    toStreamId(streamId),\n    Effect.flatMap((eventStreamId) =>\n      pipe(\n        ServerProtocol,\n        Effect.flatMap((protocol) =>\n          protocol.publishEvent({\n            ...event,\n            streamId: eventStreamId,\n          })\n        )\n      )\n    )\n  );\n```\n\n## API Reference\n\n### Client Functions\n\n#### `sendWireCommand`\n\n```typescript\nimport type { Effect } from 'effect';\nimport type { Protocol } from '@codeforbreakfast/eventsourcing-protocol';\nimport type { WireCommand, CommandResult } from '@codeforbreakfast/eventsourcing-commands';\nimport type { TransportError } from '@codeforbreakfast/eventsourcing-transport';\nimport type { ProtocolCommandTimeoutError } from '@codeforbreakfast/eventsourcing-protocol';\n\ndeclare const sendWireCommand: (\n  command: WireCommand\n) => Effect.Effect<CommandResult, TransportError | ProtocolCommandTimeoutError, Protocol>;\n```\n\nSends a command and waits for the result. Automatically times out after 10 seconds.\n\n**Parameters:**\n\n- `command: WireCommand` - Command with `id`, `target`, `name`, `payload`\n\n**Returns:**\n\n- `Success`: Command executed successfully with event stream position\n- `Failure`: Command failed with structured error details\n\n**Errors:**\n\n- `ProtocolCommandTimeoutError` - Command timed out (10 seconds)\n- `TransportError` - Network/connection error\n\n#### `subscribe`\n\n```typescript\nimport type { Effect, Stream, Scope } from 'effect';\nimport type { Protocol } from '@codeforbreakfast/eventsourcing-protocol';\nimport type { Event } from '@codeforbreakfast/eventsourcing-store';\nimport type { TransportError } from '@codeforbreakfast/eventsourcing-transport';\n\ndeclare const subscribe: (\n  streamId: string\n) => Effect.Effect<Stream.Stream<Event>, TransportError, Scope.Scope | Protocol>;\n```\n\nSubscribes to events from a specific stream.\n\n**Parameters:**\n\n- `streamId: string` - Stream identifier to subscribe to\n\n**Returns:** Stream of events with `position`, `type`, `data`, `timestamp`\n\n### Server Service\n\n#### `ServerProtocol`\n\n```typescript\nimport type { Effect, Stream } from 'effect';\nimport type { WireCommand, CommandResult } from '@codeforbreakfast/eventsourcing-commands';\nimport type { EventStreamId } from '@codeforbreakfast/eventsourcing-store';\nimport type { Event } from '@codeforbreakfast/eventsourcing-protocol';\nimport type { TransportError } from '@codeforbreakfast/eventsourcing-transport';\n\ninterface ServerProtocolService {\n  readonly onWireCommand: Stream.Stream<WireCommand, never, never>;\n  readonly sendResult: (\n    commandId: string,\n    result: CommandResult\n  ) => Effect.Effect<void, TransportError, never>;\n  readonly publishEvent: (\n    event: Event & { readonly streamId: EventStreamId }\n  ) => Effect.Effect<void, TransportError, never>;\n}\n```\n\n## Error Handling\n\n```typescript\nimport { Effect, pipe } from 'effect';\nimport {\n  sendWireCommand,\n  ProtocolCommandTimeoutError,\n} from '@codeforbreakfast/eventsourcing-protocol';\nimport { TransportError } from '@codeforbreakfast/eventsourcing-transport';\nimport type { WireCommand } from '@codeforbreakfast/eventsourcing-commands';\n\ndeclare const command: WireCommand;\n\nconst program = pipe(\n  sendWireCommand(command),\n  Effect.catchTags({\n    ProtocolCommandTimeoutError: (error) =>\n      Effect.sync(() => console.error('Command timed out:', error.commandId)),\n    TransportError: (error) => Effect.sync(() => console.error('Transport error:', error.message)),\n  })\n);\n```\n\n## Wire API Types\n\nThis package works with types from other packages:\n\n```typescript\nimport type { WireCommand, CommandResult } from '@codeforbreakfast/eventsourcing-commands';\nimport type { Event, EventStreamPosition } from '@codeforbreakfast/eventsourcing-store';\n\ndeclare const wireCommandStructure: WireCommand;\ndeclare const commandResultStructure: CommandResult;\ndeclare const eventStructure: Event;\n```\n\nSee the respective packages for full type definitions and validation schemas.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}