{"_id":"@next-safe-action/adapter-better-auth","_rev":"9-154e7fbabf7c9fdf21d5c665a01dcb9a","name":"@next-safe-action/adapter-better-auth","dist-tags":{"latest":"0.1.7"},"versions":{"0.0.0":{"name":"@next-safe-action/adapter-better-auth","version":"0.0.0","keywords":[],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.0.0","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"dist":{"shasum":"81f9822570d126b14630a5933d6a7a3f85b026b2","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.0.0.tgz","fileCount":2,"integrity":"sha512-VgSk646tkAdcyVbO8d5xl95oag8swRLLkpF97MKCcEnyKxsviAjSepP4S5j7bfO5SaV4YIgm/dxj06/SFT0hMw==","signatures":[{"sig":"MEQCICT+R0eEjm+D/OkKu2sSbhugE0q0s9L6CwWTMVSTqlcPAiBsDvnMmyQDv5D625E6yiMdi26XrAdj4zqoezYIMFsUUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":324},"main":"index.js","private":false,"scripts":{},"_npmUser":{"name":"theedoran","email":"edoardo@ranghieri.com"},"_npmVersion":"11.8.0","description":"wip","directories":{},"_nodeVersion":"24.13.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.33.0","_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.0.0_1775399060642_0.9357589835054483","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.0","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.0","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"b1f13a012bf384bf3d3fa6a4d334677b757557da","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.0.tgz","fileCount":6,"integrity":"sha512-z0BE+ujCNLnEptfSbGq7KA85/5ZJ4vghUgjJbuTRtFdp4UZaPnxxbeKWHdnPNbViLn0HiPGDorVVO0kO7luDXw==","signatures":[{"sig":"MEUCIGHe7mDJlRp6/F7XOSSSrGQh5nMBTYfQBQyGOV6Qd1rXAiEA63mYhYvzFYce7DRMZxktOvZx8ReCqNz3smhEBMPD6GU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13924},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.0.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/ba23bb4938a1a2dfc486cfcd0692b7e8/next-safe-action-adapter-better-auth-0.1.0.tgz","_integrity":"sha512-z0BE+ujCNLnEptfSbGq7KA85/5ZJ4vghUgjJbuTRtFdp4UZaPnxxbeKWHdnPNbViLn0HiPGDorVVO0kO7luDXw==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16","oxlint":"^1.57.0","tsdown":"^0.21.0","vitest":"^3.1.1","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.5.6","oxlint-tsgolint":"^0.15.0","next-safe-action":"8.4.0"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.0_1775410910753_0.19667689435974722","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.1","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.1","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"59448fce42d11cf1dceb6d7ca0b6dfa1c2dcb513","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.1.tgz","fileCount":6,"integrity":"sha512-kLqES3JaZKq7Y1Lvx5nf53iFgMmit8l58fBI02DXcYJpbbosNDIWcETD9NThx3ZEfAe8Lbj6KAdrH2gOnYKiYQ==","signatures":[{"sig":"MEQCIDcJ/guykdBV8UMtxhDQJlMhmtQqmfYkShna98VduR2dAiAHvs8A45rxjejbY25p73ipR7saU6CfWdU3NBDoRoxeEA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14162},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.1.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/a8d85852e49f8af57e3456a1052ea0e5/next-safe-action-adapter-better-auth-0.1.1.tgz","_integrity":"sha512-kLqES3JaZKq7Y1Lvx5nf53iFgMmit8l58fBI02DXcYJpbbosNDIWcETD9NThx3ZEfAe8Lbj6KAdrH2gOnYKiYQ==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16","oxlint":"^1.57.0","tsdown":"^0.21.0","vitest":"^3.1.1","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.5.6","oxlint-tsgolint":"^0.15.0","next-safe-action":"8.4.0"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.1_1775417408785_0.1467831945331206","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.2","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.2","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"729fa90e4974cea8f73b729c93dff880fe793d8b","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.2.tgz","fileCount":6,"integrity":"sha512-Pzb6twtS14zolJzRpKrJqVMJWuXy5Y8Ixi3mHKdTQCIJw5ZHAZOwYnzk2Hy1twUUqy2MkCpoL2ucQusA7JAGvw==","signatures":[{"sig":"MEYCIQCGM3TI1sgy8XDlp2FmfPk6FVq6vKLM83VVmRG+T9UR/AIhAM1RbKm9IciEVN8oIWPbfbu0OBUG4EGMHMOoH8R5c2ge","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13861},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.2.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/75418bb60ee94d7a3fd82160a738ac6c/next-safe-action-adapter-better-auth-0.1.2.tgz","_integrity":"sha512-Pzb6twtS14zolJzRpKrJqVMJWuXy5Y8Ixi3mHKdTQCIJw5ZHAZOwYnzk2Hy1twUUqy2MkCpoL2ucQusA7JAGvw==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16","oxlint":"^1.57.0","tsdown":"^0.21.0","vitest":"^3.1.1","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.5.6","oxlint-tsgolint":"^0.15.0","next-safe-action":"8.4.0"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.2_1775420657161_0.02427500535515814","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.3","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.3","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"aaa3eae674979005bc1908fb615656c90cd9794b","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.3.tgz","fileCount":6,"integrity":"sha512-a2g0vit2F9hzZ24NE4tZ3coSEDimwhORoBjnE3yT+2lBULjKfmtbbe71SLIgINPOlsOFXsXKwwK6iXSMUbCMHA==","signatures":[{"sig":"MEUCIDNlHk0oU9bM2XujQnsjwemai49hJt0320y+n9K+iznZAiEAhmQXNzXF//bFUkGmVT8Urn4ijEg9cr+4zJdelhdc5DY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13789},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.3.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/2f1168cdd471727c66752f14ac570e77/next-safe-action-adapter-better-auth-0.1.3.tgz","_integrity":"sha512-a2g0vit2F9hzZ24NE4tZ3coSEDimwhORoBjnE3yT+2lBULjKfmtbbe71SLIgINPOlsOFXsXKwwK6iXSMUbCMHA==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16","oxlint":"^1.57.0","tsdown":"^0.21.0","vitest":"^3.1.1","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.5.6","oxlint-tsgolint":"^0.15.0","next-safe-action":"8.4.0"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.3_1775422101811_0.8641951599598863","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.4","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.4","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"f35beb33f71a6179175cb032119fc843a3c7f107","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.4.tgz","fileCount":6,"integrity":"sha512-y2o2EkkpcUFVi+mMzCOCJHuWixQx5L2QbOa3XJygVlYyADYvwDrH5yKUBvZpv2BoUxKte9M4zgi65L9CwcQE0A==","signatures":[{"sig":"MEUCIQD8EoDaNdTurnhJSO/8TAyeOFlYvQ6/EjikSasD2a5+tQIgZyrFBNaKHv/gINij7DQVB7zBsVsw2wL4vTzRqnvVypA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13876},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.4.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/ea309ca673815d50526e41ecb1de5aee/next-safe-action-adapter-better-auth-0.1.4.tgz","_integrity":"sha512-y2o2EkkpcUFVi+mMzCOCJHuWixQx5L2QbOa3XJygVlYyADYvwDrH5yKUBvZpv2BoUxKte9M4zgi65L9CwcQE0A==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16","oxlint":"^1.57.0","tsdown":"^0.21.0","vitest":"^3.1.1","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.6.0","oxlint-tsgolint":"^0.15.0","next-safe-action":"8.4.0"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.4_1775550136763_0.0622580197707161","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.5","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.5","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"66f680086dcec8bd59917e7802a189162cc3b3cd","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.5.tgz","fileCount":6,"integrity":"sha512-egA7zjNeal51m3Epnr1L+riwNEoFMMGQzajjgZ8Uo79q117vDaTbpp+ERoYmLu3XjEabUAz1O4nnruBlnZ+vaA==","signatures":[{"sig":"MEQCICetE31fv0g2rXAjnvIHQ3ND8WXDiSXSziwqhTmi129DAiAKq+AewUJfl7yYQHfzEaiPZaXjiOEqLxCZkpvBh0gABg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":13834},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.5.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/438bb9e77572ba87458497f0f63374e0/next-safe-action-adapter-better-auth-0.1.5.tgz","_integrity":"sha512-egA7zjNeal51m3Epnr1L+riwNEoFMMGQzajjgZ8Uo79q117vDaTbpp+ERoYmLu3XjEabUAz1O4nnruBlnZ+vaA==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16","oxlint":"^1.57.0","tsdown":"^0.21.0","vitest":"^3.1.1","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.6.0","oxlint-tsgolint":"^0.15.0","next-safe-action":"8.4.0"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.5_1775640389804_0.1871191314555416","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.6","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":{"name":"Edoardo Ranghieri"},"license":"MIT","_id":"@next-safe-action/adapter-better-auth@0.1.6","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"homepage":"https://github.com/next-safe-action/next-safe-action#readme","bugs":{"url":"https://github.com/next-safe-action/next-safe-action/issues"},"dist":{"shasum":"7c6b0e8ea07a501f23f1208088a399e8643303c8","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.6.tgz","fileCount":6,"integrity":"sha512-fvfUR+tUO1Gl+Qki5KfPCbqBP8Oolj/Iim0pntVMezcChz3ygJybbTNdcmHvcxgJTbGAQjYaW+PrWpp5FqjJOA==","signatures":[{"sig":"MEQCIE4vHjgZ1r3jJ3Erb/7QgGL/0KIPTSSuhklCp9qgO5erAiBUE9P64uiP3Py2vODkQpQM/mfPWb3CEurQxm8o57nS6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":14036},"main":"./dist/index.mjs","_from":"file:next-safe-action-adapter-better-auth-0.1.6.tgz","types":"./dist/index.d.mts","module":"./dist/index.mjs","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"funding":[{"url":"https://github.com/sponsors/TheEdoRan","type":"github"},{"url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW","type":"paypal"}],"private":false,"scripts":{"lint":"tsc --noEmit && oxlint --type-aware .","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"_resolved":"/tmp/e84c91eeb843c0d113e84f76c71ca9d3/next-safe-action-adapter-better-auth-0.1.6.tgz","_integrity":"sha512-fvfUR+tUO1Gl+Qki5KfPCbqBP8Oolj/Iim0pntVMezcChz3ygJybbTNdcmHvcxgJTbGAQjYaW+PrWpp5FqjJOA==","repository":{"url":"git+https://github.com/next-safe-action/next-safe-action.git","type":"git","directory":"packages/adapter-better-auth"},"_npmVersion":"11.11.0","description":"Better Auth adapter for next-safe-action.","directories":{},"_nodeVersion":"24.14.1","publishConfig":{"access":"public"},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"_hasShrinkwrap":false,"devDependencies":{"zod":"^4.3.6","next":"^16.2.3","oxlint":"^1.60.0","tsdown":"^0.21.0","vitest":"^4.1.4","typescript":"^6.0.2","@types/node":"^24","better-auth":"^1.6.0","oxlint-tsgolint":"^0.20.0","next-safe-action":"8.5.2"},"peerDependencies":{"next":">= 15.1.0","better-auth":">= 1.5.0","next-safe-action":">= 8.4.0"},"_npmOperationalInternal":{"tmp":"tmp/adapter-better-auth_0.1.6_1776092812077_0.5357281645195902","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@next-safe-action/adapter-better-auth","version":"0.1.7","private":false,"description":"Better Auth adapter for next-safe-action.","main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"}},"typesVersions":{"*":{".":["./dist/index.d.mts"]}},"funding":[{"type":"github","url":"https://github.com/sponsors/TheEdoRan"},{"type":"paypal","url":"https://www.paypal.com/donate/?hosted_button_id=ES9JRPSC66XKW"}],"keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"author":"Edoardo Ranghieri","license":"MIT","devDependencies":{"@types/node":"^24","better-auth":"^1.6.26","next":"^16.3.1","next-safe-action":"8.7.1","oxlint":"1.74.0","oxlint-tsgolint":"^0.25.0","tsdown":"^0.22.14","typescript":"^6.0.3","vitest":"^4.1.10","zod":"^4.4.3"},"peerDependencies":{"better-auth":">= 1.5.0","next":">= 15.1.0","next-safe-action":">= 8.4.0"},"engines":{"node":">=18.17"},"repository":{"type":"git","url":"https://github.com/next-safe-action/next-safe-action.git","directory":"packages/adapter-better-auth"},"publishConfig":{"access":"public"},"scripts":{"test":"vitest run","lint":"tsc --noEmit && oxlint --type-aware .","build":"tsdown"},"_nodeVersion":"24.20.0","_id":"@next-safe-action/adapter-better-auth@0.1.7","dist":{"integrity":"sha512-WNcv3eO0Zhgajv6Zl2ug9CffW0Q8NvXHQlyO1l61AA5LXQ8ZPwgUA0w5cnzxK2SdvZzNsxPDqTExDjg7WTIOVQ==","shasum":"9735547d0c2162a2583f5664dcac11bb4b3b988e","tarball":"https://registry.npmjs.org/@next-safe-action/adapter-better-auth/-/adapter-better-auth-0.1.7.tgz","fileCount":6,"unpackedSize":14046,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@next-safe-action%2fadapter-better-auth@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCqv/s649wi4I285l6/PeJN+q9QuIuZNZl4DDb1HI8W/wIgGQoWTrYuXatWSuoACqNsETIjHwNrI+w6wOJPnHwBke0="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:e213d187-b2d5-49fc-9a52-d08faa9ec827"}},"directories":{},"maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adapter-better-auth_0.1.7_1788453343418_0.339858088242567"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T14:24:20.561Z","modified":"2026-09-03T16:35:43.886Z","0.0.0":"2026-04-05T14:24:20.789Z","0.1.0":"2026-04-05T17:41:50.908Z","0.1.1":"2026-04-05T19:30:08.919Z","0.1.2":"2026-04-05T20:24:17.293Z","0.1.3":"2026-04-05T20:48:21.956Z","0.1.4":"2026-04-07T08:22:16.897Z","0.1.5":"2026-04-08T09:26:29.933Z","0.1.6":"2026-04-13T15:06:52.231Z","0.1.7":"2026-09-03T16:35:43.565Z"},"author":"Edoardo Ranghieri","license":"MIT","keywords":["next","nextjs","react","rsc","react server components","mutation","action","actions","react actions","next actions","server actions","next-safe-action","next safe action","better-auth","better auth","auth","authentication"],"repository":{"type":"git","url":"https://github.com/next-safe-action/next-safe-action.git","directory":"packages/adapter-better-auth"},"description":"Better Auth adapter for next-safe-action.","maintainers":[{"name":"theedoran","email":"edoardo@ranghieri.com"}],"readme":"<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/next-safe-action/next-safe-action/main/assets/logo.png\" alt=\"next-safe-action logo\" width=\"36\" height=\"36\">\n  <a href=\"https://github.com/next-safe-action/next-safe-action/packages/adapter-better-auth\"><h1>adapter-better-auth</h1></a>\n</div>\n\nThis adapter offers a way to seamlessly integrate [next-safe-action](https://github.com/next-safe-action/next-safe-action) with [Better Auth](https://www.better-auth.com). It provides a `betterAuth()` function that fetches the session, blocks unauthenticated requests, and injects fully-typed `{ user, session }` data into the action context.\n\n## Requirements\n\n- Next.js >= `15.1.0`\n- next-safe-action >= `8.4.0`\n- better-auth >= `1.5.0`\n\n## Installation\n\n```sh\nnpm i next-safe-action better-auth @next-safe-action/adapter-better-auth\n```\n\n## Quick start\n\n### 1. Set up Better Auth\n\nCreate your Better Auth server instance:\n\n```ts\n// src/lib/auth.ts\nimport { betterAuth } from \"better-auth\";\n\nexport const auth = betterAuth({\n\t// ...your config (database, plugins, etc.)\n});\n```\n\n### 2. Create an authenticated action client\n\n```ts\n// src/lib/safe-action.ts\nimport { createSafeActionClient } from \"next-safe-action\";\nimport { betterAuth } from \"@next-safe-action/adapter-better-auth\";\nimport { auth } from \"./auth\";\n\nexport const actionClient = createSafeActionClient();\n\nexport const authClient = actionClient.use(betterAuth(auth));\n```\n\n### 3. Use it in your actions\n\n```ts\n// src/app/actions.ts\n\"use server\";\n\nimport { z } from \"zod\";\nimport { authClient } from \"@/lib/safe-action\";\n\nexport const updateProfile = authClient\n\t.inputSchema(z.object({ name: z.string().min(1) }))\n\t.action(async ({ parsedInput, ctx }) => {\n\t\t// ctx.auth.user and ctx.auth.session are fully typed\n\t\tconst userId = ctx.auth.user.id;\n\n\t\tawait db.user.update({\n\t\t\twhere: { id: userId },\n\t\t\tdata: { name: parsedInput.name },\n\t\t});\n\n\t\treturn { success: true };\n\t});\n```\n\n## How it works\n\n`betterAuth()` creates a pre-validation middleware for the safe action client's `.use()` chain:\n\n1. **Fetches the session** by calling `auth.api.getSession({ headers: await headers() })`\n2. **Blocks unauthenticated requests** by calling `unauthorized()` from `next/navigation` when no session exists\n3. **Injects typed context** by passing `{ auth: { user, session } }` to `next()`, merging it into the action context\n\n### `unauthorized()` and auth interrupts\n\nThe default behavior uses `unauthorized()` from `next/navigation`, which requires `experimental.authInterrupts` in your Next.js configuration:\n\n```ts\n// next.config.ts\nimport type { NextConfig } from \"next\";\n\nconst nextConfig: NextConfig = {\n\texperimental: {\n\t\tauthInterrupts: true,\n\t},\n};\n\nexport default nextConfig;\n```\n\n## Custom authorization\n\nPass an `authorize` callback to customize the authorization flow. The session is pre-fetched and passed to the callback:\n\n```ts\nimport { unauthorized } from \"next/navigation\";\nimport { betterAuth } from \"@next-safe-action/adapter-better-auth\";\nimport { auth } from \"./auth\";\n\n// Role-based access\nexport const adminClient = actionClient.use(\n\tbetterAuth(auth, {\n\t\tauthorize: ({ authData, next }) => {\n\t\t\tif (!authData || authData.user.role !== \"admin\") {\n\t\t\t\tunauthorized();\n\t\t\t}\n\t\t\treturn next({ ctx: { auth: authData } });\n\t\t},\n\t})\n);\n```\n\n### `authorize` callback parameters\n\n- `authData`: the pre-fetched session data (`{ user, session } | null`)\n- `ctx`: the current action context from preceding middleware\n- `next`: call this to continue the middleware chain, pass `{ ctx }` to inject context\n\n## Server Action cookies\n\nIf your actions call Better Auth functions that set cookies (e.g. `signInEmail`, `signUpEmail`), add the `nextCookies()` plugin to your Better Auth instance. Refer to the [Better Auth documentation](https://better-auth.com/docs/integrations/next#server-action-cookies) for more details.\n\n```ts\n// src/lib/auth.ts\nimport { betterAuth } from \"better-auth\";\nimport { nextCookies } from \"better-auth/next-js\";\n\nexport const auth = betterAuth({\n\t// ...your config\n\tplugins: [\n\t\t// ...other plugins\n\t\tnextCookies(), // must be the last plugin in the array\n\t],\n});\n```\n\n## API reference\n\n### `betterAuth(auth, opts?)`\n\nCreates a middleware function for use with the safe action client's `.use()` method.\n\n**Parameters:**\n\n- `auth`: the Better Auth server instance (return value of `betterAuth()`)\n- `opts?`: optional object with an `authorize` callback for custom authorization logic\n\n**Returns:** a middleware function compatible with `.use()`\n\n### Exported types\n\n- `BetterAuthContext<Options>`: the context shape added by the middleware (`{ auth: { user, session } }`)\n- `AuthorizeFn<Options, NextCtx>`: the `authorize` callback signature\n- `BetterAuthOpts<Options, NextCtx>`: the options object type for `betterAuth`\n\n## Documentation\n\nFor full documentation, visit [next-safe-action.dev/docs/integrations/better-auth](https://next-safe-action.dev/docs/integrations/better-auth).\n\n## Preview releases powered by [pkg.pr.new](https://pkg.pr.new)\n\n[![pkg.pr.new](https://pkg.pr.new/badge/next-safe-action/next-safe-action)](https://pkg.pr.new/~/next-safe-action/next-safe-action)\n\n## License\n\nMIT\n","readmeFilename":""}