@yeaft/webchat-agent 1.0.245 → 1.0.246

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.245"}
1
+ {"version":"1.0.246"}
@@ -1009,7 +1009,7 @@ ${String(e||"").trim()}
1009
1009
  ></div>
1010
1010
  </div>
1011
1011
  `,setup(e,{emit:t,expose:s}){let n=Vue.ref(null),i=Vue.ref(null),r=e.initialAlign==="end",o=Vue.ref(r?Number.MAX_SAFE_INTEGER:0),a=Vue.ref(_t.viewportHeight),l=Vue.reactive({}),c=new Map,d=new Map,u=new Map,p=null,f=null,h=null,b=null,m=0,A=!1,w=0,S=Vue.computed(()=>uo(e.items,l,{itemGap:e.itemGap,estimateHeight:e.estimateHeight})),v=Vue.computed(()=>Pd(e.items,S.value,{scrollTop:o.value,viewportHeight:a.value,overscan:e.overscan})),g=Vue.computed(()=>v.value.items),y=Vue.computed(()=>v.value.topSpacerHeight),_=Vue.computed(()=>v.value.bottomSpacerHeight);function L(Q){Q&&t("scroll-state",{scrollTop:Q.scrollTop||0,scrollHeight:Q.scrollHeight||0,clientHeight:Q.clientHeight||0})}function N(){let Q=i.value;Q&&(a.value=Math.max(1,Q.clientHeight||_t.viewportHeight),r&&e.items.length===0||(o.value=Math.max(0,Q.scrollTop||0)),L(Q))}function $(){let Q=i.value;return!r||e.initialAlign!=="end"||e.items.length===0||!Q?!1:(Q.scrollTop=Q.scrollHeight,r=!1,N(),!0)}function R(){$()||N()}function D(){f||(f=requestAnimationFrame(()=>{f=null,N()}))}function M(Q){return Q?Is({scrollTop:Q.scrollTop,scrollHeight:Q.scrollHeight,clientHeight:Q.clientHeight,threshold:_t.bottomThreshold}):!0}function C({delta:Q=0,toBottom:Z=!1}={},re=w){if(re!==w||(Math.abs(Q)>=di&&(m+=Q),Z&&(A=!0),b))return;let x=re;b=requestAnimationFrame(()=>{if(b=null,x!==w)return;let T=i.value;if(!T){m=0,A=!1;return}A?T.scrollTop=T.scrollHeight:Math.abs(m)>=di&&(T.scrollTop+=m),m=0,A=!1,N()})}function P(){w+=1,A=!1,m=0,b&&cancelAnimationFrame(b),b=null}function B(Q,Z,re){!Q||!re||(u.set(Q,{index:Z,el:re}),!h&&(h=requestAnimationFrame(()=>{h=null;let x=Array.from(u.entries());u.clear(),F(x)})))}function F(Q){let Z=[];for(let[ne,X]of Q){let O=X?.el;if(!O)continue;let J=Math.ceil(O.getBoundingClientRect?.().height||O.offsetHeight||0);if(!Number.isFinite(J)||J<=0)continue;let ie=l[ne];if(ie===J)continue;let he=c.get(ne);Z.push({key:ne,nextHeight:J,previousHeight:ie,itemIndex:Number.isFinite(he)?he:X.index})}if(!Z.length)return;let re=i.value,x=M(re),T=v.value.visibleStart,U=0,ee=!1;for(let ne of Z){let{key:X,nextHeight:O,previousHeight:J,itemIndex:ie}=ne;if(l[X]=O,!re||!Number.isFinite(J))continue;let he=O-J;Math.abs(he)<di||(Number.isFinite(ie)&&ie<T?U+=he:x&&(ee=!0))}if(!(Math.abs(U)>=di)&&!ee)return;let ke={delta:U,toBottom:ee},Ae=w;ee?Vue.nextTick(()=>C(ke,Ae)):C(ke,Ae)}function W(Q,Z,re){c.set(Q,Z),re&&(d.set(Q,re),p&&p.observe(re),Vue.nextTick(()=>B(Q,Z,re)))}function se(Q,Z,re){if(!Q)return;let x=d.get(Q);if(x&&x!==re&&p&&p.unobserve(x),!re){d.delete(Q);return}W(Q,Z,re)}async function ve(Q,{align:Z="center"}={}){let re=Number.isFinite(Q)?Math.floor(Q):-1,x=i.value;if(!x||re<0||re>=e.items.length)return!1;P();let T=Cs(e.items[re],re);x.scrollTop=Dd(e.items,re,l,{itemGap:e.itemGap,estimateHeight:e.estimateHeight,viewportHeight:x.clientHeight||a.value,align:Z}),N(),await Vue.nextTick();let U=d.get(T);return U?.scrollIntoView&&U.scrollIntoView({block:Z,inline:"nearest"}),N(),!0}function ue(Q,Z={}){let re=c.get(String(Q));return Number.isFinite(re)?ve(re,Z):Promise.resolve(!1)}return s({scrollToKey:ue,scrollToIndex:ve,cancelPendingBottomFollow:P}),Vue.watch(()=>e.items.map((Q,Z)=>Cs(Q,Z)).join(`
