@yeaft/webchat-agent 1.0.391 → 1.0.392
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"1.0.
|
|
1
|
+
{"version":"1.0.392"}
|
|
@@ -1685,7 +1685,7 @@ ${String(e||"").trim()}
|
|
|
1685
1685
|
{{ $t('message.scrollToLatest') }}
|
|
1686
1686
|
</button>
|
|
1687
1687
|
</main>
|
|
1688
|
-
`,emits:["new-conversation","resume-conversation","open-settings","quote-message","edit-message-as-new"],setup(e,{expose:t}){let s=Pinia.useChatStore(),n=$e(),r=typeof window<"u"&&window.Pinia?.useVpStore?window.Pinia.useVpStore():null,i=Vue.inject("t",null),o=Vue.ref(null),a=Vue.ref(null),l=Vue.reactive({}),c=Vue.reactive({}),d=Vue.reactive({}),u=S=>String(S?.id||S?.turnId||S?.messageId||S?.atMessageId||S?.message?.id||"turn_unknown"),p=S=>{let $=u(S);return Object.prototype.hasOwnProperty.call(l,$)?!!l[$]:!1},f=(S,$)=>{l[u(S)]=!!$},g=S=>{let $=S&&(S.turnId||S.id);!$||typeof s.openYeaftTurnDebug!="function"||s.openYeaftTurnDebug({sessionId:L.value||null,turnId:$})},h=({key:S,value:$}={})=>{S&&(c[S]=!!$)},m=S=>{let $=Hf(S,ps);return Number.isFinite($)?$:ps(S)},w=S=>Zi(S),y=S=>{let $=Array.isArray(S?.collapsedResponsePreview)?S.collapsedResponsePreview:$f(S);return Array.isArray($)?$:$?[String($)]:[]},I=S=>{let $=Array.isArray(S?.items)?S.items.find(re=>Lr(re)):null,N=$?.speakerVpId||$?.vpId||$?.message?.speakerVpId||$?.message?.vpId||S?.vpId||"",ce=N&&r&&typeof r.vpLabel=="function"?r.vpLabel(N)||N:N||(typeof i=="function"?i("message.assistant"):"Assistant"),Ie=N&&r&&typeof r.vpTextColor=="function"?{color:r.vpTextColor(N)}:{},de=$?.speakerTimestamp||$?.timestamp||$?.createdAt||$?.message?.timestamp||$?.message?.createdAt||0,Fe="",Ce="";if(de)try{let re=new Date(de);Number.isNaN(re.getTime())||(Fe=Ot(de),Ce=re.toLocaleString())}catch{}return{name:ce,style:Ie,timeText:Fe,fullTimeText:Ce}},b=S=>{let $=Array.isArray(S?.items)?S.items:[];for(let N=$.length-1;N>=0;N-=1)if(Lr($[N]))return $[N];return null},v=(S,$)=>!S?.responseCollapsible||!$?!1:b(S)===$,k=S=>!!(S?.responseCollapsible&&!Zi(S).some($=>v(S,$))),x=S=>{let $=S?.responseCollapseKey;$&&(d[$]=!S.responseCollapsed)},T=S=>{let $=Number(S?.responseCount||0),N=S?.responseCollapsed?"message.showResponses":"message.hideResponses",ce=(typeof i=="function"?i(N):"")||(S?.responseCollapsed?"Show {count} response(s)":"Hide response(s)");return String(ce).replace("{count}",String($))},D=(()=>{try{return window.Pinia?.useSessionsStore?.()||null}catch{return null}}),L=Vue.computed(()=>{if(s.currentView!=="yeaft")return null;let S=D();if(!S)return null;let $=s.yeaftActiveSessionFilter||null;return $&&typeof S.sessionById=="function"&&S.sessionById($,s.currentAgent||null)?$:S.activeSessionId&&typeof S.sessionById=="function"&&S.sessionById(S.activeSessionId,s.currentAgent||null)?S.activeSessionId:null}),E=Vue.computed(()=>{let S=s.currentView||"",$=s.currentAgent||"";if(S==="yeaft"){let N=s.yeaftActiveSessionFilter||L.value||"__all__";return[S,$,N].join("")}return[S,$,s.activeConversationId||""].join("")}),_=Vue.computed(()=>L.value!==null),M=Vue.computed(()=>s.agents.filter(S=>S.online)),A=Vue.ref(null),P=Vue.ref(null),W=Vue.ref(!1),B=Vue.ref(""),K=null,ee=0,ge=n.token||"",le=()=>{A.value=null,P.value=null,B.value="",K=null,ee+=1},ke=Bi(),he=qi(),pe=Vue.computed(()=>Ni({profile:A.value,agentSecret:P.value,serverWsUrl:xr(location)})),R=()=>{let S={"Content-Type":"application/json"};return n.token&&(S.Authorization=`Bearer ${n.token}`),S},z=async()=>{if(M.value.length>0||s.currentConversation)return;if(P.value||K)return K;W.value=!0,B.value="";let S=++ee;return K=(async()=>{let $=n.token||"",N=R(),[ce,Ie]=await Promise.all([fetch("/api/user/profile",{headers:N}),fetch("/api/user/agent-secret",{headers:N})]),de=ce.ok?await ce.json():null;if(S!==ee||$!==(n.token||""))return;if(de&&(A.value=de),!Ie.ok){let re="";try{re=(await Ie.json())?.error||""}catch{}throw new Error(re||"Failed to load Agent secret")}let Fe=await Ie.json();if(S!==ee||$!==(n.token||""))return;let Ce=Fe?.agentSecret||Fe?.agent_secret||null;P.value=Ce&&String(Ce).trim()?String(Ce):null})().catch($=>{S===ee&&(B.value=$?.message||"Failed to load Agent secret")}).finally(()=>{S===ee&&(W.value=!1,K=null)}),K},ie=async S=>{if(S)try{await navigator.clipboard.writeText(S)}catch{}},be=new WeakMap,j=0,ne=(S,$)=>{let N=S?.message&&typeof S.message=="object"?S.message:Array.isArray(S?.messages)&&S.messages[0]&&typeof S.messages[0]=="object"?S.messages[0]:$&&typeof $=="object"?$:S&&typeof S=="object"?S:null;if(!N)return`legacy_render_${++j}`;let ce=be.get(N);return ce||(ce=`legacy_render_${++j}`,be.set(N,ce)),ce},oe=S=>{let $=S?.message||S||null;return S?.entryId||S?.uiKey||S?.stableKey||$?.entryId||$?.uiKey||$?.stableKey||S?.atMessageId||S?.messageId||$?.messageId||S?.id||$?.id||ne(S,$)},te=S=>encodeURIComponent(String(S||"legacy")),X=S=>{let $=S?.message||null,N=oe(S),ce=S?.id||S?.atMessageId||$?.id||$?.messageId||N,Ie=S?.speakerVpId||S?.vpId||$?.speakerVpId||$?.vpId||"";return{id:`message_${te(N)}`,uiKey:N,vpId:Ie,messageId:ce}},F=Vue.computed(()=>{let S=s.currentView==="yeaft"?_f(s.messages):s.messages,$=[],N=null,ce=()=>{if(N){N.isActive=!!(N.turnId&&Object.values(s.activeVpTurns||{}).some(st=>((st?.turnId||null)===N.turnId||!st?.turnId&&s.activeVpTurns?.[N.turnId]===st)&&(!s.currentAgent||!st?.agentId||st.agentId===s.currentAgent))),Ai(N);let Ce=!!(N.textContent||N.todoMsg||N.askMsg||N.imageMsgs.length>0),re=N.toolMsgs.length>0;(Ce||re)&&(N.showSpeakerHeader=!!N.speakerVpId,$.push(N)),N=null}},Ie=Ce=>{if(N){if(!N.speakerVpId){let re=Ce.speakerVpId||Ce.vpId;re&&(N.speakerVpId=re,N.speakerTimestamp=typeof Ce.timestamp=="number"&&Ce.timestamp>0?Ce.timestamp:typeof Ce.createdAt=="number"?Ce.createdAt:0,typeof Ce.lastStateChangeCause=="string"&&!N.speakerStateCause&&(N.speakerStateCause=Ce.lastStateChangeCause))}!N.turnId&&Ce.turnId&&(N.turnId=Ce.turnId)}},de=(Ce=null)=>{let re=oe(Ce);N={type:"assistant-turn",id:`response_${te(re)}`,uiKey:re,...Ce?.entryId?{entryId:Ce.entryId}:{},textContent:"",textSegments:[],isStreaming:!1,isActive:!1,isHistory:!1,todoMsg:null,toolMsgs:[],imageMsgs:[],askMsg:null,messages:[],atMessageId:null,speakerVpId:null,speakerTimestamp:0,speakerStateCause:"",showSpeakerHeader:!1,turnId:null}},Fe=Ce=>{Ef(N,Ce)&&ce()};for(let Ce=0;Ce<S.length;Ce++){let re=S[Ce];if(re.type==="user"){if(!re.content||!re.content.trim())continue;ce(),$.push({type:"user",id:oe(re),message:re});continue}if(re.type==="system"||re.type==="error"){ce(),$.push({type:re.type,id:oe(re),message:re});continue}if(!(re.type==="tool-result"||re.type==="tool_result")){if(re.type==="assistant"){Fe(re),N||de(re),Ci(N,re),re.isStreaming&&(N.isStreaming=!0),re.isHistory&&(N.isHistory=!0),re.id&&/^m\d+$/.test(re.id)&&(N.atMessageId=re.id),Ie(re),N.messages.push(re);continue}if(re.type==="tool-use"){Fe(re),N||de(re),Ie(re);let st=S[Ce+1],Go=st&&(st.type==="tool-result"||st.type==="tool_result"),Js={...re,hasResult:Go||re.hasResult||!1,toolResult:re.toolResult||null};re.isHistory&&(N.isHistory=!0),re.toolName==="TodoWrite"?N.todoMsg=Js:re.toolName==="AskUserQuestion"?N.askMsg=Js:N.toolMsgs.push(Js),N.messages.push(re);continue}if(re.type==="chat-image"){Fe(re),N||de(re),Ie(re),re.isHistory&&(N.isHistory=!0),N.imageMsgs.push(re),N.messages.push(re);continue}ce(),$.push({type:re.type||"unknown",id:oe(re),message:re})}}return ce(),$}),V=Vue.computed(()=>{let S=[],$=null,N=()=>{$&&S.push($),$=null};return F.value.forEach(ce=>{if(!ce||ce.type==="system"||ce.type==="error"){N(),S.push(ce);return}let Ie=X(ce);if(ce.type==="user"||!$){N(),$={type:"message-block",id:`block_${te(Ie.uiKey)}`,uiKey:Ie.uiKey,vpId:Ie.vpId,messageId:Ie.messageId,items:[ce]};return}$.items.push(ce),!$.vpId&&Ie.vpId&&($.vpId=Ie.vpId)}),N(),S}),U=Vue.computed(()=>{let S=s.yeaftReflectionCards||{},$=s.yeaftConversationId,N={__orphans:[]},ce=Object.values(S).filter(de=>de&&de.conversationId===$).sort((de,Fe)=>(de.anchorOrder||0)-(Fe.anchorOrder||0)||(de.updatedAt||0)-(Fe.updatedAt||0)),Ie=new Set;for(let de of s.messages||[])de&&de.id&&Ie.add(de.id);for(let de of ce)de.anchorMsgId&&Ie.has(de.anchorMsgId)?(N[de.anchorMsgId]||(N[de.anchorMsgId]=[]),N[de.anchorMsgId].push(de)):N.__orphans.push(de);return N}),se=S=>S?S.type==="assistant-turn"?S.atMessageId||null:S.message&&S.message.id||null:null,q=S=>{let $=se(S);return $?(U.value||{})[$]||[]:[]},Z=Vue.computed(()=>(U.value||{}).__orphans||[]),me=Vue.computed(()=>{let S=s.yeaftSubAgentCards||{},$=s.yeaftConversationId,N={__orphans:[]},ce=Object.values(S).filter(de=>de&&de.conversationId===$).sort((de,Fe)=>(de.anchorOrder||0)-(Fe.anchorOrder||0)||(de.updatedAt||0)-(Fe.updatedAt||0)),Ie=new Set;for(let de of s.messages||[])de&&de.id&&Ie.add(de.id);for(let de of ce)de.anchorMsgId&&Ie.has(de.anchorMsgId)?(N[de.anchorMsgId]||(N[de.anchorMsgId]=[]),N[de.anchorMsgId].push(de)):N.__orphans.push(de);return N}),ue=S=>{let $=se(S);return $?(me.value||{})[$]||[]:[]},Le=Vue.computed(()=>(me.value||{}).__orphans||[]),Ae=Vue.ref(!0),Pe=Vue.ref(!1),Re=gs.bottomThreshold,Ue=!0,Ke=Vue.computed(()=>s.messages.some(S=>S.isStreaming)),Ye=Vue.computed(()=>!s.activeConversationId||V.value.length>0?!1:s.currentView==="yeaft"?!!s.yeaftInitialHistoryLoading:!!s.sessionLoading),bt=Vue.computed(()=>s.currentView==="yeaft"&&!!s.yeaftLoadingMoreHistory&&s.activeYeaftHistoryState?.mode==="older"),et=Vue.computed(()=>s.currentView==="yeaft"?"":s.sessionLoadingText||""),Nt=Vue.computed(()=>!!s.sessionLoading&&!Ye.value),Wt=Vue.computed(()=>s.isProcessing&&!Ke.value),it=Vue.ref(Date.now()),Pt=null,Ln=()=>{Pt||(Pt=setInterval(()=>{it.value=Date.now()},1e3))},H=()=>{Pt&&(clearInterval(Pt),Pt=null)};Vue.watch(Ke,S=>{S?(it.value=Date.now(),Ln()):H()},{immediate:!0}),Vue.onBeforeUnmount(()=>H());let Y=Vue.ref(0),fe=Vue.ref(Date.now()),ve=null,Se=null,Te=Vue.ref("cat"),ot=new URLSearchParams(window.location.search).get("preview"),Ge=Vue.ref(0),at=Vue.ref(1),Ne=Vue.ref(5),We=Vue.ref(95),je=Vue.ref("bark-both"),Qe=Vue.ref(1),Xe=Vue.ref(-1),wt=null;function js(){if(!Y.value)return;fe.value=Date.now();let S=(fe.value-Y.value)%19e3;if(S<4e3)Ge.value=0,at.value=1;else if(S<11500){let $=S-4e3,N;$<2500?N=$/2500*16:$<5e3?N=16+($-2500)/2500*29:N=45+($-5e3)/2500*55,Ge.value=N,at.value=1}else S<14e3?(Ge.value=(1-(S-11500)/2500)*100,at.value=-1):(Ge.value=0,at.value=1);Se=requestAnimationFrame(js)}function $n(){if(!Y.value||Te.value!=="dog")return;fe.value=Date.now();let S=(fe.value-Y.value)%18e3;if(S<2e3)Ne.value=5,We.value=95,je.value="bark-both",Qe.value=1,Xe.value=-1;else if(S<5e3){let $=(S-2e3)/3e3;Ne.value=5+$*25,We.value=95,je.value="left-approach",Qe.value=1,Xe.value=-1}else if(S<8e3){let $=(S-5e3)/3e3;Ne.value=30,We.value=95-$*25,je.value="right-approach",Qe.value=1,Xe.value=-1}else if(S<1e4){let $=(S-8e3)/2e3;Ne.value=30+$*13,We.value=70-$*13,je.value="both-approach",Qe.value=1,Xe.value=-1}else if(S<11e3)Ne.value=43,We.value=57,je.value="snap",Qe.value=1,Xe.value=-1;else if(S<12500)Ne.value=43,We.value=57,je.value="stunned",Qe.value=1,Xe.value=-1;else if(S<15e3){let $=(S-12500)/2500;Ne.value=43-$*38,We.value=57+$*38,je.value="retreat",Qe.value=-1,Xe.value=1}else S<17e3?(Ne.value=5,We.value=95,je.value="rehang",Qe.value=-1,Xe.value=1):(Ne.value=5,We.value=95,je.value="reset",Qe.value=1,Xe.value=-1);wt=requestAnimationFrame($n)}let Eo=Vue.computed(()=>{let S=Ne.value*1.2;return Qe.value<0?`translate(${S+13.5}, 0) scale(-1, 1)`:`translate(${S-13.5}, 0)`}),Do=Vue.computed(()=>{let S=We.value*1.2;return Xe.value>0?`translate(${S-10.5}, 2)`:`translate(${S+10.5}, 2) scale(-1, 1)`}),Wr=Vue.computed(()=>{let S=je.value;return S==="bark-both"||S==="left-approach"||S==="right-approach"||S==="both-approach"||S==="reset"}),Lo=Vue.computed(()=>{let S=Ne.value*1.2,$=10;if(Wr.value){let Ie=Math.max(0,(S-3)*.12);return`M3,18 Q${(3+S)/2},${18+Ie} ${S},${$}`}if(je.value==="rehang")return`M${S},${$} Q${S-3},20 3,18`;let N=Qe.value<0?1:-1,ce=S+N*8;return`M${S},${$} Q${S},18 ${ce},22`}),$o=Vue.computed(()=>{let S=We.value*1.2,$=10;if(Wr.value){let Ie=Math.max(0,(118-S)*.12);return`M118,18 Q${(118+S)/2},${18+Ie} ${S},${$}`}if(je.value==="rehang")return`M${S},${$} Q${S+3},20 118,18`;let N=Xe.value>0?-1:1,ce=S+N*8;return`M${S},${$} Q${S},18 ${ce},22`}),Ho=Vue.computed(()=>je.value==="snap"?.2:.4),Vo=Vue.computed(()=>je.value==="snap"?.2:.4),Oo=Vue.computed(()=>Ne.value*1.2),Fo=Vue.computed(()=>We.value*1.2),Hn=ot==="cat"||ot==="dog"||ot==="animation",jr=600,ze=Vue.ref(!1),lt=null,Ur=Vue.computed(()=>Hn?!0:ze.value);Vue.watch(Wt,S=>{if(S)lt&&(clearTimeout(lt),lt=null),ze.value=!0,Y.value=Date.now(),fe.value=Date.now(),Te.value="cat",Ge.value=0,at.value=1,Ne.value=5,We.value=95,je.value="bark-both",Qe.value=1,Xe.value=-1,Te.value==="cat"?Se=requestAnimationFrame(js):wt=requestAnimationFrame($n);else{let $=Y.value?Date.now()-Y.value:jr,N=Math.max(0,jr-$),ce=()=>{lt=null,ze.value=!1,Y.value=0,Ge.value=0,at.value=1,Se&&(cancelAnimationFrame(Se),Se=null),wt&&(cancelAnimationFrame(wt),wt=null)};N===0?ce():(lt&&clearTimeout(lt),lt=setTimeout(ce,N))}},{immediate:!0}),Hn&&(Y.value=Date.now(),fe.value=Date.now(),ot==="dog"?Te.value="dog":Te.value="cat",Te.value==="cat"?Se=requestAnimationFrame(js):(Ne.value=5,We.value=95,je.value="bark-both",Qe.value=1,Xe.value=-1,wt=requestAnimationFrame($n)));let Bo=Vue.computed(()=>{if(!s.isProcessing)return null;if(s.connectionState!=="connected")return"disconnected";let S=s.currentConversation;if(s.compactStatus?.conversationId===S&&s.compactStatus?.status==="compacting")return"compacting";let $=s.sessionHealth?.[S];return $?$.status:Y.value&&fe.value-Y.value>8e3?"thinking":null}),qo=Vue.computed(()=>{if(!Y.value)return"speed-napping";let S=(fe.value-Y.value)%19e3;return S>=16e3?"speed-petted":S>=14e3?"speed-tired":S>=11500?"speed-crazy":S>=9e3?"speed-turbo":S>=6500?"speed-fast":S>=4e3?"speed-normal":"speed-napping"}),ys=Vue.computed(()=>{let S=Ge.value,$=at.value,ce={left:`calc(40px + (100% - 80px) * ${S/100})`};return $<0&&(ce.transform="scaleX(-1)"),ce});function bs(){let S=s.currentConversation;if(!S)return;let $=s.conversations.find(N=>N.id===S);s.sendWsMessage({type:"refresh_conversation",conversationId:S,agentId:$?.agentId})}let No=()=>{if(!o.value)return!0;let{scrollTop:S,scrollHeight:$,clientHeight:N}=o.value;return Er({scrollTop:S,scrollHeight:$,clientHeight:N,threshold:Re})},Us=(S,$=0,{allowContinuation:N=!1}={})=>{if(S>Sf($)){Ue=!0;return}N&&(Ue=!0),!(!Ue||!zs())&&(Ue=!1,Gr())},Kr=S=>{if(!S)return"";let N=(Array.isArray(S.items)?S.items:[])[0]||null;return[S.type||"",S.messageId||"",S.turnId||"",S.vpId||"",N?.id||"",N?.turnId||"",N?.messageId||""].join(":")},zr=()=>{let S=V.value||[];return{blockCount:S.length,firstBlockIdentity:Kr(S[0])}},Yr=(S,$)=>!S||!$?!1:$.blockCount>S.blockCount||$.firstBlockIdentity!==S.firstBlockIdentity,Ks=S=>{Vue.nextTick(()=>{if(!o.value)return;let $=zr();Yr(S,$)&&Us(o.value.scrollTop||0,o.value.clientHeight||0,{allowContinuation:!0})})},Vn=()=>{Pe.value=!1,Ae.value=!0,a.value?.setBottomFollowEnabled?.(!0)},tt=()=>{Pe.value=!0,Ae.value=!1,a.value?.setBottomFollowEnabled?.(!1),a.value?.cancelPendingBottomFollow?.()},Wo=({scrollTop:S,scrollHeight:$,clientHeight:N})=>{let ce=Er({scrollTop:S||0,scrollHeight:$||0,clientHeight:N||0,threshold:Re});Ae.value=If({following:!Pe.value,atBottom:ce}),Pe.value=!Ae.value,a.value?.setBottomFollowEnabled?.(Ae.value),Rt||(Ys=Number(S||0)),Us(S||0,N||0)},jo=(S,$)=>{let N=zr();if(!o.value){S(),Ks(N);return}let ce=o.value.scrollHeight,Ie=o.value.scrollTop,de=!1,Fe=null,Ce=()=>{de||(de=!0,Fe&&Fe(),Vue.nextTick(()=>{if(!o.value)return;let re=o.value.scrollHeight;o.value.scrollTop=re-ce+Ie,Ks(N)}))};$&&(Fe=Vue.watch($,re=>{re||Ce()})),S(),Vue.nextTick(()=>{(!$||!$())&&Ce()})},Uo=()=>{if(s.hasHiddenYeaftMessages){s.expandYeaftMessageWindow();return}s.loadMoreYeaftHistory()},zs=()=>s.currentView==="yeaft"?s.hasHiddenYeaftMessages||s.yeaftHasMoreHistory&&!s.yeaftLoadingMoreHistory&&s.yeaftOldestLoadedSeq!=null:!!s.currentConversation&&s.hasMoreMessages&&!s.loadingMoreMessages,Gr=()=>{if(!zs())return;let S=s.currentView==="yeaft";jo(S?Uo:()=>s.loadMoreMessages(),S?()=>s.yeaftLoadingMoreHistory:()=>s.loadingMoreMessages)},Rt=!1,On=!1,ut=null,Ys=0,Ko=250,Fn=()=>{Rt=!1,ut&&(clearTimeout(ut),ut=null)},Gs=()=>{On||(ut&&clearTimeout(ut),ut=setTimeout(Fn,Ko))},Qs=()=>{tt(),Rt=!0,a.value?.clearTargetAnchor?.(),Ys=Number(o.value?.scrollTop||0),Gs()},Qr=S=>{Af(S,o.value)&&(tt(),On=!0,Rt=!0,a.value?.clearTargetAnchor?.(),Ys=Number(o.value?.scrollTop||0),ut&&(clearTimeout(ut),ut=null))},Xs=()=>{On=!1,Gs()},Xr=S=>{xf(S,o.value)&&(tt(),Rt=!0,a.value?.clearTargetAnchor?.(),Gs())},Jt=()=>{let S=Number(o.value?.scrollTop||0),$=!Pe.value;Ys=S;let N=No();Ae.value=Cf({following:$,atBottom:N,userScroll:Rt}),Pe.value=!Ae.value,a.value?.setBottomFollowEnabled?.(Ae.value),Rt&&Gs(),o.value&&Us(o.value.scrollTop||0,o.value.clientHeight||0)},_t=()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight,Vn())},zo=()=>{Fn(),Vn(),Vue.nextTick(_t)},Zr=()=>{!Pe.value&&Ae.value&&Vue.nextTick(_t)},Jr=S=>{if(!S)return"";if(Array.isArray(S.items))return S.items.map(Jr).join(",");let $=S.message||{};return[S.type||"",S.id||"",S.atMessageId||"",S.turnId||"",S.messageId||"",S.speakerVpId||"",$.id||"",$.content?String($.content).length:0,S.textContent?String(S.textContent).length:0,S.isStreaming||$.isStreaming?"streaming":"done"].join(":")},Yo=Vue.computed(()=>{let S=V.value||[];return[s.activeConversationId||"",L.value||"",Jr(S[S.length-1])].join("|")});Vue.watch(()=>[s.currentConversation,M.value.length,n.token],()=>{let S=n.token||"";S!==ge&&(ge=S,le()),z()},{immediate:!0}),Vue.watch(Yo,Zr),Vue.watch(Ur,S=>{S&&Zr()}),Vue.watch(()=>[s.activeConversationId,L.value],()=>{for(let S of Object.keys(l))delete l[S];for(let S of Object.keys(c))delete c[S];for(let S of Object.keys(d))delete d[S];Vn(),Vue.nextTick(_t)});let Bn=Vue.ref(null),Zs=0;return t({revealMessage:async S=>S?(tt(),await Bf({blocks:V.value,target:S,collapseStates:d,nextTick:Vue.nextTick,scrollToBlock:(N,ce)=>(tt(),a.value?.scrollToKey?.(N,ce)),findRow:N=>{let ce=o.value?.querySelectorAll?.("[data-msg-id]")||[];return Array.from(ce).find(Ie=>Ie?.dataset?.msgId===N)||null},anchorRow:(N,ce,Ie,de)=>a.value?.anchorTarget?.(N,Ie,de),flashRow:N=>{let ce=++Zs;Bn.value=N,setTimeout(()=>{ce===Zs&&(Bn.value=null)},1800)}})):!1}),Vue.onMounted(()=>{_t(),o.value&&(o.value.addEventListener("wheel",Qs,{passive:!0}),o.value.addEventListener("touchmove",Qs,{passive:!0}),o.value.addEventListener("pointerdown",Qr,{passive:!0}),o.value.addEventListener("scroll",Jt)),window.addEventListener("pointerup",Xs,{passive:!0}),window.addEventListener("pointercancel",Xs,{passive:!0}),window.addEventListener("keydown",Xr)}),Vue.onUnmounted(()=>{o.value&&(o.value.removeEventListener("wheel",Qs),o.value.removeEventListener("touchmove",Qs),o.value.removeEventListener("pointerdown",Qr),o.value.removeEventListener("scroll",Jt)),window.removeEventListener("pointerup",Xs),window.removeEventListener("pointercancel",Xs),window.removeEventListener("keydown",Xr),Fn(),ve&&(clearInterval(ve),ve=null),lt&&(clearTimeout(lt),lt=null),Se&&(cancelAnimationFrame(Se),Se=null),wt&&(cancelAnimationFrame(wt),wt=null)}),{store:s,containerRef:o,virtualTranscriptRef:a,flashMsgId:Bn,hasStreamingMessage:Ke,nowMs:it,showTypingDots:Wt,showInitialMessagesLoading:Ye,showYeaftOlderHistoryLoading:bt,showSessionLoadingOverlay:Nt,initialMessagesLoadingText:et,previewShowTypingDots:Ur,isPreviewMode:Hn,waitingStatus:Bo,animationType:Te,catSpeed:qo,catStyle:ys,dogPhase:je,spikeTransform:Eo,teddyTransform:Do,leashPathL:Lo,leashPathR:$o,leashOpacityL:Ho,leashOpacityR:Vo,questionLX:Oo,questionRX:Fo,refreshSession:bs,onlineAgents:M,welcomeInstallCommand:ke,welcomeLlmCommand:he,welcomeServiceCommand:pe,welcomeSetupLoading:W,welcomeSetupError:B,copyWelcomeCommand:ie,turnGroups:F,messageBlocks:V,virtualTranscriptIdentity:E,estimateMessageBlockHeight:m,visibleItemsForBlock:w,collapsedResponsePreviewLines:y,collapsedResponsePreviewSpeaker:I,responseToggleBelongsToItem:v,showBlockResponseToggle:k,toggleMessageTurnResponse:x,responseCollapseLabel:T,turnUiKey:u,assistantTurnActionsExpandedFor:p,setAssistantTurnActionsExpanded:f,onOpenTurnDebug:g,toolExpandStates:c,setToolExpanded:h,cardsForRow:q,orphanCards:Z,subAgentCardsForRow:ue,orphanSubAgentCards:Le,useImStyleForUser:_,onClickLoadMore:Gr,onVirtualTranscriptScrollState:Wo,isAtBottom:Ae,scrollToLatest:zo}}}});function so(...e){let t=[];for(let s of e)if(Array.isArray(s))for(let n of s)typeof n!="string"||!n||t.includes(n)||t.push(n);return t}function jf(e,t,s){let n=t?e?.slashCommandsMap?.[t]:null;return e?.currentView==="yeaft"?so(n):so(n,s?e?.slashCommandsMap?.[`agent:${s}`]:null,e?.slashCommandsMap?.__preload__)}function Mb(e,t={},s=new Set){if(Tb.has(e)||Object.prototype.hasOwnProperty.call(to,e))return"builtin";let n=e.startsWith("/")?e.slice(1):e;return n.startsWith("skill:")||n.startsWith("yeaft-skills:")||s.has(n)&&Object.prototype.hasOwnProperty.call(t||{},n)?"skill":"project"}function Uf(e,t={}){if(eo[e])return eo[e];if(to[e])return to[e];let s=e.startsWith("/")?e.slice(1):e;return t[s]?t[s]:Pb(s)}function Pb(e){return(e.includes(":")?e.split(":").pop():e).replace(/-/g," ").replace(/^\w/,s=>s.toUpperCase())}function Kf(e,t={},s=[]){if(e.length===0)return[];let n=new Set(s.filter(o=>typeof o=="string").map(o=>o.startsWith("/")?o.slice(1):o)),r={};e.forEach((o,a)=>{let l=Mb(o.cmd,o.descriptions||o.dynamicDescriptions||t,n);r[l]||(r[l]=[]),r[l].push({...o,flatIndex:a})});let i=Object.keys(r).sort((o,a)=>(qf[o]??99)-(qf[a]??99));return i.map((o,a)=>({label:Rb[o]||o,items:r[o],isLast:a===i.length-1}))}var eo,Tb,Nf,to,Wf,Rb,qf,zf=O(()=>{eo={"/compact":"Compact context","/context":"Show context usage","/cost":"Show token costs","/init":"Reinitialize session","/doctor":"Check health status","/memory":"View/edit memory","/model":"View/switch model","/review":"Code review","/mcp":"MCP server status","/skills":"List available skills","/btw":"Side question (no history)","/insights":"Session insights","/pr-comments":"PR comment review","/release-notes":"Generate release notes","/security-review":"Security review"},Tb=new Set(Object.keys(eo)),Nf=Object.keys(eo),to={"/low":"Use low reasoning effort for this turn","/medium":"Use medium reasoning effort for this turn","/high":"Use high reasoning effort for this turn","/xhigh":"Use extra-high reasoning effort for this turn","/max":"Use maximum reasoning effort for this turn"},Wf=Object.keys(to);Rb={skill:"Skills",builtin:"Built-in",project:"Commands"},qf={skill:0,project:1,builtin:2}});function Lb(e){return!(!e||typeof e!="string"||e.length<1||e.length>40||e.startsWith("_")||Eb.test(e)||_b.has(e.toLowerCase()))}function no(e){if(!e||typeof e!="string")return{text:e||"",mentions:[]};let t=new Set;Yf.lastIndex=0;let s;for(;(s=Yf.exec(e))!==null;){let n=s[2];if(Lb(n)&&!t.has(n)&&(t.add(n),t.size>=Db))break}return{text:e,mentions:Array.from(t)}}var _b,Yf,Eb,Db,Rl=O(()=>{_b=new Set(["all","user","system","everyone"]),Yf=/(^|[\s\p{P}])@([A-Za-z0-9_-]{1,40})(?=$|[\s\p{P}])/gu,Eb=/^[0-9]+$/,Db=32});function Gf(e){let t=typeof e?.vpId=="string"?e.vpId:"";return _l.has(t)?_l.get(t):e?.isStock===!0?"other":"custom"}function Bs(e){let t=new Map(ro.map(s=>[s.id,[]]));for(let s of Array.isArray(e)?e:[])!s||typeof s.vpId!="string"||!s.vpId||t.get(Gf(s)).push(s);return ro.map(s=>({id:s.id,labelKey:s.labelKey,vps:t.get(s.id)})).filter(s=>s.vps.length>0)}function $r(e){return Bs(e).flatMap(t=>t.vps)}function Qf(e){let t=new Map(ro.map(r=>[r.id,r])),s=new Map,n=[];for(let r of Array.isArray(e)?e:[]){if(!r||typeof r.vpId!="string"||!r.vpId)continue;let i=Gf(r),o=n[n.length-1];if(o&&o.id===i){o.vps.push(r);continue}let a=(s.get(i)||0)+1;s.set(i,a),n.push({id:i,key:`${i}-${a}`,labelKey:t.get(i).labelKey,vps:[r]})}return n}var $b,ro,_l,Hr=O(()=>{$b=[{id:"general",labelKey:"yeaft.vp.domain.general",vpIds:["omni"]},{id:"productDesign",labelKey:"yeaft.vp.domain.productDesign",vpIds:["steve","dieter","norman"]},{id:"softwareSystems",labelKey:"yeaft.vp.domain.softwareSystems",vpIds:["linus","martin","anders","ada","grace","ken","alan"]},{id:"securityReliability",labelKey:"yeaft.vp.domain.securityReliability",vpIds:["alice","margaret"]},{id:"scienceAnalysis",labelKey:"yeaft.vp.domain.scienceAnalysis",vpIds:["shannon","einstein"]},{id:"philosophyPsychology",labelKey:"yeaft.vp.domain.philosophyPsychology",vpIds:["kongzi","socrates","nietzsche","kahneman","jung"]},{id:"strategyHistory",labelKey:"yeaft.vp.domain.strategyHistory",vpIds:["sunzi","clausewitz","simaqian","harari"]},{id:"businessManagement",labelKey:"yeaft.vp.domain.businessManagement",vpIds:["buffett","munger","dalio","bezos","drucker"]},{id:"artsCulture",labelKey:"yeaft.vp.domain.artsCulture",vpIds:["luxun","sudongpo","borges","kubrick","miyazaki"]},{id:"other",labelKey:"yeaft.vp.domain.other",vpIds:[]},{id:"custom",labelKey:"yeaft.vp.domain.custom",vpIds:[]}],ro=Object.freeze($b.map(e=>Object.freeze({id:e.id,labelKey:e.labelKey,vpIds:Object.freeze([...e.vpIds])}))),_l=new Map;for(let e of ro)for(let t of e.vpIds)_l.set(t,e.id)});function El(e,t){let s=Array.isArray(e)?e:[],n=typeof t=="string"?t.toLowerCase():"";if(!n){let c=s.filter(d=>d&&d.vpId&&d.vpId!=="user");return $r(c).slice(0,Xf)}let r=[],i=[],o=[],a=new Set,l=(c,d)=>{a.has(c.vpId)||(a.add(c.vpId),d.push(c))};for(let c of s){if(!c||!c.vpId||c.vpId==="user")continue;if(String(c.vpId).toLowerCase().startsWith(n)){l(c,r);continue}let u=Array.isArray(c.aliases)?c.aliases:[],p=!1;for(let I of u){let b=String(I||"").toLowerCase();if(b&&b.startsWith(n)){p=!0;break}}if(p){l(c,i);continue}let f=String(c.displayName||"").toLowerCase(),g=String(c.displayNameZh||""),h=[c.description,c.descriptionZh,c.role,c.roleZh].map(I=>String(I||"").toLowerCase()),m=typeof t=="string"?t:"",w=f.includes(n)||m&&g.includes(m),y=n&&h.some(I=>I.includes(n));(w||y)&&l(c,o)}return[...$r(r),...$r(i),...$r(o)].slice(0,Xf)}function Dl(e="chat-input"){return`${e}-vp-mention-listbox`}function Ll(e,t){let s=String(t||"").replace(/[^A-Za-z0-9_.:-]/g,"-");return`${e}-vp-mention-option-${s}`}function Hb(e){let t=0;return Qf(e).map(s=>({...s,items:s.vps.map(n=>({vp:n,flatIndex:t++}))}))}function Zf(e,t){let s=Array.isArray(e)?e:[];if(!t)return s;let n=Array.isArray(t.roster)?t.roster:[];if(n.length===0)return[];let r=new Set(n);return s.filter(i=>i&&i.vpId&&r.has(i.vpId))}function Jf(e,t){if(typeof e!="string"||!t)return e;let s=e.lastIndexOf("@");if(s<0)return e;let n=s+1;for(;n<e.length&&!/[\s]/.test(e[n]);)n++;return e.slice(0,s)+"@"+t+" "+e.slice(n)}var Xf,eg,tg=O(()=>{Hr();Xf=12;eg={name:"VpMentionAutocomplete",emits:["select","hover-index"],props:{vps:{type:Array,default:()=>[]},query:{type:String,default:""},selectedIndex:{type:Number,default:0},inputId:{type:String,required:!0}},template:`
|
|
1688
|
+
`,emits:["new-conversation","resume-conversation","open-settings","quote-message","edit-message-as-new"],setup(e,{expose:t}){let s=Pinia.useChatStore(),n=$e(),r=typeof window<"u"&&window.Pinia?.useVpStore?window.Pinia.useVpStore():null,i=Vue.inject("t",null),o=Vue.ref(null),a=Vue.ref(null),l=Vue.reactive({}),c=Vue.reactive({}),d=Vue.reactive({}),u=S=>String(S?.id||S?.turnId||S?.messageId||S?.atMessageId||S?.message?.id||"turn_unknown"),p=S=>{let $=u(S);return Object.prototype.hasOwnProperty.call(l,$)?!!l[$]:!1},f=(S,$)=>{l[u(S)]=!!$},g=S=>{let $=S&&(S.turnId||S.id);!$||typeof s.openYeaftTurnDebug!="function"||s.openYeaftTurnDebug({sessionId:L.value||null,turnId:$})},h=({key:S,value:$}={})=>{S&&(c[S]=!!$)},m=S=>{let $=Hf(S,ps);return Number.isFinite($)?$:ps(S)},w=S=>Zi(S),y=S=>{let $=Array.isArray(S?.collapsedResponsePreview)?S.collapsedResponsePreview:$f(S);return Array.isArray($)?$:$?[String($)]:[]},I=S=>{let $=Array.isArray(S?.items)?S.items.find(re=>Lr(re)):null,N=$?.speakerVpId||$?.vpId||$?.message?.speakerVpId||$?.message?.vpId||S?.vpId||"",ce=N&&r&&typeof r.vpLabel=="function"?r.vpLabel(N)||N:N||(typeof i=="function"?i("message.assistant"):"Assistant"),Ie=N&&r&&typeof r.vpTextColor=="function"?{color:r.vpTextColor(N)}:{},de=$?.speakerTimestamp||$?.timestamp||$?.createdAt||$?.message?.timestamp||$?.message?.createdAt||0,Fe="",Ce="";if(de)try{let re=new Date(de);Number.isNaN(re.getTime())||(Fe=Ot(de),Ce=re.toLocaleString())}catch{}return{name:ce,style:Ie,timeText:Fe,fullTimeText:Ce}},b=S=>{let $=Array.isArray(S?.items)?S.items:[];for(let N=$.length-1;N>=0;N-=1)if(Lr($[N]))return $[N];return null},v=(S,$)=>!S?.responseCollapsible||!$?!1:b(S)===$,k=S=>!!(S?.responseCollapsible&&!Zi(S).some($=>v(S,$))),x=S=>{let $=S?.responseCollapseKey;$&&(d[$]=!S.responseCollapsed)},T=S=>{let $=Number(S?.responseCount||0),N=S?.responseCollapsed?"message.showResponses":"message.hideResponses",ce=(typeof i=="function"?i(N):"")||(S?.responseCollapsed?"Show {count} response(s)":"Hide response(s)");return String(ce).replace("{count}",String($))},D=(()=>{try{return window.Pinia?.useSessionsStore?.()||null}catch{return null}}),L=Vue.computed(()=>{if(s.currentView!=="yeaft")return null;let S=D();if(!S)return null;let $=s.yeaftActiveSessionFilter||null;return $&&typeof S.sessionById=="function"&&S.sessionById($,s.currentAgent||null)?$:S.activeSessionId&&typeof S.sessionById=="function"&&S.sessionById(S.activeSessionId,s.currentAgent||null)?S.activeSessionId:null}),E=Vue.computed(()=>{let S=s.currentView||"",$=s.currentAgent||"";if(S==="yeaft"){let N=s.yeaftActiveSessionFilter||L.value||"__all__";return[S,$,N].join("")}return[S,$,s.activeConversationId||""].join("")}),_=Vue.computed(()=>L.value!==null),M=Vue.computed(()=>s.agents.filter(S=>S.online)),A=Vue.ref(null),P=Vue.ref(null),W=Vue.ref(!1),B=Vue.ref(""),K=null,ee=0,ge=n.token||"",le=()=>{A.value=null,P.value=null,B.value="",K=null,ee+=1},ke=Bi(),he=qi(),pe=Vue.computed(()=>Ni({profile:A.value,agentSecret:P.value,serverWsUrl:xr(location)})),R=()=>{let S={"Content-Type":"application/json"};return n.token&&(S.Authorization=`Bearer ${n.token}`),S},z=async()=>{if(M.value.length>0||s.currentConversation)return;if(P.value||K)return K;W.value=!0,B.value="";let S=++ee;return K=(async()=>{let $=n.token||"",N=R(),[ce,Ie]=await Promise.all([fetch("/api/user/profile",{headers:N}),fetch("/api/user/agent-secret",{headers:N})]),de=ce.ok?await ce.json():null;if(S!==ee||$!==(n.token||""))return;if(de&&(A.value=de),!Ie.ok){let re="";try{re=(await Ie.json())?.error||""}catch{}throw new Error(re||"Failed to load Agent secret")}let Fe=await Ie.json();if(S!==ee||$!==(n.token||""))return;let Ce=Fe?.agentSecret||Fe?.agent_secret||null;P.value=Ce&&String(Ce).trim()?String(Ce):null})().catch($=>{S===ee&&(B.value=$?.message||"Failed to load Agent secret")}).finally(()=>{S===ee&&(W.value=!1,K=null)}),K},ie=async S=>{if(S)try{await navigator.clipboard.writeText(S)}catch{}},be=new WeakMap,j=0,ne=(S,$)=>{let N=S?.message&&typeof S.message=="object"?S.message:Array.isArray(S?.messages)&&S.messages[0]&&typeof S.messages[0]=="object"?S.messages[0]:$&&typeof $=="object"?$:S&&typeof S=="object"?S:null;if(!N)return`legacy_render_${++j}`;let ce=be.get(N);return ce||(ce=`legacy_render_${++j}`,be.set(N,ce)),ce},oe=S=>{let $=S?.message||S||null;return S?.entryId||S?.uiKey||S?.stableKey||$?.entryId||$?.uiKey||$?.stableKey||S?.atMessageId||S?.messageId||$?.messageId||S?.id||$?.id||ne(S,$)},te=S=>encodeURIComponent(String(S||"legacy")),X=S=>{let $=S?.message||null,N=oe(S),ce=S?.id||S?.atMessageId||$?.id||$?.messageId||N,Ie=S?.speakerVpId||S?.vpId||$?.speakerVpId||$?.vpId||"";return{id:`message_${te(N)}`,uiKey:N,vpId:Ie,messageId:ce}},F=Vue.computed(()=>{let S=s.currentView==="yeaft"?_f(s.messages):s.messages,$=[],N=null,ce=()=>{if(N){N.isActive=!!(N.turnId&&Object.values(s.activeVpTurns||{}).some(st=>((st?.turnId||null)===N.turnId||!st?.turnId&&s.activeVpTurns?.[N.turnId]===st)&&(!s.currentAgent||!st?.agentId||st.agentId===s.currentAgent))),Ai(N);let Ce=!!(N.textContent||N.todoMsg||N.askMsg||N.imageMsgs.length>0),re=N.toolMsgs.length>0;(Ce||re)&&(N.showSpeakerHeader=!!N.speakerVpId,$.push(N)),N=null}},Ie=Ce=>{if(N){if(!N.speakerVpId){let re=Ce.speakerVpId||Ce.vpId;re&&(N.speakerVpId=re,N.speakerTimestamp=typeof Ce.timestamp=="number"&&Ce.timestamp>0?Ce.timestamp:typeof Ce.createdAt=="number"?Ce.createdAt:0,typeof Ce.lastStateChangeCause=="string"&&!N.speakerStateCause&&(N.speakerStateCause=Ce.lastStateChangeCause))}!N.turnId&&Ce.turnId&&(N.turnId=Ce.turnId)}},de=(Ce=null)=>{let re=oe(Ce);N={type:"assistant-turn",id:`response_${te(re)}`,uiKey:re,...Ce?.entryId?{entryId:Ce.entryId}:{},textContent:"",textSegments:[],isStreaming:!1,isActive:!1,isHistory:!1,todoMsg:null,toolMsgs:[],imageMsgs:[],askMsg:null,messages:[],atMessageId:null,speakerVpId:null,speakerTimestamp:0,speakerStateCause:"",showSpeakerHeader:!1,turnId:null}},Fe=Ce=>{Ef(N,Ce)&&ce()};for(let Ce=0;Ce<S.length;Ce++){let re=S[Ce];if(re.type==="user"){if(!re.content||!re.content.trim())continue;ce(),$.push({type:"user",id:oe(re),message:re});continue}if(re.type==="system"||re.type==="error"){ce(),$.push({type:re.type,id:oe(re),message:re});continue}if(!(re.type==="tool-result"||re.type==="tool_result")){if(re.type==="assistant"){Fe(re),N||de(re),Ci(N,re),re.isStreaming&&(N.isStreaming=!0),re.isHistory&&(N.isHistory=!0),re.id&&/^m\d+$/.test(re.id)&&(N.atMessageId=re.id),Ie(re),N.messages.push(re);continue}if(re.type==="tool-use"){Fe(re),N||de(re),Ie(re);let st=S[Ce+1],Go=st&&(st.type==="tool-result"||st.type==="tool_result"),Js={...re,hasResult:Go||re.hasResult||!1,toolResult:re.toolResult||null};re.isHistory&&(N.isHistory=!0),re.toolName==="TodoWrite"?N.todoMsg=Js:re.toolName==="AskUserQuestion"?N.askMsg=Js:N.toolMsgs.push(Js),N.messages.push(re);continue}if(re.type==="chat-image"){Fe(re),N||de(re),Ie(re),re.isHistory&&(N.isHistory=!0),N.imageMsgs.push(re),N.messages.push(re);continue}ce(),$.push({type:re.type||"unknown",id:oe(re),message:re})}}return ce(),$}),V=Vue.computed(()=>{let S=[],$=null,N=()=>{$&&S.push($),$=null};return F.value.forEach(ce=>{if(!ce||ce.type==="system"||ce.type==="error"){N(),S.push(ce);return}let Ie=X(ce);if(ce.type==="user"||!$){N(),$={type:"message-block",id:`block_${te(Ie.uiKey)}`,uiKey:Ie.uiKey,vpId:Ie.vpId,messageId:Ie.messageId,items:[ce]};return}$.items.push(ce),!$.vpId&&Ie.vpId&&($.vpId=Ie.vpId)}),N(),S}),U=Vue.computed(()=>{let S=s.yeaftReflectionCards||{},$=s.yeaftConversationId,N={__orphans:[]},ce=Object.values(S).filter(de=>de&&de.conversationId===$).sort((de,Fe)=>(de.anchorOrder||0)-(Fe.anchorOrder||0)||(de.updatedAt||0)-(Fe.updatedAt||0)),Ie=new Set;for(let de of s.messages||[])de&&de.id&&Ie.add(de.id);for(let de of ce)de.anchorMsgId&&Ie.has(de.anchorMsgId)?(N[de.anchorMsgId]||(N[de.anchorMsgId]=[]),N[de.anchorMsgId].push(de)):N.__orphans.push(de);return N}),se=S=>S?S.type==="assistant-turn"?S.atMessageId||null:S.message&&S.message.id||null:null,q=S=>{let $=se(S);return $?(U.value||{})[$]||[]:[]},Z=Vue.computed(()=>(U.value||{}).__orphans||[]),me=Vue.computed(()=>{let S=s.yeaftSubAgentCards||{},$=s.yeaftConversationId,N={__orphans:[]},ce=Object.values(S).filter(de=>de&&de.conversationId===$).sort((de,Fe)=>(de.anchorOrder||0)-(Fe.anchorOrder||0)||(de.updatedAt||0)-(Fe.updatedAt||0)),Ie=new Set;for(let de of s.messages||[])de&&de.id&&Ie.add(de.id);for(let de of ce)de.anchorMsgId&&Ie.has(de.anchorMsgId)?(N[de.anchorMsgId]||(N[de.anchorMsgId]=[]),N[de.anchorMsgId].push(de)):N.__orphans.push(de);return N}),ue=S=>{let $=se(S);return $?(me.value||{})[$]||[]:[]},Le=Vue.computed(()=>(me.value||{}).__orphans||[]),Ae=Vue.ref(!0),Pe=Vue.ref(!1),Re=gs.bottomThreshold,Ue=!0,Ke=Vue.computed(()=>s.messages.some(S=>S.isStreaming)),Ye=Vue.computed(()=>!s.activeConversationId||V.value.length>0?!1:s.currentView==="yeaft"?!!s.yeaftInitialHistoryLoading:!!s.sessionLoading),bt=Vue.computed(()=>s.currentView==="yeaft"&&!!s.yeaftLoadingMoreHistory&&s.activeYeaftHistoryState?.mode==="older"),et=Vue.computed(()=>s.currentView==="yeaft"?"":s.sessionLoadingText||""),Nt=Vue.computed(()=>!!s.sessionLoading&&!Ye.value),Wt=Vue.computed(()=>s.isProcessing&&!Ke.value),it=Vue.ref(Date.now()),Pt=null,Ln=()=>{Pt||(Pt=setInterval(()=>{it.value=Date.now()},1e3))},H=()=>{Pt&&(clearInterval(Pt),Pt=null)};Vue.watch(Ke,S=>{S?(it.value=Date.now(),Ln()):H()},{immediate:!0}),Vue.onBeforeUnmount(()=>H());let Y=Vue.ref(0),fe=Vue.ref(Date.now()),ve=null,Se=null,Te=Vue.ref("cat"),ot=new URLSearchParams(window.location.search).get("preview"),Ge=Vue.ref(0),at=Vue.ref(1),Ne=Vue.ref(5),We=Vue.ref(95),je=Vue.ref("bark-both"),Qe=Vue.ref(1),Xe=Vue.ref(-1),wt=null;function js(){if(!Y.value)return;fe.value=Date.now();let S=(fe.value-Y.value)%19e3;if(S<4e3)Ge.value=0,at.value=1;else if(S<11500){let $=S-4e3,N;$<2500?N=$/2500*16:$<5e3?N=16+($-2500)/2500*29:N=45+($-5e3)/2500*55,Ge.value=N,at.value=1}else S<14e3?(Ge.value=(1-(S-11500)/2500)*100,at.value=-1):(Ge.value=0,at.value=1);Se=requestAnimationFrame(js)}function $n(){if(!Y.value||Te.value!=="dog")return;fe.value=Date.now();let S=(fe.value-Y.value)%18e3;if(S<2e3)Ne.value=5,We.value=95,je.value="bark-both",Qe.value=1,Xe.value=-1;else if(S<5e3){let $=(S-2e3)/3e3;Ne.value=5+$*25,We.value=95,je.value="left-approach",Qe.value=1,Xe.value=-1}else if(S<8e3){let $=(S-5e3)/3e3;Ne.value=30,We.value=95-$*25,je.value="right-approach",Qe.value=1,Xe.value=-1}else if(S<1e4){let $=(S-8e3)/2e3;Ne.value=30+$*13,We.value=70-$*13,je.value="both-approach",Qe.value=1,Xe.value=-1}else if(S<11e3)Ne.value=43,We.value=57,je.value="snap",Qe.value=1,Xe.value=-1;else if(S<12500)Ne.value=43,We.value=57,je.value="stunned",Qe.value=1,Xe.value=-1;else if(S<15e3){let $=(S-12500)/2500;Ne.value=43-$*38,We.value=57+$*38,je.value="retreat",Qe.value=-1,Xe.value=1}else S<17e3?(Ne.value=5,We.value=95,je.value="rehang",Qe.value=-1,Xe.value=1):(Ne.value=5,We.value=95,je.value="reset",Qe.value=1,Xe.value=-1);wt=requestAnimationFrame($n)}let Eo=Vue.computed(()=>{let S=Ne.value*1.2;return Qe.value<0?`translate(${S+13.5}, 0) scale(-1, 1)`:`translate(${S-13.5}, 0)`}),Do=Vue.computed(()=>{let S=We.value*1.2;return Xe.value>0?`translate(${S-10.5}, 2)`:`translate(${S+10.5}, 2) scale(-1, 1)`}),Wr=Vue.computed(()=>{let S=je.value;return S==="bark-both"||S==="left-approach"||S==="right-approach"||S==="both-approach"||S==="reset"}),Lo=Vue.computed(()=>{let S=Ne.value*1.2,$=10;if(Wr.value){let Ie=Math.max(0,(S-3)*.12);return`M3,18 Q${(3+S)/2},${18+Ie} ${S},${$}`}if(je.value==="rehang")return`M${S},${$} Q${S-3},20 3,18`;let N=Qe.value<0?1:-1,ce=S+N*8;return`M${S},${$} Q${S},18 ${ce},22`}),$o=Vue.computed(()=>{let S=We.value*1.2,$=10;if(Wr.value){let Ie=Math.max(0,(118-S)*.12);return`M118,18 Q${(118+S)/2},${18+Ie} ${S},${$}`}if(je.value==="rehang")return`M${S},${$} Q${S+3},20 118,18`;let N=Xe.value>0?-1:1,ce=S+N*8;return`M${S},${$} Q${S},18 ${ce},22`}),Ho=Vue.computed(()=>je.value==="snap"?.2:.4),Vo=Vue.computed(()=>je.value==="snap"?.2:.4),Oo=Vue.computed(()=>Ne.value*1.2),Fo=Vue.computed(()=>We.value*1.2),Hn=ot==="cat"||ot==="dog"||ot==="animation",jr=600,ze=Vue.ref(!1),lt=null,Ur=Vue.computed(()=>Hn?!0:ze.value);Vue.watch(Wt,S=>{if(S)lt&&(clearTimeout(lt),lt=null),ze.value=!0,Y.value=Date.now(),fe.value=Date.now(),Te.value="cat",Ge.value=0,at.value=1,Ne.value=5,We.value=95,je.value="bark-both",Qe.value=1,Xe.value=-1,Te.value==="cat"?Se=requestAnimationFrame(js):wt=requestAnimationFrame($n);else{let $=Y.value?Date.now()-Y.value:jr,N=Math.max(0,jr-$),ce=()=>{lt=null,ze.value=!1,Y.value=0,Ge.value=0,at.value=1,Se&&(cancelAnimationFrame(Se),Se=null),wt&&(cancelAnimationFrame(wt),wt=null)};N===0?ce():(lt&&clearTimeout(lt),lt=setTimeout(ce,N))}},{immediate:!0}),Hn&&(Y.value=Date.now(),fe.value=Date.now(),ot==="dog"?Te.value="dog":Te.value="cat",Te.value==="cat"?Se=requestAnimationFrame(js):(Ne.value=5,We.value=95,je.value="bark-both",Qe.value=1,Xe.value=-1,wt=requestAnimationFrame($n)));let Bo=Vue.computed(()=>{if(!s.isProcessing)return null;if(s.connectionState!=="connected")return"disconnected";let S=s.currentConversation;if(s.compactStatus?.conversationId===S&&s.compactStatus?.status==="compacting")return"compacting";let $=s.sessionHealth?.[S];return $?$.status:Y.value&&fe.value-Y.value>8e3?"thinking":null}),qo=Vue.computed(()=>{if(!Y.value)return"speed-napping";let S=(fe.value-Y.value)%19e3;return S>=16e3?"speed-petted":S>=14e3?"speed-tired":S>=11500?"speed-crazy":S>=9e3?"speed-turbo":S>=6500?"speed-fast":S>=4e3?"speed-normal":"speed-napping"}),ys=Vue.computed(()=>{let S=Ge.value,$=at.value,ce={left:`calc(40px + (100% - 80px) * ${S/100})`};return $<0&&(ce.transform="scaleX(-1)"),ce});function bs(){let S=s.currentConversation;if(!S)return;let $=s.conversations.find(N=>N.id===S);s.sendWsMessage({type:"refresh_conversation",conversationId:S,agentId:$?.agentId})}let No=()=>{if(!o.value)return!0;let{scrollTop:S,scrollHeight:$,clientHeight:N}=o.value;return Er({scrollTop:S,scrollHeight:$,clientHeight:N,threshold:Re})},Us=(S,$=0,{allowContinuation:N=!1}={})=>{if(S>Sf($)){Ue=!0;return}N&&(Ue=!0),!(!Ue||!zs())&&(Ue=!1,Gr())},Kr=S=>{if(!S)return"";let N=(Array.isArray(S.items)?S.items:[])[0]||null;return[S.type||"",S.messageId||"",S.turnId||"",S.vpId||"",N?.id||"",N?.turnId||"",N?.messageId||""].join(":")},zr=()=>{let S=V.value||[];return{blockCount:S.length,firstBlockIdentity:Kr(S[0])}},Yr=(S,$)=>!S||!$?!1:$.blockCount>S.blockCount||$.firstBlockIdentity!==S.firstBlockIdentity,Ks=S=>{Vue.nextTick(()=>{if(!o.value)return;let $=zr();Yr(S,$)&&Us(o.value.scrollTop||0,o.value.clientHeight||0,{allowContinuation:!0})})},Vn=()=>{Pe.value=!1,Ae.value=!0,a.value?.setBottomFollowEnabled?.(!0)},tt=()=>{Pe.value=!0,Ae.value=!1,a.value?.setBottomFollowEnabled?.(!1),a.value?.cancelPendingBottomFollow?.()},Wo=({scrollTop:S,scrollHeight:$,clientHeight:N})=>{let ce=Er({scrollTop:S||0,scrollHeight:$||0,clientHeight:N||0,threshold:Re});Ae.value=If({following:!Pe.value,atBottom:ce}),Pe.value=!Ae.value,a.value?.setBottomFollowEnabled?.(Ae.value),Rt||(Ys=Number(S||0)),Us(S||0,N||0)},jo=(S,$)=>{let N=zr();if(!o.value){S(),Ks(N);return}let ce=o.value.scrollHeight,Ie=o.value.scrollTop,de=!1,Fe=null,Ce=()=>{de||(de=!0,Fe&&Fe(),Vue.nextTick(()=>{if(!o.value)return;let re=o.value.scrollHeight;o.value.scrollTop=re-ce+Ie,Ks(N)}))};$&&(Fe=Vue.watch($,re=>{re||Ce()})),S(),Vue.nextTick(()=>{(!$||!$())&&Ce()})},Uo=()=>{if(s.hasHiddenYeaftMessages){s.expandYeaftMessageWindow();return}s.loadMoreYeaftHistory()},zs=()=>s.currentView==="yeaft"?s.hasHiddenYeaftMessages||s.yeaftHasMoreHistory&&!s.yeaftLoadingMoreHistory&&s.yeaftOldestLoadedSeq!=null:!!s.currentConversation&&s.hasMoreMessages&&!s.loadingMoreMessages,Gr=()=>{if(!zs())return;let S=s.currentView==="yeaft";jo(S?Uo:()=>s.loadMoreMessages(),S?()=>s.yeaftLoadingMoreHistory:()=>s.loadingMoreMessages)},Rt=!1,On=!1,ut=null,Ys=0,Ko=250,Fn=()=>{Rt=!1,ut&&(clearTimeout(ut),ut=null)},Gs=()=>{On||(ut&&clearTimeout(ut),ut=setTimeout(Fn,Ko))},Qs=()=>{tt(),Rt=!0,a.value?.clearTargetAnchor?.(),Ys=Number(o.value?.scrollTop||0),Gs()},Qr=S=>{Af(S,o.value)&&(tt(),On=!0,Rt=!0,a.value?.clearTargetAnchor?.(),Ys=Number(o.value?.scrollTop||0),ut&&(clearTimeout(ut),ut=null))},Xs=()=>{On=!1,Gs()},Xr=S=>{xf(S,o.value)&&(tt(),Rt=!0,a.value?.clearTargetAnchor?.(),Gs())},Jt=()=>{let S=Number(o.value?.scrollTop||0),$=!Pe.value;Ys=S;let N=No();Ae.value=Cf({following:$,atBottom:N,userScroll:Rt}),Pe.value=!Ae.value,a.value?.setBottomFollowEnabled?.(Ae.value),Rt&&Gs(),o.value&&Us(o.value.scrollTop||0,o.value.clientHeight||0)},_t=()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight,Vn())},zo=()=>{Fn(),Vn(),Vue.nextTick(_t)},Zr=()=>{!Pe.value&&Ae.value&&Vue.nextTick(_t)},Jr=S=>{if(!S)return"";if(Array.isArray(S.items))return S.items.map(Jr).join(",");let $=S.message||{};return[S.type||"",S.id||"",S.atMessageId||"",S.turnId||"",S.messageId||"",S.speakerVpId||"",$.id||"",$.content?String($.content).length:0,S.textContent?String(S.textContent).length:0,S.isStreaming||$.isStreaming?"streaming":"done"].join(":")},Yo=Vue.computed(()=>{let S=V.value||[];return[s.activeConversationId||"",L.value||"",Jr(S[S.length-1])].join("|")});Vue.watch(()=>[s.currentConversation,M.value.length,n.token],()=>{let S=n.token||"";S!==ge&&(ge=S,le()),z()},{immediate:!0}),Vue.watch(Yo,Zr),Vue.watch(Ur,S=>{S&&Zr()}),Vue.watch(E,()=>{for(let S of Object.keys(l))delete l[S];for(let S of Object.keys(c))delete c[S];for(let S of Object.keys(d))delete d[S];Vn(),Vue.nextTick(_t)});let Bn=Vue.ref(null),Zs=0;return t({revealMessage:async S=>S?(tt(),await Bf({blocks:V.value,target:S,collapseStates:d,nextTick:Vue.nextTick,scrollToBlock:(N,ce)=>(tt(),a.value?.scrollToKey?.(N,ce)),findRow:N=>{let ce=o.value?.querySelectorAll?.("[data-msg-id]")||[];return Array.from(ce).find(Ie=>Ie?.dataset?.msgId===N)||null},anchorRow:(N,ce,Ie,de)=>a.value?.anchorTarget?.(N,Ie,de),flashRow:N=>{let ce=++Zs;Bn.value=N,setTimeout(()=>{ce===Zs&&(Bn.value=null)},1800)}})):!1}),Vue.onMounted(()=>{_t(),o.value&&(o.value.addEventListener("wheel",Qs,{passive:!0}),o.value.addEventListener("touchmove",Qs,{passive:!0}),o.value.addEventListener("pointerdown",Qr,{passive:!0}),o.value.addEventListener("scroll",Jt)),window.addEventListener("pointerup",Xs,{passive:!0}),window.addEventListener("pointercancel",Xs,{passive:!0}),window.addEventListener("keydown",Xr)}),Vue.onUnmounted(()=>{o.value&&(o.value.removeEventListener("wheel",Qs),o.value.removeEventListener("touchmove",Qs),o.value.removeEventListener("pointerdown",Qr),o.value.removeEventListener("scroll",Jt)),window.removeEventListener("pointerup",Xs),window.removeEventListener("pointercancel",Xs),window.removeEventListener("keydown",Xr),Fn(),ve&&(clearInterval(ve),ve=null),lt&&(clearTimeout(lt),lt=null),Se&&(cancelAnimationFrame(Se),Se=null),wt&&(cancelAnimationFrame(wt),wt=null)}),{store:s,containerRef:o,virtualTranscriptRef:a,flashMsgId:Bn,hasStreamingMessage:Ke,nowMs:it,showTypingDots:Wt,showInitialMessagesLoading:Ye,showYeaftOlderHistoryLoading:bt,showSessionLoadingOverlay:Nt,initialMessagesLoadingText:et,previewShowTypingDots:Ur,isPreviewMode:Hn,waitingStatus:Bo,animationType:Te,catSpeed:qo,catStyle:ys,dogPhase:je,spikeTransform:Eo,teddyTransform:Do,leashPathL:Lo,leashPathR:$o,leashOpacityL:Ho,leashOpacityR:Vo,questionLX:Oo,questionRX:Fo,refreshSession:bs,onlineAgents:M,welcomeInstallCommand:ke,welcomeLlmCommand:he,welcomeServiceCommand:pe,welcomeSetupLoading:W,welcomeSetupError:B,copyWelcomeCommand:ie,turnGroups:F,messageBlocks:V,virtualTranscriptIdentity:E,estimateMessageBlockHeight:m,visibleItemsForBlock:w,collapsedResponsePreviewLines:y,collapsedResponsePreviewSpeaker:I,responseToggleBelongsToItem:v,showBlockResponseToggle:k,toggleMessageTurnResponse:x,responseCollapseLabel:T,turnUiKey:u,assistantTurnActionsExpandedFor:p,setAssistantTurnActionsExpanded:f,onOpenTurnDebug:g,toolExpandStates:c,setToolExpanded:h,cardsForRow:q,orphanCards:Z,subAgentCardsForRow:ue,orphanSubAgentCards:Le,useImStyleForUser:_,onClickLoadMore:Gr,onVirtualTranscriptScrollState:Wo,isAtBottom:Ae,scrollToLatest:zo}}}});function so(...e){let t=[];for(let s of e)if(Array.isArray(s))for(let n of s)typeof n!="string"||!n||t.includes(n)||t.push(n);return t}function jf(e,t,s){let n=t?e?.slashCommandsMap?.[t]:null;return e?.currentView==="yeaft"?so(n):so(n,s?e?.slashCommandsMap?.[`agent:${s}`]:null,e?.slashCommandsMap?.__preload__)}function Mb(e,t={},s=new Set){if(Tb.has(e)||Object.prototype.hasOwnProperty.call(to,e))return"builtin";let n=e.startsWith("/")?e.slice(1):e;return n.startsWith("skill:")||n.startsWith("yeaft-skills:")||s.has(n)&&Object.prototype.hasOwnProperty.call(t||{},n)?"skill":"project"}function Uf(e,t={}){if(eo[e])return eo[e];if(to[e])return to[e];let s=e.startsWith("/")?e.slice(1):e;return t[s]?t[s]:Pb(s)}function Pb(e){return(e.includes(":")?e.split(":").pop():e).replace(/-/g," ").replace(/^\w/,s=>s.toUpperCase())}function Kf(e,t={},s=[]){if(e.length===0)return[];let n=new Set(s.filter(o=>typeof o=="string").map(o=>o.startsWith("/")?o.slice(1):o)),r={};e.forEach((o,a)=>{let l=Mb(o.cmd,o.descriptions||o.dynamicDescriptions||t,n);r[l]||(r[l]=[]),r[l].push({...o,flatIndex:a})});let i=Object.keys(r).sort((o,a)=>(qf[o]??99)-(qf[a]??99));return i.map((o,a)=>({label:Rb[o]||o,items:r[o],isLast:a===i.length-1}))}var eo,Tb,Nf,to,Wf,Rb,qf,zf=O(()=>{eo={"/compact":"Compact context","/context":"Show context usage","/cost":"Show token costs","/init":"Reinitialize session","/doctor":"Check health status","/memory":"View/edit memory","/model":"View/switch model","/review":"Code review","/mcp":"MCP server status","/skills":"List available skills","/btw":"Side question (no history)","/insights":"Session insights","/pr-comments":"PR comment review","/release-notes":"Generate release notes","/security-review":"Security review"},Tb=new Set(Object.keys(eo)),Nf=Object.keys(eo),to={"/low":"Use low reasoning effort for this turn","/medium":"Use medium reasoning effort for this turn","/high":"Use high reasoning effort for this turn","/xhigh":"Use extra-high reasoning effort for this turn","/max":"Use maximum reasoning effort for this turn"},Wf=Object.keys(to);Rb={skill:"Skills",builtin:"Built-in",project:"Commands"},qf={skill:0,project:1,builtin:2}});function Lb(e){return!(!e||typeof e!="string"||e.length<1||e.length>40||e.startsWith("_")||Eb.test(e)||_b.has(e.toLowerCase()))}function no(e){if(!e||typeof e!="string")return{text:e||"",mentions:[]};let t=new Set;Yf.lastIndex=0;let s;for(;(s=Yf.exec(e))!==null;){let n=s[2];if(Lb(n)&&!t.has(n)&&(t.add(n),t.size>=Db))break}return{text:e,mentions:Array.from(t)}}var _b,Yf,Eb,Db,Rl=O(()=>{_b=new Set(["all","user","system","everyone"]),Yf=/(^|[\s\p{P}])@([A-Za-z0-9_-]{1,40})(?=$|[\s\p{P}])/gu,Eb=/^[0-9]+$/,Db=32});function Gf(e){let t=typeof e?.vpId=="string"?e.vpId:"";return _l.has(t)?_l.get(t):e?.isStock===!0?"other":"custom"}function Bs(e){let t=new Map(ro.map(s=>[s.id,[]]));for(let s of Array.isArray(e)?e:[])!s||typeof s.vpId!="string"||!s.vpId||t.get(Gf(s)).push(s);return ro.map(s=>({id:s.id,labelKey:s.labelKey,vps:t.get(s.id)})).filter(s=>s.vps.length>0)}function $r(e){return Bs(e).flatMap(t=>t.vps)}function Qf(e){let t=new Map(ro.map(r=>[r.id,r])),s=new Map,n=[];for(let r of Array.isArray(e)?e:[]){if(!r||typeof r.vpId!="string"||!r.vpId)continue;let i=Gf(r),o=n[n.length-1];if(o&&o.id===i){o.vps.push(r);continue}let a=(s.get(i)||0)+1;s.set(i,a),n.push({id:i,key:`${i}-${a}`,labelKey:t.get(i).labelKey,vps:[r]})}return n}var $b,ro,_l,Hr=O(()=>{$b=[{id:"general",labelKey:"yeaft.vp.domain.general",vpIds:["omni"]},{id:"productDesign",labelKey:"yeaft.vp.domain.productDesign",vpIds:["steve","dieter","norman"]},{id:"softwareSystems",labelKey:"yeaft.vp.domain.softwareSystems",vpIds:["linus","martin","anders","ada","grace","ken","alan"]},{id:"securityReliability",labelKey:"yeaft.vp.domain.securityReliability",vpIds:["alice","margaret"]},{id:"scienceAnalysis",labelKey:"yeaft.vp.domain.scienceAnalysis",vpIds:["shannon","einstein"]},{id:"philosophyPsychology",labelKey:"yeaft.vp.domain.philosophyPsychology",vpIds:["kongzi","socrates","nietzsche","kahneman","jung"]},{id:"strategyHistory",labelKey:"yeaft.vp.domain.strategyHistory",vpIds:["sunzi","clausewitz","simaqian","harari"]},{id:"businessManagement",labelKey:"yeaft.vp.domain.businessManagement",vpIds:["buffett","munger","dalio","bezos","drucker"]},{id:"artsCulture",labelKey:"yeaft.vp.domain.artsCulture",vpIds:["luxun","sudongpo","borges","kubrick","miyazaki"]},{id:"other",labelKey:"yeaft.vp.domain.other",vpIds:[]},{id:"custom",labelKey:"yeaft.vp.domain.custom",vpIds:[]}],ro=Object.freeze($b.map(e=>Object.freeze({id:e.id,labelKey:e.labelKey,vpIds:Object.freeze([...e.vpIds])}))),_l=new Map;for(let e of ro)for(let t of e.vpIds)_l.set(t,e.id)});function El(e,t){let s=Array.isArray(e)?e:[],n=typeof t=="string"?t.toLowerCase():"";if(!n){let c=s.filter(d=>d&&d.vpId&&d.vpId!=="user");return $r(c).slice(0,Xf)}let r=[],i=[],o=[],a=new Set,l=(c,d)=>{a.has(c.vpId)||(a.add(c.vpId),d.push(c))};for(let c of s){if(!c||!c.vpId||c.vpId==="user")continue;if(String(c.vpId).toLowerCase().startsWith(n)){l(c,r);continue}let u=Array.isArray(c.aliases)?c.aliases:[],p=!1;for(let I of u){let b=String(I||"").toLowerCase();if(b&&b.startsWith(n)){p=!0;break}}if(p){l(c,i);continue}let f=String(c.displayName||"").toLowerCase(),g=String(c.displayNameZh||""),h=[c.description,c.descriptionZh,c.role,c.roleZh].map(I=>String(I||"").toLowerCase()),m=typeof t=="string"?t:"",w=f.includes(n)||m&&g.includes(m),y=n&&h.some(I=>I.includes(n));(w||y)&&l(c,o)}return[...$r(r),...$r(i),...$r(o)].slice(0,Xf)}function Dl(e="chat-input"){return`${e}-vp-mention-listbox`}function Ll(e,t){let s=String(t||"").replace(/[^A-Za-z0-9_.:-]/g,"-");return`${e}-vp-mention-option-${s}`}function Hb(e){let t=0;return Qf(e).map(s=>({...s,items:s.vps.map(n=>({vp:n,flatIndex:t++}))}))}function Zf(e,t){let s=Array.isArray(e)?e:[];if(!t)return s;let n=Array.isArray(t.roster)?t.roster:[];if(n.length===0)return[];let r=new Set(n);return s.filter(i=>i&&i.vpId&&r.has(i.vpId))}function Jf(e,t){if(typeof e!="string"||!t)return e;let s=e.lastIndexOf("@");if(s<0)return e;let n=s+1;for(;n<e.length&&!/[\s]/.test(e[n]);)n++;return e.slice(0,s)+"@"+t+" "+e.slice(n)}var Xf,eg,tg=O(()=>{Hr();Xf=12;eg={name:"VpMentionAutocomplete",emits:["select","hover-index"],props:{vps:{type:Array,default:()=>[]},query:{type:String,default:""},selectedIndex:{type:Number,default:0},inputId:{type:String,required:!0}},template:`
|
|
1689
1689
|
<div
|
|
1690
1690
|
class="slash-autocomplete vp-mention-autocomplete"
|
|
1691
1691
|
v-if="filteredList.length > 0"
|
|
Binary file
|
package/package.json
CHANGED