{"_id":"@dreamtree-org/rbac-authz","_rev":"15-06e09e59a9a4972f3c1a398a2c39d6a6","name":"@dreamtree-org/rbac-authz","dist-tags":{"alpha":"0.2.1-alpha","latest":"1.1.0-alpha"},"versions":{"0.1.0-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.1.0-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.1.0-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"28c0a3dd320ea0e302da947ed987e4114ba008b4","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.1.0-alpha.tgz","fileCount":75,"integrity":"sha512-bVK3s2y8sU9UXNDRhny9svk0i36ZhURdUK2Pk8pSt1gzd8fjBhZ2eYCSDq8wkfqvZBR63wF0TNexk9xewc+erA==","signatures":[{"sig":"MEUCIQDZxxvEsFIpAagVfCutTcRra5I42HrSjzD+vFvME5QS9AIgFAa5WWOjABRxp8i6/i/ZJREY5CQ+Be8oNiZnPZVUauo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231285},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"7ad9fe348429a5f25019217197d6328a78d1af83","scripts":{"build":"node build.js"},"_npmUser":{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.1.0-alpha_1782926385260_0.4162319475208973","host":"s3://npm-registry-packages-npm-production"}},"0.1.1-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.1.1-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.1.1-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"fecc898a778b2d58c030dd7dd20776751acfc08c","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.1.1-alpha.tgz","fileCount":75,"integrity":"sha512-K20FNlvFAzx3J7Dx39wPH9d8JmN2YM+HvmO5pYiu8z5FWrDh2Xy9R+GDpKCGbgJKLJBlpWuXd4LrV7c2UGRnTQ==","signatures":[{"sig":"MEUCIF86ut3yCTXUrJhhT1k8HrIob6D+AR0MU2b83oZFAVFVAiEAw1Rj5tfys0QtbC4oaVY6k4+OfDu8ueDjrWp35ZSinwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231315},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"7ad9fe348429a5f25019217197d6328a78d1af83","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.1.1-alpha_1782926858419_0.037564313180212805","host":"s3://npm-registry-packages-npm-production"}},"0.1.3-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.1.3-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.1.3-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"d8d72c504ff0868994436815ad627152524225ee","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.1.3-alpha.tgz","fileCount":91,"integrity":"sha512-79RAOe0hU6YUKCDcJ2sd2WhF+rLz6ypZAsLRahviipSmhZNTo+/S4iFfSgIb702eKvaSuXiskGXOzzEA5cNHqQ==","signatures":[{"sig":"MEYCIQCX70fsUbhByHgWuBfFYujV8H0xyRIi66+kwISOYQN3OAIhAPl9IrjqflBoa/nOQvGgVO1xWQcqEJzneQ4iX/+qqpU5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":265444},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"9e17431fecceb6e0261e5b44c12bbb42b6ecd2d7","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.1.3-alpha_1782981080999_0.994067904547733","host":"s3://npm-registry-packages-npm-production"}},"0.1.4-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.1.4-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.1.4-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"9a05c2822bfe5476ccab58c17b1e978404f2bd01","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.1.4-alpha.tgz","fileCount":91,"integrity":"sha512-rLAJyLAA42/rSC4iLltYGcZUlKoeY4zPA3vhpnhBLzSB/h+wnhvV4d2xHNjKKREezemxzvhW7iBE29uC/7JVfQ==","signatures":[{"sig":"MEQCIDe/cHTk36ROk1FHEwVKLCpM7DyPwHZbHo8L1yTNflUNAiBNYKXsDGOUJxMuvIb4AdX/Rf1XMT8FGN2i4/CK4ugKNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270080},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"996c57d1e352c395fc286862b9027a0610e4b628","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.0","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.1.4-alpha_1782986112924_0.9007617457030406","host":"s3://npm-registry-packages-npm-production"}},"0.2.0-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.2.0-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.2.0-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"bb7d367481fa88c52cd648efe8a974ca34049e9f","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.2.0-alpha.tgz","fileCount":111,"integrity":"sha512-IXSNfCBG5gcM8t0WpaMrI0uqOBv9lpog8wZsvgLWZNMi/xIZ9NDkiwanSjhUIJuCJOR/FnuL0jtRzwVoFi3frw==","signatures":[{"sig":"MEUCIAfngnprzZFdCz5dURJ7COGXAM8EhQfTTJIZXZZhszDbAiEA6SLw72aPuxzv4xvxPhIE7i9soPkO1y8IFf6Np2f8uNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365332},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"8da3ae731ad99b8d8a3281ccf7d6858f7684ba16","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.2.0-alpha_1783066038718_0.23378461704500908","host":"s3://npm-registry-packages-npm-production"}},"0.2.1-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.2.1-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.2.1-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"ee17077b3f46cbea293193a9e4bbfd5fc0336d76","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.2.1-alpha.tgz","fileCount":111,"integrity":"sha512-G2W9yQS513vjz1CH6oQFoIXm3xJHrJfjNgsyJhwVbuoaXM0p+4eZGBXIS7aVpYovfPRflGN6EYL576XU3Yj9aA==","signatures":[{"sig":"MEUCIQCTexyKhMBtAf3Vve26/UAMYIwlaJs2I5qDDkbdlDuXgwIgdyPq56Uuokwu3h7DjlCvrvsY3anoE2EZ0Ns2ZcfnR2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365332},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"dafe8c5a75e73b3970395feeafb7e025e9e4189f","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.2.1-alpha_1783068400924_0.7411556722248969","host":"s3://npm-registry-packages-npm-production"}},"0.2.2-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.2.2-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.2.2-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"3d36986109b175ba0118524710fc9c4fe572f8e8","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.2.2-alpha.tgz","fileCount":111,"integrity":"sha512-yg+CmGpfXEhw6ZkSBrIDsFNSXOU5NDyTkk3p1sszNc/N08xo2p2mlQvBI2sS9jLzmArZ7PlQ778qL3STziCv+w==","signatures":[{"sig":"MEUCIQDdMl0f/bmkuiD2uweBHRiCMM3cM7uo5GYuG1xP3ahdXgIgAeMMqJtDNwpAgVxk4H2jqrOmysIc2LcM4UGIgVX64vw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365332},"main":"./dist/core/index.js","type":"module","types":"./dist/core/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/core/index.d.ts","default":"./dist/core/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"51ee7c2b2a771e8ee1d532caacf080e0d8366bf8","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.2.2-alpha_1783068637235_0.38502550519771606","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.3.0-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.3.0-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"7c457e3a69fd999399d09c5f4d43ba55a1631616","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.3.0-alpha.tgz","fileCount":116,"integrity":"sha512-xNYaHxtgUlVSiqtPzT1+WDzJt+2E44bfRMQcHPlYL4j+UYayt6c6ZcKP4zMmGb2pEzK2SvyvU/28bUL+r4z//g==","signatures":[{"sig":"MEUCICaz5Mzx4TZOBmkdOdOCRIXKj+sEnRRkrDRNX8kdOSYyAiEAwkonOJgo74oZ+mLIzCf3f8kfgFzttvsUym1ckROWzSU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":374115},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"01da401bb2d6079b9f0a8303c47c18a960b59873","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.3.0-alpha_1783072010414_0.8042054420974143","host":"s3://npm-registry-packages-npm-production"}},"0.4.0-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.4.0-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.4.0-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"2aaa1b6535e0f00bdebcaf7dec0913a6a1d47639","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.4.0-alpha.tgz","fileCount":119,"integrity":"sha512-EV+6vVHmHEiiuK4SL49TE4ooncYUSPPB5NIPSRx72jTclcEBEEwKGHRgw6r8PLeHctfUPk2/GvFuSsR1azZO2A==","signatures":[{"sig":"MEYCIQD0BdqGKrudq6cFur++epe2+Ux1oltFfb6tnisxpFIrDgIhAN5J5bDkoPsiz4RfiEvTB3gFN2o49usAezayrm7lWMxH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389247},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"883a87cc00a539c41e52f7cb9977e36253a32751","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.4.0-alpha_1783074689900_0.35494990221623124","host":"s3://npm-registry-packages-npm-production"}},"0.4.1-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.4.1-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.4.1-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"0a87f28dd0b4cd9099b4d3cc45d7b4ee3dc9556e","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.4.1-alpha.tgz","fileCount":143,"integrity":"sha512-t1hU2lXzfcsJkOGweMAorOOOC83YAfzRFq32oE9xJ/uZ3TPDawma3iYtwJ1/Hrl0yFrKxXSZT7dydgpbjzMoMw==","signatures":[{"sig":"MEUCIELQSff0vb3qWFkDWaSWR7v96ky5RoSjv+DrflXk3pbvAiEA+v6c8fAXm4d+clo6xHaySX+hoG7rzcQDzDZqBbPmh4Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":432421},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"59a9aa42cbbd5136d8a52d5079c8dd279c2efbfd","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.4.1-alpha_1783414693110_0.3390420998129229","host":"s3://npm-registry-packages-npm-production"}},"0.4.2-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.4.2-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.4.2-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"57cd393aeef8b76db3b05da0e13c2b070506b6fb","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.4.2-alpha.tgz","fileCount":143,"integrity":"sha512-ZG9tu3ALT/AVX/NVQQ6p1p8OmruAHtgjOlcucS+hbl05YaVyy9az0MoOR0KTAEDxrnXOuPqDknhUlcB93/00PQ==","signatures":[{"sig":"MEYCIQCeJXYMeXAC3eYHyoqpwFybNWiVFM7cxxHVyERbt4e5GwIhAJLuGW77UhMRmbyxDtJoyg4TmU2ewlKx8iLbTlXxyp4j","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433607},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"8ceb79c94cc5c95f23045eeeae722166a8573a60","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.4.2-alpha_1783416989603_0.4863833390490879","host":"s3://npm-registry-packages-npm-production"}},"0.4.3-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.4.3-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.4.3-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"70b869eb080e720f21d3265a5178378cc1eb2a9f","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.4.3-alpha.tgz","fileCount":143,"integrity":"sha512-puWobR6/oJrkmgOwOa3yl57vJjI5OgxNfbP8TrPEdB6eLJGmW/dmjwoAUCp7aX/+W8rccjREwyK8S2I55XQB1A==","signatures":[{"sig":"MEQCIGgCKVoQhQfr2VbsGaLtrTew2y4yF5ZAphiVTGpZQqckAiAvAnO9JffJgpB1Srs+gDprhqQouuB1PtTuGMpsSfgrEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":433607},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"23f31e7a1640c077406b7c95312d411467d62c7b","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.4.3-alpha_1783422096644_0.2501522747605247","host":"s3://npm-registry-packages-npm-production"}},"0.4.4-alpha":{"name":"@dreamtree-org/rbac-authz","version":"0.4.4-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@0.4.4-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"22cd1135bf5c0be440b2749db4d57d75f7b2d80e","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-0.4.4-alpha.tgz","fileCount":158,"integrity":"sha512-pUrlpk6vyy942MHuqIzDCY5GW9mHYtqSOgmyPds9irhvv4f1+dlbHVPknQW6vHBGGPgVMaEVjPdr+vbo7FFHlQ==","signatures":[{"sig":"MEUCIQDfRmCGh6vB2Je8pLumet+gg/VVUTlaKxro0uUrX0B84wIgWh2OO3Sr11g2M06Wq0E8Pf2a8L0d7ffuK6n5z3thcaU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473662},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./migration":{"types":"./dist/migration/index.d.ts","default":"./dist/migration/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"}},"gitHead":"cabc2bd1684cff07bd49b889a0d09603248229ff","scripts":{"build":"node build.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"11.5.1","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","mysql2":"*","sqlite3":"*"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_0.4.4-alpha_1783832450965_0.6646114291643306","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha":{"name":"@dreamtree-org/rbac-authz","version":"1.0.0-alpha","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"author":{"name":"Partha Preetham Krishna"},"license":"MIT","_id":"@dreamtree-org/rbac-authz@1.0.0-alpha","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"dist":{"shasum":"ba43b89971d28f40abf7b7617d015d5d386f6fa8","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-1.0.0-alpha.tgz","fileCount":184,"integrity":"sha512-vSJ3tYHrs465y4YE0EEp6r5KFGy/9kBioTyNl88XWb9uxtlKKBctBbaw90+JUmZ7tCZwPL9Tk44pyyNHjCCwOQ==","signatures":[{"sig":"MEQCICYjO6njfb4oq5UZ9QlSh872vSnJRWxQ8rc8zV1NmzR5AiBee3yOEKuw7FF0Ct8CnrtgU9j1SfSXb/Zd/pbHBkQSuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":922012},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./react":{"types":"./dist/react-client/index.d.ts","default":"./dist/react-client/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","default":"./dist/admin-ui/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"},"./admin-ui/style.css":"./dist/admin-ui/style.css"},"gitHead":"2e33ae2d1c72caec8337f826683068c98ba4d6a8","scripts":{"build":"node build.js"},"_npmUser":{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"},"repository":{"url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git","type":"git"},"_npmVersion":"10.9.2","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","directories":{},"_nodeVersion":"22.15.0","dependencies":{"knex":"^3.3.0","@dreamtree-org/korm-js":"^1.1.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"pg":"*","react":">=18","mysql2":"*","sqlite3":"*","react-dom":">=18"},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"peerDependenciesMeta":{"pg":{"optional":true},"react":{"optional":true},"mysql2":{"optional":true},"sqlite3":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rbac-authz_1.0.0-alpha_1786377733130_0.8787309853201917","host":"s3://npm-registry-packages-npm-production"}},"1.1.0-alpha":{"name":"@dreamtree-org/rbac-authz","version":"1.1.0-alpha","description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./db-adapters":{"types":"./dist/db-adapters/index.d.ts","default":"./dist/db-adapters/index.js"},"./sdk":{"types":"./dist/sdk/index.d.ts","default":"./dist/sdk/index.js"},"./server":{"types":"./dist/server/server.d.ts","default":"./dist/server/server.js"},"./admin-ui":{"types":"./dist/admin-ui/index.d.ts","default":"./dist/admin-ui/index.js"},"./admin-ui/style.css":"./dist/admin-ui/style.css","./react":{"types":"./dist/react-client/index.d.ts","default":"./dist/react-client/index.js"}},"bin":{"rbac-authz":"dist/cli/rbac-authz.mjs","rbac-authz-api":"dist/server/cli.js"},"scripts":{"build":"node build.js"},"engines":{"node":">=22"},"license":"MIT","author":{"name":"Partha Preetham Krishna"},"repository":{"type":"git","url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git"},"bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"dependencies":{"@dreamtree-org/korm-js":"^1.1.3","knex":"^3.3.0"},"peerDependencies":{"mysql2":"*","pg":"*","sqlite3":"*","react":">=18","react-dom":">=18"},"peerDependenciesMeta":{"mysql2":{"optional":true},"pg":{"optional":true},"sqlite3":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true}},"optionalDependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"publishConfig":{"access":"public"},"_id":"@dreamtree-org/rbac-authz@1.1.0-alpha","gitHead":"9c4b4bc46ce40b644dcdf6b6a0298405d153c8d9","_nodeVersion":"22.23.1","_npmVersion":"11.5.1","dist":{"integrity":"sha512-2jmYJIKbgwGHXZhQN+a09GXY5wBiJWN0iTUvGvTlgGu3QnsP8FyQW1M+J4TjikM7ZpT17eyWh1s0FiLayZsJ9Q==","shasum":"8a3c6412978f6d69a164ce2fc2d4b58f91c994eb","tarball":"https://registry.npmjs.org/@dreamtree-org/rbac-authz/-/rbac-authz-1.1.0-alpha.tgz","fileCount":190,"unpackedSize":938305,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBxkJSofNO9PtsGwaJPNxeZxcWq5cz1RZAaRMv6eRbqIAiEAtxYYKzapVn20yFbghr/nAXJuOMXWUz2k4TobYKeAs/4="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:7dfe5fcb-875d-4817-8946-0e06de9091ac"}},"directories":{},"maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rbac-authz_1.1.0-alpha_1786446155208_0.7876787914123287"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-01T17:19:45.002Z","modified":"2026-08-11T11:02:35.559Z","0.1.0-alpha":"2026-07-01T17:19:45.450Z","0.1.1-alpha":"2026-07-01T17:27:38.577Z","0.1.3-alpha":"2026-07-02T08:31:21.136Z","0.1.4-alpha":"2026-07-02T09:55:13.047Z","0.2.0-alpha":"2026-07-03T08:07:18.851Z","0.2.1-alpha":"2026-07-03T08:46:41.058Z","0.2.2-alpha":"2026-07-03T08:50:37.389Z","0.3.0-alpha":"2026-07-03T09:46:50.558Z","0.4.0-alpha":"2026-07-03T10:31:30.057Z","0.4.1-alpha":"2026-07-07T08:58:13.282Z","0.4.2-alpha":"2026-07-07T09:36:29.784Z","0.4.3-alpha":"2026-07-07T11:01:36.814Z","0.4.4-alpha":"2026-07-12T05:00:51.111Z","1.0.0-alpha":"2026-08-10T16:02:13.384Z","1.1.0-alpha":"2026-08-11T11:02:35.363Z"},"bugs":{"url":"https://github.com/DreamtreeTech/dreamtree-org-authz/issues"},"author":{"name":"Partha Preetham Krishna"},"license":"MIT","homepage":"https://github.com/DreamtreeTech/dreamtree-org-authz#readme","keywords":["rbac","authorization","authz","policy-engine","multi-tenant","api-keys","byodb"],"repository":{"type":"git","url":"git+https://github.com/DreamtreeTech/dreamtree-org-authz.git"},"description":"Dreamtree's reusable Authorization & RBAC-as-a-Service platform — multi-tenant RBAC, policy engine (deny-by-default, explicit-deny-overrides-allow), API keys, BYODB, and a CLI to bootstrap a client project.","maintainers":[{"name":"preethamkrishna","email":"preetham.krishna.dev@gmail.com"}],"readme":"# @dreamtree-org/rbac-authz\n\n[![npm version](https://img.shields.io/npm/v/@dreamtree-org/rbac-authz.svg)](https://www.npmjs.com/package/@dreamtree-org/rbac-authz)\n[![node](https://img.shields.io/node/v/@dreamtree-org/rbac-authz.svg)](https://www.npmjs.com/package/@dreamtree-org/rbac-authz)\n[![license](https://img.shields.io/npm/l/@dreamtree-org/rbac-authz.svg)](./LICENSE)\n\nMulti-tenant authorization that answers one question, consistently and explainably:\n\n> **\"Can this subject perform this action on this resource?\"**\n\nDeny-by-default · every answer is an explainable decision, never a silent boolean ·\naudit-chained · bring your own database (SQLite / PostgreSQL / MySQL) or none at all.\n\n## 60-second start\n\n```bash\nnpm install @dreamtree-org/rbac-authz    # + sqlite3 / pg / mysql2 to match your db\n```\n\n```ts\nimport { rbac } from \"@dreamtree-org/rbac-authz\";\n\nconst authz = await rbac({ db: \"sqlite:./app.db\" }); // rbac() alone → env vars, or in-memory for dev\n\nawait authz.define({\n  roles: {\n    accountant: [\"invoice.read.all\", \"invoice.create.own\"],\n    admin:      { superadmin: true },\n  },\n});\nawait authz.assign(\"user_123\", \"accountant\");\n\nawait authz.require(\"user_123\", \"invoice.read.all\");   // ✓ passes\nawait authz.require(\"user_123\", \"invoice.delete.all\"); // ✗ throws AuthzDeniedError\n// e.decision → { allowed: false, reason: \"Denied by default: no policy grants invoice.delete.all\", … }\n```\n\nThat's the whole core. Node ≥ 22.\n\n## Pick your integration\n\n| You have | Do this |\n|---|---|\n| An existing Express route to protect | `authz.guard(\"invoice.read.all\")` — [recipe](#recipes) |\n| An existing app, any framework | `authz.middleware()` populates `req.authz` — [Express/Fastify/Hono/Next](#embed-it--no-separate-process) |\n| No infra yet, want a mountable API too | add `authz.router()` alongside `authz.middleware()` — [same section](#embed-it--no-separate-process) |\n| A UI to click around in | `npx rbac-authz-api init/setup/start` — [the admin console](#the-admin-console--http-api) |\n| A legacy authorizer to retire safely | the shadow gate — [recipe](#recipes) |\n\n`guard()` is the quickest one-liner but Express-only at the front door (other frameworks:\n`/sdk`'s `createRequirePermission`); `authz.middleware()` ships all four wrappers directly.\n\n## The four ideas\n\n1. **Permission** — a string: `resource.action.scope`. Scopes: `own · team · org · all`\n   (broader satisfies narrower). `invoice.read.own` = read your own invoices.\n2. **Role** — a named list of permissions. `define()` is declarative and idempotent:\n   re-running it reconciles each role to exactly what you wrote.\n3. **Subject** — whoever is acting: an id string, or `{ type: \"service_account\", id }`.\n4. **Decision** — every check produces a full `AuthzDecision` (`reason` / `matchedPolicy`\n   / `deniedBy`) on a tamper-evident audit chain. `allowed()` is just its boolean\n   projection — nothing is ever a silent boolean.\n\n## Recipes\n\n**Guard an Express route** (Fastify/Hono/Next wrappers live in `/sdk`):\n\n```ts\napp.get(\"/invoices\", authz.guard(\"invoice.read.all\"), listInvoices);\n// reads req.user.id; custom: authz.guard(perm, { subject: (req) => req.session.uid })\n// deny → 403 with the full decision; no subject on the request → 500, fail closed\n```\n\n**Bind once per request; ownership scopes:**\n\n```ts\nconst user = authz.for(req.user.id);\nawait user.require(\"doc.read.own\",  { resourceId: \"d9\", owner: doc.ownerId });\nawait user.require(\"doc.read.team\", { owner: doc.ownerId, team: teamMemberIds });\nif (await user.allowed(\"report.export.org\")) showExportButton();\n```\n\n**Narrow one user below their role** (direct grants can never widen — `REQ-SUB-7`):\n\n```ts\nawait authz.grant(\"temp_hire\", \"invoice.read.own\"); // overrides the role's invoice.read.all\nawait authz.revoke(\"temp_hire\", \"invoice.read.own\"); // role grant applies again\n```\n\n**Multi-tenant** (invisible until you need it):\n\n```ts\nconst acme = await authz.tenant(\"acme\"); // auto-created, fully isolated\nawait acme.assign(\"u1\", \"accountant\");   // grants in \"acme\" exist nowhere else\n```\n\n**Gate by subscription plan** (narrow-only hook — it can remove grants, never add):\n\n```ts\nconst authz = await rbac({\n  db: \"postgres://…\",\n  permissionFilter: (statements, { tenantId }) =>\n    statements.filter((s) => planCovers(tenantId, s.permission)),\n});\n```\n\n## Manage the data (CRUD, by name — no ids, ever)\n\n```ts\nawait authz.roles.list();                 // [{ name, permissions, superadmin, weight, active }]\nawait authz.roles.rename(\"accountant\", \"finance\");\nawait authz.roles.deactivate(\"finance\");  // soft — grants nothing until .activate()\nawait authz.roles.remove(\"finance\");      // hard — cascades assignments + permission links\n\nawait authz.permissions.list();\nawait authz.permissions.remove(\"invoice.export.all\"); // cascades out of roles, modules, direct grants\n\nawait authz.subjects.get(\"user_123\");     // \"what can this subject do, and why?\"\n// { roles: [\"accountant\"], grants: [\"report.export.own\"],\n//   permissions: [ …the effective set the engine evaluates ], superadmin: false }\n\nawait authz.tenants.list();\nawait authz.tenants.deactivate(\"acme\");   // the whole tenant denies until reactivated\n```\n\nCreation stays declarative: `define()` for roles/permissions, `assign()`/`grant()` for\naccess, `authz.tenant()` for tenants — these namespaces are the read/manage half.\n\n## Embed it — no separate process\n\nSkip running anything standalone: mount a subject-populating middleware and a\ntenant-scoped slice of the REST API straight into your own Express/Fastify app.\n\n```ts\nimport { rbac } from \"@dreamtree-org/rbac-authz\";\nconst authz = await rbac({ db: \"sqlite:./app.db\" });\n\nconst app = express();\napp.use(authz.middleware()); // req.authz = { check, require, allowed } for req.user.id\napp.use(authz.router());     // mounts /authz/check, /api/audit, /api/info\napp.listen(3000);\n```\n\nMount `authz.router()` at the app's root — no path prefix, its routes are already\nnamespaced. It's deliberately narrow: no `/admin`, no cross-tenant registry, no\n`/api/roles`/`/api/permissions` (those need a service key scoped to your own tenant, or\nthe standalone console below). `authz.middleware()` has `.fastify()`/`.hono()`/`.next()`\nwrappers too; `authz.router()` is Express/Fastify only (`.fastify()`).\n\n## The admin console & HTTP API\n\nPrefer clicking? The same package ships a zero-dependency admin console + JSON API:\n\n```bash\nnpx rbac-authz-api init    # scaffolds services/rbac/ + .env.example in your project\n# fill in .env:  RBAC_DATABASE_URL=./rbac.sqlite   RBAC_TENANT_NAME=dev\nnpx rbac-authz-api setup   # migrates (expand-only, safe to rerun), seeds your tenant +\n                           # a superadmin, prints a one-time admin password (never stored)\nnpx rbac-authz-api start   # → http://localhost:4001/admin\n```\n\nThe console covers applications, tenants, subjects, roles (+ module bundles),\npermissions, API keys (shown once, hash-only), the audit log with chain verification,\nand an authorization playground. The same server exposes the REST API — `/authz/check`,\n`/api/roles`, `/api/permissions`, `/api/applications`, `/api/tenants`, `/api/keys`,\n`/api/audit`. In production set `RBAC_ADMIN_PASSWORD` (console login) and\n`RBAC_REQUIRE_API_KEY=1` (service endpoints need a `Bearer dt_rbac_…` key).\n\n## Embed the admin UI in your own React app (REQ-UI-4)\n\nWant the console *inside* your product, pointed at your own rbac-authz backend? Import the\npages from the `/admin-ui` subpath and give them an `apiBase` + a bearer token — no iframe,\nno separate deploy. React 18 is a peer dependency you already have.\n\n```tsx\nimport { RbacAdmin } from \"@dreamtree-org/rbac-authz/admin-ui\";\nimport \"@dreamtree-org/rbac-authz/admin-ui/style.css\";\n\n// The whole console (shell + nav + every page). Routing is internal (MemoryRouter) so it\n// never touches your app's URL. The token is an admin-scoped service key; its tenant wins.\n<RbacAdmin apiBase=\"https://rbac.acme.com\" token={adminKey} tenantId=\"tenant_123\" />;\n```\n\nCompose individual pages into your own layout instead:\n\n```tsx\nimport { RbacProviders, RolesPage, AuditPage } from \"@dreamtree-org/rbac-authz/admin-ui\";\n\n<RbacProviders config={{ apiBase, token: adminKey, tenantId }}>\n  <RolesPage />\n</RbacProviders>;\n```\n\nOn the **backend** (the `rbac-authz-api` server), enable cross-origin access for your app's\norigin — deny-by-default, exact-origin, bearer-token only (the session cookie stays\nsame-origin, so CSRF posture is unchanged):\n\n```bash\nRBAC_CORS_ORIGINS=https://app.acme.com    # comma-separated allowlist; unset = CORS off\nRBAC_REQUIRE_API_KEY=1                     # service endpoints require a Bearer key\nRBAC_REQUIRE_ADMIN_SCOPE=1                 # (recommended) a key manages only if it holds\n                                           # rbac.write.tenant / apikey.write.tenant\n```\n\nMint the admin key against a subject holding the seeded `rbac-admin` role (which grants\n`rbac.write.tenant` + `apikey.write.tenant`) so the embed runs least-privilege, not superadmin.\n\n## Guarantees (they hold under every sugar above)\n\n- **Deny by default**; an explicit deny overrides any allow, even for a superadmin.\n- **Explainable + audited** — every decision carries its reason and lands on a\n  hash-chained audit log (pass `auditKey` in production).\n- **Tenant-isolated** at the storage layer; `all` never means cross-tenant.\n- **Narrow-only extension points** — `permissionFilter`, direct grants, and API-key\n  scopes can reduce access, never widen it; forged or edited grants reject the check.\n- **No plaintext secrets** — API keys are shown once, stored as hash + prefix + last4.\n\n## Going deeper\n\n| You want | Where |\n|---|---|\n| Full SDK: client, checker, hooks, principal cache, middleware family | `@dreamtree-org/rbac-authz/sdk` |\n| The pure engine: `evaluate`, permission grammar, API keys, audit chain | root import (advanced exports) |\n| Your own storage: the `RbacDatabaseAdapter` port + adapters | `@dreamtree-org/rbac-authz/db-adapters` |\n| Embeddable admin pages (`RbacAdmin`, per-page components) for your React app | `@dreamtree-org/rbac-authz/admin-ui` |\n| HTTP API + admin console | `npx rbac-authz-api init && npx rbac-authz-api setup && npx rbac-authz-api start` |\n| Teach your AI coding agent this library | `npx rbac-authz init --ai claude` · MCP: `npx @dreamtree-org/rbac-authz mcp` |\n| Architecture, security model, BYODB, requirements | the [source repo](https://github.com/DreamtreeTech/dreamtree-org-authz) `docs/` |\n\n## Versioning\n\nPre-`1.0.0`, the minor version is the effective \"major\"; anything that can flip an\nallow/deny outcome is never a silent patch. `@latest` always points at the newest\nrelease. Full policy: `docs/NPM_PUBLISHING.md` in the source repo.\n\n## License\n\nMIT © Dreamtree — see [`LICENSE`](./LICENSE).\n","readmeFilename":"README.md"}