better-auth 0.7.5-beta.3 → 0.7.5-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var O=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var B=(t,e)=>{for(var r in e)O(t,r,{get:e[r],enumerable:!0})},k=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of C(e))!v.call(t,n)&&n!==r&&O(t,n,{get:()=>e[n],enumerable:!(i=R(e,n))||i.enumerable});return t};var F=t=>k(O({},"__esModule",{value:!0}),t);var Z={};B(Z,{adminClient:()=>H,anonymousClient:()=>W,emailOTPClient:()=>J,genericOAuthClient:()=>K,getPasskeyActions:()=>x,inferAdditionalFields:()=>D,jwtClient:()=>Q,magicLinkClient:()=>N,multiSessionClient:()=>V,oneTapClient:()=>X,organizationClient:()=>z,passkeyClient:()=>G,phoneNumberClient:()=>q,twoFactorClient:()=>j,usernameClient:()=>M});module.exports=F(Z);var P=require("nanostores");var u=class extends Error{path;constructor(e,r){super(e),this.path=r}},d=class{constructor(e){this.s=e;this.statements=e}statements;newRole(e){return new g(e)}},g=class t{statements;constructor(e){this.statements=e}authorize(e,r){for(let[i,n]of Object.entries(e)){let o=this.statements[i];if(!o)return{success:!1,error:`You are not allowed to access resource: ${i}`};let a=r==="OR"?n.some(s=>o.includes(s)):n.every(s=>o.includes(s));return a?{success:a}:{success:!1,error:`unauthorized to access resource "${i}"`}}return{success:!1,error:"Not authorized"}}static fromString(e){let r=JSON.parse(e);if(typeof r!="object")throw new u("statements is not an object",".");for(let[i,n]of Object.entries(r)){if(typeof i!="string")throw new u("invalid resource identifier",i);if(!Array.isArray(n))throw new u("actions is not an array",i);for(let o=0;o<n.length;o++)if(typeof n[o]!="string")throw new u("action is not a string",`${i}[${o}]`)}return new t(r)}toString(){return JSON.stringify(this.statements)}};var E=t=>new d(t),I={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]},S=E(I),re=S.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"]}),ie=S.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]}),se=S.newRole({organization:[],member:[],invitation:[]});var L=require("@better-fetch/fetch");var y=Object.create(null),m=t=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?y:globalThis),b=new Proxy(y,{get(t,e){return m()[e]??y[e]},has(t,e){let r=m();return e in r||e in y},set(t,e,r){let i=m(!0);return i[e]=r,!0},deleteProperty(t,e){if(!e)return!1;let r=m(!0);return delete r[e],!0},ownKeys(){let t=m(!0);return Object.keys(t)}});function U(t){return t?t!=="false":!1}var _=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var de=_==="test"||U(b.TEST);var Ie=require("nanostores");var Ae=require("@better-fetch/fetch");var $=require("nanostores");var Te=require("@better-fetch/fetch"),h=require("nanostores"),c=(t,e,r,i)=>{let n=(0,h.atom)({data:null,error:null,isPending:!0,isRefetching:!1}),o=()=>{let s=typeof i=="function"?i({data:n.get().data,error:n.get().error,isPending:n.get().isPending}):i;return r(e,{...s,onSuccess:async l=>{n.set({data:l.data,error:null,isPending:!1,isRefetching:!1}),await s?.onSuccess?.(l)},async onError(l){n.set({error:l.error,data:null,isPending:!1,isRefetching:!1}),await s?.onError?.(l)},async onRequest(l){let f=n.get();n.set({isPending:f.data===null,data:f.data,error:null,isRefetching:!0}),await s?.onRequest?.(l)}})};t=Array.isArray(t)?t:[t];let a=!1;for(let s of t)s.subscribe(()=>{a?o():(0,h.onMount)(n,()=>(o(),a=!0,()=>{n.off(),s.off()}))});return n};var z=t=>{let e=(0,P.atom)(!1),r=(0,P.atom)(!1),i=(0,P.atom)(!1);return{id:"organization",$InferServerPlugin:{},getActions:n=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{}},organization:{hasPermission:async o=>await n("/organization/has-permission",{method:"POST",body:{permission:o.permission},...o.fetchOptions})}}),getAtoms:n=>{let o=c(e,"/organization/list",n,{method:"GET"}),a=c([r],"/organization/get-full-organization",n,()=>({method:"GET"})),s=c([i],"/organization/get-active-member",n,{method:"GET"});return{$listOrg:e,$activeOrgSignal:r,$activeMemberSignal:i,activeOrganization:a,listOrganizations:o,activeMember:s}},atomListeners:[{matcher(n){return n==="/organization/create"||n==="/organization/delete"},signal:"$listOrg"},{matcher(n){return n.startsWith("/organization")},signal:"$activeOrgSignal"},{matcher(n){return n.includes("/organization/update-member-role")},signal:"$activeMemberSignal"}]}};var M=()=>({id:"username",$InferServerPlugin:{}});var p=require("@simplewebauthn/browser");var T=require("nanostores"),x=(t,{_listPasskeys:e})=>({signIn:{passkey:async(n,o)=>{let a=await t("/passkey/generate-authenticate-options",{method:"POST",body:{email:n?.email}});if(!a.data)return a;try{let s=await(0,p.startAuthentication)(a.data,n?.autoFill||!1),l=await t("/passkey/verify-authentication",{body:{response:s},...n?.fetchOptions,...o,method:"POST"});if(!l.data)return l}catch{return{data:null,error:{message:"auth cancelled",status:400,statusText:"BAD_REQUEST"}}}}},passkey:{addPasskey:async(n,o)=>{let a=await t("/passkey/generate-register-options",{method:"GET"});if(!a.data)return a;try{let s=await(0,p.startRegistration)(a.data),l=await t("/passkey/verify-registration",{...n?.fetchOptions,...o,body:{response:s,name:n?.name},method:"POST"});if(!l.data)return l;e.set(Math.random())}catch(s){return s instanceof p.WebAuthnError?s.code==="ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED"?{data:null,error:{message:"previously registered",status:400,statusText:"BAD_REQUEST"}}:s.code==="ERROR_CEREMONY_ABORTED"?{data:null,error:{message:"registration cancelled",status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:s.message,status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:s instanceof Error?s.message:"unknown error",status:500,statusText:"INTERNAL_SERVER_ERROR"}}}}},$Infer:{}}),G=()=>{let t=(0,T.atom)();return{id:"passkey",$InferServerPlugin:{},getActions:e=>x(e,{_listPasskeys:t}),getAtoms(e){return{listPasskeys:c(t,"/passkey/list-user-passkeys",e,{method:"GET"}),_listPasskeys:t}},pathMethods:{"/passkey/register":"POST","/passkey/authenticate":"POST"},atomListeners:[{matcher(e){return e==="/passkey/verify-registration"||e==="/passkey/delete-passkey"},signal:"_listPasskeys"}]}};var j=(t={redirect:!0,twoFactorPage:"/"})=>({id:"two-factor",$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"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(e){e.data?.twoFactorRedirect&&(t.redirect||t.twoFactorPage)&&typeof window<"u"&&(window.location.href=t.twoFactorPage)}}}]});var N=()=>({id:"magic-link",$InferServerPlugin:{}});var q=()=>({id:"phoneNumber",$InferServerPlugin:{},atomListeners:[{matcher(t){return t==="/phone-number/update"||t==="/phone-number/verify"},signal:"$sessionSignal"}]});var W=()=>({id:"anonymous",$InferServerPlugin:{},pathMethods:{"/sign-in/anonymous":"POST"}});var D=t=>({id:"additional-fields-client",$InferServerPlugin:{}});var H=()=>({id:"better-auth-client",$InferServerPlugin:{},pathMethods:{"/admin/list-users":"GET"}});var K=()=>({id:"generic-oauth-client",$InferServerPlugin:{}});var Q=()=>({id:"better-auth-client",$InferServerPlugin:{}});var V=()=>({id:"multi-session",$InferServerPlugin:{},pathMethods:{"/multi-session/sign-out-device-sessions":"POST"},atomListeners:[{matcher(t){return t==="/multi-session/set-active"},signal:"$sessionSignal"}]});var J=()=>({id:"email-otp",$InferServerPlugin:{}});var A=!1,X=t=>({id:"one-tap",getActions:(e,r)=>({oneTap:async(i,n)=>{if(A){console.warn("A Google One Tap request is already in progress. Please wait.");return}A=!0;try{if(typeof window>"u"||!window.document){console.warn("Google One Tap is only available in browser environments");return}let{autoSelect:o,cancelOnTapOutside:a,context:s}=i??{},l=s??t.context??"signin";await Y(),await new Promise(f=>{window.google?.accounts.id.initialize({client_id:t.clientId,callback:async w=>{await e("/one-tap/callback",{method:"POST",body:{idToken:w.credential},...i?.fetchOptions,...n}),(!i?.fetchOptions&&!n||i?.callbackURL)&&(window.location.href=i?.callbackURL??"/"),f()},auto_select:o,cancel_on_tap_outside:a,context:l}),window.google?.accounts.id.prompt()})}catch(o){throw console.error("Error during Google One Tap flow:",o),o}finally{A=!1}}}),getAtoms(e){return{}}}),Y=()=>new Promise(t=>{if(window.googleScriptInitialized){t();return}let e=document.createElement("script");e.src="https://accounts.google.com/gsi/client",e.async=!0,e.defer=!0,e.onload=()=>{window.googleScriptInitialized=!0,t()},document.head.appendChild(e)});0&&(module.exports={adminClient,anonymousClient,emailOTPClient,genericOAuthClient,getPasskeyActions,inferAdditionalFields,jwtClient,magicLinkClient,multiSessionClient,oneTapClient,organizationClient,passkeyClient,phoneNumberClient,twoFactorClient,usernameClient});
1
+ "use strict";var O=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var B=(t,e)=>{for(var r in e)O(t,r,{get:e[r],enumerable:!0})},k=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of C(e))!v.call(t,n)&&n!==r&&O(t,n,{get:()=>e[n],enumerable:!(i=R(e,n))||i.enumerable});return t};var F=t=>k(O({},"__esModule",{value:!0}),t);var Z={};B(Z,{adminClient:()=>H,anonymousClient:()=>W,emailOTPClient:()=>J,genericOAuthClient:()=>K,getPasskeyActions:()=>x,inferAdditionalFields:()=>D,jwtClient:()=>Q,magicLinkClient:()=>N,multiSessionClient:()=>V,oneTapClient:()=>X,organizationClient:()=>z,passkeyClient:()=>G,phoneNumberClient:()=>q,twoFactorClient:()=>j,usernameClient:()=>M});module.exports=F(Z);var P=require("nanostores");var u=class extends Error{path;constructor(e,r){super(e),this.path=r}},d=class{constructor(e){this.s=e;this.statements=e}statements;newRole(e){return new g(e)}},g=class t{statements;constructor(e){this.statements=e}authorize(e,r){for(let[i,n]of Object.entries(e)){let o=this.statements[i];if(!o)return{success:!1,error:`You are not allowed to access resource: ${i}`};let a=r==="OR"?n.some(s=>o.includes(s)):n.every(s=>o.includes(s));return a?{success:a}:{success:!1,error:`unauthorized to access resource "${i}"`}}return{success:!1,error:"Not authorized"}}static fromString(e){let r=JSON.parse(e);if(typeof r!="object")throw new u("statements is not an object",".");for(let[i,n]of Object.entries(r)){if(typeof i!="string")throw new u("invalid resource identifier",i);if(!Array.isArray(n))throw new u("actions is not an array",i);for(let o=0;o<n.length;o++)if(typeof n[o]!="string")throw new u("action is not a string",`${i}[${o}]`)}return new t(r)}toString(){return JSON.stringify(this.statements)}};var E=t=>new d(t),I={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]},S=E(I),re=S.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"]}),ie=S.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]}),se=S.newRole({organization:[],member:[],invitation:[]});var L=require("@better-fetch/fetch");var y=Object.create(null),m=t=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?y:globalThis),b=new Proxy(y,{get(t,e){return m()[e]??y[e]},has(t,e){let r=m();return e in r||e in y},set(t,e,r){let i=m(!0);return i[e]=r,!0},deleteProperty(t,e){if(!e)return!1;let r=m(!0);return delete r[e],!0},ownKeys(){let t=m(!0);return Object.keys(t)}});function U(t){return t?t!=="false":!1}var $=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var de=$==="test"||U(b.TEST);var Ie=require("nanostores");var Ae=require("@better-fetch/fetch");var _=require("nanostores");var Te=require("@better-fetch/fetch"),h=require("nanostores"),c=(t,e,r,i)=>{let n=(0,h.atom)({data:null,error:null,isPending:!0,isRefetching:!1}),o=()=>{let s=typeof i=="function"?i({data:n.get().data,error:n.get().error,isPending:n.get().isPending}):i;return r(e,{...s,onSuccess:async l=>{n.set({data:l.data,error:null,isPending:!1,isRefetching:!1}),await s?.onSuccess?.(l)},async onError(l){n.set({error:l.error,data:null,isPending:!1,isRefetching:!1}),await s?.onError?.(l)},async onRequest(l){let f=n.get();n.set({isPending:f.data===null,data:f.data,error:null,isRefetching:!0}),await s?.onRequest?.(l)}})};t=Array.isArray(t)?t:[t];let a=!1;for(let s of t)s.subscribe(()=>{a?o():(0,h.onMount)(n,()=>(o(),a=!0,()=>{n.off(),s.off()}))});return n};var z=t=>{let e=(0,P.atom)(!1),r=(0,P.atom)(!1),i=(0,P.atom)(!1);return{id:"organization",$InferServerPlugin:{},getActions:n=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{}},organization:{hasPermission:async o=>await n("/organization/has-permission",{method:"POST",body:{permission:o.permission},...o.fetchOptions})}}),getAtoms:n=>{let o=c(e,"/organization/list",n,{method:"GET"}),a=c([r],"/organization/get-full-organization",n,()=>({method:"GET"})),s=c([i],"/organization/get-active-member",n,{method:"GET"});return{$listOrg:e,$activeOrgSignal:r,$activeMemberSignal:i,activeOrganization:a,listOrganizations:o,activeMember:s}},atomListeners:[{matcher(n){return n==="/organization/create"||n==="/organization/delete"},signal:"$listOrg"},{matcher(n){return n.startsWith("/organization")},signal:"$activeOrgSignal"},{matcher(n){return n.includes("/organization/update-member-role")},signal:"$activeMemberSignal"}]}};var M=()=>({id:"username",$InferServerPlugin:{}});var p=require("@simplewebauthn/browser");var T=require("nanostores"),x=(t,{$listPasskeys:e})=>({signIn:{passkey:async(n,o)=>{let a=await t("/passkey/generate-authenticate-options",{method:"POST",body:{email:n?.email}});if(!a.data)return a;try{let s=await(0,p.startAuthentication)(a.data,n?.autoFill||!1),l=await t("/passkey/verify-authentication",{body:{response:s},...n?.fetchOptions,...o,method:"POST"});if(!l.data)return l}catch{return{data:null,error:{message:"auth cancelled",status:400,statusText:"BAD_REQUEST"}}}}},passkey:{addPasskey:async(n,o)=>{let a=await t("/passkey/generate-register-options",{method:"GET"});if(!a.data)return a;try{let s=await(0,p.startRegistration)(a.data),l=await t("/passkey/verify-registration",{...n?.fetchOptions,...o,body:{response:s,name:n?.name},method:"POST"});if(!l.data)return l;e.set(Math.random())}catch(s){return s instanceof p.WebAuthnError?s.code==="ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED"?{data:null,error:{message:"previously registered",status:400,statusText:"BAD_REQUEST"}}:s.code==="ERROR_CEREMONY_ABORTED"?{data:null,error:{message:"registration cancelled",status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:s.message,status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:s instanceof Error?s.message:"unknown error",status:500,statusText:"INTERNAL_SERVER_ERROR"}}}}},$Infer:{}}),G=()=>{let t=(0,T.atom)();return{id:"passkey",$InferServerPlugin:{},getActions:e=>x(e,{$listPasskeys:t}),getAtoms(e){return{listPasskeys:c(t,"/passkey/list-user-passkeys",e,{method:"GET"}),$listPasskeys:t}},pathMethods:{"/passkey/register":"POST","/passkey/authenticate":"POST"},atomListeners:[{matcher(e){return e==="/passkey/verify-registration"||e==="/passkey/delete-passkey"},signal:"_listPasskeys"}]}};var j=(t={redirect:!0,twoFactorPage:"/"})=>({id:"two-factor",$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"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(e){e.data?.twoFactorRedirect&&(t.redirect||t.twoFactorPage)&&typeof window<"u"&&(window.location.href=t.twoFactorPage)}}}]});var N=()=>({id:"magic-link",$InferServerPlugin:{}});var q=()=>({id:"phoneNumber",$InferServerPlugin:{},atomListeners:[{matcher(t){return t==="/phone-number/update"||t==="/phone-number/verify"},signal:"$sessionSignal"}]});var W=()=>({id:"anonymous",$InferServerPlugin:{},pathMethods:{"/sign-in/anonymous":"POST"}});var D=t=>({id:"additional-fields-client",$InferServerPlugin:{}});var H=()=>({id:"better-auth-client",$InferServerPlugin:{},pathMethods:{"/admin/list-users":"GET"}});var K=()=>({id:"generic-oauth-client",$InferServerPlugin:{}});var Q=()=>({id:"better-auth-client",$InferServerPlugin:{}});var V=()=>({id:"multi-session",$InferServerPlugin:{},pathMethods:{"/multi-session/sign-out-device-sessions":"POST"},atomListeners:[{matcher(t){return t==="/multi-session/set-active"},signal:"$sessionSignal"}]});var J=()=>({id:"email-otp",$InferServerPlugin:{}});var A=!1,X=t=>({id:"one-tap",getActions:(e,r)=>({oneTap:async(i,n)=>{if(A){console.warn("A Google One Tap request is already in progress. Please wait.");return}A=!0;try{if(typeof window>"u"||!window.document){console.warn("Google One Tap is only available in browser environments");return}let{autoSelect:o,cancelOnTapOutside:a,context:s}=i??{},l=s??t.context??"signin";await Y(),await new Promise(f=>{window.google?.accounts.id.initialize({client_id:t.clientId,callback:async w=>{await e("/one-tap/callback",{method:"POST",body:{idToken:w.credential},...i?.fetchOptions,...n}),(!i?.fetchOptions&&!n||i?.callbackURL)&&(window.location.href=i?.callbackURL??"/"),f()},auto_select:o,cancel_on_tap_outside:a,context:l}),window.google?.accounts.id.prompt()})}catch(o){throw console.error("Error during Google One Tap flow:",o),o}finally{A=!1}}}),getAtoms(e){return{}}}),Y=()=>new Promise(t=>{if(window.googleScriptInitialized){t();return}let e=document.createElement("script");e.src="https://accounts.google.com/gsi/client",e.async=!0,e.defer=!0,e.onload=()=>{window.googleScriptInitialized=!0,t()},document.head.appendChild(e)});0&&(module.exports={adminClient,anonymousClient,emailOTPClient,genericOAuthClient,getPasskeyActions,inferAdditionalFields,jwtClient,magicLinkClient,multiSessionClient,oneTapClient,organizationClient,passkeyClient,phoneNumberClient,twoFactorClient,usernameClient});
@@ -1,6 +1,6 @@
1
1
  import * as nanostores from 'nanostores';
