{"_id":"@bernierllc/google-drive-oauth","_rev":"13-49893955b75139996908c36d8e4cbae0","name":"@bernierllc/google-drive-oauth","dist-tags":{"latest":"0.8.1"},"versions":{"0.2.0":{"name":"@bernierllc/google-drive-oauth","version":"0.2.0","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.2.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"9cb2dd1ace976f5bb6c8cada1d377a990b3112b6","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.2.0.tgz","fileCount":15,"integrity":"sha512-wH9RZIcvy2RNwcVWM84TgXgGZADHwgjvzfJNqhVkZVxUvVQGrUKz3eWxbDj/6YfxAA/viZky0oOiwmgXkNv4Qg==","signatures":[{"sig":"MEUCIBVWyZ9D/QwxVMPMqmSj7L4P7fgCAIXyxGQ/TWJBOOj3AiEA7em1SefSBZngrKABx/VBrT4qAGtXKIf01V/svmgu4dM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.2.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_resolved":"/tmp/2dd3a08c17f481f63b70cc78c2864b4e/bernierllc-google-drive-oauth-0.2.0.tgz","_integrity":"sha512-wH9RZIcvy2RNwcVWM84TgXgGZADHwgjvzfJNqhVkZVxUvVQGrUKz3eWxbDj/6YfxAA/viZky0oOiwmgXkNv4Qg==","_npmVersion":"11.7.0","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.2.0_1766087445327_0.8996997332512606","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bernierllc/google-drive-oauth","version":"0.2.1","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.2.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"bac631819dffd8f8a747380abb585cedc59c5eb3","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.2.1.tgz","fileCount":15,"integrity":"sha512-jgZ/Dy2b6vFH9bJjKO1FdojkS6lBEbzwi6IwfjoWx8xAs+2y3sncTjb80wDDKrCm8IP3TDI2igsNylWYAJamAA==","signatures":[{"sig":"MEQCIGWgevSZgG0jvSZxVYlJVLmyf0r02L9dhgrKfwRzTiCHAiAyzTRBWO58NoC0XOUUj96YqoRGlzr4iqv9gxrfu5fFTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.2.1.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/tmp/b42c4bacc82d36dd90d906d14bfd814b/bernierllc-google-drive-oauth-0.2.1.tgz","_integrity":"sha512-jgZ/Dy2b6vFH9bJjKO1FdojkS6lBEbzwi6IwfjoWx8xAs+2y3sncTjb80wDDKrCm8IP3TDI2igsNylWYAJamAA==","_npmVersion":"11.7.0","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.0.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.2.1_1766437773353_0.939734568629766","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@bernierllc/google-drive-oauth","version":"0.2.2","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.2.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"c2692d0af9e4b81d370064f90b6eb7c0abc558f7","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.2.2.tgz","fileCount":15,"integrity":"sha512-RxUuHPw6hslSS1SCkAD0HOg2gRL3zf4Ood9TPEMZ/+PlZYX3t/xmXEsMIpHxj0YQAlBlxhx27K9CXmm2lfMOUw==","signatures":[{"sig":"MEYCIQCVV6atbUNBG9N0cjuan6Lk5uabCNCeAucvT+6vixCdaAIhAPew8MZxbgq/E+QI+DYxi50zWeDaSiD96g5kBBuueJJo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.2.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/tmp/b15d88697a39c3c0d4a4cec7db301f07/bernierllc-google-drive-oauth-0.2.2.tgz","_integrity":"sha512-RxUuHPw6hslSS1SCkAD0HOg2gRL3zf4Ood9TPEMZ/+PlZYX3t/xmXEsMIpHxj0YQAlBlxhx27K9CXmm2lfMOUw==","_npmVersion":"11.7.0","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.2.2_1766454409596_0.17758775148044448","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bernierllc/google-drive-oauth","version":"0.4.0","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.4.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"544b50c88e4bc1cb4219727694147e0c0f1da7d7","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.4.0.tgz","fileCount":15,"integrity":"sha512-cF/SGeJPsyhIrICk8bFHV9K5IauySdQt3/I53FaYFVHBxAXrgHN/99eNcRmf0Kw3GF5NvQbuNmNX8eha3S6qBw==","signatures":[{"sig":"MEQCIC2eRhIcqCMNOlOmFbk4kzQubGtEYjrLPYUdbD5B/Q9QAiAz8YUIF2ujUluiu/VmD9QrSee4nnNkTukvaU+xESmNzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28100},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"af7e74b3715d56d3a193e1bb6743b337c2b0df6d","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_npmVersion":"lerna/9.0.3/node@v20.19.6+x64 (linux)","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.19.6","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.3.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.4.0_1767642441980_0.26426090577288175","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@bernierllc/google-drive-oauth","version":"0.4.2","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.4.2","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"30d768f2044fdd6d37507c1338c8dddc8c6de2ce","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.4.2.tgz","fileCount":15,"integrity":"sha512-eOwLQb5OYYO0mZs9wd9UAw1nfEJbe3ctUFiDwhFGTkDAxky9MdjVDjGfzL+iebaQh9edHdQxjpqvNHIO8QmUXQ==","signatures":[{"sig":"MEUCIQDmDyNWx+bprTuYUM11GblhAuspqtuFxaLS3blDISqC1AIgTalsjuJ6jpzB/QEuSlzDnxyKKQQT7Vva01ZpICUv9fA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.4.2.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.4.2.tgz","_integrity":"sha512-eOwLQb5OYYO0mZs9wd9UAw1nfEJbe3ctUFiDwhFGTkDAxky9MdjVDjGfzL+iebaQh9edHdQxjpqvNHIO8QmUXQ==","_npmVersion":"11.11.0","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.0","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.3.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.4.2_1773163191386_0.37508194534073214","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@bernierllc/google-drive-oauth","version":"0.4.3","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.4.3","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"8e7fa5b6ca735fe9c68190c014b7eeb4efacf59c","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.4.3.tgz","fileCount":15,"integrity":"sha512-RjjUqxusc4ZlDKHsDvoay6DhUW14F7wVD2PSFBFxSMlDlTKQrl8jyzGJemz1xM3zOiwArdQd3kapAenOGjAFUA==","signatures":[{"sig":"MEQCIDoXOOoEv0EGIaraQZYUg/qckqcu/5VXhRekEhD3/gPwAiADNenCm3Ze4tTvvEYYXN3ztbri0aER292EZ8Q4s0ZQRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.4.3.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.4.3.tgz","_integrity":"sha512-RjjUqxusc4ZlDKHsDvoay6DhUW14F7wVD2PSFBFxSMlDlTKQrl8jyzGJemz1xM3zOiwArdQd3kapAenOGjAFUA==","_npmVersion":"11.14.1","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.4.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.4.3_1779133479014_0.7405191249695731","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@bernierllc/google-drive-oauth","version":"0.4.4","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.4.4","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"86263ddd803f61a575cbad37c4d2249a9e809482","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.4.4.tgz","fileCount":15,"integrity":"sha512-HwrvFo0zBWIgeJ9a7YDHkHe0rj++mjmxm6M4pdh4g3Xsqc5IG1FGDgVGfrWT65gwcNx0lv1W85kCVfN8udU9wQ==","signatures":[{"sig":"MEYCIQCmh9pp5+f8/YYDEKEOiGaSGJnYL+RISimz0IV2qAmBeAIhAPlVT7M9TYyPAbg1/AHR0PM/oWdG4aF8Prk0rED1FSGh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.4.4.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.4.4.tgz","_integrity":"sha512-HwrvFo0zBWIgeJ9a7YDHkHe0rj++mjmxm6M4pdh4g3Xsqc5IG1FGDgVGfrWT65gwcNx0lv1W85kCVfN8udU9wQ==","_npmVersion":"11.14.1","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.4.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.4.4_1779157226402_0.6909898849589422","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@bernierllc/google-drive-oauth","version":"0.4.5","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.4.5","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"cfaefa19f5d9f4d680b6bdee3b69c49f240df0ce","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.4.5.tgz","fileCount":15,"integrity":"sha512-E2Ekdl1FD0sFqrPS+DVcKAu8V6FDS1RJdFJEhbiZiL0AmJUUsi1Udf/T4A1xHLRq1GG9HD1EEyMV/qayPeUeXA==","signatures":[{"sig":"MEYCIQCzyiUR/hzLh3VGE94vMzazN6eEhzvoV/bYpC0Ut0/hPwIhANPC9mIvb7u5FDMpT6750olPNILcmUP2FvV7hexoBZtE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.4.5.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.4.5.tgz","_integrity":"sha512-E2Ekdl1FD0sFqrPS+DVcKAu8V6FDS1RJdFJEhbiZiL0AmJUUsi1Udf/T4A1xHLRq1GG9HD1EEyMV/qayPeUeXA==","_npmVersion":"11.14.1","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.4.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.4.5_1779221340815_0.8101394375700359","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bernierllc/google-drive-oauth","version":"0.5.0","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.5.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"58c234426d06f3e804320323ef5b350b9ee71cec","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.5.0.tgz","fileCount":15,"integrity":"sha512-7qVR4X46tOZuFf6cj1ni9LfZtwXWWrAq6bbqTVZHuwWEgBrf2YSWGwNA5nSi+rWJ2vuvWe33mCXQbAFIeM+oyw==","signatures":[{"sig":"MEUCIQC88aV0oplDPpfQvlgaT+ge4fnWg2JHOOvv2u5f+Z+UlwIgDYGF9wmKLLXQ4qzaawAy0twm/rbWJoL20gimVE5Pzh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28042},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.5.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.5.0.tgz","_integrity":"sha512-7qVR4X46tOZuFf6cj1ni9LfZtwXWWrAq6bbqTVZHuwWEgBrf2YSWGwNA5nSi+rWJ2vuvWe33mCXQbAFIeM+oyw==","_npmVersion":"11.14.1","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.6.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.5.0_1779241188992_0.9845348298692269","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@bernierllc/google-drive-oauth","version":"0.6.0","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.6.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"be76f5f927e638cdf4c46ca9385ce270c5dd9f7e","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.6.0.tgz","fileCount":19,"integrity":"sha512-1xB6So/giwbF6utddqvzTj8+UAUFkc2EQzV9fI17aJ8AvuU9P4fFFXwClGCysvhYIRITCIscLL3niCaLC5O8gQ==","signatures":[{"sig":"MEUCIB2bAzxo3p/ElQhtl4O4uJdtONFhEqLYozBnGKoZZp/UAiEA8oE0j4bNwQkJLSHbu5VK8q4k34DuUGj9WC+euIBD7qk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31258},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.6.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.6.0.tgz","_integrity":"sha512-1xB6So/giwbF6utddqvzTj8+UAUFkc2EQzV9fI17aJ8AvuU9P4fFFXwClGCysvhYIRITCIscLL3niCaLC5O8gQ==","_npmVersion":"11.14.1","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.6.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.6.0_1779243219949_0.7132093346877468","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@bernierllc/google-drive-oauth","version":"0.7.0","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.7.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"61c9f2d73741128495f6ec65007aee86780a9b9c","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.7.0.tgz","fileCount":19,"integrity":"sha512-ZjJ7cO6SbeeU0FXQ71ph80vLdmRkw8CrRajUue/FAHdsbtghTglrJqI7YRBu+NWAwz5REM17RN87xhSn5WDKQg==","signatures":[{"sig":"MEUCIQD0kwr3rKeRl7Q+OSNOT6I6iIEugPSyPi7E5KQk38P/JQIgGlMaq6WJUXy+Sc/R6zi5ODP5YzXnfn3bZudcAnsBb30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31258},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.7.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.7.0.tgz","_integrity":"sha512-ZjJ7cO6SbeeU0FXQ71ph80vLdmRkw8CrRajUue/FAHdsbtghTglrJqI7YRBu+NWAwz5REM17RN87xhSn5WDKQg==","_npmVersion":"11.14.1","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.0","googleapis":"^130.0.0","@bernierllc/logger":"1.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","@types/uuid":"^9.0.4","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.7.0_1779249933637_0.1877134047061937","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@bernierllc/google-drive-oauth","version":"0.8.0","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","_id":"@bernierllc/google-drive-oauth@0.8.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"0fa4711763f585c9d03f45b804e8f6408905941c","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.8.0.tgz","fileCount":19,"integrity":"sha512-TRZuYKrSDFvVlHGo2hH8akFKoqChtbdr2oCXZ3XHUZ+ABoWN29FTuKiCe0jzosxPNTTjqmSU6sqBFg6X5+SFug==","signatures":[{"sig":"MEUCICl9z9i0tJd2P/m1VLldoiopr1gnFVbJVrK0s9kx1XzNAiEA8xqcQeClCfTQKGrKTXtKWkl84wI4fv/LW6/NgrGGao8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31229},"main":"dist/index.js","_from":"file:bernierllc-google-drive-oauth-0.8.0.tgz","types":"dist/index.d.ts","scripts":{"lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0","test":"jest --runInBand","build":"tsc","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.8.0.tgz","_integrity":"sha512-TRZuYKrSDFvVlHGo2hH8akFKoqChtbdr2oCXZ3XHUZ+ABoWN29FTuKiCe0jzosxPNTTjqmSU6sqBFg6X5+SFug==","_npmVersion":"11.15.0","description":"OAuth 2.0 authentication and token management for Google Drive","directories":{},"_nodeVersion":"20.20.2","dependencies":{"uuid":"^11.1.1","googleapis":"^130.0.0","@bernierllc/logger":"1.7.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^8.57.0","ts-jest":"^29.1.2","prettier":"^3.2.5","typescript":"^5.4.5","@types/jest":"^29.5.12","@types/node":"^20.12.12","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","@typescript-eslint/parser":"^7.9.0","@typescript-eslint/eslint-plugin":"^7.9.0"},"peerDependencies":{"googleapis":"^130.0.0"},"_npmOperationalInternal":{"tmp":"tmp/google-drive-oauth_0.8.0_1779840647655_0.5591542106263028","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"@bernierllc/google-drive-oauth","version":"0.8.1","description":"OAuth 2.0 authentication and token management for Google Drive","main":"dist/index.js","types":"dist/index.d.ts","author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"dependencies":{"googleapis":"^130.0.0","uuid":"^11.1.1","@bernierllc/logger":"1.7.1"},"devDependencies":{"@types/jest":"^29.5.12","@types/node":"^20.12.12","@typescript-eslint/eslint-plugin":"^7.9.0","@typescript-eslint/parser":"^7.9.0","eslint":"^8.57.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.1.3","jest":"^29.7.0","prettier":"^3.2.5","ts-jest":"^29.1.2","typescript":"^5.4.5"},"peerDependencies":{"googleapis":"^130.0.0"},"scripts":{"build":"tsc","test":"jest --runInBand","test:run":"jest --runInBand --collectCoverage","test:coverage":"jest --runInBand --collectCoverage","lint":"eslint \"src/**/*.ts\" \"__tests__/**/*.ts\" --max-warnings 0"},"_id":"@bernierllc/google-drive-oauth@0.8.1","_integrity":"sha512-mFmGiu0apxmbeYO/0X8Qbu8/9JrWE5idIIdN0rG8eb201joZXN5EQLpZSx5Cz0heSXEmpGhPdDDbMLm9PXcbkg==","_resolved":"/home/runner/work/tools/tools/packages/core/google-drive-oauth/bernierllc-google-drive-oauth-0.8.1.tgz","_from":"file:bernierllc-google-drive-oauth-0.8.1.tgz","_nodeVersion":"24.18.0","_npmVersion":"12.0.1","dist":{"integrity":"sha512-mFmGiu0apxmbeYO/0X8Qbu8/9JrWE5idIIdN0rG8eb201joZXN5EQLpZSx5Cz0heSXEmpGhPdDDbMLm9PXcbkg==","shasum":"297112883ebccead46f34a4b4af2bb1543496ff1","tarball":"https://registry.npmjs.org/@bernierllc/google-drive-oauth/-/google-drive-oauth-0.8.1.tgz","fileCount":19,"unpackedSize":31229,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDVeswsc0BvZ1WnTt734Xiy/XMaA/buLWQ9mjHKL2oIrQIgV4SOKgNMzKQmGilK5eBP8pX+DsoNJ0yN0ANeFZmVKj0="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1331f6ac-b713-4f03-999a-65b7192ae104"}},"directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/google-drive-oauth_0.8.1_1784015626918_0.38682591162700497"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-18T19:50:45.210Z","modified":"2026-07-14T07:53:47.189Z","0.2.0":"2025-12-18T19:50:45.483Z","0.2.1":"2025-12-22T21:09:33.506Z","0.2.2":"2025-12-23T01:46:49.744Z","0.4.0":"2026-01-05T19:47:22.139Z","0.4.2":"2026-03-10T17:19:51.545Z","0.4.3":"2026-05-18T19:44:39.189Z","0.4.4":"2026-05-19T02:20:26.571Z","0.4.5":"2026-05-19T20:09:00.960Z","0.5.0":"2026-05-20T01:39:49.150Z","0.6.0":"2026-05-20T02:13:40.119Z","0.7.0":"2026-05-20T04:05:33.847Z","0.8.0":"2026-05-27T00:10:47.802Z","0.8.1":"2026-07-14T07:53:47.047Z"},"author":{"name":"Bernier LLC"},"license":"SEE LICENSE IN LICENSE","description":"OAuth 2.0 authentication and token management for Google Drive","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/google-drive-oauth\n\nOAuth 2.0 authentication and token management for Google Drive.\n\n## Features\n\n- OAuth 2.0 authorization URL generation\n- Authorization code exchange for access tokens\n- Automatic token refresh with refresh tokens\n- Token validation and expiration checking\n- Secure credential storage interfaces\n- Multi-user token management\n\n## Installation\n\n```bash\nnpm install @bernierllc/google-drive-oauth\n```\n\n## Usage\n\n### Basic Authentication Flow\n\n```typescript\nimport { GoogleDriveOAuth } from '@bernierllc/google-drive-oauth';\n\n// Create auth instance\nconst driveAuth = new GoogleDriveOAuth({\n  clientId: 'your-client-id',\n  clientSecret: 'your-client-secret',\n  redirectUri: 'https://your-app.com/oauth/google-drive/callback'\n});\n\n// Step 1: Generate authorization URL\nconst { url, state } = driveAuth.getAuthorizationUrl();\n// Store state in session for CSRF protection\n// Redirect user to url\n\n// Step 2: Exchange authorization code for tokens\nconst tokens = await driveAuth.exchangeCodeForTokens(code, state);\nconsole.log('Access token:', tokens.accessToken);\nconsole.log('Refresh token:', tokens.refreshToken);\n```\n\n### Token Refresh\n\n```typescript\n// Manually refresh token\nconst newTokens = await driveAuth.refreshAccessToken(refreshToken);\n\n// Or use automatic refresh with storage\nconst storage: TokenStorage = {\n  async store(key, tokens) {\n    // Store tokens in your database\n    await db.saveTokens(key, tokens);\n  },\n  async retrieve(key) {\n    // Retrieve tokens from your database\n    return await db.getTokens(key);\n  },\n  async delete(key) {\n    // Delete tokens from your database\n    await db.deleteTokens(key);\n  }\n};\n\nconst authWithStorage = new GoogleDriveOAuth(config, storage);\n\n// Automatically refreshes if token is expired\nconst validToken = await authWithStorage.getValidToken('user-123');\n```\n\n### Token Validation\n\n```typescript\nconst isValid = await driveAuth.validateToken(accessToken);\nif (!isValid) {\n  console.log('Token is invalid or expired');\n}\n```\n\n## API\n\n### `GoogleDriveOAuth`\n\n#### Constructor\n\n```typescript\nconstructor(config: GoogleDriveOAuthConfig, storage?: TokenStorage)\n```\n\n- `config.clientId` - Google OAuth client ID\n- `config.clientSecret` - Google OAuth client secret\n- `config.redirectUri` - OAuth redirect URI\n- `config.logger` - (Optional) Custom logger instance\n- `storage` - (Optional) Token storage implementation\n\n#### Methods\n\n##### `getAuthorizationUrl(state?: string, scopes?: string[]): { url: string; state: string }`\n\nGenerate OAuth authorization URL.\n\n##### `exchangeCodeForTokens(code: string, state: string): Promise<GoogleDriveOAuthTokens>`\n\nExchange authorization code for access and refresh tokens.\n\n##### `refreshAccessToken(refreshToken: string): Promise<GoogleDriveOAuthTokens>`\n\nRefresh access token using refresh token.\n\n##### `validateToken(accessToken: string): Promise<boolean>`\n\nValidate access token against Google Drive API.\n\n##### `getValidToken(storageKey: string): Promise<string>`\n\nGet a valid access token, automatically refreshing if expired (requires storage).\n\n##### `storeTokens(key: string, tokens: GoogleDriveOAuthTokens): Promise<void>`\n\nStore tokens (requires storage).\n\n##### `revokeTokens(storageKey: string): Promise<void>`\n\nRevoke and delete tokens (requires storage).\n\n### `TokenStorage` Interface\n\n```typescript\ninterface TokenStorage {\n  store(key: string, tokens: GoogleDriveOAuthTokens): Promise<void>;\n  retrieve(key: string): Promise<GoogleDriveOAuthTokens | null>;\n  delete(key: string): Promise<void>;\n}\n```\n\nImplement this interface to provide persistent token storage.\n\n## Token Expiration\n\nTokens are automatically refreshed when:\n- Less than 5 minutes remaining before expiration\n- `getValidToken()` is called with valid refresh token\n\n## Error Handling\n\n```typescript\ntry {\n  const tokens = await driveAuth.exchangeCodeForTokens(code, state);\n} catch (error) {\n  console.error('OAuth failed:', error.message);\n}\n```\n\nAll methods throw descriptive errors on failure.\n\n## Integration\n\n### Logger Integration\n\nThis package uses `@bernierllc/logger` for structured logging. The logger is optional and will use a no-op logger if not provided.\n\n## License\n\nCopyright (c) 2025 Bernier LLC. See LICENSE file for details.\n\n\n","readmeFilename":"README.md"}