{"_id":"@absolutejs/sync-pack-notifications","_rev":"9-83930c4b3b96c44c04641495c20ab664","name":"@absolutejs/sync-pack-notifications","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@absolutejs/sync-pack-notifications","version":"0.1.0","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/sync-pack-notifications@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"9abb4133a9f5934d4f068010edb2944381df54f4","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.1.0.tgz","fileCount":5,"integrity":"sha512-xqPfo50XOoVYj67pyLGEHnDh4I9BYaiReR1ETP37ro0AAUuZfzw+OQhGewlYHkivk9QrNZUK7bsdaSO8V/IUSg==","signatures":[{"sig":"MEUCIAPOM/I2t/LjUydEB8vwIG+r2SAKtWKaToQQzmVDgi8aAiEAnK7P3PpxVvzikqJamVWOLQHA7ub4nohuQTaZlqWhbUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34438},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"9abb4133a9f5934d4f068010edb2944381df54f4","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-xqPfo50XOoVYj67pyLGEHnDh4I9BYaiReR1ETP37ro0AAUuZfzw+OQhGewlYHkivk9QrNZUK7bsdaSO8V/IUSg==","repository":{"url":"https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.8.3","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.9.2"},"peerDependencies":{"@absolutejs/sync":">= 1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.1.0_1780008904501_0.274300172890823","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/sync-pack-notifications","version":"0.2.0","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/sync-pack-notifications@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"a52db2df0963eb2460762503c2ae9607662b5017","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.2.0.tgz","fileCount":5,"integrity":"sha512-NrSiXnU5yqdCflfv4XOX2yc3bFpa0ARLC3xoUFQgpR/dgHkMi8XxQptmM20uKzie36vEUX3cifI7MnnBWA3XRQ==","signatures":[{"sig":"MEQCIAd2fSsjNefLMnrdxH6E3gvXIa47hq3BMDMpTgp8Sl3+AiAZ3UuL5AdzAP4NbpxC2QnxBoPAczFGNRU98cMXmw80fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35706},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"a52db2df0963eb2460762503c2ae9607662b5017","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-NrSiXnU5yqdCflfv4XOX2yc3bFpa0ARLC3xoUFQgpR/dgHkMi8XxQptmM20uKzie36vEUX3cifI7MnnBWA3XRQ==","repository":{"url":"https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.8.3","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.9.2"},"peerDependencies":{"@absolutejs/sync":">= 1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.2.0_1780014447943_0.5458851866434846","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@absolutejs/sync-pack-notifications","version":"0.2.1","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-pack-notifications@0.2.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"77257c21b66b07d150db8ae1cda3c169cf94d990","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.2.1.tgz","fileCount":6,"integrity":"sha512-JX5OZlfn8XUFcW6XYMCIXRCAY6Ruoa4yo4V9StdK9MSZt82uu6iWez2tmCkABRcJpHYP+3NMZsHD0cFRa3OBhw==","signatures":[{"sig":"MEUCIQDZw2zVgm8+H4Hx1RQOIP/smgUHX6lqLZqr1Ds4/ggINgIgDKQn/CwW5xL/xWAnvmgTYLS2FcQteJsDLY3075uAIKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47062},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"77257c21b66b07d150db8ae1cda3c169cf94d990","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-JX5OZlfn8XUFcW6XYMCIXRCAY6Ruoa4yo4V9StdK9MSZt82uu6iWez2tmCkABRcJpHYP+3NMZsHD0cFRa3OBhw==","repository":{"url":"https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.8.3","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.9.2"},"peerDependencies":{"@absolutejs/sync":">= 1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.2.1_1780071577942_0.28579338337546334","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@absolutejs/sync-pack-notifications","version":"0.2.2","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-pack-notifications@0.2.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"dist":{"shasum":"3950b0a64e4539caba046ae9078499fea276e8e6","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.2.2.tgz","fileCount":10,"integrity":"sha512-+s7W/Qc0dpjXizK8wXr9n224qbYv192ozzk7aUINGED0XBiCm08TmmpTE1s9c038mMNmKKFEVV9p+WhqUJlAtQ==","signatures":[{"sig":"MEQCID+HJD9umWe9SyemhVc5OTPAhQxsVJdfDowp3oMmzu7DAiBqB7T2YPtHnf5xkMa7QGpkf3GFa/aySPPVSuwjUhzrmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1145073},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"3950b0a64e4539caba046ae9078499fea276e8e6","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-+s7W/Qc0dpjXizK8wXr9n224qbYv192ozzk7aUINGED0XBiCm08TmmpTE1s9c038mMNmKKFEVV9p+WhqUJlAtQ==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.8.3","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.9.2"},"peerDependencies":{"@absolutejs/sync":">= 1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.2.2_1783965476359_0.9347486077877176","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@absolutejs/sync-pack-notifications","version":"0.2.3","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-pack-notifications@0.2.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"dist":{"shasum":"b9ede2518cfc696c47367bb1efe251897a8ec28f","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.2.3.tgz","fileCount":10,"integrity":"sha512-RlTJ6VN7lYBaZb/RJSEvrC/IsUyrO44ImU1SwS1tbJJIaXA3QTBmFikFLvSwbs+/6c4L9xskgFxvebdW0sh2aw==","signatures":[{"sig":"MEYCIQDb235NufKevv9o2ihWWUfcXAbbvQ7ulC49BLV3OdiKLwIhAKTRvKK1wrX3NVGR72AarTpogSEbLSYBu+KyRZ/Vqp4p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1166451},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"b9ede2518cfc696c47367bb1efe251897a8ec28f","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-RlTJ6VN7lYBaZb/RJSEvrC/IsUyrO44ImU1SwS1tbJJIaXA3QTBmFikFLvSwbs+/6c4L9xskgFxvebdW0sh2aw==","absolutejs":{"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.8.3","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.9.2"},"peerDependencies":{"@absolutejs/sync":">= 1.9.2"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.2.3_1784846217229_0.3076386608548738","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@absolutejs/sync-pack-notifications","version":"0.2.4","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-pack-notifications@0.2.4","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"dist":{"shasum":"0e50b80db3ff1eddd51a6fb578714f26e6f76a78","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.2.4.tgz","fileCount":10,"integrity":"sha512-aEZ+bOS6x34w3u6SJY2E15I2aBDSlZdZ561vf/T2V/sRn/hxSvRcbzRk2X+DQdr2VHGfuIDUbhY9DuWXxyMphA==","signatures":[{"sig":"MEYCIQC3siyM5WQt7V1d1wQCBNcJwr5Sq0c5fRJcKoppzrkLvAIhALKVrGLHJV1wNHP5NeRpRX3anUycAxAzMTo3ZZwX+ZG5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":509097},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"0e50b80db3ff1eddd51a6fb578714f26e6f76a78","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-aEZ+bOS6x34w3u6SJY2E15I2aBDSlZdZ561vf/T2V/sRn/hxSvRcbzRk2X+DQdr2VHGfuIDUbhY9DuWXxyMphA==","absolutejs":{"runtimePeers":{"@absolutejs/sync":{"range":">=2.11.0 <3","tested":"2.11.0","buildExternals":["@absolutejs/sync"],"artifactImports":["@absolutejs/sync/engine"]}},"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.8.3","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"2.11.0"},"peerDependencies":{"@absolutejs/sync":">=2.11.0 <3"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.2.4_1784913347495_0.6293558571029074","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@absolutejs/sync-pack-notifications","version":"0.2.5","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-pack-notifications@0.2.5","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"dist":{"shasum":"b8546b569f851b32cf2ce41d6ce1d6467fcf75ea","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.2.5.tgz","fileCount":10,"integrity":"sha512-d83qT0rDgqEVUBvkkHIEIJDKJH9l6a2s4MXsXp69aG7VbnLA/SvCFfTsYE5iK7K3G5V81agCm+zUZHfEVNrIHg==","signatures":[{"sig":"MEUCIQD/iSY0MCWtAei9/r4xQiJX8Xk7cU6kWpEHBmdZhm45qwIgR4i2C02TPGM706t/bc4A/8f/xk3IM0GkDtvRX27FWcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517019},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"ba7c2594b58ad9e1cd434195d96823ba678f2260","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.9.2","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"2.11.0"},"peerDependencies":{"@absolutejs/sync":">=2.11.0 <3"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.2.5_1787720840967_0.6239737465067041","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@absolutejs/sync-pack-notifications","version":"0.3.0","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"author":{"name":"Alex Kahn"},"license":"Apache-2.0","_id":"@absolutejs/sync-pack-notifications@0.3.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"dist":{"shasum":"f6f80e26d689c6385e8ad8615ecf2322dc70969c","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.3.0.tgz","fileCount":10,"integrity":"sha512-OtWYl+l2S8Fmfs9yOi/c6/wZdhRKu0LsWPfif9LyEG1YPzftfD2TucmgziGWTAB68rI2N4+/bA1kw1o/FUSp7w==","signatures":[{"sig":"MEQCICJm5hY1ozrG7eeSmvBNekDsIM7RQUZ2m0YoRHdp0mnfAiBUjcYMml5dBCvVH+ql+3uuhzzA0+IIvHP+ccdNV1OWHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":517659},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"gitHead":"f6a9d1a741b1b3f39977cea64ba6931b3f2f61db","scripts":{"test":"bun test","build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"absolutejs":{"sync":{"localSchema":{"version":1,"localData":{"mutations":[{"match":"*notifications*","protection":"required","sensitivity":"private","onProtectionUnavailable":"memory-only"}],"collections":[{"match":"*notifications*","protection":"required","sensitivity":"private","evictionPriority":"critical","onProtectionUnavailable":"memory-only"}]}}},"manifestContract":2},"repository":{"url":"git+https://github.com/absolutejs/sync-packs.git","type":"git","directory":"notifications"},"_npmVersion":"10.9.2","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"2.28.0"},"peerDependencies":{"@absolutejs/sync":">=2.11.0 <3"},"_npmOperationalInternal":{"tmp":"tmp/sync-pack-notifications_0.3.0_1787723206955_0.9804777318753608","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@absolutejs/sync-pack-notifications","version":"0.4.0","description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","repository":{"type":"git","url":"git+https://github.com/absolutejs/sync-packs.git","directory":"notifications"},"homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","license":"Apache-2.0","author":{"name":"Alex Kahn"},"publishConfig":{"access":"public"},"keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"scripts":{"build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync && tsc --project tsconfig.build.json && absolute-manifest emit","test":"bun test","typecheck":"tsc --noEmit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run typecheck && bun run test && bun run build && bun publish"},"peerDependencies":{"@absolutejs/sync":">=2.11.0 <3"},"devDependencies":{"@absolutejs/sync":"2.29.0","@types/bun":"1.3.14","prettier":"3.5.3","typescript":"5.8.3"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./manifest":{"types":"./dist/manifest.d.ts","import":"./dist/manifest.js","default":"./dist/manifest.js"},"./manifest.json":"./dist/manifest.json"},"absolutejs":{"manifestContract":2,"sync":{"localSchema":{"version":1,"localData":{"collections":[{"match":"*notifications*","sensitivity":"private","protection":"required","onProtectionUnavailable":"memory-only","evictionPriority":"critical"}],"mutations":[{"match":"*notifications*","sensitivity":"private","protection":"required","onProtectionUnavailable":"memory-only","conflict":{"strategy":"client-wins","maxAttempts":1}}]}}}},"dependencies":{"@absolutejs/manifest":"^0.9.0","@sinclair/typebox":"^0.34.0"},"_id":"@absolutejs/sync-pack-notifications@0.4.0","gitHead":"70fac17d77643bafa53a933112c69a65b06245e9","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-GcAbALXnvDLRJybVskKeJIVKYYp/TWkWFpQGTemsq0PsBPKbGw7F5wF8wlZQbzoSiAnif+3rfc/79X2W/MzXTA==","shasum":"5c9c17a82836b3279cc8e420dd3276fd3d2899c1","tarball":"https://registry.npmjs.org/@absolutejs/sync-pack-notifications/-/sync-pack-notifications-0.4.0.tgz","fileCount":10,"unpackedSize":517850,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHJSfOfu+u/pCmhHx0mAll1piXJYZV1Scp5Ub2LSRy3bAiBkxme7XtvFgoXygLEBaK0LoO44Lo9+odfBKjAkgBgsrw=="}]},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"directories":{},"maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sync-pack-notifications_0.4.0_1787729602271_0.5058548258183697"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-28T22:55:04.344Z","modified":"2026-08-26T07:33:23.062Z","0.1.0":"2026-05-28T22:55:04.663Z","0.2.0":"2026-05-29T00:27:28.204Z","0.2.1":"2026-05-29T16:19:38.098Z","0.2.2":"2026-07-13T17:57:56.521Z","0.2.3":"2026-07-23T22:36:57.394Z","0.2.4":"2026-07-24T17:15:47.631Z","0.2.5":"2026-08-26T05:07:21.190Z","0.3.0":"2026-08-26T05:46:47.185Z","0.4.0":"2026-08-26T07:33:22.423Z"},"bugs":{"url":"https://github.com/absolutejs/sync-packs/issues"},"author":{"name":"Alex Kahn"},"license":"Apache-2.0","homepage":"https://github.com/absolutejs/sync-packs/tree/main/notifications","keywords":["absolutejs","sync","sync-pack","notifications","inbox"],"repository":{"type":"git","url":"git+https://github.com/absolutejs/sync-packs.git","directory":"notifications"},"description":"Per-actor inbox pack for @absolutejs/sync — notify, mark-read, scoped reads, optional TTL auto-archive","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/sync-pack-notifications\n\nPer-actor inbox pack for [`@absolutejs/sync`](https://github.com/absolutejs/sync).\nEach actor sees only their own rows; `notify` is the host-trusted insert\npath; `markRead` and `markAllRead` are client-callable owner-only mutations.\nOptional `autoArchiveAfterDays` deletes rows past TTL via a cron schedule.\n\n```bash\nbun add @absolutejs/sync-pack-notifications\n```\n\n## Usage\n\n```ts\nimport { createSyncEngine } from '@absolutejs/sync/engine';\nimport { createNotificationsPack } from '@absolutejs/sync-pack-notifications';\n\nconst engine = createSyncEngine();\nengine.registerPack(\n\tcreateNotificationsPack({\n\t\tgetActorId: (ctx) => ctx.session.userId,\n\t\t// `notify` is the trusted insert path. Mark the ctx your host\n\t\t// uses to call notify as a moderator so the row-author permission\n\t\t// check passes. (In a real app this is a server-only \"system\"\n\t\t// trust flag, not isModerator.)\n\t\tcanModerate: (ctx) => ctx.session.systemTrusted === true,\n\t\t// Optional: archive rows after 30 days. Cleanup schedule fires\n\t\t// hourly by default.\n\t\tautoArchiveAfterDays: 30,\n\t}),\n);\n\n// From any server-side path (a webhook, a schedule, another mutation):\nawait engine.runMutation(\n\t'notifications:notify',\n\t{\n\t\tactorId: 'alice',\n\t\tkind: 'mention',\n\t\ttitle: 'You were mentioned',\n\t\tbody: 'in @doc-123 by bob',\n\t\thref: '/docs/123#comment-456',\n\t},\n\t{ session: { systemTrusted: true } },\n);\n```\n\n## The pack exposes\n\n| Surface     | Name                          | What it does                                            |\n| ----------- | ----------------------------- | ------------------------------------------------------- |\n| Collection  | `notifications`               | Each actor sees their own rows; moderators see all      |\n| Mutation    | `notifications:notify`        | Insert one row for a target actor (host-trusted)        |\n| Mutation    | `notifications:markRead`      | Stamp `readAt` on one row — owner only                  |\n| Mutation    | `notifications:markAllRead`   | Bulk-mark every unread row in the caller's inbox        |\n| Schedule    | `notifications:cleanup`       | (Only if `autoArchiveAfterDays` set) deletes expired    |\n\n## Row shape\n\n```ts\ntype NotificationRow = {\n\tid: string;\n\tactorId: string;       // whose inbox\n\tkind: string;          // app-level tag: \"mention\", \"reply\", \"system\", ...\n\ttitle: string;\n\tbody: string;\n\thref: string | null;   // optional jump-to URL\n\tcreatedAt: number;\n\treadAt: number | null; // null = unread\n\texpiresAt: number | null;\n};\n```\n\n## Storage\n\nDefault: per-instance in-memory store. For a persistent backend pass a\ncustom `store`:\n\n```ts\nimport {\n\tcreateNotificationsPack,\n\ttype NotificationsStore,\n} from '@absolutejs/sync-pack-notifications';\n\nconst store: NotificationsStore = {\n\tgetById: (id) => /* SELECT * FROM notifications WHERE id = $1 */,\n\texpired: (now) => /* SELECT * FROM notifications WHERE expires_at <= $1 */,\n\treader: { all: () => /* SELECT */ },\n\twriter: { insert, update, delete },\n};\n```\n\n`getById` is required (used by `markRead` to verify ownership before update).\n`expired` is required when `autoArchiveAfterDays` is set.\n\n## Multiple instances\n\nPass `prefix` to coexist with another notifications pack instance (e.g. a\nseparate \"system\" inbox vs the regular one):\n\n```ts\nengine.registerPack(createNotificationsPack({ prefix: 'user_', /* ... */ }));\nengine.registerPack(createNotificationsPack({ prefix: 'system_', /* ... */ }));\n```\n","readmeFilename":"README.md"}