2
- import { o as organization, q as Organization, M as Member, I as Invitation, r as AccessControl, S as StatementsPrimitive, R as Role, u as username, m as magicLink, d as phoneNumber, e as anonymous, i as admin, j as genericOAuth, k as jwt, l as multiSession, n as emailOTP } from '../index-D9zvOlr9.cjs';
3
- export { g as getPasskeyActions, c as passkeyClient, a as twoFactorClient } from '../index-D9zvOlr9.cjs';
2
+ import { o as organization, q as Organization, M as Member, I as Invitation, r as AccessControl, S as StatementsPrimitive, R as Role, u as username, m as magicLink, d as phoneNumber, e as anonymous, i as admin, j as genericOAuth, k as jwt, l as multiSession, n as emailOTP } from '../index-BCww38p0.cjs';
3
+ export { g as getPasskeyActions, c as passkeyClient, a as twoFactorClient } from '../index-BCww38p0.cjs';
4
4
  import * as _better_fetch_fetch from '@better-fetch/fetch';
5
5
  import { BetterFetchOption } from '@better-fetch/fetch';
6
6
  import { P as Prettify } from '../index-DUqGSAH3.cjs';
@@ -1,6 +1,6 @@
1
1
  import * as nanostores from 'nanostores';
2
- import { o as organization, q as Organization, M as Member, I as Invitation, r as AccessControl, S as StatementsPrimitive, R as Role, u as username, m as magicLink, d as phoneNumber, e as anonymous, i as admin, j as genericOAuth, k as jwt, l as multiSession, n as emailOTP } from '../index-BK_H2TDU.js';
3
- export { g as getPasskeyActions, c as passkeyClient, a as twoFactorClient } from '../index-BK_H2TDU.js';
2
+ import { o as organization, q as Organization, M as Member, I as Invitation, r as AccessControl, S as StatementsPrimitive, R as Role, u as username, m as magicLink, d as phoneNumber, e as anonymous, i as admin, j as genericOAuth, k as jwt, l as multiSession, n as emailOTP } from '../index-6Fy0Ylm9.js';
3
+ export { g as getPasskeyActions, c as passkeyClient, a as twoFactorClient } from '../index-6Fy0Ylm9.js';
4
4
  import * as _better_fetch_fetch from '@better-fetch/fetch';
