1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,48148,e=>{"use strict";var t=e.i(61745);function r(e,t){return(...e)=>{try{return t(...e)}catch{throw Error(void 0)}}}let n=r(0,t.useTranslations);r(0,t.useFormatter),e.s(["useTranslations",()=>n])},75679,e=>{"use strict";function t(e,r={}){let n;"function"==typeof(n=window).gtag?n.gtag("event",e,r):(n.dataLayer=n.dataLayer??[],n.dataLayer.push(["event",e,r]))}function r(){t("lp_hero_input_submit")}function n(){t("lp_auth_btn_click")}function a(){t("auth_register_complete")}function o(){t("auth_login_complete")}function s(){t("onboarding_team_generated")}function i(){t("onboarding_partner_ready")}function l(e){t("onboarding_preselected_agent",{template_name:e.templateName})}function c(e){t("onboarding_preselected_skill",{template_name:e.templateName})}function u(e){t("store_card_click",{store_type:e.storeType,card_name:e.cardName})}function d(e){t("agent_view",{agent_id:e.agentId})}function g(){t("message_sent")}function m(e){t("agent_instantiated",{agent_id:e.agentId})}function p(e){t("agent_deleted",{agent_id:e.agentId})}function h(){t("credits_low_modal_view")}function f(){t("credits_modal_open")}function x(e){t("credits_package_select",{package_name:e.packageName})}function k(e){t("purchase",{transaction_id:e.transactionId,value:e.value,currency:e.currency,items:[{item_id:e.packageName,item_name:e.packageName,price:e.value,quantity:1}]})}function b(e){t("scroll_depth",{percent:e.percent})}e.s(["trackAgentDeleted",()=>p,"trackAgentInstantiated",()=>m,"trackAgentView",()=>d,"trackAuthLoginComplete",()=>o,"trackAuthRegisterComplete",()=>a,"trackCreditsLowModalView",()=>h,"trackCreditsModalOpen",()=>f,"trackCreditsPackageSelect",()=>x,"trackCreditsPurchaseComplete",()=>k,"trackLpAuthBtnClick",()=>n,"trackLpHeroInputSubmit",()=>r,"trackMessageSent",()=>g,"trackOnboardingPartnerReady",()=>i,"trackOnboardingPreselectedAgent",()=>l,"trackOnboardingPreselectedSkill",()=>c,"trackOnboardingTeamGenerated",()=>s,"trackScrollDepth",()=>b,"trackStoreCardClick",()=>u])},86909,e=>{"use strict";let t="accessToken",r="refreshToken",n="accessTokenExpiresAt",a="authStatus",o=()=>({accessToken:localStorage.getItem(t)||"",refreshToken:localStorage.getItem(r)||"",accessTokenExpiresAt:Number(localStorage.getItem(n)||0),status:Number(localStorage.getItem(a)||0)}),s=e=>{if(e.accessToken&&localStorage.setItem(t,e.accessToken),e.refreshToken&&localStorage.setItem(r,e.refreshToken),"number"==typeof e.expiresIn){let t=Date.now()+1e3*e.expiresIn;localStorage.setItem(n,String(t))}"number"==typeof e.status&&localStorage.setItem(a,String(e.status))},i=()=>{localStorage.removeItem(t),localStorage.removeItem(r),localStorage.removeItem(n),localStorage.removeItem(a),localStorage.removeItem("onboardingResult"),localStorage.removeItem("onboardingDescription")},l=e=>!e||Date.now()+3e4>=e,c=null,u=()=>c||(c=(async()=>{let e=o();if(!e?.refreshToken)return{ok:!1,reason:"missing_refresh_token"};try{let t=await fetch("/api/proxy/v1/auth/refresh",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e.refreshToken})});if(!t.ok){if(401===t.status)return i(),{ok:!1,reason:"refresh_unauthorized"};return{ok:!1,reason:"refresh_failed"}}let r=await t.json();return s(r),{ok:!0}}catch{return{ok:!1,reason:"network_error"}}})().finally(()=>{c=null})),d=!1;function g(){d||(d=!0,i(),window.location.href="/login")}function m(e){return!e.ok&&"network_error"!==e.reason&&"missing_base_url"!==e.reason}let p=async(e,t)=>{let r=o();if(r?.accessTokenExpiresAt&&l(r.accessTokenExpiresAt)){let e=await u();if(!e.ok)return m(e)&&g(),new Response(null,{status:401,statusText:"Unauthorized"})}let n=o(),a=new Headers(t?.headers);n?.accessToken&&a.set("Authorization",`Bearer ${n.accessToken}`);let s=await fetch(e,{...t,headers:a});if(401!==s.status)return s;let i=await u();if(!i.ok)return m(i)&&g(),s;let c=o(),d=new Headers(t?.headers);return c?.accessToken&&d.set("Authorization",`Bearer ${c.accessToken}`),fetch(e,{...t,headers:d})};e.s(["clearStoredTokens",0,i,"fetchWithAuth",0,p,"getStoredTokens",0,o,"isAccessTokenExpired",0,l,"refreshAccessToken",0,u,"setStoredTokens",0,s])},75102,e=>{"use strict";e.s(["PRIVACY_POLICY_URL",0,"/privacy","TERMS_OF_SERVICE_URL",0,"/terms"])},18775,e=>{"use strict";e.s(["decodeGoogleRedirectState",0,e=>{if(!e)return null;try{return JSON.parse(decodeURIComponent(e))}catch{return null}},"encodeGoogleRedirectState",0,e=>encodeURIComponent(JSON.stringify(e)),"getGoogleRedirectErrorMessage",0,e=>{switch(e){case"google_invite_required":return"Please provide a valid invite code or use an allowed email.";case"google_login_invite_required":return"New users must sign up with an invite code or allowed email first.";case"google_register_conflict":return"This email is already registered. Please log in instead.";case"google_register_failed":return"Registration failed. Please try again.";case"google_redirect_context_missing":return"Google sign-in context expired. Please try again.";case"google_login_failed":return"Google sign-in failed. Please try again.";default:return null}}])},93936,e=>{"use strict";var t=e.i(71645);let r=(0,t.createContext)(null);function n({clientId:e,nonce:n,locale:a,onScriptLoadSuccess:o,onScriptLoadError:s,children:i}){let l=function(e={}){let{nonce:r,locale:n,onScriptLoadSuccess:a,onScriptLoadError:o}=e,[s,i]=(0,t.useState)(!1),l=(0,t.useRef)(a);l.current=a;let c=(0,t.useRef)(o);return c.current=o,(0,t.useEffect)(()=>{let e=document.createElement("script");return e.src="https://accounts.google.com/gsi/client",n&&(e.src+=`?hl=${n}`),e.async=!0,e.defer=!0,e.nonce=r,e.onload=()=>{var e;i(!0),null==(e=l.current)||e.call(l)},e.onerror=()=>{var e;i(!1),null==(e=c.current)||e.call(c)},document.body.appendChild(e),()=>{document.body.removeChild(e)}},[r]),s}({nonce:n,onScriptLoadSuccess:o,onScriptLoadError:s,locale:a}),c=(0,t.useMemo)(()=>({locale:a,clientId:e,scriptLoadedSuccessfully:l}),[e,l]);return t.default.createElement(r.Provider,{value:c},i)}function a({flow:e="implicit",scope:n="",onSuccess:a,onError:o,onNonOAuthError:s,overrideScope:i,state:l,...c}){let{clientId:u,scriptLoadedSuccessfully:d}=function(){let e=(0,t.useContext)(r);if(!e)throw Error("Google OAuth components must be used within GoogleOAuthProvider");return e}(),g=(0,t.useRef)(),m=(0,t.useRef)(a);m.current=a;let p=(0,t.useRef)(o);p.current=o;let h=(0,t.useRef)(s);h.current=s,(0,t.useEffect)(()=>{var t,r;if(!d)return;let a="implicit"===e?"initTokenClient":"initCodeClient";g.current=null==(r=null==(t=null==window?void 0:window.google)?void 0:t.accounts)?void 0:r.oauth2[a]({client_id:u,scope:i?n:`openid profile email ${n}`,callback:e=>{var t,r;if(e.error)return null==(t=p.current)?void 0:t.call(p,e);null==(r=m.current)||r.call(m,e)},error_callback:e=>{var t;null==(t=h.current)||t.call(h,e)},state:l,...c})},[u,d,e,n,l]);let f=(0,t.useCallback)(e=>{var t;return null==(t=g.current)?void 0:t.requestAccessToken(e)},[]),x=(0,t.useCallback)(()=>{var e;return null==(e=g.current)?void 0:e.requestCode()},[]);return"implicit"===e?f:x}e.s(["GoogleOAuthProvider",()=>n,"useGoogleLogin",()=>a])},53676,e=>{"use strict";var t=e.i(18050),r=e.i(932),n=e.i(93936);function a(e){let a,o=(0,r.c)(2),{children:s}=e;return o[0]!==s?(a=(0,t.jsx)(n.GoogleOAuthProvider,{clientId:"721569364259-6ssrgl6cme4igodg1loevsmpb8ph5k4k.apps.googleusercontent.com",children:s}),o[0]=s,o[1]=a):a=o[1],a}e.s(["GoogleOAuthLazy",()=>a])},75707,e=>{"use strict";var t=e.i(18050),r=e.i(75679),n=e.i(86909),a=e.i(18775),o=e.i(75102),s=e.i(93936),i=e.i(48148),l=e.i(20133),c=e.i(18566),u=e.i(71645);function d(){let e=(0,i.useTranslations)("auth"),d=(0,l.useRouter)(),g=(0,c.useSearchParams)(),[m,p]=(0,u.useState)(""),[h,f]=(0,u.useState)(""),[x,k]=(0,u.useState)(!1),[b,_]=(0,u.useState)(""),v=(0,a.getGoogleRedirectErrorMessage)(g.get("error"))??b,w=(0,u.useMemo)(()=>m.trim().length>0&&h.length>=8,[m,h]),y=async e=>{(0,n.setStoredTokens)(e),(0,r.trackAuthLoginComplete)(),0===Number(e.status??0)?d.push("/workspace"):d.push("/client-home")},j=(0,s.useGoogleLogin)({flow:"auth-code",ux_mode:"redirect",redirect_uri:`${window.location.origin}/auth/google/callback`,state:(0,a.encodeGoogleRedirectState)({source:"login"})}),S=async()=>
1{if(w&&!x){k(!0),_("");try{let t=await fetch("/api/proxy/v1/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:m.trim(),password:h})});if(!t.ok){let r=await t.json().catch(()=>({}));_(r.message||e("loginFailed"));return}let r=await t.json();await y(r)}catch{_(e("networkError"))}finally{k(!1)}}};return(0,t.jsx)("div",{className:"min-h-screen bg-[#faf6ef]",children:(0,t.jsx)("main",{className:"flex min-h-screen items-center justify-center px-4 py-10",children:(0,t.jsxs)("section",{className:"font-inter w-full max-w-[540px] rounded-[16px] border border-[#e6dfd2] bg-white/85 p-10 text-center text-black/85 shadow-[0_16px_40px_rgba(0,0,0,0.06)]",children:[(0,t.jsx)("div",{className:"mx-auto mb-6 flex h-[68px] w-[68px] items-center justify-center",children:(0,t.jsx)("img",{src:"/icons/auth/create-account.svg",alt:e("login"),className:"h-full w-full object-contain"})}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("h1",{className:"text-[24px] font-semibold text-black/85",children:e("login")}),(0,t.jsx)("p",{className:"text-[16px] text-black/65",children:e("loginSubtitle")})]}),(0,t.jsxs)("div",{className:"mt-7 space-y-7 text-left",children:[(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>j(),disabled:x,className:"flex h-[50px] w-full items-center justify-center gap-3 rounded-[10px] border border-[#d1d5dc] bg-white px-4 py-3 text-[14px] font-semibold text-[#121212] transition-colors hover:bg-black/2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-60",children:[(0,t.jsx)("span",{className:"flex h-5 w-5 items-center justify-center",children:(0,t.jsx)("img",{src:"/icons/auth/google.svg",alt:"Google",className:"h-5 w-5 object-contain"})}),(0,t.jsx)("span",{children:e("continueWithGoogle")})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between text-center text-[16px] text-black/45",children:[(0,t.jsx)("div",{className:"h-px w-[205px] bg-[rgba(0,0,0,0.25)]"}),(0,t.jsx)("span",{children:e("or")}),(0,t.jsx)("div",{className:"h-px w-[205px] bg-[rgba(0,0,0,0.25)]"})]}),(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-[14px] font-medium text-black/85",htmlFor:"login-email",children:e("email")}),(0,t.jsx)("input",{id:"login-email",type:"email",placeholder:e("emailPlaceholder"),value:m,onChange:e=>p(e.target.value),className:"h-[50px] w-full rounded-[10px] border border-[#d1d5dc] px-4 text-[16px] text-black/85 outline-none placeholder:text-black/45 focus:border-black/40"})]}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("label",{className:"block text-[14px] font-medium text-black/85",htmlFor:"login-password",children:e("password")}),(0,t.jsx)("input",{id:"login-password",type:"password",placeholder:e("passwordPlaceholder"),value:h,onChange:e=>f(e.target.value),className:"h-[50px] w-full rounded-[10px] border border-[#d1d5dc] px-4 text-[16px] text-black/85 outline-none placeholder:text-black/45 focus:border-black/40"})]})]})]}),(0,t.jsx)("button",{type:"button",onClick:S,disabled:!w||x,className:"mt-1 h-[54px] w-full rounded-[10px] bg-[#111827] text-[18px] font-semibold text-white transition-opacity disabled:cursor-not-allowed disabled:bg-[#f6f8fb] disabled:text-[#d0d5dd]",children:x?e("signingIn"):e("continue")}),v&&(0,t.jsx)("div",{className:"text-center text-[13px] text-[#b42318]",children:(0,t.jsx)("p",{children:v})})]}),(0,t.jsxs)("div",{className:"mt-6 space-y-3 text-center text-black/65",children:[(0,t.jsxs)("p",{className:"font-inter text-[14px] text-[rgba(0,0,0,0.65)]",children:[e("noAccount")," ",(0,t.jsx)(l.Link,{href:"/register",className:"text-[rgba(0,0,0,0.85)] font-medium",children:e("signUp")})]}),(0,t.jsxs)("p",{className:"text-[12px] text-black/45",children:[e("termsPrefix")," ",(0,t.jsx)(l.Link,{href:o.TERMS_OF_SERVICE_URL,className:"text-black/65 underline underline-offset-2",children:e("termsLink")})," ",e("termsConnector")," ",(0,t.jsx)(l.Link,{href:o.PRIVACY_POLICY_URL,className:"text-black/65 underline underline-offset-2",children:e("privacyLink")}),"."]})]})]})})})}e.s(["LoginLayout",()=>d])}]);
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.