{"_id":"@nodeboot/authorization","_rev":"34-47a02e1d5ae4e1bd0473fbba4c340328","name":"@nodeboot/authorization","dist-tags":{"latest":"1.4.1"},"versions":{"1.0.0":{"name":"@nodeboot/authorization","version":"1.0.0","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.0.0","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"a411ec44fe2d74193a5710c5e935c2ab79feae0d","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.0.0.tgz","fileCount":37,"integrity":"sha512-HSpuawV1miDUfoVlXSQqg5HWTLKk2BSyK1ohU3tXuGR4sd2XqhQRpwvCEhFeVz0ybxFDoR4oxY9Lz6zYssaZTg==","signatures":[{"sig":"MEYCIQCYP6HlPZTJ824G0IxHjKSCIHXYnRen+g/ciBeK+9efgQIhAKoQnb6NLDfdTE15vQmqfeRkLO/+beC4qAqv2U+ws3CY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100328},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.0.0.tgz","types":"src/index.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm build && pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/tmp/95c1c16c37f99f780c2f2e86f56fd19c/nodeboot-authorization-1.0.0.tgz","_integrity":"sha512-HSpuawV1miDUfoVlXSQqg5HWTLKk2BSyK1ohU3tXuGR4sd2XqhQRpwvCEhFeVz0ybxFDoR4oxY9Lz6zYssaZTg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"9.6.7","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@nodeboot/engine":"1.0.0","@nodeboot/context":"1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.0.0_1739996411837_0.05427352608112157","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@nodeboot/authorization","version":"1.0.1","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.0.1","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"535c5dd8d580f979436c3584a42163bbbfadd01c","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.0.1.tgz","fileCount":37,"integrity":"sha512-QfJWLJLj5XyPpJpbP80soPn2F+IBIR/0Q5HY+8mCnZbdjOqKzDSn7XZjnuxrlM+yLj8dda6EQa5dAuwrG0B3KA==","signatures":[{"sig":"MEYCIQDDLSz29NsBhnWWZXbVgrnPUzWsZdPeO5dgeIHefS+0lgIhAN57Yg7OuPrTvYrBY36gsT5S5Zth+S1nj74QAoMHSNh4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100328},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.0.1.tgz","types":"src/index.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm build && pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/tmp/b5f1734898747bae70937427aa796193/nodeboot-authorization-1.0.1.tgz","_integrity":"sha512-QfJWLJLj5XyPpJpbP80soPn2F+IBIR/0Q5HY+8mCnZbdjOqKzDSn7XZjnuxrlM+yLj8dda6EQa5dAuwrG0B3KA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"9.6.7","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@nodeboot/engine":"1.0.1","@nodeboot/context":"1.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.0.1_1739996752093_0.5904358296391854","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@nodeboot/authorization","version":"1.0.2","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.0.2","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"f2bedaf6d1077eac544e1f82caeb62ec9b872b4a","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.0.2.tgz","fileCount":13,"integrity":"sha512-nKptEScBcinsmT3N8ve0o4Q0g/s6KtL8cEF0MegffrSB5LAcWemy24oHH7XbKEqjAisXcqThqY3I3qV3XlVFPA==","signatures":[{"sig":"MEUCIQDKPKg0DKH99DPwuCV8iRk2SAYC3zQQHxosheQ5RzuEpAIgCkD1tPaiIGPEgSekfE0cwSeJFlODcAKvK3BUB3mvIGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8656},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.0.2.tgz","types":"src/index.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm build && pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/tmp/2f98dd6ee5732dfd7cda007a7ac4d9f8/nodeboot-authorization-1.0.2.tgz","_integrity":"sha512-nKptEScBcinsmT3N8ve0o4Q0g/s6KtL8cEF0MegffrSB5LAcWemy24oHH7XbKEqjAisXcqThqY3I3qV3XlVFPA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"9.6.7","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@nodeboot/engine":"1.0.2","@nodeboot/context":"1.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.0.2_1740003347029_0.590395513097183","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@nodeboot/authorization","version":"1.0.3","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.0.3","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"064a055cabe0de802c5c40b1e9f42b8bd13ee75b","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.0.3.tgz","fileCount":18,"integrity":"sha512-/6ttrrMCNe6skhG4/j6y1t8uz8MhsSZfwVkEQVkk4Xpbq1Y6Oi+1U2EbTXxg7XPh2cmJJG3U0QqQS39iNXZ9pg==","signatures":[{"sig":"MEUCIDs+CbTuGO7ndTIR0wXx7MFk0ovFHgPkJFfGnFCUbwYmAiEAtLDX8gkjVv7vbD35epjmIGCRVXSR1x+MJOzUs5Knxu4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10315},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.0.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","build:major":"pnpm build && pnpm version major","build:minor":"pnpm build && pnpm version minor","build:patch":"pnpm build && pnpm version patch","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/tmp/46bf10333db0e08901fd454e1485585d/nodeboot-authorization-1.0.3.tgz","_integrity":"sha512-/6ttrrMCNe6skhG4/j6y1t8uz8MhsSZfwVkEQVkk4Xpbq1Y6Oi+1U2EbTXxg7XPh2cmJJG3U0QqQS39iNXZ9pg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"9.6.7","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@nodeboot/engine":"1.0.9","@nodeboot/context":"1.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.0.3_1740007008338_0.8689365000101883","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@nodeboot/authorization","version":"1.1.0","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.0","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"e877c7f0b5ab9dca2b0dd8ec2127a8e6e59ecf4a","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.0.tgz","fileCount":18,"integrity":"sha512-97ZYiIPNXXo7bldNZboMEcpieun/villLuy5S0kEJB2njakMMiavUMOznTTtTauECDMfzpP9bg1cGnFqq3+mgg==","signatures":[{"sig":"MEYCIQDJMUPSv4H/l7khrpX6JO1Ng+uTbbE4xg+iYFYanZbqwAIhAMQig1P4a1vC6rX3gRtqja13cHZiDTlZcU73FYewGT/v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10218},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","build:major":"pnpm build && pnpm version major","build:minor":"pnpm build && pnpm version minor","build:patch":"pnpm build && pnpm version patch","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/tmp/578da2f7b6489dfe81ef197883cf493c/nodeboot-authorization-1.1.0.tgz","_integrity":"sha512-97ZYiIPNXXo7bldNZboMEcpieun/villLuy5S0kEJB2njakMMiavUMOznTTtTauECDMfzpP9bg1cGnFqq3+mgg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"9.6.7","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"18.17.1","dependencies":{"@nodeboot/engine":"1.1.0","@nodeboot/context":"1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.0_1740079965343_0.353143063750742","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@nodeboot/authorization","version":"1.1.1","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.1","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"6376cff724d43b1afcaa10e65fe640d3c6bd2024","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.1.tgz","fileCount":18,"integrity":"sha512-2pQi4H0JKYitQqQjjF2sbUTl/4pMbSMk5ec7rQArmgqzWHRH4x/ZuJrk/Hirag6bxR6Zlob+FobPluaKGGfS5Q==","signatures":[{"sig":"MEUCIEECJdiVGAitdARuG0NI1uH2ePOGv504MdMmcQM7ZUtKAiEA3P4q4S7AvU5NdMAOGsorj76a9xX/7c7eEC1yO7BWPPU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10218},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","build:major":"pnpm build && pnpm version major","build:minor":"pnpm build && pnpm version minor","build:patch":"pnpm build && pnpm version patch","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/tmp/5a01420ec0ca58e1216611f331e11aae/nodeboot-authorization-1.1.1.tgz","_integrity":"sha512-2pQi4H0JKYitQqQjjF2sbUTl/4pMbSMk5ec7rQArmgqzWHRH4x/ZuJrk/Hirag6bxR6Zlob+FobPluaKGGfS5Q==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.1","@nodeboot/context":"1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.1_1740405802845_0.16936982682102886","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@nodeboot/authorization","version":"1.1.2","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.2","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"2593aa264e1bcf90b7a712d9ebfc244e88fcd1fb","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.2.tgz","fileCount":18,"integrity":"sha512-PuIddfll4s4KJIYEK4BkGeT9n3/N9AzQNt0NkWyIBsyrImRxO2taYJzegJbWTmfBnGhRVkmkm48RHw23ax/7dw==","signatures":[{"sig":"MEQCIARwf+sGb7Gl702Ql1KNRXfnQZIp2TYj9btkX2+/c81BAiBEZ2C3ZnVFdk4m6ickPhSFIOdWRYUachQGPKMX8eceXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10218},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","release":"pnpm publish --access public --no-git-checks","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","build:major":"pnpm build && pnpm version major","build:minor":"pnpm build && pnpm version minor","build:patch":"pnpm build && pnpm version patch","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/b9d6e20ec96720a765b2aab3edabd37a/nodeboot-authorization-1.1.2.tgz","_integrity":"sha512-PuIddfll4s4KJIYEK4BkGeT9n3/N9AzQNt0NkWyIBsyrImRxO2taYJzegJbWTmfBnGhRVkmkm48RHw23ax/7dw==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.2","@nodeboot/context":"1.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.2_1740481467367_0.7350657169506318","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@nodeboot/authorization","version":"1.1.3","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.3","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"60cce5e270024bec52c97c8dffb3c19b39facdd5","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.3.tgz","fileCount":18,"integrity":"sha512-1vzSRH6QjaFucpxGxJOZVshqxEXLo3bujhp9Sx0akOxk4/EY+AJOy0XblsC8BCYRtp90OCCVE9QSmFzUuJtaFw==","signatures":[{"sig":"MEUCIGqYdNPhZ2PvyzXHk753bojFnOuuHccy+m6EZ+lb4HqzAiEAxpWtwc7IyuXKvFYXZAKJVriA5zNRpsE0wRFb8ShRi1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9990},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/b308b63ade6075906fb85fff505cd5f6/nodeboot-authorization-1.1.3.tgz","_integrity":"sha512-1vzSRH6QjaFucpxGxJOZVshqxEXLo3bujhp9Sx0akOxk4/EY+AJOy0XblsC8BCYRtp90OCCVE9QSmFzUuJtaFw==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.3","@nodeboot/context":"1.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.3_1740499421547_0.009904731755068896","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@nodeboot/authorization","version":"1.1.4","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.4","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"6f53e76f02a5c03b3f5cad7dd2931d19b989c544","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.4.tgz","fileCount":23,"integrity":"sha512-jy6IxFKw+x3lUOCqQuPhQ4yPNvHTYR2pArOyTa51pWd9jfNZsyIEalafzHwGABox8SCSzNF6FYcASmp8nfhAtQ==","signatures":[{"sig":"MEQCIH1Q0+qFKDLUtFK56BX7upqnisQo6MpdvPqxl/aTvodpAiAl91ujH9V0/faZ6I7e+0fCKrpLF2Z9QFk0veJdDLQkeA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11912},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/038142a6622417a02a627bf9359c1daa/nodeboot-authorization-1.1.4.tgz","_integrity":"sha512-jy6IxFKw+x3lUOCqQuPhQ4yPNvHTYR2pArOyTa51pWd9jfNZsyIEalafzHwGABox8SCSzNF6FYcASmp8nfhAtQ==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.4","@nodeboot/context":"1.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.4_1741032807362_0.3613572201543789","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@nodeboot/authorization","version":"1.1.5","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.5","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"462bdb032ad007340567e5b5316f24b5082e487a","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.5.tgz","fileCount":23,"integrity":"sha512-0lSTekGsy4+ZuapgOYFNQAI4w5jS2qh9AsCrmiPSWCHwwdcEcdimliL2BpIbLFgXg3prV70ZdwrsOWmHZpiK7g==","signatures":[{"sig":"MEYCIQD7IIId35B+VuqbXToLsWyFoS0AKbNsoEub5xre5yTFAQIhAP5Bltf+2GQg1BKan++IBQLYRLb70cwxMM9Y1t5M08yr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11912},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/ce09ce52331d4f91dd5296c3868f42db/nodeboot-authorization-1.1.5.tgz","_integrity":"sha512-0lSTekGsy4+ZuapgOYFNQAI4w5jS2qh9AsCrmiPSWCHwwdcEcdimliL2BpIbLFgXg3prV70ZdwrsOWmHZpiK7g==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.5","@nodeboot/context":"1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.5_1741171293096_0.650750300679658","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@nodeboot/authorization","version":"1.1.6","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.6","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"fa7da9640ab20016e19a8ad4ed8e7fcc128eda59","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.6.tgz","fileCount":23,"integrity":"sha512-4o4UkMqJEBFNUf1KpUqwimq95WnQgAzYIl/CuZAl2JJfWDK2ZI10PMm2wd2G8Nsiy/pxb6u1/UUSxDGYk6yjTA==","signatures":[{"sig":"MEYCIQDQoeUZZPRiTEheIFF7meS4w6luJiMoyjMQB4HWyEeJfwIhAI0sqzi2X+JvVztY/2LbDCLarACCq8si6XWkwN2fo1c7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11912},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/2122ceef9bbac839687b8bcafe2b89c4/nodeboot-authorization-1.1.6.tgz","_integrity":"sha512-4o4UkMqJEBFNUf1KpUqwimq95WnQgAzYIl/CuZAl2JJfWDK2ZI10PMm2wd2G8Nsiy/pxb6u1/UUSxDGYk6yjTA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.6","@nodeboot/context":"1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.6_1741181283258_0.8435597438986324","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@nodeboot/authorization","version":"1.1.7","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.7","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"cac63a93d31e4e7e74cce140a4f7d8668b7ed333","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.7.tgz","fileCount":23,"integrity":"sha512-CJgqh3ox19Xusi+Zf8obMnYsMF68Lku22muExwHyZJ/YDfNOUb3qvoKx/0/v0r7CTLVHCLuNfpbavR4KCweuIA==","signatures":[{"sig":"MEYCIQDnPwSnTUH4oc32zvbPtjAGKR57zEuvR845vY1sMpjiuQIhAM4mihHAc8danlzq0T/WCk0LoYudKsLeaaRgrETnM1PZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11912},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/b9c650fec1cfed51a4a14a3415866332/nodeboot-authorization-1.1.7.tgz","_integrity":"sha512-CJgqh3ox19Xusi+Zf8obMnYsMF68Lku22muExwHyZJ/YDfNOUb3qvoKx/0/v0r7CTLVHCLuNfpbavR4KCweuIA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.7","@nodeboot/context":"1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.7_1741183946574_0.8235276624192525","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@nodeboot/authorization","version":"1.1.8","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.8","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"3e820d826769aadcdee345fc384031d6cdae9389","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.8.tgz","fileCount":23,"integrity":"sha512-CLiH1sCvVymoREu5M0DSBFBST1MkEfwKkbv+wQk3cvjoLWiJWxTaV7HKmSjQmZJ44vmsDBQvgWJ2Sifs4bNgWw==","signatures":[{"sig":"MEQCIF40nFW4fmlCf2yBvqf6Jnmhe0SMPpTaOY3S0FFYssNJAiBWF8zs5aILqwPOAkikkuPDgzGhCOButenzpnTbaK8TiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11912},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/9792609adb6f2b4cf7e2dcdb7c50fac1/nodeboot-authorization-1.1.8.tgz","_integrity":"sha512-CLiH1sCvVymoREu5M0DSBFBST1MkEfwKkbv+wQk3cvjoLWiJWxTaV7HKmSjQmZJ44vmsDBQvgWJ2Sifs4bNgWw==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.8","@nodeboot/context":"1.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.8_1742741815791_0.06442153671905237","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@nodeboot/authorization","version":"1.1.9","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.9","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"c3cc2aa57f40ba71759330991d7e36f715692919","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.9.tgz","fileCount":23,"integrity":"sha512-W31UNsaF0QCRmSSXkC8l1G2d/t5ZkN9gwWbBQGMMGOwMNCJD9jkX3iY8WsARY4b0xblph/l4l2lIiFqRh4kdeA==","signatures":[{"sig":"MEUCIG9XMEqxV2ih+uqI0822JU/294NImDisZHCLo4Ap7BywAiEAndr6RjjzJ+a/osNQTWDpJZxwYsVA98QpoJuZNHhzY74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11912},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.9.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/59389a0dbceb95be7b0ed00a0d826e2d/nodeboot-authorization-1.1.9.tgz","_integrity":"sha512-W31UNsaF0QCRmSSXkC8l1G2d/t5ZkN9gwWbBQGMMGOwMNCJD9jkX3iY8WsARY4b0xblph/l4l2lIiFqRh4kdeA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.9","@nodeboot/context":"1.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.9_1742857059659_0.4174948857678926","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@nodeboot/authorization","version":"1.1.10","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.1.10","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"7f85e0d53a109a493febee46cdcd99cac4aea4a1","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.1.10.tgz","fileCount":23,"integrity":"sha512-+gw3Vg+na2E1R2xHfWhLvMwPMFHyuQfoX/Nn2xJeJ3SUeqxfaypVpDuBbUyYShHIWFArIPFPiEUuw41o0Olmzg==","signatures":[{"sig":"MEYCIQDT3zTqVZpj101MLu4bK9akx7M5nZLnATa/M79Sq7n6CwIhAMeVmWON6giy84Im6NMCUrTeXWY1+LM2T8c6OTNAXdtR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11914},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.1.10.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/620c12f127cd7deeb0d6830caa0ae7be/nodeboot-authorization-1.1.10.tgz","_integrity":"sha512-+gw3Vg+na2E1R2xHfWhLvMwPMFHyuQfoX/Nn2xJeJ3SUeqxfaypVpDuBbUyYShHIWFArIPFPiEUuw41o0Olmzg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.1.10","@nodeboot/context":"1.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.1.10_1742863311751_0.5950241301210204","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@nodeboot/authorization","version":"1.2.0","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.0","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"dd866e683dc6f7fc91129cf5d41fc9f74f908884","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.0.tgz","fileCount":23,"integrity":"sha512-RwsXmPpsHVe0EL3I5KAGyRDkdj3suI2goFPoNMUTBFLlu/7VnBA874GwtmMc1P/kuhvPdOfSb15JJxNH7CBjXA==","signatures":[{"sig":"MEQCIDAnKNHwz+qqOgtKWyiwJO8WuR3PewJmbPtZY8GcA2btAiBcyh5+83m8pvXAqk4+Ygc2mA1Xn/aKF9XU/PJLQvy85Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/75a23a1d1df63ff8404a151feb6a6486/nodeboot-authorization-1.2.0.tgz","_integrity":"sha512-RwsXmPpsHVe0EL3I5KAGyRDkdj3suI2goFPoNMUTBFLlu/7VnBA874GwtmMc1P/kuhvPdOfSb15JJxNH7CBjXA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.2.0","@nodeboot/context":"1.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.0_1745249461551_0.06594467036278706","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@nodeboot/authorization","version":"1.2.1","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.1","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"248df12882f0438376a688f4f74092bb7aa24c72","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.1.tgz","fileCount":23,"integrity":"sha512-j8ehA4KnPpwNWJktIkvlDzQgBenwX67UQ0vQsB+7Lz07TWBGl0IqTErePORkdGY8MXYzcMeGh07JyxEOw5VkOQ==","signatures":[{"sig":"MEQCIHEJGrq4cn6YgJvR7f9tRd0QWwJZ6ulwVf7RfcZw2+z6AiAf4Kxxcwr+h1kACiCNwYMJurLanbUxcp8SE8iFBat3FQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/1236b0ec87f4d1a84c6364d778dc43ba/nodeboot-authorization-1.2.1.tgz","_integrity":"sha512-j8ehA4KnPpwNWJktIkvlDzQgBenwX67UQ0vQsB+7Lz07TWBGl0IqTErePORkdGY8MXYzcMeGh07JyxEOw5VkOQ==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.2.1","@nodeboot/context":"1.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.1_1745519782779_0.8499749278280102","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@nodeboot/authorization","version":"1.2.2","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.2","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"510971c861d53a7a94a836b0e654353b18a652d9","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.2.tgz","fileCount":23,"integrity":"sha512-mmLZmxIRlWLxiScMTgz4f5F/rMoWR6vAVf7iHmXUtR5ESH1AJzh8l3CyfBGQLxNodyEkQ4CO6Q1ZxTNRAw3xQA==","signatures":[{"sig":"MEYCIQCPatrT42PzjXN2WC3VP3CY47EqWytOdAhbopNQYzvlgQIhALUXKNiHlhll5Uyq+576JiQbGUZ94ehRKoViEhx2pSh+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/7d494444939cf397ceb9a0f40b1a2580/nodeboot-authorization-1.2.2.tgz","_integrity":"sha512-mmLZmxIRlWLxiScMTgz4f5F/rMoWR6vAVf7iHmXUtR5ESH1AJzh8l3CyfBGQLxNodyEkQ4CO6Q1ZxTNRAw3xQA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.2.2","@nodeboot/context":"1.8.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.2_1749488100643_0.7579302509135062","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@nodeboot/authorization","version":"1.2.3","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.3","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"7a1a09491e80f1efb19141725528f866c14457d0","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.3.tgz","fileCount":23,"integrity":"sha512-vYfMjRtS2N2f+7EpfaOeoagIo80IGp110hmtEW5uhb+xuFW8GTbhjDouFK/EjE/rygXy32Z1hEFy1BwRSgLs0A==","signatures":[{"sig":"MEUCIQC2kypUteMl1/LYxD8k1WrHIEyc5xmzzKnGPVAS+2Lh3wIgNBlO1ZDzNFL51rbU9B+tox79oXo2snUJNLD017040QQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/3e9b979bb4cea4f537ef3c5319bfce0b/nodeboot-authorization-1.2.3.tgz","_integrity":"sha512-vYfMjRtS2N2f+7EpfaOeoagIo80IGp110hmtEW5uhb+xuFW8GTbhjDouFK/EjE/rygXy32Z1hEFy1BwRSgLs0A==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.2.3","@nodeboot/context":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.3_1749490214742_0.9106383392964061","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@nodeboot/authorization","version":"1.2.4","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.4","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"69089ea0dcbfa81b6e229129168ad8671a75fe4c","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.4.tgz","fileCount":23,"integrity":"sha512-MlptG7Od5cqMLnEBSnYfE65dsNDve4aLfF+vdh798lL+Qq97CmmXR0ZukGF5Q7KSXF2lRgPRm6KJpOYabsDL5Q==","signatures":[{"sig":"MEUCICYdFxaShnPfF/cVpXJjTnXxWuXuOoT/vAEzTSBdbto/AiEAqlY9+FP04JHQnHlAAivVx6obHnM8sDFjBqi8Dd4UBHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/9ffee47aa48f81c6961dff563f8bedf9/nodeboot-authorization-1.2.4.tgz","_integrity":"sha512-MlptG7Od5cqMLnEBSnYfE65dsNDve4aLfF+vdh798lL+Qq97CmmXR0ZukGF5Q7KSXF2lRgPRm6KJpOYabsDL5Q==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.8.2","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@nodeboot/engine":"1.2.4","@nodeboot/context":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.4_1750089388433_0.639277320696646","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"@nodeboot/authorization","version":"1.2.5","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.5","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"726f762fc196919dec10df4b90ba22ca5ae6d161","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.5.tgz","fileCount":23,"integrity":"sha512-AazIqCXVhkfc4+bOtwp9r0k1v08mygMD66a9L7e17ZDHUDvvrW7gsdcQfKWGWryM8KDPnqYoOTaLKdfUPt4cxg==","signatures":[{"sig":"MEUCIQCSQuykK/21MUZNHYW4dj85Lo939G39E+Imd0IaAK2EMAIgVnQ+WoWrajakNZ5XF1O1j+cXPczYjgsjl1YbQAzAb38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/3669aae5de43b37dddc4593772fe2bd2/nodeboot-authorization-1.2.5.tgz","_integrity":"sha512-AazIqCXVhkfc4+bOtwp9r0k1v08mygMD66a9L7e17ZDHUDvvrW7gsdcQfKWGWryM8KDPnqYoOTaLKdfUPt4cxg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.8.2","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@nodeboot/engine":"1.3.0","@nodeboot/context":"1.9.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.5_1750097261963_0.013288237649399903","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"@nodeboot/authorization","version":"1.2.6","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.6","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"29c5523402f42e7f2f37209ca4cc76a2bd4815e4","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.6.tgz","fileCount":23,"integrity":"sha512-jDu9s9g/5IUa7pfCbf6TELVt8JSzsn6PIRECNPU5+g4cn9Fiw4SGS/f10BZpD9/i9ssqOrTpbB45dQCEsoZttQ==","signatures":[{"sig":"MEQCIFC9GI4WQ0RUuW6Nny4kPLQYvuzepemCiCAvU7a4JPt5AiAWlX4Obu2X+hr5/nw3AcsCXBJWz69zSypNoZ8ZLdTBnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11928},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/a51bf1eaf26f9d3e1ff7af83af05f6ba/nodeboot-authorization-1.2.6.tgz","_integrity":"sha512-jDu9s9g/5IUa7pfCbf6TELVt8JSzsn6PIRECNPU5+g4cn9Fiw4SGS/f10BZpD9/i9ssqOrTpbB45dQCEsoZttQ==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.3.1","@nodeboot/context":"1.10.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.6_1753812210224_0.7851039039171259","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"@nodeboot/authorization","version":"1.2.7","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.7","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"2ac6bbfff57f732f3cbc59e472c0c7436091e190","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.7.tgz","fileCount":23,"integrity":"sha512-LlJBUiL1pd7U2TK203Da4hhpCxTG2pRhVLt07skCB74jBm/sanX8zTsOA4GjNjHKmHf7CSC8SWZtiRmUXSbMuQ==","signatures":[{"sig":"MEUCIQD65IgZxHbIEXCtFnmA/yguYr2pRLRUr7W8JYFvEGHu3wIger/u+iyChL31tDg8G1cB9+IX41a30e1VBwY8qGBfDdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11928},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/f35b5082768464c715d9e700a804214e/nodeboot-authorization-1.2.7.tgz","_integrity":"sha512-LlJBUiL1pd7U2TK203Da4hhpCxTG2pRhVLt07skCB74jBm/sanX8zTsOA4GjNjHKmHf7CSC8SWZtiRmUXSbMuQ==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.4.0","@nodeboot/context":"1.11.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.7_1755129356230_0.7736526796526377","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"@nodeboot/authorization","version":"1.2.8","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.2.8","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"d08e342f25ff6c2029bd9b9f90e6270e4b44721a","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.2.8.tgz","fileCount":23,"integrity":"sha512-VUajoxeQjcqSUdrrawpXGcntg3XqFEBVs9IubzDPo7Ele6bkduoM+Mf0bx06/TzDp0scboVSMssK51gpK+Q0HA==","signatures":[{"sig":"MEYCIQC6DF+UMv6fXPiKVw0lwXZyehUc+112YYGtMS8yJHVduQIhAJLKm6EcZcyURAUNCDStuf2stH1Z9eobIuW8noUAuVGt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11928},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.2.8.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/710918ff89b28d5d65dec42626e66354/nodeboot-authorization-1.2.8.tgz","_integrity":"sha512-VUajoxeQjcqSUdrrawpXGcntg3XqFEBVs9IubzDPo7Ele6bkduoM+Mf0bx06/TzDp0scboVSMssK51gpK+Q0HA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.4.1","@nodeboot/context":"1.11.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.2.8_1755163376458_0.8583102043010067","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@nodeboot/authorization","version":"1.3.0","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.0","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"c38ba15a33b131e10754d1be33cf21b004edc679","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.0.tgz","fileCount":23,"integrity":"sha512-3tc11Pcxirxz7txpGnB4dvmvGQOoyhP5jRiKQzFtWJrANjPa78ExKPyyaK4oqnhqCbh+w3RYuGQ2U3LCav04TA==","signatures":[{"sig":"MEUCIQCRN7q3VkHMKYKOd9DdCE2KVxKQ1xhYa6zGm45ur8Ce8AIgefGN8r643eFk8AokU8VjvSjfnnAXXMJCd/AeWDS+95c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11928},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.0.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/dca1dacddea8ae7402e25ae1e4c4c005/nodeboot-authorization-1.3.0.tgz","_integrity":"sha512-3tc11Pcxirxz7txpGnB4dvmvGQOoyhP5jRiKQzFtWJrANjPa78ExKPyyaK4oqnhqCbh+w3RYuGQ2U3LCav04TA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.5.0","@nodeboot/context":"1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.0_1758800394142_0.6917627282547225","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@nodeboot/authorization","version":"1.3.1","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.1","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"2168bbcf88337cd0a5831cc4b99af40fc52d49be","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.1.tgz","fileCount":23,"integrity":"sha512-sI1kx6P3vLsFRP6VTqwSaVlskqoiW52TkqIDT44V+WyfmIPsJ7UPIymMGhJdgz+0qO27N627ISZa5h1fagLC1g==","signatures":[{"sig":"MEQCIEE3TV3tp7UCTeGZbz/y8pQiFSI3LH0LYFVEllQwA8xIAiArlwo9OE56XFTqGl+EgaipdXN/L4JEU97SmlYchOkCuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11928},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.1.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/4558809c4b951725cad259451571e3d6/nodeboot-authorization-1.3.1.tgz","_integrity":"sha512-sI1kx6P3vLsFRP6VTqwSaVlskqoiW52TkqIDT44V+WyfmIPsJ7UPIymMGhJdgz+0qO27N627ISZa5h1fagLC1g==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.0","@nodeboot/context":"1.13.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.1_1759079770551_0.7867251549195406","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@nodeboot/authorization","version":"1.3.2","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.2","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"0d0ed80fa383215d210d27b72c87c5150d53e6f0","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.2.tgz","fileCount":23,"integrity":"sha512-CQRa8w8h45AsFxgB6GTFjnLBA37FrgOTfzUWL8h//vc22SY9y2iSxFk4Oe6ahXv8zhWCrRBQIyGeML6hQZm9yg==","signatures":[{"sig":"MEUCIQD9V/6h/m2pgAhCdDLM9+VLYE3oHhw/tq8ES3eBgBUYEAIgEMfRb54fSgfrn4oZ5fahy8/hlTAws52ab2HnPTwk+FA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11928},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.2.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/a47095b1b974ce27870b5a56dd372f94/nodeboot-authorization-1.3.2.tgz","_integrity":"sha512-CQRa8w8h45AsFxgB6GTFjnLBA37FrgOTfzUWL8h//vc22SY9y2iSxFk4Oe6ahXv8zhWCrRBQIyGeML6hQZm9yg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.1","@nodeboot/context":"1.13.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.2_1761858874019_0.07320426440457606","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@nodeboot/authorization","version":"1.3.3","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.3","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"222e2e997d70b86fe947253edf55e3b5e0953f00","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.3.tgz","fileCount":23,"integrity":"sha512-KsWssB3Y+fdKJ9CGprPvA+Xbz7+uy+XViwX2KbCGkJqkwJUYN8cMxqsnLtDElQTqfe0LeTloVdYq90oJnokFTA==","signatures":[{"sig":"MEQCIF0tDeVsfWttSpWkUHBdrSzpM7mCgUCVsM7eoPgTeArOAiBBJThQYogEidoaSiySj2iGPkaP49D3Qdv9MHjbJS0X8w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.3.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/aa2f86f90e8492b7e476d29171444d71/nodeboot-authorization-1.3.3.tgz","_integrity":"sha512-KsWssB3Y+fdKJ9CGprPvA+Xbz7+uy+XViwX2KbCGkJqkwJUYN8cMxqsnLtDElQTqfe0LeTloVdYq90oJnokFTA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.2","@nodeboot/context":"2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.3_1761872743309_0.3217058242926385","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@nodeboot/authorization","version":"1.3.4","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.4","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"61ed2108cd18870099844f16acd57f629c9350c4","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.4.tgz","fileCount":23,"integrity":"sha512-zryb3QREEsEdOMthTWCs00ulKHesrND5UD3i0DjE9BCLTpeIwEBsDYwK4X83lMyYK4Xhi543KX8xP3m3E4OaSA==","signatures":[{"sig":"MEUCIQCVk27PzlzEkpUKym/JHVu7vEIT109+rlbc9q5VKvcR6gIgUt/Lw9voR03ziV+lku7cWNk0Q4SiVp+teTNVunh+MSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.4.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/d00192a67bcd7d4facc89c4865263801/nodeboot-authorization-1.3.4.tgz","_integrity":"sha512-zryb3QREEsEdOMthTWCs00ulKHesrND5UD3i0DjE9BCLTpeIwEBsDYwK4X83lMyYK4Xhi543KX8xP3m3E4OaSA==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.3","@nodeboot/context":"2.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.4_1762175662363_0.6097563267272461","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@nodeboot/authorization","version":"1.3.5","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.5","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"4a89490730a33ae4e875816ac105bfeffe8ffaec","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.5.tgz","fileCount":23,"integrity":"sha512-4mbjD116bBjYZHDG20LxgAN+qLV/XpLZGEu767soMCeafT0noDqos+8SgkKqD4mmGuVUPPIA2plSmiMuAOsYKQ==","signatures":[{"sig":"MEUCIQCtx9uPIfb39Ed0PLzGujbTQwwEhBIYSh6LW0rdBcbzzAIgH4/JjYAuOAGzDNtOlXzKRCJgTaZFHzu/UqmAHVVjKwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.5.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/5afb196d958baf4f427b1cf2f8550672/nodeboot-authorization-1.3.5.tgz","_integrity":"sha512-4mbjD116bBjYZHDG20LxgAN+qLV/XpLZGEu767soMCeafT0noDqos+8SgkKqD4mmGuVUPPIA2plSmiMuAOsYKQ==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.4","@nodeboot/context":"2.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.5_1762860711446_0.1329727418813238","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@nodeboot/authorization","version":"1.3.6","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.6","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"3a0aaab3b50a23b783c937317b0a9c10b2f30e49","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.6.tgz","fileCount":23,"integrity":"sha512-dnCuVhZaN7TIPFR+QBjDQ2Fzbi7Iiu5wX3w54kMwGOEJk8fZFFnSrIYPaSqv25XxctwZAboDf7fCDfG8amd/xg==","signatures":[{"sig":"MEUCIQDAYLmW2Gk8RLJcSa71sygnudkfr6ouOG/OhQvj9dTs4wIgHzKRJgjTg6DthmiCVv9GXimibFgHp18MsJPIS+R9n8A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.6.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/b3ba5f981a7f24c51f2e9901ae795fa7/nodeboot-authorization-1.3.6.tgz","_integrity":"sha512-dnCuVhZaN7TIPFR+QBjDQ2Fzbi7Iiu5wX3w54kMwGOEJk8fZFFnSrIYPaSqv25XxctwZAboDf7fCDfG8amd/xg==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.5","@nodeboot/context":"2.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.6_1762865628131_0.4797923479905939","host":"s3://npm-registry-packages-npm-production"}},"1.3.7":{"name":"@nodeboot/authorization","version":"1.3.7","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.7","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"2f02b3f73d99022a50748dc2f8bab21dd6e5b1fe","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.7.tgz","fileCount":23,"integrity":"sha512-++LVEC/X1yJF04JXbbPndzXlHf84e9vmhdyhnNgGTpoaOkE/ZlUKmYGw3GaqltTsGqApBP2ZyuBCfir0Pvemtw==","signatures":[{"sig":"MEQCICV7ssvEVmR7L1xIJI+S5maPA/GH1eAxXkiXavoHBqvoAiAPtbDiMARenT+48BESWhQpSPQFjFkS28KhjD6X+u8cKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11927},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.7.tgz","types":"dist/index.d.ts","scripts":{"dev":"nodemon","lint":"eslint . --ext .js,.ts","test":"jest --passWithNoTests","build":"tsc -p tsconfig.build.json","format":"prettier --check .","lint:fix":"pnpm lint --fix","typecheck":"tsc","format:fix":"prettier --write .","clean:build":"rimraf ./dist"},"_npmUser":{"name":"santoman","email":"ney.br.santos@gmail.com"},"_resolved":"/private/var/folders/2q/12ffr9b16ts5c_ntk_dh05780000gn/T/83d8af8671fb1b43a73f7103d86ebef4/nodeboot-authorization-1.3.7.tgz","_integrity":"sha512-++LVEC/X1yJF04JXbbPndzXlHf84e9vmhdyhnNgGTpoaOkE/ZlUKmYGw3GaqltTsGqApBP2ZyuBCfir0Pvemtw==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"10.9.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.12.0","dependencies":{"@nodeboot/engine":"1.6.6","@nodeboot/context":"2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.7_1763649428426_0.8869137701292718","host":"s3://npm-registry-packages-npm-production"}},"1.3.8":{"name":"@nodeboot/authorization","version":"1.3.8","keywords":["monorepo","typescript"],"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","_id":"@nodeboot/authorization@1.3.8","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"homepage":"https://github.com/nodejs-boot/node-boot#readme","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"dist":{"shasum":"5a0b5c8d76b6707fce43c713dc542b4a25c6f12f","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.3.8.tgz","fileCount":3,"integrity":"sha512-7H2JOzztg6gpqodhoZMqLx8nuVVrYeVsu2gsMWff05uSFSn/ijSILwwLqRz2oHrhBQ15YLyRlH7uOAOW9FDmGw==","signatures":[{"sig":"MEYCIQDs0JhD6vYQvuRFIylqP9k6Dr040iJ882/WqUKR4aVRTgIhANi0DoADRaeZXKGzVHFBLtEqM1v5LoARlG9c52CSUWrL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nodeboot%2fauthorization@1.3.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":28680},"main":"dist/index.js","_from":"file:nodeboot-authorization-1.3.8.tgz","types":"dist/index.d.ts","scripts":{"tsc":"tsc","lint":"eslint . --ext .js,.ts","test":"node --test --test-reporter node-test-reporter --require ts-node/register test/**/*.{test,it.test}.ts","build":"tsc -p tsconfig.build.json","format":"prettier --check .","pretest":"pnpm run clean:build && pnpm run build","lint:fix":"pnpm lint --fix","format:fix":"prettier --write .","clean:build":"rimraf ./dist","test:coverage":"node --experimental-test-coverage --test --test-reporter node-test-reporter --require ts-node/register test/**/*.{test,it.test}.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:def8291d-1da5-4e09-950f-2c87ebe00a54"}},"_resolved":"/tmp/942568c939ae03a286783d4bd3cf0a7b/nodeboot-authorization-1.3.8.tgz","_integrity":"sha512-7H2JOzztg6gpqodhoZMqLx8nuVVrYeVsu2gsMWff05uSFSn/ijSILwwLqRz2oHrhBQ15YLyRlH7uOAOW9FDmGw==","repository":{"url":"git+https://github.com/nodejs-boot/node-boot.git","type":"git"},"_npmVersion":"11.11.0","description":"The first typescript example for the Monorepo example","directories":{},"_nodeVersion":"22.23.1","dependencies":{"@nodeboot/engine":"1.7.0","@nodeboot/context":"2.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/authorization_1.3.8_1786578666872_0.24930663060546454","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"@nodeboot/authorization","version":"1.4.1","description":"The first typescript example for the Monorepo example","author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","keywords":["monorepo","typescript"],"repository":{"type":"git","url":"git+https://github.com/nodejs-boot/node-boot.git"},"publishConfig":{"access":"public"},"main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"@nodeboot/context":"2.5.1","@nodeboot/engine":"1.9.0"},"scripts":{"build":"tsc -p tsconfig.build.json","clean:build":"rimraf ./dist","lint":"eslint . --ext .js,.ts","lint:fix":"pnpm lint --fix","format":"prettier --check .","format:fix":"prettier --write .","pretest":"pnpm run clean:build && pnpm run build","test":"node --test --test-reporter node-test-reporter --require ts-node/register test/**/*.{test,it.test}.ts","test:coverage":"node --experimental-test-coverage --test --test-reporter node-test-reporter --require ts-node/register test/**/*.{test,it.test}.ts","tsc":"tsc"},"_id":"@nodeboot/authorization@1.4.1","bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"homepage":"https://github.com/nodejs-boot/node-boot#readme","_integrity":"sha512-I/+5CWylcR7YMIa8NfcCGf9CpZ1OCv2PMPGJh8hqIPt8ak7OyvQ2+8N/QeSeHYEPFFF/zNSo512bX0Yglw5wAw==","_resolved":"/tmp/2b80500915974196185b835f8f082d71/nodeboot-authorization-1.4.1.tgz","_from":"file:nodeboot-authorization-1.4.1.tgz","_nodeVersion":"22.23.2","_npmVersion":"11.11.0","dist":{"integrity":"sha512-I/+5CWylcR7YMIa8NfcCGf9CpZ1OCv2PMPGJh8hqIPt8ak7OyvQ2+8N/QeSeHYEPFFF/zNSo512bX0Yglw5wAw==","shasum":"aafc2d573f198e698f35d99bed9a477bb1a1a63c","tarball":"https://registry.npmjs.org/@nodeboot/authorization/-/authorization-1.4.1.tgz","fileCount":23,"unpackedSize":37408,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@nodeboot%2fauthorization@1.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIE8rcFxq0G5Yk+dQVshOa4xiCCYQl4INNYEasOigs8KVAiAS32EWPI/1MrALyvifylLxGE2Cg1SYHZmOisvu0ONxHg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:def8291d-1da5-4e09-950f-2c87ebe00a54"}},"directories":{},"maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/authorization_1.4.1_1788223020258_0.029951958305734383"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-19T20:20:11.776Z","modified":"2026-09-01T00:37:00.713Z","1.0.0":"2025-02-19T20:20:12.051Z","1.0.1":"2025-02-19T20:25:52.286Z","1.0.2":"2025-02-19T22:15:47.212Z","1.0.3":"2025-02-19T23:16:48.526Z","1.1.0":"2025-02-20T19:32:45.532Z","1.1.1":"2025-02-24T14:03:23.040Z","1.1.2":"2025-02-25T11:04:27.676Z","1.1.3":"2025-02-25T16:03:41.782Z","1.1.4":"2025-03-03T20:13:27.512Z","1.1.5":"2025-03-05T10:41:33.254Z","1.1.6":"2025-03-05T13:28:03.418Z","1.1.7":"2025-03-05T14:12:26.751Z","1.1.8":"2025-03-23T14:56:55.959Z","1.1.9":"2025-03-24T22:57:39.830Z","1.1.10":"2025-03-25T00:41:51.924Z","1.2.0":"2025-04-21T15:31:01.747Z","1.2.1":"2025-04-24T18:36:22.959Z","1.2.2":"2025-06-09T16:55:00.826Z","1.2.3":"2025-06-09T17:30:14.921Z","1.2.4":"2025-06-16T15:56:28.662Z","1.2.5":"2025-06-16T18:07:42.141Z","1.2.6":"2025-07-29T18:03:30.437Z","1.2.7":"2025-08-13T23:55:56.399Z","1.2.8":"2025-08-14T09:22:56.614Z","1.3.0":"2025-09-25T11:39:54.322Z","1.3.1":"2025-09-28T17:16:10.749Z","1.3.2":"2025-10-30T21:14:34.229Z","1.3.3":"2025-10-31T01:05:43.528Z","1.3.4":"2025-11-03T13:14:22.556Z","1.3.5":"2025-11-11T11:31:51.643Z","1.3.6":"2025-11-11T12:53:48.305Z","1.3.7":"2025-11-20T14:37:08.626Z","1.3.8":"2026-08-12T23:51:07.008Z","1.4.1":"2026-09-01T00:37:00.386Z"},"bugs":{"url":"https://github.com/nodejs-boot/node-boot/issues"},"author":{"name":"Manuel Santos","email":"ney.br.santos@gmail.com"},"license":"MIT","homepage":"https://github.com/nodejs-boot/node-boot#readme","keywords":["monorepo","typescript"],"repository":{"type":"git","url":"git+https://github.com/nodejs-boot/node-boot.git"},"description":"The first typescript example for the Monorepo example","maintainers":[{"name":"santoman","email":"ney.br.santos@gmail.com"}],"readme":"# 🔐 `@nodeboot/authorization` – Authorization Support for Node-Boot\n\n## Overview\n\nThe `@nodeboot/authorization` package adds authorization hooks to a **Node-Boot** application through decorators and checker classes.\n\nIt provides three focused APIs:\n\n-   `@EnableAuthorization(...)` to register your authorization and current-user resolvers\n-   `@Authorized(...)` to protect controllers or controller actions\n-   `@CurrentUser(...)` to inject the authenticated user into action parameters\n\nThis package does **not** implement authentication by itself. Instead, it connects your own logic to the Node-Boot request pipeline.\n\n---\n\n## ✨ Features\n\n✅ **Decorator-based route protection** using `@Authorized()`  \n✅ **Role-aware authorization** using `@Authorized(\"ADMIN\")` or `@Authorized([\"ADMIN\", \"USER\"])`  \n✅ **Current user injection** with `@CurrentUser()` in controller method parameters  \n✅ **Application-level setup** through `@EnableAuthorization(...)`  \n✅ **Works with Node-Boot controllers and drivers** by integrating with framework metadata and request handling  \n✅ **DI-friendly design** because checker classes are resolved from the application container\n\n---\n\n## 🚀 Installation\n\nInstall the package in your Node-Boot project:\n\n```sh\npnpm add @nodeboot/authorization\n```\n\nIn a typical application, you will use it together with `@nodeboot/core`, a server package such as `@nodeboot/express-server`, and your DI setup.\n\n---\n\n## 📦 Exported API\n\nThis package exports:\n\n-   `EnableAuthorization`\n-   `Authorized`\n-   `CurrentUser`\n\n---\n\n## 🔥 Usage\n\n### 1️⃣ Register authorization in your application\n\n`@EnableAuthorization(currentUserCheckerClass, authorizationCheckerClass)` stores the checker classes in the Node-Boot application context so they can be resolved and used at runtime.\n\n```typescript\nimport \"reflect-metadata\";\nimport {Container} from \"typedi\";\nimport {NodeBoot, NodeBootApp, NodeBootAppView, NodeBootApplication} from \"@nodeboot/core\";\nimport {ExpressServer} from \"@nodeboot/express-server\";\nimport {EnableDI} from \"@nodeboot/di\";\nimport {EnableComponentScan} from \"@nodeboot/aot\";\nimport {EnableAuthorization} from \"@nodeboot/authorization\";\nimport {LoggedInUserResolver} from \"./auth/LoggedInUserResolver\";\nimport {DefaultAuthorizationResolver} from \"./auth/DefaultAuthorizationResolver\";\n\n@EnableDI(Container)\n@EnableAuthorization(LoggedInUserResolver, DefaultAuthorizationResolver)\n@EnableComponentScan()\n@NodeBootApplication()\nexport class SampleApp implements NodeBootApp {\n    start(): Promise<NodeBootAppView> {\n        return NodeBoot.run(ExpressServer);\n    }\n}\n```\n\nThis matches the pattern used in the repository samples for Express, Fastify, Koa, and the native HTTP server.\n\n---\n\n### 2️⃣ Implement a `CurrentUserChecker`\n\nA current-user checker implements `CurrentUserChecker` from `@nodeboot/context`. Its `check(action)` method should resolve the user associated with the incoming request.\n\n```typescript\nimport {Component} from \"@nodeboot/core\";\nimport {Action, CurrentUserChecker} from \"@nodeboot/context\";\nimport {Request, Response} from \"express\";\n\n@Component()\nexport class LoggedInUserResolver implements CurrentUserChecker<Request, Response> {\n    async check(action: Action<Request, Response>): Promise<any> {\n        const authHeader = action.request.headers.authorization;\n\n        if (!authHeader) {\n            return null;\n        }\n\n        return {\n            id: 1,\n            username: \"exampleUser\",\n            roles: [\"USER\", \"ADMIN\"],\n        };\n    }\n}\n```\n\nIn this repo, sample resolvers read request data and return a user object for downstream controller logic.\n\n---\n\n### 3️⃣ Implement an `AuthorizationChecker`\n\nAn authorization checker implements `AuthorizationChecker` from `@nodeboot/context`. Node-Boot calls `check(action, roles)` for routes decorated with `@Authorized(...)`.\n\n```typescript\nimport {Component} from \"@nodeboot/core\";\nimport {Action, AuthorizationChecker} from \"@nodeboot/context\";\nimport {Request, Response} from \"express\";\n\n@Component()\nexport class DefaultAuthorizationResolver implements AuthorizationChecker<Request, Response> {\n    async check(_: Action<Request, Response>, roles: string[]): Promise<boolean> {\n        const user = {\n            roles: [\"USER\", \"ADMIN\"],\n        };\n\n        if (user && !roles.length) {\n            return true;\n        }\n\n        return !!roles.find(role => user.roles.includes(role));\n    }\n}\n```\n\n### What the `roles` argument means\n\n-   `@Authorized()` → authorization is required, but no specific role is demanded\n-   `@Authorized(\"ADMIN\")` → your checker receives `roles = [\"ADMIN\"]`\n-   `@Authorized([\"ADMIN\", \"USER\"])` → your checker receives both role values\n\n---\n\n### 4️⃣ Protect controller actions with `@Authorized`\n\nReal sample controllers in this repository use `@Authorized()` and `@Authorized(\"ADMIN\")` directly on Node-Boot actions.\n\n```typescript\nimport {Body, Controller, Get, HttpCode, Post} from \"@nodeboot/core\";\nimport {Authorized, CurrentUser} from \"@nodeboot/authorization\";\n\n@Controller(\"/users\", \"v1\")\nexport class UserController {\n    @Get(\"/me\")\n    @Authorized()\n    async me(@CurrentUser({required: true}) currentUser: any) {\n        return currentUser;\n    }\n\n    @Post(\"/\")\n    @HttpCode(201)\n    @Authorized(\"ADMIN\")\n    async createUser(@Body() userData: {email: string; username: string}, @CurrentUser() currentUser: any) {\n        return {\n            createdBy: currentUser,\n            userData,\n        };\n    }\n}\n```\n\nA few important details come from the actual implementation:\n\n-   `@Authorized()` stores authorization metadata for the target action\n-   `@CurrentUser()` registers a special parameter of type `\"current-user\"`\n-   `@CurrentUser({required: true})` forces authorization and raises an authorization error if no user is resolved\n\n---\n\n### 5️⃣ Apply `@Authorized` at controller level\n\nThe `Authorized` decorator supports both controller-level and method-level metadata. Internally, class-level roles are merged with action-level roles.\n\n```typescript\nimport {Controller, Get} from \"@nodeboot/core\";\nimport {Authorized} from \"@nodeboot/authorization\";\n\n@Authorized(\"ADMIN\")\n@Controller(\"/admin\")\nexport class AdminController {\n    @Get(\"/stats\")\n    async stats() {\n        return {ok: true};\n    }\n}\n```\n\nUse this when an entire controller should share the same access requirement.\n\n---\n\n## ⚙️ How it Works Internally\n\nThis package is intentionally small, but it plugs into several core Node-Boot internals.\n\n### `EnableAuthorization`\n\n`EnableAuthorization` writes checker classes into `ApplicationContext`:\n\n-   `ApplicationContext.get().authorizationChecker`\n-   `ApplicationContext.get().currentUserChecker`\n\nLater, `@NodeBootApplication()` resolves those classes from the IoC container and passes the resulting instances into the server driver.\n\n### `Authorized`\n\n`Authorized` uses `NodeBootToolkit.getMetadataArgsStorage().responseHandlers.push(...)` with:\n\n-   `type: \"authorized\"`\n-   `target`\n-   `method`\n-   `value: roleOrRoles`\n\nThat metadata is later read by `ControllerMetadata` and `ActionMetadata`.\n\n-   `ControllerMetadata.build(...)` detects class-level authorization\n-   `ActionMetadata.build(...)` merges controller-level and action-level roles into `authorizedRoles`\n\nWhen a request reaches a protected route, Node-Boot drivers such as the Express, Fastify, Koa, and HTTP drivers call:\n\n```ts\nauthorizationChecker.check(action, actionMetadata.authorizedRoles);\n```\n\nIf authorization fails:\n\n-   no roles specified → authorization is treated as required authentication\n-   roles specified → access is denied for insufficient privileges\n\n### `CurrentUser`\n\n`CurrentUser` uses `NodeBootToolkit.getMetadataArgsStorage().params.push(...)` with `type: \"current-user\"`.\n\nAt runtime, `ActionParameterHandler` sees that parameter type and calls:\n\n```ts\ncurrentUserChecker.check(action);\n```\n\nIf you marked the parameter as required and the checker returns no user, Node-Boot raises an authorization-required error.\n\n---\n\n## 🏭 Production Use Cases\n\nThe examples above show the shape of the API. The two walkthroughs below are closer to what you'd actually ship: a JWT-based gateway token (e.g. behind Backstage or your own auth-gateway) and a Firebase Authentication ID-token flow. Both cache the resolved user on the request so the current-user checker and the authorization checker don't verify the token twice per request.\n\n### 1️⃣ JWT (asymmetric, gateway-issued token) with role-based access control\n\nThis setup verifies an `ES256`-signed JWT forwarded by an upstream gateway as a standard `Authorization: Bearer <token>` header, extracts the caller identity from the `sub` claim, resolves their role from a database record, and enforces `@Authorized(roles)` accordingly. It works identically on Express, Fastify, Koa, or the native HTTP server — only the request/response generic types change.\n\n**`JwtAuthService.ts`** — verifies the token and returns the subject claim:\n\n```typescript\nimport {Component} from \"@nodeboot/core\";\nimport {Inject} from \"@nodeboot/di\";\nimport {jwtVerify, JWTVerifyGetKey} from \"jose\";\nimport {UnauthorizedError} from \"@nodeboot/error\";\nimport {Logger} from \"winston\";\n\nexport const AUTH_HEADER = \"authorization\";\nexport const BEARER_PREFIX = \"Bearer \";\n\nexport type JwtVerifyOptions = {\n    issuer?: string;\n    audience?: string;\n};\n\n/**\n * Verifies the ES256 JWT forwarded by the auth-gateway in the standard\n * `Authorization: Bearer <token>` header: signature, `exp` (enforced by\n * `jose`), an `ES256` algorithm whitelist, and, when configured, `iss`/`aud`.\n *\n * The `sub` claim carries the caller's id and is returned to callers so\n * downstream guards can look up the user record.\n */\n@Component()\nexport class JwtAuthService {\n    @Inject(\"auth.jwks\")\n    private getKey: JWTVerifyGetKey;\n\n    @Inject(\"auth.jwtVerifyOptions\")\n    private verifyOptions: JwtVerifyOptions;\n\n    @Inject()\n    private logger: Logger;\n\n    /**\n     * @returns the `sub` claim when the header is present and valid, or\n     * `undefined` when the header is missing entirely.\n     * @throws UnauthorizedError when the header is present but invalid/expired\n     * or when the `sub` claim is missing.\n     */\n    async verifyRequest(request: {\n        headers: Record<string, string | string[] | undefined>;\n    }): Promise<string | undefined> {\n        const raw = request.headers[AUTH_HEADER];\n        const header = Array.isArray(raw) ? raw[0] : raw;\n        if (!header || !header.startsWith(BEARER_PREFIX)) {\n            return undefined;\n        }\n\n        const token = header.slice(BEARER_PREFIX.length).trim();\n        if (!token) {\n            return undefined;\n        }\n\n        try {\n            const {payload} = await jwtVerify(token, this.getKey, {\n                algorithms: [\"ES256\"],\n                issuer: this.verifyOptions.issuer,\n                audience: this.verifyOptions.audience,\n            });\n            const sub = typeof payload.sub === \"string\" ? payload.sub.trim() : \"\";\n            if (!sub) {\n                this.logger.warn(`Rejected ${AUTH_HEADER} token: missing 'sub' claim`);\n                throw new UnauthorizedError(\"Invalid token\");\n            }\n            return sub;\n        } catch (err) {\n            if (err instanceof UnauthorizedError) {\n                throw err;\n            }\n            this.logger.warn(`Rejected ${AUTH_HEADER} token: ${(err as Error).message}`);\n            throw new UnauthorizedError(\"Invalid token\");\n        }\n    }\n}\n```\n\n> `auth.jwks` (a `JWTVerifyGetKey` from `jose`, e.g. `createRemoteJWKSet(new URL(issuerJwksUri))`) and `auth.jwtVerifyOptions` are registered as beans in a `@Configuration` class so they can be swapped per environment without touching this service.\n\n**`LoggedInUserResolver.ts`** — the `CurrentUserChecker`, responsible for populating `request.user`:\n\n> ⚠️ **A note on injecting persistence beans into authorization checkers.** Authorization/current-user checkers are resolved and wired up very early in the application bootstrap (via `@EnableAuthorization(...)`), before `@nodeboot/starter-persistence` has necessarily finished registering its repository beans in the same IoC container. Constructor/property injection (`@Inject()`) of a `@DataRepository(...)` class at this point is not currently guaranteed to work. Until this bootstrap-ordering limitation is resolved, resolve persistence-backed repositories **lazily, per-request**, straight from the DI container (`Container.has(...)` / `Container.get(...)`) instead of injecting them as class fields. Everything else (the logger, `JwtAuthService`, other non-persistence beans) can keep using normal `@Inject()` injection as usual.\n\n```typescript\nimport {Action, CurrentUserChecker} from \"@nodeboot/context\";\nimport {Component} from \"@nodeboot/core\";\nimport {Inject} from \"@nodeboot/di\";\nimport {Container} from \"typedi\";\nimport {Logger} from \"winston\";\nimport {UserRepository} from \"../persistence/UserRepository\";\nimport {JwtAuthService} from \"./JwtAuthService\";\n\nexport type Role = \"admin\" | \"member\" | \"user\";\nexport type AuthenticatedUser = {id: string; roles: string[]; role: Role};\n\n@Component()\nexport class LoggedInUserResolver implements CurrentUserChecker<any, any> {\n    // Safe to inject: registered eagerly and has no dependency on persistence bootstrap.\n    @Inject()\n    private logger: Logger;\n\n    @Inject()\n    private jwtAuth: JwtAuthService;\n\n    async check(action: Action<any, any>): Promise<AuthenticatedUser | null> {\n        const id = await this.jwtAuth.verifyRequest(action.request);\n        if (!id) {\n            return null;\n        }\n\n        // Resolved lazily from the container instead of `@Inject()`-ed as a class field:\n        // repository beans registered by `@nodeboot/starter-persistence` may not yet be\n        // available in the container when authorization checkers are constructed.\n        const userRepository = Container.has(UserRepository) ? Container.get(UserRepository) : undefined;\n        const record = userRepository ? await userRepository.findOne({where: {id}}) : undefined;\n\n        const role: Role = record?.roles.includes(\"admin\")\n            ? \"admin\"\n            : record?.roles.includes(\"member\")\n            ? \"member\"\n            : \"user\";\n\n        const user: AuthenticatedUser = {id, roles: record?.roles ?? [], role};\n        // Cache on the request so DefaultAuthorizationChecker can reuse it\n        // instead of re-verifying the JWT and re-hitting the database.\n        (action.request as any).user = user;\n        return user;\n    }\n}\n```\n\n**`DefaultAuthorizationChecker.ts`** — the `AuthorizationChecker`, enforcing `@Authorized(roles)`:\n\n```typescript\nimport {Action, AuthorizationChecker} from \"@nodeboot/context\";\nimport {Component} from \"@nodeboot/core\";\nimport {Inject} from \"@nodeboot/di\";\nimport {Container} from \"typedi\";\nimport {Logger} from \"winston\";\nimport {ForbiddenError, UnauthorizedError} from \"@nodeboot/error\";\nimport {UserRepository} from \"../persistence/UserRepository\";\nimport {AuthenticatedUser} from \"./LoggedInUserResolver\";\nimport {JwtAuthService, AUTH_HEADER} from \"./JwtAuthService\";\n\n@Component()\nexport class DefaultAuthorizationChecker implements AuthorizationChecker<any, any> {\n    @Inject()\n    private logger: Logger;\n\n    @Inject()\n    private jwtAuth: JwtAuthService;\n\n    async check(action: Action<any, any>, roles: string[]): Promise<boolean> {\n        // Reuse the user cached by LoggedInUserResolver to avoid re-verifying the JWT.\n        const cached = (action.request as any).user as AuthenticatedUser | undefined;\n        const id = cached?.id ?? (await this.jwtAuth.verifyRequest(action.request));\n\n        if (!id) {\n            this.logger.warn(`Authorization denied: ${AUTH_HEADER} header is missing or invalid`);\n            throw new UnauthorizedError(`A valid ${AUTH_HEADER} bearer token is required`);\n        }\n\n        // @Authorized() with no roles only requires a valid, authenticated caller.\n        if (roles.length === 0) {\n            return true;\n        }\n\n        const user = cached ?? (await this.resolveUser(id));\n        if (!user) {\n            throw new UnauthorizedError(\"User information could not be resolved\");\n        }\n\n        if (!roles.includes(user.role)) {\n            this.logger.warn(\n                `Authorization denied for user ${user.id}: role '${user.role}' not in [${roles.join(\", \")}]`,\n            );\n            throw new ForbiddenError(\n                `User role '${user.role}' does not have access to this resource. Required roles: ${roles.join(\", \")}`,\n            );\n        }\n\n        return true;\n    }\n\n    private async resolveUser(id: string): Promise<AuthenticatedUser | null> {\n        // Same lazy-resolution pattern as LoggedInUserResolver: don't `@Inject()` the\n        // repository directly, fetch it from the container on demand instead.\n        const userRepository = Container.has(UserRepository) ? Container.get(UserRepository) : undefined;\n        const record = userRepository ? await userRepository.findOne({where: {id}}) : undefined;\n        if (!record) {\n            return {id, roles: [], role: \"user\"};\n        }\n        const role = record.roles.includes(\"admin\") ? \"admin\" : record.roles.includes(\"member\") ? \"member\" : \"user\";\n        return {id, roles: record.roles, role};\n    }\n}\n```\n\n**Wiring it up** — register the JWKS/verify-options beans and enable authorization on the application:\n\n```typescript\nimport \"reflect-metadata\";\nimport {Container} from \"typedi\";\nimport {NodeBoot, NodeBootApp, NodeBootAppView, NodeBootApplication, Configuration, Bean} from \"@nodeboot/core\";\nimport {ExpressServer} from \"@nodeboot/express-server\";\nimport {EnableDI} from \"@nodeboot/di\";\nimport {EnableComponentScan} from \"@nodeboot/aot\";\nimport {EnableAuthorization} from \"@nodeboot/authorization\";\nimport {createRemoteJWKSet} from \"jose\";\nimport {LoggedInUserResolver} from \"./auth/LoggedInUserResolver\";\nimport {DefaultAuthorizationChecker} from \"./auth/DefaultAuthorizationChecker\";\n\n@Configuration()\nexport class AuthConfiguration {\n    @Bean(\"auth.jwks\")\n    jwks() {\n        return createRemoteJWKSet(new URL(process.env.AUTH_JWKS_URI!));\n    }\n\n    @Bean(\"auth.jwtVerifyOptions\")\n    verifyOptions() {\n        return {issuer: process.env.AUTH_ISSUER, audience: process.env.AUTH_AUDIENCE};\n    }\n}\n\n@EnableDI(Container)\n@EnableAuthorization(LoggedInUserResolver, DefaultAuthorizationChecker)\n@EnableComponentScan()\n@NodeBootApplication()\nexport class MyApp implements NodeBootApp {\n    start(): Promise<NodeBootAppView> {\n        return NodeBoot.run(ExpressServer);\n    }\n}\n```\n\n**Using it in a controller:**\n\n```typescript\nimport {Controller, Get, Post, Body} from \"@nodeboot/core\";\nimport {Authorized, CurrentUser} from \"@nodeboot/authorization\";\nimport {AuthenticatedUser} from \"./auth/LoggedInUserResolver\";\n\n@Controller(\"/accounts\", \"v1\")\nexport class AccountController {\n    @Get(\"/me\")\n    @Authorized()\n    async me(@CurrentUser({required: true}) user: AuthenticatedUser) {\n        return user;\n    }\n\n    @Post(\"/\")\n    @Authorized([\"admin\"])\n    async createAccount(@Body() body: {email: string}, @CurrentUser() createdBy: AuthenticatedUser) {\n        return {createdBy: createdBy.id, ...body};\n    }\n}\n```\n\n---\n\n### 2️⃣ Firebase Authentication (ID token verification via `@nodeboot/starter-firebase`)\n\nIf you already use [`@nodeboot/starter-firebase`](https://github.com/nodejs-boot/node-boot/tree/main/starters/firebase) for Firestore/Storage/etc., you can reuse the same Firebase Admin SDK to verify client-issued **ID tokens** and drive `@Authorized`/`@CurrentUser` from Firebase custom claims (e.g. `role: \"admin\"`).\n\n**Enable Firebase alongside authorization:**\n\n```typescript\nimport \"reflect-metadata\";\nimport {Container} from \"typedi\";\nimport {NodeBoot, NodeBootApp, NodeBootAppView, NodeBootApplication} from \"@nodeboot/core\";\nimport {ExpressServer} from \"@nodeboot/express-server\";\nimport {EnableDI} from \"@nodeboot/di\";\nimport {EnableComponentScan} from \"@nodeboot/aot\";\nimport {EnableFirebase} from \"@nodeboot/starter-firebase\";\nimport {EnableAuthorization} from \"@nodeboot/authorization\";\nimport {FirebaseUserResolver} from \"./auth/FirebaseUserResolver\";\nimport {FirebaseAuthorizationChecker} from \"./auth/FirebaseAuthorizationChecker\";\n\n@EnableDI(Container)\n@EnableFirebase()\n@EnableAuthorization(FirebaseUserResolver, FirebaseAuthorizationChecker)\n@EnableComponentScan()\n@NodeBootApplication()\nexport class MyApp implements NodeBootApp {\n    start(): Promise<NodeBootAppView> {\n        return NodeBoot.run(ExpressServer);\n    }\n}\n```\n\n```yaml\n# app-config.yaml\nintegrations:\n    firebase:\n        serviceAccount: \"./firebase-service-account.json\"\n        projectId: \"your-project-id\"\n```\n\n**`FirebaseUserResolver.ts`** — verifies the `Authorization: Bearer <idToken>` header using the `firebase.auth` bean and maps Firebase custom claims to an application user:\n\n```typescript\nimport {Action, CurrentUserChecker} from \"@nodeboot/context\";\nimport {Component} from \"@nodeboot/core\";\nimport {Inject} from \"@nodeboot/di\";\nimport {FIREBASE_AUTH_BEAN} from \"@nodeboot/starter-firebase\";\nimport {auth} from \"firebase-admin\";\nimport {Logger} from \"winston\";\n\nexport type FirebaseUser = {uid: string; email?: string; role: string};\n\n@Component()\nexport class FirebaseUserResolver implements CurrentUserChecker<any, any> {\n    @Inject(FIREBASE_AUTH_BEAN)\n    private firebaseAuth: auth.Auth;\n\n    @Inject()\n    private logger: Logger;\n\n    async check(action: Action<any, any>): Promise<FirebaseUser | null> {\n        const header = action.request.headers?.authorization as string | undefined;\n        const idToken = header?.startsWith(\"Bearer \") ? header.slice(\"Bearer \".length) : undefined;\n        if (!idToken) {\n            return null;\n        }\n\n        try {\n            // `checkRevoked: true` rejects tokens for users that were disabled/deleted\n            // or whose sessions were revoked after the token was issued.\n            const decoded = await this.firebaseAuth.verifyIdToken(idToken, true);\n            const user: FirebaseUser = {\n                uid: decoded.uid,\n                email: decoded.email,\n                // Custom claims (e.g. set via `firebaseAuth.setCustomUserClaims(uid, {role: \"admin\"})`)\n                role: (decoded.role as string) ?? \"user\",\n            };\n            (action.request as any).user = user;\n            return user;\n        } catch (err) {\n            this.logger.warn(`Rejected Firebase ID token: ${(err as Error).message}`);\n            return null;\n        }\n    }\n}\n```\n\n**`FirebaseAuthorizationChecker.ts`** — enforces `@Authorized(roles)` using the same cached user:\n\n```typescript\nimport {Action, AuthorizationChecker} from \"@nodeboot/context\";\nimport {Component} from \"@nodeboot/core\";\nimport {ForbiddenError, UnauthorizedError} from \"@nodeboot/error\";\nimport {FirebaseUser} from \"./FirebaseUserResolver\";\n\n@Component()\nexport class FirebaseAuthorizationChecker implements AuthorizationChecker<any, any> {\n    async check(action: Action<any, any>, roles: string[]): Promise<boolean> {\n        const user = (action.request as any).user as FirebaseUser | undefined;\n        if (!user) {\n            throw new UnauthorizedError(\"A valid Firebase ID token is required\");\n        }\n\n        if (roles.length === 0) {\n            return true;\n        }\n\n        if (!roles.includes(user.role)) {\n            throw new ForbiddenError(\n                `User role '${user.role}' does not have access to this resource. Required roles: ${roles.join(\", \")}`,\n            );\n        }\n\n        return true;\n    }\n}\n```\n\n**Client-side context:** the frontend obtains an ID token via the Firebase client SDK (`getAuth().currentUser.getIdToken()`) and sends it as `Authorization: Bearer <idToken>` on every request. Because `FirebaseUserResolver.check()` returns `null` instead of throwing for a missing/invalid token, unauthenticated requests still reach the controller for routes that don't use `@Authorized()`/`@CurrentUser({required: true})` — useful for public endpoints that optionally personalize their response when a user happens to be logged in.\n\n```typescript\nimport {Controller, Get} from \"@nodeboot/core\";\nimport {Authorized, CurrentUser} from \"@nodeboot/authorization\";\nimport {FirebaseUser} from \"./auth/FirebaseUserResolver\";\n\n@Controller(\"/profile\", \"v1\")\nexport class ProfileController {\n    @Get(\"/\")\n    @Authorized()\n    async profile(@CurrentUser({required: true}) user: FirebaseUser) {\n        return user;\n    }\n\n    @Get(\"/admin/reports\")\n    @Authorized([\"admin\"])\n    async adminReports() {\n        return {reports: []};\n    }\n}\n```\n\n---\n\n## 🧩 Common Issues\n\n### `@Authorized` does nothing or fails at runtime\n\nMake sure you enabled the package in your application:\n\n```typescript\n@EnableAuthorization(LoggedInUserResolver, DefaultAuthorizationResolver)\n```\n\nWithout an authorization checker, protected routes cannot be evaluated.\n\n### `Cannot use @Authorized decorator...`\n\nThis happens when `@Authorized(...)` is used but no authorization checker has been registered. The runtime throws `AuthorizationCheckerNotDefinedError`.\n\n### `Cannot use @CurrentUser decorator...`\n\nThis happens when `@CurrentUser(...)` is used but no current-user checker has been registered. The runtime throws `CurrentUserCheckerNotDefinedError`.\n\n### `@CurrentUser({required: true})` returns an authorization error\n\nYour `CurrentUserChecker.check(action)` method returned `null`, `undefined`, or another empty value for the current request. Return a resolved user object when authentication succeeds.\n\n### Roles are not enforced the way you expect\n\nRemember that this package only captures decorator metadata. Your `AuthorizationChecker.check(action, roles)` implementation is responsible for interpreting roles and deciding whether access should be granted.\n\n---\n\n## ✅ Summary\n\n`@nodeboot/authorization` is the authorization bridge for Node-Boot.\n\nIt gives you a clean decorator API for protecting routes and resolving the current user, while leaving the actual authentication and access-control rules in your own checker classes. If you want Spring-style authorization hooks in a Node-Boot app, this is the package that wires them in.\n","readmeFilename":"README.md"}