{"_id":"@dainprotocol/oauth2-token-manager","_rev":"30-783910a1c1e837dbe7d5baf9d363a098","name":"@dainprotocol/oauth2-token-manager","dist-tags":{"alpha1":"0.1.7-alpha.1","alpha.0.1.8":"0.1.8-alpha.2","latest":"0.3.7"},"versions":{"0.1.0":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.0","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Blureffect","email":"sebastian@dainprotocol.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.0","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/blureffect/oauth2-token-manager#readme","bugs":{"url":"https://github.com/blureffect/oauth2-token-manager/issues"},"dist":{"shasum":"c12d058d41fe91e2786cbe6d5f3812973e758f47","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.0.tgz","fileCount":8,"integrity":"sha512-S5Jj5WLwCx6vlcxevricNOv1vws4LcIMi75vnsMV93z9RMm1YyvwHC8LGOeTt3K1+ZCLm0PpKxoXz7IcFVwqhg==","signatures":[{"sig":"MEUCIQCcl+1SnRxarmrxCQislWbq1egDfo171oEOTPkjDvkpRAIgUwu7OnedU8chpVw066s71c+dRH6fmP+dGxKMLRtJ4So=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532043},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"66ad06197286b09dbb44cd1963eec24195a95f2c","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/blureffect/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.0_1750970950008_0.3182545713071836","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.1","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.1","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"b03823291eb6b56e9b9839f7144156e2dc1c054f","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.1.tgz","fileCount":8,"integrity":"sha512-sKfXwVxNkNhmJolpHO/Q1OXaKhtrDBpnv7MblVVtk0qHP1IOcb3MOv0hoKH1jpoOkakzYrc3VLnDcHpbI9hxYQ==","signatures":[{"sig":"MEYCIQC3dVYRG0ntlbnbqxJlzML4G/zGvJvJP03+xhvgJvxnxgIhAOEhWXUZXqUoRFv5ahjB6JUlcjHBk9YIFPrBXafc8cX0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640509},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/7afe45c8e3171c7664542f4750745947/dainprotocol-oauth2-token-manager-0.1.1.tgz","_integrity":"sha512-sKfXwVxNkNhmJolpHO/Q1OXaKhtrDBpnv7MblVVtk0qHP1IOcb3MOv0hoKH1jpoOkakzYrc3VLnDcHpbI9hxYQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.1_1751433536419_0.5082453361562431","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.2","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.2","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"e72235b8ce55e8bf0ba7b85ef1e0f263519c8a19","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.2.tgz","fileCount":8,"integrity":"sha512-z9076O1RNPfUhi+FilV5zcJtYq6LBW6RG+2BAcOmqudpNvIAeNyRbYrTNdPMZIAl95BVmY0EaDBmKEJoQMmUmA==","signatures":[{"sig":"MEUCIBmgwIKt0oiKadvRjk3GEeLmavCptyObjDwp5mHk3763AiEAw7CwHHbafoyMmlwIEqv0NudMH5twooGh4N6eLuGvd4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175277},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/c96bac0ffb122d9f281c41cfb17299a2/dainprotocol-oauth2-token-manager-0.1.2.tgz","_integrity":"sha512-z9076O1RNPfUhi+FilV5zcJtYq6LBW6RG+2BAcOmqudpNvIAeNyRbYrTNdPMZIAl95BVmY0EaDBmKEJoQMmUmA==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.2_1751444805071_0.2555777742337866","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.4","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.4","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"a953152744f5d940f53eb2e59db8a816080057e0","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.4.tgz","fileCount":8,"integrity":"sha512-4LdKCdPghUxqf6OvhfLOuU2CGDI8NRO5fPoSxWfTNsnR15/vQQV5y/sIVYAconUBwRsNvI1zvbWpD85pyOxqgw==","signatures":[{"sig":"MEUCIC58YzKDOCODpkEKGVPYeicGKiFQQF+ewBL9onrCAXnmAiEAp7cruk5uhAzsG4vYzlqJFNj9zGlNuzqF2Y5mwaiQb6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176538},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/5e52c36c7e6ec0235abee14ce7f9db65/dainprotocol-oauth2-token-manager-0.1.4.tgz","_integrity":"sha512-4LdKCdPghUxqf6OvhfLOuU2CGDI8NRO5fPoSxWfTNsnR15/vQQV5y/sIVYAconUBwRsNvI1zvbWpD85pyOxqgw==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-storage-drizzle":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-storage-drizzle"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.4_1751454082584_0.9567461451803512","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.5","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.5","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"200d5e642fd7f6641a174708d1b2196ca2fe1d5a","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.5.tgz","fileCount":8,"integrity":"sha512-CzmKkgZ6qaS9iqyBm/Vt73kcve7sw1ewAsWr+6xAlDNcqCA7xDtiYFo41PR1koVVJNYA0Xx0GpSZn3cCWfVpGQ==","signatures":[{"sig":"MEUCIEsmkIRRvZAr4JwB1I7Jcnjl5lDhR66Tc6xVMOmhDaCLAiEA8ZcKPByB/aSKMKRulhlMtDmpZpWGJj7QURVKTxiCOAw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179232},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/e08948952f2a385d0916919a11515c2b/dainprotocol-oauth2-token-manager-0.1.5.tgz","_integrity":"sha512-CzmKkgZ6qaS9iqyBm/Vt73kcve7sw1ewAsWr+6xAlDNcqCA7xDtiYFo41PR1koVVJNYA0Xx0GpSZn3cCWfVpGQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-storage-drizzle":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-storage-drizzle"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.5_1751455522176_0.6321259302460307","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.6","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.6","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"1c0edeeba429ad3d67e715d72d231627786e4691","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.6.tgz","fileCount":8,"integrity":"sha512-OBohAwTMuNZUWN48ERECpsCMuwkcpThqgFlTVm183C9MuH39G4wqQCGYVo1GqLUvCi//ZsV0Ax+++ZDa8I/5Sw==","signatures":[{"sig":"MEUCIQCtyWg0ruhE9TDb+h/uf7Cma0lKN3PT0vvvCiR25LyMcQIgEdNaMoLB9rjnt90PTFZ7NDsAF16eZVie5VPNLPJxlJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186035},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/79ce0afe7e3be08f607793bd9ac772b2/dainprotocol-oauth2-token-manager-0.1.6.tgz","_integrity":"sha512-OBohAwTMuNZUWN48ERECpsCMuwkcpThqgFlTVm183C9MuH39G4wqQCGYVo1GqLUvCi//ZsV0Ax+++ZDa8I/5Sw==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-storage-drizzle":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-storage-drizzle"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.6_1751507224217_0.7343300428667661","host":"s3://npm-registry-packages-npm-production"}},"0.1.7-alpha.1":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.7-alpha.1","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.7-alpha.1","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"cc8dda9f2c4fbab2d0b7545de7349821854294f7","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.7-alpha.1.tgz","fileCount":8,"integrity":"sha512-nToNcXFx9HcBpvhpllXW88Kgy8tkGmjfwmDmnXuhWBDuUt5ldN+MMdTys9cTGDYGjIcIObzmHfM0mZVcMT0mDw==","signatures":[{"sig":"MEYCIQCu8WdGw1btVhD3S4GEHw+3O1jerFQMfdEbFhEQoYdtdgIhAPciwkXE72BCMBsVKar3tLYrmzNqyxOSpDhw6uBV8PHC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189649},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.7-alpha.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/08881a56eeb67dba9611e7030d986bd3/dainprotocol-oauth2-token-manager-0.1.7-alpha.1.tgz","_integrity":"sha512-nToNcXFx9HcBpvhpllXW88Kgy8tkGmjfwmDmnXuhWBDuUt5ldN+MMdTys9cTGDYGjIcIObzmHfM0mZVcMT0mDw==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager","@dainprotocol/oauth2-storage-drizzle":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-storage-drizzle"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.7-alpha.1_1751562994668_0.9648874069116962","host":"s3://npm-registry-packages-npm-production"}},"0.1.8-alpha.2":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.8-alpha.2","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.8-alpha.2","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"f52aff8fb3eadac55f2e443b48e90c3f22484908","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.8-alpha.2.tgz","fileCount":8,"integrity":"sha512-76SwyTe7mGaGdUQnLd981pVYLFm1tlHWX9AgB37Bt82PXzzZJvGpzH4RYtjSbfJswbuA9g3qfGQEMNOI+v943A==","signatures":[{"sig":"MEUCIQCxPtT+J0Ua/WxRus/aPn+OhNzG6tDvwjvK2AnlN+ErWwIgXvy9dOVuBRIZ+7rjpkotE0/j58Nu8CASZyOaxnsLCI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189263},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.8-alpha.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/b4b9b49029bc16de3e6d3b2c0050143f/dainprotocol-oauth2-token-manager-0.1.8-alpha.2.tgz","_integrity":"sha512-76SwyTe7mGaGdUQnLd981pVYLFm1tlHWX9AgB37Bt82PXzzZJvGpzH4RYtjSbfJswbuA9g3qfGQEMNOI+v943A==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"la":"link:../../../Library/pnpm/global/5/node_modules/la","ls":"link:../../../Library/pnpm/global/5/node_modules/ls","tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4","oauth2-token-manager":"link:../../../Library/pnpm/global/5/node_modules/@dainprotocol/oauth2-token-manager"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.8-alpha.2_1751578599485_0.514709710750678","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@dainprotocol/oauth2-token-manager","version":"0.1.9","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.1.9","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"marcellasasso","email":"marcella.sasso@joinplank.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"fbc1aed31e5566dfef12ae3915017a27ad840521","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.1.9.tgz","fileCount":8,"integrity":"sha512-nHsjQ+FoVIgpqQgbJJSsuKMY5/zgWhEdk/vQ7hqvl5Mnh3br7vLROUACPA3CHlw3bt3pJLKkIFz/gXAA/TpX5Q==","signatures":[{"sig":"MEYCIQCB6jjfP8fi4siq3Au4PJhAR7H++evNR4S5VUExjsJ2wAIhAJ80Ts6PLKox2+hs+QGTOZR5ZMnPW46gwC/2FPCxntpD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189010},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.1.9.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","actor":{"name":"sbarcenas255","type":"user","email":"sebastian@blureffect.co"},"email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/4a6cde9d9db9357eff41455a2bc43654/dainprotocol-oauth2-token-manager-0.1.9.tgz","_integrity":"sha512-nHsjQ+FoVIgpqQgbJJSsuKMY5/zgWhEdk/vQ7hqvl5Mnh3br7vLROUACPA3CHlw3bt3pJLKkIFz/gXAA/TpX5Q==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.1.9_1751580454205_0.4286762312211556","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@dainprotocol/oauth2-token-manager","version":"0.2.0","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.2.0","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"},{"name":"lazeash","email":"lazeashyt@gmail.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"aaded57a43ce27ec91c2e36b9cbb189f21799301","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.2.0.tgz","fileCount":8,"integrity":"sha512-Ia1O9rDtsKjs6c9XMhKb0hGQFuZ+6HxffU2XRDnoqak8yptexPKFIjX4uHa0Fli0RlauGQ+LtiPfoiai5mA9Gw==","signatures":[{"sig":"MEYCIQD59nyc8311+jGgK7E9rV7DwlV85YwuqDAtsVX9G6Gx0QIhAPWBariggXxpmQIVXcJS4GvLF4HWpkn+nIIaoS3lbpG7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204315},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0aac6f4f5babafd0188ae11e427e2f0ef8b4a81e","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.2.0_1754067718461_0.8679827306018304","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@dainprotocol/oauth2-token-manager","version":"0.2.1","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.2.1","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"anusheel","email":"anusheel@gmail.com"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"},{"name":"adlonymous","email":"adlonymous@gmail.com"},{"name":"bakkaya-plank","email":"burak.akkaya@joinplank.com"},{"name":"andre.gustavo","email":"andre.gustavo@joinplank.com"},{"name":"igor.plank","email":"igor.lamas@joinplank.com"},{"name":"lazeash","email":"lazeashyt@gmail.com"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"c48607d826f7c750482e16c2f5671a4e07b86eb1","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.2.1.tgz","fileCount":8,"integrity":"sha512-0FMvUXb7o/9ZC68s+k0/ZGWpb5y3quYTNfYOZuL19CaIQiOC7W7A0Mn3jYYIscq5Tfk2Yn/PLFTVB+Hc9nMVAQ==","signatures":[{"sig":"MEUCIFyQZHaVfM75xzR25brSkPkCaqDxZxhdqy/tz+rDDHWmAiEAoOoXdAliASIGuZYWI8yIpy73gxPOKe2nGKvu6EaYOf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204178},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/0779e79b33b5905bd4ff3327d77c9725/dainprotocol-oauth2-token-manager-0.2.1.tgz","_integrity":"sha512-0FMvUXb7o/9ZC68s+k0/ZGWpb5y3quYTNfYOZuL19CaIQiOC7W7A0Mn3jYYIscq5Tfk2Yn/PLFTVB+Hc9nMVAQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.2.1_1755634784093_0.3927445219152701","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@dainprotocol/oauth2-token-manager","version":"0.2.2","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.2.2","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"5bd62145637218a3f59561de3ae7660932ceeff4","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.2.2.tgz","fileCount":8,"integrity":"sha512-tkEWRHSiBI5l+Md4WjF7M3czj1a4m0reW6BWc2Pke0oX+stViXB3M9n2Pos+u9RtsJuPwpz5C6k+n3MZK+gr4w==","signatures":[{"sig":"MEQCIGDQeqnTDMrcKOq4xeGMqvk2kiRzTnCr0v6HCqVUormQAiAqt2mZJWqJFiQI3At9g3pjbZZq21bvWQAomh84fbGIYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":216037},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"3b3e623ef39051e996551b677ace44d17dc3b1ae","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.2.2_1758919615559_0.23047903030338857","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@dainprotocol/oauth2-token-manager","version":"0.2.3","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.2.3","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"8e53aa56c89c84f25caeb1d8e47b55c2c1d03ca2","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.2.3.tgz","fileCount":8,"integrity":"sha512-wawSWqycPEXli6ECN626BowGDOeqK9rd5erGsjKw4Shmf0zL1DqrTmQT7s6V/e6xHmBnlkyuUeamI+vWItUAZQ==","signatures":[{"sig":"MEYCIQCh5HQPba0jhVi1jHcKvsdUVuSs60d7/zrm43s1co3QQQIhAOPARMjEVzV0lbsz7Kn4UIvUENcSLbZcW/xEBbvanKit","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":219452},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.2.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/b45f34bfdda6e0d8385852fc8958ae1a/dainprotocol-oauth2-token-manager-0.2.3.tgz","_integrity":"sha512-wawSWqycPEXli6ECN626BowGDOeqK9rd5erGsjKw4Shmf0zL1DqrTmQT7s6V/e6xHmBnlkyuUeamI+vWItUAZQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.2.3_1759441538515_0.25160949719052716","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@dainprotocol/oauth2-token-manager","version":"0.2.4","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.2.4","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"2add326272059337961062d07c81e85f60aa8251","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.2.4.tgz","fileCount":8,"integrity":"sha512-0bwreHNSN/RJ6jE4x/SAo+IGjyjxyY7SxPaf6bq6PWfVVjAM8IXZclILf2jrslubSXqqAyv2kJzNbVJsU0IqrQ==","signatures":[{"sig":"MEQCIElFNVsNbwo62kjpzVcTucYtH5n/LKaD3pAQkMfcD73oAiA3W4bOmvwvoZV2uD0kpob/n4bhFJe3ejkla5W/hPQlLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238014},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.2.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/0d0fda8a7e0b48f849669936e556f0a3/dainprotocol-oauth2-token-manager-0.2.4.tgz","_integrity":"sha512-0bwreHNSN/RJ6jE4x/SAo+IGjyjxyY7SxPaf6bq6PWfVVjAM8IXZclILf2jrslubSXqqAyv2kJzNbVJsU0IqrQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.2.4_1759811222430_0.5311369980552096","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@dainprotocol/oauth2-token-manager","version":"0.2.5","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.2.5","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"3a047be3fe1a72092acaf509a539dcf289dbe83c","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.2.5.tgz","fileCount":8,"integrity":"sha512-tJzFF7lyDXT2ZR9YJPzES7Ae38FVNstsvkLurluWCMm/4WG0zTkyvVsoKx6XgMxZVJCg+u8auYJXa1tF22V+0w==","signatures":[{"sig":"MEQCIFvN/GRrclHCOfG4Bn1p2gkvGGPcBjFCyAkb3+dK6/pBAiB+kwaTEwEEbo8vbFFtTQ7CNwg2cgxNbZPz40RJtMPf1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239451},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"012ac996c6eaf4bbba6cbc715e7c8ee6eb22efd5","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.2.5_1761231873661_0.56216996050153","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@dainprotocol/oauth2-token-manager","version":"0.3.0","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.3.0","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"5ebd3a643eee3bad1c050c33dc6b47b9ffba4d88","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.3.0.tgz","fileCount":8,"integrity":"sha512-IOEHcvI9FnDDUB8bC30Lzt7033+in5llWMlR64bZ83RQG+ZHiOpr68vtn6qc9bVmHjPADiBfUNpC7+/3JpwLYQ==","signatures":[{"sig":"MEQCIEFbUDx0YHhasM70ywwCuSLWS61lcb8Km42EY1gECXCQAiBZ4q4c2XzvJh9KasrdzEjbIGdd5VsieG99qM34uk1iCQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":270264},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"81bdb8ef51f092e6e543c88d295bbcd1437359e7","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.6.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.5.1","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.3.0_1764120244116_0.7505905694348132","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@dainprotocol/oauth2-token-manager","version":"0.3.1","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.3.1","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"d030b873cd89dba7044b25b9dee9f12243d803b4","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.3.1.tgz","fileCount":8,"integrity":"sha512-621xe8FJ2sRBxNiqDHq1Oa09/ezUt0EFljP/agREpWDK+LWiuXs9Iuao/nDfNtDvFNKjN6WspMJe/WQpi4ew4g==","signatures":[{"sig":"MEUCIEVrFKLYKH24724OF+1Gg4CFiWq+sntT2qQ8DUYKgAXvAiEAxX2iWH73zbXm8mTP9gTWCkniFiG5aPvN4/ntuHtDDwY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":272225},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"8b136fba99faf3f3729e90e9b1517560eaef868c","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.6.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.5.1","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.3.1_1764172631354_0.6039403653968831","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@dainprotocol/oauth2-token-manager","version":"0.3.2","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.3.2","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"510edf070894ab9fe52e835df5d3068dcd4e5c7f","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.3.2.tgz","fileCount":8,"integrity":"sha512-jN4lAP+/lcQCPTkcq4INijx3k0NsK+s/X8SQKqhYj3Z4MRGSQIz2Tn9eB5n0DnEtfFx4XOWbFjIzhZ0QaFWLoA==","signatures":[{"sig":"MEQCIBLRfHNC3BBG/Hpg5nXjhuwO+2SlI+HFZI7MV7fEqCFLAiBBnlJqlkyWRdMhNMJ27ABG0T+hDpzmODbV7/hW/3Rdqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":276685},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.3.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/bc43e7bff2e377bb218d2194aece0c0e/dainprotocol-oauth2-token-manager-0.3.2.tgz","_integrity":"sha512-jN4lAP+/lcQCPTkcq4INijx3k0NsK+s/X8SQKqhYj3Z4MRGSQIz2Tn9eB5n0DnEtfFx4XOWbFjIzhZ0QaFWLoA==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.3.2_1768534233167_0.6021897697258107","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@dainprotocol/oauth2-token-manager","version":"0.3.4","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.3.4","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"b126889d018564281ae2c917210a522d754a2c31","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.3.4.tgz","fileCount":8,"integrity":"sha512-8WcHhsBnkOcTRSEIm0QAQudGg2QqGpMSI4cl6bLgyLdV59G8Z9c+9R7eL4x9KFP20CnuhsUx5ucVlp+VOPoS/A==","signatures":[{"sig":"MEQCIGBKWehMniVq6IzaEy2Ju61F9QhyTpiS6okTJeuMdPjxAiAH8OO7SflP/78Pb0BtLYeaTojf9l+6AQTygVGcXc+jTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277090},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"0b5906a00a6bf7a8856d38a5fabf748baa820e20","scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","prepack":"pinst --disable","prepare":"husky install","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","postpack":"pinst --enable","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage","prepublishOnly":"npm run ci"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.3.4_1770169373304_0.9379103576380647","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@dainprotocol/oauth2-token-manager","version":"0.3.6","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.3.6","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"900dc947d67a1f6b291982af0197ac5ba8cc8576","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.3.6.tgz","fileCount":8,"integrity":"sha512-4A8tKf2GBIFxru5/Hc1e4Ij97LCxCyXmnE9qoV+jq+5lAzrXj+5ZZgDPP63kKAuiFzj5pFDBo+8QHBKRH4tWYQ==","signatures":[{"sig":"MEYCIQDVUPWlxP8Uigmzd6/1/W8D9M8vszTESnLPkb3z5/2wBgIhAJr1WvId5g38XSW6/SU8IvBtNFftV/OopBw8p3AqAe5t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":280795},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.3.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/d213b168e03adacee5a159b8180ca9c1/dainprotocol-oauth2-token-manager-0.3.6.tgz","_integrity":"sha512-4A8tKf2GBIFxru5/Hc1e4Ij97LCxCyXmnE9qoV+jq+5lAzrXj+5ZZgDPP63kKAuiFzj5pFDBo+8QHBKRH4tWYQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.3.6_1772075908967_0.13965778930412975","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"@dainprotocol/oauth2-token-manager","version":"0.3.7","keywords":["oauth2","authentication","token-management","typescript"],"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","_id":"@dainprotocol/oauth2-token-manager@0.3.7","maintainers":[{"name":"rtiscool","email":"ryantrattner@gmail.com"},{"name":"0xcleon30","email":"carlos@aquamind.io"},{"name":"cleon30","email":"martinleoncarlos1@gmail.com"},{"name":"ryan-dain","email":"ryan@dain.org"},{"name":"donnysolana","email":"donny@dain.org"},{"name":"sbarcenas255","email":"sebastian@blureffect.co"}],"homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"dist":{"shasum":"7827a4f087c3a123e588163c1148331b53f67376","tarball":"https://registry.npmjs.org/@dainprotocol/oauth2-token-manager/-/oauth2-token-manager-0.3.7.tgz","fileCount":8,"integrity":"sha512-yDJhuk6HXp1+WxNgxU4ZqVTzN9SgLxstXMNKVnpete7lqG6RBLfaNYPzAOV50WSw3LyBnA8yetNpwj0N0YSRDQ==","signatures":[{"sig":"MEUCIQD69c/8GOe5HGBWCL02yZFuGvQgh1+7E/zKSULMmdkGZgIgKws96BXSSGTyQaNR5SSVt3rNUa+mP3Yyp+WrRJQxABw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":291037},"main":"./dist/index.cjs","type":"module","_from":"file:dainprotocol-oauth2-token-manager-0.3.7.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=16.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"ci":"npm run lint && npm run typecheck && npm run test:coverage && npm run build","dev":"tsx watch src/index.ts","docs":"typedoc","lint":"eslint .","test":"vitest","build":"tsup","format":"prettier --write","release":"npm run ci:all && changeset publish","test:ui":"vitest --ui","lint:fix":"eslint --fix .","typecheck":"tsc --noEmit","docs:watch":"typedoc --watch","test:watch":"vitest watch","build:watch":"tsup --watch","dev:example":"tsx src/examples/basic.ts","lint:config":"eslint --print-config src/index.ts","_postinstall":"husky","format:check":"prettier","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"sbarcenas255","email":"sebastian@blureffect.co"},"_resolved":"/private/var/folders/tl/jh9nnbpj16v44zsm3ynzms4m0000gn/T/f909707dfed6efdd94a6c0d57c2b897b/dainprotocol-oauth2-token-manager-0.3.7.tgz","_integrity":"sha512-yDJhuk6HXp1+WxNgxU4ZqVTzN9SgLxstXMNKVnpete7lqG6RBLfaNYPzAOV50WSw3LyBnA8yetNpwj0N0YSRDQ==","repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"_npmVersion":"11.3.0","description":"A scalable OAuth2 token management library with multi-system support","directories":{},"_nodeVersion":"22.15.0","dependencies":{"tsx":"^4.19.4","tsup":"^8.5.0","pinst":"^3.0.0","crypto":"^1.0.1","typescript":"^5.8.3","@types/node":"^22.15.29","iron-session":"^8.0.4","@changesets/cli":"^2.29.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^9.28.0","vitest":"^3.2.1","globals":"^16.2.0","typedoc":"^0.28.5","prettier":"^3.5.3","@vitest/ui":"^3.2.1","lint-staged":"^16.1.0","@commitlint/cli":"^19.8.1","@vitest/coverage-v8":"^3.2.1","eslint-config-prettier":"^10.1.5","eslint-plugin-prettier":"^5.4.1","typedoc-plugin-markdown":"^4.6.4","@typescript-eslint/parser":"^8.33.1","@commitlint/config-conventional":"^19.8.1","@typescript-eslint/eslint-plugin":"^8.33.1"},"_npmOperationalInternal":{"tmp":"tmp/oauth2-token-manager_0.3.7_1773091179550_0.7724816809900401","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-06-26T20:49:09.943Z","modified":"2026-05-06T21:01:14.860Z","0.1.0":"2025-06-26T20:49:10.177Z","0.1.1":"2025-07-02T05:18:56.667Z","0.1.2":"2025-07-02T08:26:45.284Z","0.1.4":"2025-07-02T11:01:22.752Z","0.1.5":"2025-07-02T11:25:22.345Z","0.1.6":"2025-07-03T01:47:04.436Z","0.1.7-alpha.1":"2025-07-03T17:16:34.866Z","0.1.8-alpha.2":"2025-07-03T21:36:39.684Z","0.1.9":"2025-07-03T22:07:34.384Z","0.2.0":"2025-08-01T17:01:58.686Z","0.2.1":"2025-08-19T20:19:44.285Z","0.2.2":"2025-09-26T20:46:55.745Z","0.2.3":"2025-10-02T21:45:38.705Z","0.2.4":"2025-10-07T04:27:02.633Z","0.2.5":"2025-10-23T15:04:33.850Z","0.3.0":"2025-11-26T01:24:04.375Z","0.3.1":"2025-11-26T15:57:11.540Z","0.3.2":"2026-01-16T03:30:33.326Z","0.3.4":"2026-02-04T01:42:53.533Z","0.3.6":"2026-02-26T03:18:29.121Z","0.3.7":"2026-03-09T21:19:39.737Z"},"bugs":{"url":"https://github.com/dainprotocol/oauth2-token-manager/issues"},"author":{"name":"Dain Protocol","email":"sebastian@blureffect.co"},"license":"MIT","homepage":"https://github.com/dainprotocol/oauth2-token-manager#readme","keywords":["oauth2","authentication","token-management","typescript"],"repository":{"url":"git+https://github.com/dainprotocol/oauth2-token-manager.git","type":"git"},"description":"A scalable OAuth2 token management library with multi-system support","maintainers":[{"email":"carlos@aquamind.io","name":"0xcleon30"},{"email":"martinleoncarlos1@gmail.com","name":"cleon30"},{"email":"donny@dain.org","name":"donnysolana"}],"readme":"# OAuth2 Token Manager\n\nA simple OAuth2 token management library for Node.js. Store and manage OAuth2 tokens with automatic refresh, multiple providers, and pluggable storage.\n\n## 📋 Table of Contents\n\n- [Features](#-features)\n- [Installation](#-installation)\n- [Quick Start](#-quick-start)\n- [Core Concepts](#-core-concepts)\n- [API Reference](#-api-reference)\n- [Storage Adapters](#-storage-adapters)\n- [Examples](#-examples)\n\n## 🚀 Features\n\n- **Simple Storage**: Tokens stored by provider + email (unique constraint)\n- **Auto Refresh**: Tokens refresh automatically when expired\n- **Multiple Providers**: Google, GitHub, Microsoft, Facebook, and custom providers\n- **Profile Fetching**: Get user profiles during OAuth callback\n- **Custom Profile Fetchers**: Register custom profile fetchers per storage instance\n- **Pluggable Storage**: In-memory, PostgreSQL, Drizzle, or custom adapters\n- **Type Safe**: Full TypeScript support\n\n## 📦 Installation\n\n```bash\nnpm install @dainprotocol/oauth2-token-manager\n```\n\n### Storage Adapters\n\n```bash\n# PostgreSQL adapter (TypeORM based)\nnpm install @dainprotocol/oauth2-storage-postgres\n\n# Drizzle adapter (supports PostgreSQL, MySQL, SQLite)\nnpm install @dainprotocol/oauth2-storage-drizzle\n```\n\n## 🚀 Quick Start\n\n```typescript\nimport { OAuth2Client } from '@dainprotocol/oauth2-token-manager';\n\n// Initialize with provider configurations\nconst oauth = new OAuth2Client({\n  providers: {\n    google: {\n      clientId: process.env.GOOGLE_CLIENT_ID,\n      clientSecret: process.env.GOOGLE_CLIENT_SECRET,\n      authorizationUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n      tokenUrl: 'https://oauth2.googleapis.com/token',\n      redirectUri: 'http://localhost:3000/auth/google/callback',\n      scopes: ['profile', 'email'],\n      profileUrl: 'https://www.googleapis.com/oauth2/v2/userinfo',\n    },\n    github: {\n      clientId: process.env.GITHUB_CLIENT_ID,\n      clientSecret: process.env.GITHUB_CLIENT_SECRET,\n      authorizationUrl: 'https://github.com/login/oauth/authorize',\n      tokenUrl: 'https://github.com/login/oauth/access_token',\n      redirectUri: 'http://localhost:3000/auth/github/callback',\n      scopes: ['user:email'],\n      profileUrl: 'https://api.github.com/user',\n    },\n  },\n});\n\n// Start OAuth flow\nconst { url, state } = await oauth.authorize({\n  provider: 'google',\n  userId: 'user123',\n  email: 'user@example.com',\n  scopes: ['profile', 'email'],\n});\n\n// Redirect user to authorization URL\nres.redirect(url);\n\n// Handle OAuth callback\nconst { token, profile } = await oauth.handleCallback(code, state);\n\n// Use the token\nconst accessToken = await oauth.getAccessToken('google', 'user@example.com');\n```\n\n## 🔑 Core Concepts\n\n### How It Works\n\n1. **One token per provider/email**: Each email can have one token per OAuth provider\n2. **Automatic override**: Saving a token with same provider + email replaces the old one\n3. **Auto refresh**: Expired tokens refresh automatically when you request them\n4. **Simple storage**: Just provider (string), userId (string), and email (string)\n\n## 📚 API Reference\n\n### OAuth2Client\n\nThe main class for managing OAuth2 tokens.\n\n```typescript\nconst oauth = new OAuth2Client({\n  storage?: StorageAdapter,  // Optional, defaults to in-memory\n  providers?: {              // OAuth provider configurations\n    [name: string]: OAuth2Config\n  }\n});\n```\n\n### Methods\n\n#### 🔐 OAuth Flow\n\n##### `authorize(options)`\n\nStart OAuth2 authorization flow.\n\n```typescript\nconst { url, state } = await oauth.authorize({\n  provider: 'google',\n  userId: 'user123',\n  email: 'user@example.com',\n  scopes?: ['profile', 'email'],  // Optional\n  usePKCE?: true,                  // Optional\n  metadata?: { source: 'signup' }  // Optional\n});\n// Redirect user to `url`\n```\n\n##### `handleCallback(code, state)`\n\nHandle OAuth2 callback and save tokens.\n\n```typescript\nconst { token, profile } = await oauth.handleCallback(code, state);\n// token: { id, provider, userId, email, token, metadata, ... }\n// profile: { id, email, name, picture, raw } or undefined\n```\n\n#### 🔑 Token Management\n\n##### `getAccessToken(provider, email, options?)`\n\nGet access token string (auto-refreshes if expired).\n\n```typescript\nconst accessToken = await oauth.getAccessToken('google', 'user@example.com');\n// Returns: \"ya29.a0AfH6SMBx...\"\n```\n\n##### `getValidToken(provider, email, options?)`\n\nGet full token object (auto-refreshes if expired).\n\n```typescript\nconst token = await oauth.getValidToken('google', 'user@example.com');\n// Returns: { accessToken, refreshToken, expiresAt, tokenType, scope, ... }\n```\n\n#### 🔍 Token Queries\n\n##### `getTokensByUserId(userId)`\n\nGet all tokens for a user.\n\n```typescript\nconst tokens = await oauth.getTokensByUserId('user123');\n// Returns: StoredToken[]\n```\n\n##### `getTokensByEmail(email)`\n\nGet all tokens for an email.\n\n```typescript\nconst tokens = await oauth.getTokensByEmail('user@example.com');\n// Returns: StoredToken[]\n```\n\n#### 🗑️ Token Cleanup\n\n##### `deleteToken(provider, email)`\n\nDelete a specific token.\n\n```typescript\nconst deleted = await oauth.deleteToken('google', 'user@example.com');\n// Returns: boolean\n```\n\n##### `cleanupExpiredTokens()`\n\nDelete all expired tokens.\n\n```typescript\nconst count = await oauth.cleanupExpiredTokens();\n// Returns: number of deleted tokens\n```\n\n##### `cleanupExpiredStates()`\n\nDelete expired authorization states (older than 10 minutes).\n\n```typescript\nconst count = await oauth.cleanupExpiredStates();\n// Returns: number of deleted states\n```\n\n#### ⚙️ Provider Management\n\n##### `registerProvider(name, config)`\n\nRegister a new OAuth provider.\n\n```typescript\noauth.registerProvider('custom', {\n  clientId: 'xxx',\n  clientSecret: 'xxx',\n  authorizationUrl: 'https://provider.com/oauth/authorize',\n  tokenUrl: 'https://provider.com/oauth/token',\n  redirectUri: 'http://localhost:3000/callback',\n  scopes: ['read'],\n  profileUrl?: 'https://provider.com/api/user',  // Optional\n  usePKCE?: true,                                 // Optional\n});\n```\n\n### Types\n\n#### OAuth2Config\n\n```typescript\ninterface OAuth2Config {\n  clientId: string;\n  clientSecret?: string;\n  authorizationUrl: string;\n  tokenUrl: string;\n  redirectUri: string;\n  scopes: string[];\n  profileUrl?: string;\n  usePKCE?: boolean;\n  extraAuthParams?: Record<string, string>;\n\n  // Custom token extraction paths for non-standard OAuth2 responses\n  tokenPaths?: {\n    accessToken?: string | string[]; // Path(s) to access token (e.g., 'authed_user.access_token')\n    refreshToken?: string | string[]; // Path(s) to refresh token\n    expiresIn?: string | string[]; // Path(s) to expires_in field\n    tokenType?: string | string[]; // Path(s) to token_type field\n    scope?: string | string[]; // Path(s) to scope field\n  };\n}\n```\n\n**Custom Token Paths**: For providers with non-standard response formats (like Slack), you can specify custom paths to extract token fields. See [Custom Token Paths Guide](./CUSTOM_TOKEN_PATHS.md) for detailed examples.\n\n#### StoredToken\n\n```typescript\ninterface StoredToken {\n  id: string;\n  provider: string;\n  userId: string;\n  email: string;\n  token: OAuth2Token;\n  metadata?: Record<string, any>;\n  createdAt: Date;\n  updatedAt: Date;\n}\n```\n\n#### OAuth2Token\n\n```typescript\ninterface OAuth2Token {\n  accessToken: string;\n  refreshToken?: string;\n  expiresAt: Date;\n  tokenType: string;\n  scope?: string;\n}\n```\n\n## 🔌 Storage Adapters\n\n### In-Memory (Default)\n\n```typescript\nconst oauth = new OAuth2Client(); // Uses in-memory storage\n```\n\n### PostgreSQL\n\n```typescript\nimport { PostgresStorageAdapter } from '@dainprotocol/oauth2-storage-postgres';\n\nconst storage = new PostgresStorageAdapter({\n  host: 'localhost',\n  port: 5432,\n  username: 'user',\n  password: 'password',\n  database: 'oauth_tokens',\n});\n\nconst oauth = new OAuth2Client({ storage });\n```\n\n### Drizzle ORM\n\n```typescript\nimport { DrizzleStorageAdapter } from '@dainprotocol/oauth2-storage-drizzle';\nimport { drizzle } from 'drizzle-orm/postgres-js';\n\nconst db = drizzle(/* your db config */);\nconst storage = new DrizzleStorageAdapter(db, { dialect: 'postgres' });\nconst oauth = new OAuth2Client({ storage });\n```\n\n### Custom Profile Fetchers\n\nStorage adapters now support registering custom profile fetchers, allowing you to override default behavior or add support for new providers:\n\n```typescript\nimport { BaseProfileFetcher, UserProfile } from '@dainprotocol/oauth2-token-manager';\n\n// Create a custom profile fetcher\nclass CustomProviderFetcher extends BaseProfileFetcher {\n  constructor() {\n    super('https://api.provider.com/user/profile');\n  }\n\n  protected mapToUserProfile(rawData: any): UserProfile {\n    return {\n      email: rawData.contact_info.email,\n      name: rawData.full_name,\n      id: rawData.user_id,\n      avatar: rawData.profile_picture,\n      raw: rawData,\n    };\n  }\n}\n\n// Register with any storage adapter\nconst storage = new InMemoryStorageAdapter();\nstorage.registerProfileFetcher('custom-provider', new CustomProviderFetcher());\n\n// Or register during Drizzle adapter creation\nconst drizzleStorage = await DrizzleStorageAdapter.create(db, {\n  dialect: 'postgres',\n  profileFetchers: {\n    'custom-provider': new CustomProviderFetcher(),\n    github: new EnhancedGitHubFetcher(), // Override default GitHub fetcher\n  },\n});\n\nconst oauth = new OAuth2Client({ storage: drizzleStorage });\n```\n\n## 📝 Examples\n\n### Express.js Integration\n\n```typescript\nimport express from 'express';\nimport { OAuth2Client } from '@dainprotocol/oauth2-token-manager';\n\nconst app = express();\nconst oauth = new OAuth2Client({\n  providers: {\n    google: {\n      clientId: process.env.GOOGLE_CLIENT_ID,\n      clientSecret: process.env.GOOGLE_CLIENT_SECRET,\n      authorizationUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n      tokenUrl: 'https://oauth2.googleapis.com/token',\n      redirectUri: 'http://localhost:3000/auth/google/callback',\n      scopes: ['profile', 'email'],\n    },\n  },\n});\n\n// Start OAuth flow\napp.get('/auth/:provider', async (req, res) => {\n  const { url, state } = await oauth.authorize({\n    provider: req.params.provider,\n    userId: req.user.id,\n    email: req.user.email,\n  });\n\n  req.session.oauthState = state;\n  res.redirect(url);\n});\n\n// Handle callback\napp.get('/auth/:provider/callback', async (req, res) => {\n  const { code } = req.query;\n  const { token, profile } = await oauth.handleCallback(code, req.session.oauthState);\n  res.json({ success: true, profile });\n});\n\n// Use tokens\napp.get('/api/data', async (req, res) => {\n  const accessToken = await oauth.getAccessToken('google', req.user.email);\n  // Use accessToken for API calls...\n});\n```\n\n### Scheduled Cleanup\n\n```typescript\n// Clean up expired tokens daily\nsetInterval(\n  async () => {\n    const tokens = await oauth.cleanupExpiredTokens();\n    const states = await oauth.cleanupExpiredStates();\n    console.log(`Cleaned up ${tokens} tokens and ${states} states`);\n  },\n  24 * 60 * 60 * 1000,\n);\n```\n\n### Multiple Providers\n\n```typescript\n// User can connect multiple OAuth accounts\nconst providers = ['google', 'github', 'microsoft'];\n\nfor (const provider of providers) {\n  const { url, state } = await oauth.authorize({\n    provider,\n    userId: 'user123',\n    email: 'user@example.com',\n  });\n  // Handle each provider...\n}\n\n// Get all connected accounts\nconst tokens = await oauth.getTokensByUserId('user123');\nconsole.log(\n  'Connected accounts:',\n  tokens.map((t) => t.provider),\n);\n```\n\n### Slack OAuth (User Token)\n\n```typescript\nconst oauth = new OAuth2Client({\n  providers: {\n    slack: {\n      clientId: process.env.SLACK_CLIENT_ID,\n      clientSecret: process.env.SLACK_CLIENT_SECRET,\n      authorizationUrl: 'https://slack.com/oauth/v2/authorize',\n      tokenUrl: 'https://slack.com/api/oauth.v2.access',\n      redirectUri: 'http://localhost:3000/auth/slack/callback',\n      scopes: ['identity.basic', 'identity.email', 'identity.team'],\n      profileUrl: 'https://slack.com/api/users.identity',\n      // No tokenPaths needed - defaults prioritize user token\n    },\n  },\n});\n\n// Start OAuth flow\nconst { url, state } = await oauth.authorize({\n  provider: 'slack',\n  userId: 'user123',\n  email: 'user@example.com',\n});\n\n// After callback\nconst { token, profile } = await oauth.handleCallback(code, state);\n// token.token.accessToken will be the user token (xoxp-...)\n// token.token.raw will contain the full Slack response including team info\n```\n\n### Custom Provider with Non-Standard Response\n\n```typescript\nconst oauth = new OAuth2Client({\n  providers: {\n    customApi: {\n      clientId: process.env.CUSTOM_CLIENT_ID,\n      clientSecret: process.env.CUSTOM_CLIENT_SECRET,\n      authorizationUrl: 'https://api.custom.com/oauth/authorize',\n      tokenUrl: 'https://api.custom.com/oauth/token',\n      redirectUri: 'http://localhost:3000/auth/custom/callback',\n      scopes: ['read', 'write'],\n      // Custom token paths for non-standard response structure\n      tokenPaths: {\n        accessToken: 'data.credentials.token',\n        refreshToken: 'data.credentials.refresh',\n        expiresIn: 'data.ttl',\n      },\n    },\n  },\n});\n\n// Works the same way as standard providers\nconst accessToken = await oauth.getAccessToken('customApi', 'user@example.com');\n```\n\nSee [Custom Token Paths Guide](./CUSTOM_TOKEN_PATHS.md) for more examples.\n\n### Custom Profile Fetcher Example\n\n```typescript\nimport {\n  BaseProfileFetcher,\n  UserProfile,\n  GenericProfileFetcher,\n} from '@dainprotocol/oauth2-token-manager';\n\n// Example 1: Custom fetcher for a proprietary API\nclass CompanyInternalFetcher extends BaseProfileFetcher {\n  constructor() {\n    super('https://internal.company.com/api/v2/me');\n  }\n\n  protected mapToUserProfile(rawData: any): UserProfile {\n    return {\n      email: rawData.work_email,\n      name: `${rawData.first_name} ${rawData.last_name}`,\n      id: rawData.employee_id,\n      avatar: rawData.profile_image_url,\n      username: rawData.slack_handle,\n      raw: rawData,\n    };\n  }\n\n  protected getAdditionalHeaders(): Record<string, string> {\n    return {\n      'X-Company-API-Version': '2.0',\n      Accept: 'application/vnd.company+json',\n    };\n  }\n}\n\n// Example 2: Using GenericProfileFetcher for simple mappings\nconst linkedinFetcher = new GenericProfileFetcher('https://api.linkedin.com/v2/me', {\n  email: 'email_address',\n  name: 'localizedFirstName',\n  id: 'id',\n  avatar: 'profilePicture.displayImage',\n});\n\n// Example 3: Multiple storage instances with different fetchers\nconst productionStorage = await DrizzleStorageAdapter.create(db, {\n  dialect: 'postgres',\n  profileFetchers: {\n    company: new CompanyInternalFetcher(),\n    linkedin: linkedinFetcher,\n  },\n});\n\nconst testStorage = await DrizzleStorageAdapter.create(testDb, {\n  dialect: 'postgres',\n  profileFetchers: {\n    company: new MockCompanyFetcher(), // Different fetcher for testing\n    linkedin: new MockLinkedInFetcher(),\n  },\n});\n```\n\n## 📄 License\n\nMIT © Dain Protocol\n","readmeFilename":"README.md"}