Files
codex-console/tmp_redirectToPage.js
2026-03-21 23:00:03 +08:00

3 lines
34 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{e as z,r as Y,b as K,m as c}from"./react-router-Dv7ITjcY.js";import{bg as Q,bh as f,bi as l,R as h,a6 as s,bj as X,aL as L,aM as I,aN as T,bk as Z,bl as x,ab as V,ac as v,bm as j,aK as P,bn as D,bo as F,bp as ee,ai as se,bq as b,br as re,bs as ae,bt as te,bu as ne,bv as oe,bw as ie,bx as de,by as J,bz as ue,bA as O,U as E,aE as A,bB as ce,bC as pe,bD as le,bE as M,bF as me,aB as fe,bG as he,az as ge,bH as we,bI as _e,bJ as ye,bK as Pe,S as N,bL as R,bb as Ee,bM as W,bN as ve,bO as be,bP as Oe,ap as Me,bQ as Se,bR as Re,bS as Ie,aJ as C,h as G}from"./app-core-BVP192sF.js";import{z as _}from"./zod-BeXw7Xwl.js";const Te=_.object({status:_.literal(400),json:_.object({error:_.object({code:_.literal("registration_disallowed")})})}),Ae=_.object({status:_.literal(400),json:_.object({error:_.object({code:_.literal("registration_disallowed_too_young")})})}),Ne=(r,t,e)=>{const a=Q(e.intl).safeParse(t);if(!a.success)throw new f(a.error.message);return l(r,"/create_account",{...e.init,method:"POST",body:JSON.stringify({name:a.data.data.name,birthdate:a.data.data.birthday})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.ABOUT_YOU,intercept:i=>{if(Te.safeParse(i).success)return{type:s.enum.about_you,payload:{errors:{formErrors:[e.intl.formatMessage({id:"aboutYou.cantCreateYourAccount",defaultMessage:"We can't create your account due to our Terms of Use",description:"Error message displayed when the user is not allowed to create an account for a generic reason."})]}}};if(Ae.safeParse(i).success)return{type:s.enum.about_you,payload:{errors:{formErrors:[e.intl.formatMessage({id:"aboutYou.restrictedBirthdayError",defaultMessage:"We can't create an account with that info. Try again.",description:"Error message displayed when the provided birthday is too young (under 5 years)."})]}}}}})},Ue=(r,t,e)=>{const a=X.safeParse(t);if(!a.success)throw new f(a.error.message);const{password:i}=a.data.data;return l(r,"/password/add",{...e.init,method:"POST",body:JSON.stringify({password:i})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.ADD_PASSWORD_NEW_PASSWORD,intercept:n=>{const d={status:n.status,data:n.json};if(L.safeParse(d).success)return{type:s.enum.add_password_new_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"resetPasswordNewPassword.passwordMustNotBeReused",defaultMessage:"Password must not be reused",description:"Error message shown when a new password is reused from the previous password"})]}}}};if(I.safeParse(d).success)return{type:s.enum.add_password_new_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"resetPasswordNewPassword.passwordContainsUserInfo",defaultMessage:"Password must not contain personal information like your email, phone number, or name",description:"Error message displayed when the user tries to reset their password with a password that contains user information"})]}}}};if(T.safeParse(d).success)return{type:s.enum.add_password_new_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"resetPasswordNewPassword.passwordTooWeak",defaultMessage:"Password is too weak",description:"Error message displayed when the user tries to reset their password with a password that is too weak"})]}}}}}})},ke=(r,t,e)=>{const a=Z.safeParse(t);if(!a.success)throw new f(a.error.message);const{path:i,method:n}=a.data.intent==="select"?{path:"/session/select",method:"POST"}:{path:"/session/remove",method:"DELETE"};return l(r,i,{...e.init,method:n,body:JSON.stringify({session_id:a.data.session_id})},{routeId:h.CHOOSE_AN_ACCOUNT})},Be=async(r,t,{intl:e,init:a,authapiBaseUrlOverride:i})=>{var p;const n=x(e).safeParse(t);if(!n.success)throw new f(n.error.message);const d=n.data.data.username_kind==="email"?"/email-otp":"/phone-otp";if(n.data.data.intent===V.enum.validate)return l(r,`${d}/validate`,{...a,method:"POST",body:JSON.stringify({code:n.data.data.code})},{authapiBaseUrlOverride:i,routeId:h.CONTACT_VERIFICATION,intercept:({status:m,json:w})=>{if(v.safeParse({status:m,data:w}).success)throw j(v);if(P.safeParse({status:m,data:w}).success)return{type:s.enum.contact_verification,payload:{errors:{formErrors:[e.formatMessage({id:"contactVerification.fraudGuard",description:"Error message displayed when a phone number fails fraud guard checks.",defaultMessage:"Unable to send a text message to this phone number"})]}}};if(m===401||D.safeParse({status:m,data:w}).success)return{type:s.enum.contact_verification,payload:{errors:{fieldErrors:{code:[e.formatMessage({id:"contactVerification.incorrectCode",description:"Error message displayed when the user enters an incorrect OTP code.",defaultMessage:"Incorrect code"})]}}}}}});const o=await fetch(`${i??"https://auth.openai.com/api/accounts"}${d}/resend`,{...a,method:"POST",credentials:"include",signal:r.signal});if(o.ok)return{page:{type:s.enum.contact_verification},responseHeaders:o.headers};const u=(p=o.headers.get("Content-Type"))!=null&&p.includes("application/json")?await o.clone().json():null;if(F.safeParse({status:o.status,data:u}).success)return{page:{type:s.enum.contact_verification,payload:{errors:{formErrors:[e.formatMessage({id:"contactVerification.tooManyResentOtps",defaultMessage:"Tried to resend too many times. Please try again later.",description:"Error message for too many attempts"})]}}},responseHeaders:o.headers};if(n.data.data.username_kind==="phone_number"&&P.safeParse({status:o.status,data:u}).success)return{page:{type:s.enum.contact_verification,payload:{errors:{formErrors:[e.formatMessage({id:"contactVerification.fraudGuard",description:"Error message displayed when a phone number fails fraud guard checks.",defaultMessage:"Unable to send a text message to this phone number"})]}}},responseHeaders:o.headers};throw o},Ce=(r,t,{intl:e,init:a,authapiBaseUrlOverride:i})=>{const n=ee.safeParse(t);if(!n.success)throw new f(n.error.message);if("intent"in n.data.data&&n.data.data.intent===se.enum.passwordless_signup_send_otp)return l(r,"/passwordless/send-otp",{...a},{authapiBaseUrlOverride:i,routeId:h.CREATE_ACCOUNT_PASSWORD,intercept:o=>{const u={status:o.status,data:o.json};if(b.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[e.formatMessage({id:"createAccountPassword.passwordlessSignupSendOtp.InvalidRequest",defaultMessage:"We couldnt send you a one-time code. Please try again or create account with a password.",description:"Shown when the create account password page cannot send a one-time code due to an invalid request"})]}}}}});const d=n.data.data;return l(r,"/user/register",{...a,body:JSON.stringify({password:d.password,username:d.username.value})},{authapiBaseUrlOverride:i,routeId:h.CREATE_ACCOUNT_PASSWORD,intercept:o=>{const u={status:o.status,data:o.json},p=d.username.kind==="email"?e.formatMessage({id:"createAccountPassword.emailAlreadyInUse",defaultMessage:"An account for this email address already exists",description:"Error message displayed when the user tries to create an account with a username that is already in use."}):e.formatMessage({id:"createAccountPassword.phoneAlreadyInUse",defaultMessage:"An account for this phone number already exists",description:"Error message displayed when the user tries to create an account with a username that is already in use."});if(re.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[p]}}};if(ae.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[p]}}};if(te.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[e.formatMessage({id:"createAccountPassword.voipPhoneNumberDisallowed",defaultMessage:"It looks like this is a virtual phone number (also known as VoIP). Please provide a valid, non-virtual phone number to continue.",description:"Error message displayed when the user tries to create an account with a VoIP (virtual phone number) and it's not allowed, asking them to use a valid phone number."})]}}};if(ne.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[e.formatMessage({id:"createAccountPassword.landlineDisallowed",defaultMessage:"The phone number you entered does not appear to be a mobile number. Please provide a valid mobile phone number that can receive SMS messages to continue.",description:"Error message displayed when the user tries to create an account with a non-mobile phone number, asking them to use a valid mobile phone number that can receive SMS message."})]}}};if(oe.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[e.formatMessage({id:"createAccountPassword.unsupportedPhoneNumber",defaultMessage:"The phone number you entered is not supported, please try a different one.",description:"Error message displayed when the user tries to create an account with an unsupported phone number."})]}}};if(ie.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[e.formatMessage({id:"createAccountPassword.invalidPhoneNumber",defaultMessage:"The phone number you entered is invalid. Please check and try again.",description:"Error message displayed when the user tries to create an account with an invalid phone number."})]}}};if(I.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{fieldErrors:{password:[e.formatMessage({id:"createAccountPassword.passwordContainsUserInfo",defaultMessage:"Password must not contain personal information like your email, phone number, or name",description:"Error message displayed when the user tries to create an account with a password that contains user information"})]}}}};if(T.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{fieldErrors:{password:[e.formatMessage({id:"createAccountPassword.passwordTooWeak",defaultMessage:"Password is too weak",description:"Error message displayed when the user tries to create an account with a password that is too weak"})]}}}};if(de.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{fieldErrors:{password:[e.formatMessage({id:"createAccountPassword.passwordTooLong",defaultMessage:"Password must be no more than 512 characters",description:"Error message displayed when the user tries to create an account with a password that exceeds the maximum allowed length"})]}}}};if(J.safeParse(u).success)return{type:s.enum.create_account_password,payload:{errors:{formErrors:[e.formatMessage({id:"createAccountPassword.genericBadRequest",defaultMessage:"Failed to create account. Please try again",description:"Generic error message when account creation fails with a generic bad request error without a specific error code"})]}}}}})},He=(r,t,e)=>{const a=ue.safeParse(t);if(!a.success)throw new f(a.error.message);const i=qe(a.data);return l(r,"/authorize/continue",{...e.init,body:JSON.stringify(i)},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.CREATE_ACCOUNT,intercept:n=>{const d={status:n.status,data:n.json};if(O.safeParse(d).success&&a.data.data.kind==="username"){const o=a.data.data.username.kind===E.enum.phone_number;return{type:s.enum.create_account_start,payload:{errors:{fieldErrors:{username:[e.intl.formatMessage(o?{id:"createAccountStart.invalidPhoneNumber",defaultMessage:"Phone number is not valid.",description:"Error message shown when the server reports an invalid phone number during create account start."}:{id:"createAccountStart.invalidEmail",defaultMessage:"Email is not valid.",description:"Error message shown when the server reports an invalid email during create account start."})]}}}}}}})};function qe({data:r}){return r.kind==="username"?{username:r.username,screen_hint:"signup"}:{connection:A[r.connection]}}const Le=(r,t,{init:e,authapiBaseUrlOverride:a})=>{const i=ce.safeParse(t);if(!i.success)throw new f(i.error.message);return l(r,"/email-otp/send",{...e,method:"GET"},{authapiBaseUrlOverride:a})},Ve=async(r,t,{intl:e,init:a,authapiBaseUrlOverride:i})=>{const n=pe(e).safeParse(t);if(!n.success)throw new f(n.error.message);const d="/email-otp";if(n.data.data.intent===V.enum.validate)return l(r,`${d}/validate`,{...a,method:"POST",body:JSON.stringify({code:n.data.data.code})},{authapiBaseUrlOverride:i,routeId:h.EMAIL_VERIFICATION,intercept:({status:u})=>{if(u===429)return{type:s.enum.email_otp_verification,payload:{errors:{formErrors:[e.formatMessage({id:"emailVerification.tooManyValidateOtps",defaultMessage:"Too many attempts. Please try again later.",description:"Error message when the user tries to validate the OTP code too many times"})]}}};if(u===401)return{type:s.enum.email_otp_verification,payload:{errors:{fieldErrors:{code:[e.formatMessage({id:"emailVerification.incorrectCode",description:"Error message displayed when the user enters an incorrect OTP code.",defaultMessage:"Incorrect code"})]}}}}}});const o=await fetch(`${i??"https://auth.openai.com/api/accounts"}${d}/resend`,{...a,method:"POST",credentials:"include",signal:r.signal});if(o.ok)return{page:{type:s.enum.email_otp_verification},responseHeaders:o.headers};if(o.status===429)return{page:{type:s.enum.email_otp_verification,payload:{errors:{formErrors:[e.formatMessage({id:"emailVerification.tooManyResentOtps",defaultMessage:"Too many attempts. Please try again later.",description:"Error message when the user tries to resend the OTP code too many times"})]}}},responseHeaders:o.headers};throw o},je=(r,t,e)=>{const a=le.safeParse(t);if(!a.success)throw new f(a.error.message);const i=De(a.data);return l(r,"/authorize/continue",{...e.init,body:JSON.stringify(i)},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.UNIFIED_LOG_IN_OR_SIGN_UP_INPUT,intercept:n=>{const d={status:n.status,data:n.json};if(O.safeParse(d).success&&a.data.data.kind==="username"){const o=a.data.data.username.kind===E.enum.phone_number;return{type:s.enum.login_or_signup_start,payload:{errors:{fieldErrors:{username:[e.intl.formatMessage(o?{id:"loginOrSignupStart.invalidPhoneNumber",defaultMessage:"Phone number is not valid.",description:"Error message shown when the server reports an invalid phone number during login-or-signup start."}:{id:"loginOrSignupStart.invalidEmail",defaultMessage:"Email is not valid.",description:"Error message shown when the server reports an invalid email during login-or-signup start."})]}}}}}if(M.safeParse(d).success)return{type:s.enum.login_or_signup_start,payload:{errors:{formErrors:[e.intl.formatMessage({id:"loginOrSignupStart.tooManyRequests",defaultMessage:"Rate limit exceeded, please try again later",description:"Error message shown when the user is rate limited because they have made too many requests during login-or-signup start."})]}}}}})};function De({data:r}){return r.kind==="username"?{username:r.username,screen_hint:"login_or_signup"}:{connection:A[r.connection]}}const Fe=(r,t,e)=>{const a=me.safeParse(t);if(!a.success)throw new f(a.error.message);if(a.data.data.intent===fe.enum.try_another_way){const{username:u}=a.data.data;return l(r,"/authorize/continue",{...e.init,body:JSON.stringify({...u?{username:u,screen_hint:"login_or_signup"}:{},from_login_screen:"passkey"})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.LOG_IN_PASSKEY,intercept:p=>{const m={status:p.status,data:p.json};if(O.safeParse(m).success&&u){const w=u.kind===E.enum.phone_number;return{type:s.enum.login_or_signup_start,payload:{errors:{fieldErrors:{username:[e.intl.formatMessage(w?{id:"loginOrSignupStart.invalidPhoneNumber",defaultMessage:"Phone number is not valid.",description:"Error message shown when the server reports an invalid phone number during login-or-signup start."}:{id:"loginOrSignupStart.invalidEmail",defaultMessage:"Email is not valid.",description:"Error message shown when the server reports an invalid email during login-or-signup start."})]}}}}}if(M.safeParse(m).success)return{type:s.enum.login_or_signup_start,payload:{errors:{formErrors:[e.intl.formatMessage({id:"loginOrSignupStart.tooManyRequests",defaultMessage:"Rate limit exceeded, please try again later",description:"Error message shown when the user is rate limited because they have made too many requests during login-or-signup start."})]}}}}})}const{mfa_request_id:i,passkey_challenge_response:n,usernameless_passkey_challenge_data:d,using_conditional_ui:o}=a.data.data;return l(r,"/passkey/verify",{...e.init,method:"POST",body:JSON.stringify({mfa_request_id:i,passkey_challenge_response:n,...d!==void 0?{usernameless_passkey_challenge_data:d}:{},...o!==void 0?{using_conditional_ui:o}:{}})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.LOG_IN_PASSKEY})},Je=(r,t,e)=>{const a=he.safeParse(t);if(!a.success)throw new f(a.error.message);if(a.data.data.intent===ge.enum.passwordless_login_send_otp)return l(r,"/passwordless/send-otp",{...e.init},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.LOG_IN_PASSWORD,intercept:d=>{const o={status:d.status,data:d.json};if(b.safeParse(o).success)return{type:s.enum.login_password,payload:{errors:{formErrors:[e.intl.formatMessage({id:"loginPassword.passwordlessLoginSendOtp.InvalidRequest",defaultMessage:"We couldnt send you a one-time code. Please try again or continue with your password.",description:"Shown when the login password page cannot send a one-time code due to an invalid request"})]}}}}});const{username:i,password:n}=a.data.data;return l(r,"/password/verify",{...e.init,method:"POST",body:JSON.stringify({password:n})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.LOG_IN_PASSWORD,intercept:d=>{const o={status:d.status,data:d.json};if(we.safeParse(o).success){const u=(i==null?void 0:i.kind)===E.enum.phone_number;return{type:s.enum.login_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage(u?{id:"logInPassword.incorrectPhonePassword",defaultMessage:"Incorrect phone number or password",description:"Error message shown when a user enters an incorrect password for phone-password login."}:{id:"logInPassword.incorrectEmailPassword",defaultMessage:"Incorrect email address or password",description:"Error message shown when a user enters an incorrect password for email-password login."})]}}}}}if(_e.safeParse(o).success)return{type:s.enum.login_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"logInPassword.passwordResetRequired",defaultMessage:"For improved account protection, please change your password and then log in again",description:"Error message shown when the user must reset their password before logging in."})]}}}}}})},We=(r,t,e)=>{const a=ye.safeParse(t);if(!a.success)throw new f(a.error.message);const i=Ge(a.data);return l(r,"/authorize/continue",{...e.init,method:"POST",body:JSON.stringify(i)},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.LOG_IN,intercept:n=>{const d={status:n.status,data:n.json};if(O.safeParse(d).success&&a.data.data.kind==="username"){const o=a.data.data.username.kind===E.enum.phone_number;return{type:s.enum.login_start,payload:{errors:{fieldErrors:{username:[e.intl.formatMessage(o?{id:"loginStart.invalidPhoneNumber",defaultMessage:"Phone number is not valid.",description:"Error message shown when the server reports an invalid phone number during login start."}:{id:"loginStart.invalidEmail",defaultMessage:"Email is not valid.",description:"Error message shown when the server reports an invalid email during login start."})]}}}}}}})};function Ge({data:r}){return r.kind==="username"?{username:r.username}:{connection:A[r.connection]}}const $e=async(r,t,e)=>{var U;const a=Pe.safeParse(t);if(!a.success)throw new f(a.error.message);const{intent:i,factor_id:n,factor_type:d}=a.data.data,{mfa_factors:o,passkey_challenge_option:u}=await N(r);if(!o)throw new R("MFA factors not found");const p=o.find(y=>y.id===n);if(!p)throw new R("MFA factor not found");if(i===Ee.enum.validate){const y={id:n,type:d,code:a.data.data.code};if(p.factor_type!=="passkey"&&y.code==null)throw new f("Missing verification code");const k=a.data.data.passkey_challenge_response;if(k)try{y.passkey_challenge_response=JSON.parse(k)}catch(S){throw console.error("Invalid passkey challenge response payload",S),new f("Invalid passkey challenge response payload")}else if(p.factor_type==="passkey")throw new f("Missing passkey challenge response");return y.mfa_request_id=a.data.data.mfa_request_id??H(p,u),l(r,"/mfa/verify",{...e.init,method:"POST",body:JSON.stringify(y)},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.MFA_CHALLENGE_METHOD,intercept:({status:S,json:$})=>{const B={status:S,data:$};if(W.safeParse(B).success)return{type:s.enum.mfa_challenge,payload:{factor_id:n,factors:o,errors:{fieldErrors:{code:[e.intl.formatMessage({id:"mfaChallenge.incorrectCode",defaultMessage:"Incorrect code. Please try again.",description:"Error message displayed when the user enters an incorrect code."})]}}}};if(M.safeParse(B).success)return{type:s.enum.mfa_challenge,payload:{factor_id:n,factors:o,errors:{fieldErrors:{code:[e.intl.formatMessage({id:"mfaChallenge.tooManyRequests",defaultMessage:"Too many requests. Please try again later.",description:"Error message displayed when the user has made too many requests."})]}}}}}})}const m=new Headers((U=e.init)==null?void 0:U.headers);m.set("Content-Type","application/json"),m.set("Accept","application/json");const w=await fetch(`${e.authapiBaseUrlOverride??"https://auth.openai.com/api/accounts"}/mfa/issue_challenge`,{...e.init,credentials:"include",method:"POST",signal:r.signal,headers:m,body:JSON.stringify({id:n,type:d,force_fresh_challenge:a.data.data.force_fresh_challenge,mfa_request_id:a.data.data.mfa_request_id??H(p,u)})});if(w.ok)return{page:{type:s.enum.mfa_challenge,payload:{factor_id:n,factors:o}},responseHeaders:w.headers};if(w.status===429)return{page:{type:s.enum.mfa_challenge,payload:{factor_id:n,factors:o,errors:{fieldErrors:{code:[e.intl.formatMessage({id:"mfaChallenge.tooManyRequests",defaultMessage:"Too many requests. Please try again later.",description:"Error message displayed when the user has made too many requests."})]}}}},responseHeaders:w.headers};throw w};function H(r,t){var e;if(r.factor_type==="push_auth")return((e=r.metadata)==null?void 0:e.mfa_request_id)??void 0;if(r.factor_type==="passkey")return t==null?void 0:t.mfa_request_id}async function q(r){const{mfa_enrollment_factors:t}=await N(r);if(!t)throw new R("MFA enrollment factors not found");return t}const ze=async(r,t,e)=>{const a=ve.safeParse(t);if(!a.success)throw new f(a.error.message);const{factor_id:i,factor_type:n,code:d}=a.data.data;return l(r,"/mfa/activate",{...e.init,method:"POST",body:JSON.stringify({id:i,type:n,code:d})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.MFA_ENROLL_METHOD,intercept:async({status:o,json:u})=>{const p={status:o,data:u};if(W.safeParse(p).success){const m=await q(r);return{type:s.enum.mfa_enroll,payload:{factor_id:i,factors:m,errors:{fieldErrors:{code:[e.intl.formatMessage({id:"mfaEnroll.incorrectCode",defaultMessage:"Incorrect code. Please try again.",description:"Error message displayed when the user enters an incorrect code during enrollment."})]}}}}}if(M.safeParse(p).success){const m=await q(r);return{type:s.enum.mfa_enroll,payload:{factor_id:i,factors:m,errors:{formErrors:[e.intl.formatMessage({id:"mfaEnroll.tooManyRequests",defaultMessage:"Too many requests. Please try again later.",description:"Error message displayed when the user has made too many requests during enrollment."})]}}}}}})},Ye=(r,t,{init:e,authapiBaseUrlOverride:a})=>{const i=be.safeParse(t);if(!i.success)throw new f(i.error.message);return l(r,"/phone-otp/send",{...e,method:"GET"},{authapiBaseUrlOverride:a})},Ke=async(r,t,{intl:e,init:a,authapiBaseUrlOverride:i})=>{var p;const n=Oe(e).safeParse(t);if(!n.success)throw new f(n.error.message);const d="/phone-otp";if(n.data.data.intent===Me.enum.validate)return l(r,`${d}/validate`,{...a,method:"POST",body:JSON.stringify({code:n.data.data.code})},{authapiBaseUrlOverride:i,routeId:h.PHONE_VERIFICATION,intercept:({status:m,json:w})=>{if(v.safeParse({status:m,data:w}).success)throw j(v);if(P.safeParse({status:m,data:w}).success)return{type:s.enum.phone_otp_verification,payload:{errors:{formErrors:[e.formatMessage({id:"phoneVerification.fraudGuard",description:"Error message displayed when a phone number fails fraud guard checks.",defaultMessage:"Unable to send a text message to this phone number"})]}}};if(m===401||D.safeParse({status:m,data:w}).success)return{type:s.enum.phone_otp_verification,payload:{errors:{fieldErrors:{code:[e.formatMessage({id:"phoneVerification.incorrectCode",description:"Error message displayed when the user enters an incorrect OTP code.",defaultMessage:"Incorrect code"})]}}}}}});const o=await fetch(`${i??"https://auth.openai.com/api/accounts"}${d}/resend`,{...a,method:"POST",credentials:"include",signal:r.signal});if(o.ok)return{page:{type:s.enum.phone_otp_verification},responseHeaders:o.headers};const u=(p=o.headers.get("Content-Type"))!=null&&p.includes("application/json")?await o.clone().json():null;if(F.safeParse({status:o.status,data:u}).success)return{page:{type:s.enum.phone_otp_verification,payload:{errors:{formErrors:[e.formatMessage({id:"phoneVerification.tooManyResentOtps",defaultMessage:"Tried to resend too many times. Please try again later.",description:"Error message for too many attempts"})]}}},responseHeaders:o.headers};if(P.safeParse({status:o.status,data:u}).success)return{page:{type:s.enum.phone_otp_verification,payload:{errors:{formErrors:[e.formatMessage({id:"phoneVerification.fraudGuard",description:"Error message displayed when a phone number fails fraud guard checks.",defaultMessage:"Unable to send a text message to this phone number"})]}}},responseHeaders:o.headers};throw o},Qe=async(r,t,e)=>{var u;const a=Se.safeParse(t);if(!a.success)throw new f(a.error.message);const i=a.data.data.intent;if(i==="finalize"){const{mfa_session_id:p}=a.data.data;return l(r,"/push-auth/validate",{...e.init,method:"POST",body:JSON.stringify({mfa_session_id:p}),signal:r.signal,credentials:"include"},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.PUSH_AUTH_VERIFICATION})}if(i==="send_email_otp")return l(r,"/email-otp/send",{...e.init,method:"POST",signal:r.signal,credentials:"include"},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.PUSH_AUTH_VERIFICATION});const{mfa_session_id:n}=a.data.data,d=new Headers((u=e.init)==null?void 0:u.headers);d.set("Accept","application/json"),d.set("Content-Type","application/json");const o=await fetch(`${e.authapiBaseUrlOverride??"https://auth.openai.com/api/accounts"}/push-auth/resend`,{...e.init,method:"POST",credentials:"include",signal:r.signal,headers:d,body:JSON.stringify({mfa_session_id:n})});if(o.ok){const{session_id:p}=await N(r),m=new URLSearchParams;return p&&m.set("session_id",p),{page:{type:s.enum.push_auth_verification,payload:{mfa_request_id:n,query_params:m.toString()}},responseHeaders:o.headers}}throw o},Xe=(r,t,e)=>{const a=Re.safeParse(t);if(!a.success)throw new f(a.error.message);const{password:i}=a.data.data;return l(r,"/password/reset",{...e.init,method:"POST",body:JSON.stringify({password:i})},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.RESET_PASSWORD_NEW_PASSWORD,intercept:n=>{const d={status:n.status,data:n.json};if(L.safeParse(d).success)return{type:s.enum.reset_password_new_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"resetPasswordNewPassword.passwordMustNotBeReused",defaultMessage:"Password must not be reused",description:"Error message shown when a new password is reused from the previous password"})]}}}};if(I.safeParse(d).success)return{type:s.enum.reset_password_new_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"resetPasswordNewPassword.passwordContainsUserInfo",defaultMessage:"Password must not contain personal information like your email, phone number, or name",description:"Error message displayed when the user tries to reset their password with a password that contains user information"})]}}}};if(T.safeParse(d).success)return{type:s.enum.reset_password_new_password,payload:{errors:{fieldErrors:{password:[e.intl.formatMessage({id:"resetPasswordNewPassword.passwordTooWeak",defaultMessage:"Password is too weak",description:"Error message displayed when the user tries to reset their password with a password that is too weak"})]}}}};if(J.safeParse(d).success)return{type:s.enum.reset_password_new_password,payload:{errors:{formErrors:[e.intl.formatMessage({id:"resetPasswordNewPassword.genericBadRequest",defaultMessage:"Failed to reset password. Please try again",description:"Generic error message when resetting password fails with a generic bad request error without a specific error code"})]}}}}})},Ze=(r,t,e)=>{const a=Ie.safeParse(t);if(!a.success)throw new f(a.error.message);return(a.data.intent??C.enum.send_otp)===C.enum.passwordless_login_send_otp?l(r,"/passwordless/send-otp",{...e.init,method:"POST"},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.RESET_PASSWORD_START,intercept:n=>{const d={status:n.status,data:n.json};if(b.safeParse(d).success)return{type:s.enum.reset_password_start,payload:{errors:{formErrors:[e.intl.formatMessage({id:"resetPasswordStart.passwordlessLoginSendOtp.InvalidRequest",defaultMessage:"Invalid request",description:"Shown when send one-time code for passwordless login fails with invalid request"})]}}}}}):l(r,"/password/send-otp",{...e.init,method:"POST"},{authapiBaseUrlOverride:e.authapiBaseUrlOverride,routeId:h.RESET_PASSWORD_START,intercept:n=>{const d={status:n.status,data:n.json};if(P.safeParse(d).success)return{type:s.enum.reset_password_start,payload:{errors:{formErrors:[e.intl.formatMessage({id:"resetPasswordStart.fraudGuard",description:"Error message displayed when a phone number fails fraud guard checks.",defaultMessage:"Unable to send a text message to this phone number"})]}}};if(b.safeParse(d).success)return{type:s.enum.reset_password_start,payload:{errors:{formErrors:[e.intl.formatMessage({id:"resetPasswordStart.invalidRequest",defaultMessage:"Invalid request",description:"Shown when reset password start fails with invalid request"})]}}}}})};function as(r,t,e){switch(t.origin_page_type){case s.enum.advanced_account_security_enroll:return g();case s.enum.about_you:return Ne(r,t,e);case s.enum.add_password_new_password:return Ue(r,t,e);case s.enum.add_email:return g();case s.enum.add_phone:return g();case s.enum.apple_intelligence_start:return g();case s.enum.auth_challenge:return g();case s.enum.contact_verification:return Be(r,t,e);case s.enum.phone_otp_verification:return Ke(r,t,e);case s.enum.choose_an_account:return ke(r,t,e);case s.enum.create_account_later:return g();case s.enum.create_account_later_queued:return g();case s.enum.create_account_password:return Ce(r,t,e);case s.enum.create_account_start:return He(r,t,e);case s.enum.email_otp_send:return Le(r,t,e);case s.enum.email_otp_verification:return Ve(r,t,e);case s.enum.error:return g();case s.enum.external_url:return g();case s.enum.identity_verification:return g();case s.enum.login_password:return Je(r,t,e);case s.enum.login_passkey:return Fe(r,t,e);case s.enum.login_start:return We(r,t,e);case s.enum.login_or_signup_start:return je(r,t,e);case s.enum.mfa_challenge:return $e(r,t,e);case s.enum.mfa_enroll:return ze(r,t,e);case s.enum.phone_otp_send:return Ye(r,t,e);case s.enum.push_auth_verification:return Qe(r,t,e);case s.enum.reset_password_new_password:return Xe(r,t,e);case s.enum.reset_password_start:return Ze(r,t,e);case s.enum.reset_password_success:return g();case s.enum.sign_in_with_chatgpt_consent:return g();case s.enum.sign_in_with_chatgpt_codex_consent:return g();case s.enum.sign_in_with_chatgpt_codex_org:return g();case s.enum.sso:return g();case s.enum.token_exchange:return g();case s.enum.workspace:return g();case s.enum.__test__:return g();default:G(t,()=>z({error:"Unknown page type"},{status:400}))}}const g=async()=>({page:{type:s.enum.error},responseHeaders:new Headers});function xe(r){switch(r.type){case s.enum.advanced_account_security_enroll:return"/advanced-account-security";case s.enum.about_you:return c("/about-you");case s.enum.add_email:return c("/add-email");case s.enum.add_phone:return c("/add-phone");case s.enum.add_password_new_password:return c("/add-password/new-password");case s.enum.apple_intelligence_start:return c("/start");case s.enum.auth_challenge:return r.payload.method_id?c("/auth_challenge/:id",{id:r.payload.method_id}):c("/auth_challenge");case s.enum.contact_verification:return c("/contact-verification");case s.enum.phone_otp_verification:return c("/phone-verification");case s.enum.choose_an_account:return c("/choose-an-account");case s.enum.create_account_later:return c("/create-account-later");case s.enum.create_account_later_queued:return c("/create-account-later/queued");case s.enum.create_account_password:return c("/create-account/password");case s.enum.create_account_start:return c("/create-account");case s.enum.email_otp_send:return"https://auth.openai.com/api/accounts/email-otp/send";case s.enum.email_otp_verification:return c("/email-verification");case s.enum.error:return c("/error");case s.enum.external_url:return r.payload.url;case s.enum.identity_verification:return c("/verify-your-identity");case s.enum.login_passkey:return"/log-in/passkey";case s.enum.login_password:return c("/log-in/password");case s.enum.login_start:return c("/log-in");case s.enum.login_or_signup_start:return c("/log-in-or-create-account");case s.enum.mfa_challenge:return r.payload.factor_id?c("/mfa-challenge/:id",{id:r.payload.factor_id}):c("/mfa-challenge");case s.enum.mfa_enroll:return c("/mfa-enroll/:id",{id:r.payload.factor_id});case s.enum.phone_otp_send:return"https://auth.openai.com/api/accounts/phone-otp/send";case s.enum.push_auth_verification:return c("/push-auth-verification/:mfa_request_id",{mfa_request_id:r.payload.mfa_request_id})+`?${r.payload.query_params}`;case s.enum.reset_password_start:return c("/reset-password");case s.enum.reset_password_new_password:return c("/reset-password/new-password");case s.enum.reset_password_success:return c("/reset-password/success");case s.enum.sign_in_with_chatgpt_consent:return c("/sign-in-with-chatgpt/consent");case s.enum.sign_in_with_chatgpt_codex_consent:return c("/sign-in-with-chatgpt/codex/consent");case s.enum.sign_in_with_chatgpt_codex_org:return c("/sign-in-with-chatgpt/codex/organization");case s.enum.sso:return c("/sso");case s.enum.workspace:return c("/workspace");case s.enum.token_exchange:throw new Error(`no web mapping for pageType: ${r.type}`);case s.enum.__test__:return r.payload.path;default:G(r)}}function ts(r,t){const e=xe(r),a=new URL(t.url),i=new URL(e,a.origin);return i.origin!==a.origin||i.pathname.startsWith("/api/")?Y(e):K(e)}export{as as n,ts as r};
//# sourceMappingURL=redirectToPage-QVIYfPch.js.map