{"_id":"@ai-oauth-sdk/browser","_rev":"14-c1452a0de9d7ced7ba3f4bb73adf747f","name":"@ai-oauth-sdk/browser","dist-tags":{"latest":"1.3.0"},"versions":{"0.1.0":{"name":"@ai-oauth-sdk/browser","version":"0.1.0","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@0.1.0","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://github.com/themonk-dev/ai-oauth-sdk#readme","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"d82fccdb686f592959f9e81043a7ef58b55a4e17","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-0.1.0.tgz","fileCount":9,"integrity":"sha512-P/7IKlC0tvBpAGADo4ATecYiRPUu+d6Df1Y5kIp7lmv4YHZf1ANEYjL8xpAMjkUVA++zRGAHPSLMkkti7A4jew==","signatures":[{"sig":"MEYCIQDI59uRRlpuXhzIxPCKKgJhsQkDbYEm38t7vn/Jk7ZfmwIhAKdQwVtC+MeNmJgow9pA2uu7TiFK6tV0j6IV4jjJqxu7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66757},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"themonk-bot","email":"hey@themonk.dev"},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-0.1.0.tgz","_integrity":"sha512-P/7IKlC0tvBpAGADo4ATecYiRPUu+d6Df1Y5kIp7lmv4YHZf1ANEYjL8xpAMjkUVA++zRGAHPSLMkkti7A4jew==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^0.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_0.1.0_1785441060508_0.13047152889896063","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@ai-oauth-sdk/browser","version":"0.1.1","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@0.1.1","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://github.com/themonk-dev/ai-oauth-sdk#readme","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"9f0f034565d36a3f9a04de6b73eb2fa32ac23633","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-0.1.1.tgz","fileCount":9,"integrity":"sha512-wzShvpt/RN7gPa7caQ52aT0syy26+AmUL3kU53iLWS0TTqpNhXOowqgiwb5Y/NYlxDjloDUHYojrPzkGPVgqKg==","signatures":[{"sig":"MEUCIQCDH8aSNppsWN/oRYFI8N4paxiy0zBZ1PGI7QBdjfAKPQIgAT4tg2fyLwXWb5u7YNtCkJ/TxVCuwl1OLkC2dGmX5v0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":66757},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-0.1.1.tgz","_integrity":"sha512-wzShvpt/RN7gPa7caQ52aT0syy26+AmUL3kU53iLWS0TTqpNhXOowqgiwb5Y/NYlxDjloDUHYojrPzkGPVgqKg==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^0.1.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_0.1.1_1785443652122_0.7360810416216774","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ai-oauth-sdk/browser","version":"0.2.0","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@0.2.0","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://github.com/themonk-dev/ai-oauth-sdk#readme","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"88d1291e2887a77e19f5a0acef098338c7253035","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-0.2.0.tgz","fileCount":9,"integrity":"sha512-K8YN5dirLq+nOKi1+Qaw2IseNyQsLdbaf6cV/LSuR/R3UteRfzbI70cl2O7Y/ZqF71M9PjDRoOLobXcrjSiRxA==","signatures":[{"sig":"MEQCICN2YJvIVIYAJbmyaNGHVMASB+6jkW34z2G2rHbuXNLLAiBRBVfgA/A4cHwCCiMShk2X9BbwDY61agkzhjoqgnRytA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69182},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-0.2.0.tgz","_integrity":"sha512-K8YN5dirLq+nOKi1+Qaw2IseNyQsLdbaf6cV/LSuR/R3UteRfzbI70cl2O7Y/ZqF71M9PjDRoOLobXcrjSiRxA==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^0.2.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_0.2.0_1785516039148_0.9932402942281842","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ai-oauth-sdk/browser","version":"0.2.1","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@0.2.1","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://github.com/themonk-dev/ai-oauth-sdk#readme","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"8a828eeddf8b900c79622017d627748e4b6f0eb6","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-0.2.1.tgz","fileCount":9,"integrity":"sha512-pV0bQZab6W55e/I2f+zV8wzpke9SCNOlPdYX+9skrpeAZPtn8iP1p/lFsltdRTG3ZzrjTDjuesaaGS3076sKpw==","signatures":[{"sig":"MEQCIHo6zlmmntVxKQdJJ3djBB66GKFJ24CXCkq2Nv+pQT2FAiAMZLNnfCx5NYTT7baw1Q05UPtUyHYu9JbF+67QnULlAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69182},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-0.2.1.tgz","_integrity":"sha512-pV0bQZab6W55e/I2f+zV8wzpke9SCNOlPdYX+9skrpeAZPtn8iP1p/lFsltdRTG3ZzrjTDjuesaaGS3076sKpw==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^0.2.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_0.2.1_1785618400145_0.005959649147061485","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ai-oauth-sdk/browser","version":"0.3.0","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@0.3.0","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://github.com/themonk-dev/ai-oauth-sdk#readme","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"e05d1e7cd4c18bbd4a8cfb26c43fd6cb599231b0","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-0.3.0.tgz","fileCount":9,"integrity":"sha512-W7b++JDWq1dcOB4l0TTLWl4AmWoFVlkB83nklOMaImRHiloay9CRnf+Q0XxMMtavvkNDZTAEAGgVnag3cvhx/A==","signatures":[{"sig":"MEUCIBGoVVaxq23rK7pA/gB1D3tcmkgOg4/L7Y5gNnwRWMPbAiEAg7fjfvTBtfF4CCrd8eqJtLus5dXgf2RSTtCvcIAK5NU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69182},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-0.3.0.tgz","_integrity":"sha512-W7b++JDWq1dcOB4l0TTLWl4AmWoFVlkB83nklOMaImRHiloay9CRnf+Q0XxMMtavvkNDZTAEAGgVnag3cvhx/A==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^0.3.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_0.3.0_1785620489326_0.804963587308013","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ai-oauth-sdk/browser","version":"1.0.0","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.0.0","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev/docs/runtimes/browser","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"587e881d18f99e450c764e0f1e2d5c9b90e85bf6","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.0.0.tgz","fileCount":9,"integrity":"sha512-lNgaEQjWHyQXJfw8MDpSLCsLQNA/MWKUxPADDW/hpLSkMHEZUkZv7ZsmozgfzgiugmJ0kHRtbRKFaUIHqB4Kqw==","signatures":[{"sig":"MEYCIQCeUuxMT+Eovd/CE+4vokgW59LZ//S/x4zNpPZxSShPhQIhAJQnKVsmoniL3p/VITyZHMKpPlnGjr2nK8V2/PQbVBbQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69391},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.0.0.tgz","_integrity":"sha512-lNgaEQjWHyQXJfw8MDpSLCsLQNA/MWKUxPADDW/hpLSkMHEZUkZv7ZsmozgfzgiugmJ0kHRtbRKFaUIHqB4Kqw==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^1.0.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.0.0_1785658511315_0.42040220949600826","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ai-oauth-sdk/browser","version":"1.0.1","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.0.1","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"11b32b7d62d2813f9475325d81fc3e01d0ac1df0","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.0.1.tgz","fileCount":9,"integrity":"sha512-eE/mqsR/de2xSqZeeb9kWcbe81B8j0LIwJFQX+bRlcKEs7yrertXftH9Lgfm0f4Jk/XvhtZOWRVSYtQZPbsR/A==","signatures":[{"sig":"MEYCIQDmOG4+kGbhPNARVDPUeWqWJxCdGlHjP925k+pvun29pwIhALpVuKCwnyWGtVIEz0EuWkJXryuUyib915ExPDOKkGSQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69369},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.0.1.tgz","_integrity":"sha512-eE/mqsR/de2xSqZeeb9kWcbe81B8j0LIwJFQX+bRlcKEs7yrertXftH9Lgfm0f4Jk/XvhtZOWRVSYtQZPbsR/A==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^1.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.0.1_1785680927119_0.17393007763491797","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ai-oauth-sdk/browser","version":"1.0.2","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.0.2","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"d5fb705abc775329ef6f6546ef07bc297c0b0bdd","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.0.2.tgz","fileCount":9,"integrity":"sha512-SSIkwAFnAr5aFTbzJW7vyQPmoFdWATvIs6Ro3xkvdOXvtLYdICwrLfs5zG/oX1m85PUGZXyNjD9wqg8EMoEV2A==","signatures":[{"sig":"MEUCIQDQH9UY87riKBBTfprGtYp96hHFoK2cm0NP9CdoxRpyEQIgMfYgptHURhaSVQhw+sWqfTlsfQ305rAUD6+98trD43w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":69369},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.0.2.tgz","_integrity":"sha512-SSIkwAFnAr5aFTbzJW7vyQPmoFdWATvIs6Ro3xkvdOXvtLYdICwrLfs5zG/oX1m85PUGZXyNjD9wqg8EMoEV2A==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^1.0.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.0.2_1785766424419_0.25709221169137586","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ai-oauth-sdk/browser","version":"1.1.0","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.1.0","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"f1644d19ccba79bc4ec5e48b29b1bf844cac6b1e","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.1.0.tgz","fileCount":9,"integrity":"sha512-uw5oTGadL/XDm2Do403A37P/O9NE3kcw5u+4syA2p7t53RUbSi5IKSQgtSk5/5omSbF930h1MGXTt6/CiYm1NA==","signatures":[{"sig":"MEUCIQCKEGh/mD/VDOc9U9QqtZf9wLZPBiTAU7qvT3j4O3XfQgIgaTRbOmusYqMJjtB1sWYcb9LbfJGQJ2CFF4RH735vNzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184847},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.1.0.tgz","_integrity":"sha512-uw5oTGadL/XDm2Do403A37P/O9NE3kcw5u+4syA2p7t53RUbSi5IKSQgtSk5/5omSbF930h1MGXTt6/CiYm1NA==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^1.1.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.1.0_1785873130035_0.08850597224700696","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ai-oauth-sdk/browser","version":"1.1.1","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.1.1","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"07aa44f3431dd433886dc4ed7b1c52d31aec5ba6","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.1.1.tgz","fileCount":9,"integrity":"sha512-HfCGGLIGD3a6+657jgpXwziYnGFOCg002U5Mh7dhJCoJG8JZBFKKCDQwoRtegTfaYVzYLNTWmaa35Tsbcmy3Mw==","signatures":[{"sig":"MEQCIFZ7EWgI8KbT8vBleGU40r0nDIj8TVepogRCTKa59KQbAiA7bOUfTVgbnmlogMXsGoDSTh5+R0w8yF26U5zRrOfeKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184847},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.1.1.tgz","_integrity":"sha512-HfCGGLIGD3a6+657jgpXwziYnGFOCg002U5Mh7dhJCoJG8JZBFKKCDQwoRtegTfaYVzYLNTWmaa35Tsbcmy3Mw==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.17.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@ai-oauth-sdk/core":"^1.1.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.1.1_1786509953035_0.13325846950715592","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@ai-oauth-sdk/browser","version":"1.1.2","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.1.2","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"dbaf0f5f54d3dda7828d698e4b0d6b88788fb9e7","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.1.2.tgz","fileCount":9,"integrity":"sha512-9zokLHBq9i4LY0llQ0eiHn2r02OPU5bdEU4IV2QLUG+pwh4h9oTGPLoz6HILniY7w2qFtCvcomDzLV3S8tgGGg==","signatures":[{"sig":"MEQCIAhaI8e4bGOkWrFQPfvCkbdQjEwI1EFjj8CMQjVglhW2AiAMRMVpDtj9d+g/bLyGHhGWIHjc+1ura3J/HALVOiwvTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184847},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.1.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.1.2.tgz","_integrity":"sha512-9zokLHBq9i4LY0llQ0eiHn2r02OPU5bdEU4IV2QLUG+pwh4h9oTGPLoz6HILniY7w2qFtCvcomDzLV3S8tgGGg==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.16.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@ai-oauth-sdk/core":"^1.1.2"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.1.2_1786538700844_0.7771199993993441","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@ai-oauth-sdk/browser","version":"1.1.3","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.1.3","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"3f7b9c973b17f5a65cc8faeedaaeb26f929de0b5","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.1.3.tgz","fileCount":9,"integrity":"sha512-A5pkMRxzmnW8bq3MUEQ3qEYjCqgHAcrRRm3q9lu0wup2ysAx4XJV0Bjai4pyLgT8LZrR8OaImPSxX9jdRJphjw==","signatures":[{"sig":"MEQCIG7JQJjRenpZhEm6HatKyYqgn1k0XsTXj8WjvEoZbhuCAiAXcIL1D0XGv7QIiB54ECjMX2JicQTLPYzT9vxEdQlDyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184847},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.1.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.1.3.tgz","_integrity":"sha512-A5pkMRxzmnW8bq3MUEQ3qEYjCqgHAcrRRm3q9lu0wup2ysAx4XJV0Bjai4pyLgT8LZrR8OaImPSxX9jdRJphjw==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.17.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@ai-oauth-sdk/core":"^1.1.3"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.1.3_1786951515515_0.9297958880858317","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@ai-oauth-sdk/browser","version":"1.2.0","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","_id":"@ai-oauth-sdk/browser@1.2.0","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"dist":{"shasum":"ebb63d42fb2b594efbc1fad4e9280fd4f7551ea0","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.2.0.tgz","fileCount":9,"integrity":"sha512-VvZ5sGXoxumoKB5yEb77yo2aC+WHSxpR7SSUYvwDXcoN6BECAt/slDDLfPYPh5GJ+GU1u63byd+BJ3z1vzObYg==","signatures":[{"sig":"MEUCIQCykPNLY5II9ybnB21dK12K5FtBAi9v5Hki989ogNwTlAIgHnenr5XLKdZhlS5VHzItqZiA2E2fJKpKG8KqJyW4Icw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":188139},"main":"./dist/index.cjs","type":"module","_from":"file:tarballs/ai-oauth-sdk-browser-1.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.2.0.tgz","_integrity":"sha512-VvZ5sGXoxumoKB5yEb77yo2aC+WHSxpR7SSUYvwDXcoN6BECAt/slDDLfPYPh5GJ+GU1u63byd+BJ3z1vzObYg==","repository":{"url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","type":"git","directory":"packages/browser"},"_npmVersion":"11.17.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@ai-oauth-sdk/core":"^1.2.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"@types/node":"^22.9.0"},"_npmOperationalInternal":{"tmp":"tmp/browser_1.2.0_1787128263420_0.6798507880129698","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@ai-oauth-sdk/browser","version":"1.3.0","description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"license":"MIT","homepage":"https://ai-oauth.themonk.dev","bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"repository":{"type":"git","url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","directory":"packages/browser"},"type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"dependencies":{"@ai-oauth-sdk/core":"^1.3.0"},"publishConfig":{"access":"public","provenance":true},"devDependencies":{"@types/node":"^22.9.0"},"scripts":{"build":"tsup","typecheck":"tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json --noEmit"},"_id":"@ai-oauth-sdk/browser@1.3.0","_integrity":"sha512-X7oEaYla9QnGdw6WF+EuXzx5M6DAmF1vIVeGSIMSVz6sTMAO60XIy0MxXDSY8d5VzaP2Lt5JUHrmgjDYxGiUwQ==","_resolved":"/home/runner/work/ai-oauth-sdk/ai-oauth-sdk/tarballs/ai-oauth-sdk-browser-1.3.0.tgz","_from":"file:tarballs/ai-oauth-sdk-browser-1.3.0.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-X7oEaYla9QnGdw6WF+EuXzx5M6DAmF1vIVeGSIMSVz6sTMAO60XIy0MxXDSY8d5VzaP2Lt5JUHrmgjDYxGiUwQ==","shasum":"b99486d34fc62e1967c7d5791e56d5b66bdb5a22","tarball":"https://registry.npmjs.org/@ai-oauth-sdk/browser/-/browser-1.3.0.tgz","fileCount":9,"unpackedSize":188139,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-oauth-sdk%2fbrowser@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBQykr12yQMBPqwTCPIWJ08mlqAiZROMkLpWYpaX+nWAAiEAxoS/xE64MCG1PWjCzGEokR3U5JZPT2C8eoCJDA0kDfg="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:da214308-65e0-4a09-9240-ba7a8754eb40"}},"directories":{},"maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser_1.3.0_1789278169940_0.6802672190222865"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-30T19:51:00.322Z","modified":"2026-09-13T05:42:50.366Z","0.1.0":"2026-07-30T19:51:00.652Z","0.1.1":"2026-07-30T20:34:12.273Z","0.2.0":"2026-07-31T16:40:39.294Z","0.2.1":"2026-08-01T21:06:40.289Z","0.3.0":"2026-08-01T21:41:29.450Z","1.0.0":"2026-08-02T08:15:11.471Z","1.0.1":"2026-08-02T14:28:47.277Z","1.0.2":"2026-08-03T14:13:44.575Z","1.1.0":"2026-08-04T19:52:10.179Z","1.1.1":"2026-08-12T04:45:53.211Z","1.1.2":"2026-08-12T12:45:00.976Z","1.1.3":"2026-08-17T07:25:15.668Z","1.2.0":"2026-08-19T08:31:03.572Z","1.3.0":"2026-09-13T05:42:50.073Z"},"bugs":{"url":"https://github.com/themonk-dev/ai-oauth-sdk/issues"},"license":"MIT","homepage":"https://ai-oauth.themonk.dev","keywords":["oauth","pkce","browser","spa","ai","popup","redirect"],"repository":{"type":"git","url":"git+https://github.com/themonk-dev/ai-oauth-sdk.git","directory":"packages/browser"},"description":"Browser adapter for ai-oauth-sdk: popup and full-page redirect callback receivers plus web storage.","maintainers":[{"name":"themonk-bot","email":"hey@themonk.dev"}],"readme":"# @ai-oauth-sdk/browser\n\nBrowser adapter for [`ai-oauth-sdk`](https://github.com/themonk-dev/ai-oauth-sdk), covering popup\nand full-page redirect sign-in for SPAs.\n\n**[Documentation](https://ai-oauth.themonk.dev/docs/runtimes/browser)**\n\n```bash\nnpm i @ai-oauth-sdk/browser\n```\n\n## Popup\n\nKeeps your page alive. No navigation, no state to rehydrate.\n\n```ts\nimport { announceCallback, loginWithPopup, postCallbackToOpener } from '@ai-oauth-sdk/browser'\n\n// On your page (must run from a user gesture, or the popup is blocked):\nconst tokens = await loginWithPopup('openai', { clientId, redirectUri })\n\n// On your redirect page. No opener means either nothing opened this page, or\n// the authorization page severed the link — claude.ai does, and the popup is\n// still there waiting. announceCallback() broadcasts on your origin instead,\n// and resolves true once that popup acknowledges.\nif (!postCallbackToOpener()) {\n  await announceCallback()\n}\n```\n\n## Full-page redirect\n\nImmune to popup blockers and works in embedded webviews.\n\n```ts\nimport { createBrowserAuthClient, startRedirectLogin, handleRedirectCallback } from '@ai-oauth-sdk/browser'\n\nconst client = createBrowserAuthClient({ provider: 'openai', clientId })\n\n// Safe to call unconditionally on startup. Returns null when this is not a callback.\nconst tokens = await handleRedirectCallback(client)\n\nbutton.onclick = () => startRedirectLogin(client)\n```\n\nThe PKCE verifier is kept in `sessionStorage` so it survives the navigation but not\nthe tab. Swap in `localStorageAdapter()` if you want the session to outlive the tab.\n\n## Exports\n\n`popupReceiver`, `postCallbackToOpener`, `announceCallback`, `redirectReceiver`,\n`startRedirectLogin`, `handleRedirectCallback`, `createBrowserAuthClient`, `loginWithPopup`,\n`sessionStorageAdapter` and `localStorageAdapter`, plus everything from\n[`@ai-oauth-sdk/core`](../core).\n\nStorage adapters degrade to in-memory when the browser throws on access (Safari\nprivate mode, cross-origin iframes) rather than breaking sign-in. On a server they\nrefuse instead, because an in-memory store there is one `Map` shared by every request.\n\n## License\n\nMIT\n\n---\n\n<sub>An independent, unofficial project. Not affiliated with or endorsed by OpenAI,\nAnthropic, Google, GitHub, Microsoft, xAI, Alibaba or OpenRouter; all trademarks belong\nto their owners. No provider officially supports these OAuth flows, and any of them may\nchange without notice. Please read the\n[disclaimer](https://ai-oauth.themonk.dev/docs/resources/disclaimer).</sub>\n","readmeFilename":"README.md"}