{"_id":"@riordanpawley/effect-prisma-generator","_rev":"18-d44b4e3064161ce76145f2d82934c2a0","name":"@riordanpawley/effect-prisma-generator","dist-tags":{"latest":"1.1.4","effect-v3":"0.6.15"},"versions":{"0.5.0":{"name":"@riordanpawley/effect-prisma-generator","version":"0.5.0","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.5.0","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"eba6333ecbda512b5f66489ef62c3019405dbab2","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.5.0.tgz","fileCount":4,"integrity":"sha512-DvBJcz39NtKYUHQ0fcg2ip0wA25jKUnzTSATbAEi5axqcvojuNa+hX3NPKf29JKfyENxY+Q1hCEMLaeau7Z8cg==","signatures":[{"sig":"MEYCIQDs6/dfDcSFswAXMHIZJKC08iwDWMmFkREA+M3YpVgaIgIhAJmjT4m9/BTfQC8wSwokHebowIyxxyEP3aT6roFr6bUK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80570},"main":"dist/index.js","gitHead":"3a4239b6df0d6b3c4024358c32bbcf5fc00bba08","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.5.0_1764154168970_0.5406255492821148","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@riordanpawley/effect-prisma-generator","version":"0.5.1","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.5.1","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"db8aeaf966a6ea0a5189b59bc58e0fca5ae1c1f8","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.5.1.tgz","fileCount":4,"integrity":"sha512-n39a2wtd/ywYrqeLravjOBAgQhdk9B/ZFiKuknFsmdA43zJU0vapVYf1462K6tngqFqZWcVg9eRNSCfvS+Si3Q==","signatures":[{"sig":"MEUCIHvMm2KKCalPT0yuiKWQBehBJRt2lIKKESzhw0Mn42qyAiEA2Nmr6wlxajy0vra5hfaC6vViCGuXHRqz3//jf8hEs9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81493},"main":"dist/index.js","gitHead":"817160a2bb56774533884ac566c5c4a0d67634ca","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.5.1_1764219092972_0.2887849710279138","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@riordanpawley/effect-prisma-generator","version":"0.5.2","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.5.2","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"080e4857bcf40051e74eb0125bdde1f9de212f6e","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.5.2.tgz","fileCount":4,"integrity":"sha512-cEKRZo6wzShKuX7OWS0HG2mgDFomDDgEiaWCsSjcbPdtlSKr8O2nNRrUQUtRBOxbccJWhxmhHkZTIvZVjbowZQ==","signatures":[{"sig":"MEQCICRcVGa3aU4C37WRRN4vhk1m5Pk9KO8eUIwkaKd1zWPUAiBQUwANvi/L9blTcVPduCN90tTzixcKwfbTLibAKCrTpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91252},"main":"dist/index.js","gitHead":"df9f84c101c463145ab11bbd521b98d8e58cfcdb","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.5.2_1764303086670_0.556036920761686","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.0","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.0","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"add415588bdb4a1d46ed3e54caee7644edc9297e","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.0.tgz","fileCount":4,"integrity":"sha512-LHYIXkINgr0XaC57uKCa/GvpEHKc7fgf3uenieMXYFJqclxtzqFWF7/lcYEnfafIbJOxCviCpJU5/QPnLsydrw==","signatures":[{"sig":"MEYCIQC6pT7TiujiO7J2TLNqYYGp02+t6Qk4NEpYq/wBjxXCYgIhAKzTknrNOtdcAQtIgDmZLNAdVfUqj6nLJgMP18vB6Vwf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99771},"main":"dist/index.js","gitHead":"43bc46819cde30d6c421d7912c6a15417c4618ba","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.0_1764570926264_0.6119999438854005","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.1","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.1","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"61a5fe9d93430378b62569cd8378321353b7d362","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.1.tgz","fileCount":4,"integrity":"sha512-dX+cSd0+79sRHneTPu48MIH6p+OswtE6CReoaCK7g0Y14v5ZoaY7iImWJ6AZdYZ2TuofZEfdAr8VPdkfc037kg==","signatures":[{"sig":"MEQCIErP3UELbFvn3mLboTfnCJJr2DZlIULA1hs/cm9dmy3oAiBHTdd98d8XMP3ieoDLNk4yiclWhysSAwQYNvMMww6Mkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100169},"main":"dist/index.js","gitHead":"4105ed836edf580a7599de88720df17ea0e883d3","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.1_1764578613292_0.9490818061112847","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.2","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.2","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"980b38ebd0ea93fbf015d4a6e3b3c95dc77e63bc","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.2.tgz","fileCount":4,"integrity":"sha512-dPfuQ1B+TAMzQ+Gp9Qahm+UY9RBurlWW6wT1IuKq5YRBa3YKVwlzzGhRXSOO/BgelGI2Vyh4Ut9+QNSTI9LyWA==","signatures":[{"sig":"MEQCIElQRSESkLx3Q+yXefJ1ZX4/1Hw1J/qOYbkxATzd9hNYAiAFyakJ1yu5V5e2tzvkJg3jQ28thpJBwcvU4s0BWoCa6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101124},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.2.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/e1c9b92601f108a21e121e772338c0b3/riordanpawley-effect-prisma-generator-0.6.2.tgz","_integrity":"sha512-dPfuQ1B+TAMzQ+Gp9Qahm+UY9RBurlWW6wT1IuKq5YRBa3YKVwlzzGhRXSOO/BgelGI2Vyh4Ut9+QNSTI9LyWA==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.2_1764584490463_0.17517028019193592","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.3","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.3","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"5924ef4162c85bf6c5bdec5162bc27ab4d492b42","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.3.tgz","fileCount":4,"integrity":"sha512-wNYoIP/iZKXrEUsWbZFS3091CZf/s3CX8vexDWN/N3gxNiRN3atkebOwGDoUnDrbQa4l5Ku96SoWdZqIMRBcuQ==","signatures":[{"sig":"MEYCIQDV01HLf8t82PkRyEpxskTHKliuJOdGhZxJeUJuUdRXewIhAPgHv57j8G6HkxTvR1XjyPrYye3lThEO1zrk2k09xOUu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101137},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.3.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/15ea1880bd01437523f12c4907c0f27a/riordanpawley-effect-prisma-generator-0.6.3.tgz","_integrity":"sha512-wNYoIP/iZKXrEUsWbZFS3091CZf/s3CX8vexDWN/N3gxNiRN3atkebOwGDoUnDrbQa4l5Ku96SoWdZqIMRBcuQ==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.3_1764585710753_0.40070438054213997","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.4","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.4","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"a2c1466724b87b428f2d567f9a2f732763bf7f02","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.4.tgz","fileCount":4,"integrity":"sha512-IEdG7/rIKNE2IpW5tf2y51+a3PE3GW6cxI1BcQPhS0vWoY9u0b59oUetj6B+W/nRUt7gghxyVv70+UjBCpz3vQ==","signatures":[{"sig":"MEQCIB0u3s9EV81mo795LaJSfZmRqeXc0xyCAPzzzoo33MZYAiAlTm5DyYBLHfpbyQeKw/zZZwvaK7DKxdv3JGIRevEBcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101147},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.4.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/419ca44fadb48daeefe1639934fb5a2e/riordanpawley-effect-prisma-generator-0.6.4.tgz","_integrity":"sha512-IEdG7/rIKNE2IpW5tf2y51+a3PE3GW6cxI1BcQPhS0vWoY9u0b59oUetj6B+W/nRUt7gghxyVv70+UjBCpz3vQ==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.4_1764586170751_0.31882462298132563","host":"s3://npm-registry-packages-npm-production"}},"0.6.5":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.5","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.5","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"a317d8c964b9263daea25897fafc3bcd3797b524","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.5.tgz","fileCount":4,"integrity":"sha512-1wS8B6DdOpy15lTXXSiaZRTUhx6ZALeHmS51aQA3J8rPwi+pXiPymvYCzG8EnrPEpIVTbkWJmBVt4TWP9TFtSw==","signatures":[{"sig":"MEYCIQDB5Ki/sGr93fA/v628gYLicQE1dCFS/+egrafBLpUdVwIhAIghugpZLDYi3x+zHaVDorjxzhhivb8YH0RzYhK8pfE8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101202},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.5.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/44c687637e1c81e4c1c6941ea2e44582/riordanpawley-effect-prisma-generator-0.6.5.tgz","_integrity":"sha512-1wS8B6DdOpy15lTXXSiaZRTUhx6ZALeHmS51aQA3J8rPwi+pXiPymvYCzG8EnrPEpIVTbkWJmBVt4TWP9TFtSw==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.5_1764590108074_0.8593545241862806","host":"s3://npm-registry-packages-npm-production"}},"0.6.6":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.6","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.6","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"f7c2924b11071e1bfe0192e21dda2a02f52bf807","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.6.tgz","fileCount":4,"integrity":"sha512-Gt8ulsIT0C4MQ7Ex0vOOydETaFkEkTmNRotGHDKbYAtrrDGImdJIU3MRqcIGbL7jRmA7oZSbFJ3hT5VoXSHOWg==","signatures":[{"sig":"MEYCIQClXpSR3XaeUF2j9koGXUeE69Y8xtru53+ihNlebE1myAIhAMM/aZBJjuqt8ynJnLSi3eM0nKVKEdWHppTnSZoiq4KR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":103691},"main":"dist/index.js","gitHead":"d63dc26e8e96eb5c833f2650efa03c994e0c12e3","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.6_1764600083328_0.32101726929403696","host":"s3://npm-registry-packages-npm-production"}},"0.6.7":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.7","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.7","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"022fa9ad9218dcbc59cfa8f83d77c0978eff20b6","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.7.tgz","fileCount":4,"integrity":"sha512-pW9/oDovSw2lZoqaMlzpmcbkTbL5txB3S499faLFUrpsgIa6tOvpbv+9Xe7Fni6uniQkJyeLHDh+f4eCnUUKAA==","signatures":[{"sig":"MEQCIE+BYIEPPWCQUx1FGs6+V8717cbX4jx1zHG4tpVIGds8AiA3qaMh0KUugbBscxmDX8UdnjVrSAHP6qGPLxHQIku7nQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104264},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.7.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/3898f4c210d6260c911dfc341c2aa955/riordanpawley-effect-prisma-generator-0.6.7.tgz","_integrity":"sha512-pW9/oDovSw2lZoqaMlzpmcbkTbL5txB3S499faLFUrpsgIa6tOvpbv+9Xe7Fni6uniQkJyeLHDh+f4eCnUUKAA==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.7_1764897733003_0.8794215516382868","host":"s3://npm-registry-packages-npm-production"}},"0.6.8":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.8","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.8","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"6cc8be593f4e6fcf7e6a01da8eeb83bb7ce838a8","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.8.tgz","fileCount":4,"integrity":"sha512-DPNjl2/RCRenCqhVV1WTGA/1vQn6GesrTsUT5InhmwXksQiFAvz/FBepSFaTPIJDz54ZMuCivk+lxcZdBD/eVw==","signatures":[{"sig":"MEQCIBCETl51kNpP8HSekYuJrl+ASezCPCT9JhHWvGov21zQAiB2vjVStJh70I8HgXqBDNTgwxZdD7/ocm54GXqCZ+DJgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104366},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.8.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/a224a9d10af30616365b6086ab996938/riordanpawley-effect-prisma-generator-0.6.8.tgz","_integrity":"sha512-DPNjl2/RCRenCqhVV1WTGA/1vQn6GesrTsUT5InhmwXksQiFAvz/FBepSFaTPIJDz54ZMuCivk+lxcZdBD/eVw==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.8_1764898237267_0.2097286002279537","host":"s3://npm-registry-packages-npm-production"}},"0.6.9":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.9","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.9","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"f1d5dc99e50a967e7f3529a510b43940a513ad6d","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.9.tgz","fileCount":4,"integrity":"sha512-Hhn+gdlsAMXq5ncA2yKepBWhkosyKRGhwgTirKwZFx2jze/ZyyqPbjf3u0Rwnn5o01jDjzs4Es6VCrCENam1BA==","signatures":[{"sig":"MEQCIFytln6TAh5LjY4lW/drqGIpzZyZs4aORJimriCCOeG2AiAwd8zNpf3444eE+lYv43cHYOwI7UUaUygyU0JuQHpMpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104494},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-0.6.9.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/d16267b476817a3274406b2daf7d0af1/riordanpawley-effect-prisma-generator-0.6.9.tgz","_integrity":"sha512-Hhn+gdlsAMXq5ncA2yKepBWhkosyKRGhwgTirKwZFx2jze/ZyyqPbjf3u0Rwnn5o01jDjzs4Es6VCrCENam1BA==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.6.2","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.2.0","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.9_1764898411923_0.28552570278122413","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@riordanpawley/effect-prisma-generator","version":"1.0.0","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@1.0.0","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"ed02e157dada9d6a0f53364b7cd6da15f1a888f2","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-1.0.0.tgz","fileCount":4,"integrity":"sha512-P7x4AHmLe5/5UlPnmHn2vNLfCV5LbZ9c2jlRMye3dwiMNJafdLLuxXvJkMkdUDaNBUTKwx8hr3ALTjgfDVxajg==","signatures":[{"sig":"MEYCIQDssy8EpKwtXFKtuROcyptPfmIQseUXFbF48vMpfzTNSAIhAJOuVZ65iRjSHJltX2w+7D+1zCS4rEVNUCM6YitniVx2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":104543},"main":"dist/index.js","_from":"file:riordanpawley-effect-prisma-generator-1.0.0.tgz","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js"},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"_resolved":"/private/var/folders/45/r67jp_3d1zgg1vfdtyg72x8w0000gn/T/a06795c539ba9c084fc6a52053af9123/riordanpawley-effect-prisma-generator-1.0.0.tgz","_integrity":"sha512-P7x4AHmLe5/5UlPnmHn2vNLfCV5LbZ9c2jlRMye3dwiMNJafdLLuxXvJkMkdUDaNBUTKwx8hr3ALTjgfDVxajg==","repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.9.0","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"25.6.1","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^4.0.0-beta.10","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^4.0.0-beta.10","@prisma/client":"^6.19.0","@prisma/generator":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_1.0.0_1771733284254_0.4549653723230722","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@riordanpawley/effect-prisma-generator","version":"1.1.2","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@1.1.2","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"0cf60ca2aa63d9578373b6e20e0f0854df479de7","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-1.1.2.tgz","fileCount":4,"integrity":"sha512-1tfTmJCeYbYc8M/mg70iNJVMgn2Za77U9v2VkIFfdzcPm9LjMVEv6qJ0ay0yDgYSzrxnM5qIO1vTtoPu9yE0CA==","signatures":[{"sig":"MEUCIQCoBUvVtQAN7vrH/MAeOOga42VGeg1SQXqVquqr8qnCCwIgd/FtpF5usAnZQOxk5JTR0ZmPTO1S0KSI5N7M153oQAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riordanpawley%2feffect-prisma-generator@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":105043},"main":"dist/index.js","gitHead":"cc3b70bfeddc2705c9bdeed13edaaf5a04348ea4","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80d8f46d-47a1-4d52-9022-648c1016c2f2"}},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.11.0","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","effect":"^4.0.0-beta.10","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^4.0.0-beta.10","@prisma/client":"^6.19.0","@prisma/generator":"^6.19.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_1.1.2_1776137423568_0.673617597998925","host":"s3://npm-registry-packages-npm-production"}},"0.6.14":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.14","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.14","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"7f5f1e9076059f4ac19cfb065bcfa923e0595024","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.14.tgz","fileCount":4,"integrity":"sha512-uLDBgDhGX++AnS/lW8E+/nD3BRzzkhCaTJ82D73IZGRwQ7aSONqqTfO2ZshUtdim5/uc1+RPh0NUVyqCCt53SA==","signatures":[{"sig":"MEUCIQDnVi/De3AxkUcdOM+4ZG6nFckOF3HHlgb+V6xdgGhgbQIgRBcPloRUIcdor7aETmTjKwq41Pl2RUwsWWsxLD5OU1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riordanpawley%2feffect-prisma-generator@0.6.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":104998},"main":"dist/index.js","gitHead":"291bc7a414fb8fbfde5b5af5a4938d767d21fa3a","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80d8f46d-47a1-4d52-9022-648c1016c2f2"}},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.11.0","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.14_1776148095342_0.4986376641626442","host":"s3://npm-registry-packages-npm-production"}},"0.6.15":{"name":"@riordanpawley/effect-prisma-generator","version":"0.6.15","keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","_id":"@riordanpawley/effect-prisma-generator@0.6.15","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"bin":{"effect-prisma-generator":"dist/index.js"},"dist":{"shasum":"1649d77d9ed73ccaacd3b74d362f0c7e23433c12","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-0.6.15.tgz","fileCount":4,"integrity":"sha512-Z49ccJ+9XM8Lfpjjhpyf7xAos2uyJdlokPw7I4whH6KRSkpEq6luMiUoRQ8bl6ZBKioMeJ1Bp1VTV/8nv/ZjwQ==","signatures":[{"sig":"MEUCIBpeOZhpqyJZPHVFY6mbx1N6pKCPjmCeCZ5e1hvWnHbqAiEAnt+mlP2NKtnhcHxF51Wn+YIL2JkruEueJB8gYkPWH/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@riordanpawley%2feffect-prisma-generator@0.6.15","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106013},"main":"dist/index.js","gitHead":"c25235672958219ba183f7a182e2f935f411327f","scripts":{"test":"tsx scripts/runTests.ts","build":"tsc && chmod +x dist/index.js","prepublishOnly":"pnpm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:80d8f46d-47a1-4d52-9022-648c1016c2f2"}},"repository":{"url":"git+https://github.com/riordanpawley/effect-prisma-generator.git","type":"git"},"_npmVersion":"11.11.0","description":"Prisma generator for Effect (fork with Prisma 7 support)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"typescript":"^5.9.3","@prisma/generator-helper":"^6.19.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"^4.20.6","effect":"^3.13.4","prisma":"^6.19.0","vitest":"^3.0.7","@types/node":"^24.10.1","@biomejs/biome":"^2.3.8","@effect/vitest":"^0.27.0","@prisma/client":"^6.19.0","@effect/platform":"^0.93.3","@prisma/generator":"^6.19.0","@effect/platform-node":"^0.101.0"},"_npmOperationalInternal":{"tmp":"tmp/effect-prisma-generator_0.6.15_1776148331161_0.3713124573709059","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@riordanpawley/effect-prisma-generator","version":"1.1.4","description":"Prisma generator for Effect (fork with Prisma 7 support)","main":"dist/index.js","bin":{"effect-prisma-generator":"dist/index.js"},"scripts":{"build":"tsc && chmod +x dist/index.js","test":"tsx scripts/runTests.ts","prepublishOnly":"pnpm run build"},"repository":{"type":"git","url":"git+https://github.com/riordanpawley/effect-prisma-generator.git"},"keywords":["prisma","generator","effect","prisma7"],"author":{"name":"riordanpawley"},"license":"MIT","dependencies":{"@prisma/generator-helper":"^6.19.0","typescript":"^5.9.3"},"devDependencies":{"@biomejs/biome":"^2.3.8","@effect/vitest":"^4.0.0-beta.64","@prisma/client":"^6.19.0","@prisma/generator":"^6.19.0","@types/node":"^24.10.1","effect":"^4.0.0-beta.64","prisma":"^6.19.0","tsx":"^4.20.6","vitest":"^3.0.7"},"gitHead":"cff4cb90d441a80109acf62c7db78c85f75e496e","_id":"@riordanpawley/effect-prisma-generator@1.1.4","bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","_nodeVersion":"26.0.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-GkRA4r2Lp3uT+Fj6ucIxMvpyPT2djOwuG2MWk1FWdfoN3FbnL/FU38U80XWMyWyeGsBwlTfjre9R2yXyHLswMg==","shasum":"accbb3a847abb6e30cd2e74baa1271044d111a7a","tarball":"https://registry.npmjs.org/@riordanpawley/effect-prisma-generator/-/effect-prisma-generator-1.1.4.tgz","fileCount":4,"unpackedSize":105822,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC3M/G+eTC5zMUtPKGukZC+8hxUNKbmC07KC6JxP8FC9AIgHTMIKr2i9vmkaKkOkXNRvHokV1HKTtKAmNdtpp8JfC8="}]},"_npmUser":{"name":"riordanpawley","email":"rmp613@gmail.com"},"directories":{},"maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/effect-prisma-generator_1.1.4_1779338648180_0.8350500244571564"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-26T10:49:28.851Z","modified":"2026-05-21T04:44:08.422Z","0.5.0":"2025-11-26T10:49:29.150Z","0.5.1":"2025-11-27T04:51:33.160Z","0.5.2":"2025-11-28T04:11:26.894Z","0.6.0":"2025-12-01T06:35:26.463Z","0.6.1":"2025-12-01T08:43:33.488Z","0.6.2":"2025-12-01T10:21:30.644Z","0.6.3":"2025-12-01T10:41:50.949Z","0.6.4":"2025-12-01T10:49:30.931Z","0.6.5":"2025-12-01T11:55:08.245Z","0.6.6":"2025-12-01T14:41:23.501Z","0.6.7":"2025-12-05T01:22:13.161Z","0.6.8":"2025-12-05T01:30:37.429Z","0.6.9":"2025-12-05T01:33:32.082Z","1.0.0":"2026-02-22T04:08:04.392Z","1.1.2":"2026-04-14T03:30:23.687Z","0.6.14":"2026-04-14T06:28:15.511Z","0.6.15":"2026-04-14T06:32:11.312Z","1.1.4":"2026-05-21T04:44:08.317Z"},"bugs":{"url":"https://github.com/riordanpawley/effect-prisma-generator/issues"},"author":{"name":"riordanpawley"},"license":"MIT","homepage":"https://github.com/riordanpawley/effect-prisma-generator#readme","keywords":["prisma","generator","effect","prisma7"],"repository":{"type":"git","url":"git+https://github.com/riordanpawley/effect-prisma-generator.git"},"description":"Prisma generator for Effect (fork with Prisma 7 support)","maintainers":[{"name":"riordanpawley","email":"rmp613@gmail.com"}],"readme":"# Effect Prisma Generator\n\nA Prisma generator that creates a fully-typed, Effect-based service wrapper for your Prisma Client.\n\n> **📦 Latest Release: v0.6.0** - [Migration Guide from v0.5](./MIGRATION-0.5-0.6.md)\n\n## Features\n\n- 🚀 **Effect Integration**: All Prisma operations are wrapped in `Effect` for robust error handling and composability.\n- 🛡️ **Type Safety**: Full TypeScript support with generated types matching your Prisma schema.\n- 🧩 **Dependency Injection**: Integrates seamlessly with Effect's `Layer` and `Context` system.\n- 🔍 **Error Handling**: Automatically catches and wraps Prisma errors into typed `PrismaError` variants.\n- 📊 **Optional Telemetry**: Enable operation tracing with `enableTelemetry` config.\n\n## Installation\n\nInstall the generator as a development dependency:\n\n```bash\nnpm install -D effect-prisma-generator\n# or\npnpm add -D effect-prisma-generator\n# or\nyarn add -D effect-prisma-generator\n```\n\n## Configuration\n\nAdd the generator to your `schema.prisma` file:\n\n```prisma\n// prisma/schema.prisma\ngenerator client {\n  provider        = \"prisma-client-js\"\n  output          = \"./generated/client\"\n}\n\ngenerator effect {\n  provider = \"effect-prisma-generator\"\n  output   = \"./generated/effect\" // relative to the schema.prisma file, e.g. prisma/generated/effect\n  clientImportPath = \"../client\" // relative to the output path ^here (defaults to \"@prisma/client\")\n}\n```\n\nThen run `prisma generate` to generate the client and the Effect service.\n\n### Configuration Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `output` | Output directory for generated code (relative to schema.prisma) | `../generated/effect` |\n| `clientImportPath` | Import path for Prisma Client (relative to output) | `@prisma/client` |\n| `errorImportPath` | Custom error module path (relative to schema.prisma), e.g. `./errors#MyError` | - |\n| `importFileExtension` | File extension for relative imports (`js`, `ts`, or empty) | `\"\"` |\n| `enableTelemetry` | Wrap operations with `Effect.fn()` for tracing (`\"true\"` or `\"false\"`) | `\"false\"` |\n\n### ESM / Import Extensions\n\nFor ESM projects that require explicit file extensions in imports, use `importFileExtension`:\n\n```prisma\ngenerator effect {\n  provider            = \"effect-prisma-generator\"\n  output              = \"./generated/effect\"\n  clientImportPath    = \"../client/index.js\"\n  errorImportPath     = \"./errors#MyPrismaError\"  // No extension needed here\n  importFileExtension = \"js\"                       // Generator adds .js to relative imports\n}\n```\n\nThis will generate imports like:\n```typescript\nimport { MyPrismaError, mapPrismaError } from \"../../errors.js\"\n```\n\n### Recommended\n\nAdd the following to your `tsconfig.json`:\n\n```json\n{\n  \"compilerOptions\": {\n    \"paths\": {\n      \"@prisma/*\": [\"./prisma/generated/*\"]\n    }\n  }\n}\n```\n\nThen you can import the generated types like this:\n\n```typescript\nimport { Prisma } from \"@prisma/effect\";\n```\n\nOtherwise, you can import the generated types like this (adjust the path accordingly):\n\n```typescript\nimport { Prisma } from \"../../prisma/generated/effect\";\n```\n\n## Usage\n\n### Quick Start\n\n```typescript\nimport { Prisma } from \"@prisma/effect\";\nimport { Effect } from \"effect\";\n\nconst program = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n\n  const users = yield* prisma.user.findMany({\n    where: { active: true },\n  });\n\n  return users;\n});\n\n// Run with the default layer (Prisma 6)\nEffect.runPromise(program.pipe(Effect.provide(Prisma.Live)));\n```\n\n### Layer Options\n\nThe generator provides several ways to create layers:\n\n```typescript\nimport { Prisma, PrismaClient } from \"@prisma/effect\";\nimport { Effect, Layer } from \"effect\";\n\n// 1. Default layer (Prisma 6, no options)\nPrisma.Live\n\n// 2. Layer with static options\nPrisma.layer({ datasourceUrl: process.env.DATABASE_URL })\n\n// 3. Layer with effectful options (for adapters, config services, etc.)\nPrisma.layerEffect(\n  Effect.gen(function* () {\n    const config = yield* ConfigService;\n    return { datasourceUrl: config.databaseUrl };\n  })\n)\n\n// 4. For Prisma 7 with adapters\nPrisma.layerEffect(\n  Effect.gen(function* () {\n    const pool = yield* PostgresPool;\n    const adapter = yield* Effect.sync(() => new PrismaNeon(pool));\n    return { adapter };\n  })\n)\n```\n\n### Full Example\n\n```typescript\nimport { Prisma } from \"./generated/effect\";\nimport { Effect } from \"effect\";\n\nconst program = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n\n  // All standard Prisma operations are available\n  const users = yield* prisma.user.findMany({\n    where: { active: true },\n    select: {\n      id: true,\n      accounts: {\n        select: {\n          id: true,\n        },\n      },\n    },\n  });\n  // users: { id: string, accounts: { id: string }[] }[]\n\n  return users;\n});\n\n// Run the program\nEffect.runPromise(program.pipe(Effect.provide(Prisma.Live)));\n```\n\n## API\n\nThe generated `Prisma` service mirrors your Prisma Client API but returns `Effect<Success, PrismaError, Requirements>` instead of Promises.\n\n### Layer Constructors\n\n| API | Description |\n|-----|-------------|\n| `Prisma.Live` | Complete default layer (Prisma 6, no options) |\n| `Prisma.layer(opts)` | Complete layer with PrismaClient options |\n| `Prisma.layerEffect(effect)` | Complete layer with effectful options |\n| `Prisma.Default` | Just the service layer (for advanced composition) |\n| `PrismaClient.layer(opts)` | Just the client layer (for advanced composition) |\n| `PrismaClient.layerEffect(effect)` | Just the client layer with effectful options |\n| `PrismaClient.Default` | Default client layer (for advanced composition) |\n\n### Error Handling\n\nOperations return typed errors that you can handle with Effect's error handling utilities:\n\n```typescript\nimport {\n  Prisma,\n  PrismaUniqueConstraintError,\n  PrismaRecordNotFoundError,\n  PrismaForeignKeyConstraintError,\n} from \"@prisma/effect\";\n\nconst program = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n\n  // Handle specific error types with catchTag\n  const user = yield* prisma.user\n    .create({ data: { email: \"alice@example.com\" } })\n    .pipe(\n      Effect.catchTag(\"PrismaUniqueConstraintError\", (error) => {\n        console.log(`Duplicate email: ${error.cause.code}`); // P2002\n        return Effect.succeed(null);\n      }),\n    );\n\n  // OrThrow methods return PrismaRecordNotFoundError\n  const found = yield* prisma.user\n    .findUniqueOrThrow({ where: { id: 999 } })\n    .pipe(\n      Effect.catchTag(\"PrismaRecordNotFoundError\", () =>\n        Effect.succeed(null),\n      ),\n    );\n});\n```\n\n**Available error types:**\n\n| Error Type | Prisma Code | When it occurs |\n|------------|-------------|----------------|\n| `PrismaUniqueConstraintError` | P2002 | Duplicate unique field |\n| `PrismaRecordNotFoundError` | P2025 | `findUniqueOrThrow`, `findFirstOrThrow`, `update`, `delete` on non-existent |\n| `PrismaForeignKeyConstraintError` | P2003 | Invalid foreign key reference |\n| `PrismaValueTooLongError` | P2000 | Value exceeds column length |\n| `PrismaDbConstraintError` | P2004 | Database constraint violation |\n| `PrismaInputValidationError` | P2005, P2006, P2019 | Invalid input value |\n| `PrismaMissingRequiredValueError` | P2011, P2012 | Required field is null |\n| `PrismaRelationViolationError` | P2014 | Relation constraint violation |\n| `PrismaRelatedRecordNotFoundError` | P2015, P2018 | Related record not found |\n| `PrismaValueOutOfRangeError` | P2020 | Value out of range |\n| `PrismaConnectionError` | P2024 | Connection pool timeout |\n| `PrismaTransactionConflictError` | P2034 | Transaction conflict (retry) |\n\n### Custom Error Mapping\n\nIf you want to use your own error type instead of the built-in tagged errors, you can configure `errorImportPath` in your schema:\n\n```prisma\ngenerator effect {\n  provider         = \"effect-prisma-generator\"\n  output           = \"./generated/effect\"\n  clientImportPath = \"../client\"\n  errorImportPath  = \"./errors#MyPrismaError\"  // relative to schema.prisma\n}\n```\n\n> **Note:** The `errorImportPath` is relative to your `schema.prisma` file location, not the output directory. The generator automatically calculates the correct import path for the generated code.\n\nYour error module must export:\n1. **The error class** - Your custom error type\n2. **A mapper function** named `mapPrismaError` - Maps raw errors to your type\n\n```typescript\n// errors.ts\nimport { Data } from \"effect\";\nimport { Prisma } from \"@prisma/client\";\n\nexport class MyPrismaError extends Data.TaggedError(\"MyPrismaError\")<{\n  cause: unknown;\n  operation: string;\n  model: string;\n  code?: string;  // You can add custom fields\n}> {}\n\nexport const mapPrismaError = (\n  error: unknown,\n  operation: string,\n  model: string\n): MyPrismaError => {\n  // You can inspect the error and add custom handling\n  const code = error instanceof Prisma.PrismaClientKnownRequestError\n    ? error.code\n    : undefined;\n\n  // Option: throw unknown errors as defects\n  // if (!(error instanceof Prisma.PrismaClientKnownRequestError)) {\n  //   throw error;\n  // }\n\n  return new MyPrismaError({ cause: error, operation, model, code });\n};\n```\n\nNow all operations will use your `MyPrismaError` type:\n\n```typescript\nimport { Prisma, MyPrismaError } from \"./generated/effect\";\n\nconst program = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n\n  // All errors are now MyPrismaError\n  yield* prisma.user\n    .create({ data: { email: \"alice@example.com\" } })\n    .pipe(\n      Effect.catchTag(\"MyPrismaError\", (error) => {\n        console.log(`Operation: ${error.operation}, Code: ${error.code}`);\n        return Effect.succeed(null);\n      }),\n    );\n});\n```\n\nThis is useful when:\n- Migrating from an existing codebase that uses a single error type\n- You want to add custom fields/metadata to errors\n- You want control over which errors are recoverable vs defects\n\n### Transactions\n\nThe generated service includes a `$transaction` method that allows you to run multiple operations within a database transaction.\n\n```typescript\nconst program = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n\n  const result = yield* prisma.$transaction(\n    Effect.gen(function* () {\n      const user = yield* prisma.user.create({ data: { name: \"Alice\" } });\n      const post = yield* prisma.post.create({\n        data: { title: \"Hello\", authorId: user.id },\n      });\n      return { user, post };\n    }),\n  );\n});\n```\n\n#### Custom Transaction Options\n\nFor transactions that need custom options (isolation level, timeout, etc.), use `$transactionWith`:\n\n```typescript\n// Custom isolation level\nyield* prisma.$transactionWith(\n  Effect.gen(function* () {\n    const user = yield* prisma.user.create({ data: { name: \"Alice\" } });\n    return user;\n  }),\n  { isolationLevel: \"Serializable\", timeout: 10000 }\n);\n\n// Point-free style for cleaner composition\nimport { pipe } from \"effect\";\n\nconst myEffect = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n  return yield* prisma.user.findMany();\n});\n\n// Clean, functional composition!\npipe(\n  myEffect,\n  prisma.$transaction  // No options? Use $transaction directly!\n);\n\n// With options, use $transactionWith\nconst withSerializable = (eff: Effect.Effect<any, any, any>) =>\n  prisma.$transactionWith(eff, { isolationLevel: \"Serializable\" });\n\npipe(myEffect, withSerializable);\n```\n\nAvailable transaction options:\n- `isolationLevel`: `\"ReadUncommitted\" | \"ReadCommitted\" | \"RepeatableRead\" | \"Serializable\"`\n- `maxWait`: Maximum time (ms) Prisma Client will wait to acquire a transaction\n- `timeout`: Maximum time (ms) the transaction can run before being canceled\n\n#### Transaction Rollback Behavior\n\n**Any uncaught error in the Effect error channel triggers a rollback:**\n\n```typescript\n// Rollback on Effect.fail()\nyield* prisma.$transaction(\n  Effect.gen(function* () {\n    yield* prisma.user.create({ data: { email: \"alice@example.com\" } });\n    yield* Effect.fail(\"Something went wrong\"); // Triggers rollback\n  }),\n);\n// User is NOT created\n\n// Rollback on Prisma errors (e.g., findUniqueOrThrow)\nyield* prisma.$transaction(\n  Effect.gen(function* () {\n    yield* prisma.user.create({ data: { email: \"bob@example.com\" } });\n    yield* prisma.user.findUniqueOrThrow({ where: { id: 999 } }); // Throws!\n  }),\n);\n// User is NOT created\n```\n\n**Catching errors prevents rollback:**\n\n```typescript\nyield* prisma.$transaction(\n  Effect.gen(function* () {\n    yield* prisma.user.create({ data: { email: \"alice@example.com\" } });\n\n    // Catch the error - transaction continues\n    yield* prisma.user\n      .findUniqueOrThrow({ where: { id: 999 } })\n      .pipe(Effect.catchAll(() => Effect.succeed(null)));\n\n    yield* prisma.user.create({ data: { email: \"bob@example.com\" } });\n  }),\n);\n// Both users ARE created\n```\n\n**Custom error types are preserved:**\n\n```typescript\nclass MyError extends Data.TaggedError(\"MyError\")<{ message: string }> {}\n\nconst error = yield* prisma\n  .$transaction(Effect.fail(new MyError({ message: \"oops\" })))\n  .pipe(Effect.flip);\n\nexpect(error).toBeInstanceOf(MyError); // Type is preserved!\n```\n\n### Nested Transactions\n\nNested `$transaction` calls share the **same underlying database transaction**. There are no savepoints - all operations run in a single transaction that commits or rolls back together.\n\n```typescript\nyield* prisma.$transaction(\n  Effect.gen(function* () {\n    yield* prisma.user.create({ data: { name: \"Outer\" } });\n\n    yield* prisma.$transaction(\n      Effect.gen(function* () {\n        yield* prisma.user.create({ data: { name: \"Inner\" } });\n      }),\n    );\n\n    yield* Effect.fail(\"Outer failure\");\n  }),\n);\n// BOTH users are rolled back\n```\n\n#### Key Behaviors\n\n| Scenario | Result |\n|----------|--------|\n| Both succeed | All committed |\n| Inner fails (uncaught) | All rollback |\n| Inner succeeds, outer fails | All rollback |\n| Inner fails (caught), outer succeeds | **All committed** (including inner's data!) |\n\n> **Important:** When you catch an inner transaction's error, its writes are NOT rolled back because there are no savepoints. All operations share the same database transaction.\n\n#### Composable Service Functions\n\nFunctions that use `$transaction` internally work seamlessly when called from an outer transaction:\n\n```typescript\n// Service function with its own transaction\nconst UserService = {\n  createWithProfile: (email: string) =>\n    Effect.gen(function* () {\n      const prisma = yield* Prisma;\n      return yield* prisma.$transaction(\n        Effect.gen(function* () {\n          const user = yield* prisma.user.create({ data: { email } });\n          yield* prisma.profile.create({ data: { userId: user.id } });\n          return user;\n        }),\n      );\n    }),\n};\n\n// Called standalone - creates its own transaction\nyield* UserService.createWithProfile(\"alice@example.com\");\n\n// Called inside outer transaction - joins it\nyield* prisma.$transaction(\n  Effect.gen(function* () {\n    yield* UserService.createWithProfile(\"alice@example.com\");\n    yield* UserService.createWithProfile(\"bob@example.com\");\n    // If anything fails, both users are rolled back\n  }),\n);\n```\n\nThis pattern allows you to:\n1. Write self-contained service functions that are safe to call standalone\n2. Compose them in outer transactions for end-to-end atomicity\n3. Functions don't need to know if they're inside another transaction\n\n### Building Effect Services with Prisma\n\nYou can build layered Effect services that wrap `Prisma`. Transactions work correctly through any level of service composition.\n\n```typescript\n// Level 1: Repository layer\nclass UserRepo extends Effect.Service<UserRepo>()(\"UserRepo\", {\n  effect: Effect.gen(function* () {\n    const db = yield* Prisma;\n    return {\n      create: (email: string, name: string) =>\n        db.user.create({ data: { email, name } }),\n      findById: (id: number) =>\n        db.user.findUnique({ where: { id } }),\n    };\n  }),\n}) {}\n\nclass PostRepo extends Effect.Service<PostRepo>()(\"PostRepo\", {\n  effect: Effect.gen(function* () {\n    const db = yield* Prisma;\n    return {\n      create: (title: string, authorId: number) =>\n        db.post.create({ data: { title, authorId } }),\n    };\n  }),\n}) {}\n\n// Level 2: Domain service composing repositories\nclass BlogService extends Effect.Service<BlogService>()(\"BlogService\", {\n  effect: Effect.gen(function* () {\n    const users = yield* UserRepo;\n    const posts = yield* PostRepo;\n    const db = yield* Prisma;\n\n    return {\n      createAuthorWithPost: (email: string, name: string, title: string) =>\n        db.$transaction(\n          Effect.gen(function* () {\n            const user = yield* users.create(email, name);\n            const post = yield* posts.create(title, user.id);\n            return { user, post };\n          }),\n        ),\n    };\n  }),\n}) {}\n\n// Wire up the layers\nconst RepoLayer = Layer.merge(UserRepo.Default, PostRepo.Default).pipe(\n  Layer.provide(Prisma.Live),\n);\nconst ServiceLayer = BlogService.Default.pipe(\n  Layer.provide(RepoLayer),\n  Layer.provide(Prisma.Live),\n);\n\n// Use it\nconst program = Effect.gen(function* () {\n  const blog = yield* BlogService;\n  return yield* blog.createAuthorWithPost(\"alice@example.com\", \"Alice\", \"Hello World\");\n});\n\nEffect.runPromise(program.pipe(Effect.provide(ServiceLayer)));\n```\n\n#### Why This Works\n\nYou might wonder: if `Prisma` is captured at layer construction time, how do transactions work?\n\nThe key is **deferred execution**. When you call `db.user.create({ data })`, it doesn't execute immediately—it returns an **Effect** that describes what to do:\n\n```typescript\n// Generated code (simplified)\nuser: {\n  create: (args) => Effect.flatMap(PrismaClient, ({ tx: client }) =>\n    Effect.tryPromise({ try: () => client.user.create(args), ... })\n  )\n}\n```\n\nThe `Effect.flatMap(PrismaClient, ...)` defers the lookup of `PrismaClient` until the Effect actually runs. When `$transaction` executes an inner effect, it provides a new `PrismaClient` with the transaction client:\n\n```typescript\n// Inside $transaction (simplified)\neffect.pipe(Effect.provideService(PrismaClient, { tx: transactionClient, client }))\n```\n\nSo even though you capture `db` (the `Prisma` service) at layer construction, the actual database client lookup happens at execution time—inside the transaction scope.\n\nThis means:\n- ✅ Services can store references to `Prisma` at construction\n- ✅ Services can store effect-returning methods (e.g., `const createUser = db.user.create`)\n- ✅ Transactions work correctly through any number of service layers\n- ✅ Nested `$transaction` calls properly join the outer transaction\n\n### Resource Management\n\nThe `PrismaClient.layer` function uses `Layer.scoped` with a finalizer to ensure the PrismaClient is properly disconnected when the layer scope ends:\n\n```typescript\n// Generated code (simplified)\nexport class PrismaClient extends Context.Tag(\"PrismaClient\")<...>() {\n  static layer = <T extends ConstructorParameters<typeof BasePrismaClient>[0]>(options: T) =>\n    Layer.scoped(\n      PrismaClient,\n      Effect.gen(function* () {\n        const prisma = new BasePrismaClient(options)\n        yield* Effect.addFinalizer(() => Effect.promise(() => prisma.$disconnect()))\n        return { tx: prisma, client: prisma }\n      })\n    )\n}\n```\n\nThis means:\n- The connection is automatically cleaned up when the program completes\n- The connection is cleaned up even if the program fails\n- Each scoped usage gets its own PrismaClient instance\n\n```typescript\n// Connection is automatically managed\nconst program = Effect.gen(function* () {\n  const prisma = yield* Prisma;\n  yield* prisma.user.findMany();\n  // ... more operations\n});\n\n// $disconnect is called automatically when this completes\nawait Effect.runPromise(\n  program.pipe(\n    Effect.provide(Prisma.Live),\n    Effect.scoped,\n  )\n);\n```\n\nFor long-running applications (like servers), you typically provide the layer once at startup and it stays connected for the lifetime of the application.\n\n## Migration from v0.x\n\nIf you're upgrading from an earlier version, the old API is still available but deprecated:\n\n| Old API (deprecated) | New API |\n|---------------------|---------|\n| `PrismaService` | `Prisma` |\n| `PrismaClientService` | `PrismaClient` |\n| `makePrismaLayer(opts)` | `PrismaClient.layer(opts)` |\n| `makePrismaLayerEffect(effect)` | `PrismaClient.layerEffect(effect)` |\n| `LivePrismaLayer` | `PrismaClient.Default` |\n| `Layer.merge(LivePrismaLayer, PrismaService.Default)` | `Prisma.Live` |\n\nThe deprecated names will be removed in the next major version.\n","readmeFilename":"README.md"}