PageSourceSearch

https://v30.ai/_next/static/chunks/81350-1ba4b12d83ab09e7.js

js v30.ai collected 2026-10-05 13:12:35 UTC 7,099 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[81350],{9726:(e,r,t)=>{t.d(r,{A:()=>c,O:()=>l});var s=t(95155),i=t(12115),n=t(73321),o=t(51986);let a=(0,i.createContext)({user:null,session:null,isLoading:!0,isAuthenticated:!1,signInWithGoogle:async()=>{},signUp:async()=>({error:null}),signIn:async()=>({error:null}),resetPassword:async()=>({error:null}),logout:async()=>{}});function u(e,r){return e?{message:e.message||r}:null}function l({children:e}){let{userId:r,sessionId:t,isLoaded:c,isSignedIn:d,signOut:p}=(0,o.As)(),{user:f,isLoaded:b}=(0,o.Jd)(),{signIn:m}=(0,o.go)(),{signUp:g}=(0,o.yC)(),h=(0,n.useRouter)(),[S,w]=(0,i.useState)(!0),_=f?{id:f.id,email:f.primaryEmailAddress?.emailAddress||"",user_metadata:{full_name:f.fullName,avatar_url:f.imageUrl},aud:"authenticated",role:"authenticated",email_confirmed_at:f.primaryEmailAddress?.verification?.verifiedAtClient||null,created_at:f.createdAt?new Date(f.createdAt).toISOString():"",updated_at:f.updatedAt?new Date(f.updatedAt).toISOString():""}:null,v=r&&t?{user:_,access_token:"clerk_session",token_type:"bearer",expires_in:3600,expires_at:Math.floor(Date.now()/1e3)+3600,refresh_token:"clerk_refresh"}:null;(0,i.useEffect)(()=>{w(!c||!b)},[c,b]);let y=async()=>{try{if(!m)throw Error("Sign in not available");let{error:e}=await m.sso({strategy:"oauth_google",redirectUrl:"/",redirectCallbackUrl:"/auth/sso-callback"});if(e)throw Error(e.message)}catch(e){throw console.error("Google sign-in error:",e),e}},A=async(e,r)=>{try{if(!g)return{error:{message:"Sign up not available"}};let{error:t}=await g.password({emailAddress:e,password:r}),s=u(t,"Failed to sign up");if(s)return{error:s};let{error:i}=await g.verifications.sendEmailCode(),n=u(i,"Failed to send verification code");if(n)return{error:n};return h.push("/sign-up/verify-email"),{error:null}}catch(e){return console.error("Sign up error:",e),{error:{message:e.errors?.[0]?.message||"Failed to sign up"}}}},E=async(e,r)=>{try{if(!m)return{error:{message:"Sign in not available"}};let{error:t}=await m.password({identifier:e,password:r}),s=u(t,"Invalid email or password");if(s)return{error:s};if("complete"===m.status){let{error:e}=await m.finalize(),r=u(e,"Failed to complete sign in");if(r)return{error:r};h.push("/")}return{error:null}}catch(e){return console.error("Sign in error:",e),{error:{message:e.errors?.[0]?.message||"Invalid email or password"}}}},k=async e=>{try{if(!m)return{error:{message:"Reset password not available"}};let{error:r}=await m.create({identifier:e}),t=u(r,"Failed to start password reset");if(t)return{error:t};let{error:s}=await m.resetPasswordEmailCode.sendCode(),i=u(s,"Failed to send reset email");if(i)return{error:i};return{error:null}}catch(e){return console.error("Reset password error:",e),{error:{message:e.errors?.[0]?.message||"Failed to send reset email"}}}},I=async()=>{try{await p(),h.push("/")}catch(e){console.error("Logout error:",e),h.push("/")}};return(0,s.jsx)(a.Provider,{value:{user:_,session:v,isLoading:S,isAuthenticated:d||!1,signInWithGoogle:y,signUp:A,signIn:E,resetPassword:k,logout:I},children:e})}let c=()=>{let e=(0,i.useContext)(a);if(!e)throw Error("useAuth must be used within an AuthProvider");return e}},81350:(e,r,t)=>{t.d(r,{h9:()=>u,dW:()=>l,Rs:()=>c});var s=t(95155),i=t(12115),n=t(51986),o=t(73321),a=t(9726);let u=(0,i.createContext)(void 0);function l({children:e}){let{user:r}=(0,a.A)(),{orgId:t}=(0,n.As)(),c=function(e){if(!e)return null;let r=e.match(/^\/agent\/([^/?#]+)/),t=r?.[1]?decodeURIComponent(r[1]):null;return t&&"undefined"!==t?t:null}((0,o.usePathname)()),[d,p]=(0,i.useState)({isSubscribed:!1,subscriptionStatus:"free",subscriptionPeriod:null,plan:"free",subscriptionEndsAt:null}),[f,b]=(0,i.useState)(!0),[m,g]=(0,i.useState)(null),[h,S]=(0,i.useState)(0),[w,_]=(0,i.useState)(null),[v,y]=(0,i.useState)(0),[A,E]=(0,i.useState)(!1),k=(0,i.useRef)(void 0),I=(0,i.useRef)(!1),C=(0,i.useRef)(null),P=(0,i.useRef)(!1);(0,i.useEffect)(()=>{{let e=new URL(window.location.href);if(e.pathname.includes("/payment/success")||e.pathname.includes("/content-plan/payment/success")){I.current=!0;let r=e.searchParams.get("session_id");r&&(localStorage.setItem("checkout_session_id",r),localStorage.setItem("checkout_success_time",Date.now().toString()))}}},[]),(0,i.useEffect)(()=>{void 0!==r&&E(!0)},[void 0!==r]);let x=async e=>{if(!r?.id)return void(A&&!I.current?(p({isSubscribed:!1,subscriptionStatus:"free",subscriptionPeriod:null,plan:"free",subscriptionEndsAt:null}),b(!1),g(null)):b(!0));if(P.current)return;let t=Date.now();if(e||!f||!(t-v<1e4)){P.current=!0,b(!0),y(t),g(null);
1try{console.log("[SubscriptionContext] Fetching Clerk subscription status for user:",r.id);let t=function(e={}){let r=new URLSearchParams;e.checkoutSuccess&&(r.set("force_live","true"),r.set("checkout_success","true")),e.projectId&&r.set("projectId",e.projectId);let t=r.toString();return t?`/api/billing/entitlement?${t}`:"/api/billing/entitlement"}({checkoutSuccess:e,projectId:c}),s=await fetch(t,{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json"},cache:"no-store"});if(!s.ok)throw Error(`Failed to fetch subscription status: ${s.statusText}`);let i=await s.json();console.log("[SubscriptionContext] Received subscription data:",i),p({isSubscribed:i.isSubscribed||!1,subscriptionStatus:i.subscriptionStatus||"free",subscriptionPeriod:i.subscriptionPeriod||null,plan:i.plan||"free",subscriptionEndsAt:i.subscriptionEndsAt?new Date(i.subscriptionEndsAt):null}),_(new Date),S(0)}catch(e){console.error("[SubscriptionContext] Error checking subscription:",e),d.isSubscribed?console.warn("[SubscriptionContext] Preserving isSubscribed=true on transient error"):p({isSubscribed:!1,subscriptionStatus:"free",subscriptionPeriod:null,plan:"free",subscriptionEndsAt:null}),g("Failed to check subscription status")}finally{b(!1),P.current=!1}}},R=async e=>{S(0),await x(e)};return C.current=R,(0,i.useEffect)(()=>{let e=r?.id?`${r.id}:${t||"personal"}:${c||"global"}`:void 0;if(k.current!==e)if(k.current=e,r?.id){let e=localStorage.getItem("checkout_session_id"),r=localStorage.getItem("checkout_success_time");if(e&&r){let e=parseInt(r,10);if(Date.now()-e<3e5){localStorage.removeItem("checkout_session_id"),localStorage.removeItem("checkout_success_time"),C.current&&C.current(!0);return}localStorage.removeItem("checkout_session_id"),localStorage.removeItem("checkout_success_time")}I.current=!1,x()}else A&&!I.current&&(console.log("No user ID after auth initialization, resetting subscription data to free tier"),p({isSubscribed:!1,subscriptionStatus:"free",subscriptionPeriod:null,plan:"free",subscriptionEndsAt:null}),b(!1),g(null))},[r?.id,t,c,A]),(0,s.jsx)(u.Provider,{value:{isSubscribed:d.isSubscribed,subscriptionStatus:d.subscriptionStatus,subscriptionPeriod:d.subscriptionPeriod,plan:d.plan,subscriptionEndsAt:d.subscriptionEndsAt,isLoading:f,error:m,refreshSubscription:R,lastRefreshed:w},children:e})}function c(){let e=(0,i.useContext)(u);if(void 0===e)throw Error("useSubscription must be used within a SubscriptionProvider");return e}}}]);

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.