{"_id":"@arrow-labs/auth-sdk","_rev":"10-d929ef76bbdd39a4253d0f848123d291","name":"@arrow-labs/auth-sdk","dist-tags":{"latest":"0.9.6"},"versions":{"0.7.0":{"name":"@arrow-labs/auth-sdk","version":"0.7.0","_id":"@arrow-labs/auth-sdk@0.7.0","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"dist":{"shasum":"e890f410b6f0158a8573247a9183cfbe650c9518","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.7.0.tgz","fileCount":8,"integrity":"sha512-xQuQgmnIgWrz7RyqssWrEyECFlWwHRIQfpm0uwYM7NdLFWsSCvdiwh+1ZwPwJV0eB825mYDJsnQldOZ4eK0n6Q==","signatures":[{"sig":"MEQCIHdkf+fG8uqI8IRjWOOr5cwjNP2aO+rbXNXr7I+teZjXAiAZY8M89hBixNIpY3Qg6sStu52LsdAKMDXSjdiQrf/F1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521874},"main":"./src/index.ts","type":"module","types":"./src/index.ts","gitHead":"05d987c40e42d5bf91c9cb16bcbb177f0ca3366b","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the [ArrowLabs Auth](https://arrowlabs.co.uk) platform. A thin, typed wrapper over the Auth API's HTTP surface — sign-in, registration, MFA, OAuth, profile/session management, and the admin + account endpoints.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"main":"./dist/index.cjs","types":"./dist/index.d.ts","access":"public","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","vitest":"^2","typescript":"^5","@types/node":"^20","@arrow-labs/config":"workspace:*","@arrow-labs/api-types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.7.0_1781545790879_0.39565147244472065","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@arrow-labs/auth-sdk","version":"0.7.1","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.7.1","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"8c81a289599d5ca6f6ed1d8690e6f84c958ca10e","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.7.1.tgz","fileCount":9,"integrity":"sha512-w3aKe2uq/0gkc48Cfou9vx7/ZULG0bQ6ARfpWdO93IKVxAH0JDxIPyxkOXdCT4Ejk4mHsTPkC8K89VpIB72xlA==","signatures":[{"sig":"MEUCIAKiJTQEMze29XOjiRZe3+F72qyPnsHJNPADEOP9lmC4AiEAgYfXd+u1wFmgpDIEVs5503vztEevjN4aXWquq42kYSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":523592},"main":"./src/index.ts","type":"module","types":"./src/index.ts","gitHead":"e3c90f7899ccefdc5f6c5a674c096a2425177c98","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","publishConfig":{"main":"./dist/index.cjs","types":"./dist/index.d.ts","access":"public","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","vitest":"^2","typescript":"^5","@types/node":"^20","@arrow-labs/config":"workspace:*","@arrow-labs/api-types":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.7.1_1781547243318_0.9839534358764908","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@arrow-labs/auth-sdk","version":"0.8.0","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.8.0","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"d6b581a5f54dca26aceab759ec68e01b6f944ccb","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.8.0.tgz","fileCount":25,"integrity":"sha512-ufkn/A1GXKc1WlPf8PHN0Oki5kOSNbFfiTPryPhhyL8xZKwuybzYMq8JC/GF40JJUZkEG8jkJPJyFF8enNmsuw==","signatures":[{"sig":"MEUCIDUFsxXA7tM+fdHJw75/eQDUf6aek7Eu3MVnNaTTbGi8AiEAxY+LOWgFh+yyqqw6aWymeci019lqlWqd+0XQddC6QoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606012},"main":"./src/index.ts","type":"module","types":"./src/index.ts","exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./react":{"types":"./src/react/index.ts","default":"./src/react/index.ts"},"./events":{"types":"./src/events/index.ts","default":"./src/events/index.ts"},"./server":{"types":"./src/server/index.ts","default":"./src/server/index.ts"}},"gitHead":"2195393024526d58abee9dcb180eb4d3dc937507","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"main":"./dist/index.cjs","types":"./dist/index.d.ts","access":"public","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"},"./events":{"types":"./dist/events.d.ts","import":"./dist/events.js","require":"./dist/events.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"}}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"workspace:*","@testing-library/dom":"^10","@arrow-labs/api-types":"workspace:*","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.8.0_1782335410893_0.09070480222221322","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@arrow-labs/auth-sdk","version":"0.9.0","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.9.0","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"4add8f5394f5b891cb542a7fee503ae71023334b","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.0.tgz","fileCount":25,"integrity":"sha512-fkKINgsANg7yMbX3oH1ezY8wlN/rlevZDkZB4HL+Fy83VxJbmLStqxPyLpQL0Qvb4fS/2DMeWVrncYLlfalDyQ==","signatures":[{"sig":"MEYCIQD8pvKcCcvDUeUGHx3q1e0RkJVf/R5Uh8nJ6AjCXWoqrQIhAO9rqtPPeqHeat8WKz0agOMhK2ZppnGZgI8q2wM9Oa+T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":607444},"main":"./src/index.ts","type":"module","types":"./src/index.ts","exports":{".":{"types":"./src/index.ts","default":"./src/index.ts"},"./react":{"types":"./src/react/index.ts","default":"./src/react/index.ts"},"./events":{"types":"./src/events/index.ts","default":"./src/events/index.ts"},"./server":{"types":"./src/server/index.ts","default":"./src/server/index.ts"}},"gitHead":"208a01e18061cf947ad1d79dcd26b3634b6c02b0","scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"main":"./dist/index.cjs","types":"./dist/index.d.ts","access":"public","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"},"./events":{"types":"./dist/events.d.ts","import":"./dist/events.js","require":"./dist/events.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"}}},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"workspace:*","@testing-library/dom":"^10","@arrow-labs/api-types":"workspace:*","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.9.0_1782936049193_0.4525649466459618","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@arrow-labs/auth-sdk","version":"0.9.1","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.9.1","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"2252c0854fafb9eb3b77faeaf4149412932362d1","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.1.tgz","fileCount":25,"integrity":"sha512-sH9ANqniih/q0u98j4ezA6vsYrnR+zx7vgGWuZZqQmUt1YfjZWRzcfYXUNz9F1h1cHxp1ZGTLFSFUfqDCswejQ==","signatures":[{"sig":"MEUCIAgYMl+vvOc8xT6lorJSmtCuHGlHYhVPAchjJcUhmcvGAiEAmV+nptArKMbDKAGVKZUqdpzsoNUPWFSeqNnJZz45o+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606905},"main":"./dist/index.cjs","type":"module","_from":"file:arrow-labs-auth-sdk-0.9.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"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js","require":"./dist/react.cjs"},"./events":{"types":"./dist/events.d.ts","import":"./dist/events.js","require":"./dist/events.cjs"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"_resolved":"/tmp/8e7725064ad5c3e2ff605acf74506c61/arrow-labs-auth-sdk-0.9.1.tgz","_integrity":"sha512-sH9ANqniih/q0u98j4ezA6vsYrnR+zx7vgGWuZZqQmUt1YfjZWRzcfYXUNz9F1h1cHxp1ZGTLFSFUfqDCswejQ==","repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"0.2.0","@testing-library/dom":"^10","@arrow-labs/api-types":"0.2.0","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.9.1_1782940094135_0.6650440373832072","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"@arrow-labs/auth-sdk","version":"0.9.2","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.9.2","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"18812cd3117ba67dda60d582ab2dcea4df9782d5","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.2.tgz","fileCount":27,"integrity":"sha512-LlfGbq2AQ9HL4zYFufnuL9pqST44I/cOlmXoKzr5hnberGuxYAYs3wHD3KDYkRsqNv1E5Gs4PWdX5jL3GUas8A==","signatures":[{"sig":"MEUCIFq6FMAcAYMM0vKCxV3Mk1/ax9mUTXusbPykG2YtujVYAiEAs83lN3GRuZiZWqIXEx+rtgfPIsnxRWO9FvMJ/cMl8AM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608768},"main":"./dist/index.cjs","type":"module","_from":"file:arrow-labs-auth-sdk-0.9.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./events":{"import":{"types":"./dist/events.d.ts","default":"./dist/events.js"},"require":{"types":"./dist/events.d.cts","default":"./dist/events.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","lint:publish":"publint --strict"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"_resolved":"/tmp/76217bb2833655a58f8d63410be2bf71/arrow-labs-auth-sdk-0.9.2.tgz","_integrity":"sha512-LlfGbq2AQ9HL4zYFufnuL9pqST44I/cOlmXoKzr5hnberGuxYAYs3wHD3KDYkRsqNv1E5Gs4PWdX5jL3GUas8A==","repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","publint":"^0.3.0","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"0.2.0","@testing-library/dom":"^10","@arrow-labs/api-types":"0.2.0","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.9.2_1782941440610_0.6667806199495023","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"@arrow-labs/auth-sdk","version":"0.9.3","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.9.3","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"76ba1c65cfd41142596a08763763c670f2c104c3","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.3.tgz","fileCount":27,"integrity":"sha512-EiTYUwupljovJ+GH+yS7ZA9+44KQi5KtINmbW9V63aL7NHgY1TkW7e+Js5J/dUDk40G/thDW+Kc/DnjwRLIpgQ==","signatures":[{"sig":"MEUCIQCyv5lbu9i1v59LXaDqIBLJQ2Ixk+bq+xPYWzQxRpqzYAIgcyEdPuxTidzljXCpCDIs+l74PZkiwPKKMHdAZgP9bY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608768},"main":"./dist/index.cjs","type":"module","_from":"file:arrow-labs-auth-sdk-0.9.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./events":{"import":{"types":"./dist/events.d.ts","default":"./dist/events.js"},"require":{"types":"./dist/events.d.cts","default":"./dist/events.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","lint:publish":"publint --strict"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"_resolved":"/tmp/67eff537bbf2873d40c8bcbdf1139340/arrow-labs-auth-sdk-0.9.3.tgz","_integrity":"sha512-EiTYUwupljovJ+GH+yS7ZA9+44KQi5KtINmbW9V63aL7NHgY1TkW7e+Js5J/dUDk40G/thDW+Kc/DnjwRLIpgQ==","repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","publint":"^0.3.0","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"0.2.0","@testing-library/dom":"^10","@arrow-labs/api-types":"0.2.0","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.9.3_1783284481452_0.3376047259199082","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"@arrow-labs/auth-sdk","version":"0.9.4","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.9.4","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"56d6978e7770c4700fa65762058bd3f15a049b07","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.4.tgz","fileCount":27,"integrity":"sha512-6dG5LwM5a6CJH3oOh8a/+oO3OdecSKI+5UbhE24LZhlnr5kZDK3rtY70246YeJJJqqi4JWA5CuyobZiNM4Lxrw==","signatures":[{"sig":"MEQCIB1NL7IaAFLyG5w65pPtV4mCHg4TUtH8lbEEy3TmVOogAiBXIpoYwpAwGBasjmbxSNP0YvKngcBjDaKwrUnbzdnkOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608768},"main":"./dist/index.cjs","type":"module","_from":"file:arrow-labs-auth-sdk-0.9.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./events":{"import":{"types":"./dist/events.d.ts","default":"./dist/events.js"},"require":{"types":"./dist/events.d.cts","default":"./dist/events.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","lint:publish":"publint --strict"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"_resolved":"/tmp/e12ae7b03f8426851d7d7ce666535909/arrow-labs-auth-sdk-0.9.4.tgz","_integrity":"sha512-6dG5LwM5a6CJH3oOh8a/+oO3OdecSKI+5UbhE24LZhlnr5kZDK3rtY70246YeJJJqqi4JWA5CuyobZiNM4Lxrw==","repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","publint":"^0.3.0","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"0.2.0","@testing-library/dom":"^10","@arrow-labs/api-types":"0.2.0","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.9.4_1783287077941_0.898085646780096","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"@arrow-labs/auth-sdk","version":"0.9.5","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"author":{"name":"ArrowLabs"},"license":"MIT","_id":"@arrow-labs/auth-sdk@0.9.5","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"dist":{"shasum":"b3e1f157bca9e5824f5f00c7f7ffe2407dd2d919","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.5.tgz","fileCount":27,"integrity":"sha512-YVUwbPoQpG6MFSy3wICqxZhxL/fuCPBcW7i167EKl2qmyOj9vqTbt9yoMfVIZV8c4zG7R13Jq6i3lphLKk4x0A==","signatures":[{"sig":"MEUCIAeqArOrayWnjkweN5OHFlGw8ZxeVMz9F/X1pPoKZw4VAiEAqVTWsA16sXU08HMEmoZoqrED7gKKTvEaysB/IxaVqF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608768},"main":"./dist/index.cjs","type":"module","_from":"file:arrow-labs-auth-sdk-0.9.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./events":{"import":{"types":"./dist/events.d.ts","default":"./dist/events.js"},"require":{"types":"./dist/events.d.cts","default":"./dist/events.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"scripts":{"test":"vitest run","build":"tsup","typecheck":"tsc --noEmit","test:watch":"vitest","lint:publish":"publint --strict"},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"_resolved":"/tmp/35f7429cbcf8787b2c0bd8722d4c67f8/arrow-labs-auth-sdk-0.9.5.tgz","_integrity":"sha512-YVUwbPoQpG6MFSy3wICqxZhxL/fuCPBcW7i167EKl2qmyOj9vqTbt9yoMfVIZV8c4zG7R13Jq6i3lphLKk4x0A==","repository":{"url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","type":"git","directory":"packages/auth-sdk"},"_npmVersion":"10.9.8","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8","jsdom":"^25","react":"^19","vitest":"^3.2.6","publint":"^0.3.0","react-dom":"^19","typescript":"^5","@types/node":"^20","@types/react":"^19","@arrow-labs/config":"0.2.0","@testing-library/dom":"^10","@arrow-labs/api-types":"0.2.0","@testing-library/react":"^16"},"peerDependencies":{"react":">=18"},"_npmOperationalInternal":{"tmp":"tmp/auth-sdk_0.9.5_1783290483170_0.9102251517538742","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"@arrow-labs/auth-sdk","version":"0.9.6","description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","license":"MIT","author":{"name":"ArrowLabs"},"homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","repository":{"type":"git","url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","directory":"packages/auth-sdk"},"bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"dependencies":{"jose":"^6.2.3","rabbitmq-client":"^5"},"peerDependencies":{"react":">=18"},"type":"module","main":"./dist/index.cjs","types":"./dist/index.d.ts","sideEffects":false,"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/react.d.ts","default":"./dist/react.js"},"require":{"types":"./dist/react.d.cts","default":"./dist/react.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}},"./events":{"import":{"types":"./dist/events.d.ts","default":"./dist/events.js"},"require":{"types":"./dist/events.d.cts","default":"./dist/events.cjs"}}},"publishConfig":{"access":"public"},"devDependencies":{"@testing-library/dom":"^10","@testing-library/react":"^16","@types/node":"^20","@types/react":"^19","jsdom":"^25","react":"^19","react-dom":"^19","tsup":"^8","typescript":"^5","vitest":"^3.2.6","publint":"^0.3.0","@arrow-labs/api-types":"0.2.0","@arrow-labs/config":"0.2.0"},"scripts":{"build":"tsup","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit","lint:publish":"publint --strict"},"module":"./dist/index.js","_id":"@arrow-labs/auth-sdk@0.9.6","_integrity":"sha512-uXqxi+EAjOPSc5KuYTXkB8bzHLauq9hv5UyI1YAylyWP+wFCj1h1adz4EyoMBHJlAhUVtJfMn4JwerO3ytU2Vw==","_resolved":"/tmp/bb894043342937fcdc5b2aeed7db422a/arrow-labs-auth-sdk-0.9.6.tgz","_from":"file:arrow-labs-auth-sdk-0.9.6.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-uXqxi+EAjOPSc5KuYTXkB8bzHLauq9hv5UyI1YAylyWP+wFCj1h1adz4EyoMBHJlAhUVtJfMn4JwerO3ytU2Vw==","shasum":"94939a0d64b523a9b5d36807a61f3da1bfbe40f9","tarball":"https://registry.npmjs.org/@arrow-labs/auth-sdk/-/auth-sdk-0.9.6.tgz","fileCount":27,"unpackedSize":608768,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD6qrLkYD2Dv+wBqmOHxi/uGmIC4Krg2zeKbPN88D5F1AIhAI/69H+Wdm/NI0uxamyGywqPluRlHfumEjHw290EQe+Y"}]},"_npmUser":{"name":"harrow","email":"npm@harryarrow.co.uk"},"directories":{},"maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/auth-sdk_0.9.6_1783869598623_0.11355179549964034"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-15T17:49:50.644Z","modified":"2026-07-12T15:19:58.914Z","0.7.0":"2026-06-15T17:49:51.026Z","0.7.1":"2026-06-15T18:14:03.490Z","0.8.0":"2026-06-24T21:10:11.043Z","0.9.0":"2026-07-01T20:00:49.333Z","0.9.1":"2026-07-01T21:08:14.348Z","0.9.2":"2026-07-01T21:30:40.761Z","0.9.3":"2026-07-05T20:48:01.657Z","0.9.4":"2026-07-05T21:31:18.099Z","0.9.5":"2026-07-05T22:28:03.329Z","0.9.6":"2026-07-12T15:19:58.779Z"},"bugs":{"url":"https://gitlab.com/Arrow-Labs/auth-web/-/issues"},"author":{"name":"ArrowLabs"},"license":"MIT","homepage":"https://gitlab.com/Arrow-Labs/auth-web/-/tree/develop/packages/auth-sdk#readme","keywords":["arrowlabs","auth","sso","oauth","oidc","authentication","mfa","sdk","typescript"],"repository":{"type":"git","url":"git+https://gitlab.com/Arrow-Labs/auth-web.git","directory":"packages/auth-sdk"},"description":"TypeScript SDK for the ArrowLabs Auth platform — a typed client for sign-in, MFA, OAuth/OIDC, and the account & admin APIs.","maintainers":[{"name":"harrow","email":"npm@harryarrow.co.uk"}],"readme":"# @arrow-labs/auth-sdk\n\nTypeScript SDK for the [ArrowLabs Auth](https://arrowlabs.co.uk) platform. A thin, typed wrapper over the Auth API's HTTP surface — sign-in, registration, MFA, OAuth, profile/session management, and the admin + account endpoints.\n\nIsomorphic core (works in the browser and in Node). Framework adapters ship as subpath exports:\n\n| Import | Use |\n|---|---|\n| `@arrow-labs/auth-sdk` | Core API client (this package) |\n| `@arrow-labs/auth-sdk/react` | React `<AuthProvider>` + `useSession` / `useAuth` hooks |\n| `@arrow-labs/auth-sdk/server` | Node JWT validation (JWKS) + OAuth code-exchange / refresh |\n| `@arrow-labs/auth-sdk/events` | Node RabbitMQ event-consumer (typed handlers, idempotency, DLQ-on-failure) |\n\n## Install\n\n```bash\npnpm add @arrow-labs/auth-sdk\n# or: npm install @arrow-labs/auth-sdk\n```\n\nShips dual ESM + CommonJS with bundled type declarations. No peer dependencies for the core.\n\n## Configure the API base URL\n\nBy default the SDK issues **relative** requests (suitable when your app is served from the same origin as the API, behind a shared proxy). For any other setup — a separate frontend origin, a Node backend, server-side rendering — point it at your API origin once at startup:\n\n```ts\nimport { configureClient } from '@arrow-labs/auth-sdk';\n\nconfigureClient({ baseUrl: 'https://api.arrowlabs.co.uk' });\n```\n\nCall this once before your first SDK call. Passing `{ baseUrl: '' }` forces relative URLs explicitly.\n\n## Usage\n\nEvery call returns a **discriminated result** (`{ kind: '...' }`) — no thrown errors for expected outcomes, so you handle each case explicitly.\n\n### Sign in\n\n```ts\nimport { signIn } from '@arrow-labs/auth-sdk';\n\nconst result = await signIn('acme', { Email: 'user@acme.com', Password: 's3cret' });\n\nswitch (result.kind) {\n  case 'success':\n    console.log('signed in as', result.userId);\n    break;\n  case 'mfa_required':\n    // prompt for a TOTP code, then call the MFA challenge endpoint with result.challengeToken\n    break;\n  case 'invalid_credentials':\n  case 'account_suspended':\n  case 'email_unverified':\n  case 'rate_limited':\n    // show the appropriate message\n    break;\n  case 'network_error':\n    // retry / offline UI\n    break;\n}\n```\n\n### Fetch org branding (unauthenticated)\n\n```ts\nimport { getBranding } from '@arrow-labs/auth-sdk';\n\nconst branding = await getBranding('acme');\nif (branding.kind === 'success') {\n  console.log(branding.branding.display_name);\n}\n```\n\n## React\n\nThe `@arrow-labs/auth-sdk/react` subpath adds a shared-context provider and hooks. `react >= 18` is a peer dependency.\n\nWrap your app once:\n\n```tsx\nimport { AuthProvider } from '@arrow-labs/auth-sdk/react';\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n  return <AuthProvider>{children}</AuthProvider>;\n}\n```\n\nThe provider fetches the current user **once** on mount and shares it via context — components don't each re-fetch.\n\n```tsx\nimport { useSession, useAuth } from '@arrow-labs/auth-sdk/react';\n\nfunction Profile() {\n  const session = useSession();\n\n  if (session.status === 'loading') return <p>Loading…</p>;\n  if (session.status === 'anonymous') return <a href=\"/auth/sign-in\">Sign in</a>;\n\n  return <p>Signed in as {session.user.display_name}</p>;\n}\n\nfunction SignOutButton() {\n  const { signOut } = useAuth();\n  return <button onClick={() => void signOut()}>Sign out</button>;\n}\n```\n\n- `useSession()` → `{ status: 'loading' | 'authenticated' | 'anonymous'; user? }`. `user` is the raw `UserMeResponse` (snake_case) when authenticated.\n- `useAuth()` → `{ session, signOut, refresh }`. `refresh()` re-validates the session; `signOut()` clears it and flips state to anonymous.\n- Both hooks throw if used outside `<AuthProvider>`.\n\nThe built `react` entry carries the `\"use client\"` directive, so it can be imported into a Next.js App Router tree without an extra client boundary.\n\n## Server (Node / backends)\n\nThe `@arrow-labs/auth-sdk/server` subpath is for **consuming backends** — services that protect their own APIs with ArrowLabs-issued access tokens, and/or complete the OAuth flow server-side. It has one runtime dependency, [`jose`](https://github.com/panva/jose), and is runtime-agnostic (Node and edge/middleware).\n\nCreate one client per issuer at startup — the JWKS is fetched and cached on the instance, so the validation hot path never refetches:\n\n```ts\nimport { createAuthServerClient } from '@arrow-labs/auth-sdk/server';\n\nconst auth = createAuthServerClient({\n  baseUrl: 'https://api.arrowlabs.co.uk',\n  audience: 'your-client-id', // expected `aud` on incoming tokens\n  // issuer defaults to baseUrl; jwksUri defaults to `${baseUrl}/.well-known/jwks.json`\n});\n```\n\n### Validate an access token (offline)\n\nTokens are verified **offline** against the JWKS — the auth API is never on the hot path. `verifyAccessToken` checks the RS256 signature plus `iss`, `aud`, and `exp`, and returns a discriminated result:\n\n```ts\napp.use((req, res, next) => {\n  const token = req.headers.authorization?.replace(/^Bearer /, '');\n  const result = await auth.verifyAccessToken(token ?? '');\n\n  if (result.kind === 'invalid') {\n    // result.reason: 'expired' | 'signature' | 'claims' | 'malformed'\n    return res.status(401).json({ error: 'invalid_token', reason: result.reason });\n  }\n\n  req.user = result.claims; // { sub, org_id, roles, app_access, email, ... }\n  next();\n});\n```\n\n`AccessTokenClaims` carries the platform claims: `sub`, `org` (slug), `org_id`, `roles`, `app_access`, `email`, `email_verified`, `name`, plus the standard `iss` / `aud` / `exp` / `iat`.\n\n> Validation is purely cryptographic + claim-based. Revocation is handled by the 15-minute access-token lifetime and refresh-token rotation, not by this check.\n\n### Exchange an authorization code / refresh tokens\n\n```ts\n// Confidential client (has a client_secret):\nconst tokens = await auth.exchangeCode({\n  code,\n  redirectUri: 'https://app.example.com/callback',\n  clientId: 'your-client-id',\n  clientSecret: process.env.CLIENT_SECRET,\n});\n\n// Public client (PKCE) — pass codeVerifier instead of clientSecret:\nconst tokens = await auth.exchangeCode({ code, redirectUri, clientId, codeVerifier });\n\nif (tokens.kind === 'success') {\n  // tokens.accessToken, tokens.refreshToken, tokens.idToken, tokens.expiresIn, tokens.tokenType\n} else {\n  // tokens.error (e.g. 'invalid_grant', 'invalid_client', 'network_error'), tokens.description\n}\n\n// Later, rotate with the (single-use, rotating) refresh token:\nconst refreshed = await auth.refreshTokens({\n  refreshToken: tokens.refreshToken!,\n  clientId: 'your-client-id',\n  clientSecret: process.env.CLIENT_SECRET, // omit for public clients\n});\n```\n\nBoth calls return the same `TokenResult` union, so there's a single error path — no `try`/`catch` needed for expected outcomes (including transport failure, surfaced as `error: 'network_error'`).\n\n## Events (Node consumers)\n\nThe `@arrow-labs/auth-sdk/events` subpath lets a **first-party backend** consume Platform Events from its dedicated RabbitMQ queue. It has one runtime dependency, [`rabbitmq-client`](https://www.npmjs.com/package/rabbitmq-client) (auto-reconnecting), and is Node-only (AMQP is TCP).\n\nThe platform publishes state changes (user registered, suspended, roles changed, app deleted, …) to a topic exchange; the dispatcher provisions a durable per-app queue `arrowlabs.events.{your_client_id}` and binds it to the event types your application subscribes to. The consumer **attaches** to that queue — it never declares or binds topology (the platform owns it).\n\n```ts\nimport { createEventConsumer } from '@arrow-labs/auth-sdk/events';\n\nconst consumer = createEventConsumer({\n  url: process.env.AMQP_URL!,         // amqps://user:pass@host:5671\n  clientId: 'your-client-id',         // → queue arrowlabs.events.your-client-id\n  concurrency: 10,                    // handlers in flight (prefetch = 2×); default 10\n  onError: (err, envelope) => logger.error({ err, eventId: envelope?.event_id }, 'event handler failed'),\n})\n  .on('user.registered', async (payload, envelope) => {\n    // payload is fully typed (UserRegisteredPayload): user_id, email, display_name, roles, …\n    await provisionAccount(payload.user_id, payload.email);\n  })\n  .on('user.suspended', async (payload) => {\n    await disableAccount(payload.user_id); // payload: { user_id, reason }\n  })\n  .onUnhandled((envelope) => {\n    // any event type you didn't register a handler for — explicit, never silently dropped\n    logger.debug({ type: envelope.event_type }, 'no handler');\n  });\n\nawait consumer.start();\n// on shutdown:\nawait consumer.stop();\n```\n\n### Delivery & failure semantics\n\n- **Ack on success.** When a handler resolves, the message is acknowledged.\n- **Failure → dead-letter, no requeue.** If a handler throws (or the body can't be decoded), the message is **nacked without requeue** — the broker routes it to the dead-letter queue. There's no tight redelivery loop on a poison message. Failed events are inspectable (and retryable) from the **admin portal's DLQ view** (`/dlq`).\n\n### Idempotency\n\nEvents are **at-least-once** — redelivery happens (reconnects, partial failures). Make handlers idempotent. Every envelope carries a unique `event_id`; wire it to your own dedup store via the optional `deduplicator` hook:\n\n```ts\ncreateEventConsumer({\n  url, clientId,\n  deduplicator: {\n    isDuplicate: (id) => redis.sismember('processed_events', id),   // checked before the handler\n    markProcessed: (id) => redis.sadd('processed_events', id),      // after the handler succeeds\n  },\n});\n```\n\n`isDuplicate` short-circuits to an ack (handler skipped); `markProcessed` runs after the handler resolves, before the ack. The SDK ships no storage — the seam is yours to back with Redis/Postgres/etc.\n\nThe full event catalogue and payload types are exported from this subpath (`PlatformEventType`, `EventEnvelope`, `EventPayloadMap`, and each `*Payload` interface).\n\n## Sessions & credentials\n\nThe platform uses an opaque, `HttpOnly` session cookie. The SDK sends `credentials: 'include'` on every request, so:\n\n- **Same-origin (browser, behind the proxy):** works out of the box.\n- **Cross-origin:** the API must allow your origin via CORS with `Access-Control-Allow-Credentials: true`, and your fetch environment must permit credentialed cross-origin requests. The first-party portals run same-origin; external consumers typically integrate via the OAuth flow + the (forthcoming) server helpers rather than the cookie session directly.\n\n## Versioning\n\nFollows semver. Published from the `arrowlabs-auth` monorepo on `vX.Y.Z` git tags.\n\n## Roadmap\n\nThis is the **core** client. Subsequent releases add the `react`, `server`, and `events` subpath exports listed above. See the [ArrowLabs docs](https://docs.arrowlabs.co.uk) _(coming with the docs-site release)_ for full API reference and framework quickstarts.\n","readmeFilename":"README.md"}