PageSourceSearch

https://kailo.fit/static/stytch-native-adapter-b4f7ec51.js

js kailo.fit collected 2026-10-09 04:42:06 UTC 6,871 bytes, 1 lines download raw bytes

1import{StytchNativePlugin as e}from"../../mobile-app/src/plugins/stytch/index.js";var s=new class{constructor(){this.isInitialized=!1,this.sessionListeners=[]}async initialize(s,t){if(this.isInitialized)console.log("NativeStytchAdapter: Already initialized");else try{await e.initialize({publicToken:s,isTest:t}),this.setupSessionListener(),this.isInitialized=!0,console.log("NativeStytchAdapter: Initialized successfully")}catch(e){throw console.error("NativeStytchAdapter: Failed to initialize",e),e}}setupSessionListener(){this.sessionListener=e.addSessionChangeListener(e=>{console.log("NativeStytchAdapter: Session changed",e),this.sessionListeners.forEach(s=>{e.hasSession?s({userId:e.userId,sessionToken:e.sessionToken,sessionJwt:e.sessionJwt,expiresAt:e.expiresAt||null,user:e.user}):s(null)})})}get session(){return{onChange:e=>(this.sessionListeners.push(e),()=>{const s=this.sessionListeners.indexOf(e);s>-1&&this.sessionListeners.splice(s,1)}),getSync:async()=>{try{const s=await e.getCurrentSession();return s.hasSession?{session_token:s.sessionToken,session_jwt:s.sessionJwt,session:{userId:s.userId,user:s.user,expires_at:s.expiresAt||null},expires_at:s.expiresAt||null,user:s.user,cached_user:s.cachedUser||null}:null}catch(e){return console.error("NativeStytchAdapter: Failed to get session",e),null}},revoke:async()=>{try{await e.logout()}catch(e){throw console.error("NativeStytchAdapter: Failed to revoke session",e),e}},authenticate:async s=>{try{const s=await e.refreshSession();return{status_code:200,session_token:s.sessionToken,session_jwt:s.sessionJwt,expires_at:s.expiresAt||null,session:{userId:s.userId,user:s.user,expires_at:s.expiresAt||null},user:s.user}}catch(e){throw console.error("NativeStytchAdapter: Failed to authenticate session",e),e}}}}get passwords(){return{authenticate:async({email:s,password:t,session_duration_minutes:r=43200})=>{try{const i=await e.loginWithPassword({email:s,password:t,sessionDurationMinutes:r});return{status_code:200,user_id:i.userId,session_token:i.sessionToken,session_jwt:i.sessionJwt,expires_at:i.expiresAt||null,user:i.user,session:{userId:i.userId,user:i.user,expires_at:i.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: Password authentication failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Authentication failed"}}},create:async({email:s,password:t,session_duration_minutes:r=43200})=>{try{const i=await e.registerWithPassword({email:s,password:t,sessionDurationMinutes:r});return{status_code:200,user_id:i.userId,session_token:i.sessionToken,session_jwt:i.sessionJwt,expires_at:i.expiresAt||null,user:i.user,session:{userId:i.userId,user:i.user,expires_at:i.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: Password creation failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Registration failed"}}},resetByEmailStart:async({email:s,reset_password_redirect_url:t})=>{try{return await e.sendPasswordResetEmail({email:s,resetRedirectUrl:t}),{status_code:200,message:"Password reset email sent"}}catch(e){return console.error("NativeStytchAdapter: Password reset send failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Failed to send reset email"}}},resetByEmail:async({token:s,password:t,session_duration_minutes:r=43200})=>{try{const i=await e.resetPassword({token:s,password:t,sessionDurationMinutes:r});return{status_code:200,user_id:i.userId,session_token:i.sessionToken,session_jwt:i.sessionJwt,expires_at:i.expiresAt||null,user:i.user,session:{userId:i.userId,user:i.user,expires_at:i.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: Password reset failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Password reset failed"}}}}}get magicLinks(){return{email:{loginOrCreate:async({email:s,login_magic_link_url:t,signup_magic_link_url:r})=>{try{return await e.sendMagicLink({email:s,loginRedirectUrl:t,signupRedirectUrl:r}),{status_code:200,message:"Magic link sent"}}catch(e){return console.error("NativeStytchAdapter: Magic link send failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Failed to send magic link"}}}},authenticate:async(s,{session_duration_minutes:t=43200}={})=>{try{const r=await e.authenticateMagicLink({token:s,sessionDurationMinutes:t});return{status_code:200,user_id:r.userId,session_token:r.sessionToken,session_jwt:r.sessionJwt,expires_at:r.expiresAt||null,user:r.user,session:{userId:r.userId,user:r.user,expires_at:r.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: Magic link authentication failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Authentication failed"}}}}}get user(){return{search:async({email:s})=>{try{return{status_code:200,user_type:(await e.searchUser({email:s})).userType}}catch(e){return console.error("NativeStytchAdapter: Email lookup failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"Email lookup failed"}}}}}get oauth(){return{authenticate:async(s,{session_duration_minutes:t=43200}={})=>{try{const r=await e.authenticateOAuth({token:s,sessionDurationMinutes:t});return{status_code:200,user_id:r.userId,session_token:r.sessionToken,session_jwt:r.sessionJwt,expires_at:r.expiresAt||null,user:r.user,session:{userId:r.userId,user:r.user,expires_at:r.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: OAuth authentication failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"OAuth authentication failed"}}},google:{start:async({login_redirect_url:s,signup_redirect_url:t})=>{try{const r=await e.startGoogleOAuth({redirectUrl:s||"kailo://authenticate",loginRedirectUrl:s,signupRedirectUrl:t});return{status_code:200,user_id:r.userId,session_token:r.sessionToken,session_jwt:r.sessionJwt,expires_at:r.expiresAt||null,user:r.user,session:{userId:r.userId,user:r.user,expires_at:r.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: Google OAuth failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"OAuth failed"}}}},apple:{start:async({login_redirect_url:s,signup_redirect_url:t})=>{try{const r=await e.startAppleOAuth({redirectUrl:s||"kailo://authenticate",loginRedirectUrl:s,signupRedirectUrl:t});return{status_code:200,user_id:r.userId,session_token:r.sessionToken,session_jwt:r.sessionJwt,expires_at:r.expiresAt||null,user:r.user,session:{userId:r.userId,user:r.user,expires_at:r.expiresAt||null}}}catch(e){return console.error("NativeStytchAdapter: Apple OAuth failed",e),{status_code:400,error_type:e.code||null,error_message:e.message||"OAuth failed"}}}}}}mountLogin(){console.warn("NativeStytchAdapter: mountLogin() called but not applicable for native mobile")}destroy(){this.sessionListener&&this.sessionListener.remove(),this.sessionListeners=[]}};export{s as default};

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.