{"_id":"@absolutejs/sync-bus-pg","_rev":"10-2708f3270597d46809751d09890d64bf","name":"@absolutejs/sync-bus-pg","dist-tags":{"latest":"0.2.3"},"versions":{"0.0.1":{"name":"@absolutejs/sync-bus-pg","version":"0.0.1","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"CC BY-NC 4.0","_id":"@absolutejs/sync-bus-pg@0.0.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"42d5c14f576dc5d502e8cae2f9590d050dd49797","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.0.1.tgz","fileCount":5,"integrity":"sha512-mYnM8QofXOtPnI0O7lqJYyUF6K/UlqmH2Yf8PwQNnfImJBNMBhQojIKtMr/BaTmIKs6GR0h761XhZDdzzfIajg==","signatures":[{"sig":"MEQCIE59YD8L2XlhlLa0tszmvJRlO6fs4+D3H3WsM0Uas0dbAiB0SwU70ZFtLzaF7yanhf/tehltymS+IQ1Yg2xGBEhNkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21614},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"42d5c14f576dc5d502e8cae2f9590d050dd49797","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 --external postgres && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-mYnM8QofXOtPnI0O7lqJYyUF6K/UlqmH2Yf8PwQNnfImJBNMBhQojIKtMr/BaTmIKs6GR0h761XhZDdzzfIajg==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Postgres LISTEN/NOTIFY cluster bus for @absolutejs/sync — horizontal scale across instances without standing up Redis","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.2.0"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.0.1_1779852661628_0.46433581166237126","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@absolutejs/sync-bus-pg","version":"0.0.2","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.0.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"cb6f967e0bf41bccb79b969de2d99d9a43acab02","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.0.2.tgz","fileCount":6,"integrity":"sha512-0knor1hJJs5SzL+d91Mdbz9xlBtzXYqBUIHA+5ZkfU0WLGyrkGj7vUZ9KK6d7/yPh3b9fy5XFtmcT+YxXd29Qg==","signatures":[{"sig":"MEQCIGR314NZsegPJ7B2SH3K+LIVRzQn8FXAKtjhwTXNw0chAiBHbfRWzm+WeegIcR/hKL4xJLTmNGDkR0/JbPS7ncxDAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32970},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"cb6f967e0bf41bccb79b969de2d99d9a43acab02","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 --external postgres && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-0knor1hJJs5SzL+d91Mdbz9xlBtzXYqBUIHA+5ZkfU0WLGyrkGj7vUZ9KK6d7/yPh3b9fy5XFtmcT+YxXd29Qg==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Postgres LISTEN/NOTIFY cluster bus for @absolutejs/sync — horizontal scale across instances without standing up Redis","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.2.0"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.0.2_1780071585437_0.24816285320977194","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@absolutejs/sync-bus-pg","version":"0.1.0","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.1.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"ba6856395bc6f46d71fd57a27b05476eb134f7cd","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.1.0.tgz","fileCount":6,"integrity":"sha512-2zX9YvT98Yv/FpYxb5kOtNZ0uxjo4j/GbY95pm3bvL/xF/RKckIqp+RIICv1KineddAii9fNIdXHZn12/FURrg==","signatures":[{"sig":"MEUCIBgo/cmQm1pWDwu0UE70985DgjFsJKqexVvwVx9hrGBeAiEAsw+xBbHfEfNlorxfKFjDfoU7/U8fK77HLfJyE8Yus+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"ba6856395bc6f46d71fd57a27b05476eb134f7cd","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 --external postgres && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-2zX9YvT98Yv/FpYxb5kOtNZ0uxjo4j/GbY95pm3bvL/xF/RKckIqp+RIICv1KineddAii9fNIdXHZn12/FURrg==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Postgres LISTEN/NOTIFY cluster bus for @absolutejs/sync — horizontal scale across instances without standing up Redis","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.18.1"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.1.0_1780105120274_0.637804964733961","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@absolutejs/sync-bus-pg","version":"0.1.1","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.1.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"8288a9c6600c5b991d234f1d6d0b0e301dffd797","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.1.1.tgz","fileCount":6,"integrity":"sha512-XwprfyKxGlPtHFge1KvtBkpn7GAxmSlCfVekROG+qdwuQQ11lZHBuHT9o7SO06S1Hu0asTZj4T2/IkknaBmiuw==","signatures":[{"sig":"MEQCIBmuSM4rJUvaX+uDP3L9d/EdBOFw4CC6u4mmYPbR2JSmAiBGM+CooNaOGEWXasgUKF/qTH35IPMLiVy8YNlIgH2XPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33842},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"8288a9c6600c5b991d234f1d6d0b0e301dffd797","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 --external postgres && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-XwprfyKxGlPtHFge1KvtBkpn7GAxmSlCfVekROG+qdwuQQ11lZHBuHT9o7SO06S1Hu0asTZj4T2/IkknaBmiuw==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Postgres LISTEN/NOTIFY cluster bus for @absolutejs/sync — horizontal scale across instances without standing up Redis","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.18.2"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.1.1_1780105816474_0.3186601967009781","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@absolutejs/sync-bus-pg","version":"0.1.2","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.1.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"dist":{"shasum":"1d4f6d7f971f6735d03508f489ae02438b716dfe","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.1.2.tgz","fileCount":6,"integrity":"sha512-M6SZyOBIjMYkRpYz1PnUfTuHG/r35CdD7v0Qif4mXzroSUjF3ACv7sugFSZbTW83HJcqNHEP9vdOsOPTaleXbw==","signatures":[{"sig":"MEQCIFEHTyEi/0Jf8bwnP0bdu97SIP8szkXYeh3XnciHkkA6AiBTfKyjjV8YI2KXxUKHIJKSob87D1uQk3mmiGMj7ZMulw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40120},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"1d4f6d7f971f6735d03508f489ae02438b716dfe","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 --external postgres && tsc --project tsconfig.build.json","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-M6SZyOBIjMYkRpYz1PnUfTuHG/r35CdD7v0Qif4mXzroSUjF3ACv7sugFSZbTW83HJcqNHEP9vdOsOPTaleXbw==","repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Postgres LISTEN/NOTIFY cluster bus for @absolutejs/sync — horizontal scale across instances without standing up Redis","directories":{},"_nodeVersion":"24.3.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.18.2"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.1.2_1780109486341_0.5675904664874059","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@absolutejs/sync-bus-pg","version":"0.1.3","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.1.3","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/bus-pg","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"22c927eb4288ec643ec9eb1a29c574b09aa0517e","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.1.3.tgz","fileCount":10,"integrity":"sha512-I/1irxPJ4mDHUH11DSksHMzavIn8+OwCpGHxAZxOnSnsOkX3tcaWhUfQT7000osEqNiKMmI271HM8L1yAOfPhA==","signatures":[{"sig":"MEUCIQD2zGybSnIJmdimqqxnUcj+wjyh1JTTcCStyeyuY9BkygIgUeS94Fyt2B/3BxYmUbimL0muvBNEKNO2qZXz6gqqWlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1137148},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"22c927eb4288ec643ec9eb1a29c574b09aa0517e","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 --external postgres && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-I/1irxPJ4mDHUH11DSksHMzavIn8+OwCpGHxAZxOnSnsOkX3tcaWhUfQT7000osEqNiKMmI271HM8L1yAOfPhA==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Postgres LISTEN/NOTIFY cluster bus for @absolutejs/sync — horizontal scale across instances without standing up Redis","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.18.2"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.1.3_1783965134254_0.9661990594224685","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@absolutejs/sync-bus-pg","version":"0.2.0","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.2.0","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/bus-pg","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"6ea2350158d612339567a26ea9a7f352a3c0005e","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.2.0.tgz","fileCount":10,"integrity":"sha512-PIfPTcf5Z+8Ru08m0tm/u7XoCPjAWDGUdL+NP2q3JLBpUWDyWCkHlr9rfJOyYXZpd86iAeURuSTS5iKY8v4O3g==","signatures":[{"sig":"MEUCIEc+yIrqpGddpsnq1+tAN181T3PezBr7vxMActd4olGXAiEA6Eu0g308AeI6BX5zxgi+XtuO21qMD39YaeeSaHH8dPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1142544},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"6ea2350158d612339567a26ea9a7f352a3c0005e","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 --external postgres && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-PIfPTcf5Z+8Ru08m0tm/u7XoCPjAWDGUdL+NP2q3JLBpUWDyWCkHlr9rfJOyYXZpd86iAeURuSTS5iKY8v4O3g==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Typed Postgres LISTEN/NOTIFY channel and @absolutejs/sync cluster bus — horizontal scale without standing up Redis","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.18.2"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.2.0_1784162864101_0.43127456387303553","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@absolutejs/sync-bus-pg","version":"0.2.1","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.2.1","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/bus-pg","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"f203a533f26160e69865e1fa363e84603bb5b242","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.2.1.tgz","fileCount":10,"integrity":"sha512-lbttr0P32COmWKluqqySjvhUVF08SViavA9Am48ZMd855Qv4ly+9PXZZB+2LzuZROSOY/kbG6gXpD4gd55cdtg==","signatures":[{"sig":"MEUCIQDJiGmPaMV735G65IvDfPpjjldJPl0rSuNO/h8M/OrpqQIgA8VjICOf7U34bfnKa4sCiNcK/yl8014FS1kDZ3ptUnU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1142922},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"f203a533f26160e69865e1fa363e84603bb5b242","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 --external postgres && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-lbttr0P32COmWKluqqySjvhUVF08SViavA9Am48ZMd855Qv4ly+9PXZZB+2LzuZROSOY/kbG6gXpD4gd55cdtg==","absolutejs":{"manifestContract":1},"repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Typed Postgres LISTEN/NOTIFY channel and @absolutejs/sync cluster bus — horizontal scale without standing up Redis","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"^3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"^1.18.2"},"peerDependencies":{"postgres":"^3.0.0","@absolutejs/sync":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.2.1_1784247623192_0.1086015816480459","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@absolutejs/sync-bus-pg","version":"0.2.2","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"author":"Alex Kahn","license":"Apache-2.0","_id":"@absolutejs/sync-bus-pg@0.2.2","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/bus-pg","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"dist":{"shasum":"a4d1ecfa23226bc7fd659364d3c2b1e245dadad0","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.2.2.tgz","fileCount":10,"integrity":"sha512-umrROqFL2K4Wti+ih6lUmg7fI85EmyKCeUINEk+VJ57W8EV2egYS1coiSKKI0MkbhuKrOKjRFA/sb/uwDRoiyA==","signatures":[{"sig":"MEUCIHFe/3LtagkeBhcXJpNViYe1/75XYrOWnRu+Z/3vLkn8AiEAsUEbtIYS78lRWxuC5SoxG7VhgXdb54AH8ixx1vR0Jpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":505780},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","shasum":"a4d1ecfa23226bc7fd659364d3c2b1e245dadad0","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 --external postgres && tsc --project tsconfig.build.json && absolute-manifest emit","format":"prettier --write \"./**/*.{ts,json,md}\"","release":"bun run format && bun run build && bun publish","typecheck":"tsc --noEmit"},"_npmUser":{"name":"alexkahndev","email":"alexkahn2019@gmail.com"},"_integrity":"sha512-umrROqFL2K4Wti+ih6lUmg7fI85EmyKCeUINEk+VJ57W8EV2egYS1coiSKKI0MkbhuKrOKjRFA/sb/uwDRoiyA==","absolutejs":{"runtimePeers":{"postgres":{"range":">=3.4.9 <4","tested":"3.4.9","buildExternals":["postgres"],"artifactImports":[]},"@absolutejs/sync":{"range":">=2.11.0 <3","tested":"2.11.0","buildExternals":["@absolutejs/sync"],"artifactImports":[]}},"manifestContract":2},"repository":{"url":"https://github.com/absolutejs/sync-adapters.git","type":"git","directory":"bus-pg"},"_npmVersion":"10.8.3","description":"Typed Postgres LISTEN/NOTIFY channel and @absolutejs/sync cluster bus — horizontal scale without standing up Redis","directories":{},"_nodeVersion":"24.3.0","dependencies":{"@sinclair/typebox":"^0.34.0","@absolutejs/manifest":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"postgres":"3.4.9","prettier":"3.5.3","@types/bun":"1.3.14","typescript":"5.8.3","@absolutejs/sync":"2.11.0"},"peerDependencies":{"postgres":">=3.4.9 <4","@absolutejs/sync":">=2.11.0 <3"},"_npmOperationalInternal":{"tmp":"tmp/sync-bus-pg_0.2.2_1784913336707_0.38287600189185955","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@absolutejs/sync-bus-pg","version":"0.2.3","description":"Typed Postgres LISTEN/NOTIFY channel and @absolutejs/sync cluster bus — horizontal scale without standing up Redis","repository":{"type":"git","url":"https://github.com/absolutejs/sync-adapters.git","directory":"bus-pg"},"homepage":"https://github.com/absolutejs/sync-adapters/tree/main/bus-pg","bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","license":"Apache-2.0","author":"Alex Kahn","publishConfig":{"access":"public"},"keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"scripts":{"build":"rm -rf dist && bun build src/index.ts src/manifest.ts --outdir dist --sourcemap --target=bun --external @absolutejs/sync --external postgres && 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 build && bun publish"},"peerDependencies":{"@absolutejs/sync":">=2.11.0 <3","postgres":">=3.4.9 <4"},"devDependencies":{"@absolutejs/sync":"2.11.0","@types/bun":"1.3.14","postgres":"3.4.9","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,"runtimePeers":{"@absolutejs/sync":{"artifactImports":[],"buildExternals":["@absolutejs/sync"],"range":">=2.11.0 <3","tested":"2.11.0"},"postgres":{"artifactImports":[],"buildExternals":["postgres"],"range":">=3.4.9 <4","tested":"3.4.9"}}},"dependencies":{"@absolutejs/manifest":"^0.7.1","@sinclair/typebox":"^0.34.0"},"_id":"@absolutejs/sync-bus-pg@0.2.3","_integrity":"sha512-+43ztF3qrnCEU3v3IgeMTSw1/BIJW6mTPDvGkDhLpYhVCwgYDI9Cf1Fisdlyt6e1TDNyJmlB+TJtXuOLvBPbng==","_nodeVersion":"24.3.0","_npmVersion":"10.8.3","shasum":"cb7f8670390f88e6620345c6b7a8677be6ec291f","dist":{"integrity":"sha512-+43ztF3qrnCEU3v3IgeMTSw1/BIJW6mTPDvGkDhLpYhVCwgYDI9Cf1Fisdlyt6e1TDNyJmlB+TJtXuOLvBPbng==","shasum":"cb7f8670390f88e6620345c6b7a8677be6ec291f","tarball":"https://registry.npmjs.org/@absolutejs/sync-bus-pg/-/sync-bus-pg-0.2.3.tgz","fileCount":10,"unpackedSize":527678,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDkPpzIQzvKFOvBX49ffDhaFI6p0iY0pik5tSH9vUgRkAIgUZuBiHKomF+ujJ8/d0A+rjw4kLmSucVE+apgdG2FRyU="}]},"_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-bus-pg_0.2.3_1784951508380_0.31795680049939823"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-27T03:31:01.501Z","modified":"2026-07-25T03:51:48.663Z","0.0.1":"2026-05-27T03:31:01.773Z","0.0.2":"2026-05-29T16:19:45.591Z","0.1.0":"2026-05-30T01:38:40.408Z","0.1.1":"2026-05-30T01:50:16.616Z","0.1.2":"2026-05-30T02:51:26.500Z","0.1.3":"2026-07-13T17:52:14.465Z","0.2.0":"2026-07-16T00:47:44.303Z","0.2.1":"2026-07-17T00:20:23.432Z","0.2.2":"2026-07-24T17:15:36.847Z","0.2.3":"2026-07-25T03:51:48.522Z"},"bugs":{"url":"https://github.com/absolutejs/sync-adapters/issues"},"author":"Alex Kahn","license":"Apache-2.0","homepage":"https://github.com/absolutejs/sync-adapters/tree/main/bus-pg","keywords":["absolutejs","sync","cluster","postgres","listen-notify","horizontal-scale"],"repository":{"type":"git","url":"https://github.com/absolutejs/sync-adapters.git","directory":"bus-pg"},"description":"Typed Postgres LISTEN/NOTIFY channel and @absolutejs/sync cluster bus — horizontal scale without standing up Redis","maintainers":[{"name":"alexkahndev","email":"alexkahn2019@gmail.com"}],"readme":"# @absolutejs/sync-bus-pg\n\nPostgres `LISTEN/NOTIFY` cluster bus for [`@absolutejs/sync`](https://github.com/absolutejs/sync). Run sync horizontally across several Bun processes without standing up Redis or Kafka — your existing Postgres carries the cross-instance change feed.\n\n## Why\n\n`@absolutejs/sync` ships a `ClusterBus` seam: an in-memory bus for single-process dev + tests, and a contract you implement against your bus of choice for production. Until now that meant writing ~50 lines of `LISTEN/NOTIFY` plumbing yourself. This package is the first-party implementation, with the 8000-byte NOTIFY payload limit handled cleanly.\n\n## Install\n\n```bash\nbun add @absolutejs/sync-bus-pg postgres\n```\n\n## Use\n\n```ts\nimport postgres from 'postgres';\nimport { createSyncEngine } from '@absolutejs/sync/engine';\nimport { createPostgresClusterBus } from '@absolutejs/sync-bus-pg';\n\nconst sql = postgres(process.env.DATABASE_URL!);\nconst engine = createSyncEngine();\n// ...registerReader/Writer/Reactive/Mutation as usual...\n\nconst bus = createPostgresClusterBus({ sql });\nawait engine.connectCluster(bus);\n```\n\nEvery instance of your Elysia app does the same. A mutation committed on instance A now fans out to subscribers on B/C/... via Postgres `pg_notify`.\n\n## Options\n\n```ts\ncreatePostgresClusterBus({\n\tsql, // your postgres client\n\tchannel: 'absolutejs_sync_cluster', // override to scope multiple engines on the same PG\n\tspill: 'overflow', // 'overflow' (default) | 'always' | 'never'\n\tlistenerHealth: {\n\t\t// optional; these are the defaults\n\t\tprobeIntervalMs: 15_000,\n\t\tprobeTimeoutMs: 5_000\n\t},\n\tonError: (e) => log.warn(e) // listener-side errors\n});\n```\n\n`spill` strategies:\n\n- **`'overflow'`** (default) — inline JSON when small, table-backed when oversized. Best for typical workloads.\n- **`'always'`** — every message goes through the `sync_cluster_spill` table (durable, slightly slower; useful when you want every cross-instance change to survive a NOTIFY drop).\n- **`'never'`** — throws if a message exceeds the inline budget. Useful in tests to assert payload-size discipline.\n\n## Listener health and reconnects\n\npostgres.js automatically recreates its dedicated listener connection and\nreissues `LISTEN` after a disconnect. A query-pool health check cannot prove\nthat recovery has completed, so this adapter also sends a private probe through\nthe full `pg_notify` → dedicated listener path every 15 seconds.\n\n```ts\nconst health = bus.listenerHealth();\n// {\n//   state: 'connected' | 'connecting' | 'reconnecting' | 'idle',\n//   activeSubscriptions, connections, reconnects,\n//   probeAttempts, probeSuccesses, probeFailures,\n//   lastConnectedAt, lastProbeAttemptAt,\n//   lastProbeSucceededAt, lastProbeFailedAt\n// }\n\nconst receivingNotifications = await bus.probeListener();\n```\n\nProbe envelopes never reach application callbacks and do not inflate message\npublish/receive counters. Monitoring starts with the first subscription and\nstops with the last unsubscribe. Set `listenerHealth: false` only when another\nowner calls `probeListener()` on its own cadence.\n\n## Vacuum\n\nOversized messages spill to `sync_cluster_spill`. Rows aren't auto-deleted on consume (every listener on the channel needs to read them, including the publisher's own listener which fetches but doesn't double-apply via the engine's `origin` filter). Sweep periodically:\n\n```ts\nimport { defineSchedule } from '@absolutejs/sync/engine';\n\nengine.registerSchedule(\n\tdefineSchedule({\n\t\tname: 'vacuum-cluster-spill',\n\t\tpattern: '*/5 * * * *', // every 5 minutes\n\t\trun: async () => {\n\t\t\tconst pruned = await bus.vacuum(60_000); // older than 60s\n\t\t\tconsole.log(`pruned ${pruned} spill rows`);\n\t\t}\n\t})\n);\n```\n\nFor workloads where messages stay small (the common case), the spill table never gets touched and `vacuum()` always returns 0.\n\n## Caveats inherited from the engine seam\n\n- **Per-instance version cursors.** A client that reconnects to a _different_ instance falls back to a fresh snapshot (cold-hydration cost, not catch-up diff). Use sticky sessions if cross-instance reconnect-with-`since` matters.\n- **Best-effort delivery.** Inline NOTIFY can be lost if a listener connection drops mid-stream — every instance also has its own change log for resume, so a missed cross-instance fan-out is recovered on the next subscribe. For at-least-once cross-instance, run with `spill: 'always'`.\n\n## License\n\nApache License 2.0. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}