1012
- `),()=>{c.clear(),e.items.forEach((Q,Z)=>c.set(Cs(Q,Z),Z)),Vue.nextTick(R)},{immediate:!0}),Vue.onMounted(()=>{if(i.value=n.value?.closest?.(".chat-container")||n.value?.parentElement||null,R(),i.value?.addEventListener("scroll",D,{passive:!0}),window.addEventListener("resize",D),typeof ResizeObserver<"u"){p=new ResizeObserver(Q=>{for(let Z of Q){let re=Z.target?.dataset?.virtualId,x=Number(Z.target?.dataset?.virtualIndex);re&&B(re,x,Z.target)}});for(let[Q,Z]of d.entries()){let re=c.get(Q)??Number(Z.dataset?.virtualIndex||0);W(Q,re,Z)}}}),Vue.onBeforeUnmount(()=>{i.value?.removeEventListener("scroll",D),window.removeEventListener("resize",D),p&&p.disconnect(),f&&cancelAnimationFrame(f),h&&cancelAnimationFrame(h),b&&cancelAnimationFrame(b),u.clear(),m=0,A=!1}),{rootRef:n,visibleEntries:g,topSpacerHeight:y,bottomSpacerHeight:_,setItemRef:se}}}});function an(e){return typeof e=="string"&&e.trim()?e.trim():""}function Rm(e){return an(e?.speakerVpId)||an(e?.vpId)}function Vd(e,t){if(!e||!t)return!1;let s=an(e.speakerVpId),n=Rm(t);if(s&&n&&s!==n)return!0;if(e.isHistory&&t.isHistory)return!1;let i=an(e.turnId),r=an(t.turnId);return!!(i&&r&&i!==r)}var Fd=H(()=>{});function ln(e){return e?e.type!=="user"&&e.type!=="system"&&e.type!=="error":!1}function ui(e){let t=Array.isArray(e?.items)?e.items:[];return e?.responseCollapsed?t.filter(s=>!ln(s)):t}function Lm(e){return(Array.isArray(e?.items)?e.items:[]).filter(ln)}function Od(e){let t=Lm(e);return t.length?t[0]:null}function $m(e){let t=e?.textContent??e?.text??e?.content??e?.message?.content??"";return typeof t=="string"?t:Array.isArray(t)?t.map(s=>typeof s=="string"?s:s&&s.type==="text"&&s.text||"").join(""):t==null?"":String(t)}function Hd(e){if(!e?.responseCollapsed)return[];let t=Od(e);return $m(t).replace(/```[\s\S]*?```/g," ").replace(/`([^`]+)`/g,"$1").replace(/!\[[^\]]*\]\([^)]*\)/g," ").replace(/\[[^\]]*\]\(([^)]*)\)/g,"").replace(/[#>*_~\-]+/g," ").split(/\r?\n/).map(n=>n.trim()).filter(Boolean).slice(0,2)}function Nd(e,t){if(!e?.responseCollapsed||typeof t!="function")return null;let s=ui(e),n=Od(e)?74:0,i=s.length+(n?1:0);if(!s.length)return n;let r=s.reduce((a,l)=>a+t(l),0),o=Math.max(0,i-1)*18;return r+o+n}var Bd=H(()=>{});function Gt(e,t){typeof t!="string"||!/^m\d+$/.test(t)||e.includes(t)||e.push(t)}function Vm(e){if(!e)return[];let t=[];for(let s of Array.isArray(e.messages)?e.messages:[])Gt(t,s?.id),Gt(t,s?.messageId),Gt(t,s?.persistedMessageId);return Gt(t,e.message?.id),Gt(t,e.messageId),Gt(t,e.atMessageId),e.type!=="assistant-turn"&&Gt(t,e.id),t}function qd(e){return!e?.closest?.(".yeaft-conversation-outline, .yeaft-search-btn")}async function Wd({result:e,revealWindow:t,nextTick:s,revealMessage:n,isMobile:i,closeOutline:r}){if(!e||!await t?.(e))return!1;await s?.();let a=await n?.(e.messageId);return a&&i&&r?.(),!!a}function Fm(e,t){if(!t)return null;for(let s of Array.isArray(e)?e:[]){if(!s)continue;let n=Array.isArray(s.items)?s.items:[s];for(let i of n){if(!Vm(i).includes(t))continue;let r=i?.id,o=s?.id;return!r||!o?null:{blockId:o,rowId:r,collapseKey:s.responseCollapseKey||null,requiresExpansion:!!(s.responseCollapsed&&i.type==="assistant-turn")}}}return null}async function Ud({blocks:e,messageId:t,collapseStates:s,scrollToBlock:n,findRow:i,flashRow:r,nextTick:o}){let a=Fm(e,t);if(!a||typeof n!="function"||typeof i!="function")return!1;if(a.requiresExpansion){if(!a.collapseKey||!s)return!1;s[a.collapseKey]=!1,await o?.()}if(!await n(a.blockId))return!1;await o?.();let c=i(a.rowId);return c?(c.scrollIntoView?.({block:"center",inline:"nearest"}),r?.(a.rowId),!0):!1}var go=H(()=>{});var pi,mo=H(()=>{ot();Zr();ni();li();wd();lo();Sd();Id();xd();$d();Fd();fo();Bd();go();zt();pi={name:"MessageList",components:{MessageItem:ks,AssistantTurn:Ss,VpTurnBlock:bd,VpSpeakerHeader:oi,ReflectionCard:kd,SubAgentCard:Cd,UserTurnBlock:Ad,VirtualTranscript:Ld},template:`
1012
+ `),()=>{c.clear(),e.items.forEach((Q,Z)=>c.set(Cs(Q,Z),Z)),Vue.nextTick(R)},{immediate:!0}),Vue.onMounted(()=>{if(i.value=n.value?.closest?.(".chat-container")||n.value?.parentElement||null,R(),i.value?.addEventListener("scroll",D,{passive:!0}),window.addEventListener("resize",D),typeof ResizeObserver<"u"){p=new ResizeObserver(Q=>{for(let Z of Q){let re=Z.target?.dataset?.virtualId,x=Number(Z.target?.dataset?.virtualIndex);re&&B(re,x,Z.target)}});for(let[Q,Z]of d.entries()){let re=c.get(Q)??Number(Z.dataset?.virtualIndex||0);W(Q,re,Z)}}}),Vue.onBeforeUnmount(()=>{i.value?.removeEventListener("scroll",D),window.removeEventListener("resize",D),p&&p.disconnect(),f&&cancelAnimationFrame(f),h&&cancelAnimationFrame(h),b&&cancelAnimationFrame(b),u.clear(),m=0,A=!1}),{rootRef:n,visibleEntries:g,topSpacerHeight:y,bottomSpacerHeight:_,setItemRef:se}}}});function an(e){return typeof e=="string"&&e.trim()?e.trim():""}function Rm(e){return an(e?.speakerVpId)||an(e?.vpId)}function Vd(e,t){if(!e||!t)return!1;let s=an(e.speakerVpId),n=Rm(t);if(s&&n&&s!==n)return!0;if(e.isHistory&&t.isHistory)return!1;let i=an(e.turnId),r=an(t.turnId);return!!(i&&r&&i!==r)}var Fd=H(()=>{});function ln(e){return e?e.type!=="user"&&e.type!=="system"&&e.type!=="error":!1}function ui(e){let t=Array.isArray(e?.items)?e.items:[];return e?.responseCollapsed?t.filter(s=>!ln(s)):t}function Lm(e){return(Array.isArray(e?.items)?e.items:[]).filter(ln)}function Od(e){let t=Lm(e);return t.length?t[0]:null}function $m(e){let t=e?.textContent??e?.text??e?.content??e?.message?.content??"";return typeof t=="string"?t:Array.isArray(t)?t.map(s=>typeof s=="string"?s:s&&s.type==="text"&&s.text||"").join(""):t==null?"":String(t)}function Hd(e){if(!e?.responseCollapsed)return[];let t=Od(e);return $m(t).replace(/```[\s\S]*?```/g," ").replace(/`([^`]+)`/g,"$1").replace(/!\[[^\]]*\]\([^)]*\)/g," ").replace(/\[[^\]]*\]\(([^)]*)\)/g,"").replace(/[#>*_~\-]+/g," ").split(/\r?\n/).map(n=>n.trim()).filter(Boolean).slice(0,2)}function Nd(e,t){if(!e?.responseCollapsed||typeof t!="function")return null;let s=ui(e),n=Od(e)?74:0,i=s.length+(n?1:0);if(!s.length)return n;let r=s.reduce((a,l)=>a+t(l),0),o=Math.max(0,i-1)*18;return r+o+n}var Bd=H(()=>{});function Gt(e,t){typeof t!="string"||!/^m\d+$/.test(t)||e.includes(t)||e.push(t)}function Vm(e){if(!e)return[];let t=[];for(let s of Array.isArray(e.messages)?e.messages:[])Gt(t,s?.id),Gt(t,s?.messageId),Gt(t,s?.persistedMessageId);return Gt(t,e.message?.id),Gt(t,e.messageId),Gt(t,e.atMessageId),e.type!=="assistant-turn"&&Gt(t,e.id),t}function qd(e){return!e?.closest?.(".yeaft-conversation-outline, .yeaft-conversation-outline-sender-menu, .yeaft-search-btn")}async function Wd({result:e,revealWindow:t,nextTick:s,revealMessage:n,isMobile:i,closeOutline:r}){if(!e||!await t?.(e))return!1;await s?.();let a=await n?.(e.messageId);return a&&i&&r?.(),!!a}function Fm(e,t){if(!t)return null;for(let s of Array.isArray(e)?e:[]){if(!s)continue;let n=Array.isArray(s.items)?s.items:[s];for(let i of n){if(!Vm(i).includes(t))continue;let r=i?.id,o=s?.id;return!r||!o?null:{blockId:o,rowId:r,collapseKey:s.responseCollapseKey||null,requiresExpansion:!!(s.responseCollapsed&&i.type==="assistant-turn")}}}return null}async function Ud({blocks:e,messageId:t,collapseStates:s,scrollToBlock:n,findRow:i,flashRow:r,nextTick:o}){let a=Fm(e,t);if(!a||typeof n!="function"||typeof i!="function")return!1;if(a.requiresExpansion){if(!a.collapseKey||!s)return!1;s[a.collapseKey]=!1,await o?.()}if(!await n(a.blockId))return!1;await o?.();let c=i(a.rowId);return c?(c.scrollIntoView?.({block:"center",inline:"nearest"}),r?.(a.rowId),!0):!1}var go=H(()=>{});var pi,mo=H(()=>{ot();Zr();ni();li();wd();lo();Sd();Id();xd();$d();Fd();fo();Bd();go();zt();pi={name:"MessageList",components:{MessageItem:ks,AssistantTurn:Ss,VpTurnBlock:bd,VpSpeakerHeader:oi,ReflectionCard:kd,SubAgentCard:Cd,UserTurnBlock:Ad,VirtualTranscript:Ld},template:`
1013
1013
  <main class="chat-container" ref="containerRef">
1014
1014
  <!-- Session Loading Overlay - only covers message area -->
1015
1015
  <div class="session-loading-overlay" v-if="showSessionLoadingOverlay">
Binary file
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
6
6
  <title>Yeaft</title>
7
7
  <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='8' fill='%232c2c2c'/><path d='M16 22V13M16 13L10 8M16 13L22 8' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/><circle cx='10' cy='8' r='2.4' fill='white'/><circle cx='22' cy='8' r='2.4' fill='white'/><circle cx='16' cy='22' r='2.4' fill='white'/></svg>">
8
- <link rel="stylesheet" href="style.bundle.css?v=d94503a2">
8
+ <link rel="stylesheet" href="style.bundle.css?v=0ecf0c5a">
9
9
  <script src="vendor.bundle.js?v=103fd8e7"></script>
10
10
  <script defer src="jszip.min.js"></script>
11
11
  <script defer src="docx-preview.min.js"></script>
@@ -16,6 +16,6 @@
16
16
  </head>
17
17
  <body>
18
18
  <div id="app"></div>
19
- <script type="module" src="app.bundle.js?v=bc339bf4"></script>
19
+ <script type="module" src="app.bundle.js?v=8a4f8dc9"></script>
20
20
  </body>
21
21
  </html>