{"_id":"@grantjs/client","_rev":"32-eec0a8e792a439afccc64664a0ee627f","name":"@grantjs/client","dist-tags":{"latest":"1.11.0"},"versions":{"1.0.0":{"name":"@grantjs/client","version":"1.0.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://logus.graphics","name":"Alejandro Heredia","email":"ale@logus.graphics"},"license":"MIT","_id":"@grantjs/client@1.0.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/logusgraphics/grant#readme","bugs":{"url":"https://github.com/logusgraphics/grant/issues"},"dist":{"shasum":"b577e664168bd425fe088cd6c443db5e8554278b","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.0.0.tgz","fileCount":25,"integrity":"sha512-bKpGtCSN7oLSuzGv7ojpcn57cg8CbmOHsxoQT5GakRJYTczhadIUembCrTReVkgbafXcBlfHrLJthYtfPdUwaw==","signatures":[{"sig":"MEYCIQChV8KzS7DmFoEuR67FqHg9LNRpRFAkNykyik1YK5hlbwIhALaguhc7yI1/uS361qiCCm/XasFGlr4/w10SX2bHF0Dz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117853},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/bd226b448abb5e85022acb4dca156059/grantjs-client-1.0.0.tgz","_integrity":"sha512-bKpGtCSN7oLSuzGv7ojpcn57cg8CbmOHsxoQT5GakRJYTczhadIUembCrTReVkgbafXcBlfHrLJthYtfPdUwaw==","repository":{"url":"git+https://github.com/logusgraphics/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.11.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^26.0.0","react":"^19.0.0","eslint":"^9.37.0","vitest":"^3.2.4","typescript":"^5","@types/node":"^24.7.2","@types/react":"^19","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^3.2.4","@vitejs/plugin-react":"^4.3.0","@tanstack/react-query":"^5.0.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.0_1773263193597_0.18046774990333359","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@grantjs/client","version":"1.0.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://logus.graphics","name":"Alejandro Heredia","email":"ale@logus.graphics"},"license":"MIT","_id":"@grantjs/client@1.0.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/logusgraphics/grant#readme","bugs":{"url":"https://github.com/logusgraphics/grant/issues"},"dist":{"shasum":"447bcb0d8d170d0c8260911d96a1f08a54c5883c","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.0.1.tgz","fileCount":27,"integrity":"sha512-C40GYbNgVo7RDtYQJpdSCeb98EUZ+zRUiIwtsW/sDWH6wz6DRMfGiKaVsOi1A5zc0atl0FByN03t5ZqVdUl7xw==","signatures":[{"sig":"MEUCIBpRKNm9tBz9inxfMCboj29MG71HeDyPgMeIBKWiNMBNAiEA9CSZT38udhk9tZsz9etsnGRDJt5YJFRIVWIcUGIs2VI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125016},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/8fd9f3c7bd81f7abd26ee38efc92420f/grantjs-client-1.0.1.tgz","_integrity":"sha512-C40GYbNgVo7RDtYQJpdSCeb98EUZ+zRUiIwtsW/sDWH6wz6DRMfGiKaVsOi1A5zc0atl0FByN03t5ZqVdUl7xw==","repository":{"url":"git+https://github.com/logusgraphics/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.1","jsdom":"^29.0.1","react":"^19.0.0","eslint":"^10.1.0","vitest":"^4.1.0","typescript":"^5","@types/node":"^25.5.0","@types/react":"^19","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^4.1.0","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.95.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.0.1_1774355723090_0.9313076508337379","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@grantjs/client","version":"1.1.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"03c4263c4c3c8a47221f9b9a7f68ccd030809502","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.0.tgz","fileCount":27,"integrity":"sha512-BQp/6cfXHHg1j0HDdr6i2lO2V6pFnfmS75d6y5Fts3Any6eNRHHW+3o3hF3+VLCNL9oYNbhY3qNYbK5YAKrG/g==","signatures":[{"sig":"MEQCIFBLJhQNOHP9+cok9vXue9eYtTEumYXjpM9Jk/rjLMo5AiB+1KS7oIagnRN9zX0gZHcAOLOzK8c0TGV0gMNXWbRLhw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125170},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/df563272f481a29a241e39afb6040cd3/grantjs-client-1.1.0.tgz","_integrity":"sha512-BQp/6cfXHHg1j0HDdr6i2lO2V6pFnfmS75d6y5Fts3Any6eNRHHW+3o3hF3+VLCNL9oYNbhY3qNYbK5YAKrG/g==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.10","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.0_1778943731206_0.23568519585276548","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@grantjs/client","version":"1.1.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"b683723aedbe91373cfa59bd7c637aaf4f8553dd","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.1.tgz","fileCount":27,"integrity":"sha512-mqHZsc7cbc01r5s7PSB67ZZ27qXO82Mij3nrANKtRzWJQ4y6Obp/nxOJPMCD/or4irUtp32LxlBSf4o/sIdZhw==","signatures":[{"sig":"MEUCIBp1Bp9veThCckoXrLYTSV4zqtELkREnYqiUC4dfJJT1AiEA83NKCxlZzgxeTIYea1MCSyat7pVPEjc701X5RmcvyZQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125170},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/6c02b7941a038197bbb7b6bd440c2ba8/grantjs-client-1.1.1.tgz","_integrity":"sha512-mqHZsc7cbc01r5s7PSB67ZZ27qXO82Mij3nrANKtRzWJQ4y6Obp/nxOJPMCD/or4irUtp32LxlBSf4o/sIdZhw==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.10","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.1_1778948715265_0.9853682715395073","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@grantjs/client","version":"1.1.2","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.2","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"38dc8e396e270c7bf314d2e7bcd117b68f016b88","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.2.tgz","fileCount":27,"integrity":"sha512-Of3j1QJcqBYfuMFDuNv5Cdk2yssA/Ac+Q55+XPtrADRhDIMO9rnUJwrbEpTePjHZwG69bXoUMF9yLUF62m/eeg==","signatures":[{"sig":"MEUCIA8a/xTCBRMBdX6wKU63bLvNbLS0bMMVIPJMoYp5gaLlAiEA4NxA8XicUeyCgKJ59eJ0GtME3A+82aaPV/m+PT8DpSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/47b14e579cc17c0e1db3155424046d31/grantjs-client-1.1.2.tgz","_integrity":"sha512-Of3j1QJcqBYfuMFDuNv5Cdk2yssA/Ac+Q55+XPtrADRhDIMO9rnUJwrbEpTePjHZwG69bXoUMF9yLUF62m/eeg==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.2_1780226054879_0.7408179089211631","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@grantjs/client","version":"1.1.3","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.3","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"f7df151ab9f87401553d76ad24e949aa20a990ae","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.3.tgz","fileCount":27,"integrity":"sha512-l5kM45fMUHMD5dQQuu7zxnkzV6Z22oJOU9rrbz+7oixKEJDpvYClI65XZ6BeUzBiMqDq44Avmiy3DKcFtFHrpA==","signatures":[{"sig":"MEUCIGK9Xh1BGBHND86jAVAlCfvxczaW7mBcFwp4ezvjWtz9AiEArxNpoJyZswHlWQvMOEk1IsQdnNf/0P+pNJPrYozkJ8g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/16279f48c28a3efbbad63ecd2ff90e3a/grantjs-client-1.1.3.tgz","_integrity":"sha512-l5kM45fMUHMD5dQQuu7zxnkzV6Z22oJOU9rrbz+7oixKEJDpvYClI65XZ6BeUzBiMqDq44Avmiy3DKcFtFHrpA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.3_1780494151762_0.8077343265302495","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@grantjs/client","version":"1.1.4","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.4","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"207186084e7a1e864b9795e2761260d7c0e64592","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.4.tgz","fileCount":27,"integrity":"sha512-vh/Ped1RoUNq0nOtz/WAiqPngDH1r1c9Ggrp+R2VpSbf7g27ytulqWBaDPbDlNcbnKMsLjmgOyQHADKjEU5/UA==","signatures":[{"sig":"MEUCIEECmmgFvagHOs3hbUcJuwRbEVoTW5YubIEUnbLCc4VIAiEAkRaRhKAvfcd1uYnKqz/YbFtKDIdqzZGWwaIcOwNCKlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/def4069864931dc006f07b5c71bb8ab0/grantjs-client-1.1.4.tgz","_integrity":"sha512-vh/Ped1RoUNq0nOtz/WAiqPngDH1r1c9Ggrp+R2VpSbf7g27ytulqWBaDPbDlNcbnKMsLjmgOyQHADKjEU5/UA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.4_1780498436717_0.3317290569707385","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@grantjs/client","version":"1.1.5","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.5","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"0b5b666baa3c92118c86b3d560a9bac20e8d78fc","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.5.tgz","fileCount":27,"integrity":"sha512-kjOFljXjjWhYsIBw6T33aP/6DJJYNXIObWhZhZV7LUc92qFTqRSS0czpJpy6tjc2AS9AD+voVVl03Crt/OPaoQ==","signatures":[{"sig":"MEYCIQCjNKI78wRHXX0QAU1mPeFB7T8kPXdScdiOLvYNdTmo6QIhAO843yPixePyTidgTPxxjiZPor7Xj0fI6RCMQhQotjYf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/70f86a3fdb1adbd18a121fdb29d8ac5d/grantjs-client-1.1.5.tgz","_integrity":"sha512-kjOFljXjjWhYsIBw6T33aP/6DJJYNXIObWhZhZV7LUc92qFTqRSS0czpJpy6tjc2AS9AD+voVVl03Crt/OPaoQ==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.5_1781098640367_0.12387690531109663","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@grantjs/client","version":"1.1.6","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.6","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"90414cb16bda57ce62fad27c8e1149e59f45949f","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.6.tgz","fileCount":27,"integrity":"sha512-a5Cb/Ur7dNoKdXnM8cETDVUcyB7WX5mo9KzXhU1vJi64Nmuu8csahpdbe8YqWlXXaxNey324BatFg1meV8JAww==","signatures":[{"sig":"MEYCIQDEaIkHEg6Q9MGACNyHU5WLtkwUPkgTfLKQt8UKmkHWuAIhAMVg+f75UTDPvuBwQIG3wURNf2j8WAPqnNhiO0qemkGE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/14de3468460e03ddcc9f885177bf42e6/grantjs-client-1.1.6.tgz","_integrity":"sha512-a5Cb/Ur7dNoKdXnM8cETDVUcyB7WX5mo9KzXhU1vJi64Nmuu8csahpdbe8YqWlXXaxNey324BatFg1meV8JAww==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.6_1781108676657_0.3841467761224089","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@grantjs/client","version":"1.1.7","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.1.7","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"ab19f5c6e5f41af4cb482972835133c0e173c9a6","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.1.7.tgz","fileCount":27,"integrity":"sha512-g5RaKXR5sT46Gt36utIosWN86WuFVNfEYBLeRgWXNr3SxjPvlPvXADCppkdkhPfx/NZDzO6fPI9/mjDFyKyNlg==","signatures":[{"sig":"MEUCIQDOt3tBSAV+RvTPIuE47WwAq8YM9tQgmH2eE6GDrw3ptgIgD+Esy6SM1ZbfcGZMDG4PHGUfojX32zoZ/MTIsQaytUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.1.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/ffd1df02f9614b888442decf77baad04/grantjs-client-1.1.7.tgz","_integrity":"sha512-g5RaKXR5sT46Gt36utIosWN86WuFVNfEYBLeRgWXNr3SxjPvlPvXADCppkdkhPfx/NZDzO6fPI9/mjDFyKyNlg==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.1.7"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.1.7_1781114436049_0.3492848794623915","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@grantjs/client","version":"1.2.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.2.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"219d1de4391420182962b1cc703196c1683ed236","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.2.0.tgz","fileCount":27,"integrity":"sha512-m2GD+tEkiQDIc2VrIGIMedjTiYgoQcnLPGc0cPSsDpcuLZ0/VRSO221Kxq6niRfpRHHH7KEge69SDN0wPzZ/vw==","signatures":[{"sig":"MEYCIQCVpuNQYOp68W/ROUTOTi9KRketR4f3dyV2SbStfZbsMQIhAMRfbZJ0tJEWf5ypDVAMXiD15A3hduvBLoMM6fwqU3LR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125528},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/eb674109ce8f10b4781aa70f23e70927/grantjs-client-1.2.0.tgz","_integrity":"sha512-m2GD+tEkiQDIc2VrIGIMedjTiYgoQcnLPGc0cPSsDpcuLZ0/VRSO221Kxq6niRfpRHHH7KEge69SDN0wPzZ/vw==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.14","jsdom":"^29.1.1","react":"^19.2.5","eslint":"^10.3.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.6.0","@types/react":"^19","vite-plugin-dts":"^5.0.0","@vitest/coverage-v8":"^4.1.5","@vitejs/plugin-react":"^6.0.1","@tanstack/react-query":"^5.100.9","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.2.0_1781476172822_0.08847951395701892","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@grantjs/client","version":"1.3.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.3.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"c233b121b43c2006165b53e713fc7fc31c506dda","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.3.0.tgz","fileCount":27,"integrity":"sha512-Uf87syO0967VCYdoEN33XX6+hQhKzqoZAbDf4hxWp+uMDIRSpnA9pXp2anYzXzorVnGsZlOHSczd/jCWoPwqow==","signatures":[{"sig":"MEUCIQDt+IIJPYDeSrlIBSM6B6py8XxGSV6XrSPfI0kLMbs0wwIgCV94yX4ZG26sT46TSIXMjOq/+g8D8KXSllmUI3x/jlE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/6359ee8e4e74d9b6a824b5c4768c84e3/grantjs-client-1.3.0.tgz","_integrity":"sha512-Uf87syO0967VCYdoEN33XX6+hQhKzqoZAbDf4hxWp+uMDIRSpnA9pXp2anYzXzorVnGsZlOHSczd/jCWoPwqow==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.5","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.3.0_1781532718492_0.19522631425408132","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@grantjs/client","version":"1.3.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.3.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"898be6897a365ae3c46032a1a640dead5cf5724d","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.3.1.tgz","fileCount":27,"integrity":"sha512-mJngBoHCxFOKO1acLB6JJNsuocf+NSuCq4HOAzqHdeu8LapJMoiOtHXvDcmbyKfRTooMq6zlonbGUiD2087TEg==","signatures":[{"sig":"MEQCIHs9fomh+Dmw2knHs+sK9yuCPJTqcve6mZP/HDwaGzpkAiBE2D7M48GKVIvZMc8gP3rdBCNSN8B9BGTInxnl2/4KnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.3.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/9f9b7501f697a2ea60e618cff12c5722/grantjs-client-1.3.1.tgz","_integrity":"sha512-mJngBoHCxFOKO1acLB6JJNsuocf+NSuCq4HOAzqHdeu8LapJMoiOtHXvDcmbyKfRTooMq6zlonbGUiD2087TEg==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.3.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.3.1_1781774838718_0.7917066676058901","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@grantjs/client","version":"1.3.2","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.3.2","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"8f9ddeedcc88cc91f0f219c8f4bbfa766bc610bc","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.3.2.tgz","fileCount":27,"integrity":"sha512-zs57bcEqr8uS/tdBd5nv+6+3+fDrRYOC0rDhLnt/ko5k4KKFoGTdfPRDXMRwTVpkhxZuJRlvR85bXIWU31lORQ==","signatures":[{"sig":"MEQCIAkiDF7VDesQprBFg0OsKzktoqHOp7g9lHQA8sCRud8IAiAHMQw8EB4iyGNPcir8EYZRbI2Xrf8MljlYJYKtiUEHow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/22d7a3f32ed51eb75787b47b0d59cf8e/grantjs-client-1.3.2.tgz","_integrity":"sha512-zs57bcEqr8uS/tdBd5nv+6+3+fDrRYOC0rDhLnt/ko5k4KKFoGTdfPRDXMRwTVpkhxZuJRlvR85bXIWU31lORQ==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.3.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.3.2_1781791061126_0.5952374738012032","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@grantjs/client","version":"1.3.3","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.3.3","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"497e48a3aa2314fa5537309cdb8f7d9ef55dd122","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.3.3.tgz","fileCount":27,"integrity":"sha512-pK9AeLBs0wPkKu5X100rEhYqZ1MUqEXJooBgKkqzTTUlbPnOoHnO7JW578lddVl74nlL7Y/Xr1Zw2y/BPMTO4w==","signatures":[{"sig":"MEUCIGbqg89iaO/i//MPUcLLNAQgntsQ7/RnjA99mj+0mFVbAiEAwEMDMycqs30ZabMMc4aGUWGwJzfnK5ZX42xhvzhq2+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.3.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/d960d0f5897871dc1f02ea861a6101b2/grantjs-client-1.3.3.tgz","_integrity":"sha512-pK9AeLBs0wPkKu5X100rEhYqZ1MUqEXJooBgKkqzTTUlbPnOoHnO7JW578lddVl74nlL7Y/Xr1Zw2y/BPMTO4w==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.3.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.3.3_1781799433637_0.05995611978421289","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@grantjs/client","version":"1.4.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.4.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"abedc11a6793c8325fed7273426f7524029951c8","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.4.0.tgz","fileCount":27,"integrity":"sha512-bHihaHSYZMYUn8AfU9eRZQkzqmcEwTKkxQmhByYAR/8eVmXp36Cpi/Jj8EHsiIywPKC6fzHz4smQ8aeGnEEPrA==","signatures":[{"sig":"MEYCIQDOYbl9vUq/xQxRLtArNihQc6NjdtdVDZc/2NrTBD7d2QIhAN+1YZiNbbT6hou13juqkKb/E/3X/1TRDQEnIbwxESsR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/e3b7d7c16b893a8c6d33e4e1760ca162/grantjs-client-1.4.0.tgz","_integrity":"sha512-bHihaHSYZMYUn8AfU9eRZQkzqmcEwTKkxQmhByYAR/8eVmXp36Cpi/Jj8EHsiIywPKC6fzHz4smQ8aeGnEEPrA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.4.0_1781813246414_0.535694938129488","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@grantjs/client","version":"1.4.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.4.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"f4f41dc514aac7910ffb0d02a1c43af26f098fcb","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.4.1.tgz","fileCount":27,"integrity":"sha512-9eGdpIM/vZS8HI1JPwyMNpv/HWquqjiQ1SmRaXkcLnehVgzjz/vdlWqPnOeyv17EjnBvqqNExb3nH6lY+JogyQ==","signatures":[{"sig":"MEUCIQCgIBF7uTibRww63ZL9+GCes3TtnyYUH7uQSXczHou4AQIgJzDjn9169KkfeCBgLLymG97wYCWuxvVlOpjT+uR1h4g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.4.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/2dd7fc0f234a8b42258266f93af83ab8/grantjs-client-1.4.1.tgz","_integrity":"sha512-9eGdpIM/vZS8HI1JPwyMNpv/HWquqjiQ1SmRaXkcLnehVgzjz/vdlWqPnOeyv17EjnBvqqNExb3nH6lY+JogyQ==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.4.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.4.1_1781823771628_0.584899491800456","host":"s3://npm-registry-packages-npm-production"}},"1.4.2":{"name":"@grantjs/client","version":"1.4.2","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.4.2","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"9aa9cd4610cd35ac41d38b12e15d2f9b72743ae3","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.4.2.tgz","fileCount":27,"integrity":"sha512-foHQJO5TPRyIs7EY44OAYUZKSWz/sj9F+T74i5DOY8vNzp426eJKqQc8SbN18UHP18pZ69XpQTnLZ0iU0iOekA==","signatures":[{"sig":"MEUCIQDUEkCxLvTA18u4/izAWyNW/n+loMrycXnQI/8kJkwbbgIgHqtAsIq/MlL8ntVEDEkNl4QkIP7xprg+9KXGS/PzIV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125548},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/e9349ec69bced8769879421531df18b2/grantjs-client-1.4.2.tgz","_integrity":"sha512-foHQJO5TPRyIs7EY44OAYUZKSWz/sj9F+T74i5DOY8vNzp426eJKqQc8SbN18UHP18pZ69XpQTnLZ0iU0iOekA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.5.0","vitest":"^4.1.9","typescript":"^6","@types/node":"^25.9.3","@types/react":"^19","vite-plugin-dts":"^5.0.2","@vitest/coverage-v8":"^4.1.9","@vitejs/plugin-react":"^6.0.2","@tanstack/react-query":"^5.101.0","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.4.2_1781875052127_0.013327757253194461","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@grantjs/client","version":"1.5.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.5.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"b929c771d0e46f2e1cd2c58d7e42176398db132e","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.5.0.tgz","fileCount":27,"integrity":"sha512-+7uLXm4tXWeUtxUhFnoHeu+Ie4wQf8/+ccBbBDox4PROLoeDUCInQ0BlPmpXB2VhMDsSQFjq/b0d4C6Th/VcwQ==","signatures":[{"sig":"MEUCIQCOiulQC3PRtxRphPWbZxxlNTRQLbdQT5hAjTQacrqN7QIgMqVmyJ2NRFdvOp+BfbvDs5j7Mg8FP9uxy+EPCmeQ1Xc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125972},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.5.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/32b3c39178cc4d628308e9d58ed1bd8e/grantjs-client-1.5.0.tgz","_integrity":"sha512-+7uLXm4tXWeUtxUhFnoHeu+Ie4wQf8/+ccBbBDox4PROLoeDUCInQ0BlPmpXB2VhMDsSQFjq/b0d4C6Th/VcwQ==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.5.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.7.0","vitest":"^4.1.10","typescript":"^6.0.3","@types/node":"^26.1.1","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.10","@vitejs/plugin-react":"^6.0.3","@tanstack/react-query":"^5.101.2","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.5.0_1785615257415_0.9513093039597427","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@grantjs/client","version":"1.5.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.5.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"0b93ea6c01a9da50bdc40e994b41fb5ce9eb6ea3","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.5.1.tgz","fileCount":27,"integrity":"sha512-vf6EyRXYYs0edEbxdu+Cvy4Ol6UbPYN8q+IlQZyyJRMywKl3sNHyLQxcp0vyvtz2mel9+ZhoqZLnLLRD/DbVMg==","signatures":[{"sig":"MEUCIEkpiPP+aZdtshmfUkplOtarp0kO25ztkROQOb8v91JhAiEA1SvP9oPMQlL+HTGpxfykfuSTpET2gnC+OYwVg8Yw8+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125972},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.5.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/33f6fa54c4ecedf210952e1cc7630fdb/grantjs-client-1.5.1.tgz","_integrity":"sha512-vf6EyRXYYs0edEbxdu+Cvy4Ol6UbPYN8q+IlQZyyJRMywKl3sNHyLQxcp0vyvtz2mel9+ZhoqZLnLLRD/DbVMg==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.5.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.7.0","vitest":"^4.1.10","typescript":"^6.0.3","@types/node":"^26.1.1","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.10","@vitejs/plugin-react":"^6.0.3","@tanstack/react-query":"^5.101.2","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.5.1_1785969206518_0.9114712140405623","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@grantjs/client","version":"1.5.2","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.5.2","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"01f64a3bfca33e66530b2e41e819b7e477e87651","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.5.2.tgz","fileCount":27,"integrity":"sha512-hFeBYt5FM45wbDDyl026fdUhgAnGfgmOuzoqtxTvr7+dQx8+aAkqq7fTOJusinNnnF5syC7khJJIcRcQc0PL3w==","signatures":[{"sig":"MEQCICQg1QbCClEwiIEGXDXlN/OsDWrHDOLV86aPRB5OPcdHAiBX0xpfRZxSwADwckZxs5H4UYPRgtOPWVfirlxqQ5yaUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125972},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.5.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/b7dc3e82d49a0a3835b73e25fc113824/grantjs-client-1.5.2.tgz","_integrity":"sha512-hFeBYt5FM45wbDDyl026fdUhgAnGfgmOuzoqtxTvr7+dQx8+aAkqq7fTOJusinNnnF5syC7khJJIcRcQc0PL3w==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.5.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.7.0","vitest":"^4.1.10","typescript":"^6.0.3","@types/node":"^26.1.1","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.10","@vitejs/plugin-react":"^6.0.3","@tanstack/react-query":"^5.101.2","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.5.2_1786282250867_0.017031952860027344","host":"s3://npm-registry-packages-npm-production"}},"1.5.3":{"name":"@grantjs/client","version":"1.5.3","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.5.3","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"fa06a3e0d4c12dcf1793ecf01636b657bc3a0b87","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.5.3.tgz","fileCount":27,"integrity":"sha512-MIkM9N5PwHrxl3DC+Lhui+6asnt6Y0XVxSOD0jLY0ZUKWxD1URMVKGTHDLg9zK/Y+Ylo8v881oGH5rYMVQCvCA==","signatures":[{"sig":"MEUCIQDhfh0wtul93Ffm7GVNMcKTHOBs/Ttei6dzJSHNrfEWEAIgC0kj5BNQADME0zAoy3bB4s48Op/MsN8LjgCEYZpNXfw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125972},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.5.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/6600dde407e53b4f2ab65ce547fc234d/grantjs-client-1.5.3.tgz","_integrity":"sha512-MIkM9N5PwHrxl3DC+Lhui+6asnt6Y0XVxSOD0jLY0ZUKWxD1URMVKGTHDLg9zK/Y+Ylo8v881oGH5rYMVQCvCA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.5.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.0","jsdom":"^29.1.1","react":"^19.2.7","eslint":"^10.7.0","vitest":"^4.1.10","typescript":"^6.0.3","@types/node":"^26.1.1","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.10","@vitejs/plugin-react":"^6.0.3","@tanstack/react-query":"^5.101.2","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.5.3_1786895402045_0.9899081575242663","host":"s3://npm-registry-packages-npm-production"}},"1.5.4":{"name":"@grantjs/client","version":"1.5.4","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.5.4","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"1e23b916882da570cc9025b4efdd639b97de95d4","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.5.4.tgz","fileCount":27,"integrity":"sha512-l2Bkt4yZ2UHwBttUI8k/FJkchrfdnMlwWMFjgXYa/tilz8hTOJMMRNTOr4gGbU4XSbjHhj9WoUb1YxAbOPBT1A==","signatures":[{"sig":"MEUCIQDr57DKdRdafC8kHWVEIhCU5JnQFvy7TEKh2fUUHEMgjgIgIGJX0i/1ZPJG3VKYh9ZcSWeYSD8q0Ca6rZ7uXTrl2JY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125935},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.5.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"logus","email":"logusgraphics@icloud.com"},"_resolved":"/tmp/b85cd12b7b57c1ecbdc565507ff235d1/grantjs-client-1.5.4.tgz","_integrity":"sha512-l2Bkt4yZ2UHwBttUI8k/FJkchrfdnMlwWMFjgXYa/tilz8hTOJMMRNTOr4gGbU4XSbjHhj9WoUb1YxAbOPBT1A==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.9.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@grantjs/schema":"1.5.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.8.1","vitest":"^4.1.11","typescript":"^6.0.3","@types/node":"^26.2.0","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.5.4_1787590572759_0.9190303937467734","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@grantjs/client","version":"1.6.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.6.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"8bd1e8b8e16d46010d770afc0094279a630026ba","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.6.1.tgz","fileCount":27,"integrity":"sha512-L8x7LR8FKHYlkvXflKWOIffCSHrI8W03Pz5hHNAYy/5nWP4d0BGMD3bk7Qv7SGXX1PilRCHBfRdiOwREKqRn5Q==","signatures":[{"sig":"MEUCIQCG+KmeEafsHtx0Am3jlYBj5kl+f/RKZnp4u4m/dRTaUgIgfpKqAuJAPqNaJ2FqaQekaGV7ht4je/DZrEXWvJfi8H8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125935},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.6.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/aba11164aa35a30451fc23167ae644cb/grantjs-client-1.6.1.tgz","_integrity":"sha512-L8x7LR8FKHYlkvXflKWOIffCSHrI8W03Pz5hHNAYy/5nWP4d0BGMD3bk7Qv7SGXX1PilRCHBfRdiOwREKqRn5Q==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.6.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.8.1","vitest":"^4.1.11","typescript":"^6.0.3","@types/node":"^26.2.0","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.6.1_1788472558636_0.6049469686683886","host":"s3://npm-registry-packages-npm-production"}},"1.6.2":{"name":"@grantjs/client","version":"1.6.2","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.6.2","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"78ae83a24af9ef87536b26294bbee1a9f0e139d3","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.6.2.tgz","fileCount":27,"integrity":"sha512-f7fZWkz9typiM/E4mgIxMg2BTr2Uelpfbhqekmkc5Ad7TUtah0N1PtdpCZXNV6m8EVLvvt+SAJHNv55AZhsvFA==","signatures":[{"sig":"MEUCIEiqpCEAqgDsvBlJmCvVx8sON5ay4zxggWHzt3xWlDKLAiEAwvtVJj6SFth/TW3NU0AYcOz5n/6OApghdmtEvkZSGcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":125935},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.6.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/1e26c608d1fc31d6e7a5fee7fab4db70/grantjs-client-1.6.2.tgz","_integrity":"sha512-f7fZWkz9typiM/E4mgIxMg2BTr2Uelpfbhqekmkc5Ad7TUtah0N1PtdpCZXNV6m8EVLvvt+SAJHNv55AZhsvFA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.6.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.8.1","vitest":"^4.1.11","typescript":"^6.0.3","@types/node":"^26.2.0","@types/react":"^19","vite-plugin-dts":"^5.0.3","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.0.3","@testing-library/react":"^16.0.0","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.6.2_1788538297919_0.7233117459596601","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@grantjs/client","version":"1.7.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.7.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"1af76d36fd9b21faa07241652ae9588908c2d5d3","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.7.0.tgz","fileCount":27,"integrity":"sha512-qMMDTNXNjDCAll4eVwiUujhrP8J3kMk40hhJrjUnX96nZxN/HjAXs6K2m3s0qEKO34wiXwXplo71CdHK+toelA==","signatures":[{"sig":"MEQCIGSinZK/3Sq0I3PTiefOld3VFzO57XXpiDcoiwqnrS9CAiAtxVZotm7+ufp3IFCcMzij21EWtgUgeTo8Budq+SvaYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF24qOb6fSZuQJwjafJFuob7mptJ855RDtM112V7+l8JAiBP2aJYxFecNAteuIBGlNt/ELuOANMACuW4qIsQ5w/kbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126015},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.7.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/8bc7633f05a67b8d9110f1f5f64e1cb1/grantjs-client-1.7.0.tgz","_integrity":"sha512-qMMDTNXNjDCAll4eVwiUujhrP8J3kMk40hhJrjUnX96nZxN/HjAXs6K2m3s0qEKO34wiXwXplo71CdHK+toelA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.10.0","vitest":"^4.1.11","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.4.1","@types/react":"^19","vite-plugin-dts":"^5.1.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.7.0_1789164582366_0.946708455819449","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"@grantjs/client","version":"1.8.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.8.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"2a28037cafc2caa0a2c877bb18208b6f41dd243c","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.8.0.tgz","fileCount":27,"integrity":"sha512-Vd9d3lHFSdyLh0urRnJwPNXHOfrhPqIUX4ZOGXEble50gMOCK0TMw140JoPn1PWB3JQfdbQCVQQA1lQw+ifnIA==","signatures":[{"sig":"MEQCIBIJJzcinlk8aj3/aLEIgbxBwiRqSOrQTuKCaJ+KHAjCAiArwxhRcbf/V2H8ul6q52E25jdi5OZFpqQU6cGXri2WyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDi6OuhFsNXFLc3kYEH2bBqM4K30sU8nZub5+Yr5qJMYwIhAPgTu8Fl9EIdnJX+vKsVljwUmh82OnDeqqGMZnTF4SIP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126015},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.8.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/219283f0401ea284dd95ad3efdd593c4/grantjs-client-1.8.0.tgz","_integrity":"sha512-Vd9d3lHFSdyLh0urRnJwPNXHOfrhPqIUX4ZOGXEble50gMOCK0TMw140JoPn1PWB3JQfdbQCVQQA1lQw+ifnIA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.8.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.10.0","vitest":"^4.1.11","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.4.1","@types/react":"^19","vite-plugin-dts":"^5.1.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.8.0_1789254563256_0.03876455421679248","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"@grantjs/client","version":"1.9.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.9.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"a86b45ae808bce3692042781025067c39b5a06b3","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.9.0.tgz","fileCount":27,"integrity":"sha512-VoriWLHu/j03AcCx8rvRvn80CYCbFGtux2tJUW0PxiszaNmUA1y36Zry8OMEUfMUjSRfiwAuZhOZJUBQY+M1Bw==","signatures":[{"sig":"MEQCIDUfQyd5+ZSefq6wHj6YMR1rONACV4FniJ4z96exBvUHAiAYX6L00k6tnOHMqOehtZPyzh4DzyPV0ezrZOk1renxEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGto0NqspCgMHZdZkodV+NYxRShRGK461wWANqdGf0aZAiEA7fLKcJAP4/qmAkWzmOhI+B6unHmhsJApypkkBOVsagw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126015},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.9.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/e84708b5d7a8a3cae394c25460bba2e7/grantjs-client-1.9.0.tgz","_integrity":"sha512-VoriWLHu/j03AcCx8rvRvn80CYCbFGtux2tJUW0PxiszaNmUA1y36Zry8OMEUfMUjSRfiwAuZhOZJUBQY+M1Bw==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.9.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.10.0","vitest":"^4.1.11","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.4.1","@types/react":"^19","vite-plugin-dts":"^5.1.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.9.0_1789366214379_0.61822661367155","host":"s3://npm-registry-packages-npm-production"}},"1.9.1":{"name":"@grantjs/client","version":"1.9.1","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.9.1","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"0a181cf16e070f76e56d6b4a41522646477d1413","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.9.1.tgz","fileCount":27,"integrity":"sha512-W3uFDrN0rTnB6R1NzvzjbDEhlW/tIcHLXFaunx5UkZrmE+aN7BcRknwncoMg+6J34bIWs2SRc0oSScruvdsSgA==","signatures":[{"sig":"MEYCIQDppdTLvIn7PHay4lzA52MnQaaWuBDJr8UNLNlJvBKiTwIhAPFhhH/oTABm+28PbPb9oFdCrkmGEAJp4oHzSNjgOvE5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCneLP+U+wQk+/VR8MBmdM45iOzahOCUuMhJUMfj99e8wIgXX9LduEukIcEFyo3/shoJu6vIEu+l315wYzLwVdzK4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126015},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.9.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/eddad2da996368591a25cabcd8d7936c/grantjs-client-1.9.1.tgz","_integrity":"sha512-W3uFDrN0rTnB6R1NzvzjbDEhlW/tIcHLXFaunx5UkZrmE+aN7BcRknwncoMg+6J34bIWs2SRc0oSScruvdsSgA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.9.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.10.0","vitest":"^4.1.11","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.4.1","@types/react":"^19","vite-plugin-dts":"^5.1.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.9.1_1789460401639_0.9417143070749734","host":"s3://npm-registry-packages-npm-production"}},"1.9.2":{"name":"@grantjs/client","version":"1.9.2","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.9.2","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"046f0a2b67e4d3e97e8ffd32c8df0e33b4461c59","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.9.2.tgz","fileCount":27,"integrity":"sha512-nRKSYyc6hT5ghDB/YIiTePYolJGlXKwrN7GRzUjXfK8/D5Hyjdto6sM4B3Ys5oPaXsvZq0ERDZu8WwTsWmgprg==","signatures":[{"sig":"MEYCIQCTdck7VSJaEKvsdPGit1dKVKq4KF/2Fsym6MUUCNIXsQIhALhkhnCilA9GcZXS7yHP6eaotet9J4hN6Zh4ANUGPg/6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVMw9pnFFqiFlBpiHBcu43Zi5UDIQ8EL1CYp1Z24ly8gIhALSpQergt6uCOYwWeUjjcgzOoDz5WjUB8Xkp2BrRkOnA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126015},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.9.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/41c06943d17fc368ac4cdfb27208d453/grantjs-client-1.9.2.tgz","_integrity":"sha512-nRKSYyc6hT5ghDB/YIiTePYolJGlXKwrN7GRzUjXfK8/D5Hyjdto6sM4B3Ys5oPaXsvZq0ERDZu8WwTsWmgprg==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.9.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.2.1","jsdom":"^30.0.1","react":"^19.2.8","eslint":"^10.10.0","vitest":"^4.1.11","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.4.1","@types/react":"^19","vite-plugin-dts":"^5.1.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^4.1.11","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.9.2_1789498447088_0.4914252368806997","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"@grantjs/client","version":"1.10.0","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","_id":"@grantjs/client@1.10.0","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"homepage":"https://github.com/grant-js/grant#readme","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"b7b3464cd9ecfd9f7f4ac53a934ef0561071c257","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.10.0.tgz","fileCount":27,"integrity":"sha512-4yOWpzF/AJGp9gBW6hTIK7CUuic1ljUFsSNrr+iX+j9YBM0jGSnF9X36yQrVok9Mc3cL6bDR0+GFlozBSlQHrg==","signatures":[{"sig":"MEUCIGngl1vUKBgFmbnj8kdb0aNv8DmYaGLtLtVFfSHlfTPJAiEA9DvtyOEeM8uW+T+37biVnc3JRgAXCGC1vnvUmVeSdOE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHp5KKwX8O+FW6TsY58QlsA2mbXu0+3GhFNNIsu9135OAiBCvaJpj4jS0QWm7a7COxAN0lbmV0HMlCI/QqPe44krpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126015},"main":"./dist/index.cjs","type":"module","_from":"file:grantjs-client-1.10.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"_resolved":"/tmp/7da5cac5fcfbcc422f4f8278a5f7a90d/grantjs-client-1.10.0.tgz","_integrity":"sha512-4yOWpzF/AJGp9gBW6hTIK7CUuic1ljUFsSNrr+iX+j9YBM0jGSnF9X36yQrVok9Mc3cL6bDR0+GFlozBSlQHrg==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.19.1","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@grantjs/schema":"1.10.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.3.0","jsdom":"^30.0.1","react":"^19.3.0","eslint":"^10.10.0","vitest":"^5.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.6.1","@types/react":"^19","vite-plugin-dts":"^5.1.0","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^5.0.1","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/client_1.10.0_1789930752580_0.48514645096381437","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"_id":"@grantjs/client@1.11.0","bugs":{"url":"https://github.com/grant-js/grant/issues"},"dist":{"shasum":"605db57f42fcecc09a6c56279a93a4025ba41941","tarball":"https://registry.npmjs.org/@grantjs/client/-/client-1.11.0.tgz","fileCount":27,"integrity":"sha512-7J5g2AXQebpWeDXzMzYksNm0zkjHOKwJ5Q3Eg1Iehae9AKRB4wCMfXv8802BnEUcm5KDN3dbYtkgt5FIWGlogA==","signatures":[{"sig":"MEUCIQC1/4ZCsLgWa0fDu9sQnPnJrs40rYvDWtiDCdpZYjaLPQIgWtyCj4JZMVOw4yx7DbV5K7O4hdkcqvy76/mRi4H7MSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBAnhv1pTHl9G1LpLabwRwH2xEveBEMLQoL8D1+IFzljAiEAv1rCj9eaFwYh2Xuauqxxw36Utb9Xo4zlFBxMGpgoOms="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@grantjs%2fclient@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":126155},"main":"./dist/index.cjs","name":"@grantjs/client","type":"module","_from":"file:grantjs-client-1.11.0.tgz","types":"./dist/index.d.ts","author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./react":{"types":"./dist/react/index.d.ts","import":"./dist/react.mjs","require":"./dist/react.cjs"}},"license":"MIT","scripts":{"lint":"eslint src --ext .ts,.tsx","test":"NODE_ENV=test vitest","build":"vite build","lint:fix":"eslint src --ext .ts,.tsx --fix","test:run":"NODE_ENV=test vitest run","type-check":"tsc --noEmit","build:watch":"vite build --watch","test:install":"./scripts/test-install.sh","test:coverage":"NODE_ENV=test vitest run --coverage"},"version":"1.11.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a2bb52de-ee57-4ac7-a60b-2daa279b8786"}},"homepage":"https://github.com/grant-js/grant#readme","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"_resolved":"/tmp/1229dac3d2fd6d843981b07392162ad3/grantjs-client-1.11.0.tgz","_integrity":"sha512-7J5g2AXQebpWeDXzMzYksNm0zkjHOKwJ5Q3Eg1Iehae9AKRB4wCMfXv8802BnEUcm5KDN3dbYtkgt5FIWGlogA==","repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"_npmVersion":"11.20.0","description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","directories":{},"maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"sideEffects":false,"_nodeVersion":"24.21.0","dependencies":{"@grantjs/schema":"1.11.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^8.3.1","jsdom":"^30.1.1","react":"^19.3.0","eslint":"^10.11.0","vitest":"^5.0.1","typescript":"npm:@typescript/typescript6@^6.0.2","@types/node":"^26.6.2","@types/react":"^19","vite-plugin-dts":"^5.1.1","@typescript/native":"npm:typescript@^7.0.2","@vitest/coverage-v8":"^5.0.1","@vitejs/plugin-react":"^6.1.1","@testing-library/react":"^16.3.3","@testing-library/jest-dom":"^7.0.1"},"peerDependencies":{"react":"^18 || ^19","@tanstack/react-query":"^5"},"peerDependenciesMeta":{"@tanstack/react-query":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/client_1.11.0_1790743647031_0.5377781748477652"}}},"time":{"created":"2026-03-11T21:06:33.481Z","modified":"2026-09-30T04:47:27.505Z","1.0.0":"2026-03-11T21:06:33.750Z","1.0.1":"2026-03-24T12:35:23.254Z","1.1.0":"2026-05-16T15:02:11.348Z","1.1.1":"2026-05-16T16:25:15.414Z","1.1.2":"2026-05-31T11:14:15.018Z","1.1.3":"2026-06-03T13:42:31.887Z","1.1.4":"2026-06-03T14:53:56.839Z","1.1.5":"2026-06-10T13:37:20.494Z","1.1.6":"2026-06-10T16:24:36.798Z","1.1.7":"2026-06-10T18:00:36.163Z","1.2.0":"2026-06-14T22:29:32.964Z","1.3.0":"2026-06-15T14:11:58.628Z","1.3.1":"2026-06-18T09:27:18.862Z","1.3.2":"2026-06-18T13:57:41.276Z","1.3.3":"2026-06-18T16:17:13.769Z","1.4.0":"2026-06-18T20:07:26.546Z","1.4.1":"2026-06-18T23:02:51.782Z","1.4.2":"2026-06-19T13:17:32.252Z","1.5.0":"2026-08-01T20:14:17.573Z","1.5.1":"2026-08-05T22:33:26.675Z","1.5.2":"2026-08-09T13:30:51.015Z","1.5.3":"2026-08-16T15:50:02.196Z","1.5.4":"2026-08-24T16:56:12.896Z","1.6.1":"2026-09-03T21:55:59.013Z","1.6.2":"2026-09-04T16:11:38.075Z","1.7.0":"2026-09-11T22:09:42.463Z","1.8.0":"2026-09-12T23:09:23.349Z","1.9.0":"2026-09-14T06:10:14.479Z","1.9.1":"2026-09-15T08:20:01.721Z","1.9.2":"2026-09-15T18:54:07.183Z","1.10.0":"2026-09-20T18:59:12.656Z","1.11.0":"2026-09-30T04:47:27.120Z"},"bugs":{"url":"https://github.com/grant-js/grant/issues"},"author":{"url":"https://grantjs.org","name":"Ale Heredia","email":"ale@grantjs.org"},"license":"MIT","homepage":"https://github.com/grant-js/grant#readme","keywords":["grant","authorization","permissions","rbac","role-based-access-control","react","hooks","access-control","typescript","multi-tenant","sdk","client","browser"],"repository":{"url":"git+https://github.com/grant-js/grant.git","type":"git","directory":"packages/@grantjs/client"},"description":"Browser SDK for Grant authorization - React hooks and components for permission-based UI rendering","maintainers":[{"name":"logus","email":"logusgraphics@icloud.com"}],"readme":"# @grantjs/client\n\nBrowser SDK for Grant authorization platform. Provides a lightweight client for permission checks with React hooks and components for conditional UI rendering.\n\n**Documentation:** [Client SDK](https://github.com/grant-js/grant/blob/main/docs/integration/client-sdk.md) in the official docs.\n\n## Features\n\n- **REST-based API** - Uses native `fetch`, no GraphQL client required\n- **Automatic token refresh** - Handles 401 errors with token refresh and retry\n- **Built-in caching** - Configurable TTL-based cache to minimize API calls\n- **Multi-tenant support** - Dynamic scope switching for session tokens\n- **React integration** - Hooks and components for declarative permission checks\n- **TypeScript** - Full type safety with types from `@grantjs/schema`\n\n## Installation\n\n```bash\nnpm install @grantjs/client\n# or\npnpm add @grantjs/client\n# or\nyarn add @grantjs/client\n```\n\n## Quick Start\n\n### 1. Create the Client\n\n```typescript\nimport { GrantClient } from '@grantjs/client';\n\nconst grant = new GrantClient({\n  apiUrl: 'https://api.your-app.com',\n\n  getAccessToken: () => localStorage.getItem('accessToken'),\n\n  // Cookie-based refresh: your callback calls POST /api/auth/refresh with credentials: 'include',\n  // then updates app token storage. Refresh token is in HttpOnly cookie; response body has only accessToken.\n  onRefreshWithCredentials: async () => {\n    const res = await fetch('https://api.your-app.com/api/auth/refresh', {\n      method: 'POST',\n      credentials: 'include',\n    });\n    if (!res.ok) return false;\n    const { data } = await res.json();\n    if (data?.accessToken) {\n      localStorage.setItem('accessToken', data.accessToken);\n      return true;\n    }\n    return false;\n  },\n\n  onTokenRefresh: (tokens) => {\n    localStorage.setItem('accessToken', tokens.accessToken);\n    // tokens.refreshToken may be undefined when using cookie-based refresh\n  },\n\n  onUnauthorized: () => {\n    window.location.href = '/login';\n  },\n});\n\n// Check permission\nconst canEdit = await grant.can('Document', 'Update');\n```\n\n### 2. React Setup\n\nWrap your app with `GrantProvider` and integrate with your auth store:\n\n```tsx\n'use client';\n\nimport { useMemo } from 'react';\nimport { GrantProvider, type GrantClientConfig } from '@grantjs/client/react';\nimport { useAuthStore } from '@/stores/auth.store';\n\nexport function AppProviders({ children }: { children: React.ReactNode }) {\n  const config = useMemo<GrantClientConfig>(\n    () => ({\n      apiUrl: process.env.NEXT_PUBLIC_API_URL!,\n\n      getAccessToken: () => useAuthStore.getState().accessToken,\n\n      // Cookie-based refresh: POST /api/auth/refresh with credentials: 'include', then update store\n      onRefreshWithCredentials: async () => {\n        const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/api/auth/refresh`, {\n          method: 'POST',\n          credentials: 'include',\n        });\n        if (!res.ok) return false;\n        const { data } = await res.json();\n        if (data?.accessToken) {\n          useAuthStore.getState().setAccessToken(data.accessToken);\n          return true;\n        }\n        return false;\n      },\n\n      onTokenRefresh: (tokens) => {\n        useAuthStore.getState().setAccessToken(tokens.accessToken);\n      },\n\n      onUnauthorized: () => {\n        useAuthStore.getState().logout();\n        if (typeof window !== 'undefined') {\n          window.location.href = '/auth/login';\n        }\n      },\n\n      cache: {\n        ttl: 5 * 60 * 1000, // 5 minutes\n        prefix: 'grant',\n      },\n    }),\n    []\n  );\n\n  return <GrantProvider config={config}>{children}</GrantProvider>;\n}\n```\n\n### 3. Use useGrant with Scopes\n\nFor multi-tenant apps, pass the scope to check permissions in a specific context:\n\n```tsx\n'use client';\n\nimport { useGrant } from '@grantjs/client/react';\nimport { Tenant } from '@grantjs/schema';\n\ninterface OrganizationActionsProps {\n  organization: { id: string; name: string };\n}\n\nexport function OrganizationActions({ organization }: OrganizationActionsProps) {\n  // Scope permissions to this specific organization\n  const scope = { tenant: Tenant.Organization, id: organization.id };\n\n  // Check permissions - these call POST /api/auth/is-authorized\n  const canUpdate = useGrant('Organization', 'Update', { scope });\n  const canDelete = useGrant('Organization', 'Delete', { scope });\n\n  // Hide component entirely if user has no permissions\n  if (!canUpdate && !canDelete) {\n    return null;\n  }\n\n  return (\n    <div>\n      {canUpdate && <button>Edit</button>}\n      {canDelete && <button>Delete</button>}\n    </div>\n  );\n}\n```\n\n### 4. Use Components\n\n```tsx\nimport { GrantGate } from '@grantjs/client/react';\nimport { Tenant } from '@grantjs/schema';\n\nfunction Dashboard({ projectId }: { projectId: string }) {\n  const scope = { tenant: Tenant.Organization, id: projectId };\n\n  return (\n    <div>\n      {/* Hide if no permission */}\n      <GrantGate resource=\"Analytics\" action=\"Read\" scope={scope}>\n        <AnalyticsWidget />\n      </GrantGate>\n\n      {/* Show fallback if denied */}\n      <GrantGate\n        resource=\"Settings\"\n        action=\"Update\"\n        scope={scope}\n        fallback={<p>Contact admin for access</p>}\n      >\n        <SettingsPanel />\n      </GrantGate>\n\n      {/* With loading state */}\n      <GrantGate resource=\"Report\" action=\"Create\" scope={scope} loading={<Spinner />}>\n        <ExportButton />\n      </GrantGate>\n    </div>\n  );\n}\n```\n\n## API Reference\n\n### GrantClient\n\n```typescript\nconst grant = new GrantClient(config: GrantClientConfig);\n```\n\n#### Configuration\n\n```typescript\ninterface GrantClientConfig {\n  apiUrl: string;\n\n  getAccessToken?: () => string | null | Promise<string | null>;\n  /** Called after cookie-based refresh; use to update app token storage. `tokens.refreshToken` may be undefined. */\n  onTokenRefresh?: (tokens: AuthTokens) => void | Promise<void>;\n  onUnauthorized?: () => void;\n  /** Cookie-based refresh on 401: call POST /api/auth/refresh with credentials: 'include', update token, return true on success. */\n  onRefreshWithCredentials?: () => Promise<boolean>;\n\n  fetch?: typeof fetch;\n  credentials?: RequestCredentials; // default: 'include'\n  cache?: { ttl?: number; prefix?: string };\n}\n```\n\n#### Methods\n\n```typescript\n// Permission checks\ngrant.can(resource, action, options?): Promise<boolean>\ngrant.hasPermission(resource, action, options?): Promise<boolean>  // Alias\ngrant.isAuthorized(resource, action, options?): Promise<AuthorizationResult>\n\n// Cache management\ngrant.clearCache(): void\ngrant.clearScopeCache(scope?): void\n```\n\n### React Hooks\n\n#### `useGrant(resource, action, options?)`\n\nReturns a boolean by default, or an object with `isGranted` and `isLoading` when `returnLoading: true`.\n\n**Default (boolean):**\n\n```tsx\nimport { useGrant } from '@grantjs/client/react';\nimport { Tenant } from '@grantjs/schema';\n\nconst canEdit = useGrant('Document', 'Update', {\n  scope: { tenant: Tenant.Organization, id: orgId },\n});\n\nreturn <div>{canEdit && <EditButton />}</div>;\n```\n\n**With loading state:**\n\n```tsx\nconst { isGranted, isLoading } = useGrant('Document', 'Update', {\n  scope: { tenant: Tenant.Organization, id: orgId },\n  returnLoading: true,\n});\n\nif (isLoading) return <Spinner />;\nif (!isGranted) return null;\n\nreturn <EditButton />;\n```\n\n#### Hook Options\n\n```typescript\ninterface UseGrantOptions {\n  scope?: Scope; // Multi-tenant scope override\n  enabled?: boolean; // Skip check if false (default: true)\n  useCache?: boolean; // Use cached result (default: true)\n  returnLoading?: boolean; // Return object with isGranted and isLoading (default: false)\n}\n\ninterface UseGrantResult {\n  isGranted: boolean; // Whether the user is granted permission\n  isLoading: boolean; // Whether the permission check is loading\n}\n```\n\n### React Components\n\n#### `<GrantGate>`\n\n```tsx\n<GrantGate\n  resource=\"Resource\"\n  action=\"Action\"\n  scope={{ tenant: Tenant.Organization, id: '...' }} // Optional\n  fallback={<FallbackComponent />} // Optional\n  loading={<LoadingSpinner />} // Optional\n>\n  <ProtectedContent />\n</GrantGate>\n```\n\n## Multi-Tenant Scope Override\n\nThe Grant platform supports multi-tenant authorization with dynamic scope switching:\n\n- **Session tokens**: Can override scope at request time (for users switching between organizations)\n- **API key tokens**: Use their embedded scope (cannot be overridden)\n\n```tsx\nimport { useGrant } from '@grantjs/client/react';\nimport { Tenant } from '@grantjs/schema';\n\n// User is viewing Organization A\nconst scopeA = { tenant: Tenant.Organization, id: 'org-a-id' };\nconst canEditA = useGrant('Project', 'Update', { scope: scopeA });\n\n// User switches to Organization B\nconst scopeB = { tenant: Tenant.Organization, id: 'org-b-id' };\nconst canEditB = useGrant('Project', 'Update', { scope: scopeB });\n```\n\nAvailable tenant types (from `@grantjs/schema`):\n\n```typescript\nenum Tenant {\n  System = 'system',\n  Account = 'account',\n  Organization = 'organization',\n  AccountProject = 'accountProject',\n  OrganizationProject = 'organizationProject',\n  ProjectUser = 'projectUser',\n  // ... and more\n}\n```\n\n## Caching\n\nThe client caches permission results by default (5 minute TTL). You can:\n\n```typescript\n// Configure TTL\nconst grant = new GrantClient({\n  apiUrl: '...',\n  cache: { ttl: 10 * 60 * 1000 }, // 10 minutes\n});\n\n// Bypass cache for a specific check\nconst fresh = await grant.can('Resource', 'Action', { useCache: false });\n\n// Clear all cache\ngrant.clearCache();\n\n// Clear cache for a specific scope\ngrant.clearScopeCache({ tenant: Tenant.Organization, id: orgId });\n```\n\n## Authentication Flow\n\n1. **Access token** is sent via `Authorization: Bearer <token>` (when `getAccessToken` is provided).\n2. **Cookies** are included by default (`credentials: 'include'`).\n3. On **401**, the client uses **cookie-based refresh only** (no body-based refresh for security):\n   - If `onRefreshWithCredentials` is set, it is called. Your callback should call `POST /api/auth/refresh` with `credentials: 'include'`, read the new `accessToken` from the response body, update your storage, and return `true` on success.\n   - On success the client retries the original request; you may also use `onTokenRefresh` to sync token state.\n   - On failure or if `onRefreshWithCredentials` is not set, `onUnauthorized()` is called (e.g. redirect to login).\n   - The refresh token lives in an HttpOnly cookie; the API returns only `accessToken` in the refresh response body.\n\n## Development Notes\n\n### React Strict Mode\n\nIn development with React Strict Mode enabled (default in Next.js 13+), you'll see **2 API calls** per permission check. This is expected behavior:\n\n1. Component mounts → effect runs → API call #1\n2. Strict Mode unmounts component\n3. Component remounts → effect runs → API call #2\n\nThis only happens in development. Production builds make a single call.\n\n### Stable Scope References\n\nThe hooks automatically handle scope object reference changes. You don't need to memoize the scope object:\n\n```tsx\n// This is fine - hooks compare by value, not reference\nconst scope = { tenant: Tenant.Organization, id: organization.id };\nconst canEdit = useGrant('Resource', 'Action', { scope });\n```\n\n## TypeScript\n\nFull type definitions are included. Import types from the package or re-exported from `@grantjs/schema`:\n\n```typescript\nimport type {\n  GrantClientConfig,\n  AuthorizationResult,\n  Permission,\n  Resource,\n  Scope,\n  Tenant,\n} from '@grantjs/client';\n\n// Or import Tenant enum directly from schema\nimport { Tenant } from '@grantjs/schema';\n```\n\n## Contributing\n\nContributions are welcome! Please see the [main repository](https://github.com/grant-js/grant) for contribution guidelines.\n\n## Support\n\n- **Documentation**: See the [main Grant documentation](https://github.com/grant-js/grant)\n- **Issues**: Report bugs or request features on [GitHub Issues](https://github.com/grant-js/grant/issues)\n- **Product & account help**: [support@grantjs.org](mailto:support@grantjs.org)\n- **Security vulnerabilities**: Follow [SECURITY](https://github.com/grant-js/grant/blob/main/SECURITY.md) (reach **engineering@grantjs.org**)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}