{"_id":"kinetic-sql","_rev":"31-478783c71a498dc2014c90aa6f594744","name":"kinetic-sql","dist-tags":{"latest":"3.1.5"},"versions":{"1.0.0":{"name":"kinetic-sql","version":"1.0.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.0.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"51ee09454089d865f8fa711f5cee340bce423375","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.0.0.tgz","fileCount":11,"integrity":"sha512-1YKKENQj7LkZ4SWeOsAhpFJ73Ix2b80Ao1qKJOe1iCb/RvC/URgIQjUocny8e3He0uaMLBi9lFhG8be6v+vJkQ==","signatures":[{"sig":"MEUCIB+ZybQyIhic5JFeDJavyeRS5kGOD7jOAJ3thEowVb8yAiEAnLaCJ0SUwiw1vq4H7LhCRYQN6LchCaG7Ul2uZbPYnts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25154},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c9332ee9fb50f036b3cec6700ce61422c2acec5d","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.0.0_1770194154244_0.35539480977385485","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"kinetic-sql","version":"1.0.1","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.0.1","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"da793bf18ea6a1abaf1e8edf33d62e117aaa5118","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.0.1.tgz","fileCount":11,"integrity":"sha512-yYTrEOKewCtB7TXMuZjyYysX5PidlzL2kG9Te9ROuja4DdYodgwemPdtFdBLLrJcD54yGlSsRIiF5QY1XuomiQ==","signatures":[{"sig":"MEUCICh9tK49tbromx9N+l3k1F5/ifDosvru/JDpqm5DNxiWAiEA/3HMpoD0ciu8Q2ep/DlI2+gjxHz9FeClj6ymfGf6Kv4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":25072},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"64f41935fd1741c6b5b6748ff8caddf735b953ca","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.0.1_1770194808637_0.47397175822687876","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"kinetic-sql","version":"1.0.2","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.0.2","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"6200ade5d0a01c7a47c17ae137ef44929e7ef587","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.0.2.tgz","fileCount":11,"integrity":"sha512-kRtV4enrPT3z4HdR+gFe4yoZ2FfEomBGvPSFjdF2BuphbT15CvLeTb1in0mu/9DL8hb8BkDsylbmHAXpy5AXFQ==","signatures":[{"sig":"MEQCIGZ9gNwOviciRj+7prbYgQYk6ppxxR6DLKwrhSoXnG7qAiBy2Zikwc7rLTt6f5MQhh80idWjy10kf2VNzdpAUkk92Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34272},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ff948dda010df6416a803cd6b0ad07677ff26276","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.0.2_1770670426735_0.918775061662753","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"kinetic-sql","version":"1.0.3","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.0.3","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"3c6b3328db482e6e17c3800596bf5187bcefe9a7","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.0.3.tgz","fileCount":11,"integrity":"sha512-rS7lAG5EKWLuMLyt+aiw4eg1tOVaQKoSTmskf7SjX2CIFJmVsVI4IG9ZG+L+ZeSHhnR/q3COmoTFejaO1xGkPg==","signatures":[{"sig":"MEUCIH99xVzahP972x86a9/EFhFcBnhABGwAH0C1EuDo3IBXAiEAr5H6Kyg9QhJX4lddiVXTucX1LSPXmT6kswnecUC/aLk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34802},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3134b6915b7104a6beb3daaaa6a3927f1cdd6b29","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.0.3_1770671389518_0.786868455052302","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"kinetic-sql","version":"1.0.4","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.0.4","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"22640c8bdde429a28c18d831a4f5fe1f38538295","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.0.4.tgz","fileCount":12,"integrity":"sha512-BCI1D7SdxMOxUXg/Am/H3Yvs2n7D1vhNxE8SVNfzERIh5vNf2VF5Q9cDph3LH2q5ucfkcRLzb9iPEv2tCum5TA==","signatures":[{"sig":"MEYCIQDoTreNsth4t3DLjIN7NfDP4PEbt609762Hk+1Gjo1X9QIhANT/thvxskQo3/s6CKRBncsqmR8gJZLP7rHs16eeG28t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36954},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"32449cf4999eeda7bb4fea268571aa0175378a2a","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.0.4_1770714898685_0.7166987086466596","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"kinetic-sql","version":"1.1.7","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.1.7","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"84131cdcc3268eaaa58aa594bd41857ea856d3ad","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.1.7.tgz","fileCount":12,"integrity":"sha512-PvM1GI5OMGBXdDs5KIljk/ZLUFpRkgFvnXk+pBSWmJ/Ccr2r1vTqd6Pyme67g59Bf3dbO8BACI5n3synAomXdQ==","signatures":[{"sig":"MEUCIDyahEakCbfThiqlOTHEuvggu+oRczwgc75urGC2GqYtAiEAuOpRuKNtCIlTfGNBUuSNczlhGwVY0qTq/3Pjcn6Xp0Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37292},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b4d0f59b6537ee650329a171f93d9c1e2222ecab","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.1.7_1770830828848_0.3034951761093194","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"kinetic-sql","version":"1.1.8","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.1.8","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"6d9bedf7c47b9832a73f48fcd02fd0de9b1f0ecd","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.1.8.tgz","fileCount":12,"integrity":"sha512-qqJoEpaVKU+qv2m9Q2WWyTgP8XJgycA7z57qC0+3atDd6Wo1hSrdkoK9FvoiqSG561EvylixkRa5PkXw60d9pQ==","signatures":[{"sig":"MEUCIQCHxnBeo03nTcmJe78ISZtEmVEbSEkHyX9YZ7dwIt+hggIgMwRCBFxguz7oyjemxzhhXvAiULXuBQ/gxemoIhZEOTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37648},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"82313d941b9d10cd0fea12ed79a984495fe31227","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.1.8_1770850549460_0.7077451963688939","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"kinetic-sql","version":"1.1.9","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.1.9","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"256f0d55b6dd2d7b5f8af15c515dcde5f384c8a3","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.1.9.tgz","fileCount":12,"integrity":"sha512-LjgRxgQe8C0t1QuhJLuysfvfHTl6a/MCZAA6SPwkDTqAwGn3XeV9pOzN2W4vFAavvuzb7vUGjKJRDgZsMho9vA==","signatures":[{"sig":"MEQCIAq2SzfIqAM05soDtrNKAtM6KIl/b5tJP+fBKnSGAAQpAiAIeqGRjJCBUDjEIIFb6ahxjMDfCg5vKWKLHW7uBSa3TA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37648},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0f2c10f1b8b1c9f4c9334ca8ed70611da3e8605d","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.1.9_1770851103826_0.052646445222583216","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"kinetic-sql","version":"1.2.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.2.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"6eaa0d6218c8af26fae06690c5bb0029787d112f","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.2.0.tgz","fileCount":12,"integrity":"sha512-jL3uWpsj1XY1Q4jcgxov3pgeLFSICz0/ksnnBI3S9Jdq9NC1JCCROLPqigyGUSkcAbtTQO38EzWcz5A1Ddz1YQ==","signatures":[{"sig":"MEUCIH6xv5x9xLcDDUiwBPB5WX9Ee3cEOvYHCprismx1uUCKAiEA0JCirQcpmmRffBTfessrAI6wk8SQ624QoLeV2i+59+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37292},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"9d2cfd63e029872627d42bf00e8a185ce357df76","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.2.0_1770852021535_0.7621736261546059","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"kinetic-sql","version":"1.2.1","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.2.1","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"4c1700d667c8b822b4118c598f32219d6ba1c5a8","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.2.1.tgz","fileCount":12,"integrity":"sha512-esbtK1pRYp3Wuk+OlTWPXF+sMi/gYMJ6w2jQ6ib1pSmKddH7lJLHksSZYKfjyOYYtcIgoS4SV9qTKr7OtkXtyA==","signatures":[{"sig":"MEQCIG5RBA2YCoj9AlyIxRvgpFWLCuootd8m0OFXl5xxsvAgAiAaTtBPAkV2tDt/046sSVob5fiTU+rtFQ00GP1FX+NaLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":39780},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"be7edaad08bdf27e19891500582407b804779007","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.2.1_1770872886035_0.43517351545855276","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"kinetic-sql","version":"1.2.9","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.2.9","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"aae526f79bd72e130cc1af7c273c425db9ae1e95","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.2.9.tgz","fileCount":16,"integrity":"sha512-YLxAzSnRGMT1RQib0pbclWKfMUSC7Im4MdgkXHtseLovxIQAhWXt0p4BQ7Kmzpykb5SDtOM4+os2w0q9vmM5Kg==","signatures":[{"sig":"MEUCIGvMRldbjXn3/vfNQfUWHe4iEgdHexJHABn+ZgvBC8hUAiEAqAKAaT8hRdIBu5Q8VX5w98JzmWk5f6TItulDeYUJGjw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59656},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"e234ef0f22d73f16bb406b346c5aea2afabefc53","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.2.9_1770994168757_0.1493116312181475","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"kinetic-sql","version":"1.3.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.3.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"1806cb3268d8f48843882e9bd999c2eaeba36660","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.3.0.tgz","fileCount":16,"integrity":"sha512-QNrLyvVgc1GXWanSqHSJMDqKaUWrZnJ/C4ijvm2nKrbW9+Z9yMmOuvArC6O+bngbU5xltQntz0ww/VepTqt7Nw==","signatures":[{"sig":"MEYCIQCrJb7jlKQOx9eFr5mZk/IPb2ILRgRKIKkWNwlK6cvSBAIhAOBv6WW3y/+LhOIAMvKcTt6R2r3HgLLMM/Rq3FAJMXQ4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61824},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"5f692f0a2fc086d699605f2d1a73b12d5a5cc189","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.3.0_1771013876751_0.7857989978789328","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"kinetic-sql","version":"1.3.3","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.3.3","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"70944b64ac67b1d5c7cb9b23de3405e8d3c9bbd0","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.3.3.tgz","fileCount":16,"integrity":"sha512-Sv3Ra749YXyb9FQ3V4kCIuX5h5R0hWgC4AJ4jirAG5XlTuRvOV6K34M3xxrELZ+bhbEFdEIC/JqumCkaZHmkLw==","signatures":[{"sig":"MEUCIQD3XhlacPMOU/XkWHT22SPWkTSt0kVZY9gglwTKPL/mNQIgd6Z+WV/ADJp62NFy56qKucB78A4eAeCTK4ogjkjdlu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64069},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"6ac140a0f80312337431c99451642521ddcbec42","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.3.3_1771028880278_0.26777519088831214","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"kinetic-sql","version":"1.3.5","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.3.5","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"0a3ed3b6385c9012e3446bc5502597ae72c7547f","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.3.5.tgz","fileCount":16,"integrity":"sha512-1fDzoGi0ZjnjdZDChDEdyJW7kMbhU27Lofp+bAlBGPXyUxtpktokrtn3xkG9R6w/oWCqPyVAhlpXlgjmTlnuag==","signatures":[{"sig":"MEUCIFMs9bq9e3FL2B7CvfGeAO8O8McTgd5mvGs68C08gWvEAiEAh6323QWtj2Qb6bqlv53z91qmGyMqnWXmzwmMQGAh8u0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64322},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"0d21e99e123284570259ba062f818dd0e4972044","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js || exit 0","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.3.5_1771241780183_0.5140564310648064","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"kinetic-sql","version":"1.3.6","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.3.6","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"93aee63fcf0fe5ded710bceea358e1699f8cd62d","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.3.6.tgz","fileCount":16,"integrity":"sha512-rnou8u+MgWEicsB/IwRX46jb+euogT4wkQODSjSChp0YA+mNCEK7TB5LM/CxzEDonMunvxYql0DGGLphG8s9jQ==","signatures":[{"sig":"MEYCIQCzhfwq06HgDy/1qVhLnZ7l/k4uBci1XeEX1Y4ioqzaNQIhAL/gFtpfIc/MibCmiNkF6Pe+SBvqcc885B2YS9U7BnJN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64586},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"c756244eb0f9e2b4dcbded050d7abd3c181f9ccc","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","postinstall":"node scripts/postinstall.js || exit 0","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.3.6_1771255843883_0.5312007344191536","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"kinetic-sql","version":"1.4.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.4.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"a95f48b39e7f5b347925c667795bce7575f00135","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.4.0.tgz","fileCount":15,"integrity":"sha512-Vftnzyrfwl31iOATV/Kno+hi5hQSnMdtdFboTge8JKVIuiMofS+uKJccAh3VH5qjaAKdSAC06wHfCyn9G+F8Iw==","signatures":[{"sig":"MEYCIQCQ42ZmxvbAumAvdP0fvj+mSuL5Ikpla9sxiZc4aP9k0gIhAPvGslCFV21uM1HHydxGW0j4+edo9nOUXjM7Aw+1ux56","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63754},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"0743fcad94fe08e85de9a5b868acce7016ad4a27","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.4.0_1771329007782_0.5843058146487956","host":"s3://npm-registry-packages-npm-production"}},"1.4.4":{"name":"kinetic-sql","version":"1.4.4","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.4.4","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"0cea19ca1a8dea0f13ed972ebbe688acddeeb5c8","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.4.4.tgz","fileCount":15,"integrity":"sha512-ltR60UpbWVbqDOk/xOvaO8IioxR1tm0Kf4UP0R/0tiVAh+sqPTejAgHG6Lvn9wNKz/mlHXcYMMoz9qXwhs868w==","signatures":[{"sig":"MEUCIQC1YAHHRmy5ul0kIRtabKU9R6PN8dKCaiXe75j7ICxv6gIgTBOTWn00kqMgU8ruaycMMjp9DaPI4Vu+XVf17h2AH58=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66216},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"37dee02342fbbf8316ecf58839bf4df75b9d0268","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.4.4_1771339250373_0.9658099582323674","host":"s3://npm-registry-packages-npm-production"}},"1.4.7":{"name":"kinetic-sql","version":"1.4.7","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.4.7","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"17729f1d7391dd4094ca38c63e4f82ff65f6c9ae","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.4.7.tgz","fileCount":15,"integrity":"sha512-NWzcziIZJ+5mMERh0+SnhFnMNa4XntZvVnrng8nbNTI8bpo9gazjLMkhFOVwO7IXIAO0O6DFtC6MQf9EMEst8g==","signatures":[{"sig":"MEUCIQClIODZuZjXkioyMsjn4pi/SDVMbO7LUJw4b2AOO51XAQIgIPNPE+Z8Ghmvqs+FWoUSFOa97pfc8h5KZ8ZE+1H4OTA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66543},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"509345137e9d0650875a8f99bb4b98bbdd3cd7ab","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.4.7_1771932053532_0.26910129527631277","host":"s3://npm-registry-packages-npm-production"}},"1.4.9":{"name":"kinetic-sql","version":"1.4.9","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.4.9","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"5bfd98aca89e466fc00f395520b2468095fc4a84","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.4.9.tgz","fileCount":15,"integrity":"sha512-uhRwFUn9LxcQst3fKZoShdEksGa9R7RqzBmgnICK0bGEIileunEey1NtaZeOxIzCwVpo7EYwBLle9G8Q6F4HWw==","signatures":[{"sig":"MEUCIQDa6ApOjyjYv0t1g1ObLO2HSUX2z19sKCzKVZqHOOsbrAIgI2l58lsAvbS3BJ/K0PJIkXLuyTBJhXFbmCi/ORu9teI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65963},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"dd607759e4e4d1023ad0922651b791a5f75ed274","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.4.9_1771947440353_0.44560810238470494","host":"s3://npm-registry-packages-npm-production"}},"1.9.5":{"name":"kinetic-sql","version":"1.9.5","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@1.9.5","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"b36db86ba629576c65775d3ecebe6edae9d53e63","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-1.9.5.tgz","fileCount":15,"integrity":"sha512-MuKYDpJ4BL9l2+yofEaagVv1y/Ab1C1+184ri9mTD4wo2FJZzh+pFmFn8DphwMTVMmg/jVGhnW/Jpw7P/jh/1g==","signatures":[{"sig":"MEUCIC/Yw9IKWg9RtV/ZwrspdOZqZTNNvhvBEiUvpuImg6tXAiEAgnCRA+R8PnGg/pEolcDEW8v2lXZ1gaFsVk3QJ276sig=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67590},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"bef276e21f71c05d208fb36e49875d0871395bac","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_1.9.5_1772026025498_0.1493296324852329","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"kinetic-sql","version":"2.0.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@2.0.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"a6e135d3e6d67ed385f71554d848cb9d7275b8df","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-2.0.0.tgz","fileCount":15,"integrity":"sha512-svNR3PQhpVveMXf+mNLwHWA4gada+IFUJOL3slU+66N4rTzlCW6Kd/eXuqtmsahhC84PHF9gKitDYVrZZ5joCw==","signatures":[{"sig":"MEUCIBHdErTbsg9MHGLA0OBiT/f+uILu3NDlwaAxAlTEn7hEAiEAjesj3A81c6DHZCIBLyOlVl1pPWGkeC0p0Mju+aNv5bs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67590},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"3c1575b4a04e9e3ef02cdeadc649cb9b464b106e","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_2.0.0_1772028689135_0.04829423174962422","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"kinetic-sql","version":"2.0.1","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@2.0.1","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"7969db673ee4fc4af16ac280c52126d224551609","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-2.0.1.tgz","fileCount":15,"integrity":"sha512-bA4h/G9NVXX9Iek14kynSW617jTZZ/Dyu2PHvuakMYG8xq6JuhwuSImrkw9EZ6Anqh5Fid/7i86glSvKGFx8fw==","signatures":[{"sig":"MEYCIQDqPNzgXMOTJPFk5VNG3wFeUJmIxt7FCqttq4sW7XNDswIhAMllnVqdzuewpENhARroCVbsD9Ea2+jtgkUY7Q1JNIGy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67590},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"5fe4da7ff2a0ce8b4150168cfe649c9e1e30fdbd","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","build":"tsup","prebuild":"rm -rf dist","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_2.0.1_1772029169385_0.9421214269096692","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"kinetic-sql","version":"2.7.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@2.7.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"87c2642168f7975a7da9f2af2ebebf1a73f286be","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-2.7.0.tgz","fileCount":15,"integrity":"sha512-SESNyvIx1LN1GkrHp7D5Y2mOpHi+2McIKZB3Qow5XtNCiYrbyNq022hhzBIjrWd0qRX5FeqiFNN/vHbrVHDwrg==","signatures":[{"sig":"MEYCIQCVnXf+tAI5OsS0yWyxMSYCa9RNX5ZIHPjz4LzLZxZfmgIhALY45iK7UnTTw7XGMFYMBXjHs4Buxdr3hhGe7grgJUGU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92368},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"bc408302b7e11928c9c1c29924cf96e2c5a274a9","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_2.7.0_1772285370574_0.1842913325650326","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"kinetic-sql","version":"3.0.0","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.0.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"fca401bba99d99743daf316c72ee2fa9a0802848","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.0.0.tgz","fileCount":15,"integrity":"sha512-Y2En9RQrx7+szUCILOs4U+su9Y3SSj/0odbMCVDp/G0BVztspPwAHoJvolJ9EXEVRAPpqN/cyo8a8msNL0XyNw==","signatures":[{"sig":"MEUCIGCLDQZcEgEbWN88dqeFw7bCY3iEkomzxAqpmadllVx4AiEAj/RmqKckGezhOxl8SOj+2GrVcWtxaYcjfbDRHtghDDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83107},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"62334fb3e158955e70970ef9c0d32d2fb33217e9","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.0.0_1772289281955_0.9942568785150285","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"kinetic-sql","version":"3.0.1","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.0.1","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"0a579331a54ee58c48a24779adf27d34d9be88ff","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.0.1.tgz","fileCount":15,"integrity":"sha512-Zax4802aBqWglCPi4AdWAqK0ZTDDlSAXd8F7oKtHrjpK3FMw35iwomt+sw0UIPKKng7EwqMgT7pnrgY7TI3Jsw==","signatures":[{"sig":"MEUCIQCupcazdNFYqdO100U6C02z8SixrTWy01cVbDut+CCLLAIgBQXQPtQjJA9uRVAlVJBA4eNPD6XTO+ag1VUZOKqb4Ag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82997},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"b699cbc6cb54d3c7edf425bbdb86c467c6e836d4","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.0.1_1772290917100_0.15031542822156285","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"kinetic-sql","version":"3.0.4","keywords":["postgres","mysql","orm","realtime","typescript","rpc","subscriptions","sql","events"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.0.4","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"4e496ae051973d2f9a4097062d970cfd0c86b424","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.0.4.tgz","fileCount":15,"integrity":"sha512-wI+0CR865+hHDowsI8Jzdb1YeyG7KzFLKV+QZ+hmyrTQXdwl1jzEMi8wr11Jsz5fPkPT4ayZPjRqtQmjzrQa2Q==","signatures":[{"sig":"MEUCIEFOHtyNxtZFAfbPL2wHOEPMa9K4Kc9/nryqiiQkOdJJAiEAjWN5dUzUcvSEgszw+XI1OaYDRs2mMfz1BNK5ZryvXI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83111},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"35d5d58f0f5a2372b4a7096d63b709b7a370235b","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"11.7.0","description":"Zero-config, type-safe Postgres & MySQL client with Realtime subscriptions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.0.4_1772377090395_0.633999483128016","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"kinetic-sql","version":"3.1.0","keywords":["postgres","mysql","sqlite","orm","realtime","typescript","rpc","subscriptions","sql","events","transactions","acid","savepoint","propagation","nestjs"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.1.0","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"13f3c4e37abf644c993a96584576bde988da14a2","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.1.0.tgz","fileCount":17,"integrity":"sha512-3yAMBEui60E0KkQtCiWpXnJaU7JwmIrYIbDz0w6bb8nUo/MiXZUkPhHDb5PBn4WU9hxrqsuZfgVMxi6FrhtF1g==","signatures":[{"sig":"MEUCIGQe8FRu8mv1C7G6sQDhbus34tXy12DodBd0FkH6u8VOAiEApPOuBS9Y4P1ubbuGBkji2eOWxN2g0EJJnog0hIntBxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179878},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"2f052ed2275458257334e583d2ec39e18f612492","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"10.9.4","description":"Zero-config, type-safe Postgres, MySQL & SQLite client with Realtime subscriptions and Spring style Transactions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.1.0_1788288908331_0.3179965092375665","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"kinetic-sql","version":"3.1.1","keywords":["postgres","mysql","sqlite","orm","realtime","typescript","rpc","subscriptions","sql","events","transactions","acid","savepoint","propagation","nestjs"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.1.1","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"3d6a42409defc039b276794514077876ca74ba81","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.1.1.tgz","fileCount":18,"integrity":"sha512-x8LKqyh/rkDymVLdezmXM5ShM/3hzX6/8zQQ2y48B7MBG6j63pR59peG6AEA6O2VZMkfwB9rSpD7ewPs75xqTA==","signatures":[{"sig":"MEYCIQCDH1xuo3VC5huD0MnY94WvkZkRpZDIxk0aVUoSBs6G5QIhALHacZlyH4xom62mgnKz2/wcZuECEKLdA4kYjxBygYN4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"fa451e2c452e474cd992db2fa65fc32d04397d91","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","postinstall":"node scripts/postinstall.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"10.9.4","description":"Zero-config, type-safe Postgres, MySQL & SQLite client with Realtime subscriptions and Spring style Transactions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.1.1_1788291480512_0.8557015284736287","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"kinetic-sql","version":"3.1.3","keywords":["postgres","mysql","sqlite","orm","realtime","typescript","rpc","subscriptions","sql","events","transactions","acid","savepoint","propagation","nestjs"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.1.3","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"c6593b3fdc49f693ba1344f4d3b920cc8fb10a55","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.1.3.tgz","fileCount":18,"integrity":"sha512-tKF4LbJT0UAXjklRo1VhDl3U10KXAc5j7MdBXEYUAYNUF6GpLRrXJHE+3P0yAcfYnhINvlW/RxGkZUAmxFdRLQ==","signatures":[{"sig":"MEUCIHnLiGi6phiay2BSQmujzYQKCHzuS7xfDUWY1CqmkIfsAiEArfULWLYQIVgxT5nAPIkCau8oOHQpgoUGDi2/WI3h1ZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188070},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"88bf6a80018648003b59c892d9814a54f7715520","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","prebuild":"rm -rf dist","test:watch":"vitest","postinstall":"node scripts/postinstall.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"10.9.4","description":"Zero-config, type-safe Postgres, MySQL & SQLite client with Realtime subscriptions and Spring style Transactions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.1.3_1788294267509_0.5444607396603514","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"kinetic-sql","version":"3.1.4","keywords":["postgres","mysql","sqlite","orm","realtime","typescript","rpc","subscriptions","sql","events","transactions","acid","savepoint","propagation","nestjs"],"author":{"url":"https://the-debug-knight.bio/login?autoLogin=true&code=GUEST-95CC","name":"Kapil Kumar","email":"kapilkumar@yourservice.now"},"license":"MIT","_id":"kinetic-sql@3.1.4","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"homepage":"https://github.com/serial-committer/kinetic-sql#readme","bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"bin":{"k-sql":"dist/cli/generate.cjs"},"dist":{"shasum":"9f9a7a475f63f66aa76a4a3ab00e9e857ce08c5d","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.1.4.tgz","fileCount":18,"integrity":"sha512-x2k8USugraOJQta5kDypx9JULRN0YalJXB1U89j7ukyOzPub6c6gO1FyUVds7kUWd7Kf5JGaDJHIXflBfOEHAA==","signatures":[{"sig":"MEUCIQDSbBRhlPozAAMPukEXagG30KYdT/jjbisyEHNMXQ5CwgIgIHpW9qNjtQfJg7BM2vKNJOVhFCjdqvh3H/9Qb5SbiYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190009},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"gitHead":"748eec560ff0c1addfb9af3a1870d7bfd52114e5","scripts":{"dev":"tsup --watch","gen":"node dist/cli/generate.cjs","lint":"eslint .","test":"vitest run","build":"tsup","coverage":"vitest run --coverage","lint:fix":"eslint . --fix","test:watch":"vitest","postinstall":"node scripts/postinstall.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"repository":{"url":"git+https://github.com/serial-committer/kinetic-sql.git","type":"git"},"_npmVersion":"10.9.4","description":"Zero-config, type-safe Postgres, MySQL & SQLite client with Realtime subscriptions and Spring style Transactions.","directories":{},"_nodeVersion":"22.21.1","dependencies":{"mysql2":"^3.16.3","postgres":"^3.4.8","drizzle-orm":"^0.45.1","better-sqlite3":"^12.6.2","@rodrigogs/mysql-events":"^0.6.0"},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"rxjs":"^7.8.2","tsup":"^8.5.1","eslint":"^9.39.2","vitest":"^4.0.18","ts-node":"^10.9.2","@eslint/js":"^9.39.2","typescript":"^5.9.3","@types/node":"^25.2.0","@nestjs/core":"^11.1.13","@nestjs/common":"^11.1.13","reflect-metadata":"^0.2.2","typescript-eslint":"^8.54.0","eslint-config-next":"^16.1.6","@vitest/coverage-v8":"^4.0.18","@types/better-sqlite3":"^7.6.13","eslint-config-prettier":"^10.1.8","@stylistic/eslint-plugin":"^5.7.1","@typescript-eslint/parser":"^8.54.0","eslint-plugin-perfectionist":"^5.4.0"},"_npmOperationalInternal":{"tmp":"tmp/kinetic-sql_3.1.4_1788296943710_0.21062985434194625","host":"s3://npm-registry-packages-npm-production"}},"3.1.5":{"name":"kinetic-sql","version":"3.1.5","description":"Zero-config, type-safe Postgres, MySQL & SQLite client with Realtime subscriptions and Spring style Transactions.","type":"module","main":"./dist/index.js","scripts":{"postinstall":"node scripts/postinstall.mjs","build":"tsup","prepublishOnly":"npm run build","dev":"tsup --watch","gen":"node dist/cli/generate.cjs","test":"vitest run","test:watch":"vitest","coverage":"vitest run --coverage","lint":"eslint .","lint:fix":"eslint . --fix"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./nestjs":{"types":"./dist/nestjs/KineticModule.d.ts","import":"./dist/nestjs/KineticModule.js","require":"./dist/nestjs/KineticModule.cjs"}},"typesVersions":{"*":{"nestjs":["dist/nestjs/KineticModule.d.ts"]}},"bin":{"k-sql":"dist/cli/generate.cjs"},"dependencies":{"@rodrigogs/mysql-events":"^0.6.0","better-sqlite3":"^12.6.2","drizzle-orm":"^0.45.1","mysql2":"^3.16.3","postgres":"^3.4.8"},"devDependencies":{"@eslint/js":"^9.39.2","@nestjs/common":"^11.1.13","@nestjs/core":"^11.1.13","@stylistic/eslint-plugin":"^5.7.1","@types/better-sqlite3":"^7.6.13","@types/node":"^25.2.0","@typescript-eslint/parser":"^8.54.0","@vitest/coverage-v8":"^4.0.18","eslint":"^9.39.2","eslint-config-next":"^16.1.6","eslint-config-prettier":"^10.1.8","eslint-plugin-perfectionist":"^5.4.0","reflect-metadata":"^0.2.2","rxjs":"^7.8.2","ts-node":"^10.9.2","tsup":"^8.5.1","typescript":"^5.9.3","typescript-eslint":"^8.54.0","vitest":"^4.0.18"},"keywords":["postgres","mysql","sqlite","orm","realtime","typescript","rpc","subscriptions","sql","events","transactions","acid","savepoint","propagation","nestjs"],"author":{"name":"Kapil Kumar","email":"kapilkumar@yourservice.now","url":"https://the-debug-knight.bio/portfolio"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/serial-committer/kinetic-sql.git"},"bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"homepage":"https://github.com/serial-committer/kinetic-sql#readme","_id":"kinetic-sql@3.1.5","gitHead":"62a0399b693cfa7fde0d08a7f8c37cdb65063ec6","types":"./dist/index.d.ts","_nodeVersion":"22.21.1","_npmVersion":"10.9.4","dist":{"integrity":"sha512-XnvDmwjl7YkOZ6jQT+P6aTw9RlvQf6wd2BZY+H74FUGKsa+CyIXhoBKhUfmNFbU85q4xDSWf8OGs3mRf91p4Bw==","shasum":"12185ffb2d98fcba6299103d4922d35eabb5f6db","tarball":"https://registry.npmjs.org/kinetic-sql/-/kinetic-sql-3.1.5.tgz","fileCount":18,"unpackedSize":189982,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGm5ym/O9SeKXM60ILrZzyGAzhKUQwxCeYp4WqPaIRxLAiB9m7rXt8ZdPwpKJMWFSMBV0ZRxqZCS0sQZkW/UNYUr/A=="}]},"_npmUser":{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"},"directories":{},"maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kinetic-sql_3.1.5_1788298371712_0.281539481776361"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-04T08:35:54.149Z","modified":"2026-09-01T21:32:52.172Z","1.0.0":"2026-02-04T08:35:54.400Z","1.0.1":"2026-02-04T08:46:48.777Z","1.0.2":"2026-02-09T20:53:46.885Z","1.0.3":"2026-02-09T21:09:49.656Z","1.0.4":"2026-02-10T09:14:58.825Z","1.1.7":"2026-02-11T17:27:08.990Z","1.1.8":"2026-02-11T22:55:49.618Z","1.1.9":"2026-02-11T23:05:03.972Z","1.2.0":"2026-02-11T23:20:21.670Z","1.2.1":"2026-02-12T05:08:06.170Z","1.2.9":"2026-02-13T14:49:28.905Z","1.3.0":"2026-02-13T20:17:56.895Z","1.3.3":"2026-02-14T00:28:00.429Z","1.3.5":"2026-02-16T11:36:20.363Z","1.3.6":"2026-02-16T15:30:44.042Z","1.4.0":"2026-02-17T11:50:07.925Z","1.4.4":"2026-02-17T14:40:50.524Z","1.4.7":"2026-02-24T11:20:53.686Z","1.4.9":"2026-02-24T15:37:20.507Z","1.9.5":"2026-02-25T13:27:05.636Z","2.0.0":"2026-02-25T14:11:29.281Z","2.0.1":"2026-02-25T14:19:29.542Z","2.7.0":"2026-02-28T13:29:30.724Z","3.0.0":"2026-02-28T14:34:42.115Z","3.0.1":"2026-02-28T15:01:57.268Z","3.0.4":"2026-03-01T14:58:10.551Z","3.1.0":"2026-09-01T18:55:08.472Z","3.1.1":"2026-09-01T19:38:00.666Z","3.1.3":"2026-09-01T20:24:27.655Z","3.1.4":"2026-09-01T21:09:03.841Z","3.1.5":"2026-09-01T21:32:51.861Z"},"bugs":{"url":"https://github.com/serial-committer/kinetic-sql/issues"},"author":{"name":"Kapil Kumar","email":"kapilkumar@yourservice.now","url":"https://the-debug-knight.bio/portfolio"},"license":"MIT","homepage":"https://github.com/serial-committer/kinetic-sql#readme","keywords":["postgres","mysql","sqlite","orm","realtime","typescript","rpc","subscriptions","sql","events","transactions","acid","savepoint","propagation","nestjs"],"repository":{"type":"git","url":"git+https://github.com/serial-committer/kinetic-sql.git"},"description":"Zero-config, type-safe Postgres, MySQL & SQLite client with Realtime subscriptions and Spring style Transactions.","maintainers":[{"name":"the-last-compiler","email":"notifykapilkumar@norton.me"}],"readme":"# ⚡ Kinetic SQL\r\n\r\n>**Realtime subscriptions and Spring Boot style transactions for PostgreSQL, MySQL and SQLite. Keep the ORM you already use.**\r\n\r\n<br/>\r\n\r\n[![CI](https://github.com/serial-committer/kinetic-sql/actions/workflows/ci.yml/badge.svg)](https://github.com/serial-committer/kinetic-sql/actions/workflows/ci.yml)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![NPM Version](https://img.shields.io/npm/v/kinetic-sql.svg)](https://www.npmjs.com/package/kinetic-sql)\r\n[![GitHub Repo](https://img.shields.io/badge/GitHub-Repository-blue.svg)](https://github.com/serial-committer/kinetic-sql)\r\n\r\nYour database already knows the instant a row changes. **Kinetic SQL hands you that instant in JavaScript**, on your own PostgreSQL, MySQL or SQLite, with no extra infrastructure and nobody to sign up with.\r\n\r\n```typescript\r\n/* Typed. No WebSocket server, no polling, no vendor. */\r\nawait client.subscribe('orders', (event) => {\r\n  console.log(event.action, event.data.total); // 'INSERT' | 'UPDATE' | 'DELETE'\r\n});\r\n```\r\n\r\n🚀 **[Watch it happen live: Real-Time Stock Simulator](https://live-stock-simulator.vercel.app/)**\r\n\r\n---\r\n\r\n## 🤝 It does not replace your ORM\r\n\r\nThis is the part people usually assume wrong. Kinetic SQL is not asking you to rewrite your data layer.\r\n\r\nKeep Drizzle, Prisma or whatever you already query with. Hand the connection over whenever you want a query builder, and use Kinetic for the things an ORM does not do:\r\n\r\n```typescript\r\nimport {drizzle} from 'drizzle-orm/postgres-js';\r\n\r\nconst client = await KineticClient.create({type: 'pg', connectionString: process.env.DATABASE_URL});\r\n\r\nconst db = drizzle(client.native); /* Your existing queries, untouched */\r\n\r\nawait client.subscribe('orders', onOrderChanged); /* What you came here for */\r\n```\r\n\r\n|                                            | Kinetic SQL             | Drizzle / Prisma          | Supabase Realtime     |\r\n|--------------------------------------------|-------------------------|---------------------------|-----------------------|\r\n| Realtime row events                        | Built in                | Not offered               | Yes                   |\r\n| Runs on **your** database                  | Yes                     | Yes                       | Supabase hosted only  |\r\n| PostgreSQL, MySQL and SQLite               | All three               | All three                 | PostgreSQL only       |\r\n| Transactions without passing `tx` around   | Yes                     | No, you thread the handle | Not applicable        |\r\n| Spring Boot style propagation              | Seven modes             | Nested savepoints only    | Not applicable        |\r\n| Query builder and migrations               | Use Drizzle alongside   | Yes                       | Yes                   |\r\n\r\n---\r\n\r\n## 📜 Features\r\n\r\nKinetic SQL turns your database into a reactive extension of your code.\r\n- **✨ RPC Wrapper:** Call your stored procedures and database functions just like native JavaScript methods.\r\n- **⚡ Real-Time Subscriptions:** Listen to `INSERT`, `UPDATE`, and `DELETE` events instantly.\r\n- **🔒 Transactions with Propagation:** Atomic blocks with `Spring Boot` style propagation, savepoints for partial rollbacks, isolation levels, and automatic retries on deadlocks.\r\n- **🌍 Universal Fit:** Built for `Express`, `Fastify`, and `Vanilla JS`, with a dedicated module for seamless `NestJS` integration out of the box.\r\n- **🚀 NestJS Native:** Drop-in `KineticModule` for zero-config integration with NestJS Framework.\r\n- **🤖 Automatic Type Generation:** It reads your schema and auto-generates type safety. You never have to manually write a TypeScript interface again.\r\n- **🛡️ Type Safety:** Full TypeScript support for schemas and configurations.\r\n- **♻️️ Connection Pooling:** Built-in management for high-scale apps.\r\n- **🔌 Easily Pluggable using Middleware API:** The Engine exposes a Middleware API for easy plugin of hooks and custom logic around the execution of queries.\r\n\r\n---\r\n\r\n## 📈 The Proof: Live Demo\r\n\r\nTo stress-test the real-time event mapping and zero-bloat architecture, we built a high-frequency **Live Stock Market Simulator**. It runs on a Vercel frontend and Render backend, handling hundreds of database ticks a minute with a 0-second cold start.\r\n\r\n👉 **[View the Live Stock Simulator](https://live-stock-simulator.vercel.app/)**\r\n\r\n---\r\n\r\n## 🚀 Quick Start\r\n\r\n### 1. <ins>Install</ins>\r\n\r\n```bash\r\n# For PostgreSQL:\r\nnpm install kinetic-sql drizzle-orm postgres\r\n\r\n# For MySQL:\r\nnpm install kinetic-sql drizzle-orm mysql2 @rodrigogs/mysql-events\r\n\r\n# For SQLite (Local Dev / Edge):\r\nnpm install kinetic-sql better-sqlite3\r\n```\r\n\r\n### 2. <ins>Initialize</ins>\r\n\r\n```typescript\r\nimport { KineticClient } from 'kinetic-sql';\r\n\r\n/* PostgreSQL/MySQL Example */\r\n/* Connects using your DATABASE_URL env var by default */\r\nconst client = await KineticClient.create({\r\n  type: 'pg', // or 'mysql'\r\n  connectionString: process.env.DATABASE_URL,\r\n  realtimeEnabled: true\r\n});\r\n\r\n/* SQLite Example */\r\nconst client = await KineticClient.create({\r\n  type: 'sqlite',\r\n  filename: './dev.db'\r\n});\r\n```\r\n\r\n### 3. <ins>Generate Types</ins> (The Magic)\r\n\r\nRun this command in your terminal. It reads your DB and patches the library automatically.\r\n\r\n```bash\r\n# PostgreSQL (Default)\r\nnpx k-sql gen --connection \"postgres://...\"\r\n# OR\r\nnpx k-sql gen --type pg --host localhost --user postgres --db mydb\r\n\r\n# MySQL\r\nnpx k-sql gen --type mysql --host localhost --user root --db mydb\r\n\r\n# SQLite\r\nnpx k-sql gen --type sqlite --db ./dev.db\r\n```\r\n\r\n---\r\n\r\n## 📚 Usage \r\n\r\n## NestJS Integration 🚀\r\n\r\nKinetic SQL exports a native NestJS module for zero-config setup. Using the library in your NestJS app is as simple as:\r\n\r\n```typescript\r\n// app.module.ts\r\nimport { Module } from '@nestjs/common';\r\nimport { KineticModule } from 'kinetic-sql/nestjs';\r\n\r\n@Module({\r\nimports: [\r\n    KineticModule.forRoot({\r\n      type: 'sqlite', // or 'pg' | 'mysql'\r\n      filename: './dev.db',\r\n      debug: true, // 👈 Enable colorful logs\r\n    })\r\n  ],\r\n})\r\nexport class AppModule {}\r\n```\r\n---\r\n\r\n## Realtime Subscriptions ⚡\r\n\r\nListen to database events without setting up WebSockets. \r\n\r\nUse the `subscribe` method to listen to any changes to the table you want to monitor. In the example below, we listen to changes on the `tasks` table.\r\n\r\n```typescript\r\n/* 'tasks' is auto-completed! */\r\nconst sub = await client.subscribe('tasks', (event) => {\r\nconsole.log(event.action); // 'INSERT' | 'UPDATE' | 'DELETE'\r\nconsole.log(event.data.title); // Typed Reference!\r\n});\r\n\r\n// If you want to stop listening to the events, you can simply call:\r\nawait sub.unsubscribe();\r\n```\r\n\r\n**<ins>Several listeners, one table</ins>:** You can subscribe to the same table as many times as you like. Every listener gets every event, and `unsubscribe()` only removes the one you called it on. Handy when different parts of your app care about the same data for different reasons.\r\n\r\n```typescript\r\nconst badge = await client.subscribe('tasks', (e) => updateBadgeCount(e));\r\nconst feed  = await client.subscribe('tasks', (e) => appendToActivityFeed(e));\r\n\r\nawait badge.unsubscribe(); /* The activity feed keeps working 👍 */\r\n```\r\n\r\n> 💡 On **PostgreSQL**, all of your subscriptions share a **single** listening connection, no matter how many tables you watch. Your pool stays free for actual queries.\r\n\r\n---\r\n\r\n## RPC Wrapper: The Robust Magic Bridge ✨\r\n\r\nExtend SQL with JavaScript `OR` Call stored procedures as native JS methods bridging the gap between your Backend and the Database.\r\n\r\n**<ins>Extend SQL with JavaScript</ins>:**\r\nWhy write complex SQL logic when you can just write JavaScript? Define a function in your Node.js app and call it ***inside*** your SQL queries. 😊\r\n\r\n#### &nbsp;&nbsp;<ins>Example</ins>:\r\n\r\n```typescript\r\n/* Define a function in your app */\r\nclient.native.function('calculate_tax', (price, taxRate) => {\r\n  return price * (1 + taxRate);\r\n});\r\n\r\n/* Use it directly in SQL! */\r\nconst result = client.native.prepare(`\r\n  SELECT \r\n    symbol, \r\n    price, \r\n    calculate_tax(price, 0.18) as final_price \r\n  FROM stocks\r\n`).all();\r\n\r\nconsole.log(result);\r\n/* Output: [{ symbol: 'KINETIC-AI', price: 150, final_price: 177 }, ...] */\r\n```\r\n<br/>\r\n\r\n**<ins>Call Stored Procedures</ins>:** Invoke complex database logic without writing raw SQL strings (Using Postgres for the examples below) ✨\r\n\r\n#### &nbsp;&nbsp;<ins>Example 1</ins>:\r\n\r\n```typescript\r\n/* Calls the 'create_user' stored procedure safely along with auto-completion and type-safety! */\r\nconst { data, error } = await client.rpc('create_user', {\r\n  username: 'kapil',\r\n  role: 'admin'\r\n});\r\n```\r\n\r\n#### &nbsp;&nbsp;<ins>Example 2</ins>:\r\n\r\n```typescript\r\n/* Calls the stored procedure 'add_todo' (Auto-completed!) */\r\nconst { data, error } = await client.rpc('add_todo',\r\n    /* Param names are checked! */\r\n    { title: \"Build cool app\",  user_id: 123 }\r\n);\r\n```\r\n\r\n---\r\n\r\n## Transactions: Atomic Boundaries 🔒\r\n\r\nWrap any unit of work in a transaction. It **commits** when your block returns and **rolls back** when it throws. You never have to remember to do either yourself.\r\n\r\nHere's the part that makes it different: queries made *anywhere inside the block* join the transaction **automatically**. You don't have to thread a `tx` object through every function in your service layer. 😊\r\n\r\n```typescript\r\nawait client.transaction(async (tx) => {\r\n  /* This joins the transaction */\r\n  await client.raw('UPDATE accounts SET balance = balance - 100 WHERE id = ?', [1]);\r\n\r\n  /* So does every query made inside here. Nothing was passed in! */\r\n  await ledgerService.record(1, -100);\r\n\r\n  /* Or use the handle explicitly, if you prefer being obvious */\r\n  await tx.raw('UPDATE accounts SET balance = balance + 100 WHERE id = ?', [2]);\r\n});\r\n\r\n/* Committed. If anything above had thrown an error, all three would have rolled back. */\r\n```\r\n\r\n---\r\n\r\n### <ins>Propagation</ins>: What happens when transactions meet ❓\r\n\r\nJust like `Spring Boot`, you can control how a block behaves when another transaction is *already* running. Pass a `propagation` option:\r\n\r\n```typescript\r\nimport { Propagation } from 'kinetic-sql';\r\n\r\nawait client.transaction({ propagation: Propagation.NESTED }, async (tx) => {\r\n  await client.raw('INSERT INTO audit_log (event) VALUES (?)', ['risky-step']);\r\n});\r\n```\r\n\r\n| Propagation | What it does                                                                                                                  |\r\n|---|-------------------------------------------------------------------------------------------------------------------------------|\r\n| `REQUIRED` *(default)* | Joins the running transaction, or starts one if there isn't any.                                                              |\r\n| `REQUIRES_NEW` | Runs in its **own** transaction on a separate connection. Commits even if the outer one rolls back.                           |\r\n| `NESTED` | Runs inside a `SAVEPOINT`. If it fails, only the work inside *its* boundary is rolled back. The outer transaction carries on. |\r\n| `MANDATORY` | Throws if there is no transaction already running.                                                                            |\r\n| `NEVER` | Throws if a transaction **is** running.                                                                                       |\r\n| `SUPPORTS` | Joins one if it exists, otherwise just runs normally.                                                                         |\r\n| `NOT_SUPPORTED` | Suspends the running transaction and runs outside it.                                                                         |\r\n\r\n---\r\n\r\n### <ins>Partial Rollbacks</ins>: Savepoints ⏪\r\n\r\nThis is very useful when one step is allowed to fail without sinking everything around it. Use `tx.savepoint()` (or `Propagation.NESTED`, they do the same thing):\r\n\r\n```typescript\r\nawait client.transaction(async (tx) => {\r\n  await client.raw('INSERT INTO orders (id, total) VALUES (?, ?)', [1, 500]);\r\n\r\n  try {\r\n    /* Optional step: nice to have, not worth losing the order over */\r\n    await tx.savepoint(async () => {\r\n      await client.raw('INSERT INTO loyalty_points (order_id, points) VALUES (?, ?)', [1, 50]);\r\n      throw new Error('Loyalty service is down!');\r\n    });\r\n  } catch {\r\n    console.warn('Skipped loyalty points, order is still fine 👍');\r\n  }\r\n});\r\n\r\n/* The order was saved. Only the loyalty points were rolled back. */\r\n```\r\n\r\nSavepoints can be nested inside savepoints, as deep as you like.\r\n\r\n> ⚠️ **Careful with `REQUIRED`:** if an inner block *joins* the outer transaction (the default) and then fails, the whole transaction is marked **rollback-only** even if you catch the error. That is deliberate: committing work that a failed step left behind is how data goes bad. If you want the failure contained, use `NESTED`.\r\n\r\n---\r\n\r\n### <ins>Automatic Retries</ins>: Deadlocks handled for you 🔁\r\n\r\nUnder high concurrency (especially at `SERIALIZABLE`), databases abort transactions to break deadlocks and serialization conflicts. Postgres' own documentation says applications **must** be ready to retry these.\r\n\r\n**Kinetic SQL** does it for you. **Retries are on by default** - no annotation, no wrapper, no extra config:\r\n\r\n```typescript\r\n/* Retried automatically on a deadlock or serialization failure */\r\nawait client.transaction(async () => {\r\n  await client.raw('UPDATE inventory SET stock = stock - 1 WHERE id = ?', [42]);\r\n});\r\n```\r\n\r\nOnly genuinely transient errors are retried (Postgres `40001`/`40P01`, MySQL `1213`/`1205`, SQLite `SQLITE_BUSY`). Your application errors are **never** replayed. Retries use an exponential backoff with jitter so retrying peers don't collide all over again.\r\n\r\n**<ins>Opting out with `noRetry`</ins>:**\r\n\r\nBecause a retry re-runs your block, anything in it that *isn't* just a database call would happen twice. If your block sends an email or charges a card, opt out with `noRetry`:\r\n\r\n```typescript\r\nawait client.transaction({ noRetry: true }, async () => {\r\n  await client.raw('INSERT INTO payments (amount) VALUES (?)', [999]);\r\n  await stripe.charges.create({ /* ... */ }); /* 👈 must not run twice! */\r\n});\r\n\r\n/* You can also tune the attempts (default is 3) */\r\nawait client.transaction({ maxRetries: 5 }, async () => { /* ... */ });\r\n```\r\n\r\n---\r\n\r\n### <ins>Isolation, Read-Only & Timeouts</ins> ⚙️\r\n\r\n```typescript\r\nimport { Isolation } from 'kinetic-sql';\r\n\r\nawait client.transaction({\r\n  isolation: Isolation.SERIALIZABLE, /* READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE */\r\n  readOnly: true,                    /* Lets the engine optimise, and blocks accidental writes */\r\n  timeout: 5000                      /* Give up after 5 seconds */\r\n}, async () => {\r\n  return client.raw('SELECT * FROM heavy_report_view');\r\n});\r\n```\r\n\r\n---\r\n\r\n### <ins>Deciding what counts as a rollback</ins> 🎯\r\n\r\nEverything rolls back by default. When you need an exception to that, `noRollbackFor` keeps the work and still throws the error at you:\r\n\r\n```typescript\r\nclass ValidationError extends Error {}\r\n\r\nawait client.transaction({ noRollbackFor: [ValidationError] }, async () => {\r\n  await client.raw('INSERT INTO signup_attempts (email) VALUES (?)', ['a@b.com']);\r\n\r\n  /* The attempt above is still recorded, and this error still reaches your catch block */\r\n  throw new ValidationError('Email already taken');\r\n});\r\n```\r\n\r\n`rollbackFor` takes priority over `noRollbackFor`, so you can carve out an exception to your exception. You can match on an error class, an error `code` string, or your own function.\r\n\r\nNeed to block a commit without throwing? Use `tx.setRollbackOnly()`:\r\n\r\n```typescript\r\nawait client.transaction(async (tx) => {\r\n  const rows = await client.raw('SELECT stock FROM inventory WHERE id = ?', [42]);\r\n    /* Block carries on, but nothing will be committed */\r\n  if (rows[0].stock < 1) tx.setRollbackOnly(); \r\n});\r\n```\r\n\r\n---\r\n\r\n### <ins>The Spring Boot Way</ins>: `@Transactional` 🍃\r\n\r\nIf you'd rather declare it than wrap it, use the decorator. Every call to the method runs in a transaction, and queries inside it join automatically, exactly like `Spring Boot`:\r\n\r\n```typescript\r\nimport { Transactional, Propagation } from 'kinetic-sql';\r\n/* In a NestJS app, you can import it from 'kinetic-sql/nestjs' instead */\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n  constructor(@InjectDB() private db: KineticClient) {}\r\n\r\n  @Transactional()\r\n  async placeOrder(userId: number, total: number) {\r\n    await this.db.raw('INSERT INTO orders (user_id, total) VALUES (?, ?)', [userId, total]);\r\n    await this.chargeWallet(userId, total); /* Joins the same transaction */\r\n  }\r\n\r\n  @Transactional({ propagation: Propagation.REQUIRES_NEW })\r\n  async writeAuditLog(event: string) {\r\n    /* Commits on its own, even if the caller rolls back */\r\n    await this.db.raw('INSERT INTO audit (event) VALUES (?)', [event]);\r\n  }\r\n}\r\n```\r\n\r\nIt takes every option `client.transaction()` does, and works with both legacy and standard TypeScript decorators. No additional `tsconfig` changes needed. The decorator uses the first client you created; if your app has several, point it at the right one with `setDefaultClient(client)`.\r\n\r\n---\r\n\r\n### <ins>Manual Control</ins> 🔧\r\n\r\nFor the rare case where the boundary can't fit inside one block (spanning multiple HTTP requests, for example):\r\n\r\n```typescript\r\nconst tx = await client.beginTransaction();\r\n\r\ntry {\r\n  await tx.raw('INSERT INTO drafts (body) VALUES (?)', ['hello']);\r\n  await tx.commit();\r\n} catch (err) {\r\n  await tx.rollback();\r\n}\r\n```\r\n\r\n⚠️ You own the connection until you settle it, so always `commit()` or `rollback()` ⚠️  \r\nA forgotten transaction holds a pooled connection open. Automatic retries don't apply here, because there's no block to replay.\r\n\r\n---\r\n\r\n### <ins>Watching Transactions from a Plugin</ins> 🔌\r\n\r\nTransactions show up in the `Middleware API` too. Every `QueryContext` carries a `txId`, so you can group queries by the transaction they belonged to, and there are three lifecycle hooks:\r\n\r\n```typescript\r\nimport { KineticMiddleware } from 'kinetic-sql';\r\n\r\nexport const TransactionLogger: KineticMiddleware = {\r\n  name: 'TransactionLogger',\r\n\r\n  onTransactionBegin: (info) => console.log(`🟢 ${info.id} started (attempt ${info.attempt})`),\r\n  onTransactionCommit: (info) => console.log(`✅ ${info.id} committed`),\r\n  onTransactionRollback: (info, error) => console.error(`↩️ ${info.id} rolled back:`, error?.message),\r\n\r\n  /* Now you can tell which transaction a query belonged to */\r\n  afterQuery: (ctx) => console.log(`  [${ctx.txId ?? 'no-tx'}] ${ctx.sqlOrName}`)\r\n};\r\n```\r\n\r\n---\r\n\r\n### <ins>Engine Notes</ins> 📌\r\n\r\nA few honest details about what each database can actually do:\r\n\r\n- **PostgreSQL:** everything is fully supported. `timeout` is also enforced on the server-side via `statement_timeout`.\r\n- **MySQL:** everything is supported. `timeout` is enforced in Node, and on the server-side but only for `SELECT` statements (that's a `MySQL` limitation, not `Kinetic SQL`).\r\n- **SQLite:** `better-sqlite3` gives one synchronous connection, so overlapping transactions are **queued** rather than run in parallel. There won't be any lost updates, but no concurrency either. `REQUIRES_NEW` opens a second connection to your database file, which means it needs a **file-backed** database (an in-memory SQLite instance will tell you so clearly), and because SQLite allows only one writer at a time it works best when the outer transaction is `readOnly`. `NOT_SUPPORTED` can't fully suspend on a single connection.\r\n- **`timeout` everywhere:** it stops *waiting* for a slow block and rolls it back. It cannot cancel a query that is already executing.\r\n\r\n---\r\n\r\n## Plugins: Middleware API 🔌\r\n\r\n**Kinetic SQL** is engineered with a strict, lightweight core to guarantee `sub-4 ms` query latency. There are instances where developers might need to execute pre and post query logic. To keep the core engine blazingly fast, all non-essential features (like custom logging, APM tracing, or data masking) can be easily plugged into the core using the exposed hooks **OR** if that feature is required across multiple projects, you can also build your own **Official Plugins** using the `Middleware API`.\r\n\r\n\r\n### <ins>Example: Building a Custom Logger Plugin</ins>:\r\n\r\nCreating a plugin is as simple as defining a `KineticMiddleware` object that taps into the query lifecycle hooks.\r\n\r\n```typescript\r\nimport {KineticMiddleware} from 'kinetic-sql';\r\n\r\nexport const PerformanceLogger: KineticMiddleware = {\r\n  name: 'PerformanceLogger',\r\n\r\n  /* Captures the latency by calculating the diff from ctx.startTime */\r\n  afterQuery: (ctx, result) => {\r\n      const durationMs = Number(process.hrtime.bigint() - ctx.startTime) / 1e6;\r\n\r\n      if (durationMs > 5) {\r\n          console.warn(`⚠️ SLOW QUERY [${durationMs.toFixed(2)}ms]: ${ctx.sqlOrName}`);\r\n      } else {\r\n          console.log(`✅ [${durationMs.toFixed(2)}ms]: ${ctx.sqlOrName}`);\r\n      }\r\n  },\r\n\r\n  /* Captures and logs driver-level exceptions safely */\r\n  onError: (ctx, error) => {\r\n      console.error(`❌ FAILED: ${ctx.sqlOrName}`, error.message);\r\n  }\r\n};\r\n```\r\n\r\n### <ins>HOW TO: Registering Middleware</ins> (Express/Vanilla Node)❓:\r\n\r\nChain the `.use()` method immediately after creating your client instance.\r\n```typescript\r\nimport { KineticClient } from 'kinetic-sql';\r\nimport { PerformanceLogger } from './plugins/PerformanceLogger';\r\n\r\nconst client = await KineticClient.create({\r\n  type: 'sqlite',\r\n  filename: './dev.db'\r\n});\r\n\r\n/* Register the plugin */\r\nclient.use(PerformanceLogger);\r\n\r\n/* The plugin will now intercept all raw() and rpc() calls */\r\nawait client.raw('SELECT * FROM users');\r\n```\r\n\r\n### <ins>HOW TO: Registering Middleware</ins> (NestJS) ❓:\r\n\r\nIf you are using the official KineticModule for NestJS, you can easily register your middleware plugins during the asynchronous module initialization.\r\n```typescript\r\nimport {Module} from '@nestjs/common';\r\nimport {KineticModule} from 'kinetic-sql/nestjs';\r\nimport {PerformanceLogger} from './plugins/PerformanceLogger';\r\n\r\n@Module({\r\n  imports: [\r\n    KineticModule.forRootAsync({\r\n      useFactory: () => {\r\n        return {\r\n          config: {type: 'postgres', connectionString: process.env.DATABASE_URL},\r\n          /* Register your plugins right in the factory */\r\n          middlewares: [PerformanceLogger]\r\n        };\r\n      },\r\n    }),\r\n  ],\r\n})\r\nexport class AppModule {\r\n}\r\n```\r\n---\r\n\r\n## Executing Raw Queries ⚡\r\n\r\nIf you need to execute complex, custom SQL strings, use the `.raw()` method.  \r\n**Bonus:** All queries executed through `.raw()` automatically pass through your custom Middleware pipeline!\r\n\r\n```typescript\r\n/* Executes safely and triggers any attached loggers or APM tracers */\r\nconst users = await client.raw('SELECT * FROM users WHERE age > ?', [21]);\r\n```\r\n\r\n---\r\n\r\n## Prepared Statements (Optimized & Tracked) 🚀\r\n\r\nWhen you need to execute the same query hundreds of times (like bulk inserts or high-frequency updates), parsing the SQL string on every call is a waste of CPU cycles.\r\n\r\n**Kinetic SQL** provides a universal `.prepare()` method that pre-compiles the query engine-side for maximum performance, while **still** routing every execution through your custom Middleware pipeline!\r\n\r\n```typescript\r\n/* Pre-compile the SQL once */\r\nconst insertUser = client.prepare('INSERT INTO users (name, age) VALUES (?, ?)');\r\n\r\n/* Execute it hundreds of times lightning fast! */\r\n/* PerformanceLogger middleware will track every single call */\r\nawait insertUser.execute(['Alice', 28]);\r\nawait insertUser.execute(['Bob', 34]);\r\nawait insertUser.execute(['Charlie', 22]);\r\n```\r\n\r\n---\r\n\r\n## Standard Queries (via Drizzle) ✨\r\n\r\nKinetic SQL is designed to work alongside your favorite query builders. If you need to hand off the connection to Drizzle ORM, you can use the `.native` escape hatch, which exposes the underlying database driver (`postgres.js`, `mysql2`, or `better-sqlite3`).\r\n\r\n```typescript\r\nimport {drizzle} from 'drizzle-orm/postgres-js';\r\nimport {KineticClient} from 'kinetic-sql';\r\n\r\nconst client = await KineticClient.create({type: 'pg', /* ... */});\r\n\r\n/* Pass the native driver instance to Drizzle */\r\nconst db = drizzle(client.native);\r\n```\r\n\r\n---\r\n\r\n## Shutting Down Cleanly 🧹\r\n\r\nCall `.end()` to close the connection pool and stop any realtime watchers. Handy in tests, scripts, and graceful shutdown hooks. Without it, an open pool will keep your process alive.\r\n\r\n```typescript\r\nprocess.on('SIGTERM', async () => {\r\n  await client.end();\r\n  process.exit(0);\r\n});\r\n```\r\n\r\n---\r\n\r\n## ⚙️ Configuration\r\n\r\n### PostgreSQL\r\n```typescript\r\nconst client = await KineticClient.create({\r\n  type: 'pg',\r\n  host: 'localhost',\r\n  port: 5432,\r\n  user: 'postgres',\r\n  password: 'password',\r\n  database: 'mydb',\r\n  realtimeEnabled: true\r\n});\r\n```\r\n\r\n### MySQL\r\n```typescript\r\nconst client = await KineticClient.create({\r\n  type: 'mysql',\r\n  host: 'localhost',\r\n  port: 3306,\r\n  user: 'root',\r\n  password: 'password',\r\n  database: 'mydb',\r\n  realtimeEnabled: true // Requires Binary Logging enabled on server\r\n});\r\n```\r\n\r\n### SQLite\r\n```typescript\r\nconst client = await KineticClient.create({\r\n  type: 'sqlite',\r\n  filename: './dev.db' // Path to your file\r\n});\r\n```\r\n\r\n### MSSQL\r\n```\r\nSupport for MSSQL is currently in development and will be released soon 😊\r\n```\r\n---\r\n\r\n## ⚠️ Requirements\r\n\r\n- **Node.js:** 18+\r\n- **PostgreSQL:** 12+ (Native `LISTEN/NOTIFY` used)\r\n- **MySQL:** 5.7+ (Requires Binary Logging Enabled i.e. ` log_bin = ON ` for Realtime features)\r\n- **SQLite:** 3+ (Bundled with `better-sqlite3`)\r\n\r\n---\r\n\r\n## 🤝 Contributing (Plugins vs. Core)\r\n\r\n**Kinetic SQL** was designed to overcome the restrictions and bloating that other libraries come with. When building the Engine, I also wanted to make sure developers are not limited to the core features and can easily add any plugins or extensions to the library! \r\n\r\nIf you want to add custom behaviors (APM tracing, logging, data masking, etc.), please build an **Official Plugin** using our <code><b>Middleware API</b></code> rather than modifying the core driver execution path.\r\n\r\n\r\nThis helps maintain the strict `< 4ms` query latency guarantee, the core execution engine comes with.\r\n\r\nPlease check out `CONTRIBUTING.md` to learn more about architectural philosophy and how you can contribute to the project.\r\n\r\n---\r\n\r\n## 📄 License\r\n\r\n- #### MIT – See [LICENSE](https://github.com/serial-committer/kinetic-sql/blob/main/LICENSE) for details.\r\n\r\n---\r\n\r\n## 🐞 Bugs, Issues, and Feature Requests\r\n\r\n**Kinetic SQL** is actively maintained. If you run into any issues, have feature requests, please feel free to open an issue on the GitHub repo:\r\n\r\n👉 **[Kinetic SQL Feature Requests & Issue Tracker](https://github.com/serial-committer/kinetic-sql/issues)**\r\n\r\nIf you found this library helpful in escaping ORM bloat, a ⭐️ on the repository is greatly appreciated!\r\n","readmeFilename":"README.md"}