1import{_ as Rt}from"./BMFEBWu_.js";import{u as De,aa as et,z as xt,j as Pt,l as Pe,o,b as u,e as s,w as n,d as l,s as qe,h as m,t,g as e,Q as wt,c as V,C as y,f as Ge,a5 as Nt,F as te,r as Ce,ao as ht,aQ as kt,B as Se,i as Je,v as Ne,n as v,aR as Ct,x as z,al as mt,ad as Dt,m as tt,A as at,ah as Ut,D as je,am as pt,G as bt,aU as It,a9 as Vt,ag as qt,y as Gt,ae as Ft,af as Wt,ab as Jt}from"./DKpvL5E7.js";import{_ as Qt}from"./DytWjF3h.js";import{_ as it}from"./BMvJ9JS8.js";import{_ as Xe}from"./DCR5Hi0-.js";import{_ as At}from"./DsIgPv_t.js";import{_ as ct}from"./BnrOffI2.js";import{_ as ft}from"./C4qZXT4q.js";import{_ as gt}from"./Ztjx0siU.js";import{_ as Mt}from"./DFycJcnt.js";import{_ as rt}from"./DFQgX6lT.js";import{_ as St}from"./gRbwuGL4.js";import{_ as zt}from"./c4cAoJw1.js";import{_ as Zt,u as yt,a as Tt,b as Ht,c as Xt}from"./WSxOutiJ.js";import{u as _t}from"./DoPbeagi.js";import{u as nt}from"./B0j0dm-k.js";import{u as Yt}from"./Ci6mt9kS.js";import{u as en}from"./w2PUjgM6.js";import{m as Ot}from"./CfBtpIUy.js";import{d as Qe}from"./CRjIbfpb.js";import{p as Lt}from"./BoxNsp0r.js";import{u as vt}from"./DEfAvVPI.js";import{u as tn}from"./DAAy_bt-.js";import{u as nn}from"./Cz6ZF-qI.js";import{_ as on}from"./WhsydGek.js";import{g as ln}from"./DnhttEl2.js";import"./LculMNdS.js";import"./oVkg9hDW.js";import"./_ejLga-J.js";import"./DiMOn-X3.js";import"./Z7GQvOng.js";import"./B6tRHV4l.js";import"./BH6hAZAS.js";import"./BMJGUOrQ.js";import"./VQ12o5Sf.js";import"./Ch12s5lm.js";import"./CXHopHiV.js";import"./DeNAJFHd.js";import"./C6zVtzdY.js";import"./INlPbQV-.js";import"./DKjBWZZH.js";import"./r-gK-3uC.js";const sn={class:"flex items-center gap-2"},an={class:"flex flex-col gap-4"},cn={class:"flex items-center gap-4 flex-wrap"},rn={class:"flex flex-col gap-1.5"},dn={class:"flex items-center gap-2 flex-wrap"},un={class:"text-xs text-secondary-400"},mn={class:"text-[13px] text-secondary-500"},pn={class:"flex flex-wrap gap-x-2.5 gap-y-0 justify-between pb-2.5"},fn={key:0,class:"rounded-xl bg-secondary-100/50 ring-1 ring-secondary-200 px-3 py-3 flex gap-2"},gn={class:"text-[13px] text-secondary-600"},yn={key:1,class:"rounded-xl bg-secondary-100/50 ring-1 ring-secondary-200 px-3 py-3 flex flex-col gap-1.5"},_n={class:"text-sm font-semibold text-secondary-700"},vn={class:"text-[13px] text-secondary-600 leading-snug"},hn={class:"text-sm italic text-secondary-100"},kn={class:"text-sm italic text-secondary-100"},bn={key:0,class:"text-xs text-secondary-600 mt-2 pl-1"},$n={key:1,class:"flex flex-wrap gap-1.5 mt-2"},xn={class:"flex items-start justify-between gap-4 rounded-xl bg-secondary-50 ring-1 ring-secondary-200 px-4 py-3"},wn={class:"min-w-0 flex items-start gap-2.5"},Cn={class:"min-w-0"},Un={class:"text-sm font-medium text-secondary-700"},In={class:"text-xs text-secondary-600 mt-0.5"},Vn={class:"space-y-3 border-t border-(--ui-border) pt-4 mt-2"},An={class:"text-sm font-semibold text-secondary-700"},Mn={class:"space-y-2"},Sn={class:"flex items-center gap-2.5 cursor-pointer select-none"},zn={key:0,class:"w-2 h-2 rounded-full bg-secondary-500"},Tn={class:"text-sm text-secondary-600 font-medium"},On={class:"flex items-center gap-2.5 cursor-pointer select-none"},Ln={key:0,class:"w-2 h-2 rounded-full bg-secondary-500"},jn={class:"text-sm text-secondary-600 font-medium"},En={key:0,class:"pl-6 space-y-2 pt-1"},Kn=["onClick"],Bn={class:"text-sm text-secondary-600 select-none"},Rn={class:"text-secondary-400 font-medium ml-1 text-xs capitalize"},Pn={class:"flex justify-end gap-2 w-full"},Nn={__name:"AppAgentModal",props:{open:{type:Boolean,default:!1},connectors:{type:Array,default:()=>[]},skills:{type:Array,default:()=>[]}},emits:["update:open","saved"],setup(Ue,{emit:F}){const x=Ue,A=F,{saveAgent:J,saving:ne,uploadAgentAvatar:W}=_t(),{limit:xe,showPlanLimit:he}=nt(),ce=v(()=>xe("max_skills_per_agent")),{t:ye}=De(),C=et(),{modelOptions:ae,fetchModels:q,defaultAgentModel:oe,noProviders:L,pending:T}=Yt(),Z=xt(),p=mt({name:"",roleTitle:"",description:"",systemPrompt:"",defaultModel:null,connectorIds:[],skillIds:[],marbleTools:!1,restricted:!1}),{members:h,fetchMembers:j}=en(),{user:le}=Pt(),re=v(()=>le.value?.id||le.value?.sub),ee=v(()=>h.value.filter(a=>a.is_active!==!1&&!a.is_manual));function I(a){return a.user_id===re.value||["admin","owner"].includes(a.role)||a.can_manage_agents===!0}const M=v(()=>ee.value.filter(I).map(a=>
1a.user_id)),E=z([]);Pe(M,a=>{a.forEach(f=>{E.value.includes(f)||E.value.push(f)})},{immediate:!0});function U(a){const f=ee.value.find(g=>g.user_id===a);if(f&&I(f))return;const ue=E.value.indexOf(a);ue===-1?E.value.push(a):E.value.splice(ue,1)}const B=z(!1),P=v(()=>{const a=ae.value,f=p.defaultModel;return f&&!a.some(ue=>ue.value===f)?[{label:Ot(f),value:f,provider:null},...a]:a});Pe([L,T],([a,f])=>{if(!x.open||f)return;if(a){p.defaultModel=null;return}ae.value.some(g=>g.value===p.defaultModel)||(p.defaultModel=oe())});const X=v(()=>x.connectors.map(a=>({label:a.name,value:a.id})).sort((a,f)=>a.label.localeCompare(f.label))),_e=v(()=>x.skills.map(a=>({label:a.name,value:a.id,disabled:ce.value!=null&&p.skillIds.length>=ce.value&&!p.skillIds.includes(a.id)})).sort((a,f)=>a.label.localeCompare(f.label))),ge=v(()=>p.skillIds.map(a=>x.skills.find(f=>f.id===a)).filter(Boolean).sort((a,f)=>a.name.localeCompare(f.name))),O=v(()=>p.name.trim().length>0&&p.roleTitle.trim().length>0&&!!p.defaultModel);function _(){A("update:open",!1)}Qe({escape:{usingInput:!0,handler:()=>{x.open&&_()}}});function S(){p.name="",p.roleTitle="",p.description="",p.systemPrompt="",p.defaultModel=null,p.connectorIds=[],p.skillIds=[],p.marbleTools=!1,p.restricted=!1,E.value=[...M.value]}const G=z(null),Y=z(null),H=z(null),ke=v(()=>Y.value||null),be=v(()=>(p.name||"?").slice(0,2).toUpperCase());function r(){if(Y.value)try{URL.revokeObjectURL(Y.value)}catch{}G.value=null,Y.value=null,H.value&&(H.value.value="")}function de(a){const f=a.target.files?.[0];if(f){if(f.size>Ct){C.add({class:"mo-toast",title:ye("agency.agents.avatar_too_large"),color:"error"}),H.value&&(H.value.value="");return}if(Y.value)try{URL.revokeObjectURL(Y.value)}catch{}G.value=f,Y.value=URL.createObjectURL(f)}}function ie(){if(Y.value)try{URL.revokeObjectURL(Y.value)}catch{}G.value=null,Y.value=null,H.value&&(H.value.value="")}Pe(()=>x.open,a=>{a?(q(L.value),j().catch(()=>{}),r(),S(),p.defaultModel=oe()):(S(),r())});async function me(){if(!(!O.value||ne.value))try{const a=await J(null,{name:p.name.trim(),roleTitle:p.roleTitle.trim()||null,description:p.description.trim()||null,systemPrompt:p.systemPrompt.trim()||null,defaultModel:p.defaultModel||null,connectorIds:p.connectorIds,skillIds:p.skillIds,enabledTools:{},marbleTools:p.marbleTools,restricted:p.restricted,visibleUserIds:p.restricted?[...E.value]:[]});try{G.value&&await W(a.id,G.value)}catch(f){C.add({class:"mo-toast",title:ye("agency.agents.avatar_error"),description:f?.message,color:"error"})}A("saved",a),_()}catch(a){const f=Lt(a);if(f){he(f),_();return}}}return(a,f)=>{const ue=Ge,g=wt,K=qe,se=ft,pe=gt,ze=Mt,we=Nt,fe=rt,Ie=Xe,Ve=St,Ee=zt,Oe=Je,Q=Zt;return o(),u(te,null,[s(Oe,{open:Ue.open,"onUpdate:open":_,close:!1},{title:n(()=>[l("div",sn,[s(ue,{name:"mosy:users",class:"text-secondary-500 shrink-0"}),m(" "+t(a.$t("agency.agents.modal_title")),1)])]),description:n(()=>[m(t(a.$t("agency.agents.modal_desc")),1)]),body:n(()=>[l("div",an,[l("div",cn,[s(g,{src:e(ke)||void 0,text:e(be),class:"avatar avatar-large shrink-0"},null,8,["src","text"]),l("div",rn,[l("div",dn,[l("input",{ref_key:"avatarInput",ref:H,type:"file",accept:"image/png,image/jpeg,image/webp",class:"hidden",onChange:de},null,544),s(K,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:arrow-up-from-bracket",onClick:f[0]||(f[0]=k=>e(H)?.click())},{default:n(()=>[m(t(a.$t("agency.agents.avatar_upload")),1)]),_:1}),e(ke)?(o(),V(K,{key:0,size:"xs",color:"error",variant:"soft",icon:"mosy:trash",onClick:ie},{default:n(()=>[m(t(a.$t("agency.agents.avatar_remove")),1)]),_:1})):y("",!0)]),l("p",un,t(a.$t("agency.agents.avatar_hint")),1)])]),s(pe,{label:a.$t("agency.agents.field_name"),required:""},{default:n(()=>[s(se,{modelValue:e(p).name,"onUpdate:modelValue":f[1]||(f[1]=k=>e(p).name=k),placeholder:a.$t("agency.agents.field_name_ph"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(pe,{label:a.$t("agency.agents.field_role"),required:""},{default:n(()=>[s(se,{modelValue:e(p).roleTitle,"onUpdate:modelValue":f[2]||(f[2]=k=>e(p).roleTitle=k),placeholder:a.$t("agency.agents.field_role_ph"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(pe,{label:a.$t("agency.agents.field_description")},{help:n(()=>[l("span",mn,t(a.$t("agency.agents.field_description_help")),1)]),default:n(()=>[s(ze,{modelValue:e(p).description,"onUpdate:modelValue":f[3]||(f[3]=k=>e(p).description=k),rows:2,placeholder:a.$t("agency.agents.field_description_ph"),class:"w-full",ui:{base:"min-h-[150px]!"}},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(pe,{label:a.$t("agency.agents.field_system_prompt"),hint:a.$t("agency.agents.field_system_prompt_hint")},{default:n(()=>[s(ze,{modelValue:e(p).systemPrompt,"onUpdate:modelValue":f[4]||(f[4]=k=>e(p).systemPrompt=k),rows:4,placeholder:a.$t("agency.agents.field_system_prompt_ph"),class:"w-full",ui:{base:"min-h-[150px]!"}},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"]),s(pe,{required:""},{default:n(()=>[l("div",pn,[l("label",null,t(a.$t("agency.agents.field_model")),1),l("button",{type:"button",class:"text-[12px] text-secondary-500 pb-[5px] pl-[5px] font-medium hover:text-secondary-700 underline underline-offset-2 cursor-pointer",onClick:f[5]||(f[5]=k=>B.value=!0)},t(a.$t("agency.agents.model_guide.link")),1)]),e(T)?(o(),u("div",fn,[s(ue,{name:"i-lucide-loader-circle",class:"w-4 h-4 animate-spin text-secondary-500 shrink-0 translate-y-0.5"}),l("span",gn,t(a.$t("agency.agents.models_loading")),1)])):e(L)?(o(),u("div",yn,[l("p",_n,t(a.$t("agency.agents.no_ai_title")),1),l("p",vn,t(a.$t("agency.agents.no_ai_hint")),1),s(we,{to:e(Z)("settings")+"#ai",class:"text-[13px] font-medium text-secondary-700 underline underline-offset-2 hover:opacity-70 self-start inl
1ine-flex gap-1.5"},{default:n(()=>[s(ue,{name:"mosy:rocket-launch",class:"w-4 h-4 shrink-0 translate-y-1"}),m(" "+t(a.$t("agency.agents.no_ai_link")),1)]),_:1},8,["to"])])):(o(),V(fe,{key:2,modelValue:e(p).defaultModel,"onUpdate:modelValue":f[6]||(f[6]=k=>e(p).defaultModel=k),items:e(P),"value-key":"value","search-input":{placeholder:a.$t("common.search"),leadingIcon:"i-lucide-search"},placeholder:a.$t("agency.agents.field_model_ph"),class:"w-full"},null,8,["modelValue","items","search-input","placeholder"]))]),_:1}),s(pe,{label:a.$t("agency.agents.field_connectors")},{default:n(()=>[s(fe,{modelValue:e(p).connectorIds,"onUpdate:modelValue":f[7]||(f[7]=k=>e(p).connectorIds=k),items:e(X),"value-key":"value",multiple:"",placeholder:a.$t("agency.agents.field_connectors_ph"),class:"w-full"},{empty:n(()=>[l("span",hn,t(a.$t("agency.agents.no_connectors")),1)]),_:1},8,["modelValue","items","placeholder"])]),_:1},8,["label"]),s(pe,{label:a.$t("agency.agents.field_skills")},{default:n(()=>[s(fe,{modelValue:e(p).skillIds,"onUpdate:modelValue":f[8]||(f[8]=k=>e(p).skillIds=k),items:e(_e),"value-key":"value",multiple:"",placeholder:a.$t("agency.agents.field_skills_ph"),class:"w-full pr-8!"},{empty:n(()=>[l("span",kn,t(a.$t("agency.agents.no_skills")),1)]),_:1},8,["modelValue","items","placeholder"]),e(ce)!=null?(o(),u("p",bn,t(a.$t("upsell.skills_limit_hint",{limit:e(ce)})),1)):y("",!0),e(ge).length?(o(),u("div",$n,[(o(!0),u(te,null,Ce(e(ge),k=>(o(),V(Ie,{key:k.id,size:"sm",color:"secondary",variant:"subtle",class:"rounded-2xl ring-1 ring-secondary-300 cursor-pointer text-[11px]",title:k.description||k.name,onClick:$e=>e(p).skillIds=e(p).skillIds.filter(Ae=>Ae!==k.id)},{default:n(()=>[m(t(k.name)+" ",1),s(ue,{name:"mosy:circle-xmark",class:"w-3 h-3 ml-0.5"})]),_:2},1032,["title","onClick"]))),128))])):y("",!0)]),_:1},8,["label"]),s(pe,{class:"mt-2"},{default:n(()=>[l("div",xn,[l("div",wn,[s(ue,{name:"mosy:circle-plus",class:"w-4 h-4 text-secondary-600 shrink-0 mt-0.5"}),l("div",Cn,[l("p",Un,t(a.$t("agency.agents.marble_tools_label")),1),l("p",In,t(a.$t("agency.agents.marble_tools_hint")),1)])]),s(Ve,{modelValue:e(p).marbleTools,"onUpdate:modelValue":f[9]||(f[9]=k=>e(p).marbleTools=k),color:"secondary",class:"shrink-0"},null,8,["modelValue"])])]),_:1}),l("div",Vn,[l("p",An,t(a.$t("agency.agents.access_title")),1),l("div",Mn,[l("label",Sn,[ht(l("input",{"onUpdate:modelValue":f[10]||(f[10]=k=>e(p).restricted=k),type:"radio",value:!1,class:"hidden"},null,512),[[kt,e(p).restricted]]),l("div",{class:Se(["w-4 h-4 rounded-full border-2 flex items-center justify-center shrink-0 transition-colors",e(p).restricted?"border-secondary-300":"border-secondary-500"])},[e(p).restricted?y("",!0):(o(),u("div",zn))],2),l("span",Tn,t(a.$t("agency.agents.access_all")),1)]),l("label",On,[ht(l("input",{"onUpdate:modelValue":f[11]||(f[11]=k=>e(p).restricted=k),type:"radio",value:!0,class:"hidden"},null,512),[[kt,e(p).restricted]]),l("div",{class:Se(["w-4 h-4 rounded-full border-2 flex items-center justify-center shrink-0 transition-colors",e(p).restricted?"border-secondary-500":"border-secondary-300"])},[e(p).restricted?(o(),u("div",Ln)):y("",!0)],2),l("span",jn,t(a.$t("agency.agents.access_restricted")),1)])]),e(p).restricted&&e(ee).length?(o(),u("div",En,[(o(!0),u(te,null,Ce([...e(ee)].sort((k,$e)=>I(k)?-1:I($e)?1:0),k=>(o(),u("div",{key:k.user_id,class:Se(["flex items-center gap-2",I(k)?"opacity-60":"cursor-pointer"]),onClick:$e=>!I(k)&&U(k.user_id)},[s(Ee,{"model-value":I(k)||e(E).includes(k.user_id),disabled:I(k),color:"secondary",class:"mo-checkbox pointer-events-none","onUpdate:modelValue":$e=>U(k.user_id)},null,8,["model-value","disabled","onUpdate:modelValue"]),l("span",Bn,[m(t(k.profiles?.full_name||k.profiles?.email||"â")+" ",1),l("span",Rn,"("+t(k.role)+")",1)])],10,Kn))),128))])):y("",!0)])])]),footer:n(()=>[l("div",Pn,[s(K,{variant:"subtle",color:"secondary",onClick:_},{default:n(()=>[m(t(a.$t("common.cancel")),1)]),_:1}),s(K,{color:"secondary",icon:"mosy:circle-plus",loading:e(ne),disabled:!e(O),onClick:me},{default:n(()=>[m(t(a.$t("agency.agents.modal_submit")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open"]),s(Q,{open:e(B),"onUpdate:open":f[12]||(f[12]=k=>Ne(B)?B.value=k:null)},null,8,["open"])],64)}}},Dn={key:0,class:"mb-4 flex items-center justify-end gap-3"},qn={key:0,class:"text-xs text-secondary-500 font-medium tabular-nums"},Gn={key:1,class:"flex justify-center py-12"},Fn={key:3,class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3"},Wn={class:"flex gap-3 flex-col items-start"},Jn={class:"flex flex-wrap gap-4 justify-between items-start w-full max-w-full mb-0.5"},Qn={class:"min-w-0 flex-1"},Zn={class:"font-semibold text-[19px] text-secondary-600 font-waden line-clamp-2 break-all-custom -mb-1 mo-custom-theme-heading"}
1,Hn={key:0,class:"text-[14px] text-secondary-500 line-clamp-2 break-all-custom mt-[2px]"},Xn={key:0,class:"text-xs text-secondary-600 mt-3 line-clamp-2"},Yn={class:"flex items-center gap-1.5 mt-3 flex-wrap"},eo={class:"flex flex-col gap-0.5 max-w-[280px] text-[12px] leading-snug"},to={class:"flex items-center gap-2"},no={class:"flex gap-2 justify-end w-full"},oo={__name:"AppIntelligenceAgents",setup(Ue){const{t:F}=De(),x=xt(),A=Dt(),{orgId:J,can:ne}=tt(),W=v(()=>ne("manage_agents")),xe=v(()=>ne("delete_agents")),he=_t(),{items:ce,loading:ye,fetch:C,removeAgent:ae}=he,{atLimit:q,limit:oe,showPlanLimit:L}=nt(),T=v(()=>he.rawItems.value.length),Z=v(()=>oe("max_agents")),{items:p,fetch:h}=vt(),{items:j,curated:le,fetch:re,fetchCurated:ee}=yt(),I=z(!1),M=z(!1),E=z(null),U=z(!1);at(()=>{C(),h(),re(),ee()});const B=v(()=>[...ce.value].sort((g,K)=>String(g.name||"").localeCompare(String(K.name||"")))),P=v(()=>{const g=new Set(j.value.map(K=>K.id));return[...j.value,...le.value.filter(K=>!g.has(K.id))]});function X(g){return(g.agent_connectors??[]).length}function _e(g){return(g.agent_skills??[]).length}function ge(g){return(g.agent_memories??[]).length}function O(g){return(g.agent_connectors??[]).map(K=>p.value.find(se=>se.id===K.connector_id)?.name).filter(Boolean).sort((K,se)=>K.localeCompare(se))}function _(g){return(g.agent_skills??[]).map(K=>P.value.find(se=>se.id===K.skill_id)?.name).filter(Boolean).sort((K,se)=>K.localeCompare(se))}function S(g){return[...g.agent_memories??[]].sort((K,se)=>String(se.created_at).localeCompare(String(K.created_at))).map(K=>K.title).filter(Boolean)}function G(g){return g?.marble_tools!==!1}function Y(g){return[{key:"connectors",icon:"mosy:globe-pointer",label:F("agency.agents.connectors_count",{count:X(g)}),items:O(g)},{key:"skills",icon:"mosy:rocket-launch",label:F("agency.agents.skills_count",{count:_e(g)}),items:_(g)},...ge(g)?[{key:"memories",icon:"mosy:books",label:F("agency.agents.memory_count",{count:ge(g)}),items:S(g)}]:[]]}let H=null,ke=null;function be(){clearTimeout(ke),ke=setTimeout(()=>C(),300)}function r(){if(!J.value)return;const g=`agent-memories-count-${J.value}`;A.getChannels().some(K=>K.topic===`realtime:${g}`)||(H=A.channel(g).on("postgres_changes",{event:"*",schema:"public",table:"agent_memories",filter:`organization_id=eq.${J.value}`},be).subscribe())}function de(){H&&(A.removeChannel(H),H=null)}Pe(J,()=>{de(),r()},{immediate:!0}),Ut(()=>{de(),clearTimeout(ke)});function ie(){if(q("max_agents",T.value)){L("max_agents");return}I.value=!0}function me(g){bt(x({name:"intelligence-agents-id",params:{id:g.id}}))}function a(g){g?.id&&bt(x({name:"intelligence-agents-id",params:{id:g.id}}))}function f(g){E.value=g,M.value=!0}async function ue(){if(!(U.value||!E.value)){U.value=!0;try{await ae(E.value.id),M.value=!1,E.value=null}finally{U.value=!1}}}return Qe({escape:{usingInput:!0,handler:()=>{M.value&&(M.value=!1)}},enter:{handler:()=>{M.value&&ue()}}}),(g,K)=>{const se=qe,pe=Ge,ze=it,we=wt,fe=Xe,Ie=At,Ve=ct,Ee=Nn,Oe=Je;return o(),u("div",null,[e(ce).length&&e(W)?(o(),u("div",Dn,[e(Z)!=null?(o(),u("span",qn,t(g.$t("upsell.agents_counter",{count:e(T),limit:e(Z)})),1)):y("",!0),s(se,{color:"secondary",icon:"mosy:circle-plus",onClick:ie},{default:n(()=>[m(t(g.$t("agency.agents.new")),1)]),_:1})])):y("",!0),e(ye)?(o(),u("div",Gn,[s(pe,{name:"i-lucide-loader-circle",class:"w-6 h-6 animate-spin text-secondary-300"})])):e(ce).length?(o(),u("div",Fn,[(o(!0),u(te,null,Ce(e(B),Q=>(o(),V(Ve,{key:Q.id,class:"cursor-pointer",role:"button",tabindex:"0",onClick:k=>me(Q),onKeydown:pt(k=>me(Q),["enter"])},{default:n(()=>[l("div",Wn,[l("div",Jn,[s(we,{src:Q.avatar_url||void 0,text:(Q.name||"?").slice(0,2).toUpperCase(),size:"sm",class:"avatar avatar-agent-list shrink-0"},null,8,["src","text"]),e(xe)?(o(),V(se,{key:0,icon:"mosy:trash",color:"secondary",variant:"ghost",size:"xs",class:"px-3.5! max-[769px]:hidden","aria-label":g.$t("common.delete"),onClick:je(k=>f(Q),["stop"])},null,8,["aria-label","onClick"])):y("",!0)]),l("div",Qn,[l("p",Zn,t(Q.name),1),Q.role_title?(o(),u("p",Hn,t(Q.role_title),1)):y("",!0)])]),Q.description?(o(),u("p",Xn,t(Q.description),1)):y("",!0),l("div",Yn,[Q.default_model?(o(),V(fe,{key:0,size:"sm",color:"secondary",variant:"subtle",class:"mo-custom-badge",icon:"mosy:sparkles",title:g.$t("agency.agents.field_model")},{default:n(()=>[m(t(("modelLabel"in g?g.modelLabel:e(Ot))(Q.default_model)),1)]),_:2},1032,["title"])):y("",!0),Q.restricted_access===!0?(o(),V(Ie,{key:1,text:g.$t("agency.agents.restricted_hint"),ui:{content:"h-auto max-w-[300px] whitespace-normal py-2"}},{default:n(()=>[s(fe,{size:"sm",color:"warning",variant:"subtle",class:"mo-custom-badge mo-custom-badge-no-colors bg-warning/10! text-warning-600! ring-warning/25!",icon:"mosy:eye"},{default:n(()=>[m(t(g.$t("agency.agents.restricted_badge")),1)]),_:1})]),_:1},8,["text"])):y("",!0),G(Q)?(o(),V(Ie,{key:2,text:g.$t("agency.agents.marble_tools_hint"),ui:{content:"h-auto max-w-[300px] whitespace-normal py-2"}},{default:n(()=>[s(fe,{size:"sm",color:"secondary",variant:"subtle",class:"mo-custom-badge",icon:"mosy:plug-circle-plus"},{default:n(()=>[m(t(g.$t("agency.agents.marble_tools_badge")),1)]),_:1})]),_:1},8,["text"])):y("",!0),(o(!0),u(te,null,Ce(Y(Q),k=>(o(),u(te,{key:k.key},[k.items.length?(o(),V(Ie,{key:0},{content:n(()=>[l("ul",eo,[(o(!0),u(te,null,Ce(k.items,($e,Ae)=>(o(),u("li",{key:Ae,class:"truncate"},t($e),1))),128))])]),default:n(()=>[s(fe,{size:"sm",color:"secondary",variant:"subtle",class:"mo-custom-badge",icon:k.icon},{default:n(()=>[m(t(k.label),1)]),_:2},1032,["icon"])]),_:2},1024)):(o(),V(fe,{key:1,size:"sm",color:"secondary",variant:"subtle",class:"mo-custom-badge",icon:k.icon},{default:n(()=>[m(t(k.label),1)]),_:2},1032,["icon"]))],64))),128))])]),_:2},1032,["onClick","onKeydown"]))),128))])):(o(),V(ze,{key:2,icon:"mosy:users",title:g.$t("agency.agents.empty_title"),description:g.$t("agency.agents.empty_desc")},{default:n(()=>[e(W)?(o(),V(se,{key:0,color:"secondary",icon:"mosy:circle-plus",onClick:ie},{default:n(()=>[m(t(g.$t("agency.agents.new")),1)]),_:1})):y("",!0)]),_:1},8,["title","description"])),s(Ee,{open:e(I),"onUpdate:open":K[0]||(K[0]=Q=>Ne(I)?I.value=Q:null),connectors:e(p),skills:e(P),onSaved:a},null,8,["open","connectors","skills"]),s(Oe,{open:e(M),close:!1,"onUpdate:open":K[2]||(K[2]=Q=>M.value=Q)},{title:n(()=>[l("div",to,[s(pe,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),m(" "+t(g.$t("agency.agents.delete_title")),1)])]),description:n(()=>[m(t(g.$t("agency.agents.delete_desc",{name:e(E)?.name})),1)]),footer:n(()=>[l("div",no,[s(se,{variant:"subtle",color:"secondary",onClick:K[1]||(K[1]=Q=>M.value=!1)},{default:n(()=>[m(t(g.$t("common.cancel")),1)]),_:1}),s(se,{color:"error",icon:"mosy:trash",loading:e(U),onClick:ue},{default:n(()=>[m(t(g.$t("common.delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"])])}}},lo={class:"flex items-center gap-2"},so={class:"flex flex-col gap-4 mo-form-items"},ao={key:0,class:"flex items-center gap-2 min-w-0"},io={class:"truncate"},co={key:1,class:"text-muted"},ro={class:"text-sm italic text-secondary-100"},uo={key:0,class:"flex items-start gap-2.5 rounded-2xl p-4 bg-marble-500 ring-1 ring-white"},mo={class:"text-sm font-medium text-white"},po={key:1,class:"flex items-start gap-3 rounded-2xl p-4 bg-marble-500 ring-1 ring-white"},fo={class:"text-sm font-medium text-white/80"},go={key:2,class:"flex items-start gap-3 rounded-2xl p-4 bg-secondary-100 ring-1 ring-secondary-200"},yo={class:"text-sm text-secondary-700 flex flex-col gap-2"},_o={class:"font-semibold text-[15px]"},vo={key:0},ho={key:1,class:"flex items-start gap-2 rounded-lg bg-primary-500 ring-1 ring-primary-400 px-2.5 py-3 text-[13px] leading-snug text-white"},ko={class:"flex items-center gap-3 flex-wrap"},bo={class:"text-sm italic text-secondary-100"},$o={class:"flex gap-x-4 gap-y-1 flex-wrap justify-between max-w-[740px] pb-3 pl-[5px]!"},xo={class:"pb-0! pl-0!"},wo={class:"text-secondary-500 text-sm"},Co={class:"flex gap-x-4 gap-y-1 flex-wrap justify-between max-w-[740px] pb-3 pl-[5px]!"},Uo={class:"flex items-start gap-1.5"},Io={class:"pb-0! pl-0!"},Vo={class:"text-secondary-500 text-sm"},Ao={class:"flex items-start gap-3"},Mo={class:"min-w-0"},So={class:"text-sm font-medium text-secondary-700 mb-1"},zo={class:"text-[13px] text-secondary-500"},To={key:10,class:"flex items-start gap-3 rounded-2xl p-4 bg-rose-400/10 ring-1 ring-rose-400/50"},Oo={class:"text-sm text-rose-500"},Lo={class:"font-semibold"},jo={class:"mt-1 text-gray-700"},Eo={key:0,class:"mt-1 text-rose-500"},Ko={key:1,class:"mt-1 text-rose-500"},Bo={key:11,class:"text-sm text-rose-400"},Ro={class:"flex justify-end gap-2 w-full"},st="__api",He="__mcp",Po={__name:"AppConnectorModal",props:{open:{type:Boolean,default:!1},providers:{type:Array,default:()=>[]},connector:{type:Object,default:null}},emits:["update:open","created","updated"],setup(Ue,{emit:F}){const x=Ue,A=F,{createConnector:J,updateConnector:ne,removeConnector:W,connectMcp:xe,testConnector:he,startOAuth:ce,saving:ye,testing:C,error:ae,items:q,connectorStatusText:oe,uploadConnectorAvatar:L,removeConnectorAvatar:T}=vt(),Z=It().public.appMode==="production",{showPlanLimit:p}
1=nt(),{t:h,te:j}=De(),le=z(null),re=z(!1);function ee(c){return c?.code==="no_dcr"?h("agency.connectors.err_no_dcr"):c?.code==="no_oauth_metadata"?h("agency.connectors.err_no_oauth_meta"):I(c)||h("agency.connectors.err_mcp_generic")}function I(c){return c?oe({status_code:c.code??null,status_params:c.params??null,status_message:c.message??""}):""}const M=v(()=>!!x.connector),E=et(),U=z(null),B=z(null),P=z(!1),X=z(null);function _e(){if(B.value)try{URL.revokeObjectURL(B.value)}catch{}}const ge=v(()=>B.value?B.value:P.value?null:x.connector?.avatar_url||null);function O(){_e(),U.value=null,B.value=null,P.value=!1,X.value&&(X.value.value="")}function _(c){const w=c.target.files?.[0];if(w){if(w.size>Ct){E.add({class:"mo-toast",title:h("agency.agents.avatar_too_large"),color:"error"}),X.value&&(X.value.value="");return}_e(),U.value=w,B.value=URL.createObjectURL(w),P.value=!1}}function S(){_e(),U.value=null,B.value=null,P.value=!0,X.value&&(X.value.value="")}async function G(c){if(c)try{U.value?(await L(c,U.value),U.value=null):P.value&&x.connector?.avatar_url&&(await T(c),P.value=!1)}catch(w){E.add({class:"mo-toast",title:h("agency.agents.avatar_error"),description:w?.message,color:"error"})}}const Y=v(()=>ie.value?.auth_method?ie.value.auth_method:r.kind==="mcp"?"mcp":"key"),H=v(()=>Y.value==="oauth"),ke=v(()=>Y.value==="mcp"),be=["text","image","design","video","audio","analytics","seo","ads","publishing","marketing","crm","accounting","email","social","storage","ecommerce","automation","productivity","other"],r=mt({providerId:He,name:"",kind:"mcp",category:[],apiKey:"",baseUrl:"",authMode:"bearer",authName:"",allowWrite:!1,docsUrl:""}),de=v(()=>r.providerId===st||r.providerId===He),ie=v(()=>de.value?null:x.providers.find(c=>c.id===r.providerId)??null),me=v(()=>ie.value?.config_schema??null),a=v(()=>!de.value&&Y.value==="mcp"),f=v(()=>(ie.value?.kind??r.kind)==="api"&&de.value),ue=v(()=>["bearer","header","query"].map(c=>({value:c,label:h(`agency.connectors.auth_mode_${c}`)}))),g=v(()=>me.value?.vendor==="google"),K=v(()=>{const c=ie.value?.slug,w=`agency.connectors.provider_desc.${c}`;return c&&j(w)?h(w):ie.value?.description??""}),se=v(()=>{const c=ie.value?.slug,w=`agency.connectors.provider_note.${c}`;return c&&j(w)?h(w):""});Pe(()=>r.providerId,c=>{if(le.value=null,c===He){r.kind="mcp";return}if(c===st){r.kind="api";return}const w=x.providers.find(R=>R.id===c);w&&(r.name=w.name,r.category=[w.category],r.kind=w.kind)});const pe=["google","meta","google-ai","canva"],ze=v(()=>new Set((q.value||[]).map(c=>c.provider_id).filter(Boolean))),we=(c,w)=>c.label.localeCompare(w.label),fe=v(()=>{const c=[{label:h("agency.connectors.generic_mcp"),value:He,slug:null,kind:"mcp"},{label:h("agency.connectors.generic_api"),value:st,slug:null,kind:"api"}].sort(we),w=x.providers.filter(N=>pe.includes(N.config_schema?.vendor)).filter(N=>!(N.preview_only&&Z)).map(N=>({label:N.name,value:N.id,slug:N.slug,kind:N.kind,connected:ze.value.has(N.id),disabled:N.config_schema?.vendor!=="google"&&ze.value.has(N.id)})).sort(we),R=[...c,...w];if(M.value&&x.connector?.provider_id&&!R.some(N=>N.value===x.connector.provider_id)){const N=x.providers.find(Be=>Be.id===x.connector.provider_id);N&&R.push({label:N.name,value:N.id,slug:N.slug,kind:N.kind})}return R}),Ie=v(()=>fe.value.find(c=>c.value===r.providerId)??null),Ve=v(()=>fe.value.find(c=>c.value===r.providerId)?.label??""),Ee=v(()=>be.map(c=>({label:h(`agency.connectors.category.${c}`),value:c})).sort((c,w)=>c.label.localeCompare(w.label))),Oe=v(()=>de.value),Q=v(()=>H.value||g.value?!1:a.value?me.value?.auth==="key":!0);function k(c){return(c||"").trim().replace(/\/+$/,"").toLowerCase()}const $e=z(null),Ae=v(()=>{if(M.value||g.value)return null;const c=(q.value||[]).filter(R=>R.id!==$e.value);if(!de.value&&r.providerId)return c.find(R=>R.provider_id===r.providerId)||null;const w=k(r.baseUrl);return w&&c.find(R=>k(R.config?.url)===w)||null}),ot=v(()=>{if(!de.value)return!1;const c=(r.baseUrl||"").trim();if(!c)return!1;const w=k(c),R=w.replace(/^[a-z]+:\/\//,"").split("/")[0].split(":")[0];return/^(api|mcp)(-dev)?\.marblework\.app$/.test(R)?!0:/\/functions\/v1\/(api|mcp-server)(\/|$)/.test(w)}),Ze=v(()=>Ae.value||ot.value?!1:H.value?!!r.providerId:r.name.trim().length>0&&(!de.value||r.category.length>0)&&(!Oe.value||r.baseUrl.trim().length>0));function Me(){A("update:open",!1)}Qe({escape:{usingInput:!0,handler:()=>{x.open&&Me()}}});function Le(){r.providerId=He,r.name="",r.kind="mcp",r.category=[],r.apiKey="",r.baseUrl="",r.authMode="bearer",r.authName="",r.allowWrite=!1,r.docsUrl="",le.value=null,re.value=!1,$e.value=null,O()}function Ke(c){r.providerId=c.provider_id??(c.kind==="mcp"?He:st),r.name=c.name??"",r.kind=c.kind??"api",r.category=Array.isArray(c.category)?c.category:[],r.apiKey="",r.baseUrl=c.config?.url??"",r.authMode=c.config?.auth_mode??"bearer",r.authName=c.config?.auth_name??"",r.allowWrite=c.
1config?.allow_write===!0,r.docsUrl=c.config?.docs_url??"",O()}Pe(()=>x.open,c=>{c&&x.connector?Ke(x.connector):Le()});async function Ye(){if(!Ze.value||ye.value)return;if(le.value=null,re.value=!1,H.value){try{await ce(r.providerId,r.name.trim()||ie.value?.name)}catch{}return}const c={},w=me.value?.url;w?c.url=w:r.baseUrl.trim()&&(c.url=r.baseUrl.trim()),me.value?.auth_scope&&(c.auth_scope=me.value.auth_scope),f.value&&(c.auth_mode=r.authMode,r.authMode!=="bearer"&&r.authName.trim()&&(c.auth_name=r.authName.trim()),c.allow_write=r.allowWrite===!0,r.docsUrl.trim()&&(c.docs_url=r.docsUrl.trim()));const R=ie.value?.kind??r.kind,N=ie.value?[ie.value.category]:r.category,Be=r.apiKey.trim()||null,Fe=de.value?null:r.providerId;try{let D;if(M.value?(D=await ne(x.connector.id,{kind:R,name:r.name.trim(),category:N,config:c,apiKey:Be}),A("updated",D)):$e.value?(D=await ne($e.value,{kind:R,name:r.name.trim(),category:N,config:c,apiKey:Be}),A("updated",D)):(D=await J({kind:R,name:r.name.trim(),category:N,providerId:Fe,config:c,apiKey:Be}),$e.value=D?.id??null,A("created",D)),ke.value&&D?.id){await G(D.id);const ve=await xe(D.id).catch(Te=>({ok:!1,code:Te?.code,message:Te?.message}));if(ve?.redirecting)return;if(!ve?.ok){M.value||(await W(D.id).catch(()=>{}),$e.value=null),le.value=ee(ve);return}}if(f.value&&D?.id){const ve=await he(D.id).catch(Te=>({ok:!1,message:Te?.message}));if(!ve?.ok){le.value=I(ve)||h("agency.connectors.err_api_generic"),re.value=!0,await G(D?.id??x.connector?.id??null);return}}await G(D?.id??x.connector?.id??null),Me()}catch(D){const ve=Lt(D);if(ve){Me(),p(ve);return}}}return(c,w)=>{const R=Ge,N=Tt,Be=Xe,Fe=rt,D=gt,ve=ft,Te=qe,lt=At,i=St,$=Je;return o(),V($,{open:Ue.open,close:!1,"onUpdate:open":Me},{title:n(()=>[l("div",lo,[s(R,{name:"mosy:globe-pointer",class:"text-secondary-500 shrink-0"}),m(" "+t(e(M)?c.$t("agency.connectors.modal_title_edit"):c.$t("agency.connectors.modal_title")),1)])]),description:n(()=>[m(t(e(M)?c.$t("agency.connectors.modal_desc_edit"):c.$t("agency.connectors.modal_desc")),1)]),body:n(()=>[l("div",so,[s(D,{label:c.$t("agency.connectors.field_provider")},{default:n(()=>[s(Fe,{modelValue:e(r).providerId,"onUpdate:modelValue":w[0]||(w[0]=b=>e(r).providerId=b),items:e(fe),"value-key":"value",disabled:e(M),"search-input":{placeholder:c.$t("common.search"),leadingIcon:"i-lucide-search"},class:"w-full mo-select pr-7!",ui:{item:"items-center"}},{default:n(()=>[e(Ve)?(o(),u("span",ao,[s(N,{slug:e(Ie)?.slug,name:e(Ve),kind:e(Ie)?.kind,size:"sm"},null,8,["slug","name","kind"]),l("span",io,t(e(Ve)),1)])):(o(),u("span",co,t(c.$t("agency.connectors.field_provider")),1))]),item:n(({item:b})=>[s(N,{slug:b.slug,name:b.label,kind:b.kind,size:"sm",variant:"dark"},null,8,["slug","name","kind"]),l("span",{class:Se(["flex-1 truncate text-white",{"text-white/90!":b.disabled}])},t(b.label),3),b.connected?(o(),V(Be,{key:0,size:"sm",color:"secondary",variant:"subtle",class:Se(["mo-custom-badge shrink-0 bg-white/90! text-secondary-600! font-semibold!",{"bg-white/70!":b.disabled}])},{default:n(()=>[m(t(c.$t("agency.connectors.already_connected")),1)]),_:1},8,["class"])):y("",!0)]),empty:n(()=>[l("span",ro,t(c.$t("common.no_results")),1)]),_:1},8,["modelValue","items","disabled","search-input"])]),_:1},8,["label"]),e(ot)?(o(),u("div",uo,[s(R,{name:"mosy:circle-exclamation",class:"text-white shrink-0 mt-0.5"}),l("p",mo,t(c.$t("agency.connectors.own_api_blocked")),1)])):y("",!0),e(Ae)?(o(),u("div",po,[s(R,{name:"mosy:circle-exclamation",class:"text-white shrink-0 mt-0.5"}),l("p",fo,t(c.$t("agency.connectors.duplicate_hint",{name:e(Ae).name})),1)])):y("",!0),e(H)||e(a)?(o(),u("div",go,[s(R,{name:"mosy:globe-pointer",class:"text-secondary-500 shrink-0 mt-0.5"}),l("div",yo,[l("p",_o,t(e(ie)?.name),1),e(K)?(o(),u("p",vo,t(e(K)),1)):y("",!0),e(se)?(o(),u("p",ho,[s(R,{name:"mosy:circle-info",class:"w-4 h-4 shrink-0 mt-0.5"}),l("span",null,t(e(se)),1)])):y("",!0),l("p",null,t(e(me)?.auth==="key"?c.$t("agency.connectors.hint_key"):c.$t("agency.connectors.oauth_hint")),1)])])):y("",!0),e(H)?y("",!0):(o(),V(D,{key:3,label:c.$t("agency.connectors.field_name"),required:""},{default:n(()=>[s(ve,{modelValue:e(r).name,"onUpdate:modelValue":w[1]||(w[1]=b=>e(r).name=b),placeholder:c.$t("agency.connectors.field_name_ph"),class:"w-full",name:"ma-connector-name",autocomplete:"off","data-1p-ignore":"true","data-lpignore":"true","data-form-type":"other"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])),e(de)?(o(),V(D,{key:4,label:c.$t("agency.connectors.field_avatar"),class:"pl-1",ui:{label:"pl-0! pb-2.5!"}},{default:n(()=>[l("div",ko,[s(N,{"avatar-url":e(ge),name:e(r).name,kind:e(r).kind,size:"md"},null,8,["avatar-url","name","kind"]),l("input",{ref_key:"avatarInput",ref:X,type:"file",accept:"image/png,image/jpeg,image/webp",class:"hidden",onChange:_},null,544),s(Te,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:arrow-up-from-bracket",onClick:w[2]||(w[2]=b=>e(X)?.click())},{default:n(()=>[m(t(c.$t("agency.agents.avatar_upload")),1)]),_:1}),e(ge)?(o(),V(Te,{key:0,size:"xs",color:"error",variant:"subtle",icon:"mosy:trash","aria-label":c.$t("common.delete"),onClick:S},null,8,["aria-label"])):y("",!0)])]),_:1},8,["label"])):y("",!0),e(de)?(o(),V(D,{key:5,label:c.$t("agency.connectors.field_category"),required:""},{default:n(()=>[s(Fe,{modelValue:e(r).category,"onUpdate:modelValue":w[3]||(w[3]=b=>e(r).category=b),items:e(Ee),placeholder:c.$t("agency.connectors.field_category_ph"),"value-key":"value",multiple:"",class:"w-full"},{empty:n(()=>[l("span",bo,t(c.$t("common.no_results")),1)]),_:1},8,["modelValue","items","placeholder"])]),_:1},8,["label"])):y("",!0),e(Oe)?(o(),V(D,{key:6,label:c.$t("agency.connectors.field_url"),required:""},{default:n(()=>[s(ve,{modelValue:e(r).baseUrl,"onUpdate:modelValue":w[4]||(w[4]=b=>e(r).baseUrl=b),type:"url",placeholder:"https://api.example.com/v1/â¦",class:"w-full",name:"ma-connector-url",autocomplete:"off","data-1p-ignore":"true","data-lpignore":"true","data-form-type":"other"},null,8,["modelValue"])]),_:1},8,["label"])):y("",!0),e(f)?(o(),u(te,{key:7},[s(D,{label:c.$t("agency.connectors.field_auth_mode")},{default:n(()=>[s(Fe,{modelValue:e(r).authMode,"onUpdate:modelValue":w[5]||(w[5]=b=>e(r).authMode=b),items:e(ue),"value-key":"value","search-input":!1,class:"w-full",ui:{content:"mo-select-menu-hover-items"}},null,8,["modelValue","items"])]),_:1},8,["label"]),e(r).authMode!=="bearer"?(o(),V(D,{key:0,label:e(r).authMode==="header"?c.$t("agency.connectors.field_auth_header"):c.$t("agency.connectors.field_auth_query")},{default:n(()=>[s(ve,{modelValue:e(r).authName,"onUpdate:modelValue":w[6]||(w[6]=b=>e(r).authName=b),placeholder:e(r).authMode==="header"?"x-api-key":"api_key",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):y("",!0)],64)):y("",!0),e(Q)?(o(),V(D,{key:8},{default:n(()=>[l("div",$o,[l("label",xo,t(c.$t("agency.connectors.field_key")),1),l("p",wo,t(e(M)?c.$t("agency.connectors.field_key_hint_edit"):c.$t("agency.connectors.field_key_hint")),1)]),s(ve,{modelValue:e(r).apiKey,"onUpdate:modelValue":w[7]||(w[7]=b=>e(r).apiKey=b),type:"password",placeholder:e(M)?c.$t("agency.connectors.field_key_ph_edit"):"sk-â¦",class:"w-full",name:"ma-connector-secret",autocomplete:"new-password","data-1p-ignore":"true","data-lpignore":"true","data-form-type":"other"},null,8,["modelValue","placeholder"])]),_:1})):y("",!0),e(f)?(o(),u(te,{key:9},[s(D,null,{default:n(()=>[l("div",Co,[l("div",Uo,[l("label",Io,t(c.$t("agency.connectors.field_docs_url")),1),s(lt,{text:c.$t("agency.connectors.field_docs_url_info"),ui:{content:"h-auto max-w-[320px] whitespace-normal py-2"}},{default:n(()=>[s(R,{name:"mosy:circle-info",class:"w-3.5 h-3.5 text-secondary-400 mt-0.5"})]),_:1},8,["text"])]),l("p",Vo,t(c.$t("common.optional")),1)]),s(ve,{modelValue:e(r).docsUrl,"onUpdate:modelValue":w[8]||(w[8]=b=>e(r).docsUrl=b),type:"url",placeholder:"https://developers.example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),l("div",Ao,[s(i,{modelValue:e(r).allowWrite,"onUpdate:modelValue":w[9]||(w[9]=b=>e(r).allowWrite=b),class:"mt-0.5 mo-switch-on-light-secondary",color:"secondary"},null,8,["modelValue"]),l("div",Mo,[l("p",So,t(c.$t("agency.connectors.field_allow_write")),1),l("p",zo,t(c.$t("agency.connectors.field_allow_write_hint")),1)])])],64)):y("",!0),e(le)?(o(),u("div",To,[s(R,{name:"mosy:triangle-exclamation",class:"text-rose-500 shrink-0 mt-0.5"}),l("div",Oo,[l("p",Lo,t(e(re)?c.$t("agency.connectors.api_test_failed_title"):c.$t("agency.connectors.mcp_failed_title")),1),l("p",jo,t(e(le)),1),e(re)?(o(),u("p",Eo,t(c.$t("agency.connectors.api_test_saved_hint")),1)):e(M)?y("",!0):(o(),u("p",Ko,t(c.$t("agency.connectors.mcp_not_added")),1))])])):y("",!0),e(ae)?(o(),u("p",Bo,t(c.$t("agency.connectors.error_create")),1)):y("",!0)])]),footer:n(()=>[l("div",Ro,[s(Te,{variant:"subtle",color:"secondary",onClick:Me},{default:n(()=>[m(t(c.$t("common.cancel")),1)]),_:1}),s(Te,{color:"secondary",icon:e(H)||e(ke)||e(g)?"mosy:globe-pointer":e(M)?"mosy:floppy-disk":"mosy:circle-plus",loading:e(ye)||!!e(C),disabled:!e(Ze),onClick:Ye},{default:n(()=>[e(M)?(o(),u(te,{key:0},[m(t(c.$t("agency.connectors.modal_submit_edit")),1)],64)):(o(),u(te,{key:1},[m(t(c.$t("agency.connectors.mcp_connect")),1)],64))]),_:1},8,["icon","loading","disabled"])])]),_:1},8,["open"])}}},No={key:0,class:"mb-4 flex items-center justify-end gap-3"},Do={key:0,class:"text-xs text-secondary-500 font-medium tabular-nums"},qo={key:1,class:"flex justify-center py-12"},Go={key:3,class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3"},Fo={class:"flex items-start justify-between gap-2 max-[769px]:flex-col"},Wo={class:"min-w-0 max-w-full flex items-start gap-3.5 max-[769px]:flex-col"},Jo={class:"min-w-0"},Qo={class:"font-semibold text-[19px] font-waden text-secondary-600 line-clamp-2 break-all-custom min-[769px]:translate-y-1 mo-cu
1stom-theme-heading"},Zo={key:0,class:"text-[13px] text-secondary-600 mt-0.5"},Ho=["title"],Xo=["title"],Yo={key:0,class:"flex flex-wrap gap-1.5 max-[769px]:ml-auto flex-col max-[769px]:flex-row"},el={class:"flex items-center gap-1.5 mt-3 flex-wrap mb-4"},tl={key:0,class:"mt-auto pt-3 border-t border-secondary-200 flex gap-2"},nl={class:"flex items-center gap-2 gap-y-1 flex-wrap"},ol={key:0,class:"text-secondary-500 font-normal truncate"},ll={key:0,class:"flex items-center gap-2 py-6 justify-center text-sm text-secondary-600"},sl={key:0,class:"text-sm text-secondary-500 py-4"},al={key:1,class:"text-sm text-secondary-500 py-4"},il={class:"divide-y divide-secondary-200"},cl={class:"flex items-start gap-3"},rl={class:"min-w-0 flex-1"},dl={class:"text-sm font-medium text-secondary-700 truncate"},ul={class:"text-xs text-secondary-600"},ml={key:0},pl={class:"tabular-nums"},fl={key:1},gl={key:0,class:"text-xs text-amber-600 mt-0.5"},yl={class:"text-xs text-secondary-600 mt-3"},_l={class:"flex gap-2 justify-between w-full items-center flex-wrap"},vl={key:1},hl={class:"flex items-center gap-2"},kl={class:"flex gap-2 justify-end w-full"},bl={class:"flex items-center gap-2"},$l={class:"flex gap-2 justify-end w-full"},$t=300*1e3,xl={__name:"AppIntelligenceConnectors",setup(Ue){const F=Vt(),x=et(),{t:A,te:J,locale:ne}=De(),{items:W,loading:xe,fetch:he,removeConnector:ce,testConnector:ye,connectMcp:C,startOAuth:ae,mcpCall:q,testing:oe,fetchAdAccounts:L,loadCachedAdAccounts:T,connectorStatusText:Z,myGrants:p,fetchMyGrants:h,connectOwnAccount:j,disconnectOwnAccount:le}=vt(),{isAdmin:re,isOwner:ee,can:I}=tt(),M=v(()=>I("manage_connectors")),{atLimit:E,limit:U,showPlanLimit:B}=nt(),P=v(()=>U("max_connectors")),X=z(null),_e=z(null),ge=z(!1),O=z(null),_=z(Date.now());let S=null;Pe(ge,i=>{clearInterval(S),S=null,i&&(_.value=Date.now(),S=qt(()=>{_.value=Date.now()},1e4))}),Ut(()=>clearInterval(S));const G=v(()=>{const i=be.value?.accounts_cached_at;if(!i)return 0;const $=_.value-new Date(i).getTime();return Math.min($t,Math.max(0,$t-$))}),Y=v(()=>me.value&&G.value===0),H=v(()=>Math.ceil(G.value/6e4)),ke=v(()=>[...W.value].sort((i,$)=>String(i.name??"").localeCompare(String($.name??""),ne.value,{sensitivity:"base"}))),be=v(()=>W.value.find(i=>i.id===O.value)??null);async function r(i){if(O.value=i.id,ge.value=!0,i.accounts_cached_at){if(!i.accounts_cache)try{await T(i.id)}catch{}return}me.value&&await f(i)}const de={"meta-ads":"ads_get_ad_accounts","meta-marketing":"list_ad_accounts"};function ie(i){return i.kind==="mcp"&&i.status==="connected"&&!!de[a(i)]}const me=v(()=>re.value||ee.value||M.value);function a(i){return g.value.find($=>$.id===i.provider_id)?.slug??null}async function f(i){if(i&&!(G.value>0)){_e.value=i.id;try{(await L(i.id,de[a(i)])).length||x.add({class:"mo-toast",title:A("agency.connectors.accounts_none"),color:"neutral"})}catch($){x.add({class:"mo-toast",title:A("common.error"),description:$.message,color:"error"})}finally{_e.value=null}}}function ue(i){return i.accounts_cached_at?new Date(i.accounts_cached_at).toLocaleString(ne.value,{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"}):""}const{providers:g,fetch:K}=Ht(),se=It().public.appMode==="dev",pe=z(!1),ze=z(null),we=z(!1),fe=z(null),Ie=z(!1),Ve=z(!1),Ee=z(null),Oe=z(!1);function Q(i){Ee.value=i,Ve.value=!0}async function k(){const i=Ee.value;if(i){Oe.value=!0;try{const $=await le(i.id);Ve.value=!1,x.add({class:"mo-toast",title:$?.revoked?A("agency.connectors.grant_disconnect_done"):A("agency.connectors.grant_disconnect_local_only"),color:$?.revoked?"success":"warning"})}catch($){x.add({class:"mo-toast",title:A("agency.connectors.test_error"),description:$?.message,color:"error"})}finally{Oe.value=!1}}}at(()=>{if(he(),K(),h(),F.query.connected==="1")x.add({class:"mo-toast",title:A("agency.connectors.oauth_ok"),color:"success"});else if(F.query.connected==="0"){const i=String(F.query.reason??""),$=`agency.connectors.oauth_reason_${i}`,b=J($)?A($):i;x.add({class:"mo-toast",title:A("agency.connectors.oauth_fail"),description:b,color:"error"}),i==="plan_limit"&&B("max_connectors")}});function $e(i){return g.value.find($=>
1$.id===i.provider_id)?.name??(i.kind==="mcp"?"MCP":"REST")}function Ae(i){const $=g.value.find(b=>b.id===i.provider_id);return $?.auth_method?$.auth_method:i.kind==="mcp"?"mcp":"key"}function ot(i){return!!i.config?.credential_kind}function Ze(i){return i.config?.google_email||i.config?.meta_account||null}function Me(i){return i.config?.auth_scope==="user"?!0:g.value.find(b=>b.id===i.provider_id)?.config_schema?.auth_scope==="user"}function Le(i){return p.value[i.id]??null}function Ke(i){const $=Le(i);return $?$.status==="connected"?"connected":"failed":"missing"}const Ye=z(null);async function c(i){Ye.value=i.id;try{const $=await j(i.id,Ae(i));$&&!$.redirecting&&!$.ok&&x.add({class:"mo-toast",title:A("agency.connectors.mcp_failed_title"),description:N($),color:"error"})}catch($){x.add({class:"mo-toast",title:A("agency.connectors.test_error"),description:$?.message,color:"error"})}finally{Ye.value=null}}const w={connected:{color:"primary",icon:"mosy:circle-check",label:"status_connected"},failed:{color:"error",icon:"mosy:circle-exclamation",label:"status_failed"},untested:{color:"primary",icon:"mosy:hourglass-clock",label:"status_untested"}};function R(i){return w[i.status]??w.untested}function N(i){return i?.code==="no_dcr"?A("agency.connectors.err_no_dcr"):i?.code==="no_oauth_metadata"?A("agency.connectors.err_no_oauth_meta"):i?.message||A("agency.connectors.err_mcp_generic")}async function Be(i){const $=Ae(i);try{if($==="mcp"){const b=await C(i.id);b&&!b.redirecting&&!b.ok&&x.add({class:"mo-toast",title:A("agency.connectors.mcp_failed_title"),description:N(b),color:"error"})}else $==="oauth"?await ae(i.provider_id,i.name,i.id):await ye(i.id)}catch(b){x.add({class:"mo-toast",title:A("agency.connectors.test_error"),description:b?.message,color:"error"})}}async function Fe(i){if(!X.value){X.value=i.id;try{const $=await q(i.id,"tools/list"),b=$?.result?.tools??[];console.log("[MCP tools]",i.name,b),b.length?x.add({class:"mo-toast",title:A("agency.connectors.tools_found",{count:b.length}),description:b.slice(0,8).map(We=>We.name).join(", "),color:"success"}):x.add({class:"mo-toast",title:A("agency.connectors.tools_none"),description:JSON.stringify($).slice(0,200),color:"error"})}catch($){x.add({class:"mo-toast",title:A("agency.connectors.test_error"),description:$?.message,color:"error"})}finally{X.value=null}}}function D(){if(E("max_connectors",W.length)){B("max_connectors");return}ze.value=null,pe.value=!0}function ve(i){ze.value=i,pe.value=!0}function Te(i){fe.value=i,we.value=!0}async function lt(){if(!(Ie.value||!fe.value)){Ie.value=!0;try{await ce(fe.value.id),we.value=!1,fe.value=null}finally{Ie.value=!1}}}return Qe({escape:{usingInput:!0,handler:()=>{we.value&&(we.value=!1)}},enter:{handler:()=>{we.value&<()}}}),(i,$)=>{const b=qe,We=Ge,jt=it,Et=Tt,dt=Xe,Kt=ct,Bt=Po,ut=Je;return o(),u("div",null,[e(W).length&&e(M)?(o(),u("div",No,[e(P)!=null?(o(),u("span",Do,t(i.$t("upsell.connectors_counter",{count:e(W).length,limit:e(P)})),1)):y("",!0),s(b,{color:"secondary",icon:"mosy:circle-plus",onClick:D},{default:n(()=>[m(t(i.$t("agency.connectors.new")),1)]),_:1})])):y("",!0),e(xe)?(o(),u("div",qo,[s(We,{name:"i-lucide-loader-circle",class:"w-6 h-6 animate-spin text-secondary-300"})])):e(W).length?(o(),u("div",Go,[(o(!0),u(te,null,Ce(e(ke),d=>(o(),V(Kt,{key:d.id,role:"button",tabindex:"0",class:"flex",ui:{body:"flex flex-col flex-1"}},{default:n(()=>[l("div",Fo,[l("div",Wo,[s(Et,{slug:a(d),"avatar-url":d.avatar_url,name:d.name,kind:d.kind,class:"mt-0.5"},null,8,["slug","avatar-url","name","kind"]),l("div",Jo,[l("p",Qo,t(d.name),1),$e(d)!==d.name?(o(),u("p",Zo,t($e(d)),1)):y("",!0),Ze(d)?(o(),u("p",{key:1,class:"text-[13px] text-secondary-500 mt-1 truncate",title:Ze(d)},t(Ze(d)),9,Ho)):y("",!0),Me(d)&&Le(d)?.account_label?(o(),u("p",{key:2,class:"text-[13px] text-secondary-500 mt-1 truncate",title:Le(d).account_label},t(Le(d).account_label),9,Xo)):y("",!0)])]),e(M)?(o(),u("div",Yo,[ot(d)?y("",!0):(o(),V(b,{key:0,icon:"mosy:pen",color:"secondary",variant:"ghost",size:"xs",class:"px-3! py-2.5!",onClick:Re=>ve(d)},null,8,["onClick"])),s(b,{icon:"mosy:trash",color:"secondary",variant:"ghost",size:"xs",class:"px-3! py-2.5!","aria-label":i.$t("common.delete"),onClick:je(Re=>
1Te(d),["stop"])},null,8,["aria-label","onClick"])])):y("",!0)]),l("div",el,[(o(!0),u(te,null,Ce(d.category,Re=>(o(),V(dt,{key:Re,size:"sm",color:"secondary",variant:"subtle",class:"bg-secondary-100! text-secondary-700! mo-custom-badge mo-custom-badge-no-colors"},{default:n(()=>[m(t(i.$t(`agency.connectors.category.${Re}`)),1)]),_:2},1024))),128)),s(dt,{size:"sm",class:Se(["mo-custom-badge mo-custom-badge-no-colors ring-1 ring-secondary-300",[{"bg-marble-500! ring-marble-400! text-white!":R(d).color=="primary"},{"ring-error-200!":R(d).color=="error"}]]),color:R(d).color,variant:"subtle",icon:R(d).icon,title:e(Z)(d)},{default:n(()=>[m(t(i.$t(`agency.connectors.${R(d).label}`)),1)]),_:2},1032,["class","color","icon","title"]),Me(d)?(o(),V(dt,{key:0,size:"sm",class:Se(["mo-custom-badge mo-custom-badge-no-colors ring-1",Ke(d)==="connected"?"bg-marble-500! ring-marble-400! text-white!":Ke(d)==="failed"?"ring-error-200!":"ring-secondary-300"]),color:Ke(d)==="failed"?"error":Ke(d)==="connected"?"primary":"secondary",variant:"subtle",icon:Ke(d)==="connected"?"mosy:circle-check":Ke(d)==="failed"?"mosy:circle-exclamation":"mosy:user-clock",title:Le(d)?.status_message||""},{default:n(()=>[m(t(i.$t(`agency.connectors.grant_${Ke(d)}`)),1)]),_:2},1032,["class","color","icon","title"])):y("",!0),ie(d)?(o(),V(b,{key:1,size:"sm",color:"secondary",variant:"ghost",icon:"mosy:list-check",title:i.$t("agency.connectors.accounts_check"),class:"px-3! py-1.5! text-[12px]! mo-button-small",onClick:je(Re=>r(d),["stop"])},{default:n(()=>[m(t(i.$t("agency.connectors.accounts_check")),1)]),_:1},8,["title","onClick"])):y("",!0)]),e(M)||Me(d)?(o(),u("div",tl,[Me(d)?(o(),V(b,{key:0,block:"",size:"sm",color:"secondary",variant:"subtle",icon:"mosy:globe-pointer",loading:e(Ye)===d.id||e(oe)===d.id,onClick:je(Re=>c(d),["stop"])},{default:n(()=>[m(t(Le(d)?i.$t("agency.connectors.grant_reconnect"):i.$t("agency.connectors.grant_connect")),1)]),_:2},1032,["loading","onClick"])):y("",!0),Me(d)&&Le(d)?(o(),V(b,{key:1,size:"sm",color:"secondary",variant:"ghost",icon:"mosy:link-slash",class:"shrink-0 px-3!",title:i.$t("agency.connectors.grant_disconnect"),"aria-label":i.$t("agency.connectors.grant_disconnect"),onClick:je(Re=>Q(d),["stop"])},null,8,["title","aria-label","onClick"])):e(M)&&!Me(d)?(o(),V(b,{key:2,block:"",size:"sm",color:"secondary",variant:"subtle",icon:Ae(d)==="oauth"?"mosy:globe-pointer":"mosy:circle-check",loading:e(oe)===d.id,onClick:je(Re=>Be(d),["stop"])},{default:n(()=>[m(t(Ae(d)==="mcp"?i.$t("agency.connectors.reconnect"):Ae(d)==="oauth"?i.$t("agency.connectors.reauth"):i.$t("agency.connectors.test")),1)]),_:2},1032,["icon","loading","onClick"])):y("",!0),se&&d.kind==="mcp"&&d.status==="connected"?(o(),V(b,{key:3,size:"sm",color:"secondary",variant:"subtle",icon:"mosy:list-check",loading:e(X)===d.id,title:i.$t("agency.connectors.tools_test"),onClick:je(Re=>Fe(d),["stop"])},{default:n(()=>[m(t(i.$t("agency.connectors.tools_test")),1)]),_:1},8,["loading","title","onClick"])):y("",!0)])):y("",!0)]),_:2},1024))),128))])):(o(),V(jt,{key:2,icon:"mosy:globe-pointer",title:i.$t("agency.connectors.empty_title"),description:i.$t("agency.connectors.empty_desc")},{default:n(()=>[e(M)?(o(),V(b,{key:0,color:"secondary",icon:"mosy:circle-plus",onClick:D},{default:n(()=>[m(t(i.$t("agency.connectors.new")),1)]),_:1})):y("",!0)]),_:1},8,["title","description"])),s(Bt,{open:e(pe),"onUpdate:open":$[0]||($[0]=d=>Ne(pe)?pe.value=d:null),providers:e(g),connector:e(ze)},null,8,["open","providers","connector"]),s(ut,{open:e(ge),close:!1,ui:{content:"max-w-xl"},"onUpdate:open":$[3]||($[3]=d=>ge.value=d)},{title:n(()=>[l("div",nl,[s(We,{name:"mosy:arrows-rotate",class:"text-secondary-500 shrink-0"}),m(" "+t(i.$t("agency.connectors.accounts_title"))+" ",1),e(be)?(o(),u("span",ol," · "+t(e(be).name),1)):y("",!0)])]),body:n(()=>[e(_e)?(o(),u("div",ll,[s(We,{name:"i-lucide-loader-2",class:"animate-spin w-4 h-4"}),m(" "+t(i.$t("agency.connectors.accounts_loading")),1)])):(o(),u(te,{key:1},[e(be)?.accounts_cached_at?e(be)?.accounts_cache?.length?(o(),u(te,{key:2},[l("ul",il,[(o(!0),u(te,null,Ce(e(be).accounts_cache,d=>(o(),u("li",{key:d.id,class:"py-2.5 flex items-start gap-3 justify-between max-[479px]:flex-col"},[l("div",cl,[l("span",{class:Se(["w-2 h-2 rounded-full shrink-0 mt-1.5",{"bg-success-500":d.enabled===!0,"bg-amber-400":d.enabled===!1,"bg-secondary-300":d.enabled===null}])},null,2),l("div",rl,[l("p",dl,t(d.name||d.id),1),l("p",ul,[d.business?(o(),u("span",ml,t(d.business)+" · ",1)):y("",!0),l("span",pl,t(d.id),1),d.currency?(o(),u("span",fl," · "+t(d.currency),1)):y("",!0)]),d.enabled===!1&&d.reason?(o(),u("p",gl,t(d.reason),1)):y("",!0)])]),l("span",{class:Se(["text-xs shrink-0 mt-0.5 mo-custom-badge",d.enabled===!1?"text-amber-600 mo-cu
1stom-badge-warn":"text-secondary-600"])},t(d.enabled===!0?i.$t("agency.connectors.account_enabled"):d.enabled===!1?i.$t("agency.connectors.account_pending"):i.$t("agency.connectors.account_unknown")),3)]))),128))]),l("p",yl,t(i.$t("agency.connectors.accounts_checked_at",{date:ue(e(be))})),1)],64)):(o(),u("p",al,t(i.$t("agency.connectors.accounts_none")),1)):(o(),u("p",sl,t(e(me)?i.$t("agency.connectors.accounts_never"):i.$t("agency.connectors.accounts_never_member")),1))],64))]),footer:n(()=>[l("div",_l,[e(me)?(o(),V(b,{key:0,size:"sm",color:"secondary",variant:"subtle",icon:"i-lucide-refresh-cw",loading:!!e(_e),disabled:!e(Y),title:e(Y)?void 0:i.$t("agency.connectors.accounts_cooldown",{min:e(H)}),onClick:$[1]||($[1]=d=>f(e(be)))},{default:n(()=>[m(t(e(Y)?i.$t("agency.connectors.accounts_refresh"):i.$t("agency.connectors.accounts_cooldown",{min:e(H)})),1)]),_:1},8,["loading","disabled","title"])):(o(),u("span",vl)),s(b,{variant:"subtle",color:"secondary",onClick:$[2]||($[2]=d=>ge.value=!1)},{default:n(()=>[m(t(i.$t("common.close")),1)]),_:1})])]),_:1},8,["open"]),s(ut,{open:e(Ve),close:!1,"onUpdate:open":$[5]||($[5]=d=>Ve.value=d)},{title:n(()=>[l("div",hl,[s(We,{name:"mosy:link-slash",class:"text-secondary-500 shrink-0"}),m(" "+t(i.$t("agency.connectors.grant_disconnect_title")),1)])]),description:n(()=>[m(t(i.$t("agency.connectors.grant_disconnect_desc",{name:e(Ee)?.name})),1)]),footer:n(()=>[l("div",kl,[s(b,{variant:"subtle",color:"secondary",onClick:$[4]||($[4]=d=>Ve.value=!1)},{default:n(()=>[m(t(i.$t("common.cancel")),1)]),_:1}),s(b,{color:"error",icon:"mosy:link-slash",loading:e(Oe),onClick:k},{default:n(()=>[m(t(i.$t("agency.connectors.grant_disconnect")),1)]),_:1},8,["loading"])])]),_:1},8,["open"]),s(ut,{open:e(we),close:!1,"onUpdate:open":$[7]||($[7]=d=>we.value=d)},{title:n(()=>[l("div",bl,[s(We,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),m(" "+t(i.$t("agency.connectors.delete_title")),1)])]),description:n(()=>[m(t(i.$t("agency.connectors.delete_desc",{name:e(fe)?.name})),1)]),footer:n(()=>[l("div",$l,[s(b,{variant:"subtle",color:"secondary",onClick:$[6]||($[6]=d=>we.value=!1)},{default:n(()=>[m(t(i.$t("common.cancel")),1)]),_:1}),s(b,{color:"error",icon:"mosy:trash",loading:e(Ie),onClick:lt},{default:n(()=>[m(t(i.$t("common.delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"])])}}},wl={class:"flex items-center gap-2"},Cl={class:"flex flex-col gap-4"},Ul={class:"grid sm:grid-cols-2 gap-4"},Il={class:"flex justify-end gap-2 w-full"},Vl={__name:"AppSkillModal",props:{open:{type:Boolean,default:!1},skill:{type:Object,default:null}},emits:["update:open","saved"],setup(Ue,{emit:F}){const x=Ue,A=F,{t:J}=De(),ne=et(),{create:W,update:xe}=yt(),he=["text","image","design","video","audio","analytics","seo","ads","publishing","marketing","crm","accounting","other"],ce=v(()=>he.map(h=>({label:J(`agency.connectors.category.${h}`),value:h})).sort((h,j)=>h.label.localeCompare(j.label))),ye=v(()=>[{label:J("agency.skills.visibility_organization"),value:"organization"},{label:J("agency.skills.visibility_private"),value:"private"}]),C=mt({name:"",description:"",instruction:"",exampleOutput:"",category:null,visibility:"organization"}),ae=z(!1),q=v(()=>!!x.skill),oe=v(()=>C.name.trim().length>0&&C.instruction.trim().length>0);function L(){A("update:open",!1)}Qe({escape:{usingInput:!0,handler:()=>{x.open&&L()}}});function T(){C.name="",C.description="",C.instruction="",C.exampleOutput="",C.category=null,C.visibility="organization"}function Z(h){C.name=h.name??"",C.description=h.description??"",C.instruction=h.instruction??"",C.exampleOutput=h.example_output??"",C.category=h.category??null,C.visibility=h.visibility??"organization"}Pe(()=>x.open,h=>{h&&(x.skill?Z(x.skill):T())});async function p(){if(!oe.value||ae.value)return;ae.value=!0;const h={name:C.name.trim(),description:C.description.trim()||null,instruction:C.instruction.trim(),example_output:C.exampleOutput.trim()||null,category:C.category||null,visibility:C.visibility};try{const j=q.value?await xe(x.skill.id,h):await W(h);A("saved",j),L()}catch(j){ne.add({class:"mo-toast",title:J("common.error"),description:j?.message,color:"error"})}finally{ae.value=!1}}return(h,j)=>{const le=Ge,re=ft,ee=gt,I=Mt,M=rt,E=qe,U=Je;return o(),V(U,{open:Ue.open,close:!1,"onUpdate:open":L},{title:n(()=>[l("div",wl,[s(le,{name:e(q)?"mosy:pen":"mosy:circle-plus",class:"text-secondary-500 shrink-0"},null,8,["name"]),m(" "+t(e(q)?h.$t("agency.skills.modal_title_edit"):h.$t("agency.skills.modal_title")),1)])]),description:n(()=>
1[m(t(h.$t("agency.skills.modal_desc")),1)]),body:n(()=>[l("div",Cl,[s(ee,{label:h.$t("agency.skills.field_name"),required:""},{default:n(()=>[s(re,{modelValue:e(C).name,"onUpdate:modelValue":j[0]||(j[0]=B=>e(C).name=B),placeholder:h.$t("agency.skills.field_name_ph"),class:"w-full",autofocus:""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(ee,{label:h.$t("agency.skills.field_description"),hint:h.$t("common.optional")},{default:n(()=>[s(re,{modelValue:e(C).description,"onUpdate:modelValue":j[1]||(j[1]=B=>e(C).description=B),placeholder:h.$t("agency.skills.field_description_ph"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"]),s(ee,{label:h.$t("agency.skills.field_instruction"),required:""},{default:n(()=>[s(I,{modelValue:e(C).instruction,"onUpdate:modelValue":j[2]||(j[2]=B=>e(C).instruction=B),rows:2,autoresize:"",maxrows:20,placeholder:h.$t("agency.skills.field_instruction_ph"),class:"w-full",ui:{base:"min-h-[150px]!"}},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(ee,{label:h.$t("agency.skills.field_example"),hint:h.$t("common.optional")},{default:n(()=>[s(I,{modelValue:e(C).exampleOutput,"onUpdate:modelValue":j[3]||(j[3]=B=>e(C).exampleOutput=B),rows:2,autoresize:"",maxrows:12,placeholder:h.$t("agency.skills.field_example_ph"),class:"w-full",ui:{base:"min-h-[150px]!"}},null,8,["modelValue","placeholder"])]),_:1},8,["label","hint"]),l("div",Ul,[s(ee,{label:h.$t("agency.skills.field_category"),hint:h.$t("common.optional")},{default:n(()=>[s(M,{modelValue:e(C).category,"onUpdate:modelValue":j[4]||(j[4]=B=>e(C).category=B),items:e(ce),"value-key":"value",class:"w-full"},null,8,["modelValue","items"])]),_:1},8,["label","hint"]),s(ee,{label:h.$t("agency.skills.field_visibility")},{default:n(()=>[s(M,{modelValue:e(C).visibility,"onUpdate:modelValue":j[5]||(j[5]=B=>e(C).visibility=B),items:e(ye),"value-key":"value","search-input":!1,class:"w-full"},null,8,["modelValue","items"])]),_:1},8,["label"])])])]),footer:n(()=>[l("div",Il,[s(E,{variant:"subtle",color:"secondary",onClick:L},{default:n(()=>[m(t(h.$t("common.cancel")),1)]),_:1}),s(E,{color:"secondary",icon:e(q)?"i-lucide-check":"mosy:circle-plus",loading:e(ae),disabled:!e(oe),onClick:p},{default:n(()=>[m(t(h.$t("agency.skills.modal_submit")),1)]),_:1},8,["icon","loading","disabled"])])]),_:1},8,["open"])}}},Al={key:0,class:"mb-4 flex items-center justify-end"},Ml={key:1,class:"flex justify-center py-12"},Sl={key:0,class:"mb-8"},zl={class:"text-[16px] font-semibold font-waden text-secondary-600 mb-4"},Tl={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3"},Ol={class:"flex items-start gap-2"},Ll={class:"min-w-0 flex-1"},jl={class:"font-semibold text-secondary-600 truncate mo-custom-theme-heading"},El={key:0,class:"text-sm text-secondary-500 mt-0.5 line-clamp-2"},Kl={class:"flex items-center gap-1.5 mt-3 flex-wrap"},Bl={key:1},Rl={class:"text-[15px] font-semibold font-waden text-secondary-600 mb-3"},Pl={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3"},Nl={class:"flex items-start gap-2"},Dl={class:"min-w-0 flex-1"},ql={class:"font-semibold text-marble-400 truncate"},Gl={key:0,class:"text-sm text-secondary-500 mt-0.5 line-clamp-2"},Fl={class:"flex items-center gap-1.5 mt-3 flex-wrap"},Wl={class:"flex items-center gap-2"},Jl={class:"flex gap-2 justify-end w-full"},Ql={__name:"AppIntelligenceSkills",setup(Ue){const{t:F}=De(),{can:x}=tt(),A=v(()=>x("manage_skills")),J=v(()=>x("delete_skills")),{items:ne,curated:W,loading:xe,fetch:he,fetchCurated:ce,remove:ye}=yt(),{items:C,fetch:ae}=_t(),q=z(!1),oe=z(null),L=z(!1),T=z(null),Z=z(!1);at(()=>{he(),ce(),ae()});const p=v(()=>{const I={};for(const M of C.value)for(const E of M.agent_skills??[])I[E.skill_id]=(I[E.skill_id]??0)+1;return I});function h(I){return p.value[I.id]??0}function j(){oe.value=null,q.value=!0}function le(I){oe.value=I,q.value=!0}function re(I){T.value=I,L.value=!0}async function ee(){if(!(Z.value||!T.value)){Z.value=!0;try{await ye(T.value.id),L.value=!1,T.value=null}finally{Z.value=!1}}}return Qe({escape:{usingInput:!0,handler:()=>{L.value&&(L.value=!1)}},enter:{handler:()=>{L.value&&ee()}}}),(I,M)=>{const E=qe,U=Ge,B=it,P=Xe,X=ct,_e=Vl,ge=Je;return o(),u("div",null,[(e(ne).length||e(W).length)&&e(A)?(o(),u("div",Al,[s(E,{color:"secondary",icon:"mosy:circle-plus",onClick:j},{default:n(()=>[m(t(I.$t("agency.skills.new")),1)]),_:1})])):y("",!0),e(xe)?(o(),u("div",Ml,[s(U,{name:"i-lucide-loader-circle",class:"w-6 h-6 animate-spin text-secondary-300"})])):!e(ne).length&&!e(W).length?(o(),V(B,{key:2,icon:"mosy:rocket-launch",title:I.$t("agency.skills.empty_title"),description:I.$t("agency.skills.empty_desc")},{default:n(()=>[e(A)?(o(),V(E,{key:0,color:"secondary",icon:"mosy:circle-plus",onClick:j},{default:n(()=>[m(t(I.$t("agency.skills.new")),1)]),_:1})):y("",!0)]),_:1},8,["title","description"])):(o(),u(te,{key:3},[e(ne).length?(o(),u("div",Sl,[l("p",zl,t(I.$t("agency.skills.own_title")),1),l("div",Tl,[(o(!0),u(te,null,Ce(e(ne),O=>(o(),V(X,{key:O.id,class:Se(e(A)?"cursor-pointer":"no-hover"),role:e(A)?"button":void 0,tabindex:e(A)?0:void 0,onClick:_=>e(A)&&le(O),onKeydown:pt(_=>e(A)&&le(O),["enter"])},{default:n(()=>[l("div",Ol,[l("div",Ll,[l("p",jl,t(O.name),1),O.description?(o(),u("p",El,t(O.description),1)):y("",!0)]),e(J)?(o(),V(E,{key:0,icon:"mosy:trash",color:"secondary",variant:"ghost",size:"xs",class:"shrink-0","aria-label":I.$t("common.delete"),onClick:je(_=>re(O),["stop"])},null,8,["aria-label","onClick"])):y("",!0)]),l("div",Kl,[O.category?(o(),V(P,{key:0,size:"sm",color:"secondary",variant:"subtle",class:"px-3 rounded-2xl ring-1 ring-secondary-300 py-1! text-[11px]! font-medium!"},{default:n(()=>[m(t(I.$t(`agency.connectors.category.${O.category}`)),1)]),_:2},1024)):y("",!0),s(P,{size:"sm",color:"secondary",variant:"subtle",class:"px-3 rounded-2xl ring-1 ring-secondary-300 py-1! text-[11px]! font-medium!",icon:"mosy:users"},{default:n(()=>[m(t(I.$t("agency.skills.used_by_agents",{count:h(O)})),1)]),_:2},1024),O.visibility==="private"?(o(),V(P,{key:1,size:"sm",color:"neutral",variant:"subtle",class:"px-3 rounded-2xl ring-1 ring-secondary-300 py-1! text-[11px]! font-medium!",icon:"i-lucide-lock"},{default:n(()=>[m(t(I.$t("agency.skills.visibility_private")),1)]),_:1})):y("",!0)])]),_:2},1032,["class","role","tabindex","onClick","onKeydown"]))),128))])])):y("",!0),e(W).length?(o(),u("div",Bl,[l("p",Rl,t(I.$t("agency.skills.curated_title")),1),l("div",Pl,[(o(!0),u(te,null,Ce(e(W),O=>(o(),V(X,{key:O.id,class:"no-hover"},{default:n(()=>[l("div",Nl,[l("div",Dl,[l("p",ql,t(O.name),1),O.description?(o(),u("p",Gl,t(O.description),1)):y("",!0)]),s(P,{size:"sm",color:"secondary",variant:"subtle",class:"shrink-0 rounded-2xl ring-1 ring-secondary-300"},{default:n(()=>[m(t(I.$t("agency.skills.curated_badge")),1)]),_:1})]),l("div",Fl,[O.category?(o(),V(P,{key:0,size:"sm",color:"secondary",variant:"subtle",class:"px-3 rounded-2xl ring-1 ring-secondary-300 py-1!"},{default:n(()=>[m(t(I.$t(`agency.connectors.category.${O.category}`)),1)]),_:2},1024)):y("",!0),s(P,{size:"sm",color:"secondary",variant:"subtle",class:"px-3 rounded-2xl ring-1 ring-secondary-300 py-1!",icon:"mosy:users"},{default:n(()=>[m(t(I.$t("agency.skills.used_by_agents",{count:h(O)})),1)]),_:2},1024)])]),_:2},1024))),128))])])):y("",!0)],64)),s(_e,{open:e(q),"onUpdate:open":M[0]||(M[0]=O=>Ne(q)?q.value=O:null),skill:e(oe)},null,8,["open","skill"]),s(ge,{open:e(L),close:!1,"onUpdate:open":M[2]||(M[2]=O=>L.value=O)},{title:n(()=>[l("div",Wl,[s(U,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),m(" "+t(I.$t("agency.skills.delete_title")),1)])]),description:n(()=>[m(t(I.$t("agency.skills.delete_desc",{name:e(T)?.name})),1)]),footer:n(()=>[l("div",Jl,[s(E,{variant:"subtle",color:"secondary",onClick:M[1]||(M[1]=O=>L.value=!1)},{default:n(()=>[m(t(I.$t("common.cancel")),1)]),_:1}),s(E,{color:"error",icon:"mosy:trash",loading:e(Z),onClick:ee},{default:n(()=>[m(t(I.$t("common.delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"])])}}},Zl={key:0,class:"mb-5 flex items-center justify-between gap-3 flex-wrap mo-form-items"},Hl={class:"hidden min-[1341px]:flex items-center gap-1.5 flex-wrap"},Xl={class:"flex items-center gap-2 flex-wrap justify-end"},Yl={key:1,class:"mb-5 flex items-center gap-2 flex-wrap rounded-2xl bg-secondary-100/70 ring ring-secondary-300 px-3 py-2"},es={class:"text-sm text-secondary-600"},ts={key:2,class:"flex justify-center py-12"},ns={key:4,class:"grid gap-3.5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-2 xl:grid-cols-3"},os={class:"flex items-start gap-2"},ls={class:"min-w-0 flex-1"},ss={class:"flex items-center gap-1.5"},as={class:"font-waden text-[17px] text-secondary-600 truncate mo-custom-theme-heading"},is={class:"text-[13px] text-secondary-600/90 mt-1 line-clamp-3"},cs={class:"flex items-center gap-2 mt-2 flex-wrap"},rs={class:"flex items-center gap-2"},ds={class:"flex gap-2 justify-end w-full"},us={class:"flex items-center gap-2"},ms={class:"flex flex-col gap-1 mt-4 max-h-52 overflow-y-auto text-secondary-600 p-3.5 rounded-xl ring ring-secondary-300 bg-secondary-100/70"},ps={class:"flex gap-2 justify-end w-full"},fs={__name:"AppIntelligenceKnowledge",setup(Ue){const{t:F}=De(),x=et(),{can:A}=tt(),J=v(()=>A("manage_knowledge")),ne=v(()=>A("delete_knowledge")),{items:W,loading:xe,fetch:he,remove:ce,removeMany:ye}=tn(),C=["company","product","audience","tone","process","other"],ae=/\[\[([^\]]+)\]\]/g,q=z(!1),oe=z(null),L=z("all"),T=z(!1),Z=z(null),p=z(!1);at(he);const h=v(()=>L.value==="all"?W.value:W.value.filter(_=>_.kind===L.value)),j=v(()=>[...C].sort((_,S)=>F(`agency.knowledge.kinds.${_}`).localeCompare(F(`agency.knowledge.kinds.${S}`)))),le=v(()=>[{label:F("agency.knowledge.filter_all"),value:"all"},...j.value.map(_=>({label:F(`agency.knowledge.kinds.${_}`),value:_}))]),re=v(()=>{const _=new Map;for(const S of W.value)_.set(S.title.trim().toLowerCase(),S);return _});function ee(_){const S=[];for(const G of(_.content||"").matchAll(ae)){const Y=G[1].trim();S.push({title:Y,target:re.value.get(Y.toLowerCase())||null})}return S}function I(_){_.target&&J.value&&E(_.target)}function M(){oe.value=null,q.value=!0}function E(_){oe.value=_,q.value=!0}const U=nn(v(()=>h.value.map(_=>_.id)));function B(_){U.active.value?U.toggle(_.id):J.value&&E(_)}const P=z(!1),X=z(!1);async function _e(){if(X.value||!U.count.value)return;X.value=!0;const _=U.count.value;try{const S=await ye([...U.selected.value]);P.value=!1,U.stop(),S.length<_&&x.add({class:"mo-toast",color:"warning",title:F("agency.knowledge.bulk_partial",{done:S.length,total:_})})}catch(S){x.add({class:"mo-toast",title:F("common.error"),description:S?.message,color:"error"})}finally{X.value=!1}}function ge(_){Z.value=_,T.value=!0}async function O(){if(!(p.value||!Z.value)){p.value=!0;try{await ce(Z.value.id),T.value=!1,Z.value=null}finally{p.value=!1}}}return Qe({escape:{usingInput:!0,handler:()=>{T.value?T.value=!1:P.value?P.value=!1:U.active.value&&U.stop()}},enter:{handler:()=>{T.value?O():P.value&&_e()}}}),(_,S)=>{const G=qe,Y=rt,H=zt,ke=Ge,be=it,r=Xe,de=ct,ie=Xt,me=Je;return o(),u("div",null,[e(W).length?(o(),u("div",Zl,[l("div",Hl,[
1s(G,{size:"xs",color:(e(L)==="all","secondary"),variant:e(L)==="all"?"subtle":"ghost",class:"rounded-2xl",onClick:S[0]||(S[0]=a=>L.value="all")},{default:n(()=>[m(t(_.$t("agency.knowledge.filter_all")),1)]),_:1},8,["color","variant"]),(o(!0),u(te,null,Ce(e(j),a=>(o(),V(G,{key:a,size:"xs",color:(e(L)===a,"secondary"),variant:e(L)===a?"subtle":"ghost",class:"rounded-2xl",onClick:f=>L.value=a},{default:n(()=>[m(t(_.$t(`agency.knowledge.kinds.${a}`)),1)]),_:2},1032,["color","variant","onClick"]))),128))]),s(Y,{modelValue:e(L),"onUpdate:modelValue":S[1]||(S[1]=a=>Ne(L)?L.value=a:null),items:e(le),"value-key":"value","search-input":!1,size:"sm",class:"min-[1341px]:hidden mo-select mo-select-is-small w-auto! min-w-40! pr-8! mo-select",ui:{content:"mo-select-menu-hover-items"}},null,8,["modelValue","items"]),l("div",Xl,[e(ne)?(o(),V(G,{key:0,color:(e(U).active.value,"secondary"),variant:e(U).active.value?"solid":"subtle",icon:"mosy:list-check",onClick:S[2]||(S[2]=a=>e(U).toggleMode())},{default:n(()=>[m(t(e(U).active.value?_.$t("common.cancel"):_.$t("common.select")),1)]),_:1},8,["color","variant"])):y("",!0),e(J)?(o(),V(G,{key:1,color:"secondary",icon:"mosy:circle-plus",onClick:M},{default:n(()=>[m(t(_.$t("agency.knowledge.add")),1)]),_:1})):y("",!0)])])):y("",!0),e(U).active.value?(o(),u("div",Yl,[s(H,{"model-value":e(U).allSelected.value,label:_.$t("common.select_all"),color:"secondary","onUpdate:modelValue":S[3]||(S[3]=a=>e(U).toggleAll())},null,8,["model-value","label"]),l("span",es,t(_.$t("common.n_selected",{count:e(U).count.value})),1),S[10]||(S[10]=l("span",{class:"flex-1"},null,-1)),s(G,{color:"error",variant:"subtle",icon:"mosy:trash",size:"xs",disabled:!e(U).count.value,onClick:S[4]||(S[4]=a=>P.value=!0)},{default:n(()=>[m(t(_.$t("common.delete")),1)]),_:1},8,["disabled"])])):y("",!0),e(xe)?(o(),u("div",ts,[s(ke,{name:"i-lucide-loader-circle",class:"w-6 h-6 animate-spin text-secondary-300"})])):e(W).length?(o(),u("div",ns,[(o(!0),u(te,null,Ce(e(h),a=>(o(),V(de,{key:a.id,class:Se(["transition-shadow",[e(U).isSelected(a.id)?"ring-2! ring-secondary-300":"",e(U).active.value||e(J)?"cursor-pointer":"no-hover"]]),role:e(U).active.value||e(J)?"button":void 0,tabindex:e(U).active.value||e(J)?0:void 0,onClick:f=>B(a),onKeydown:pt(f=>B(a),["enter"])},{default:n(()=>[l("div",os,[e(U).active.value?(o(),V(H,{key:0,"model-value":e(U).isSelected(a.id),class:"shrink-0 pointer-events-none mt-0.5",color:"secondary","aria-label":a.title},null,8,["model-value","aria-label"])):y("",!0),l("div",ls,[l("div",ss,[a.pinned?(o(),V(ke,{key:0,name:"mosy:thumbtack-angle",class:"w-3.5 h-3.5 shrink-0 text-secondary-500",title:_.$t("agency.knowledge.pinned_badge")},null,8,["title"])):y("",!0),l("p",as,t(a.title),1)]),l("p",is,t(a.content),1)]),!e(U).active.value&&e(ne)?(o(),V(G,{key:1,icon:"mosy:trash",color:"secondary",variant:"ghost",size:"xs",class:"shrink-0","aria-label":_.$t("common.delete"),onClick:je(f=>ge(a),["stop"])},null,8,["aria-label","onClick"])):y("",!0)]),l("div",cs,[s(r,{size:"sm",color:"secondary",variant:"subtle",class:"mo-custom-badge mo-custom-badge-no-colors"},{default:n(()=>[m(t(_.$t(`agency.knowledge.kinds.${a.kind}`)),1)]),_:2},1024),(o(!0),u(te,null,Ce(ee(a),(f,ue)=>(o(),V(r,{key:ue,size:"sm",color:f.target?"secondary":"neutral",variant:"soft",class:Se(["rounded-2xl",f.target?"cursor-pointer":"opacity-60"]),icon:"i-lucide-link",onClick:je(g=>I(f),["stop"])},{default:n(()=>[m(t(f.title),1)]),_:2},1032,["color","class","onClick"]))),128))])]),_:2},1032,["class","role","tabindex","onClick","onKeydown"]))),128))])):(o(),V(be,{key:3,icon:"mosy:sparkles",title:_.$t("agency.knowledge.empty_title"),description:_.$t("agency.knowledge.empty_desc")},{default:n(()=>[e(J)?(o(),V(G,{key:0,color:"secondary",icon:"mosy:circle-plus",onClick:M},{default:n(()=>[m(t(_.$t("agency.knowledge.add")),1)]),_:1})):y("",!0)]),_:1},8,["title","description"])),s(ie,{open:e(q),"onUpdate:open":S[5]||(S[5]=a=>Ne(q)?q.value=a:null),entry:e(oe)},null,8,["open","entry"]),s(me,{open:e(T),close:!1,"onUpdate:open":S[7]||(S[7]=a=>T.value=a)},{title:n(()=>[l("div",rs,[s(ke,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),m(" "+t(_.$t("agency.knowledge.delete_title")),1)])]),description:n(()=>[m(t(_.$t("agency.knowledge.delete_desc",{title:e(Z)?.title})),1)]),footer:n(()=>[l("div",ds,[s(G,{variant:"subtle",color:"secondary",onClick:S[6]||(S[6]=a=>T.value=!1)},{default:n(()=>[m(t(_.$t("common.cancel")),1)]),_:1}),s(G,{color:"error",icon:"mosy:trash",loading:e(p),onClick:O},{default:n(()=>[m(t(_.$t("common.delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"]),s(me,{open:e(P),close:!1,class:"mo-modal-content-full","onUpdate:open":S[9]||(S[9]=a=>P.value=a)},{title:n(()=>[l("div",us,[s(ke,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),m(" "+t(_.$t("agency.knowledge.bulk_delete_title",e(U).count.value)),1)])]),description:n(()=>[m(t(_.$t("agency.knowledge.bulk_delete_desc"))+" ",1),l("ul",ms,[(o(!0),u(te,null,Ce(e(h).filter(a=>e(U).isSelected(a.id)),a=>(o(),u("li",{key:a.id,class:"truncate text-[13px] font-waden"},t(a.title),1))),128))])]),footer:n(()=>[l("div",ps,[s(G,{variant:"subtle",color:"secondary",onClick:S[8]||(S[8]=a=>P.value=!1)},{default:n(()=>[m(t(_.$t("common.cancel")),1)]),_:1}),s(G,{color:"error",icon:"mosy:trash",loading:e(X),onClick:_e},{default:n(()=>[m(t(_.$t("common.delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"])])}}},gs={class:"p-6 mo-dashboard-panel-inner"},ys={key:0,class:"mb-2 mo-dashboard-title-section mo-set-custom-mb"},_s={class:"text-[40px] max-md:text-[36px] mo-title-section-heading text-secondary-700 font-bold"},vs={class:"text-base mt-1.5 text-secondary-500 font-medium"},hs={class:"mb-2 mo-dashboard-title-section mo-set-custom-mb"},ks={class:"text-[40px] max-md:text-[36px] mo-title-section-heading text-secondary-700 font-bold"},bs={class:"text-base mt-1.5 text-secondary-500 font-medium"},$s={class:"mo-intel-tabs-mobile mb-2 mo-dashboard-panel-content"},xs={class:"truncate max-w-44 font-semibold text-secondary-600"},ws={class:"pt-4 pb-6"},Cs={class:"pt-4 pb-6"},Us={class:"pt-4 pb-6"},Is={class:"pt-4 pb-6"},Vs={__name:"index",setup(Ue){const F=Vt(),x=Ft(),{t:A}=De(),{currentOrg:J,loading:ne,canAccessIntelligence:W}=tt();Wt(()=>{ne.value||!J.value||W.value||x.replace("/")});const{can:xe,ready:he}=nt(),ce=["agents","connectors","skills","knowledge"];function ye(){if(F.query.connected!=null)return"connectors";const T=Array.isArray(F.query.tab)?F.query.tab[0]:F.query.tab;return ce.includes(T)?T:"agents"}const C=z(ye());Pe(C,T=>{x.replace({query:{...F.query,tab:T}})});const ae=v(()=>[{value:"agents",label:A("nav.agents"),icon:"mosy:robot",slot:"agents"},{value:"connectors",label:A("nav.connectors"),icon:"mosy:globe-pointer",slot:"connectors"},{value:"skills",label:A("nav.skills"),icon:"mosy:rocket-launch",slot:"skills"},{value:"knowledge",label:A("nav.knowledge"),icon:"mosy:books",slot:"knowledge"}]),q=z(!1),oe=v(()=>ae.value.find(T=>T.value===C.value)),L=v(()=>[ae.value.map(T=>({label:T.label,icon:T.icon,isActive:T.value===C.value,class:T.value===C.value?"font-semibold!":"",onSelect(){C.value=T.value}}))]);return Jt(ln(F.name,!1)),(T,Z)=>{const p=Rt,h=qe,j=Ge,le=Qt,re=oo,ee=xl,I=Ql,M=fs,E=on;return o(),u("div",gs,[e(he)&&!e(xe)("intelligence")?(o(),u("div",ys,[l("h1",_s,t(T.$t("nav.intelligence")),1),l("p",vs,t(T.$t("agency.intelligence.subtitle")),1),s(p,{title:T.$t("upsell.intelligence_title"),class:"mo-dashboard-panel-content mt-6"},null,8,["title"])])):(o(),u(te,{key:1},[l("div",hs,[l("h1",ks,t(T.$t("nav.intelligence")),1),l("p",bs,t(T.$t("agency.intelligence.subtitle")),1)]),l("div",$s,[s(le,{open:e(q),"onUpdate:open":Z[0]||(Z[0]=U=>Ne(q)?q.value=U:null),items:e(L),size:"lg",class:"w-full"},{"item-trailing":n(({item:U})=>[U.isActive?(o(),V(j,{key:0,name:"mosy:circle-check",class:"w-4 h-4 text-secondary-500 shrink-0"})):y("",!0)]),default:n(()=>[s(h,{color:"secondary",variant:"subtle",size:"sm","leading-icon":e(oe)?.icon,"trailing-icon":"i-lucide-chevron-down",class:"px-4! py-2! gap-1.5! w-auto! rounded-[30px]!"},{default:n(()=>[l("span",xs,t(e(oe)?.label),1)]),_:1},8,["leading-icon"])]),_:1},8,["open","items"])]),s(E,{modelValue:e(C),"onUpdate:modelValue":Z[1]||(Z[1]=U=>Ne(C)?C.value=U:null),items:e(ae),color:"secondary",class:"w-full mo-tabs mo-settings-tabs mo-intel-tabs mo-dashboard-panel-content"},{agents:n(()=>[l("div",ws,[s(re)])]),connectors:n(()=>[l("div",Cs,[s(ee)])]),skills:n(()=>[l("div",Us,[s(I)])]),knowledge:n(()=>[l("div",Is,[s(M)])]),_:1},8,["modelValue","items"])],64))])}}},_a=Gt(Vs,[["__scopeId","data-v-31c0ddb3"]]);export{_a 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.