5
5
  import { BetterFetchOption } from '@better-fetch/fetch';
6
6
  import { P as Prettify } from '../index-DUqGSAH3.js';
@@ -1 +1 @@
1
- import{atom as h}from"nanostores";var u=class extends Error{path;constructor(e,o){super(e),this.path=o}},f=class{constructor(e){this.s=e;this.statements=e}statements;newRole(e){return new d(e)}},d=class t{statements;constructor(e){this.statements=e}authorize(e,o){for(let[s,n]of Object.entries(e)){let i=this.statements[s];if(!i)return{success:!1,error:`You are not allowed to access resource: ${s}`};let a=o==="OR"?n.some(r=>i.includes(r)):n.every(r=>i.includes(r));return a?{success:a}:{success:!1,error:`unauthorized to access resource "${s}"`}}return{success:!1,error:"Not authorized"}}static fromString(e){let o=JSON.parse(e);if(typeof o!="object")throw new u("statements is not an object",".");for(let[s,n]of Object.entries(o)){if(typeof s!="string")throw new u("invalid resource identifier",s);if(!Array.isArray(n))throw new u("actions is not an array",s);for(let i=0;i<n.length;i++)if(typeof n[i]!="string")throw new u("action is not a string",`${s}[${i}]`)}return new t(o)}toString(){return JSON.stringify(this.statements)}};var A=t=>new f(t),b={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]},y=A(b),_=y.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"]}),$=y.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]}),L=y.newRole({organization:[],member:[],invitation:[]});import{createFetch as de}from"@better-fetch/fetch";var g=Object.create(null),p=t=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?g:globalThis),O=new Proxy(g,{get(t,e){return p()[e]??g[e]},has(t,e){let o=p();return e in o||e in g},set(t,e,o){let s=p(!0);return s[e]=o,!0},deleteProperty(t,e){if(!e)return!1;let o=p(!0);return delete o[e],!0},ownKeys(){let t=p(!0);return Object.keys(t)}});function T(t){return t?t!=="false":!1}var x=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var H=x==="test"||T(O.TEST);import"nanostores";import"@better-fetch/fetch";import{atom as oe}from"nanostores";import"@better-fetch/fetch";import{atom as w,onMount as R}from"nanostores";var c=(t,e,o,s)=>{let n=w({data:null,error:null,isPending:!0,isRefetching:!1}),i=()=>{let r=typeof s=="function"?s({data:n.get().data,error:n.get().error,isPending:n.get().isPending}):s;return o(e,{...r,onSuccess:async l=>{n.set({data:l.data,error:null,isPending:!1,isRefetching:!1}),await r?.onSuccess?.(l)},async onError(l){n.set({error:l.error,data:null,isPending:!1,isRefetching:!1}),await r?.onError?.(l)},async onRequest(l){let m=n.get();n.set({isPending:m.data===null,data:m.data,error:null,isRefetching:!0}),await r?.onRequest?.(l)}})};t=Array.isArray(t)?t:[t];let a=!1;for(let r of t)r.subscribe(()=>{a?i():R(n,()=>(i(),a=!0,()=>{n.off(),r.off()}))});return n};var Le=t=>{let e=h(!1),o=h(!1),s=h(!1);return{id:"organization",$InferServerPlugin:{},getActions:n=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{}},organization:{hasPermission:async i=>await n("/organization/has-permission",{method:"POST",body:{permission:i.permission},...i.fetchOptions})}}),getAtoms:n=>{let i=c(e,"/organization/list",n,{method:"GET"}),a=c([o],"/organization/get-full-organization",n,()=>({method:"GET"})),r=c([s],"/organization/get-active-member",n,{method:"GET"});return{$listOrg:e,$activeOrgSignal:o,$activeMemberSignal:s,activeOrganization:a,listOrganizations:i,activeMember:r}},atomListeners:[{matcher(n){return n==="/organization/create"||n==="/organization/delete"},signal:"$listOrg"},{matcher(n){return n.startsWith("/organization")},signal:"$activeOrgSignal"},{matcher(n){return n.includes("/organization/update-member-role")},signal:"$activeMemberSignal"}]}};var Me=()=>({id:"username",$InferServerPlugin:{}});import{WebAuthnError as C,startAuthentication as v,startRegistration as B}from"@simplewebauthn/browser";import{atom as k}from"nanostores";var F=(t,{_listPasskeys:e})=>({signIn:{passkey:async(n,i)=>{let a=await t("/passkey/generate-authenticate-options",{method:"POST",body:{email:n?.email}});if(!a.data)return a;try{let r=await v(a.data,n?.autoFill||!1),l=await t("/passkey/verify-authentication",{body:{response:r},...n?.fetchOptions,...i,method:"POST"});if(!l.data)return l}catch{return{data:null,error:{message:"auth cancelled",status:400,statusText:"BAD_REQUEST"}}}}},passkey:{addPasskey:async(n,i)=>{let a=await t("/passkey/generate-register-options",{method:"GET"});if(!a.data)return a;try{let r=await B(a.data),l=await t("/passkey/verify-registration",{...n?.fetchOptions,...i,body:{response:r,name:n?.name},method:"POST"});if(!l.data)return l;e.set(Math.random())}catch(r){return r instanceof C?r.code==="ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED"?{data:null,error:{message:"previously registered",status:400,statusText:"BAD_REQUEST"}}:r.code==="ERROR_CEREMONY_ABORTED"?{data:null,error:{message:"registration cancelled",status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:r.message,status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:r instanceof Error?r.message:"unknown error",status:500,statusText:"INTERNAL_SERVER_ERROR"}}}}},$Infer:{}}),We=()=>{let t=k();return{id:"passkey",$InferServerPlugin:{},getActions:e=>F(e,{_listPasskeys:t}),getAtoms(e){return{listPasskeys:c(t,"/passkey/list-user-passkeys",e,{method:"GET"}),_listPasskeys:t}},pathMethods:{"/passkey/register":"POST","/passkey/authenticate":"POST"},atomListeners:[{matcher(e){return e==="/passkey/verify-registration"||e==="/passkey/delete-passkey"},signal:"_listPasskeys"}]}};var He=(t={redirect:!0,twoFactorPage:"/"})=>({id:"two-factor",$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"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(e){e.data?.twoFactorRedirect&&(t.redirect||t.twoFactorPage)&&typeof window<"u"&&(window.location.href=t.twoFactorPage)}}}]});var Qe=()=>({id:"magic-link",$InferServerPlugin:{}});var Je=()=>({id:"phoneNumber",$InferServerPlugin:{},atomListeners:[{matcher(t){return t==="/phone-number/update"||t==="/phone-number/verify"},signal:"$sessionSignal"}]});var Ye=()=>({id:"anonymous",$InferServerPlugin:{},pathMethods:{"/sign-in/anonymous":"POST"}});var et=t=>({id:"additional-fields-client",$InferServerPlugin:{}});var nt=()=>({id:"better-auth-client",$InferServerPlugin:{},pathMethods:{"/admin/list-users":"GET"}});var it=()=>({id:"generic-oauth-client",$InferServerPlugin:{}});var ot=()=>({id:"better-auth-client",$InferServerPlugin:{}});var lt=()=>({id:"multi-session",$InferServerPlugin:{},pathMethods:{"/multi-session/sign-out-device-sessions":"POST"},atomListeners:[{matcher(t){return t==="/multi-session/set-active"},signal:"$sessionSignal"}]});var ut=()=>({id:"email-otp",$InferServerPlugin:{}});var P=!1,mt=t=>({id:"one-tap",getActions:(e,o)=>({oneTap:async(s,n)=>{if(P){console.warn("A Google One Tap request is already in progress. Please wait.");return}P=!0;try{if(typeof window>"u"||!window.document){console.warn("Google One Tap is only available in browser environments");return}let{autoSelect:i,cancelOnTapOutside:a,context:r}=s??{},l=r??t.context??"signin";await E(),await new Promise(m=>{window.google?.accounts.id.initialize({client_id:t.clientId,callback:async S=>{await e("/one-tap/callback",{method:"POST",body:{idToken:S.credential},...s?.fetchOptions,...n}),(!s?.fetchOptions&&!n||s?.callbackURL)&&(window.location.href=s?.callbackURL??"/"),m()},auto_select:i,cancel_on_tap_outside:a,context:l}),window.google?.accounts.id.prompt()})}catch(i){throw console.error("Error during Google One Tap flow:",i),i}finally{P=!1}}}),getAtoms(e){return{}}}),E=()=>new Promise(t=>{if(window.googleScriptInitialized){t();return}let e=document.createElement("script");e.src="https://accounts.google.com/gsi/client",e.async=!0,e.defer=!0,e.onload=()=>{window.googleScriptInitialized=!0,t()},document.head.appendChild(e)});export{nt as adminClient,Ye as anonymousClient,ut as emailOTPClient,it as genericOAuthClient,F as getPasskeyActions,et as inferAdditionalFields,ot as jwtClient,Qe as magicLinkClient,lt as multiSessionClient,mt as oneTapClient,Le as organizationClient,We as passkeyClient,Je as phoneNumberClient,He as twoFactorClient,Me as usernameClient};
1
+ import{atom as h}from"nanostores";var u=class extends Error{path;constructor(e,o){super(e),this.path=o}},f=class{constructor(e){this.s=e;this.statements=e}statements;newRole(e){return new d(e)}},d=class t{statements;constructor(e){this.statements=e}authorize(e,o){for(let[s,n]of Object.entries(e)){let i=this.statements[s];if(!i)return{success:!1,error:`You are not allowed to access resource: ${s}`};let a=o==="OR"?n.some(r=>i.includes(r)):n.every(r=>i.includes(r));return a?{success:a}:{success:!1,error:`unauthorized to access resource "${s}"`}}return{success:!1,error:"Not authorized"}}static fromString(e){let o=JSON.parse(e);if(typeof o!="object")throw new u("statements is not an object",".");for(let[s,n]of Object.entries(o)){if(typeof s!="string")throw new u("invalid resource identifier",s);if(!Array.isArray(n))throw new u("actions is not an array",s);for(let i=0;i<n.length;i++)if(typeof n[i]!="string")throw new u("action is not a string",`${s}[${i}]`)}return new t(o)}toString(){return JSON.stringify(this.statements)}};var A=t=>new f(t),b={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]},y=A(b),$=y.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"]}),_=y.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"]}),L=y.newRole({organization:[],member:[],invitation:[]});import{createFetch as de}from"@better-fetch/fetch";var g=Object.create(null),p=t=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(t?g:globalThis),O=new Proxy(g,{get(t,e){return p()[e]??g[e]},has(t,e){let o=p();return e in o||e in g},set(t,e,o){let s=p(!0);return s[e]=o,!0},deleteProperty(t,e){if(!e)return!1;let o=p(!0);return delete o[e],!0},ownKeys(){let t=p(!0);return Object.keys(t)}});function T(t){return t?t!=="false":!1}var x=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var H=x==="test"||T(O.TEST);import"nanostores";import"@better-fetch/fetch";import{atom as oe}from"nanostores";import"@better-fetch/fetch";import{atom as w,onMount as R}from"nanostores";var c=(t,e,o,s)=>{let n=w({data:null,error:null,isPending:!0,isRefetching:!1}),i=()=>{let r=typeof s=="function"?s({data:n.get().data,error:n.get().error,isPending:n.get().isPending}):s;return o(e,{...r,onSuccess:async l=>{n.set({data:l.data,error:null,isPending:!1,isRefetching:!1}),await r?.onSuccess?.(l)},async onError(l){n.set({error:l.error,data:null,isPending:!1,isRefetching:!1}),await r?.onError?.(l)},async onRequest(l){let m=n.get();n.set({isPending:m.data===null,data:m.data,error:null,isRefetching:!0}),await r?.onRequest?.(l)}})};t=Array.isArray(t)?t:[t];let a=!1;for(let r of t)r.subscribe(()=>{a?i():R(n,()=>(i(),a=!0,()=>{n.off(),r.off()}))});return n};var Le=t=>{let e=h(!1),o=h(!1),s=h(!1);return{id:"organization",$InferServerPlugin:{},getActions:n=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{}},organization:{hasPermission:async i=>await n("/organization/has-permission",{method:"POST",body:{permission:i.permission},...i.fetchOptions})}}),getAtoms:n=>{let i=c(e,"/organization/list",n,{method:"GET"}),a=c([o],"/organization/get-full-organization",n,()=>({method:"GET"})),r=c([s],"/organization/get-active-member",n,{method:"GET"});return{$listOrg:e,$activeOrgSignal:o,$activeMemberSignal:s,activeOrganization:a,listOrganizations:i,activeMember:r}},atomListeners:[{matcher(n){return n==="/organization/create"||n==="/organization/delete"},signal:"$listOrg"},{matcher(n){return n.startsWith("/organization")},signal:"$activeOrgSignal"},{matcher(n){return n.includes("/organization/update-member-role")},signal:"$activeMemberSignal"}]}};var Me=()=>({id:"username",$InferServerPlugin:{}});import{WebAuthnError as C,startAuthentication as v,startRegistration as B}from"@simplewebauthn/browser";import{atom as k}from"nanostores";var F=(t,{$listPasskeys:e})=>({signIn:{passkey:async(n,i)=>{let a=await t("/passkey/generate-authenticate-options",{method:"POST",body:{email:n?.email}});if(!a.data)return a;try{let r=await v(a.data,n?.autoFill||!1),l=await t("/passkey/verify-authentication",{body:{response:r},...n?.fetchOptions,...i,method:"POST"});if(!l.data)return l}catch{return{data:null,error:{message:"auth cancelled",status:400,statusText:"BAD_REQUEST"}}}}},passkey:{addPasskey:async(n,i)=>{let a=await t("/passkey/generate-register-options",{method:"GET"});if(!a.data)return a;try{let r=await B(a.data),l=await t("/passkey/verify-registration",{...n?.fetchOptions,...i,body:{response:r,name:n?.name},method:"POST"});if(!l.data)return l;e.set(Math.random())}catch(r){return r instanceof C?r.code==="ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED"?{data:null,error:{message:"previously registered",status:400,statusText:"BAD_REQUEST"}}:r.code==="ERROR_CEREMONY_ABORTED"?{data:null,error:{message:"registration cancelled",status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:r.message,status:400,statusText:"BAD_REQUEST"}}:{data:null,error:{message:r instanceof Error?r.message:"unknown error",status:500,statusText:"INTERNAL_SERVER_ERROR"}}}}},$Infer:{}}),We=()=>{let t=k();return{id:"passkey",$InferServerPlugin:{},getActions:e=>F(e,{$listPasskeys:t}),getAtoms(e){return{listPasskeys:c(t,"/passkey/list-user-passkeys",e,{method:"GET"}),$listPasskeys:t}},pathMethods:{"/passkey/register":"POST","/passkey/authenticate":"POST"},atomListeners:[{matcher(e){return e==="/passkey/verify-registration"||e==="/passkey/delete-passkey"},signal:"_listPasskeys"}]}};var He=(t={redirect:!0,twoFactorPage:"/"})=>({id:"two-factor",$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"},fetchPlugins:[{id:"two-factor",name:"two-factor",hooks:{async onSuccess(e){e.data?.twoFactorRedirect&&(t.redirect||t.twoFactorPage)&&typeof window<"u"&&(window.location.href=t.twoFactorPage)}}}]});var Qe=()=>({id:"magic-link",$InferServerPlugin:{}});var Je=()=>({id:"phoneNumber",$InferServerPlugin:{},atomListeners:[{matcher(t){return t==="/phone-number/update"||t==="/phone-number/verify"},signal:"$sessionSignal"}]});var Ye=()=>({id:"anonymous",$InferServerPlugin:{},pathMethods:{"/sign-in/anonymous":"POST"}});var et=t=>({id:"additional-fields-client",$InferServerPlugin:{}});var nt=()=>({id:"better-auth-client",$InferServerPlugin:{},pathMethods:{"/admin/list-users":"GET"}});var it=()=>({id:"generic-oauth-client",$InferServerPlugin:{}});var ot=()=>({id:"better-auth-client",$InferServerPlugin:{}});var lt=()=>({id:"multi-session",$InferServerPlugin:{},pathMethods:{"/multi-session/sign-out-device-sessions":"POST"},atomListeners:[{matcher(t){return t==="/multi-session/set-active"},signal:"$sessionSignal"}]});var ut=()=>({id:"email-otp",$InferServerPlugin:{}});var P=!1,mt=t=>({id:"one-tap",getActions:(e,o)=>({oneTap:async(s,n)=>{if(P){console.warn("A Google One Tap request is already in progress. Please wait.");return}P=!0;try{if(typeof window>"u"||!window.document){console.warn("Google One Tap is only available in browser environments");return}let{autoSelect:i,cancelOnTapOutside:a,context:r}=s??{},l=r??t.context??"signin";await E(),await new Promise(m=>{window.google?.accounts.id.initialize({client_id:t.clientId,callback:async S=>{await e("/one-tap/callback",{method:"POST",body:{idToken:S.credential},...s?.fetchOptions,...n}),(!s?.fetchOptions&&!n||s?.callbackURL)&&(window.location.href=s?.callbackURL??"/"),m()},auto_select:i,cancel_on_tap_outside:a,context:l}),window.google?.accounts.id.prompt()})}catch(i){throw console.error("Error during Google One Tap flow:",i),i}finally{P=!1}}}),getAtoms(e){return{}}}),E=()=>new Promise(t=>{if(window.googleScriptInitialized){t();return}let e=document.createElement("script");e.src="https://accounts.google.com/gsi/client",e.async=!0,e.defer=!0,e.onload=()=>{window.googleScriptInitialized=!0,t()},document.head.appendChild(e)});export{nt as adminClient,Ye as anonymousClient,ut as emailOTPClient,it as genericOAuthClient,F as getPasskeyActions,et as inferAdditionalFields,ot as jwtClient,Qe as magicLinkClient,lt as multiSessionClient,mt as oneTapClient,Le as organizationClient,We as passkeyClient,Je as phoneNumberClient,He as twoFactorClient,Me as usernameClient};
@@ -645,24 +645,29 @@ declare const organization: <O extends OrganizationOptions>(options?: O) => {
645
645
  data: ZodObject<{
646
646
  name: ZodOptional<ZodOptional<z.ZodString>>;
647
647
  slug: ZodOptional<ZodOptional<z.ZodString>>;
648
+ logo: ZodOptional<ZodOptional<z.ZodString>>;
648
649
  }, "strip", z.ZodTypeAny, {
649
650
  name?: string | undefined;
650
651
  slug?: string | undefined;
652
+ logo?: string | undefined;
651
653
  }, {
652
654
  name?: string | undefined;
653
655
  slug?: string | undefined;
656
+ logo?: string | undefined;
654
657
  }>;
655
658
  orgId: ZodOptional<z.ZodString>;
656
659
  }, "strip", z.ZodTypeAny, {
657
660
  data: {
658
661
  name?: string | undefined;
659
662
  slug?: string | undefined;
663
+ logo?: string | undefined;
660
664
  };
661
665
  orgId?: string | undefined;
662
666
  }, {
663
667
  data: {
664
668
  name?: string | undefined;
665
669
  slug?: string | undefined;
670
+ logo?: string | undefined;
666
671
  };
667
672
  orgId?: string | undefined;
668
673
  }>;
@@ -696,24 +701,29 @@ declare const organization: <O extends OrganizationOptions>(options?: O) => {
696
701
  data: ZodObject<{
697
702
  name: ZodOptional<ZodOptional<z.ZodString>>;
698
703
  slug: ZodOptional<ZodOptional<z.ZodString>>;
704
+ logo: ZodOptional<ZodOptional<z.ZodString>>;
699
705
  }, "strip", z.ZodTypeAny, {
700
706
  name?: string | undefined;
701
707
  slug?: string | undefined;
708
+ logo?: string | undefined;
702
709
  }, {
703
710
  name?: string | undefined;
704
711
  slug?: string | undefined;
712
+ logo?: string | undefined;
705
713
  }>;
706
714
  orgId: ZodOptional<z.ZodString>;
707
715
  }, "strip", z.ZodTypeAny, {
708
716
  data: {
709
717
  name?: string | undefined;
710
718
  slug?: string | undefined;
719
+ logo?: string | undefined;
711
720
  };
712
721
  orgId?: string | undefined;
713
722
  }, {
714
723
  data: {
715
724
  name?: string | undefined;
716
725
  slug?: string | undefined;
726
+ logo?: string | undefined;
717
727
  };
718
728
  orgId?: string | undefined;
719
729
  }>;
@@ -4334,8 +4344,8 @@ type AuthenticatorTransportFuture = 'ble' | 'cable' | 'hybrid' | 'internal' | 'n
4334
4344
  */
4335
4345
  type CredentialDeviceType = 'singleDevice' | 'multiDevice';
4336
4346
 
4337
- declare const getPasskeyActions: ($fetch: BetterFetch, { _listPasskeys, }: {
4338
- _listPasskeys: ReturnType<typeof atom<any>>;
4347
+ declare const getPasskeyActions: ($fetch: BetterFetch, { $listPasskeys, }: {
4348
+ $listPasskeys: ReturnType<typeof atom<any>>;
4339
4349
  }) => {
4340
4350
  signIn: {
4341
4351
  /**
@@ -4436,7 +4446,7 @@ declare const passkeyClient: () => {
4436
4446
  isPending: boolean;
4437
4447
  isRefetching: boolean;
4438
4448
  }>;
4439
- _listPasskeys: nanostores.PreinitializedWritableAtom<any>;
4449
+ $listPasskeys: nanostores.PreinitializedWritableAtom<any>;
4440
4450
  };
4441
4451
  pathMethods: {
4442
4452
  "/passkey/register": "POST";
@@ -645,24 +645,29 @@ declare const organization: <O extends OrganizationOptions>(options?: O) => {
645
645
  data: ZodObject<{
646
646
  name: ZodOptional<ZodOptional<z.ZodString>>;
647
647
  slug: ZodOptional<ZodOptional<z.ZodString>>;
648
+ logo: ZodOptional<ZodOptional<z.ZodString>>;
648
649
  }, "strip", z.ZodTypeAny, {
649
650
  name?: string | undefined;
650
651
  slug?: string | undefined;
652
+ logo?: string | undefined;
651
653
  }, {
652
654
  name?: string | undefined;
653
655
  slug?: string | undefined;
656
+ logo?: string | undefined;
654
657
  }>;
655
658
  orgId: ZodOptional<z.ZodString>;
656
659
  }, "strip", z.ZodTypeAny, {
657
660
  data: {
658
661
  name?: string | undefined;
659
662
  slug?: string | undefined;
663
+ logo?: string | undefined;
660
664
  };
661
665
  orgId?: string | undefined;
662
666
  }, {
663
667
  data: {
664
668
  name?: string | undefined;
665
669
  slug?: string | undefined;
670
+ logo?: string | undefined;
666
671
  };
667
672
  orgId?: string | undefined;
668
673
  }>;
@@ -696,24 +701,29 @@ declare const organization: <O extends OrganizationOptions>(options?: O) => {
696
701
  data: ZodObject<{
697
702
  name: ZodOptional<ZodOptional<z.ZodString>>;
698
703
  slug: ZodOptional<ZodOptional<z.ZodString>>;
704
+ logo: ZodOptional<ZodOptional<z.ZodString>>;
699
705
  }, "strip", z.ZodTypeAny, {
700
706
  name?: string | undefined;
701
707
  slug?: string | undefined;
708
+ logo?: string | undefined;
702
709
  }, {
703
710
  name?: string | undefined;
704
711
  slug?: string | undefined;
712
+ logo?: string | undefined;
705
713
  }>;
706
714
  orgId: ZodOptional<z.ZodString>;
707
715
  }, "strip", z.ZodTypeAny, {
708
716
  data: {
709
717
  name?: string | undefined;
710
718
  slug?: string | undefined;
719
+ logo?: string | undefined;
711
720
  };
712
721
  orgId?: string | undefined;
713
722
  }, {
714
723
  data: {
715
724
  name?: string | undefined;
716
725
  slug?: string | undefined;
726
+ logo?: string | undefined;
717
727
  };
718
728
  orgId?: string | undefined;
719
729
  }>;
@@ -4334,8 +4344,8 @@ type AuthenticatorTransportFuture = 'ble' | 'cable' | 'hybrid' | 'internal' | 'n
4334
4344
  */
4335
4345
  type CredentialDeviceType = 'singleDevice' | 'multiDevice';
4336
4346
 
4337
- declare const getPasskeyActions: ($fetch: BetterFetch, { _listPasskeys, }: {
4338
- _listPasskeys: ReturnType<typeof atom<any>>;
4347
+ declare const getPasskeyActions: ($fetch: BetterFetch, { $listPasskeys, }: {
4348
+ $listPasskeys: ReturnType<typeof atom<any>>;
4339
4349
  }) => {
4340
4350
  signIn: {
4341
4351
  /**
@@ -4436,7 +4446,7 @@ declare const passkeyClient: () => {
4436
4446
  isPending: boolean;
4437
4447
  isRefetching: boolean;
4438
4448
  }>;
4439
- _listPasskeys: nanostores.PreinitializedWritableAtom<any>;
4449
+ $listPasskeys: nanostores.PreinitializedWritableAtom<any>;
4440
4450
  };
4441
4451
  pathMethods: {
4442
4452
  "/passkey/register": "POST";