{"_id":"@authrim/sveltekit","_rev":"9-aec2573ddb91c9d50a1f41a306c0864b","name":"@authrim/sveltekit","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"@authrim/sveltekit","version":"0.1.0","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.0","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"a4141a813d488ed0890a5f9bb989e82232a2293d","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.0.tgz","fileCount":266,"integrity":"sha512-LpWLfHzgK51RuNAy0B7CgL9L1Iow9b7Xp2aNn0LPSK09AACEjMkuF82AGE9IyYMg03XDdQKkVDV9lSLDZqGz4Q==","signatures":[{"sig":"MEQCIFVL1PAhLlOjroz6TP9uvmLNcBa7NzotVlionutDSzmUAiB+KruOaFVTkYY7YoKEzcOpCpKCvodSpdiKEuEPaScv5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":574386},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"e5fb8a94df482e6edb99e3f9639b9c7dba91f4a4","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"sgrastar","email":"hoshina@gmail.com"},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.4.2","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.10","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.10","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.0_1769702188543_0.9085111686663649","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@authrim/sveltekit","version":"0.1.1","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.1","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"ff510b4dc8d414b1d75256928664e7a71d3dde8f","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.1.tgz","fileCount":266,"integrity":"sha512-AIplpDoUk8asuJpXsO3BmPLafSwiuGErCN5IHjuknAkBMoFXoZ0JyqgEWV4lMH6gZCAlyuQcly35AXw2pcunrA==","signatures":[{"sig":"MEYCIQCfPU1Y8cd59gs52zK6lmpYnrup4773MU0NVejPuvYfcwIhALLCvITi+W3tF9csEhkFgvkdqOhSB0+00hdH1G7J1p2g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":574280},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"e5fb8a94df482e6edb99e3f9639b9c7dba91f4a4","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"sgrastar","email":"hoshina@gmail.com"},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.4.2","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.10","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.10","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.1_1769702387324_0.08861637492811258","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@authrim/sveltekit","version":"0.1.2","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.2","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"fc7064da600894b23af329c3f8ae8cb60abd8c6f","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.2.tgz","fileCount":266,"integrity":"sha512-oWXbd4HEbyglnTnOSxTeNd3ajZ4l7GTrVwi7qjjOFh29FfqbTp+kmzN0Vof2ohKuwBdaYbWjRg+kXaVfWwXwUA==","signatures":[{"sig":"MEUCIQDE0A/VMs0UItmyfK/E1+l4QD8+1BlRQBcN5CiBz/skNwIgc/VCxazDiUpHDhRDQw2fpV+S5TmyZ8PRe5kBLABJ3eg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":568649},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"4705a3ed887babc16a7171bab7e0e3ea1565f956","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.8.0","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.10","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.10","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.2_1769705052910_0.12946860092799217","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@authrim/sveltekit","version":"0.1.3","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.3","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"bf839af04d3fc2cc8c8b6c5ca21cbb175babdfea","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.3.tgz","fileCount":266,"integrity":"sha512-b2dthnA47+8mfTq7ydabbWEcFXQSG1fSf/rFz95icDy1hlSJU06Ga7TS1xOV2CO6R2U14YNT7Uf/sYd9HqcoCg==","signatures":[{"sig":"MEQCIBwWSy27RYUITSsI2MuwpZ5hXoiIaRlJsYtawN69bqmUAiBYCOEJnWITZE5TaEDfJ2+RofU2d4D2pzUIsm42d6A/9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":569887},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"4c64c33c525db1d930c8779a1b9c3b48cc24f2ee","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.8.0","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.14","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.14","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.3_1770101346546_0.17434961392328074","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@authrim/sveltekit","version":"0.1.4","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.4","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"9a4edd837b76cac0bf07fc8a6179c1bfe9419c5d","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.4.tgz","fileCount":269,"integrity":"sha512-1rFjcEtjXjKMci6rnod3vriChkvKMGsL3GNBx+MMM606pU82CLntT3f11J0MImCYStJwnknjNxqnpjOFC4vXKw==","signatures":[{"sig":"MEUCIQCstLk/g4nVwfY1vXOUa79n29cUkbt7tq8VJaOBD9Q9fgIgJcNhhc872jHvLoq3TEUPMvh0azdDGcdGgjPoL4I7AMk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":577739},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"c1a6bfe0d4d87017b4a6e5977990c408c07a66c5","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.9.0","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.14","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.14","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.4_1770300430654_0.9352589957351305","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@authrim/sveltekit","version":"0.1.5","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management","sso","silent-auth"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.5","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"23ec83e167e7f6312e5c72f76165e2692dc96a17","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.5.tgz","fileCount":275,"integrity":"sha512-tJ39QUPeHjRqlS9e/W8wrcPlX0BhHHU31nYPglaoh33xMnH++CLCxjlBiRFCtqiRlI5wVlxmk1VCr6Y4TdfwBg==","signatures":[{"sig":"MEUCIEpTKdGFR1aL5gtqFRZqS4ZRg7MNUcRinYALzSqHbGOXAiEAtH73vQ2Pj54Mt+QFDPGrC6UbdT/pVXSBmg9fmqXfE6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":594909},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"b970e6999896ef780f22683a30b1836ebba12e4b","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.9.0","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.14","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.14","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.5_1770353178408_0.7496618762770639","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@authrim/sveltekit","version":"0.1.6","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management","sso","silent-auth"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.6","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"0d75574b86e3df7a12cb86facf8de93e79b092a3","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.6.tgz","fileCount":275,"integrity":"sha512-NW3vF/tl3Ac83AdhLSNw2HEQoyZOxYS/OycPueVngBcTATH0OYBnNO+q7/wJRi+t9G6UUsKYxpihtkTeP5+4Tw==","signatures":[{"sig":"MEYCIQCtFOUgsOmDZpZKI/Fo1s809BHnY0/SimmoYApvky4ERwIhALS4yIZUoKJAgsq+5OkaHKHj1KEjmyC9k62HLBnlB0Oz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":595357},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"24f913bd89c1f6db5f6f9a1cfb19c4c7eb745029","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.9.0","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"22.22.0","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.14","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.14","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.6_1770471143775_0.006793186623042846","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@authrim/sveltekit","version":"0.1.7","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management","sso","silent-auth"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","_id":"@authrim/sveltekit@0.1.7","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"dist":{"shasum":"554ba88f73fef01b7833efc764aa600ff24931d4","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.7.tgz","fileCount":290,"integrity":"sha512-maMSh8z09puYqVQdrWWb0lYsiCgVkGU+m9xJCWac6ZxLAYLQixGeZXO6fjvAHuiauW24qsXuyl8lmTzZHpd5XA==","signatures":[{"sig":"MEUCIBN1Hqln8vIPwDS5N0fsp2LCP7IrGLFJ43xLnfEhluNpAiEAz+eTDmlifnKC6QtZkYopEUqN42556KCX2dG+6TUNhME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":664458},"type":"module","types":"./dist/index.d.ts","svelte":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","svelte":"./dist/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","import":"./dist/ui/index.js","svelte":"./dist/ui/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","import":"./dist/stores/index.js","svelte":"./dist/stores/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","svelte":"./dist/components/index.js"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","import":"./dist/ui/templates/index.js","svelte":"./dist/ui/templates/index.js"}},"gitHead":"c4d2388dab1cd30ba6dc0b906e948f19e6a436e2","scripts":{"dev":"vite dev","lint":"eslint src --ext .ts,.svelte","test":"vitest run","build":"svelte-kit sync && svelte-package","clean":"rm -rf dist .svelte-kit","format":"prettier --write src","preview":"vite preview","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","test:watch":"vitest","format:check":"prettier --check src","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"repository":{"url":"git+https://github.com/authrim/js-sveltekit.git","type":"git"},"_npmVersion":"11.11.0","description":"SvelteKit SDK for Authrim authentication","directories":{},"sideEffects":false,"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"packageManager":"pnpm@9.15.0","devDependencies":{"vite":"^6.0.0","jsdom":"^27.0.0","tslib":"^2.6.0","eslint":"^8.56.0","svelte":"^5.0.0","vitest":"^2.0.0","prettier":"^3.2.0","typescript":"^5.3.0","@types/node":"^20.11.0","svelte-check":"^4.0.0","@authrim/core":"^0.1.16","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/adapter-auto":"^3.0.0","prettier-plugin-svelte":"^3.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0"},"peerDependencies":{"svelte":"^4.0.0 || ^5.0.0","@authrim/core":">=0.1.16","@sveltejs/kit":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sveltekit_0.1.7_1778165783949_0.5379496553539356","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@authrim/sveltekit","packageManager":"pnpm@9.15.0","version":"0.1.9","description":"SvelteKit SDK for Authrim authentication","type":"module","svelte":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","import":"./dist/index.js"},"./server":{"types":"./dist/server/index.d.ts","import":"./dist/server/index.js"},"./stores":{"types":"./dist/stores/index.d.ts","svelte":"./dist/stores/index.js","import":"./dist/stores/index.js"},"./components":{"types":"./dist/components/index.d.ts","svelte":"./dist/components/index.js","import":"./dist/components/index.js"},"./ui":{"types":"./dist/ui/index.d.ts","svelte":"./dist/ui/index.js","import":"./dist/ui/index.js"},"./ui/styles":{"import":"./dist/ui/styles/theme.css"},"./ui/templates":{"types":"./dist/ui/templates/index.d.ts","svelte":"./dist/ui/templates/index.js","import":"./dist/ui/templates/index.js"}},"sideEffects":false,"scripts":{"build":"svelte-kit sync && svelte-package","dev":"vite dev","preview":"vite preview","test":"vitest run","test:watch":"vitest","typecheck":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","lint":"eslint src --ext .ts,.svelte","format":"prettier --write src","format:check":"prettier --check src","clean":"rm -rf dist .svelte-kit","prepublishOnly":"pnpm run clean && pnpm run build && pnpm run typecheck && pnpm run test"},"keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management","sso","silent-auth"],"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/authrim/js-sveltekit.git"},"homepage":"https://github.com/authrim/js-sveltekit#readme","bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"peerDependencies":{"@authrim/core":">=0.1.18","svelte":"^4.0.0 || ^5.0.0","@sveltejs/kit":"^2.0.0"},"devDependencies":{"@authrim/core":"^0.1.18","@sveltejs/adapter-auto":"^3.0.0","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/vite-plugin-svelte":"^4.0.0","@types/node":"^20.11.0","eslint":"^8.56.0","jsdom":"^27.0.0","prettier":"^3.2.0","prettier-plugin-svelte":"^3.0.0","svelte":"^5.0.0","svelte-check":"^4.0.0","tslib":"^2.6.0","typescript":"^5.3.0","vite":"^6.0.0","vitest":"^2.0.0"},"engines":{"node":">=18"},"gitHead":"cce2f9d6881dc5ea9e2ef6110527a5a45644bb55","_id":"@authrim/sveltekit@0.1.9","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-57xy23p2q+ayFavvGOSO2X3Yym4xH9REI/CZGNXuC57bVS+S+K2eqfqK0HphYdv6xhZ5ee3LRwm+cmAUcgEEPQ==","shasum":"4eb46d1dd8fd024700ce9afcad772d66603161a9","tarball":"https://registry.npmjs.org/@authrim/sveltekit/-/sveltekit-0.1.9.tgz","fileCount":296,"unpackedSize":702961,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@authrim%2fsveltekit@0.1.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDaVU7+74FIhm9cHYEGKq/5FY+2tEJiRk1AR6FIY9V9iQIhAMXl2Y1phHwvEU0QBh8jyInKxHjaIzD9dbbxzNKySxLu"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8f75304-67e2-433c-aa5b-ab4a6e75da1c"}},"directories":{},"maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sveltekit_0.1.9_1778717831968_0.05472295474026323"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-29T15:56:28.427Z","modified":"2026-05-14T00:17:12.475Z","0.1.0":"2026-01-29T15:56:28.687Z","0.1.1":"2026-01-29T15:59:47.479Z","0.1.2":"2026-01-29T16:44:13.071Z","0.1.3":"2026-02-03T06:49:06.698Z","0.1.4":"2026-02-05T14:07:10.817Z","0.1.5":"2026-02-06T04:46:18.589Z","0.1.6":"2026-02-07T13:32:23.983Z","0.1.7":"2026-05-07T14:56:24.118Z","0.1.9":"2026-05-14T00:17:12.127Z"},"bugs":{"url":"https://github.com/authrim/js-sveltekit/issues"},"author":{"name":"Authrim","email":"info@authrim.com"},"license":"Apache-2.0","homepage":"https://github.com/authrim/js-sveltekit#readme","keywords":["auth","authentication","oidc","oauth2","pkce","authrim","svelte","sveltekit","passkey","webauthn","social-login","session-management","sso","silent-auth"],"repository":{"type":"git","url":"git+https://github.com/authrim/js-sveltekit.git"},"description":"SvelteKit SDK for Authrim authentication","maintainers":[{"name":"authrim-admin","email":"yuta@sgrastar.org"},{"name":"sgrastar","email":"hoshina@gmail.com"}],"readme":"# @authrim/sveltekit\n\n[![npm version](https://img.shields.io/npm/v/@authrim/sveltekit.svg)](https://www.npmjs.com/package/@authrim/sveltekit)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nOfficial SvelteKit SDK for [Authrim](https://authrim.com) authentication.\n\n## Features\n\n- **Passkey Authentication** - WebAuthn-based passwordless login\n- **Email Code (OTP)** - One-time password via email\n- **Social Login** - Google, GitHub, Apple, Microsoft, Facebook\n- **Svelte Stores** - Reactive authentication state\n- **Server-Side Integration** - SvelteKit hooks and load functions\n- **SSR Support** - Full server-side rendering compatibility\n- **TypeScript** - Complete type definitions\n- **UI Components** - Ready-to-use authentication components\n\n## Requirements\n\n- Node.js >= 18\n- SvelteKit >= 2.0\n- Svelte >= 4.0 or >= 5.0\n- @authrim/core >= 0.1.17\n\n## Installation\n\n```bash\n# pnpm (recommended)\npnpm add @authrim/sveltekit @authrim/core\n\n# npm\nnpm install @authrim/sveltekit @authrim/core\n\n# yarn\nyarn add @authrim/sveltekit @authrim/core\n```\n\n> **Note**: `@authrim/core` is a peer dependency that provides the underlying authentication logic. You need to install it alongside `@authrim/sveltekit`, but you don't need to import from it directly—all necessary types and functions are re-exported from `@authrim/sveltekit`.\n\n## Quick Start\n\n### 1. Create Auth Client\n\n```typescript\n// src/lib/auth.ts\nimport { createAuthrim } from '@authrim/sveltekit';\n\nexport const auth = await createAuthrim({\n  issuer: 'https://auth.example.com',\n  clientId: 'your-client-id',\n});\n```\n\nBy default, `@authrim/sveltekit` uses server-mediated auth: Direct Auth artifacts\nare redeemed by your SvelteKit server and OAuth/OIDC tokens are not returned to\nbrowser JavaScript.\nServer session cookies are HttpOnly and AES-GCM encrypted with\n`AUTHRIM_SESSION_SECRET`; use at least 32 bytes of high-entropy secret material.\n\n### 2. Set Up Server-Mediated Auth Endpoints\n\n```typescript\n// src/routes/authrim/session/exchange/+server.ts\nimport { createDirectAuthSessionHandlers } from '@authrim/sveltekit/server';\nimport { AUTHRIM_ISSUER, AUTHRIM_CLIENT_ID, AUTHRIM_SESSION_SECRET } from '$env/static/private';\n\nconst handlers = createDirectAuthSessionHandlers({\n  issuer: AUTHRIM_ISSUER,\n  clientId: AUTHRIM_CLIENT_ID,\n  sessionSecret: AUTHRIM_SESSION_SECRET,\n});\n\nexport const POST = handlers.exchange;\n```\n\n```typescript\n// src/routes/authrim/session/+server.ts\nimport { createDirectAuthSessionHandlers } from '@authrim/sveltekit/server';\nimport { AUTHRIM_ISSUER, AUTHRIM_CLIENT_ID, AUTHRIM_SESSION_SECRET } from '$env/static/private';\n\nconst handlers = createDirectAuthSessionHandlers({\n  issuer: AUTHRIM_ISSUER,\n  clientId: AUTHRIM_CLIENT_ID,\n  sessionSecret: AUTHRIM_SESSION_SECRET,\n});\n\nexport const GET = handlers.session;\n```\n\n```typescript\n// src/routes/authrim/session/logout/+server.ts\nimport { createDirectAuthSessionHandlers } from '@authrim/sveltekit/server';\nimport { AUTHRIM_ISSUER, AUTHRIM_CLIENT_ID, AUTHRIM_SESSION_SECRET } from '$env/static/private';\n\nconst handlers = createDirectAuthSessionHandlers({\n  issuer: AUTHRIM_ISSUER,\n  clientId: AUTHRIM_CLIENT_ID,\n  sessionSecret: AUTHRIM_SESSION_SECRET,\n});\n\nexport const POST = handlers.logout;\n```\n\n### 3. Set Up Server Hooks\n\n```typescript\n// src/hooks.server.ts\nimport { createAuthHandle } from '@authrim/sveltekit/server';\nimport { AUTHRIM_SESSION_SECRET } from '$env/static/private';\n\nexport const handle = createAuthHandle({\n  sessionSecret: AUTHRIM_SESSION_SECRET,\n});\n```\n\n### 4. Configure Type Safety\n\n```typescript\n// src/app.d.ts\nimport type { ServerAuthContext } from '@authrim/sveltekit/server';\n\ndeclare global {\n  namespace App {\n    interface Locals {\n      auth?: ServerAuthContext;\n    }\n  }\n}\n\nexport {};\n```\n\n### 5. Set Up AuthProvider\n\n```svelte\n<!-- src/routes/+layout.svelte -->\n<script lang=\"ts\">\n  import { AuthProvider } from '@authrim/sveltekit/components';\n  import { auth } from '$lib/auth';\n\n  export let data;\n</script>\n\n<AuthProvider\n  {auth}\n  initialSession={data.auth?.session}\n  initialUser={data.auth?.user}\n>\n  <slot />\n</AuthProvider>\n```\n\n```typescript\n// src/routes/+layout.server.ts\nimport { createAuthLoad } from '@authrim/sveltekit/server';\n\nexport const load = createAuthLoad();\n```\n\n### 6. Use Authentication\n\n```svelte\n<!-- src/routes/+page.svelte -->\n<script lang=\"ts\">\n  import { getAuthContext } from '@authrim/sveltekit';\n\n  const auth = getAuthContext();\n  const { session, user, isAuthenticated, loadingState } = auth.stores;\n\n  async function handleLogin() {\n    const result = await auth.passkey.login();\n    if (result.error) {\n      console.error(result.error.message);\n    }\n  }\n</script>\n\n{#if $loadingState !== 'idle'}\n  <p>Loading...</p>\n{:else if $isAuthenticated}\n  <p>Welcome, {$user?.name}</p>\n  <button on:click={() => auth.signOut()}>Sign Out</button>\n{:else}\n  <button on:click={handleLogin}>Sign In with Passkey</button>\n{/if}\n```\n\n## API Reference\n\n### `createAuthrim(config)`\n\nCreates an Authrim client instance.\n\n```typescript\nconst auth = await createAuthrim({\n  issuer: 'https://auth.example.com',\n  clientId: 'your-client-id',\n  storage: {\n    storage: 'sessionStorage', // 'memory' | 'sessionStorage' | 'localStorage'\n    prefix: 'authrim',\n  },\n});\n```\n\nThe default `authMode` is `'server'`. Set `authMode: 'browser'` only when this\nSvelteKit app intentionally uses browser-held OAuth/OIDC tokens.\nBrowser mode requires a strict public-client profile with DPoP-bound token requests.\n\n```typescript\nconst auth = await createAuthrim({\n  issuer: 'https://auth.example.com',\n  clientId: 'your-client-id',\n  authMode: 'browser',\n  browserPublicClientMode: 'strict',\n  browserRefreshTokenPolicy: 'dpop_bound',\n});\n```\n\n### Authentication Namespaces\n\n#### `auth.passkey`\n\n```typescript\n// Login with Passkey\nconst result = await auth.passkey.login();\n\n// Login with Conditional UI (autofill)\nconst result = await auth.passkey.login({ conditional: true });\n\n// Sign up with Passkey\nconst result = await auth.passkey.signUp({ email: 'user@example.com' });\n\n// Register new Passkey (requires authentication)\nconst credential = await auth.passkey.register();\n\n// Check support\nauth.passkey.isSupported(); // boolean\nawait auth.passkey.isConditionalUIAvailable(); // Promise<boolean>\n\n// Cancel Conditional UI\nauth.passkey.cancelConditionalUI();\n```\n\n#### `auth.emailCode`\n\n```typescript\n// Send verification code\nconst result = await auth.emailCode.send('user@example.com');\n\n// Verify code\nconst result = await auth.emailCode.verify('user@example.com', '123456');\n\n// Check pending verification\nauth.emailCode.hasPendingVerification('user@example.com'); // boolean\nauth.emailCode.getRemainingTime('user@example.com'); // seconds\nauth.emailCode.clearPendingVerification('user@example.com');\n```\n\n#### `auth.social`\n\n```typescript\n// Login with popup\nconst result = await auth.social.loginWithPopup('google');\n\n// Login with redirect\nawait auth.social.loginWithRedirect('github');\n\n// Handle callback (after redirect)\nif (auth.social.hasCallbackParams()) {\n  const result = await auth.social.handleCallback();\n}\n\n// Get supported providers\nauth.social.getSupportedProviders(); // ['google', 'github', 'apple', 'microsoft', 'facebook']\n```\n\n#### `auth.session`\n\n```typescript\n// Get current session\nconst result = await auth.session.get();\n\n// Validate session\nconst isValid = await auth.session.validate();\n\n// Get user\nconst user = await auth.session.getUser();\n\n// Refresh session cache\nconst session = await auth.session.refresh();\n\n// Check authentication\nconst isAuth = await auth.session.isAuthenticated();\n\n// Clear cache\nauth.session.clearCache();\n```\n\n### Shortcuts\n\n```typescript\n// Sign in\nawait auth.signIn.passkey();\nawait auth.signIn.social('google');\n\n// Sign up\nawait auth.signUp.passkey({ email: 'user@example.com' });\n\n// Sign out\nawait auth.signOut();\nawait auth.signOut({ redirectUri: '/login' });\n```\n\n### Svelte Stores\n\nAll stores are **Readable** (not Writable) to ensure events are the source of truth.\n\n```typescript\nconst { session, user, isAuthenticated, loadingState, error } = auth.stores;\n```\n\n| Store | Type | Description |\n|-------|------|-------------|\n| `session` | `Readable<Session \\| null>` | Current session |\n| `user` | `Readable<User \\| null>` | Current user |\n| `isAuthenticated` | `Readable<boolean>` | Authentication status (derived from session) |\n| `loadingState` | `Readable<AuthLoadingState>` | Current loading state |\n| `error` | `Readable<AuthError \\| null>` | Last error |\n\n#### `AuthLoadingState`\n\n| State | Description |\n|-------|-------------|\n| `'idle'` | Completely stable (also after errors) |\n| `'initializing'` | Initial session check |\n| `'authenticating'` | Login/signup in progress |\n| `'refreshing'` | Session refresh in progress |\n| `'signing_out'` | Sign out in progress |\n\n> **Important**: After any operation completes (success or error), `loadingState` returns to `'idle'`. Use `error !== null` to detect error conditions.\n\n### Events\n\n```typescript\n// Subscribe to events\nconst unsubscribe = auth.on('auth:login', ({ session, user, method }) => {\n  console.log('Logged in:', user.email, 'via', method);\n});\n\nauth.on('auth:logout', ({ redirectUri }) => {\n  console.log('Logged out');\n});\n\nauth.on('auth:error', ({ error }) => {\n  console.error('Auth error:', error.message);\n});\n\nauth.on('session:changed', ({ session, user }) => {\n  console.log('Session changed');\n});\n\nauth.on('session:expired', ({ reason }) => {\n  console.log('Session expired:', reason);\n});\n\n// Unsubscribe\nunsubscribe();\n```\n\n### Cleanup\n\n```typescript\n// When not using AuthProvider, manually cleanup resources\nauth.destroy();\n```\n\n## Components\n\n### `AuthProvider`\n\nProvides auth context to child components.\n\n```svelte\n<script lang=\"ts\">\n  import { AuthProvider } from '@authrim/sveltekit/components';\n  import { auth } from '$lib/auth';\n\n  export let data;\n</script>\n\n<AuthProvider\n  {auth}\n  initialSession={data.auth?.session}\n  initialUser={data.auth?.user}\n>\n  <slot />\n</AuthProvider>\n```\n\n**Props:**\n- `auth` (required): Authrim client instance\n- `initialSession`: Session from SSR\n- `initialUser`: User from SSR\n\n### `SignInButton`\n\n```svelte\n<script lang=\"ts\">\n  import { SignInButton } from '@authrim/sveltekit/components';\n</script>\n\n<!-- Passkey login -->\n<SignInButton\n  method=\"passkey\"\n  on:success={({ detail }) => console.log(detail.user)}\n  on:error={({ detail }) => console.error(detail.message)}\n>\n  Sign In with Passkey\n</SignInButton>\n\n<!-- Social login -->\n<SignInButton method=\"social\" provider=\"google\">\n  Sign In with Google\n</SignInButton>\n```\n\n### `SignOutButton`\n\n```svelte\n<script lang=\"ts\">\n  import { SignOutButton } from '@authrim/sveltekit/components';\n</script>\n\n<SignOutButton\n  redirectUri=\"/login\"\n  on:success={() => console.log('Signed out')}\n  on:error={({ detail }) => console.error(detail)}\n>\n  Sign Out\n</SignOutButton>\n```\n\n### `UserProfile`\n\n```svelte\n<script lang=\"ts\">\n  import { UserProfile } from '@authrim/sveltekit/components';\n</script>\n\n<UserProfile showAvatar showEmail>\n  <svelte:fragment slot=\"avatar\" let:user>\n    <img src={user.picture} alt={user.name} />\n  </svelte:fragment>\n</UserProfile>\n```\n\n### `ProtectedRoute`\n\n```svelte\n<script lang=\"ts\">\n  import { ProtectedRoute } from '@authrim/sveltekit/components';\n</script>\n\n<ProtectedRoute redirectTo=\"/login\" includeReturnPath>\n  <Dashboard />\n\n  <svelte:fragment slot=\"loading\">\n    <Spinner />\n  </svelte:fragment>\n\n  <svelte:fragment slot=\"unauthenticated\">\n    <p>Please sign in to continue.</p>\n  </svelte:fragment>\n</ProtectedRoute>\n```\n\n## Server-Side Integration\n\n### Handle Hook\n\n```typescript\n// src/hooks.server.ts\nimport { createAuthHandle } from '@authrim/sveltekit/server';\nimport { AUTHRIM_SESSION_SECRET } from '$env/static/private';\n\nexport const handle = createAuthHandle({\n  sessionSecret: AUTHRIM_SESSION_SECRET,\n  cookieName: 'authrim_session',\n  secure: true,\n  sameSite: 'lax',\n});\n```\n\n### Protected Routes (Server)\n\n```typescript\n// src/routes/dashboard/+page.server.ts\nimport { requireAuth } from '@authrim/sveltekit/server';\n\nexport const load = requireAuth({\n  loginUrl: '/login',\n  redirectParam: 'redirectTo',\n});\n```\n\n### Layout Data\n\n```typescript\n// src/routes/+layout.server.ts\nimport { createAuthLoad } from '@authrim/sveltekit/server';\n\nexport const load = createAuthLoad();\n```\n\n### Helper Functions\n\n```typescript\nimport {\n  isAuthenticated,\n  getUser,\n  getSession,\n  getAuthFromEvent\n} from '@authrim/sveltekit/server';\n\n// In +page.server.ts or hooks\nexport const load = async ({ locals }) => {\n  if (isAuthenticated(locals)) {\n    const user = getUser(locals);\n    const session = getSession(locals);\n    // ...\n  }\n};\n\n// In handle hook\nconst authContext = getAuthFromEvent(event);\n```\n\n## Package Exports\n\n```typescript\n// Main client\nimport { createAuthrim, getAuthContext, setAuthContext } from '@authrim/sveltekit';\n\n// Server utilities\nimport {\n  createAuthHandle,\n  requireAuth,\n  createAuthLoad,\n  isAuthenticated,\n  getUser,\n  getSession\n} from '@authrim/sveltekit/server';\n\n// Components\nimport {\n  AuthProvider,\n  SignInButton,\n  SignOutButton,\n  UserProfile,\n  ProtectedRoute\n} from '@authrim/sveltekit/components';\n\n// Stores (for advanced use)\nimport { createAuthStores } from '@authrim/sveltekit/stores';\n```\n\n## Design Principles\n\n1. **Stores are observation-only**: All stores are `Readable`, not `Writable`. This ensures that the event system is the single source of truth.\n\n2. **Events are source of truth**: Store updates are projections of events. This makes the data flow predictable and debuggable.\n\n3. **Components are thin wrappers**: UI components delegate behavior to props/events. They don't implement business logic.\n\n4. **SSR-first**: Full server-side rendering support with proper hydration handling.\n\n5. **Type safety**: Complete TypeScript support with strict typing.\n\n## Security Considerations\n\n- **PKCE**: All OAuth flows use PKCE (Proof Key for Code Exchange)\n- **Secure Storage**: Session tokens are stored securely with configurable storage options\n- **CSRF Protection**: State parameter validation for OAuth flows\n- **HttpOnly Cookies**: Server-side session cookies are HttpOnly and encrypted by default\n\n## License\n\n[Apache-2.0](LICENSE)\n\n## Links\n\n- [Documentation](https://authrim.com/sdk/sveltekit/)\n- [GitHub](https://github.com/authrim/js-sveltekit)\n- [npm](https://www.npmjs.com/package/@authrim/sveltekit)\n- [Authrim](https://authrim.com)\n","readmeFilename":"README.md"}