1;!function(){try { var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof global?global:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&((e._debugIds|| (e._debugIds={}))[n]="fae9ad13-c418-0dbc-08f6-bc48fec9291c")}catch(e){}}(); 2(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,578938,e=>{"use strict";let t,r,n,o,i,a,s,l,u;var c,E,d=e.i(417129);let _=Object.create(null),O=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?_:globalThis),T=new Proxy(_,{get:(e,t)=>O()[t]??_[t],has:(e,t)=>t in O()||t in _,set:(e,t,r)=>(O(!0)[t]=r,!0),deleteProperty(e,t){if(!t)return!1;let r=O(!0);return delete r[t],!0},ownKeys:()=>Object.keys(O(!0))});function f(e,t){return void 0!==d.default&&d.default.env?d.default.env[e]??t:"u">typeof Deno?Deno.env.get(e)??t:"u">typeof Bun?Bun.env[e]??t:t}function p(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]))}T.NODE_ENV,Object.freeze({get BETTER_AUTH_SECRET(){return f("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return f("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return f("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return f("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return f("NODE_ENV","development")},get PACKAGE_VERSION(){return f("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return f("BETTER_AUTH_TELEMETRY_ENDPOINT","")}}),p({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",INVALID_USER:"Invalid user",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",TOKEN_EXPIRED:"Token expired",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CHANGE_EMAIL_DISABLED:"Change email is disabled",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account.",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"Cross-site navigation login blocked. This request appears to be a CSRF attack.",VERIFICATION_EMAIL_NOT_ENABLED:"Verification email isn't enabled",EMAIL_ALREADY_VERIFIED:"Email is already verified",EMAIL_MISMATCH:"Email mismatch",SESSION_NOT_FRESH:"Session is not fresh",LINKED_ACCOUNT_ALREADY_EXISTS:"Linked account already exists",INVALID_ORIGIN:"Invalid origin",INVALID_CALLBACK_URL:"Invalid callbackURL",INVALID_REDIRECT_URL:"Invalid redirectURL",INVALID_ERROR_CALLBACK_URL:"Invalid errorCallbackURL",INVALID_
2NEW_USER_CALLBACK_URL:"Invalid newUserCallbackURL",MISSING_OR_NULL_ORIGIN:"Missing or null Origin",CALLBACK_URL_REQUIRED:"callbackURL is required",FAILED_TO_CREATE_VERIFICATION:"Unable to create verification",FIELD_NOT_ALLOWED:"Field not allowed to be set",ASYNC_VALIDATION_NOT_SUPPORTED:"Async validation is not supported",VALIDATION_ERROR:"Validation Error",MISSING_FIELD:"Field is required",METHOD_NOT_ALLOWED_DEFER_SESSION_REQUIRED:"POST method requires deferSessionRefresh to be enabled in session config",BODY_MUST_BE_AN_OBJECT:"Body must be an object",PASSWORD_ALREADY_SET:"User already has a password set"});let R={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};var h=class extends Error{status;body;headers;statusCode;constructor(e="INTERNAL_SERVER_ERROR",t,r={},n="number"==typeof e?e:R[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=r,this.statusCode=n,this.name="APIError",this.status=e,this.headers=r,this.statusCode=n,this.body=t}};Symbol.for("better-call:api-error-headers"),c=h,E=Error,Object.defineProperty((class e extends c{#e;constructor(...e){if(function(){let e=Object.getOwnPropertyDescriptor(Error,"stackTraceLimit");return void 0===e?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,"writable")?e.writable:void 0!==e.set}()){const t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);const t=Error().stack;t&&(this.#e=function(e){let t=e.split("\n at ");return t.length<=1?e:(t.splice(1,1),t.join("\n at "))}(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}).prototype,"constructor",{get:()=>E,enumerable:!1,configurable:!0});var A=class extends Error{constructor(e,t){super(e,t),this.name="BetterAuthError",this.message=e,this.stack=""}};function g(e){let t=e.length;for(;t>0&&47===e.charCodeAt(t-1);)t--;return t===e.length?e:e.slice(0,t)}function m(e,t="/api/auth"){try{let t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new A(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){if(t instanceof A)throw t;throw new A(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}if(function(e){try{return"/"!==(g(new URL(e).pathname)||"/")}catch{throw new A(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}(e))return e;let r=g(e);return t&&"/"!==t?(t=t.startsWith("/")?t:`/${t}`,`${r}${t}`):r}let I={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},S=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,N={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},b=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/,y=["javascript:","data:","vbscript:"],v={id:"redirect",name:"Redirect",hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&function(e){let t;try{t=new URL(e)}catch{return!0}return!y.includes(t.protocol)}(e.data.url)&&"u">typeof window&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},w=(e,t,r,n)=>(e.events=e.events||{},e.events[r+10]||(e.events[r+10]=n(t=>{e.events[r].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[r]=e.events[r]||[],e.events[r].push(t),()=>{let n=e.events[r],o=n.indexOf(t);n.splice(o,1),n.length||(delete e.events[r],e.events[r+10](),delete e.events[r+10])}),L=(e,t)=>w(e,r=>{let n=t(r);n&&e.events[6].push(n)},5,t=>{let r=e.listen;e.listen=(...n)=>(e.lc||e.active||(e.active=!0,t()),r(...n));let n=e.off;return e.events[6]=[],e.off=()=>{n(),setTimeout(()=>
2{if(e.active&&!e.lc){for(let t of(e.active=!1,e.events[6]))t();e.events[6]=[]}},1e3)},()=>{e.listen=r,e.off=n}});function U(e){if("object"!=typeof e||null===e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function D(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!D(e[r],t[r]))return!1;return!0}if(U(e)&&U(t)){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(!(n in t)||!D(e[n],t[n]))return!1;return!0}return!1}function C(e,t){return w(e,({newValue:r,abort:n})=>{t(e.value,r)&&n()},2,t=>{let r=e.set,n=e.setKey;return e.setKey&&(e.setKey=(r,o)=>{let i;if(t({abort:()=>{i=!0},changed:r,newValue:{...e.value,[r]:o}}),!i)return n(r,o)}),e.set=e=>{let n;if(t({abort:()=>{n=!0},newValue:e}),!n)return r(e)},()=>{e.set=r,e.setKey=n}})}let P=Symbol.for("better-auth:broadcast-channel");var M=class{listeners=new Set;name;constructor(e="better-auth.message"){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if("u">typeof window)try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:Math.floor(Date.now()/1e3)}))}catch{}}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??"{}");t?.event==="session"&&t?.data&&this.listeners.forEach(e=>e(t))};return window.addEventListener("storage",e),()=>{window.removeEventListener("storage",e)}}};function Y(e="better-auth.message"){return globalThis[P]||(globalThis[P]=new M(e)),globalThis[P]}let B=Symbol.for("better-auth:focus-manager");var x=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if("u"<typeof window||"u"<typeof document||void 0===window.addEventListener)return()=>{};let e=()=>{"visible"===document.visibilityState&&this.setFocused(!0)};return document.addEventListener("visibilitychange",e,!1),()=>{document.removeEventListener("visibilitychange",e,!1)}}};function H(){return globalThis[B]||(globalThis[B]=new x),globalThis[B]}let F=Symbol.for("better-auth:online-manager");var k=class{listeners=new Set;isOnline="u"<typeof navigator||navigator.onLine;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if("u"<typeof window||void 0===window.addEventListener)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",t,!1),()=>{window.removeEventListener("online",e,!1),window.removeEventListener("offline",t,!1)}}};function V(){return globalThis[F]||(globalThis[F]=new k),globalThis[F]}let G=()=>Math.floor(Date.now()/1e3),W=[],j=0,z=globalThis.nanostoresGlobal||={epoch:0},$=e=>{let t=[],r={get:()=>(r.lc||r.listen(()=>{})(),r.value),init:e,lc:0,listen:e=>(r.lc=t.push(e),()=>{for(let t=j+4;t<W.length;)W[t]===e?W.splice(t,4):t+=4;let n=t.indexOf(e);~n&&(t.splice(n,1),--r.lc||r.off())}),notify(e,n){z.epoch++;let o=!W.length;for(let o of t)W.push(o,r.value,e,n);if(o){for(j=0;j<W.length;j+=4)W[j](W[j+1],W[j+2],W[j+3]);W.length=0}},off(){},set(e){let t=r.value;t!==e&&(r.value=e,r.notify(t))},subscribe(e){let t=r.listen(e);return e(r.value),t},value:e};return r};function q(e){return"object"==typeof e&&null!==e&&"data"in e&&"error"in e?e:{data:e,error:null}}function K(e,t){return D(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}function J(e){if(null===e||"object"!=typeof e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.iterator in e)&&(!(Symbol.toStringTag in e)||"[object Module]"===Object.prototype.toString.call(e))}function X(e){return(...t)=>t.reduce((t,r)=>(function e(t,r,n=".",o){if(!J(r))return e(t,{},n,o);let i={...r};for(let r of Object.keys(t)){if("__proto__"===r||"constructor"===r)continue;let a=t[r];null!=a&&(o&&o(i,r,a,n)||(Array.isArray(a)&&Array.isArray(i[r])?i[r]=[...a,...i[r]]:J(a)&&J(i[r])?i[r]=e(a,i[r],(n?`${n}.`:"")+r.toString(),o):i[r]=a))}return i})(t,r,"",e),{})}let Z=X();X((e,t,r)=>{if(void 0!==e[t]&&"function"==typeof r)return e[t]=r(e[t]),!0}),X((e,t,r)=>{if(Array.isArray(e[t])&&"function"==typeof r)return e[t]=r(e[t]),!0});var Q=Object.defineProperty,ee=Object.defineProperties,et=Object.getOwnPropertyDescriptors,er=Object.getOwnPropertySymbols,en=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable,ei=(e,t,r)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ea=(e,t)=>{for(var r in t||(t={}))en.call(t,r)&&ei(e,r,t[r]);if(er)for(var r of er(t))eo.call(t,r)&&ei(e,r,t[r]);return e},es=(e,t)=>
2ee(e,et(t)),el=class extends Error{constructor(e,t,r){super(t||e.toString(),{cause:r}),this.status=e,this.statusText=t,this.error=r,Error.captureStackTrace(this,this.constructor)}},eu=async(e,t)=>{var r,n,o,i,a,s;let l=t||{},u={onRequest:[null==t?void 0:t.onRequest],onResponse:[null==t?void 0:t.onResponse],onSuccess:[null==t?void 0:t.onSuccess],onError:[null==t?void 0:t.onError],onRetry:[null==t?void 0:t.onRetry]};if(!t||!(null==t?void 0:t.plugins))return{url:e,options:l,hooks:u};for(let c of(null==t?void 0:t.plugins)||[]){if(c.init){let n=await (null==(r=c.init)?void 0:r.call(c,e.toString(),t));l=n.options||l,e=n.url}u.onRequest.push(null==(n=c.hooks)?void 0:n.onRequest),u.onResponse.push(null==(o=c.hooks)?void 0:o.onResponse),u.onSuccess.push(null==(i=c.hooks)?void 0:i.onSuccess),u.onError.push(null==(a=c.hooks)?void 0:a.onError),u.onRetry.push(null==(s=c.hooks)?void 0:s.onRetry)}return{url:e,options:l,hooks:u}},ec=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(){return this.options.delay}},eE=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(e){return Math.min(this.options.maxDelay,this.options.baseDelay*2**e)}},ed=async e=>{let t={},r=async e=>"function"==typeof e?await e():e;if(null==e?void 0:e.auth){if("Bearer"===e.auth.type){let n=await r(e.auth.token);if(!n)return t;t.authorization=`Bearer ${n}`}else if("Basic"===e.auth.type){let[n,o]=await Promise.all([r(e.auth.username),r(e.auth.password)]);if(!n||!o)return t;t.authorization=`Basic ${btoa(`${n}:${o}`)}`}else if("Custom"===e.auth.type){let[n,o]=await Promise.all([r(e.auth.prefix),r(e.auth.value)]);if(!o)return t;t.authorization=`${null!=n?n:""} ${o}`}}return t},e_=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function eO(e){if(void 0===e)return!1;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||null===t||"object"===t&&(!!Array.isArray(e)||!e.buffer&&(e.constructor&&"Object"===e.constructor.name||"function"==typeof e.toJSON))}function eT(e){try{return JSON.parse(e)}catch(t){return e}}function ef(e){return"function"==typeof e}function ep(...e){let t={};for(let r of e)if(r)if(r instanceof Headers)r.forEach((e,r)=>{t[r]=e});else for(let[e,n]of Array.isArray(r)?r:Object.entries(r))null!=n&&(t[e]=n);return t}async function eR(e){let t=new Headers(ep(null==e?void 0:e.headers,await ed(e)));if(!t.has("content-type")){let r=eO(null==e?void 0:e.body)?"application/json":null;r&&t.set("content-type",r)}return t}var eh=class e extends Error{constructor(t,r){super(r||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function eA(e,t){let r=await e["~standard"].validate(t);if(r.issues)throw new eh(r.issues);return r.value}var eg=["get","post","put","patch","delete"],em=async(e,t)=>{var r,n,o,i,a,s,l,u;let c,{hooks:E,url:d,options:_}=await eu(e,t),O=function(e){if(null==e?void 0:e.customFetchImpl)return e.customFetchImpl;if("u">typeof globalThis&&ef(globalThis.fetch))return globalThis.fetch;if("u">typeof window&&ef(window.fetch))return window.fetch;throw Error("No fetch implementation found")}(_),T=new AbortController,f=null!=(r=_.signal)?r:T.signal,p=function(e,t){let{baseURL:r,params:n,query:o}=t||{query:{},params:{},baseURL:""},i=e.startsWith("http")?e.split("/").slice(0,3).join("/"):r||"";if(e.startsWith("@")){let t=e.toString().split("@")[1].split("/")[0];eg.includes(t)&&(e=e.replace(`@${t}/`,"/"))}i.endsWith("/")||(i+="/");let[a,s]=e.replace(i,"").split("?"),l=new URLSearchParams(s);for(let[e,t]of Object.entries(o||{})){let r;if(null!=t){if("string"==typeof t)r=t;else if(Array.isArray(t)){for(let r of t)l.append(e,r);continue}else r=JSON.stringify(t);l.set(e,r)}}let u=new Map;if(n)if(Array.isArray(n))for(let[e,t]of a.split("/").filter(e=>e.startsWith(":")).entries()){let r=n[e];u.set(t,String(r))}else for(let[e,t]of Object.entries(n))u.set(`:${e}`,String(t));a=(a=a.split("/").map(e=>(function(e,t){let r,n=e;for(let[e,r]of t)n=n.replace(e,r);if("."===(r=n)||".."===r)throw TypeError("Path parameters cannot be reserved path segments");return encodeURIComponent(n)})(e,u)).join("/")).replace(/^\/+/,"");let c=l.toString();return(c=c.length>0?`?${c}`.replace(/\+/g,"%20"):"",i.startsWith("http"))?new URL(`${a}${c}`,i):`${i}${a}${c}`}(d,_),R=await eR(_),h=function(e,t){let r,{body:n}=e;return n?eO(n)&&"string"!=typeof n?"application/x-www-form-urlencoded"===((r=t.get("content-type"))?r.split(";")[0].trim().toLowerCase():null)?new URLSearchParams(n).toString():JSON.stringify(n):n:null}(_,R),A=function(e,t){var r;if(null==t?void 0:t.method)return t.method.toUpperCase();if(e.startsWith("@")){let n=null==(r=e.split("@")[1])?void 0:r.split("/")[0];return eg.includes(n)?n.toUpperCase():(null==t?void 0:t.body)?"POST":"GET"}return(null==t?void 0:t.body)?"POST":"GET"}(d,_),g=es(ea({},_),{url:p,headers:R,body:h,method:A,signal:f});for(let e of E.onRequest)if(e){let t=await e(g);"object"==typeof t&&null!==t&&Object.assign(g,t)}("pipeTo"in g&&"function"==typeof g.pipeTo||"function"==typeof(null==(n=null==t?void 0:t.body)?void 0:n.pi
2pe))&&!("duplex"in g)&&(g.duplex="half");let{clearTimeout:m}=(!(null==_?void 0:_.signal)&&(null==_?void 0:_.timeout)&&(c=setTimeout(()=>null==T?void 0:T.abort(),null==_?void 0:_.timeout)),{abortTimeout:c,clearTimeout:()=>{c&&clearTimeout(c)}}),I=await O(g.url,g);m();let S={response:I,request:g};for(let e of E.onResponse)if(e){let r=await e(es(ea({},S),{response:(null==(o=null==t?void 0:t.hookOptions)?void 0:o.cloneResponse)?I.clone():I}));r instanceof Response?I=r:"object"==typeof r&&null!==r&&(I=r.response)}if(I.ok){if("HEAD"===g.method)return{data:"",error:null};let e=function(e){let t=e.headers.get("content-type"),r=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!t)return"json";let n=t.split(";").shift()||"";return e_.test(n)?"json":r.has(n)||n.startsWith("text/")?"text":"blob"}(I),r={data:null,response:I,request:g};if("json"===e||"text"===e){let e=await I.text(),t=null!=(i=g.jsonParser)?i:eT;r.data=await t(e)}else r.data=await I[e]();for(let e of((null==g?void 0:g.output)&&g.output&&!g.disableValidation&&(r.data=await eA(g.output,r.data)),E.onSuccess))e&&await e(es(ea({},r),{response:(null==(a=null==t?void 0:t.hookOptions)?void 0:a.cloneResponse)?I.clone():I}));return(null==t?void 0:t.throw)?r.data:{data:r.data,error:null}}let N=null!=(s=null==t?void 0:t.jsonParser)?s:eT,b=await I.text(),y=function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(b),v=y?await N(b):null,w={response:I,responseText:b,request:g,error:es(ea({},v),{status:I.status,statusText:I.statusText})};for(let e of E.onError)e&&await e(es(ea({},w),{response:(null==(l=null==t?void 0:t.hookOptions)?void 0:l.cloneResponse)?I.clone():I}));if(null==t?void 0:t.retry){let r=function(e){if("number"==typeof e)return new ec({type:"linear",attempts:e,delay:1e3});switch(e.type){case"linear":return new ec(e);case"exponential":return new eE(e);default:throw Error("Invalid retry strategy")}}(t.retry),n=null!=(u=t.retryAttempt)?u:0;if(await r.shouldAttemptRetry(n,I)){for(let e of E.onRetry)e&&await e(S);let o=r.getDelay(n);return await new Promise(e=>setTimeout(e,o)),await em(e,es(ea({},t),{retryAttempt:n+1}))}}if(null==t?void 0:t.throw)throw new el(I.status,I.statusText,y?v:b);return{data:null,error:es(ea({},v),{status:I.status,statusText:I.statusText})}};let eI=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,eS=/['\u2019]/g;function eN(e){return(e.replace(eS,"").match(eI)??[]).map(e=>e.toLowerCase()).join("-")}var eb=e.i(264626);let ey="1.7.1";function ev(e){return"OR"===e?"OR":"AND"}function ew(e){return Array.isArray(e)}function eL(e,t){return"string"==typeof t&&e.includes(t)}function eU(e){return{newRole:e=>{var t;return{authorize(e,r="AND"){let n=!1;for(let[o,i]of Object.entries(e)){let e=t[o];if(!e){if("AND"===r)return{success:!1,error:`You are not allowed to access resource: ${o}`};continue}let a=function(e,{actions:t,connector:r}){return 0!==t.length&&("OR"===r?t.some(t=>eL(e,t)):t.every(t=>eL(e,t)))}(e,function(e){if(ew(e))return{actions:e,connector:"AND"};if(!e||"object"!=typeof e)throw new A("Invalid access control request");let{actions:t,connector:r}=e;return ew(t)?{actions:t,connector:ev(r)}:{actions:[],connector:ev(r)}}(i));if(a&&(n=!0),a&&"OR"===r)return{success:!0};if(!a&&"AND"===r)return{success:!1,error:`unauthorized to access resource "${o}"`}}return n?{success:!0}:{success:!1,error:"Not authorized"}},statements:t=e}},statements:e}}let eD=eU({user:["create","list","set-role","ban","impersonate","impersonate-admins","delete","set-password","set-email","get","update"],session:["list","revoke","delete"]}),eC=eD.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","set-email","get","update"],session:["list","revoke","delete"]}),eP=eD.newRole({user:[],session:[]}),eM={admin:eC,user:eP},eY=p({FAILED_TO_CREATE_USER:"Failed to create user",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",YOU_CANNOT_BAN_YOURSELF:"You cannot ban yourself",YOU_ARE_NOT_ALLOWED_TO_CHANGE_USERS_ROLE:"You are not allowed to change users role",YOU_ARE_NOT_ALLOWED_TO_CREATE_USERS:"You are not allowed to create users",YOU_ARE_NOT_ALLOWED_TO_LIST_USERS:"You are not allowed to list users",YOU_ARE_NOT_ALLOWED_TO_LIST_USERS_SESSIONS:"You are not allowed to list users sessions",YOU_ARE_NOT_ALLOWED_TO_BAN_USERS:"You are not allowed to ban users",YOU_ARE_NOT_ALLOWED_TO_IMPERSONATE_USERS:"You are not allowed to impersonate users",YOU_ARE_NOT_ALLOWED_TO_REVOKE_USERS_SESSIONS:"You are not allowed to revoke users sessions",YOU_ARE_NOT_ALLOWED_TO_DELETE_USERS:"You are not allowed to delete users",YOU_ARE_NOT_ALLOWED_TO_SET_USERS_PASSWORD:"You are not allowed to set users password",BANNED_USER:"You have been banned from this application",YOU_ARE_NOT_ALLOWED_TO_GET_USER:"You are not allowed to get user",NO_DATA_TO_UPDATE:"No data to update",YOU_ARE_NOT_ALLOWED_TO_UPDATE_USERS:"You are not allowed to update users",YOU_CANNOT_REMOVE_YOURSELF:"You cannot remove yourself",YOU_ARE_NOT_ALLOWED_TO_SET_NON_EXISTENT_VALUE:"You are not allowed to set a non-existent role value",YOU_CANNOT_IMPERSONATE_ADMINS:"You cannot impersonate admins",INVALID_ROLE_TYPE:"Invalid role type",YOU_ARE_NOT_ALLOWED_TO_SET_USERS_EMAIL:"You are not allowed to update users email",PASSWORD_CANNOT_BE_UPDATED_VIA_UPDATE_USER:"Password cannot be updated through update-user. Use the set-user-password endpoint instead"});function eB(e,t){return D(e.data,t.data)&&e.error===t.error&&e.isPending===t.isPending&&e.isRefetching===t.isRefetching&&e.refetch===t.refetch}let ex=(e,t,r,n)=>{let o=$({data:null,error:null,isPending:!0,isRefetching:!1,refetch:e=>i(e)});L(o,()=>C(o,eB));let i=async e=>new Promise(i=>{let a="function"==typeof n?n({data:o.get().data,error:o.get().error,
2isPending:o.get().isPending}):n;r(t,{...a,query:{...a?.query,...e?.query},async onSuccess(e){let t=o.get(),r=null!=t.data&&null!=e.data&&D(t.data,e.data)?t.data:e.data;o.set({data:r,error:null,isPending:!1,isRefetching:!1,refetch:o.value.refetch}),await a?.onSuccess?.(e)},async onError(e){let{request:t}=e,r="number"==typeof t.retry?t.retry:t.retry?.attempts,n=t.retryAttempt||0;if(r&&n<r)return;let i=401===e.error.status;o.set({error:e.error,data:i?null:o.get().data,isPending:!1,isRefetching:!1,refetch:o.value.refetch}),await a?.onError?.(e)},async onRequest(e){let t=o.get();o.set({isPending:null===t.data,data:t.data,error:null,isRefetching:!0,refetch:o.value.refetch}),await a?.onRequest?.(e)}}).catch(e=>{o.set({error:e,data:o.get().data,isPending:!1,isRefetching:!1,refetch:o.value.refetch})}).finally(()=>{i(void 0)})});e=Array.isArray(e)?e:[e];let a=!1,s=!1,l=!1,u=()=>{if(a){l=!0;return}a=!0,i().finally(()=>{a=!1;let e=l&&s;l=!1,e&&u()})};return L(o,()=>{let t;if("u"<typeof window)return;s=!0;let r=!1,n=e.map(e=>e.listen(()=>{r?i():(r=!0,clearTimeout(t),u())}));return t=setTimeout(()=>{r=!0,u()},0),()=>{for(let e of(s=!1,n))e();clearTimeout(t)}}),o},eH=eU({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),eF=eH.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),ek=eH.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),eV=eH.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]}),eG={admin:eF,owner:ek,member:eV},eW=p({YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION:"You are not allowed to create a new organization",YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS:"You have reached the maximum number of organizations",ORGANIZATION_ALREADY_EXISTS:"Organization already exists",ORGANIZATION_SLUG_ALREADY_TAKEN:"Organization slug already taken",ORGANIZATION_NOT_FOUND:"Organization not found",USER_IS_NOT_A_MEMBER_OF_THE_ORGANIZATION:"User is not a member of the organization",YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_ORGANIZATION:"You are not allowed to update this organization",YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_ORGANIZATION:"You are not allowed to delete this organization",NO_ACTIVE_ORGANIZATION:"No active organization",USER_IS_ALREADY_A_MEMBER_OF_THIS_ORGANIZATION:"User is already a member of this organization",MEMBER_NOT_FOUND:"Member not found",ROLE_NOT_FOUND:"Role not found",YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_TEAM:"You are not allowed to create a new team",TEAM_ALREADY_EXISTS:"Team already exists",TEAM_NOT_FOUND:"Team not found",YOU_CANNOT_LEAVE_THE_ORGANIZATION_AS_THE_ONLY_OWNER:"You cannot leave the organization as the only owner",YOU_CANNOT_LEAVE_THE_ORGANIZATION_WITHOUT_AN_OWNER:"You cannot leave the organization without an owner",YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_MEMBER:"You are not allowed to delete this member",YOU_ARE_NOT_ALLOWED_TO_INVITE_USERS_TO_THIS_ORGANIZATION:"You are not allowed to invite users to this organization",USER_IS_ALREADY_INVITED_TO_THIS_ORGANIZATION:"User is already invited to this organization",INVITATION_NOT_FOUND:"Invitation not found",YOU_ARE_NOT_THE_RECIPIENT_OF_THE_INVITATION:"You are not the recipient of the invitation",EMAIL_VERIFICATION_REQUIRED_BEFORE_ACCEPTING_OR_REJECTING_INVITATION:"Email verification required before accepting or rejecting invitation",EMAIL_VERIFICATION_REQUIRED_FOR_INVITATION:"Email verification required to view or list invitations for the session email",YOU_ARE_NOT_ALLOWED_TO_CANCEL_THIS_INVITATION:"You are not allowed to cancel this invitation",INVITER_IS_NO_LONGER_A_MEMBER_OF_THE_ORGANIZATION:"Inviter is no longer a member of the organization",YOU_ARE_NOT_ALLOWED_TO_INVITE_USER_WITH_THIS_ROLE:"You are not allowed to invite a user with this role",FAILED_TO_RETRIEVE_INVITATION:"Failed to retrieve invitation",YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_TEAMS:"You have reached the maximum number of teams",UNABLE_TO_REMOVE_LAST_TEAM:"Unable to remove last team",YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_MEMBER:"You are not allowed to update this member",ORGANIZATION_MEMBERSHIP_LIMIT_REACHED:"Organization membership limit reached",YOU_ARE_NOT_ALLOWED_TO_CREATE_TEAMS_IN_THIS_ORGANIZATION:"You are not allowed to create teams in this organization",YOU_ARE_NOT_ALLOWED_TO_DELETE_TEAMS_IN_THIS_ORGANIZATION:"You are not allowed to delete teams in this organization",YOU_ARE_NOT_ALLOWED_TO_UPDATE_THIS_TEAM:"You are not allowed to update this team",YOU_ARE_NOT_ALLOWED_TO_DELETE_THIS_TEAM:"You are not allowed to delete this team",INVITATION_LIMIT_REACHED:"Invitation limit reached",TEAM_MEMBER_LIMIT_REACHED:"Team member limit reached",USER_IS_NOT_A_MEMBER_OF_THE_TEAM:"User is not a member of the team",YOU_CAN_NOT_ACCESS_THE_MEMBERS_OF_THIS_TEAM:"You are not allowed to list the members of this team",YOU_DO_NOT_HAVE_AN_ACTIVE_TEAM:"You do not have an active team",YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_TEAM_MEMBER:"You are not allowed to create a new member",YOU_ARE_NOT_ALLOWED_TO_REMOVE_A_TEAM_MEMBER:"You are not allowed to remove a team member",YOU_ARE_NOT_ALLOWED_TO_ACCESS_THIS_ORGANIZATION:"You are not allowed to access this organization as an owner",YOU_ARE_NOT_A_MEMBER_OF_THIS_ORGANIZATION:"You are not a member of this organization",MISSING_AC_INSTANCE:"Dynamic Access Control requires a pre-defined ac instance on the server auth plugin. Read server logs for more information",YOU_MUST_BE_IN_AN_ORGANIZATION_TO_CREATE_A_ROLE:"You must be in an organization to create a role",YOU_ARE_NOT_ALLOWED_TO_CREATE_A_ROLE:"You are not allowed to create a role",YOU_ARE_NOT_ALLOWED_TO_UPDATE_A_ROLE:"You are not allowed to update a role",YOU_ARE_NOT_ALLOWED_TO_DELETE_A_ROLE:"You are not allowed to delete a role",YOU_ARE_NOT_ALLOWED_TO_READ_A_ROLE:"You are not allowed to read a role",YOU_ARE_NOT_ALLOWED_TO_LIST_A_ROLE:"You are not allowed to list a role",YOU_ARE_NOT_ALLOWED_TO_GET_A_ROLE:"You are not allowed to get a role",TOO_MANY_ROLES:"This organization has too many roles",INVALID_RESOURCE:"The provided permission includes an invali
2d resource",ROLE_NAME_IS_ALREADY_TAKEN:"That role name is already taken",CANNOT_DELETE_A_PRE_DEFINED_ROLE:"Cannot delete a pre-defined role",ROLE_IS_ASSIGNED_TO_MEMBERS:"Cannot delete a role that is assigned to members. Please reassign the members to a different role first",INVALID_TEAM_ID:"Team id contains a reserved character"}),ej=p({OTP_NOT_ENABLED:"OTP not enabled",OTP_NOT_CONFIGURED:"OTP is not available",OTP_HAS_EXPIRED:"OTP has expired",TOTP_NOT_ENABLED:"TOTP not enabled",TOTP_NOT_CONFIGURED:"TOTP is not available",TWO_FACTOR_NOT_ENABLED:"Two factor isn't enabled",BACKUP_CODES_NOT_ENABLED:"Backup codes aren't enabled",INVALID_BACKUP_CODE:"Invalid backup code",INVALID_CODE:"Invalid code",TOO_MANY_ATTEMPTS_REQUEST_NEW_CODE:"Too many attempts. Please request a new code.",ACCOUNT_TEMPORARILY_LOCKED:"Too many failed verification attempts. Your account is temporarily locked. Please try again later.",INVALID_TWO_FACTOR_COOKIE:"Invalid two factor cookie"}),ez="ba_param",e$=Object.create(null),eq=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?e$:globalThis),eK=new Proxy(e$,{get:(e,t)=>eq()[t]??e$[t],has:(e,t)=>t in eq()||t in e$,set:(e,t,r)=>(eq(!0)[t]=r,!0),deleteProperty(e,t){if(!t)return!1;let r=eq(!0);return delete r[t],!0},ownKeys:()=>Object.keys(eq(!0))});function eJ(e,t){return void 0!==d.default&&d.default.env?d.default.env[e]??t:"u">typeof Deno?Deno.env.get(e)??t:"u">typeof Bun?Bun.env[e]??t:t}eK.NODE_ENV,Object.freeze({get BETTER_AUTH_SECRET(){return eJ("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return eJ("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return eJ("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return eJ("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return eJ("NODE_ENV","development")},get PACKAGE_VERSION(){return eJ("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return eJ("BETTER_AUTH_TELEMETRY_ENDPOINT","")}});let eX={eterm:4,cons25:4,console:4,cygwin:4,dtterm:4,gnome:4,hurd:4,jfbterm:4,konsole:4,kterm:4,mlterm:4,mosh:24,putty:4,st:4,"rxvt-unicode-24bit":24,terminator:24,"xterm-kitty":24},eZ=new Map(Object.entries({APPVEYOR:8,BUILDKITE:8,CIRCLECI:24,DRONE:8,GITEA_ACTIONS:24,GITHUB_ACTIONS:24,GITLAB_CI:8,TRAVIS:8})),eQ=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/],e0="\x1b[0m",e1="\x1b[31m",e4="\x1b[32m",e2="\x1b[33m",e3="\x1b[34m",e5="\x1b[35m",e7=["debug","info","success","warn","error"],e6={info:e3,success:e4,warn:e2,error:e1,debug:e5},e8=(t=(void 0)??"warn",r=1!==function(){if(void 0!==eJ("FORCE_COLOR"))switch(eJ("FORCE_COLOR")){case"":case"1":case"true":return 4;case"2":return 8;case"3":return 24;default:return 1}if(void 0!==eJ("NODE_DISABLE_COLORS")&&""!==eJ("NODE_DISABLE_COLORS")||void 0!==eJ("NO_COLOR")&&""!==eJ("NO_COLOR")||"dumb"===eJ("TERM"))return 1;if(eJ("TMUX"))return 24;if("TF_BUILD"in eK&&"AGENT_NAME"in eK)return 4;if("CI"in eK){for(let{0:e,1:t}of eZ)if(e in eK)return t;return"codeship"===eJ("CI_NAME")?8:1}if("TEAMCITY_VERSION"in eK)return null!==/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(eJ("TEAMCITY_VERSION"))?4:1;switch(eJ("TERM_PROGRAM")){case"iTerm.app":if(!eJ("TERM_PROGRAM_VERSION")||null!==/^[0-2]\./.exec(eJ("TERM_PROGRAM_VERSION")))return 8;return 24;case"HyperTerm":case"MacTerm":return 24;case"Apple_Terminal":return 8}if("truecolor"===eJ("COLORTERM")||"24bit"===eJ("COLORTERM"))return 24;if(eJ("TERM")){if(null!==/truecolor/.exec(eJ("TERM")))return 24;if(null!==/^xterm-256/.exec(eJ("TERM")))return 8;let e=eJ("TERM").toLowerCase();if(eX[e])return eX[e];if(eQ.some(t=>null!==t.exec(e)))return 4}return eJ("COLORTERM")?4:1}(),{...Object.fromEntries(e7.map(e=>[e,(...[n,...o])=>((e,n,o=[])=>{let i;if(!(e7.indexOf(e)>=e7.indexOf(t)))return;let a=(i=new Date().toISOString(),r?`\x1b[2m${i}${e0} ${e6[e]}${e.toUpperCase()}${e0} \x1b[1m[Better Auth]:${e0} ${n}`:`${i} ${e.toUpperCase()} [Better Auth]: ${n}`);"error"===e?console.error(a,...o):"warn"===e?console.warn(a,...o):console.log(a,...o)})(e,n,o)])),get level(){return t}}),e9=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?Z$/;function te(e){if("string"==typeof e&&e9.test(e)){let t=new Date(e);if(!isNaN(t.getTime()))return t}return e}
2let tt=Object.fromEntries(Object.entries({CHALLENGE_NOT_FOUND:"Challenge not found",YOU_ARE_NOT_ALLOWED_TO_REGISTER_THIS_PASSKEY:"You are not allowed to register this passkey",FAILED_TO_VERIFY_REGISTRATION:"Failed to verify registration",PASSKEY_NOT_FOUND:"Passkey not found",AUTHENTICATION_FAILED:"Authentication failed",UNABLE_TO_CREATE_SESSION:"Unable to create session",USER_NOT_FOUND:"User not found",FAILED_TO_UPDATE_PASSKEY:"Failed to update passkey",PREVIOUSLY_REGISTERED:"Previously registered",REGISTRATION_CANCELLED:"Registration cancelled",AUTH_CANCELLED:"Auth cancelled",UNKNOWN_ERROR:"Unknown error",SESSION_REQUIRED:"Passkey registration requires an authenticated session",RESOLVE_USER_REQUIRED:"Passkey registration requires either an authenticated session or a resolveUser callback when requireSession is false",RESOLVED_USER_INVALID:"Resolved user is invalid"}).map(([e,t])=>[e,{code:e,message:t,toString:()=>e}]));function tr(e){let t=new Uint8Array(e),r="";for(let e of t)r+=String.fromCharCode(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function tn(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=(4-t.length%4)%4,n=atob(t.padEnd(t.length+r,"=")),o=new ArrayBuffer(n.length),i=new Uint8Array(o);for(let e=0;e<n.length;e++)i[e]=n.charCodeAt(e);return o}function to(){return ti.stubThis(globalThis?.PublicKeyCredential!==void 0&&"function"==typeof globalThis.PublicKeyCredential)}let ti={stubThis:e=>e};function ta(e){let{id:t}=e;return{...e,id:tn(t),transports:e.transports}}function ts(e){return"localhost"===e||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}class tl extends Error{constructor({message:e,code:t,cause:r,name:n}){super(e,{cause:r}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=n??r.name,this.code=t}}let tu=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error("Cancelling existing WebAuthn API call for new one");e.name="AbortError",this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error("Manually cancelling existing WebAuthn API call");e.name="AbortError",this.controller.abort(e),this.controller=void 0}}},tc=["cross-platform","platform"];function tE(e){if(e&&!(0>tc.indexOf(e)))return e}async function td(e){let t,r,n,o,i;!e.optionsJSON&&e.challenge&&(console.warn("startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:a,useAutoRegister:s=!1}=e;if(!to())throw Error("WebAuthn is not supported in this browser");let l={...a,challenge:tn(a.challenge),user:{...a.user,id:tn(a.user.id)},excludeCredentials:a.excludeCredentials?.map(ta)},u={};s&&(u.mediation="conditional"),u.publicKey=l,u.signal=tu.createNewAbortSignal();try{t=await navigator.credentials.create(u)}catch(e){throw function({error:e,options:t}){let{publicKey:r}=t;if(!r)throw Error("options was missing required publicKey property");if("AbortError"===e.name){if(t.signal instanceof AbortSignal)return new tl({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if("ConstraintError"===e.name){if(r.authenticatorSelection?.requireResidentKey===!0)return new tl({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});else if("conditional"===t.mediation&&r.authenticatorSelection?.userVerification==="required")return new tl({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});else if(r.authenticatorSelection?.userVerification==="required")return new tl({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else if("InvalidStateError"===e.name)return new tl({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});else if("NotAllowedError"===e.name)return new tl({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});else if("NotSupportedError"===e.name)return new tl(0===r.pubKeyCredParams.filter(e=>"public-key"===e.type).length?{message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}:{message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});else if("SecurityError"===e.name){let t=globalThis.location.hostname;if(!ts(t))return new tl({message:`${globalThis.location.hostname}
2 is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e});if(r.rp.id!==t)return new tl({message:`The RP ID "${r.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else if("TypeError"===e.name){if(r.user.id.byteLength<1||r.user.id.byteLength>64)return new tl({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if("UnknownError"===e.name)return new tl({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e});return e}({error:e,options:u})}if(!t)throw Error("Registration was not completed");let{id:c,rawId:E,response:d,type:_}=t;if("function"==typeof d.getTransports&&(n=d.getTransports()),"function"==typeof d.getPublicKeyAlgorithm)try{o=d.getPublicKeyAlgorithm()}catch(e){t_("getPublicKeyAlgorithm()",e)}if("function"==typeof d.getPublicKey)try{let e=d.getPublicKey();null!==e&&(i=tr(e))}catch(e){t_("getPublicKey()",e)}if("function"==typeof d.getAuthenticatorData)try{r=tr(d.getAuthenticatorData())}catch(e){t_("getAuthenticatorData()",e)}return{id:c,rawId:tr(E),response:{attestationObject:tr(d.attestationObject),clientDataJSON:tr(d.clientDataJSON),transports:n,publicKeyAlgorithm:o,publicKey:i,authenticatorData:r},type:_,clientExtensionResults:t.getClientExtensionResults(),authenticatorAttachment:tE(t.authenticatorAttachment)}}function t_(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them. 3`,t)}let tO=e=>e;async function tT(e){let t,r,n;!e.optionsJSON&&e.challenge&&(console.warn("startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information."),e={optionsJSON:e});let{optionsJSON:o,useBrowserAutofill:i=!1,verifyBrowserAutofillInput:a=!0}=e;if(!to())throw Error("WebAuthn is not supported in this browser");o.allowCredentials?.length!==0&&(t=o.allowCredentials?.map(ta));let s={...o,challenge:tn(o.challenge),allowCredentials:t},l={};if(i){if(!await function(){if(!to())return tO(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?tO(new Promise(e=>e(!1))):tO(e.isConditionalMediationAvailable())}())throw Error("Browser does not support WebAuthn autofill");if(document.querySelectorAll("input[autocomplete$='webauthn']").length<1&&a)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');l.mediation="conditional",s.allowCredentials=[]}l.publicKey=s,l.signal=tu.createNewAbortSignal();try{r=await navigator.credentials.get(l)}catch(e){throw function({error:e,options:t}){let{publicKey:r}=t;if(!r)throw Error("options was missing required publicKey property");if("AbortError"===e.name){if(t.signal instanceof AbortSignal)return new tl({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if("NotAllowedError"===e.name)return new tl({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});else if("SecurityError"===e.name){let t=globalThis.location.hostname;if(!ts(t))return new tl({message:`${globalThis.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e});if(r.rpId!==t)return new tl({message:`The RP ID "${r.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else if("UnknownError"===e.name)return new tl({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e});return e}({error:e,options:l})}if(!r)throw Error("Authentication was not completed");let{id:u,rawId:c,response:E,type:d}=r;return E.userHandle&&(n=tr(E.userHandle)),{id:u,rawId:tr(c),response:{authenticatorData:tr(E.authenticatorData),clientDataJSON:tr(E.clientDataJSON),signature:tr(E.signature),userHandle:n},type:d,clientExtensionResults:r.getClientExtensionResults(),authenticatorAttachment:tE(r.authenticatorAttachment)}}var tf=e.i(857034);let tp=function(e){var t;let{pluginPathMethods:r,pluginsActions:n,pluginsAtoms:o,hydrateSession:i,$fetch:a,$store:s,atomListeners:l}=(e=>{var t;let r,n,o,i,a,s,l,u,c,E="credentials"in Request.prototype,_=function(e,t,r,n){if(e)return m(e,t);if(!1!==n){let e=T.BETTER_AUTH_URL||T.NEXT_PUBLIC_BETTER_AUTH_URL||T.PUBLIC_BETTER_AUTH_URL||T.NUXT_PUBLIC_BETTER_AUTH_URL||T.NUXT_PUBLIC_AUTH_URL||("/"!==T.BASE_URL?T.BASE_URL:void 0);if(e)return m(e,t)}r?.headers.get("x-forwarded-host"),r?.headers.get("x-forwarded-proto");if(r){let e=function(e){try{let t=new URL(e);return"null"===t.origin?null:t.origin}catch{return null}}(r.url);if(!e)throw new A("Could not get origin from request. Please provide a valid base URL.");return m(e,t)}if("u">typeof window&&window.location)return m(window.location.origin,t)}(e?.baseURL,e?.basePath,void 0,void 0)??(e=>{if(void 0!==d.default){if(d.default.env.NEXT_PUBLIC_AUTH_URL)return d.default.env.NEXT_PUBLIC_AUTH_URL;if("u"<typeof window){if(d.default.env.NEXTAUTH_URL)try{return d.default.env.NEXTAUTH_URL}catch{}if(d.default.env.VERCEL_URL)try{let t=d.default.env.VERCEL_URL.startsWith("http")?"":"https://";return`${new URL(`${t}${d.default.env.VERCEL_URL}`).origin}${e??"/api/auth"}`}catch{}}}})(e?.basePath)??"/api/auth",O=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>void 0!==e)||[],f={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:p,onError:R,onRequest:h,onResponse:g,...y}=e?.fetchOptions||{},w=(t={baseURL:_,...E?{credentials:"include"}:{},method:"GET",jsonParser:e=>e?function(e,t={strict:!0}){return function(e,t={}){let{strict:r=!1,warnings:n=!1,reviver:o,parseDates:i=!0}=t;if("string"!=typeof e)return e;let a=e.trim(),s=a.toLowerCase();if(s.length<=9&&s in N)return N[s];if(!S.test(a)){if(r)throw SyntaxError("[better-json] Invalid JSON");return e}if(Object.entries(I).some(([e,t])=>{let r=t.test(a);return r&&n&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),r})&&r)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(a,(e,t)=>{if("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t){n&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);return}if(i&&"string"==typeof t){let e=function(e){let t=b.exec(e);if(!t)return null;let[,r,n,o,i,a,s,l,u,c,E]=t,d=new Date(Date.UTC(parseInt(r,10),parseInt(n,10)-1,parseInt(o,10),parseInt(i,10),parseInt(a,10),parseInt(s,10),l?parseInt(l.padEnd(3,"0"),10):0));if(u){let e=(60*parseInt(c,10)+parseInt(E,10))*("+"===u?-1:1);d.setUTCMinutes(d.getUTCMinutes()+e)}return d instanceof Date&&!isNaN(d.getTime())?d:null}(t);if(e)return e}return o?o(e,t):t})}catch(t){if(r)throw t;return e}}(e,t)}(e,{strict:!1}):null,customFetchImpl:fetch,...y,plugins:[f,...y.plugins||[],...e?.disableDefaultFetchPlugins?[]:[v],...O]},async function(e,r){let n,o=es(ea(ea({},t),r),{headers:ep(null==t?void 0:t.headers,null==r?void 0:r.headers),plugins:[...(null==t?void 0:t.plugins)||[],(n=t||{},{id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(e,t){var r,o,i,a;let s=(null==(o=null==(r=n.plugins)?void 0:r.find(t=>{var r;return null!=(r=t.schema)&&!!r.config&&(e.startsWith(t.schema.config.baseURL||"")||e.startsWith(t.schema.config.prefix||""))}))?void 0:o.schema)||n.schema;if(s){let r=e;(null==(i=s.config)?void 0:i.prefix)&&r.startsWith(s.config.prefix)&&(r=r.replace(s.config.prefix,""),s.config.baseURL&&(e=e.replace(s.config.prefix,s.config.baseURL))),(null==(a=s.config)?void 0:a.baseURL)&&r.startsWith(s.config.baseURL)&&(r=r.replace(s.config.baseURL,"")),r.startsWith("/")&&"@"===r.charAt(1)&&(r=r.substring(1));let n=s.schema[r];if(n){let r=null==t?void 0:t.headers;if(n.headers&&!(null==t?void 0:t.disableValidation)){let e={};if(null==t?void 0:t.headers){if(t.headers instanceof Headers)t.headers.forEac
3h((t,r)=>{e[r.toLowerCase()]=t});else if("object"==typeof t.headers)for(let[r,n]of Object.entries(t.headers))null!=n&&(e[r.toLowerCase()]=n)}let o=await eA(n.headers,e),i={};for(let[e,t]of Object.entries(o))i[e.toLowerCase()]=t;r=i}let o=es(ea({},t),{method:n.method,output:n.output,headers:r});return(null==t?void 0:t.disableValidation)||(o=es(ea({},o),{body:n.input?await eA(n.input,null==t?void 0:t.body):null==t?void 0:t.body,params:n.params?await eA(n.params,null==t?void 0:t.params):null==t?void 0:t.params,query:n.query?await eA(n.query,null==t?void 0:t.query):null==t?void 0:t.query})),{url:e,options:o}}}return{url:e,options:t}}}),...(null==r?void 0:r.plugins)||[]]});if(null==t?void 0:t.catchAllError)try{return await em(e,o)}catch(e){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:e}}}return await em(e,o)}),{$sessionSignal:U,session:P,broadcastSessionUpdate:M}=(n=$(!1),o=0,i=0,n.listen(()=>{i++,o=0}),C(s=$({data:null,error:null,isPending:!0,isRefetching:!1,refetch:a=e=>u(e)}),K),l=async(e,t)=>{let r=s.value;if(s.set({...r,isPending:null===r.data,isRefetching:!0,error:null,refetch:a}),e.aborted)return"aborted";try{var n;let r=await w("/get-session",{method:"GET",query:t?.query,signal:e});if(e.aborted)return"aborted";let{data:o,error:i}=q(r),l="fresh";if(o?.needsRefresh)try{let t=await w("/get-session",{method:"POST",signal:e});if(e.aborted)return"aborted";({data:o,error:i}=q(t))}catch{if(e.aborted)return"aborted";l="stale"}if(i){let e=s.value,t=i?.status===401;return s.set({data:t?null:e.data,error:i,isPending:!1,isRefetching:!1,refetch:a}),"failed"}let u=(n=o)&&(null!==n.session||null!==n.user)?n:null,c=s.value,E=null!=c.data&&null!=u&&D(c.data,u)?c.data:u;return s.set({data:E,error:null,isPending:!1,isRefetching:!1,refetch:a}),l}catch(r){if(e.aborted)return"aborted";let t=s.value;return s.set({data:t.data,error:r,isPending:!1,isRefetching:!1,refetch:a}),"failed"}},u=e=>{o=0,r?.cancel();let t=new AbortController,n={cancel:()=>t.abort(),promise:Promise.resolve().then(()=>t.signal.aborted?"aborted":l(t.signal,e)),revision:i};r=n;let a=e=>{if(r===n){let t,a;r=void 0,"fresh"===e&&n.revision===i&&(a=(t=s.value.data?.session?.expiresAt)instanceof Date?t.getTime():1/0,o=Math.min(Date.now()+1e3,a))}};return n.promise.then(a,()=>a("failed")),n.promise.then(()=>void 0)},c=()=>{},L(s,()=>{let t;"u"<typeof window||(t=setTimeout(()=>{r?.revision===i?r.promise.then(()=>void 0):Date.now()<o?Promise.resolve():u()},0));let a=function(e){let{fetchSession:t,shouldPollSession:r=()=>!0,sessionSignal:n,options:o={}}=e,i=o.sessionOptions?.refetchInterval??0,a=o.sessionOptions?.refetchOnWindowFocus??!0,s=o.sessionOptions?.refetchWhenOffline??!1,l={isInitialized:!1,lastSessionRequest:0},u=e=>{if(s||V().isOnline){if(e?.event==="storage")return void t();if(e?.event==="poll"){l.lastSessionRequest=G(),t();return}if(e?.event==="visibilitychange"){if(G()-l.lastSessionRequest<5)return;l.lastSessionRequest=G(),t();return}t()}};return{init:()=>{l.isInitialized||(l.isInitialized=!0,i&&i>0&&(l.pollInterval=setInterval(()=>{r()&&u({event:"poll"})},1e3*i)),l.unsubscribeBroadcast=Y().subscribe(()=>{u({event:"storage"})}),a&&(l.unsubscribeFocus=H().subscribe(()=>{u({event:"visibilitychange"})})),l.unsubscribeOnline=V().subscribe(e=>{e&&u({event:"visibilitychange"})}),l.unsubscribeSignal=n.listen(()=>{t()}),l.cleanupBroadcastSetup=Y().setup(),l.cleanupFocusSetup=H().setup(),l.cleanupOnlineSetup=V().setup())},cleanup:()=>{l.isInitialized&&(l.pollInterval&&(clearInterval(l.pollInterval),l.pollInterval=void 0),l.unsubscribeBroadcast&&(l.unsubscribeBroadcast(),l.unsubscribeBroadcast=void 0),l.unsubscribeFocus&&(l.unsubscribeFocus(),l.unsubscribeFocus=void 0),l.unsubscribeOnline&&(l.unsubscribeOnline(),l.unsubscribeOnline=void 0),l.unsubscribeSignal&&(l.unsubscribeSignal(),l.unsubscribeSignal=void 0),l.cleanupBroadcastSetup&&(l.cleanupBroadcastSetup(),l.cleanupBroadcastSetup=void 0),l.cleanupFocusSetup&&(l.cleanupFocusSetup(),l.cleanupFocusSetup=void 0),l.cleanupOnlineSetup&&(l.cleanupOnlineSetup(),l.cleanupOnlineSetup=void 0),l.isInitialized=!1,l.lastSessionRequest=0)},triggerRefetch:u,broadcastSessionUpdate:e=>{Y().post({event:"session",data:{trigger:e},clientId:Math.random().toString(36).substring(7)})}}}({fetchSession:u,shouldPollSession:()=>null!=s.value.data,sessionSignal:n,options:e});return a.init(),c=a.broadcastSessionUpdate,()=>{t&&clearTimeout(t),a.cleanup()}}),{session:s,$sessionSignal:n,broadcastSessionUpdate:e=>c(e)}),B=!1,x=e?.plugins||[],F={},k={$sessionSignal:U,session:P}
3,W={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},j=[{signal:"$sessionSignal",matcher:e=>"/sign-out"===e||"/update-user"===e||"/update-session"===e||"/sign-up/email"===e||"/sign-in/email"===e||"/delete-user"===e||"/verify-email"===e||"/revoke-sessions"===e||"/revoke-session"===e||"/revoke-other-sessions"===e||"/change-email"===e||"/change-password"===e,callback(e){"/sign-out"===e?M("signout"):("/update-user"===e||"/update-session"===e)&&M("updateUser")}}];for(let e of x)e.getAtoms&&Object.assign(k,e.getAtoms?.(w)),e.pathMethods&&Object.assign(W,e.pathMethods),e.atomListeners&&j.push(...e.atomListeners);let z={notify:e=>{k[e].set(!k[e].get())},listen:(e,t)=>{k[e].subscribe(t)},atoms:k};for(let t of x)t.getActions&&(F=Z(t.getActions?.(w,z,e)??{},F));return{get baseURL(){return _},pluginsActions:F,pluginsAtoms:k,pluginPathMethods:W,atomListeners:j,hydrateSession:e=>{B||null===e||(B=!0,function(e,t){if("u"<typeof window)return;let r=e.get();null===r.data&&null!==t&&e.set({...r,data:t,error:null,isPending:!1})}(P,e))},$fetch:w,$store:z}})(e),u={};for(let[e,t]of Object.entries(o))u[function(e){return`use${e.charAt(0).toUpperCase()+e.slice(1)}`}(e)]=()=>(function(e,t={}){let r=(0,eb.useRef)(e.get()),{keys:n,deps:o=[e,n]}=t,i=(0,eb.useCallback)(t=>{let o=e=>{r.current!==e&&(r.current=e,t())};if(o(e.value),n?.length){let t;return t=new Set(n).add(void 0),e.listen((e,r,n)=>{t.has(n)&&o(e)})}return e.listen(o)},o),a=()=>r.current;return(0,eb.useSyncExternalStore)(i,a,a)})(t);return t={...n,...u,hydrateSession:i,$fetch:a,$store:s},function e(n=[]){return new Proxy(function(){},{get(r,o){var i;if("string"!=typeof o||"then"===o||"catch"===o||"finally"===o)return;let a=[...n,o],s=t;for(let e of a)if(s&&"object"==typeof s&&e in s)s=s[e];else{s=void 0;break}return"function"==typeof s?s:"object"==typeof(i=s)&&null!==i&&"get"in i&&"function"==typeof i.get&&"lc"in i&&"number"==typeof i.lc?s:e(a)},apply:async(e,t,i)=>{let s="/"+n.map(eN).join("/"),u=i[0]||{},c=i[1]||{},{query:E,fetchOptions:d,..._}=u,O={...c,...d},T=function(e,t,r){let n=t[e],{fetchOptions:o,query:i,...a}=r||{};return n||(o?.method?o.method:a&&Object.keys(a).length>0?"POST":"GET")}(s,r,u);return await a(s,{...O,body:"GET"===T?void 0:{..._,...O?.body||{}},query:E||O?.query,method:T,async onSuccess(e){if(await O?.onSuccess?.(e),!l||O.disableSignal)return;let t=l.filter(e=>e.matcher(s));if(!t.length)return;let r=new Set;for(let e of t){let t=o[e.signal];if(!t)return;if(r.has(e.signal))continue;r.add(e.signal);let n=t.get();setTimeout(()=>{t.set(!n)},10),e.callback?.(s)}}})}})}()}({basePath:"/api/auth",plugins:[{id:"two-factor",version:ey,$InferServerPlugin:{},atomListeners:[{matcher:e=>e.startsWith("/two-factor/"),signal:"$sessionSignal"}],pathMethods:{"/two-factor/disable":"POST","/two-factor/enable":"POST","/two-factor/send-otp":"POST","/two-factor/generate-backup-codes":"POST","/two-factor/get-totp-uri":"POST","/two-factor/verify-totp":"POST","/two-factor/verify-otp":"POST","/two-factor/verify-backup-code":"POST"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(e){e.data?.twoFactorRedirect}}}],$ERROR_CODES:ej},(n={admin:eC,user:eP,...void 0},{id:"admin-client",version:ey,$InferServerPlugin:{},getActions:()=>({admin:{checkRolePermission:e=>(e=>{if(e.userId&&e.options?.adminUserIds?.includes(e.userId))return!0;if(!e.permissions)return!1;let t=(e.role||e.options?.defaultRole||"user").split(","),r=e.options?.roles||eM;for(let n of t)if(r[n]?.authorize(e.permissions)?.success)return!0;return!1})({role:e.role,options:{ac:void 0,roles:n},permissions:e.permissions})}}),pathMethods:{"/admin/list-users":"GET","/admin/impersonate-user":"POST","/admin/stop-impersonating":"POST"},atomListeners:[{matcher:e=>"/admin/impersonate-user"===e||"/admin/stop-impersonating"===e,signal:"$sessionSignal"}],$ERROR_CODES:eY}),(o=$(!1),i=$(!1),a=$(!1),s=$(!1),l={admin:eF,member:eV,owner:ek,...void 0},{id:"organization",version:ey,$InferServerPlugin:{},getActions:(e,t,r)=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{},Team:{}},organization:{checkRolePermission:e=>{let t;return((e,t)=>{if(!e.permissions)return!1;let r=e.role.split(","),n=e.options.creatorRole||"owner",o=r.includes(n),i=e.allowCreatorAllPermissions||!1;if(o&&i)return!0;for(let n of r)if(t[n]?.authorize(e.permissions)?.success)return!0;return!1})(t={role:e.role,options:{ac:void 0,roles:l},permissions:e.permissions},t.options.roles||eG)}}}),getAtoms:e=>{let t=ex(o,"/organization/list",e,{method:"GET"});return{$listOrg:o,$activeOrgSignal:i,$activeMemberSignal:a,$activeMemberRoleSignal:s,activeOrganization:ex([i],"/organization/get-full-organization",e,()=>({method:"GET"})),listOrganizations:t,activeMember:ex([i,a],"/organization/get-active-member",e,{method:"GET"}),activeMemberRole:ex([i,s],"/organization/get-active-member-role",e,{method:"GET"})}},pathMethods:{"/organization/get-full-organization":"GET","/organization/list-user-teams":"GET"},atomListeners:[{matcher:e=>"/organization/create"===e||"/organization/delete"===e||"/organization/update"===e,signal:"$listOrg"},{matcher:e=>"/sign-out"===e||e.startsWith("/organization"),signal:"$activeOrgSignal"},{matcher:e=>e.startsWith("/organization/set-active")||"/organization/create"===e||"/organization/delete"===e||"/organization/remove-member"===e||"/organization/leave"===e||"/organization/accept-invitation"===e,signal:"$sessionSignal"},{matcher:e=>e.includes("/organization/update-member-role")||e.startsWith("/organization/set-active"),signal:"$activeMemberSignal"},{matcher:e=>e.includes("/organization/update-member-role")||e.startsWith("/organization/set-active"),signal:"$activeMemberRoleSignal"}],$ERROR_CODES:eW}),{id:"infer-server-plugin",version:ey,$InferServerPlugin:{}},{id:"oauth-provider-client",version:"1.7.1",fetchPlugins:[{id:"oauth-provider-signin",name:"oauth-provider-signin",de
3scription:"Adds the current page query to oauth requests",hooks:{async onRequest(e){let t=e.headers,r="string"==typeof e.body?"application/x-www-form-urlencoded"===t.get("content-type")?Object.fromEntries(new URLSearchParams(e.body)):function(e){try{if("string"!=typeof e){if(null==e)return null;return function e(t){if(null==t)return t;if("string"==typeof t)return te(t);if(t instanceof Date)return t;if(Array.isArray(t))return t.map(e);if("object"==typeof t){let r={};for(let n of Object.keys(t))r[n]=e(t[n]);return r}return t}(e)}return JSON.parse(e,(e,t)=>te(t))}catch(e){return e8.error("Error parsing JSON",{error:e}),null}}(e.body??"{}"):e.body;!r?.oauth_query&&"u">typeof window&&window?.location?.search&&"GET"!==e.method&&"DELETE"!==e.method&&(e.body=JSON.stringify({...r,oauth_query:function(e){let t=new URLSearchParams(e);if(!t.has("sig"))return;let r=function(e){let t=e.getAll(ez);if(t.length)return new Set(t)}(t);if(!r)return;let n=new URLSearchParams;for(let[e,o]of t.entries())("sig"===e||e===ez||r.has(e))&&n.append(e,o);return n.toString()}(window.location.search)}))}}}],$InferServerPlugin:{}},{id:"magic-link",version:ey,$InferServerPlugin:{}},(u=$(),{id:"passkey",version:"1.7.1",$InferServerPlugin:{},getActions:(e,t)=>((e,{$listPasskeys:t,$store:r})=>({signIn:{passkey:async(n,o)=>{let i,a=await e("/passkey/generate-authenticate-options",{method:"GET",throw:!1});if(!a.data)return a;let s=a.data.extensions||n?.extensions?{...a.data.extensions||{},...n?.extensions||{}}:void 0;try{i=await tT({optionsJSON:{...a.data,extensions:s},useBrowserAutofill:n?.autoFill})}catch(e){return{data:null,error:{code:e instanceof tl?e.code:"AUTH_CANCELLED",message:tt.AUTH_CANCELLED.message,status:400,statusText:"BAD_REQUEST"}}}try{let{clientExtensionResults:a,...s}=i,l=await e("/passkey/verify-authentication",{body:{response:s},...n?.fetchOptions,...o,method:"POST",throw:!1});if(t.set(Math.random()),r.notify("$sessionSignal"),n?.returnWebAuthnResponse)return{...l,webauthn:{response:i,clientExtensionResults:a}};return l}catch(e){return console.error("[Better Auth] Error verifying passkey",e),{data:null,error:{code:"AUTH_CANCELLED",message:tt.AUTH_CANCELLED.message,status:400,statusText:"BAD_REQUEST"}}}}},passkey:{addPasskey:async(n,o)=>{let i=await e("/passkey/generate-register-options",{method:"GET",query:{...n?.authenticatorAttachment&&{authenticatorAttachment:n.authenticatorAttachment},...n?.name&&{name:n.name},...n?.context&&{context:n.context}},throw:!1});if(!i.data)return i;try{let a=i.data.extensions||n?.extensions?{...i.data.extensions||{},...n?.extensions||{}}:void 0,s=await td({optionsJSON:{...i.data,extensions:a},useAutoRegister:n?.useAutoRegister}),{clientExtensionResults:l,...u}=s,c=await e("/passkey/verify-registration",{...n?.fetchOptions,...o,body:{response:u,name:n?.name,...n?.createSession&&{createSession:!0}},method:"POST",throw:!1});if(!c.data)return c;if(t.set(Math.random()),c.data.session&&r.notify("$sessionSignal"),n?.returnWebAuthnResponse)return{...c,webauthn:{response:s,clientExtensionResults:l}};return c}catch(e){if(e instanceof tl){if("ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED"===e.code)return{data:null,error:{code:e.code,message:tt.PREVIOUSLY_REGISTERED.message,status:400,statusText:"BAD_REQUEST"}};if("ERROR_CEREMONY_ABORTED"===e.code)return{data:null,error:{code:e.code,message:tt.REGISTRATION_CANCELLED.message,status:400,statusText:"BAD_REQUEST"}};return{data:null,error:{code:e.code,message:e.message,status:400,statusText:"BAD_REQUEST"}}}return{data:null,error:{code:"UNKNOWN_ERROR",message:e instanceof Error?e.message:tt.UNKNOWN_ERROR.message,status:500,statusText:"INTERNAL_SERVER_ERROR"}}}}},$Infer:{}}))(e,{$listPasskeys:u,$store:t}),getAtoms:e=>({listPasskeys:ex(u,"/passkey/list-user-passkeys",e,{method:"GET"}),$listPasskeys:u}),pathMethods:{"/passkey/register":"POST","/passkey/authenticate":"POST"},atomListeners:[{matcher:e=>"/passkey/verify-registration"===e||"/passkey/delete-passkey"===e||"/passkey/update-passkey"===e||"/sign-out"===e,signal:"$listPasskeys"},{matcher:e=>"/passkey/verify-authentication"===e,signal:"$sessionSignal"}],$ERROR_CODES:tt}),{id:"sso-client",version:"1.7.1",$InferServerPlugin:{},pathMethods:{"/sso/providers":"GET","/sso/get-provider":"GET"}}]});function tR(e){if(!e?.user)return null;let t=e.user;return{user:{id:t.id,email:t.email,name:t.name??null,image:t.image??null,subscriptionTier:t.subscriptionTier,subscriptionStatus:t.subscriptionStatus??null,trialDaysRemaining:t.trialDaysRemaining??null,organizationRole:t.organizationRole??null,organizationId:t.organizationId??null,organizationName:t.organizationName??null,systemRole:t.systemRole},expires:new Date(e.session.expiresAt).toISOString()}}async function th(e){await tp.signOut(),window.location.href=(0,tf.safeInternalRedirect)(e?.callbackUrl)}e.s(["authClient",0,tp,"signOut",0,th,"useSession",0,function(){let{data:e,isPending:t,refetch:r}=tp.useSession(),n=tR(e);return{data:n,status:t?"loading":n?"authenticated":"unauthenticated",update:async()=>{let{data:e}=await tp.getSession({query:{disableCookieCache:!0}});return r(),tR(e)}}}],578938)}]); 4 5//# debugId=fae9ad13-c418-0dbc-08f6-bc48fec9291c
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.