1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/UserLayout-8He9fVFd.js","assets/module-assistant-RqHiANvP.js","assets/vendor-vue-hKycQSb4.js","assets/vendor-Bm5nooRD.js","assets/vendor-DjpZ9fYx.css","assets/vendor-axios-B_zfNCMU.js","assets/module-assistant-B78ZcFO-.css","assets/UserLayout-fK4_Kzed.css","assets/ContentPage-DNJhIkPX.js","assets/ContentPage-BKxUP5A1.css","assets/CompanyPage-C4uE1SDJ.js","assets/SupportPage-nWgKvRkk.js","assets/BlogContent-D604DTKp.js","assets/BlogContent-FG0E6wp2.css","assets/module-support-C1rgCio_.js","assets/module-support-B7lff7GB.css","assets/Profile-CTTm3Igz.js","assets/store-DSe7-Cza.js","assets/Profile-_d6wJPdN.css","assets/module-pdf-YCY9tymW.js","assets/vendor-pdf-DQf5TIaH.js","assets/vendor-pdf-C6rGUbUF.css","assets/vendor-html2canvas-C3fx88d4.js","assets/module-pdf-BpwKgjyp.css","assets/module-social-Ag0vUBdu.js","assets/module-social-BDGFjDSO.css","assets/UpgradePlans-Dx865Kkm.js","assets/UpgradePlans-m9KkSZo3.css","assets/UpgradeModal-GsLlHCRQ.css","assets/Login-CunfYfJA.js","assets/Login-Cc7kUcoy.css","assets/NotFound-B3P-3gTO.js"])))=>i.map(i=>d[i]); 2import{a as y}from"./vendor-axios-B_zfNCMU.js";import{s as H}from"./store-DSe7-Cza.js";import{a as i}from"./module-assistant-RqHiANvP.js";import{dC as we,dD as Ee,ci as Pe,bv as c,b8 as he}from"./vendor-vue-hKycQSb4.js";const Ve=async()=>{const e=document.querySelector("meta[name='app-version']");if(!e)return;let t="",r="";try{r=JSON.parse(e.content).version}catch{return}try{return t=(await(await fetch("/version.json",{cache:"no-store"})).json()).version,!!(r&&r!==t)}catch{return!1}},D=y.create({baseURL:"/api"});D.interceptors.request.use(e=>{var r,s;const t=H.getters["Login/getToken"];if(t){let a=null;H.getters["Login/getAuth"]&&((r=H.getters["Login/getAuth"])!=null&&r.id)&&(a=(s=H.getters["Login/getAuth"])==null?void 0:s.id),e.headers.Authorization=`Bearer ${t}`,a&&(e.headers["X-User-ID"]=a)}return e},e=>Promise.reject(e));var le;(le=window.config)!=null&&le.adminPrefix;const $={userDataLoaded:!1,lastUserId:null,plansLoaded:!1,marketplacesLoaded:!1},ve=[{path:"/landing",component:c(()=>i(()=>import("./UserLayout-8He9fVFd.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),meta:{requiresAuth:!1},children:[{path:"content/:type",name:"Content",component:c(()=>i(()=>import("./ContentPage-DNJhIkPX.js"),__vite__mapDeps([8,1,2,3,4,5,6,9])))},{path:"company/:type",name:"Company",component:c(()=>i(()=>import("./CompanyPage-C4uE1SDJ.js"),__vite__mapDeps([10,1,2,3,4,5,6])))},{path:"support/:type",name:"Support",component:c(()=>i(()=>import("./SupportPage-nWgKvRkk.js"),__vite__mapDeps([11,2,3,4,1,5,6])))},{path:"blog/:id",name:"BlogsDetails",component:c(()=>i(()=>import("./BlogContent-D604DTKp.js"),__vite__mapDeps([12,1,2,3,4,5,6,13])))}]},{path:"/support-gpt-public/:uuid",name:"SupportGptSharedPage",component:c(()=>i(()=>import("./module-support-C1rgCio_.js").then(e=>e.C),__vite__mapDeps([14,1,2,3,4,5,6,15]))),meta:{requiresAuth:!1,layout:"empty"}},{path:"/user",component:c(()=>i(()=>import("./UserLayout-8He9fVFd.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]))),children:[{path:"dashboard",redirect:"/"},{path:"account",name:"Account",component:c(()=>i(()=>import("./Profile-CTTm3Igz.js"),__vite__mapDeps([16,1,2,3,4,5,6,17,18])))},{path:"cv-ia",name:"CVIA",component:c(()=>i(()=>import("./module-assistant-RqHiANvP.js").then(e=>e.I),__vite__mapDeps([1,2,3,4,5,6])))},{path:"pdf-chat",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.P),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23]))),children:[{path:"",name:"PDFChat",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.I),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"view/:id",name:"pdf-chat-view",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.a),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23]))),props:!0},{path:"multi-chat",name:"pdf-multi-chat",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.b),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/pdf-to-excel",name:"PdfToExcel",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.c),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/excel-to-pdf",name:"ExcelToPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.E),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/word-to-pdf",name:"WordToPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.W),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/pdf-to-word",name:"PdfToWord",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.d),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/pdf-to-powerpoint",name:"PdfToPowerpoint",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.e),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/powerpoint-to-pdf",name:"PowerpointToPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.f),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/pdf-to-image",name:"PdfToImage",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.g),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/image-to-pdf",name:"ImageToPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.h),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/merge-pdf",name:"MergePdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.M),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/split-pdf",name:"SplitPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.S),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/compress-pdf",name:"CompressPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.C),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/edit-pdf",name:"EditPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.i),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/protect-pdf",name:"ProtectPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.j),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/sign-pdf",name:"SignPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.k),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/rotate-pdf",name:"RotatePdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.R),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/add-page-numbers",name:"AddPageNumbers",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.A),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/watermark-pdf",name:"WatermarkPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.l),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/unlock-pdf",name:"UnlockPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.U),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/ocr-pdf",name:"OcrPdf",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.O),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))},{path:"tools/extract-pages",name:"ExtractPages",component:c(()=>i(()=>import("./module-pdf-YCY9tymW.js").then(e=>e.m),__vite__mapDeps([19,2,3,4,1,5,6,20,21,22,23])))}]},{path:"social-planner",component:c(()=>i(()=>import("./module-social-Ag0vUBdu.js").then(e=>e.S),__vite__mapDeps([24,1,2,3,4,5,6,20,21,25]))),children:[{path:"",name:"SocialPlanner",component:c(()=>i(()=>import("./module-social-Ag0vUBdu.js").then(e=>e.I),__vite__mapDeps([24,1,2,3,4,5,6,20,21,25])))},{path:"details/:id",name:"SocialPlannerDetails",component:c(()=>i(()=>import("./module-social-Ag0vUBdu.js").then(e=>e.a),__vite__mapDeps([24,1,2,3,4,5,6,20,21,25]))),props:!0},{path:"post/:id",name:"SocialPlannerPostDetails",component:c(()=>i(()=>import("./module-social-Ag0vUBdu.js").then(e=>e.P),__vite__mapDeps([24,1,2,3,4,5,6,20,21,25]))),props:!0}]},{path:"upgrade",name:"Upgrade",component:c(()=>i(()=>import("./UpgradePlans-Dx865Kkm.js"),__vite__mapDeps([26,1,2,3,4,5,6,27,28])))},{path:"support-chat",name:"SupportChat",component:c(()=>i(()=>import("./module-support-C1rgCio_.js").then(e=>e.S),__vite__mapDeps([14,1,2,3,4,5,6,15])))},{path:"support-chat/:id",name:"support-chat-details",component:c(()=>i(()=>import("./module-support-C1rgCio_.js").then(e=>e.a),__vite__mapDeps([14,1,2,3,4,5,6,15])))},{path:"/support-chat/create",name:"support-chat-create",component:c(()=>i(()=>import("./module-support-C1rgCio_.js").then(e=>e.b),__vite__mapDeps([14,1,2,3,4,5,6,15]))),meta:{requiresAuth:!0}}]},{path:"/auth",name:"Login",component:c(()=>i(()=>import("./Login-CunfYfJA.js"),__vite__mapDeps([29,1,2,3,4,5,6,17,30])))},{path:"/:pathMatch(.*)*",name:"NotFound",component:c(()=>i(()=>import("./NotFound-B3P-3gTO.js"),__vite__mapDeps([31,1,2,3,4,5,6]))),meta:{requiresAuth:!1,layout:"empty"}}],K=we({history:Ee(),routes:ve});Pe({fullPath:null,name:null});K.beforeEach(async(e,t,r)=>{var h,f,m,w,b,G,N,d,I,W,z,Z,ee,te,re,se;const s=he(),a=s.getters["Login/isAuthenticated"],o=!!localStorage.getItem("user_token");a&&!o&&s.commit("Login/clearAuth");const n=s.getters["Login/getAuth"],u=n==null?void 0:n.id,p=s.getters["Login/isAuthenticated"],L=(n==null?void 0:n.guest)??!1,P=(h=e.name)==null?void 0:h.toLowerCase().includes("admin"),S=e.path.startsWith("/user");if(e.path.startsWith("/user/social-planner")&&!p&&!o){try{localStorage.setItem("redirectAfterLogin",e.fullPath)}catch{}window.location.href="/auth?source=landing-social";return}const v=e.query.source;let l=v?{"landing-pdf":"pdf","landing-cv":"cv","landing-social":"social","landing-support":"support"}[v]:null;if(p&&u){(!$.userDataLoaded||$.lastUserId!==u)&&(await Promise.all([s.dispatch("layout/handleUser",u),s.dispatch("layout/fetchModuleSubscriptions",u)]),$.userDataLoaded=!0,$.lastUserId=u);let j=((f=s.getters["layout/getUserPlan"])==null?void 0:f.plan_type)||"";const ke=s.getters.getActiveModules||[];let Q=s.getters["Plans/allPlans"]||[];Q.length===0&&!$.plansLoaded&&(await s.dispatch("Plans/fetchPlans"),Q=s.getters["Plans/allPlans"]||[],$.plansLoaded=!0);const T=s.getters["layout/getUserPlan"],oe=((b=(w=(m=T==null?void 0:T.name)==null?void 0:m.en)==null?void 0:w.toLowerCase)==null?void 0:b.call(w))||((d=(N=(G=T==null?void 0:T.name)==null?void 0:G.fr)==null?void 0:N.toLowerCase)==null?void 0:d.call(N))||"",ae=!T||oe.includes("free"),_e=T&&!oe.includes("free")&&T.id,ne=s.getters["layout/getPaidSubscriptions"],ye=ne&&ne.length>0;if(e.path==="/"&&ae&&(T!=null&&T.id)&&!ye)return await y.post("/api/update-plan-type",{user_id:u,plan_id:null}),await Promise.all([s.dispatch("layout/handleUser",u),s.dispatch("fetchUserModules")]),window.dispatchEvent(new CustomEvent("plan:updated",{detail:{planId:null}})),r();if(!l&&j==="combo"&&(l="combo"),l){const J=(I=s.getters["layout/getUserPlan"])==null?void 0:I.id,O=s.getters["layout/getUserPlan"].name.en;if((Z=(z=(W=O==null?void 0:O.name)==null?void 0:W.en)==null?void 0:z.toLowerCase)==null?void 0:Z.call(z).includes("free")){const k=Q.find(C=>{var M,F,_;return C.plan_type===l&&((_=(F=(M=C.name)==null?void 0:M.en)==null?void 0:F.toLowerCase)==null?void 0:_.call(F).includes("free"))});if(k&&k.id!==J){await y.post("/api/update-plan-type",{user_id:u,plan_id:k.id}),await s.dispatch("layout/handleUser",u),j=((ee=s.getters["layout/getUserPlan"])==null?void 0:ee.plan_type)||"",window.location.href="/";return}}if(v)return r({path:e.path,query:{}})}if(P)return r();if(S){if(e.path==="/user/upgrade")return r();$.marketplacesLoaded||s.dispatch("fetchMarketplaces").then(()=>{$.marketplacesLoaded=!0});const O=j?{pdf:["pdf"],cv:["cv"],social:["social"],support:["support"],combo:["pdf","rédaction","social","support"],chatai:["pdf","social","support","cv"]}[j]||[]:["pdf","social","support","cv","rédaction"];if(L){if(["/user/pdf-chat","/user/upgrade","/user/account"].includes(e.path))return r();if(e.path.startsWith("/user/social-planner")){try{localStorage.setItem("redirectAfterLogin",e.fullPath)}catch{}window.location.href="/auth?source=landing-social";return}window.location.href="/";return}const V=[{name:"CVIA",id:5,planType:"cv"},{name:"Support",id:1,planType:"support"},{name:"SupportChat",id:1,planType:"support"},{name:"SocialPlanner",id:2,planType:"social"},{name:"pdf-chat-view",id:8,planType:"pdf"},{name:"PDFChat",id:8,planType:"pdf"}].find(k=>k.name===e.name);if(V){const k=s.getters["layout/hasPaidSubscriptionForModule"](V.planType);if(_e||k)return r();if((!j||j==="chatai"||j===""||ae)&&V.planType){const _=Q.find(g=>{var E,A,R,B,X,ie;return g.plan_type===V.planType&&(((R=(A=(E=g.name)==null?void 0:E.en)==null?void 0:A.toLowerCase)==null?void 0:R.call(A).includes("free"))||((ie=(X=(B=g.name)==null?void 0:B.fr)==null?void 0:X.toLowerCase)==null?void 0:ie.call(X).includes("free")))});if(_)return await y.post("/api/update-plan-type",{user_id:u,plan_id:_.id}),await Promise.all([s.dispatch("layout/handleUser",u),s.dispatch("fetchUserModules")]),window.dispatchEvent(new CustomEvent("plan:updated",{detail:{planId:_.id}})),r()}s.getters.isModuleActive(V.id);const M=V.name.toLowerCase();if(!O.some(_=>M.includes(_)))return r("/user/upgrade?tab=combo")}return r()}if(e.name==="Login"&&!(n!=null&&n.guest)){const J=e.query.plan,O=e.query.source;if(O){const V={"landing-pdf":"pdf","landing-social":"social"},k={pdf:"/user/pdf-chat",social:"/user/social-planner"},C=V[O],M=k[C]||"/",F=(J||"free").toLowerCase();if(C){if(F==="free")return r({path:M,query:{}});try{const _=await s.dispatch("layout/fetchSubscriptionForModule",{userId:u,moduleType:C,forceRefresh:!0});if(_!=null&&_.has_paid_subscription){const g=((se=(re=(te=_==null?void 0:_.subscription)==null?void 0:te.plan)==null?void 0:re.name)==null?void 0:se.en)||"Premium";return sessionStorage.setItem("loginNotification",JSON.stringify({type:"success",translationKey:"alreadyHavePaidPlan",params:{plan:g}})),r({path:M,query:{}})}if(F==="starter"){const g=(s.getters["Plans/allPlans"]||[]).filter(E=>{var A,R,B;return E.plan_type===C&&!(((B=(R=(A=E.name)==null?void 0:A.en)==null?void 0:R.toLowerCase)==null?void 0:B.call(R))||"").includes("free")}).sort((E,A)=>(E.price||0)-(A.price||0))[0];if(g!=null&&g.stripe_price_id){const E=new URLSearchParams({price_id:g.stripe_price_id,plan_id:g.id,user_id:u,email:n.email,trial:"true",source:O});window.location.href=`/api/stripe/checkout?${E.toString()}`;return}}else if(["pro","premium"].includes(F)){const g=(s.getters["Plans/allPlans"]||[]).find(E=>{var A,R,B;return E.plan_type===C&&((B=(R=(A=E.name)==null?void 0:A.en)==null?void 0:R.toLowerCase)==null?void 0:B.call(R).includes(F))});if(g!=null&&g.stripe_price_id){const E=new URLSearchParams({price_id:g.stripe_price_id,plan_id:g.id,user_id:u,email:n.email,source:O});window.location.href=`/api/stripe/checkout?${E.toString()}`;return}}return r({path:M,query:{}})}catch{return r({path:M,query:{}})}}}window.location.href="/";return}}return r()});K.afterEach(e=>{he().dispatch("layout/stopPageLoading"),e.path.startsWith("/user/pdf-chat")?localStorage.setItem("lastModule","pdf"):e.path.startsWith("/user/social-planner")&&localStorage.setItem("lastModule","social")});const ge=y.create({baseURL:"/api"});ge.interceptors.request.use(e=>{const t=H.getters.getAdminToken;return t&&(e.headers.Authorization=`Bearer ${t}`),e},e=>Promise.reject(e));ge.interceptors.response.use(e=>e,e=>(e.response&&e.response.status===401&&K.push({name:"AdminLogin"}),Promise.reject(e)));const Te=localStorage.getItem("user_token");var pe,de,me;const Ae=(me=(de=(pe=JSON.parse(localStorage.getItem("glamzn")))==null?void 0:pe.Login)==null?void 0:de.auth)==null?void 0:me.id;y.defaults.headers.common.Authorization=`Bearer ${Te}`;y.defaults.headers.common["X-User-ID"]=Ae;
2const Me=async e=>{try{const t=await y.post("/api/check-plan/user/limits",e,{headers:{"Content-Type":"multipart/form-data"}});if(t.status===200||t.status===403)return{success:!0,...t.data};throw new Error(t.data.message||"Request failed")}catch(t){return(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}})),t.response&&t.response.status===403?{success:!0,...t.response.data}:{success:!1,message:t.message}}},Ue=async e=>{try{const t=await fetch("/api/check-plan/guest-user/limits",{method:"POST",body:e}),r=await t.json();return t.ok||t.status===403?{success:!0,...r}:{success:!1,message:r.message||"Request failed"}}catch(t){return{success:!1,message:t.message||"An unexpected error occurred"}}},Be=async e=>{try{return(await y.post("/api/check-plan/user/activity",e)).data}catch(t){return(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}})),{success:!1,message:t.message}}},$e=async e=>{try{return(await fetch("/api/check-plan/guest-user/activity",{method:"POST",body:e})).data}catch(t){return{success:!1,message:t.message}}},xe=async e=>{try{return(await y.post("/api/check-plan/details",{user_id:e})).data}catch(t){return(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}})),{}}},ce={gpt4o:"https://custom.typingmind.com/assets/models/gpt4o.webp","gpt-4":"https://custom.typingmind.com/assets/models/gpt-4.webp","gpt-3.5":"https://custom.typingmind.com/assets/models/gpt-35.webp",claude:"https://custom.typingmind.com/assets/models/claude.webp",dalle:"https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/Dall-e_2_generated_logo.jpg/640px-Dall-e_2_generated_logo.jpg",midjourney:"https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/Midjourney_Emblem.png/640px-Midjourney_Emblem.png",llama:"https://custom.typingmind.com/assets/models/llama.png",gemini:"https://custom.typingmind.com/assets/models/gemini.png",deepseek:"https://custom.typingmind.com/assets/models/deepseek.png",grok:"https://custom.typingmind.com/assets/models/grok.png",qwen:"https://custom.typingmind.com/assets/models/qwen2.png",perplexity:"https://custom.typingmind.com/assets/models/perplexityai.png",Mistral:"https://custom.typingmind.com/assets/models/mistralai.png",o1:"https://custom.typingmind.com/assets/models/gpt-4.webp","o1-mini":"https://custom.typingmind.com/assets/models/gpt-4.webp","o1-preview":"https://custom.typingmind.com/assets/models/gpt-4.webp",o3:"https://custom.typingmind.com/assets/models/gpt-4.webp","o3-mini":"https://custom.typingmind.com/assets/models/gpt-4.webp","o4-mini":"https://custom.typingmind.com/assets/models/gpt-4.webp"},Re=e=>{try{const t=Object.keys(ce).find(r=>e.toLowerCase().includes(r.toLowerCase()));return t?ce[t]:null}catch{return null}},Ne=async()=>{try{return(await y.get("/api/ai-models")).data.map(r=>{try{return{...r,image_url:Re(r.name)}}catch{return r}})}catch(e){throw e}},We=async()=>{try{return(await y.get("/api/ai-models-trending")).data}catch{}},Ie=async(e,t,r,s,a=null)=>{e.set("model_id",e.get("model"));let o;try{switch(t){case"OpenAI":e.get("images[]")?o=s?await U("chatgpt/queryWithFile",e,r,a):await x("chatgpt/streamless/queryWithFile",e):o=s?await U("chatgpt/query",e,r,a):await x("chatgpt/streamless/query",e,r);break;case"Together":e.get("images[]")?o=s?await U("together/queryWithFile",e,r,a):await x("together/queryWithFile/streamless",e):o=s?await U("together/query",e,r,a):await x("together/query/streamless",e,r);break;case"AIML":o=await Se(e);break;case"Llama":o=await Le(e);break;case"Anthropic":e.get("images[]")?o=s?await U("anthropic/queryWithFile",e,r,a):await x("anthropic/queryWithFile/streamless",e):o=s?await U("anthropic/query",e,r,a):await x("anthropic/query/streamless",e,r);break;case"OpenRouter":e.get("images[]")?o=s?await U("openrouter/queryWithFile",e,r,a):await x("openrouter/queryWithFile/streamless",e):o=s?await U("openrouter/query",e,r,a):await x("openrouter/query/streamless",e,r);break;default:o=await U("openrouter/query",e,r,a);break}return o}catch(n){throw n}},ze=async(e,t,r,s,a=null)=>{var q,l;let o=null,n=!1,u=t.provider;const p=e.get("user_data");let{request_name:L}=t;const P=Date.now();let S;const v={user_id:e.get("user_id"),model_id:e.get("model_list_id")};do try{if(s!=null&&s.aborted)return{success:!1,message:"Requête interrompu",error:{type:"query_cancel",details:"Request was cancelled"}};if(o=await Ie(e,u,s,t.can_stream,a),S=Date.now()-P,o.model=t.id,o.can_stream=t.can_stream,o.success){if(p){const h={...v,response_time:S,input_tokens:Math.max(0,parseInt(o.input_tokens)||0),output_tokens:Math.max(0,parseInt(o.output_tokens)||0),total_cost:Math.max(0,parseFloat(((o.input_tokens||0)*(o.model_input_price||0)+(o.output_tokens||0)*(o.model_output_price||0))/1e3)||0),success:!0};await Y(h)}n=!0}else{const h=r.findIndex(m=>m.request_name===L&&m.provider===u);h!==-1&&r.splice(h,1);let f=r.find(m=>m.model_common_name===m.model_common_name)||null;if(f)t=f,L=f.request_name,u=f.provider;else{o={success:!1,message:"Une erreur est survenue"};let m="unknown_error",w="";if(typeof o.error=="string"&&o.error.includes("status code")?(m="http_error",w=o.error):(q=o.error)!=null&&q.type?(m=o.error.type,w=o.error.details||o.message):o.message&&(m="api_error",w=o.message),n=!0,p){const b={...v,response_time:S,input_tokens:0,output_tokens:0,total_cost:0,success:!1,error_type:m,error_details:w};await Y(b)}break}}}catch(h){S=Date.now()-P,n=!0;try{let f="system_error",m=h.message;if(h.response?(f=`http_${h.response.status}_error`,m=((l=h.response.data)==null?void 0:l.message)||h.message):h.request&&(f="network_error",m="La requête n'a pas pu atteindre le serveur"),p){const w={...v,response_time:S,input_tokens:0,output_tokens:0,total_cost:0,success:!1,error_type:f,error_details:m};await Y(w)}}catch{}return{success:!1,message:"Une erreur est survenue lors du traitement de la requête",error:{type:"system_error",details:h.message}}}while(!n);return o},Y=async e=>{await y.post("/api/admin/track-usage",e)},U=async(e,t,r,s)=>{try{const a=await fetch(`/api/ai/${e}`,{method:"POST",headers:{Accept:"text/event-stream"},body:t,signal:r,timeout:12e4});if(!a.ok)throw new Error(`HTTP error! status: ${a.status}`);const o=a.body.getReader(),n=new TextDecoder;let u="";const p={};for(;;){const{done:L,value:P}=await o.read();if(L)break;const v=n.decode(P,{stream:!0}).split(`
3`).filter(Boolean);for(const q of v)if(q.startsWith("data: "))try{const l=JSON.parse(q.slice(6));if(l.error)throw s&&typeof s=="function"&&s(l.message,"error"),new Error(l.message);l.text&&(u+=l.text,s&&typeof s=="function"&&s(u,"text")),l.complete&&(p.input_tokens=l.input_tokens,p.output_tokens=l.output_tokens,p.model_input_price=l.model_input_price,p.model_output_price=l.model_output_price,s&&typeof s=="function"&&s("","complete",l.conversation))}catch(l){return{success:!1,message:(l==null?void 0:l.message)||"Error parsing streaming data"}}}return{success:!0,stream:a.body,...p}}catch(a){return(a==null?void 0:a.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}})),{success:!1,message:(a==null?void 0:a.message)??"An error occurred"}}},x=async(e,t,r)=>{try{const s=await y.post(`/api/ai/${e}`,t,{headers:{"Content-Type":"multipart/form-data"},signal:r});if(!s.data.success||s.status!==200)throw new Error(s.data.message||"Request failed");return s.data}catch(s){return(s==null?void 0:s.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}})),{success:!1,message:(s==null?void 0:s.message)||"An error occurred"}}},Le=async e=>{try{const t=await y.post("/api/ai/llama/query",e,{headers:{"Content-Type":"multipart/form-data"}});if(!t.data.success||t.status!==200)throw new Error(t.data.message||"Request failed");return t.data}catch(t){return{success:!1,message:t.message}}},Se=async e=>{try{const t=await y.post("/api/ai/aiml/query",e,{headers:{"Content-Type":"multipart/form-data"}});if(!t.data.success||t.status!==200)throw new Error(t.data.message||"Request failed");return t.data}catch(t){return{success:!1,message:t.message}}},je=async e=>{try{return(await D.post("/user/conversation/create",{user_id:e})).data}catch(t){return(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}})),{success:!1,message:t.message}}},Ge=async e=>{try{return(await D.get("/user/history/last/"+e)).data}catch(t){(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}));const r={};return r.error(t),r}},He=async(e,t="desc")=>{try{return(await D.get(`/user/${e}/conversations/${t}`)).data}catch(r){if(r.response&&r.response.status===404)return{success:!1,data:[]};(r==null?void 0:r.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}));const s={};return s.error(r),s}},Qe=async(e,t=null,r="desc")=>{try{let s=null;return t?s=`/user/${e}/conversations_paginate/${r}?page=${t}`:s=`/user/${e}/conversations_paginate/${r}`,(await D.get(s)).data}catch(s){if(s.response&&s.response.status===404)return{success:!1,data:[]};(s==null?void 0:s.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}));const a={};return a.error(s),a}},Je=async(e,t)=>{try{return(await D.get(`/user/${e}/conversation/${t}`)).data}catch(r){if(r.response&&r.response.status===404)return{success:!1,data:[]};(r==null?void 0:r.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}));const s={};return s.error(r),s}},Xe=async(e,t)=>{try{return(await D.delete(`/user/conversation/${e}/${t}`)).data}catch(r){(r==null?void 0:r.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}));const s={};return s.error(r),s}},Ye=e=>new Promise((t,r)=>{const s=new FileReader;s.readAsDataURL(e),s.onload=()=>{const a=s.result.toString().replace(/^data:(.*,)?/,""),o=a.padEnd(a.length+(4-a.length%4)%4,"=");t(o)},s.onerror=a=>r(a)}),Ke=e=>{const t=[];for(let r=0;r<e.history.length;r+=2)if(r+1<e.history.length){const s=e.history[r],a=e.history[r+1];if(s.role==="user"&&a.role==="assistant"){let o="",n=[];Array.isArray(s.content)?s.content.forEach(u=>{u.type==="text"?o=u.text:u.type==="image"&&n.push({type:u.source.type,media_type:u.source.media_type,data:u.source.data})}):o=s.content,t.push({query:o,answer:a.content,sources:[{title:"Source 1",description:"Description of source 1",icon:"/path/to/icon1.png",origin:"Origin 1"}],modelListId:a.model_list_id,pictures:n})}}return t},Ze=e=>Math.ceil(e.length/4),et=async e=>{try{return(await D.get(`/user/${e}`)).data}catch(t){(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}))}},tt=async e=>{try{return(await D.get(`/user/subscribe/${e}`)).data}catch(t){(t==null?void 0:t.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}))}},rt=async(e,t)=>{try{return(await D.post(`/user/update-subscribe/${e}`,{status:t})).data}catch(r){(r==null?void 0:r.status)===401&&window.dispatchEvent(new CustomEvent("auth:force-logout",{detail:{reason:"unauthorized"}}))}},st={async sendOtp(e,t=null,r=null,s=null,a=null,o=null){try{const n=await fetch("/api/send-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,fingerPrinting:t,landingSource:r,affiliate_code:s,plan:a,billing:o})});if(n.ok){const u=await n.json();return u.status,u}else{const u=await n.json();return u.message=="Temp email"?{success:!1,error:"Temporary email addresses are not allowed."}:{success:!1,error:u.error.email[0]}}}catch{return{success:!1,error:"Failed to send OTP"}}},async verifyOtp(e,t,r=null,s=null,a=null){try{const o=await fetch("/api/verify-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,otp:t,fingerPrinting:r,affiliate_code:s,planToApplyWhenFailed:a})});if(o.ok){const n=await o.json();return{success:!0,user:n.user,token:n.token}}else return{success:!1,message:(await o.json()).message}}catch{return{success:!1,error:"OTP verification failed"}}},loginWithGoogle(e,t=null){const a=window.innerWidth/2-300,o=window.innerHeight/2-700/2,n=t?`${e}/auth/google?source=${encodeURIComponent(t)}`:`${e}/auth/google`;window.open(n,"Google Login",`width=600,height=700,top=${o},left=${a}`)},validateToken(e,t){const a=window.innerWidth/2-300,o=window.innerHeight/2-700/2,n=`${appUrl}/validate-token/${e}/${t}`;window.open(n,"Google Login",`width=600,height=700,top=${o},left=${a}`)}};async function ot(){try{const e={width:window.screen.width,height:window.screen.height,colorDepth:window.screen.colorDepth,pixelRatio:window.devicePixelRatio||1},t=await Oe(),r=await be();return{fingerprint:await ue(JSON.stringify({screen:e,gpuInfo:t,audioFingerprint:r}))}}catch{return{fingerprint:await ue(`${navigator.userAgent}-${window.screen.width}x${window.screen.height}`)}}}async function be(){try{if(typeof AudioContext>"u"&&typeof webkitAudioContext>"u")return null;const e=new(window.AudioContext||window.webkitAudioContext);let t=e.createOscillator();const r=e.createAnalyser(),s=e.createGain();r.fftSize=64,r.smoothingTimeConstant=0,s.gain.value=0,t.connect(r),r.connect(s),s.connect(e.destination),t.type="triangle";const a=[];for(let o of[1e3,2e3,5e3,1e4]){t.frequency.value=o,t.start(),await new Promise(p=>setTimeout(p,10));const n=new Uint8Array(r.frequencyBinCount);r.getByteFrequencyData(n);const u=[];for(let p=0;p<n.length;p+=4)u.push(n[p]);a.push(u),t.stop(),t.disconnect(),o<1e4&&(t=e.createOscillator(),t.connect(r),t.type="triangle")}return e.close(),a}catch{return null}}async function Oe(){try{const e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");
3if(!t)return{supported:!1};const r={},s=t.getExtension("WEBGL_debug_renderer_info");r.maxViewportDims=t.getParameter(t.MAX_VIEWPORT_DIMS),r.redBits=t.getParameter(t.RED_BITS),r.greenBits=t.getParameter(t.GREEN_BITS),r.blueBits=t.getParameter(t.BLUE_BITS),r.alphaBits=t.getParameter(t.ALPHA_BITS),r.depthBits=t.getParameter(t.DEPTH_BITS),r.stencilBits=t.getParameter(t.STENCIL_BITS);const a=t.getSupportedExtensions();if(a){const o=a.filter(n=>n.includes("ANGLE")||n.includes("OES")||n.includes("EXT_texture")||n.includes("WEBGL_")||n.includes("draw_buffers"))}try{e.width=50,e.height=50,t.clearColor(.1,.2,.3,1),t.clear(t.COLOR_BUFFER_BIT);const o=new Float32Array(16);for(let d=0;d<o.length;d+=2){const I=Math.PI*2*(d/o.length)+Math.PI/8,W=.6+d%6*.05;o[d]=Math.cos(I)*W,o[d+1]=Math.sin(I)*W}const n=` 4 attribute vec2 position; 5 void main() { 6 gl_Position = vec4(position, 0.0, 1.0); 7 gl_PointSize = 10.0; 8 } 9 `,u=` 10 precision mediump float; 11 void main() {
12 gl_FragColor = vec4(0.8, 0.2, 0.3, 1.0); 13 } 14 `,p=t.createShader(t.VERTEX_SHADER);t.shaderSource(p,n),t.compileShader(p);const L=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(L,u),t.compileShader(L);const P=t.createProgram();t.attachShader(P,p),t.attachShader(P,L),t.linkProgram(P),t.useProgram(P);const S=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,S),t.bufferData(t.ARRAY_BUFFER,o,t.STATIC_DRAW);const v=t.getAttribLocation(P,"position");t.enableVertexAttribArray(v),t.vertexAttribPointer(v,2,t.FLOAT,!1,0,0),t.drawArrays(t.POINTS,0,5);const q=50,l=performance.now();for(let d=0;d<q;d++){const I=d/q;t.clearColor(I,1-I,I*.5,1),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.POINTS,0,o.length/2)}const h=performance.now()-l;r.renderTime=Math.round(h),t.clearColor(.1,.2,.3,1),t.clear(t.COLOR_BUFFER_BIT);const f=new Uint8Array(10*10*4);t.readPixels(0,0,10,10,t.RGBA,t.UNSIGNED_BYTE,f);const m=` 15 precision mediump float; 16 uniform float testValue; 17 void main() { 18 float result = sin(testValue) * cos(testValue * 1.5) / (testValue * 0.01 + 0.1); 19 gl_FragColor = vec4(result * 0.5 + 0.5, result * 0.25 + 0.5, result * 0.15 + 0.5, 1.0); 20 } 21 `,w=t.createShader(t.FRAGMENT_SHADER);t.shaderSource(w,m),t.compileShader(w);const b=t.createProgram();t.attachShader(b,p),t.attachShader(b,w),t.linkProgram(b),t.useProgram(b);const G=[];for(let d=0;d<5;d++){const I=Math.PI/(d+1.1),W=t.getUniformLocation(b,"testValue");t.uniform1f(W,I),t.drawArrays(t.POINTS,0,o.length/2);const z=new Uint8Array(4);t.readPixels(25,25,1,1,t.RGBA,t.UNSIGNED_BYTE,z),G.push(Array.from(z))}t.useProgram(P),r.floatPrecision=G;const N=[];for(let d=0;d<f.length;d+=16)N.push(f[d]);r.renderSignature=N}catch{}return r}catch(e){return{supported:!1,error:e.message}}}async function ue(e){const t=new TextEncoder().encode(e),r=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(r)).map(o=>o.toString(16).padStart(2,"0")).join("")}export{D as a,ge as b,Ne as c,Me as d,Ze as e,We as f,xe as g,Ue as h,Ye as i,ze as j,$e as k,je as l,Ge as m,Ke as n,He as o,Qe as p,Xe as q,Je as r,Be as s,tt as t,rt as u,Ve as v,et as w,K as x,st as y,ot as z};
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.