{"_id":"@atmo-dev/contrail-sync","_rev":"13-3d140c46946bd0d5e481d42c2b966f66","name":"@atmo-dev/contrail-sync","dist-tags":{"latest":"0.12.2"},"versions":{"0.1.1":{"name":"@atmo-dev/contrail-sync","version":"0.1.1","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.1.1","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"3b3fb7ab4879b606d9ac2668ba14579983f3c4a7","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.1.1.tgz","fileCount":9,"integrity":"sha512-A9UrQgh7GpMbTAT27ndAv7GHOyNlR/vXxefeezhcenAv15WMfDkCn6Ak2Un65KnzczpyEg4vG3Z1SKZT8punhA==","signatures":[{"sig":"MEUCIQCk1ctuHghDV8gHf//yupGBHA55WiJorx7WbDQNdB6OhwIgU9L71TOAyUm1SmFEqW+BCCvwB35IAdPpP7zEWgT7KVY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54913},"type":"module","_from":"file:atmo-dev-contrail-sync-0.1.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"flo-bit128","email":"flo.bit128@gmail.com"},"_resolved":"/private/var/folders/g1/r7fl0mt11k74dtms01xbys680000gn/T/42c04f7305729eeac7702868e28bb34d/atmo-dev-contrail-sync-0.1.1.tgz","_integrity":"sha512-A9UrQgh7GpMbTAT27ndAv7GHOyNlR/vXxefeezhcenAv15WMfDkCn6Ak2Un65KnzczpyEg4vG3Z1SKZT8punhA==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"10.9.2","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.1.1_1777026871608_0.5912260912485641","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atmo-dev/contrail-sync","version":"0.2.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.2.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"13219ec65d403c514a0d7e949f7100d0fe6d43d4","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.2.0.tgz","fileCount":9,"integrity":"sha512-z/8Allcwd9pPSRKQRRsMqCzHGbo0NgMKBkSDEP1Ywtw7hdW8wTqhe6wiowEt6eksyNG7iDPxy75pMaKja8AdMg==","signatures":[{"sig":"MEYCIQCerc5kgPSH1oD4HLacXca2tQ/h403loDJq1A7bpeB6TQIhAO6R8+/PrRvdVGb2quJHEmo9MslKyGFhY93pmxO2R9h+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54913},"type":"module","_from":"file:atmo-dev-contrail-sync-0.2.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/c8117e66774880821a75310b31fdc5e4/atmo-dev-contrail-sync-0.2.0.tgz","_integrity":"sha512-z/8Allcwd9pPSRKQRRsMqCzHGbo0NgMKBkSDEP1Ywtw7hdW8wTqhe6wiowEt6eksyNG7iDPxy75pMaKja8AdMg==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.2.0_1777027983463_0.017466433191138053","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@atmo-dev/contrail-sync","version":"0.3.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.3.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"164daa93f4f2e18d1820ee0e7195eddee4fb8f36","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.3.0.tgz","fileCount":9,"integrity":"sha512-xpCm1HmITIBglJU1qoHpAG5Js75y2oF3dUBXaTtVTXMpCtoxS+ke4Ehexhv/PVbyhHG2DhaQzR7LD6F965SFTw==","signatures":[{"sig":"MEYCIQC4Jt0a25wjJs+WU3jfVHUxd1hCm6qlJuo3+B3NrNSq7gIhAKbOrGRpl/n8KN3C9VmeDK2C0BKS2JLNyEiktKf2wgCT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54905},"type":"module","_from":"file:atmo-dev-contrail-sync-0.3.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/1b8a614a5b18bf8a4d30cab1a0d3030c/atmo-dev-contrail-sync-0.3.0.tgz","_integrity":"sha512-xpCm1HmITIBglJU1qoHpAG5Js75y2oF3dUBXaTtVTXMpCtoxS+ke4Ehexhv/PVbyhHG2DhaQzR7LD6F965SFTw==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.3.0_1777115969544_0.9008333303178659","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@atmo-dev/contrail-sync","version":"0.4.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.4.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"c877373eb5a3c30e365215290a93dc37b4b1de30","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.4.0.tgz","fileCount":9,"integrity":"sha512-U1RUuF551mcXTM0rDgHmpTEaov6ziRxRAXn08Uou4ac+752SVPMbF90mgLlPgL8Lc0rLrHUgsuaJRHLQe1iJbw==","signatures":[{"sig":"MEUCIQCyS5YBKbca52DUWKEcHZmqf+3CnqizN9M65bBrbYVYnQIgflT3YJbU/Ul1SMme2Cc3FUI2sGsFCiFG3NT1KUKmikk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54903},"type":"module","_from":"file:atmo-dev-contrail-sync-0.4.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/a42ff3198e846501029c1a1764a1bc5b/atmo-dev-contrail-sync-0.4.0.tgz","_integrity":"sha512-U1RUuF551mcXTM0rDgHmpTEaov6ziRxRAXn08Uou4ac+752SVPMbF90mgLlPgL8Lc0rLrHUgsuaJRHLQe1iJbw==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.4.0_1777125124890_0.7052082044857122","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@atmo-dev/contrail-sync","version":"0.7.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.7.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"686d6e3bbf2ff27a701467d8fbc507429302517c","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.7.0.tgz","fileCount":9,"integrity":"sha512-2iMB7vbNw+UOetjwnB5Tm2yMP+Nhl+F0efrm21cIpjdGfz4zyMgYKgWP0Oz/r0wTWj/XIZcpJz02tWTQBkolBA==","signatures":[{"sig":"MEQCIHDYKht7/RD6amdF89DNgSu4vQZrFSdrVDRxD64zbwibAiAyw1lgb6jqPQ4spYC1jaFiEHqNjgcTJA4NF/3iz/EmiQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54903},"type":"module","_from":"file:atmo-dev-contrail-sync-0.7.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"flo-bit128","email":"flo.bit128@gmail.com"},"_resolved":"/private/var/folders/g1/r7fl0mt11k74dtms01xbys680000gn/T/b4a4fa87bae8d3bf6a35d8cea83653a5/atmo-dev-contrail-sync-0.7.0.tgz","_integrity":"sha512-2iMB7vbNw+UOetjwnB5Tm2yMP+Nhl+F0efrm21cIpjdGfz4zyMgYKgWP0Oz/r0wTWj/XIZcpJz02tWTQBkolBA==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"10.9.2","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.7.0_1780575903686_0.7425490787686335","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@atmo-dev/contrail-sync","version":"0.8.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.8.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"b744bbd24a8924404472e87e2c8744e8009aa0cf","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.8.0.tgz","fileCount":9,"integrity":"sha512-xyILDexY2QnPS/+HSpMQgiw3073mNeUSbKO/0yWybYZvyTMDfX8YUlkcOLEPUVxnAMCtUaB/anOSmW+qihJXYw==","signatures":[{"sig":"MEUCIQCqp2A9rly/Wb0WoeiAaQ4q9hIgFoyS8VEfmFBADpWrjAIgQN4PpY/2pf7wJ4bgCiXmkK21YOKHGbnNGHWaWSTqE+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54903},"type":"module","_from":"file:atmo-dev-contrail-sync-0.8.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/088ddf772f5464043c4037d0a2a3f47b/atmo-dev-contrail-sync-0.8.0.tgz","_integrity":"sha512-xyILDexY2QnPS/+HSpMQgiw3073mNeUSbKO/0yWybYZvyTMDfX8YUlkcOLEPUVxnAMCtUaB/anOSmW+qihJXYw==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.8.0_1780684543590_0.12670203962709792","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@atmo-dev/contrail-sync","version":"0.9.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.9.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"29177f0635656653e901de445a14ba4bad15a9dd","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.9.0.tgz","fileCount":9,"integrity":"sha512-n7Ljl8ynrtOIUSEPwIxLmafDHqlGQYttHbMte7HRr9Sb57h/SWzDHc5QT8JULk+bB6EPeEDJ1M95dziI/ZIbRQ==","signatures":[{"sig":"MEYCIQCh+Dgjk1cre0FWXCBYz31AkzuXsVHXrgZL0tCv4RsG+AIhANp+JWwHw0iF5NkRwsY4TjPd4o8SQ+ulfFlfKausXt4U","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54903},"type":"module","_from":"file:atmo-dev-contrail-sync-0.9.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/9892b5e428e7b2a3fb7ca522a023bdf0/atmo-dev-contrail-sync-0.9.0.tgz","_integrity":"sha512-n7Ljl8ynrtOIUSEPwIxLmafDHqlGQYttHbMte7HRr9Sb57h/SWzDHc5QT8JULk+bB6EPeEDJ1M95dziI/ZIbRQ==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.9.0_1780848203316_0.3185778310573888","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@atmo-dev/contrail-sync","version":"0.9.1","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.9.1","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"b3f01957d327363a66d1315c26aa7b652e73c8ef","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.9.1.tgz","fileCount":9,"integrity":"sha512-piLmFXmURtx6BoIEQ5007HSncVe5NqzzjiP/e+QA2alG2sIWuE3+UikdGSNLgahrgQ+BYon8gIur77lGJPlo+g==","signatures":[{"sig":"MEYCIQCRxYJB0WukGSazOO0U+h1S8eSamvNMcaza6Cpmr16ycAIhAKemRUxAakQUlaZChTiUhWO+GlXp7z0NirAnT7dhX9Va","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54903},"type":"module","_from":"file:atmo-dev-contrail-sync-0.9.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/852d7f7e0da32b7034106d74837a80cd/atmo-dev-contrail-sync-0.9.1.tgz","_integrity":"sha512-piLmFXmURtx6BoIEQ5007HSncVe5NqzzjiP/e+QA2alG2sIWuE3+UikdGSNLgahrgQ+BYon8gIur77lGJPlo+g==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.9.1_1780859907562_0.6913789431529038","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@atmo-dev/contrail-sync","version":"0.10.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.10.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"0c4d53da155a83113e58da9c3e40312f423454fb","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.10.0.tgz","fileCount":9,"integrity":"sha512-r4btrpY8hcCMMnQWuOLQbweAqnBHpfOe9WJzOH44aq7kQH5OiJVgIxGwRp4avAs7LfxVRmD/nDbugfIqHvVwZQ==","signatures":[{"sig":"MEUCIQD8wAc1Vp2H3uHkxV1wWGgXko35Ko/f7zIgAoferCIQOAIgSke2gHmFvNvU4/drp2wGwcHEP1RZf8mU2QBndrTeztY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54904},"type":"module","_from":"file:atmo-dev-contrail-sync-0.10.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/c7c0e6fa76c1ebd483c4719d12edd1ef/atmo-dev-contrail-sync-0.10.0.tgz","_integrity":"sha512-r4btrpY8hcCMMnQWuOLQbweAqnBHpfOe9WJzOH44aq7kQH5OiJVgIxGwRp4avAs7LfxVRmD/nDbugfIqHvVwZQ==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.10.0_1780860809841_0.21435510152604853","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@atmo-dev/contrail-sync","version":"0.11.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.11.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"e87fe361d657ece100420c069f3fe93aaa92cc59","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.11.0.tgz","fileCount":9,"integrity":"sha512-K/vhrZ3xXpHUrYQnCtuVJ/SCR+bTDGUSrgf2e5BFS1dt7dp8QluO099JKzeAny8lJu8qnkOI+a9WH38P/PhKEQ==","signatures":[{"sig":"MEUCIFTejTJCHI9v5VLJFuT2GhBesGI4wMuRrIVcGUfNm83FAiEAubKiWh5uiWVpgx+cpw/bVo8dB2NMNo+x5kBIZvHNSfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54904},"type":"module","_from":"file:atmo-dev-contrail-sync-0.11.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/eaea0ba17daf232640e6f59350876ffb/atmo-dev-contrail-sync-0.11.0.tgz","_integrity":"sha512-K/vhrZ3xXpHUrYQnCtuVJ/SCR+bTDGUSrgf2e5BFS1dt7dp8QluO099JKzeAny8lJu8qnkOI+a9WH38P/PhKEQ==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.11.0_1780862469478_0.25998784724296775","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"@atmo-dev/contrail-sync","version":"0.12.0","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.12.0","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"fb6ac76bba807e8037d4661a6bce02563fbaa306","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.12.0.tgz","fileCount":9,"integrity":"sha512-cOpd6tLnbsdhBBf3DaHTVJvm0eypy6hZ2ZOQDDPG/InOGZ12y5l3eAwStpSsx+m/A4429mbGAVdTpwt0LNOicg==","signatures":[{"sig":"MEQCIEY/5TlTmsLdbwgoprxoe6C/kxuFGFQjnuAe8sJftJUwAiA6ITOwWZo3gZjJv93FUD08ShcNrk9ZlF9qZ9btehrzQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54904},"type":"module","_from":"file:atmo-dev-contrail-sync-0.12.0.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/b7658878750596ae26819f89fcdc6adb/atmo-dev-contrail-sync-0.12.0.tgz","_integrity":"sha512-cOpd6tLnbsdhBBf3DaHTVJvm0eypy6hZ2ZOQDDPG/InOGZ12y5l3eAwStpSsx+m/A4429mbGAVdTpwt0LNOicg==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.12.0_1781294412070_0.35938553321707634","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"@atmo-dev/contrail-sync","version":"0.12.1","keywords":["atproto","contrail","sync","realtime","watch"],"license":"MIT","_id":"@atmo-dev/contrail-sync@0.12.1","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"homepage":"https://github.com/flo-bit/contrail#readme","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"dist":{"shasum":"edc3c91385f3e302955a322ddabb495d5f14fbb0","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.12.1.tgz","fileCount":9,"integrity":"sha512-cXs2QXwlRLVpGh5yrC4H+QqZUopSzpNzTirh+Pe2Pe+i/Vf9aK+hH6Val0FG6zfYGPKXRNYJK1ZAnYR0NpNqjQ==","signatures":[{"sig":"MEQCIFtPlOSim/yvenWbWmOXl55oLw7JaXDq9D2Ou52qd42kAiBOJ9S6eyeiVMrClte9VtAFK3k5jjWwAftKRNiuzyH+HQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54904},"type":"module","_from":"file:atmo-dev-contrail-sync-0.12.1.tgz","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"_resolved":"/tmp/a2c46f67b8c13e4a26083a356f8e8b31/atmo-dev-contrail-sync-0.12.1.tgz","_integrity":"sha512-cXs2QXwlRLVpGh5yrC4H+QqZUopSzpNzTirh+Pe2Pe+i/Vf9aK+hH6Val0FG6zfYGPKXRNYJK1ZAnYR0NpNqjQ==","repository":{"url":"git+https://github.com/flo-bit/contrail.git","type":"git","directory":"packages/sync"},"_npmVersion":"11.5.1","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/contrail-sync_0.12.1_1781565262455_0.21237500324514635","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"@atmo-dev/contrail-sync","version":"0.12.2","description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","type":"module","sideEffects":false,"publishConfig":{"access":"public"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./cache-idb":{"types":"./dist/cache-idb.d.ts","import":"./dist/cache-idb.js"}},"repository":{"type":"git","url":"git+https://github.com/flo-bit/contrail.git","directory":"packages/sync"},"keywords":["atproto","contrail","sync","realtime","watch"],"devDependencies":{"tsup":"^8.5.0","typescript":"^5.7.3"},"license":"MIT","scripts":{"build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_id":"@atmo-dev/contrail-sync@0.12.2","bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"homepage":"https://github.com/flo-bit/contrail#readme","_integrity":"sha512-7igwnh21qd37VJyC5Ufqzbg45dJ+xOsEhhniEse37xo4/RyA9nkFTbDfJdUKglcI1fl0TC8rGW0lv7M5LlFguw==","_resolved":"/tmp/9fb68efbac8a22b79084e44911265c10/atmo-dev-contrail-sync-0.12.2.tgz","_from":"file:atmo-dev-contrail-sync-0.12.2.tgz","_nodeVersion":"22.14.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-7igwnh21qd37VJyC5Ufqzbg45dJ+xOsEhhniEse37xo4/RyA9nkFTbDfJdUKglcI1fl0TC8rGW0lv7M5LlFguw==","shasum":"c883ff29baceb2842741962575135398417f680d","tarball":"https://registry.npmjs.org/@atmo-dev/contrail-sync/-/contrail-sync-0.12.2.tgz","fileCount":9,"unpackedSize":54904,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atmo-dev%2fcontrail-sync@0.12.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGP6dZBGiQ2RsX+LpGkJ8GNS6FW59Qg2MvM3Eh7R+LBiAiBVANhV4ZrE5rUy0Y4ctyw6K8edVP2m5Dtj7kMTCMz5Ow=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bde4ad8-3ac1-45eb-9c6a-b661762c2353"}},"directories":{},"maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/contrail-sync_0.12.2_1781715284286_0.40700911241273485"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-24T10:34:31.539Z","modified":"2026-06-17T16:54:44.746Z","0.1.1":"2026-04-24T10:34:31.750Z","0.2.0":"2026-04-24T10:53:03.676Z","0.3.0":"2026-04-25T11:19:29.700Z","0.4.0":"2026-04-25T13:52:05.038Z","0.7.0":"2026-06-04T12:25:03.839Z","0.8.0":"2026-06-05T18:35:43.764Z","0.9.0":"2026-06-07T16:03:23.458Z","0.9.1":"2026-06-07T19:18:27.702Z","0.10.0":"2026-06-07T19:33:29.998Z","0.11.0":"2026-06-07T20:01:09.603Z","0.12.0":"2026-06-12T20:00:12.263Z","0.12.1":"2026-06-15T23:14:22.656Z","0.12.2":"2026-06-17T16:54:44.466Z"},"bugs":{"url":"https://github.com/flo-bit/contrail/issues"},"license":"MIT","homepage":"https://github.com/flo-bit/contrail#readme","keywords":["atproto","contrail","sync","realtime","watch"],"repository":{"type":"git","url":"git+https://github.com/flo-bit/contrail.git","directory":"packages/sync"},"description":"Client-side reactive watch-store over contrail's watchRecords endpoints. SSE + WebSocket transports, optimistic updates, optional IndexedDB cache.","maintainers":[{"name":"flo-bit128","email":"flo.bit128@gmail.com"}],"readme":"# @atmo-dev/contrail-sync\n\nClient-side reactive watch-store over [contrail](https://www.npmjs.com/package/@atmo-dev/contrail)'s `watchRecords` endpoints.\n\n- SSE (default) or WebSocket transports. WS handshake produces a watch-scoped ticket so Cloudflare Durable Objects can hibernate idle connections.\n- Optimistic updates (`addOptimistic` / `markFailed` / `removeOptimistic`).\n- Automatic reconciliation across reconnects: stale records stay visible until a fresh snapshot arrives, then entries the server didn't re-send are evicted.\n- Optional persistent cache (IndexedDB adapter included) for instant first paint.\n\n```ts\nimport { createWatchStore } from \"@atmo-dev/contrail-sync\";\nimport { createIndexedDBCache } from \"@atmo-dev/contrail-sync/cache-idb\";\n\nconst store = createWatchStore({\n  url: \"/xrpc/com.example.message.watchRecords?roomUri=at://...\",\n  transport: \"ws\",\n  mintTicket: async () => (await fetch(\"/api/ticket\")).then((r) => r.text()),\n  cache: createIndexedDBCache(),\n});\n\nstore.subscribe(({ records, status }) => {\n  // re-render\n});\n\nstore.start();\n```\n\nFramework-agnostic: wrap the subscribable store in your framework's reactive primitives (Svelte `$state`, React `useSyncExternalStore`, Vue `ref`, etc).\n","readmeFilename":"README.md"}