@deep-eye/core 1.2.41 → 1.2.42

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.
package/dist/index.cjs CHANGED
@@ -657,7 +657,7 @@ l0,-`+(e+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
657
657
  `):""}const soA=/\[REF:(\d+-\d+)\]/g,goA=/\$\$(\d+-\d+)\$\$/g,loA=/\$\$(\d+-\d+)\$\$\$\$(\d+-\d+)\$\$/;function j4(t){return`<span class="reference-tag" id="reference-tag-${t}">${t}</span>`}function gM(t){if(!t||t.indexOf("[REF:")===-1&&t.indexOf("$$")===-1)return t;let A=t;for(;loA.test(A);)A=A.replace(/\$\$(\d+-\d+)\$\$\$\$(\d+-\d+)\$\$/g,(e,r,i)=>`$$${r}$$ $$${i}$$`);return A=A.replace(soA,(e,r)=>j4(r)),A=A.replace(goA,(e,r)=>j4(r)),A}/*! @license DOMPurify 3.4.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.2/LICENSE */const{entries:lM,setPrototypeOf:$4,isFrozen:coA,getPrototypeOf:uoA,getOwnPropertyDescriptor:hoA}=Object;let{freeze:ri,seal:nn,create:el}=Object,{apply:$E,construct:Av}=typeof Reflect<"u"&&Reflect;ri||(ri=function(A){return A});nn||(nn=function(A){return A});$E||($E=function(A,e){for(var r=arguments.length,i=new Array(r>2?r-2:0),n=2;n<r;n++)i[n-2]=arguments[n];return A.apply(e,i)});Av||(Av=function(A){for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];return new A(...r)});const Jc=jt(Array.prototype.forEach),CoA=jt(Array.prototype.lastIndexOf),Ab=jt(Array.prototype.pop),Oc=jt(Array.prototype.push),IoA=jt(Array.prototype.splice),Kr=Array.isArray,lu=jt(String.prototype.toLowerCase),TQ=jt(String.prototype.toString),eb=jt(String.prototype.match),qg=jt(String.prototype.replace),tb=jt(String.prototype.indexOf),foA=jt(String.prototype.trim),doA=jt(Number.prototype.toString),BoA=jt(Boolean.prototype.toString),rb=typeof BigInt>"u"?null:jt(BigInt.prototype.toString),ib=typeof Symbol>"u"?null:jt(Symbol.prototype.toString),Rt=jt(Object.prototype.hasOwnProperty),Hc=jt(Object.prototype.toString),Er=jt(RegExp.prototype.test),$h=QoA(TypeError);function jt(t){return function(A){A instanceof RegExp&&(A.lastIndex=0);for(var e=arguments.length,r=new Array(e>1?e-1:0),i=1;i<e;i++)r[i-1]=arguments[i];return $E(t,A,r)}}function QoA(t){return function(){for(var A=arguments.length,e=new Array(A),r=0;r<A;r++)e[r]=arguments[r];return Av(t,e)}}function pe(t,A){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:lu;if($4&&$4(t,null),!Kr(A))return t;let r=A.length;for(;r--;){let i=A[r];if(typeof i=="string"){const n=e(i);n!==i&&(coA(A)||(A[r]=n),i=n)}t[i]=!0}return t}function poA(t){for(let A=0;A<t.length;A++)Rt(t,A)||(t[A]=null);return t}function li(t){const A=el(null);for(const[e,r]of lM(t))Rt(t,e)&&(Kr(r)?A[e]=poA(r):r&&typeof r=="object"&&r.constructor===Object?A[e]=li(r):A[e]=r);return A}function EoA(t){switch(typeof t){case"string":return t;case"number":return doA(t);case"boolean":return BoA(t);case"bigint":return rb?rb(t):"0";case"symbol":return ib?ib(t):"Symbol()";case"undefined":return Hc(t);case"function":case"object":{if(t===null)return Hc(t);const A=t,e=tl(A,"toString");if(typeof e=="function"){const r=e(A);return typeof r=="string"?r:Hc(r)}return Hc(t)}default:return Hc(t)}}function tl(t,A){for(;t!==null;){const r=hoA(t,A);if(r){if(r.get)return jt(r.get);if(typeof r.value=="function")return jt(r.value)}t=uoA(t)}function e(){return null}return e}function voA(t){try{return Er(t,""),!0}catch{return!1}}const nb=ri(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),YQ=ri(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),UQ=ri(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),moA=ri(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),JQ=ri(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),yoA=ri(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ab=ri(["#text"]),ob=ri(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),OQ=ri(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),sb=ri(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),AC=ri(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),woA=nn(/\{\{[\w\W]*|[\w\W]*\}\}/gm),DoA=nn(/<%[\w\W]*|[\w\W]*%>/gm),koA=nn(/\$\{[\w\W]*/gm),boA=nn(/^data-[\-\w.\u00B7-\uFFFF]+$/),SoA=nn(/^aria-[\-\w]+$/),cM=nn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),NoA=nn(/^(?:\w+script|data):/i),FoA=nn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),uM=nn(/^html$/i),xoA=nn(/^[a-z][.\w]*(-[.\w]+)+$/i);var gb=Object.freeze({__proto__:null,ARIA_ATTR:SoA,ATTR_WHITESPACE:FoA,CUSTOM_ELEMENT:xoA,DATA_ATTR:boA,DOCTYPE_NAME:uM,ERB_EXPR:DoA,IS_ALLOWED_URI:cM,IS_SCRIPT_OR_DATA:NoA,MUSTACHE_EXPR:woA,TMPLIT_EXPR:koA});const Vc={element:1,text:3,progressingInstruction:7,comment:8,document:9},_oA=function(){return typeof window>"u"?null:window},MoA=function(A,e){if(typeof A!="object"||typeof A.createPolicy!="function")return null;let r=null;const i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(r=e.getAttribute(i));const n="dompurify"+(r?"#"+r:"");try{return A.createPolicy(n,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+n+" could not be created."),null}},lb=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function hM(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:_oA();const A=jA=>hM(jA);if(A.version="3.4.2",A.removed=[],!t||!t.document||t.document.nodeType!==Vc.document||!t.Element)return A.isSupported=!1,A;let{document:e}=t;const r=e,i=r.currentScript,{DocumentFragment:n,HTMLTemplateElement:a,Node:o,Element:s,NodeFilter:g,NamedNodeMap:l=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:c,DOMParser:h,trustedTypes:u}=t,I=s.prototype,f=tl(I,"cloneNode"),d=tl(I,"remove"),B=tl(I,"nextSibling"),Q=tl(I,"childNodes"),p=tl(I,"parentNode");if(typeof a=="function"){const jA=e.createElement("template");jA.content&&jA.content.ownerDocument&&(e=jA.content.ownerDocument)}let E,v="";const{implementation:y,createNodeIterator:w,createDocumentFragment:k,getElementsByTagName:b}=e,{importNode:F}=r;let S=lb();A.isSupported=typeof lM=="function"&&typeof p=="function"&&y&&y.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:_,ERB_EXPR:N,TMPLIT_EXPR:R,DATA_ATTR:T,ARIA_ATTR:J,IS_SCRIPT_OR_DATA:Y,ATTR_WHITESPACE:G,CUSTOM_ELEMENT:P}=gb;let{IS_ALLOWED_URI:z}=gb,X=null;const iA=pe({},[...nb,...YQ,...UQ,...JQ,...ab]);let aA=null;const oA=pe({},[...ob,...OQ,...sb,...AC]);let hA=Object.seal(el(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),_A=null,PA=null;const ee=Object.seal(el(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let WA=!0,eA=!0,yA=!1,MA=!0,he=!1,Ce=!0,xe=!1,SA=!1,KA=!1,XA=!1,nA=!1,sA=!1,dA=!0,me=!1;const Ze="user-content-";let wt=!0,Se=!1,Ht={},qe=null;const st=pe({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let je=null;const Jr=pe({},["audio","video","img","source","image","track"]);let Ir=null;const Dn=pe({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),fr="http://www.w3.org/1998/Math/MathML",ni="http://www.w3.org/2000/svg",rt="http://www.w3.org/1999/xhtml";let ut=rt,ai=!1,kn=null;const Ar=pe({},[fr,ni,rt],TQ);let bn=pe({},["mi","mo","mn","ms","mtext"]),ln=pe({},["annotation-xml"]);const na=pe({},["title","style","font","a","script"]);let dr=null;const cn=["application/xhtml+xml","text/html"],aa="text/html";let K=null,rA=null;const cA=e.createElement("form"),RA=function(q){return q instanceof RegExp||q instanceof Function},JA=function(){let q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(rA&&rA===q)return;(!q||typeof q!="object")&&(q={}),q=li(q),dr=cn.indexOf(q.PARSER_MEDIA_TYPE)===-1?aa:q.PARSER_MEDIA_TYPE,K=dr==="application/xhtml+xml"?TQ:lu,X=Rt(q,"ALLOWED_TAGS")&&Kr(q.ALLOWED_TAGS)?pe({},q.ALLOWED_TAGS,K):iA,aA=Rt(q,"ALLOWED_ATTR")&&Kr(q.ALLOWED_ATTR)?pe({},q.ALLOWED_ATTR,K):oA,kn=Rt(q,"ALLOWED_NAMESPACES")&&Kr(q.ALLOWED_NAMESPACES)?pe({},q.ALLOWED_NAMESPACES,TQ):Ar,Ir=Rt(q,"ADD_URI_SAFE_ATTR")&&Kr(q.ADD_URI_SAFE_ATTR)?pe(li(Dn),q.ADD_URI_SAFE_ATTR,K):Dn,je=Rt(q,"ADD_DATA_URI_TAGS")&&Kr(q.ADD_DATA_URI_TAGS)?pe(li(Jr),q.ADD_DATA_URI_TAGS,K):Jr,qe=Rt(q,"FORBID_CONTENTS")&&Kr(q.FORBID_CONTENTS)?pe({},q.FORBID_CONTENTS,K):st,_A=Rt(q,"FORBID_TAGS")&&Kr(q.FORBID_TAGS)?pe({},q.FORBID_TAGS,K):li({}),PA=Rt(q,"FORBID_ATTR")&&Kr(q.FORBID_ATTR)?pe({},q.FORBID_ATTR,K):li({}),Ht=Rt(q,"USE_PROFILES")?q.USE_PROFILES&&typeof q.USE_PROFILES=="object"?li(q.USE_PROFILES):q.USE_PROFILES:!1,WA=q.ALLOW_ARIA_ATTR!==!1,eA=q.ALLOW_DATA_ATTR!==!1,yA=q.ALLOW_UNKNOWN_PROTOCOLS||!1,MA=q.ALLOW_SELF_CLOSE_IN_ATTR!==!1,he=q.SAFE_FOR_TEMPLATES||!1,Ce=q.SAFE_FOR_XML!==!1,xe=q.WHOLE_DOCUMENT||!1,XA=q.RETURN_DOM||!1,nA=q.RETURN_DOM_FRAGMENT||!1,sA=q.RETURN_TRUSTED_TYPE||!1,KA=q.FORCE_BODY||!1,dA=q.SANITIZE_DOM!==!1,me=q.SANITIZE_NAMED_PROPS||!1,wt=q.KEEP_CONTENT!==!1,Se=q.IN_PLACE||!1,z=voA(q.ALLOWED_URI_REGEXP)?q.ALLOWED_URI_REGEXP:cM,ut=typeof q.NAMESPACE=="string"?q.NAMESPACE:rt,bn=Rt(q,"MATHML_TEXT_INTEGRATION_POINTS")&&q.MATHML_TEXT_INTEGRATION_POINTS&&typeof q.MATHML_TEXT_INTEGRATION_POINTS=="object"?li(q.MATHML_TEXT_INTEGRATION_POINTS):pe({},["mi","mo","mn","ms","mtext"]),ln=Rt(q,"HTML_INTEGRATION_POINTS")&&q.HTML_INTEGRATION_POINTS&&typeof q.HTML_INTEGRATION_POINTS=="object"?li(q.HTML_INTEGRATION_POINTS):pe({},["annotation-xml"]);const uA=Rt(q,"CUSTOM_ELEMENT_HANDLING")&&q.CUSTOM_ELEMENT_HANDLING&&typeof q.CUSTOM_ELEMENT_HANDLING=="object"?li(q.CUSTOM_ELEMENT_HANDLING):el(null);if(hA=el(null),Rt(uA,"tagNameCheck")&&RA(uA.tagNameCheck)&&(hA.tagNameCheck=uA.tagNameCheck),Rt(uA,"attributeNameCheck")&&RA(uA.attributeNameCheck)&&(hA.attributeNameCheck=uA.attributeNameCheck),Rt(uA,"allowCustomizedBuiltInElements")&&typeof uA.allowCustomizedBuiltInElements=="boolean"&&(hA.allowCustomizedBuiltInElements=uA.allowCustomizedBuiltInElements),he&&(eA=!1),nA&&(XA=!0),Ht&&(X=pe({},ab),aA=el(null),Ht.html===!0&&(pe(X,nb),pe(aA,ob)),Ht.svg===!0&&(pe(X,YQ),pe(aA,OQ),pe(aA,AC)),Ht.svgFilters===!0&&(pe(X,UQ),pe(aA,OQ),pe(aA,AC)),Ht.mathMl===!0&&(pe(X,JQ),pe(aA,sb),pe(aA,AC))),ee.tagCheck=null,ee.attributeCheck=null,Rt(q,"ADD_TAGS")&&(typeof q.ADD_TAGS=="function"?ee.tagCheck=q.ADD_TAGS:Kr(q.ADD_TAGS)&&(X===iA&&(X=li(X)),pe(X,q.ADD_TAGS,K))),Rt(q,"ADD_ATTR")&&(typeof q.ADD_ATTR=="function"?ee.attributeCheck=q.ADD_ATTR:Kr(q.ADD_ATTR)&&(aA===oA&&(aA=li(aA)),pe(aA,q.ADD_ATTR,K))),Rt(q,"ADD_URI_SAFE_ATTR")&&Kr(q.ADD_URI_SAFE_ATTR)&&pe(Ir,q.ADD_URI_SAFE_ATTR,K),Rt(q,"FORBID_CONTENTS")&&Kr(q.FORBID_CONTENTS)&&(qe===st&&(qe=li(qe)),pe(qe,q.FORBID_CONTENTS,K)),Rt(q,"ADD_FORBID_CONTENTS")&&Kr(q.ADD_FORBID_CONTENTS)&&(qe===st&&(qe=li(qe)),pe(qe,q.ADD_FORBID_CONTENTS,K)),wt&&(X["#text"]=!0),xe&&pe(X,["html","head","body"]),X.table&&(pe(X,["tbody"]),delete _A.tbody),q.TRUSTED_TYPES_POLICY){if(typeof q.TRUSTED_TYPES_POLICY.createHTML!="function")throw $h('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof q.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw $h('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');E=q.TRUSTED_TYPES_POLICY,v=E.createHTML("")}else E===void 0&&(E=MoA(u,i)),E!==null&&typeof v=="string"&&(v=E.createHTML(""));ri&&ri(q),rA=q},De=pe({},[...YQ,...UQ,...moA]),Vt=pe({},[...JQ,...yoA]),Zt=function(q){let uA=p(q);(!uA||!uA.tagName)&&(uA={namespaceURI:ut,tagName:"template"});const xA=lu(q.tagName),ze=lu(uA.tagName);return kn[q.namespaceURI]?q.namespaceURI===ni?uA.namespaceURI===rt?xA==="svg":uA.namespaceURI===fr?xA==="svg"&&(ze==="annotation-xml"||bn[ze]):!!De[xA]:q.namespaceURI===fr?uA.namespaceURI===rt?xA==="math":uA.namespaceURI===ni?xA==="math"&&ln[ze]:!!Vt[xA]:q.namespaceURI===rt?uA.namespaceURI===ni&&!ln[ze]||uA.namespaceURI===fr&&!bn[ze]?!1:!Vt[xA]&&(na[xA]||!De[xA]):!!(dr==="application/xhtml+xml"&&kn[q.namespaceURI]):!1},_e=function(q){Oc(A.removed,{element:q});try{p(q).removeChild(q)}catch{d(q)}},er=function(q,uA){try{Oc(A.removed,{attribute:uA.getAttributeNode(q),from:uA})}catch{Oc(A.removed,{attribute:null,from:uA})}if(uA.removeAttribute(q),q==="is")if(XA||nA)try{_e(uA)}catch{}else try{uA.setAttribute(q,"")}catch{}},Br=function(q){let uA=null,xA=null;if(KA)q="<remove></remove>"+q;else{const ht=eb(q,/^[\r\n\t ]+/);xA=ht&&ht[0]}dr==="application/xhtml+xml"&&ut===rt&&(q='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+q+"</body></html>");const ze=E?E.createHTML(q):q;if(ut===rt)try{uA=new h().parseFromString(ze,dr)}catch{}if(!uA||!uA.documentElement){uA=y.createDocument(ut,"template",null);try{uA.documentElement.innerHTML=ai?v:ze}catch{}}const qt=uA.body||uA.documentElement;return q&&xA&&qt.insertBefore(e.createTextNode(xA),qt.childNodes[0]||null),ut===rt?b.call(uA,xe?"html":"body")[0]:xe?uA.documentElement:qt},oa=function(q){return w.call(q.ownerDocument||q,q,g.SHOW_ELEMENT|g.SHOW_COMMENT|g.SHOW_TEXT|g.SHOW_PROCESSING_INSTRUCTION|g.SHOW_CDATA_SECTION,null)},xi=function(q){return q instanceof c&&(typeof q.nodeName!="string"||typeof q.textContent!="string"||typeof q.removeChild!="function"||!(q.attributes instanceof l)||typeof q.removeAttribute!="function"||typeof q.setAttribute!="function"||typeof q.namespaceURI!="string"||typeof q.insertBefore!="function"||typeof q.hasChildNodes!="function")},Sn=function(q){return typeof o=="function"&&q instanceof o};function Nr(jA,q,uA){Jc(jA,xA=>{xA.call(A,q,uA,rA)})}const Or=function(q){let uA=null;if(Nr(S.beforeSanitizeElements,q,null),xi(q))return _e(q),!0;const xA=K(q.nodeName);if(Nr(S.uponSanitizeElement,q,{tagName:xA,allowedTags:X}),Ce&&q.hasChildNodes()&&!Sn(q.firstElementChild)&&Er(/<[/\w!]/g,q.innerHTML)&&Er(/<[/\w!]/g,q.textContent)||Ce&&q.namespaceURI===rt&&xA==="style"&&Sn(q.firstElementChild)||q.nodeType===Vc.progressingInstruction||Ce&&q.nodeType===Vc.comment&&Er(/<[/\w]/g,q.data))return _e(q),!0;if(_A[xA]||!(ee.tagCheck instanceof Function&&ee.tagCheck(xA))&&!X[xA]){if(!_A[xA]&&Eg(xA)&&(hA.tagNameCheck instanceof RegExp&&Er(hA.tagNameCheck,xA)||hA.tagNameCheck instanceof Function&&hA.tagNameCheck(xA)))return!1;if(wt&&!qe[xA]){const ze=p(q)||q.parentNode,qt=Q(q)||q.childNodes;if(qt&&ze){const ht=qt.length;for(let tr=ht-1;tr>=0;--tr){const Qr=f(qt[tr],!0);ze.insertBefore(Qr,B(q))}}}return _e(q),!0}return q instanceof s&&!Zt(q)||(xA==="noscript"||xA==="noembed"||xA==="noframes")&&Er(/<\/no(script|embed|frames)/i,q.innerHTML)?(_e(q),!0):(he&&q.nodeType===Vc.text&&(uA=q.textContent,Jc([_,N,R],ze=>{uA=qg(uA,ze," ")}),q.textContent!==uA&&(Oc(A.removed,{element:q.cloneNode()}),q.textContent=uA)),Nr(S.afterSanitizeElements,q,null),!1)},pg=function(q,uA,xA){if(PA[uA]||dA&&(uA==="id"||uA==="name")&&(xA in e||xA in cA))return!1;const ze=aA[uA]||ee.attributeCheck instanceof Function&&ee.attributeCheck(uA,q);if(!(eA&&!PA[uA]&&Er(T,uA))){if(!(WA&&Er(J,uA))){if(!ze||PA[uA]){if(!(Eg(q)&&(hA.tagNameCheck instanceof RegExp&&Er(hA.tagNameCheck,q)||hA.tagNameCheck instanceof Function&&hA.tagNameCheck(q))&&(hA.attributeNameCheck instanceof RegExp&&Er(hA.attributeNameCheck,uA)||hA.attributeNameCheck instanceof Function&&hA.attributeNameCheck(uA,q))||uA==="is"&&hA.allowCustomizedBuiltInElements&&(hA.tagNameCheck instanceof RegExp&&Er(hA.tagNameCheck,xA)||hA.tagNameCheck instanceof Function&&hA.tagNameCheck(xA))))return!1}else if(!Ir[uA]){if(!Er(z,qg(xA,G,""))){if(!((uA==="src"||uA==="xlink:href"||uA==="href")&&q!=="script"&&tb(xA,"data:")===0&&je[q])){if(!(yA&&!Er(Y,qg(xA,G,"")))){if(xA)return!1}}}}}}return!0},hc=pe({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Eg=function(q){return!hc[lu(q)]&&Er(P,q)},Zo=function(q){Nr(S.beforeSanitizeAttributes,q,null);const{attributes:uA}=q;if(!uA||xi(q))return;const xA={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:aA,forceKeepAttr:void 0};let ze=uA.length;for(;ze--;){const qt=uA[ze],{name:ht,namespaceURI:tr,value:Qr}=qt,Hr=K(ht),Ko=Qr;let Dt=ht==="value"?Ko:foA(Ko);if(xA.attrName=Hr,xA.attrValue=Dt,xA.keepAttr=!0,xA.forceKeepAttr=void 0,Nr(S.uponSanitizeAttribute,q,xA),Dt=xA.attrValue,me&&(Hr==="id"||Hr==="name")&&tb(Dt,Ze)!==0&&(er(ht,q),Dt=Ze+Dt),Ce&&Er(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Dt)){er(ht,q);continue}if(Hr==="attributename"&&eb(Dt,"href")){er(ht,q);continue}if(xA.forceKeepAttr)continue;if(!xA.keepAttr){er(ht,q);continue}if(!MA&&Er(/\/>/i,Dt)){er(ht,q);continue}he&&Jc([_,N,R],Cc=>{Dt=qg(Dt,Cc," ")});const Po=K(q.nodeName);if(!pg(Po,Hr,Dt)){er(ht,q);continue}if(E&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!tr)switch(u.getAttributeType(Po,Hr)){case"TrustedHTML":{Dt=E.createHTML(Dt);break}case"TrustedScriptURL":{Dt=E.createScriptURL(Dt);break}}if(Dt!==Ko)try{tr?q.setAttributeNS(tr,ht,Dt):q.setAttribute(ht,Dt),xi(q)?_e(q):Ab(A.removed)}catch{er(ht,q)}}Nr(S.afterSanitizeAttributes,q,null)},qo=function(q){let uA=null;const xA=oa(q);for(Nr(S.beforeSanitizeShadowDOM,q,null);uA=xA.nextNode();)Nr(S.uponSanitizeShadowNode,uA,null),Or(uA),Zo(uA),uA.content instanceof n&&qo(uA.content);Nr(S.afterSanitizeShadowDOM,q,null)};return A.sanitize=function(jA){let q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},uA=null,xA=null,ze=null,qt=null;if(ai=!jA,ai&&(jA="<!-->"),typeof jA!="string"&&!Sn(jA)&&(jA=EoA(jA),typeof jA!="string"))throw $h("dirty is not a string, aborting");if(!A.isSupported)return jA;if(SA||JA(q),A.removed=[],typeof jA=="string"&&(Se=!1),Se){const Qr=jA.nodeName;if(typeof Qr=="string"){const Hr=K(Qr);if(!X[Hr]||_A[Hr])throw $h("root node is forbidden and cannot be sanitized in-place")}}else if(jA instanceof o)uA=Br("<!---->"),xA=uA.ownerDocument.importNode(jA,!0),xA.nodeType===Vc.element&&xA.nodeName==="BODY"||xA.nodeName==="HTML"?uA=xA:uA.appendChild(xA);else{if(!XA&&!he&&!xe&&jA.indexOf("<")===-1)return E&&sA?E.createHTML(jA):jA;if(uA=Br(jA),!uA)return XA?null:sA?v:""}uA&&KA&&_e(uA.firstChild);const ht=oa(Se?jA:uA);for(;ze=ht.nextNode();)Or(ze),Zo(ze),ze.content instanceof n&&qo(ze.content);if(Se)return jA;if(XA){if(he){uA.normalize();let Qr=uA.innerHTML;Jc([_,N,R],Hr=>{Qr=qg(Qr,Hr," ")}),uA.innerHTML=Qr}if(nA)for(qt=k.call(uA.ownerDocument);uA.firstChild;)qt.appendChild(uA.firstChild);else qt=uA;return(aA.shadowroot||aA.shadowrootmode)&&(qt=F.call(r,qt,!0)),qt}let tr=xe?uA.outerHTML:uA.innerHTML;return xe&&X["!doctype"]&&uA.ownerDocument&&uA.ownerDocument.doctype&&uA.ownerDocument.doctype.name&&Er(uM,uA.ownerDocument.doctype.name)&&(tr="<!DOCTYPE "+uA.ownerDocument.doctype.name+`>
658
658
  `+tr),he&&Jc([_,N,R],Qr=>{tr=qg(tr,Qr," ")}),E&&sA?E.createHTML(tr):tr},A.setConfig=function(){let jA=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};JA(jA),SA=!0},A.clearConfig=function(){rA=null,SA=!1},A.isValidAttribute=function(jA,q,uA){rA||JA({});const xA=K(jA),ze=K(q);return pg(xA,ze,uA)},A.addHook=function(jA,q){typeof q=="function"&&Oc(S[jA],q)},A.removeHook=function(jA,q){if(q!==void 0){const uA=CoA(S[jA],q);return uA===-1?void 0:IoA(S[jA],uA,1)[0]}return Ab(S[jA])},A.removeHooks=function(jA){S[jA]=[]},A.removeAllHooks=function(){S=lb()},A}var RoA=hM();const GoA={ALLOWED_TAGS:["h1","h2","h3","h4","h5","h6","p","br","hr","strong","em","u","s","del","ins","a","img","ul","ol","li","blockquote","pre","code","table","thead","tbody","tr","th","td","div","span","annotation","math","semantics","mrow","mi","mo","mn","msup","msub","mfrac"],ALLOWED_ATTR:["href","target","rel","src","alt","width","height","class","id","colspan","rowspan","align","style","aria-hidden"],ALLOW_DATA_ATTR:!1};function LoA(t){return RoA.sanitize(t,GoA)}const ToA=/<table[\s\S]*?<\/table>/g;function YoA(t){const A=[...t.matchAll(ToA)];if(A.length===0)return t;let e="",r=0;for(const i of A){const n=i[0],a=i.index,o=a+n.length;e+=t.slice(r,a),e+=`<div class="table-node-wrapper"><div class="table-node">${n}</div></div>`,r=o}return e+t.slice(r)}const rf=C.ref(!1);let Zc=null;function CM(){return rf.value?Promise.resolve():Zc||(Zc=CnA().then(()=>{rf.value=!0}).catch(t=>{console.error("[mdoc] Failed to initialize md4x:",t),Zc=null}),Zc)}typeof window<"u"&&CM();const UoA=/\[(IMG|VIDEO|AUDIO):\{([^}]+)\}\]/g,JoA=/^\[(IMG|VIDEO|AUDIO):\{[^}]+\}\]/,cb=/\[(IMG|VIDEO|AUDIO)\b/g,OoA=/<x-equation(\s+type="display")?>([\s\S]*?)<\/x-equation>/g;function HoA(t){return t.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&")}function VoA(t){return t.replace(OoA,(A,e,r)=>{const i=!!e,n=roA.renderToString(HoA(r).trim(),{displayMode:i,throwOnError:!1,strict:!1});return i?`<span class="math-block">${n}</span>`:`<span class="math-inline">${n}</span>`})}function ZoA(t){const A=[];let e=0;return{content:t.replace(UoA,(i,n,a)=>{try{const o=JSON.parse(`{${a}}`),s=n==="IMG"?"image":n.toLowerCase(),g=`media-${e}`;return A.push({id:g,type:s,data:o}),e+=1,`
659
659
  %%${g}%%
660
- `}catch{return i}}),media:A}}function qoA(t){let A=null;cb.lastIndex=0;for(const r of t.matchAll(cb))A={index:r.index,kind:r[1]};if(!A)return null;const e=t.slice(A.index);return JoA.test(e)?null:{mediaType:A.kind==="IMG"?"image":A.kind.toLowerCase(),startIndex:A.index}}function KoA(t,A={}){if(!t)return[];if(!rf.value)return[{type:"html",id:"pending",html:"<p></p>"}];const e=sM(t);if(!e)return[];const r=gM(e),i=A.streaming===!0?qoA(r):null,n=i?r.slice(0,i.startIndex):r,{content:a,media:o}=ZoA(n);let s=hnA(a,{heal:A.streaming===!0});s=VoA(s),s=LoA(s),s=YoA(s),s=s.replace(/<p>\s*((?:%%media-\d+%%\s*)+)<\/p>/g,"$1");const g=new Map(o.map(I=>[I.id,I])),l=s.split(/(%%media-\d+%%)/),c=[];let h=0;for(const I of l){const f=I.match(/^%%(media-\d+)%%$/);if(f){const d=g.get(f[1]);if(!d||typeof d.data.url!="string"||!d.data.url){A.streaming===!0&&d&&(c.push({type:"media-pending",id:`${d.id}-pending-${h}`,mediaType:d.type}),h+=1);continue}d.type==="image"?c.push({type:"image",id:`${d.id}-${h}`,url:d.data.url,alt:typeof d.data.alt=="string"?d.data.alt:void 0}):d.type==="video"?c.push({type:"video",id:`${d.id}-${h}`,url:d.data.url,poster:typeof d.data.poster=="string"?d.data.poster:void 0}):c.push({type:"audio",id:`${d.id}-${h}`,url:d.data.url,title:typeof d.data.title=="string"?d.data.title:void 0}),h+=1;continue}I.trim()&&(c.push({type:"html",id:`html-${h}`,html:I}),h+=1)}const u=PoA(c);return i&&u.push({type:"media-pending",id:`media-pending-${i.mediaType}`,mediaType:i.mediaType}),u}function PoA(t){const A=[];let e=[];const r=()=>{e.length!==0&&(e.length===1?A.push(e[0]):A.push({type:"image-stack",id:e[0].id,images:e.map(i=>({id:i.id,url:i.url,alt:i.alt}))}),e=[])};for(const i of t){if(i.type==="image"){e.push(i);continue}r(),A.push(i)}return r(),A}const WoA=["innerHTML"],zoA={key:3,class:"content-nodes__media"},XoA=["src","poster"],joA={key:4,class:"content-nodes__media"},$oA={key:0},AsA=["src"],esA=C.defineComponent({name:"ContentNodes",__name:"ContentNodes",props:{content:{},isStreaming:{type:Boolean},highlightStreamTail:{type:Boolean},density:{}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,i=C.ref([]),n=C.ref(),a=C.ref();function o(I,f){const d=new l8({registry:Kl});I&&d.push(I);const B=d.getPendingRoot(),Q=(B==null?void 0:B.tag)==="chart";return a.value=Q?{type:String((B==null?void 0:B.props.type)??"")}:void 0,!f&&!Q&&d.finalize(),d.getNodes().filter(p=>p.kind==="text"?p.text.length>0:p.tag==="ask-form"?!1:p.complete)}function s(){i.value=o(e.content,e.isStreaming===!0),C.nextTick(u)}C.watch(()=>[e.content,e.isStreaming,e.highlightStreamTail,rf.value],()=>s(),{immediate:!0}),C.onMounted(()=>{CM().then(()=>s())});const g=C.computed(()=>{const I=[];let f=-1;for(let d=0;d<i.value.length;d+=1)i.value[d].kind==="text"&&(f=d);for(let d=0;d<i.value.length;d+=1){const B=i.value[d];if(B.kind==="text"){const Q=e.isStreaming===!0&&d===f;I.push({type:"text",key:B.id,segments:KoA(B.text,{streaming:Q})});continue}if(B.tag==="artifact"){I.push({type:"artifact",key:B.id,node:B});continue}if(B.tag==="action-bar"){h3(B.props)&&I.push({type:"action-bar",key:B.id,node:B});continue}B.tag==="chart"&&I.push({type:"chart",key:B.id,chartType:String(B.props.type??""),rawJson:B.slotText,isClosed:!0})}return a.value&&I.push({type:"chart",key:"chart-pending",chartType:a.value.type,rawJson:"",isClosed:!1}),I});function l(){const I=n.value;if(!(!I||typeof document>"u"))for(const f of I.querySelectorAll(".content-nodes__stream-tail"))f.replaceWith(document.createTextNode(f.textContent??""))}function c(I){let f;const d=I.lastElementChild,B=d==null?void 0:d.lastElementChild;if(!(B!=null&&B.classList.contains("content-nodes__html")))return;function Q(p){for(const E of p.childNodes){if(E.nodeType===3){const v=E,y=v.parentElement;v.data.trim().length>0&&y&&!y.closest(".math-block, .math-inline, .content-nodes__media")&&(f=v);continue}Q(E)}}return Q(B),f}function h(I){var v;const f=I.data,d=f.length-(((v=f.match(/\s*$/))==null?void 0:v[0].length)??0);if(d===0||typeof document>"u")return 0;const B=document.createRange();if(typeof B.getClientRects!="function")return 0;const Q=y=>(B.setStart(I,y),B.setEnd(I,d),B.getClientRects().length);if(Q(0)===0)return 0;let p=0,E=d;for(;p<E;){const y=Math.floor((p+E)/2);Q(y)<=1?E=y:p=y+1}return p}function u(){l();const I=n.value;if(!I||!e.isStreaming||!e.highlightStreamTail||typeof document>"u")return;const f=c(I);if(!f||!f.data.trim())return;const d=h(f),B=f.data.slice(0,d),Q=f.data.slice(d),p=document.createElement("span");p.className="content-nodes__stream-tail",p.textContent=Q;const E=document.createDocumentFragment();B&&E.append(document.createTextNode(B)),E.append(p),f.replaceWith(E)}return(I,f)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"rootRef",ref:n,class:C.normalizeClass(["content-nodes",{"content-nodes--compact":t.density==="compact"}])},[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(g.value,d=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:d.key},[d.type==="artifact"?(C.openBlock(),C.createBlock(rL,{key:0,node:d.node,onAction:f[0]||(f[0]=B=>r("action",B))},null,8,["node"])):d.type==="action-bar"?(C.openBlock(),C.createBlock(TG,{key:1,node:d.node,onAction:f[1]||(f[1]=B=>r("action",B))},null,8,["node"])):d.type==="chart"?(C.openBlock(),C.createBlock(fiA,{key:2,type:d.chartType,"raw-json":d.rawJson,"is-closed":d.isClosed,"is-streaming":t.isStreaming},null,8,["type","raw-json","is-closed","is-streaming"])):(C.openBlock(),C.createBlock(C.TransitionGroup,{key:3,tag:"div",name:"content-media-fade",class:"content-nodes__text"},{default:C.withCtx(()=>[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(d.segments,B=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:B.id},[B.type==="html"?(C.openBlock(),C.createElementBlock("div",{key:0,class:"content-nodes__html",innerHTML:B.html},null,8,WoA)):B.type==="image"||B.type==="image-stack"?(C.openBlock(),C.createBlock(HiA,{key:1,images:B.type==="image"?[{id:B.id,url:B.url,alt:B.alt}]:B.images},null,8,["images"])):B.type==="media-pending"?(C.openBlock(),C.createBlock(jiA,{key:2,"media-type":B.mediaType},null,8,["media-type"])):B.type==="video"?(C.openBlock(),C.createElementBlock("figure",zoA,[C.createElementVNode("video",{src:B.url,poster:B.poster,controls:"",playsinline:""},null,8,XoA)])):B.type==="audio"?(C.openBlock(),C.createElementBlock("figure",joA,[B.title?(C.openBlock(),C.createElementBlock("figcaption",$oA,C.toDisplayString(B.title),1)):C.createCommentVNode("",!0),C.createElementVNode("audio",{src:B.url,controls:""},null,8,AsA)])):C.createCommentVNode("",!0)],64))),128))]),_:2},1024))],64))),128))],2))}}),IM=ve(esA,[["__scopeId","data-v-f4e2ed2b"]]),tsA=8;function rsA(t,A){const e=C.ref(t.value);let r,i=!1;function n(){r!==void 0&&(cancelAnimationFrame(r),r=void 0)}function a(){const o=t.value,s=e.value;if(!A.value||s.length>=o.length){e.value=o,r=void 0;return}const g=o.length-s.length,l=Math.max(1,Math.ceil(g/tsA));e.value=o.slice(0,s.length+l),r=requestAnimationFrame(a)}return C.watch(t,o=>{if(!i){i=!0,e.value=o;return}if(!A.value||o.length<e.value.length){e.value=o,n();return}r===void 0&&(r=requestAnimationFrame(a))},{immediate:!0}),C.watch(A,o=>{o||(e.value=t.value,n())}),C.onBeforeUnmount(n),{displayed:e}}const Q1=C.defineComponent({name:"TextPartRenderer",__name:"TextPartRenderer",props:{content:{},isStreaming:{type:Boolean},highlightStreamTail:{type:Boolean},density:{default:"default"}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,{displayed:i}=rsA(C.toRef(e,"content"),C.computed(()=>e.isStreaming===!0));return(n,a)=>(C.openBlock(),C.createBlock(IM,{content:C.unref(i),"is-streaming":t.isStreaming,"highlight-stream-tail":t.highlightStreamTail,density:t.density,onAction:a[0]||(a[0]=o=>r("action",o))},null,8,["content","is-streaming","highlight-stream-tail","density"]))}});function isA(t,A){const e=C.ref(void 0);let r;function i(){const a=t.value;a&&(e.value=`${a.scrollHeight}px`)}function n(){r==null||r.disconnect(),r=void 0}return C.watch([t,A],([a,o])=>{if(n(),!a||!o){e.value=void 0;return}i(),typeof ResizeObserver<"u"&&(r=new ResizeObserver(i),r.observe(a))},{immediate:!0,flush:"post"}),C.onBeforeUnmount(n),{height:e}}const nsA=["open","aria-busy"],asA=["aria-expanded","aria-disabled"],osA=C.defineComponent({__name:"ChatReasoning",props:{content:{},streaming:{type:Boolean}},setup(t){const A=t,e=C.ref(!0),r=C.ref(!1),i=C.ref(),n=C.ref(),{height:a}=isA(n,e),o=C.ref(0),s=C.ref(!1),g=C.ref(!1);let l=0,c,h;const u=C.computed(()=>!!A.content.trim());function I(){const E=i.value,v=n.value;if(!E||!v||!e.value){g.value=!1;return}g.value=v.scrollHeight>E.clientHeight+1}function f(){u.value&&(r.value=!0,e.value=!e.value)}C.watch(u,E=>{if(!E){e.value=!1,r.value=!1;return}r.value||(e.value=!0)},{immediate:!0}),C.watch(()=>A.streaming,E=>{E?d():B()}),C.watch(()=>A.content,()=>{!A.streaming||!e.value||C.nextTick(()=>{const E=i.value;E&&(E.scrollTop=E.scrollHeight)})}),C.watch([i,n,e,()=>A.content],()=>{h==null||h.disconnect(),h=void 0,C.nextTick(()=>{I();const E=i.value;!E||typeof ResizeObserver>"u"||(h=new ResizeObserver(I),h.observe(E),n.value&&h.observe(n.value))})},{immediate:!0,flush:"post"});function d(){c||(l=Date.now()-o.value*1e3,s.value=!0,c=setInterval(()=>{o.value=Math.floor((Date.now()-l)/1e3)},250))}function B(){c&&(clearInterval(c),c=void 0,o.value=Math.max(o.value,Math.floor((Date.now()-l)/1e3)))}function Q(){if(o.value<1)return"<1 秒";if(o.value<60)return`${o.value} 秒`;const E=Math.floor(o.value/60),v=o.value%60;return v?`${E} 分 ${v} 秒`:`${E} 分钟`}const p=C.computed(()=>A.streaming?`正在思考 ${Q()}`:s.value?`已思考 ${Q()}`:"思考过程");return C.onMounted(()=>{A.streaming&&d()}),C.onBeforeUnmount(()=>{B(),h==null||h.disconnect()}),(E,v)=>(C.openBlock(),C.createElementBlock("details",{class:C.normalizeClass(["chat-reasoning",{"chat-reasoning--empty":!u.value}]),open:e.value,"aria-busy":t.streaming?"true":void 0,"aria-label":"思考过程"},[C.createElementVNode("summary",{class:"chat-reasoning__summary","aria-expanded":e.value,"aria-disabled":u.value?void 0:"true",onClick:C.withModifiers(f,["prevent"])},[C.createVNode(C.unref(S7),{class:C.normalizeClass(["chat-reasoning__spark",{"chat-reasoning__spark--active":t.streaming}]),size:16,"stroke-width":1.75,"aria-hidden":"true"},null,8,["class"]),C.createElementVNode("span",{class:C.normalizeClass(["chat-reasoning__label",{"chat-reasoning__label--streaming":t.streaming}])},C.toDisplayString(p.value),3),u.value?(C.openBlock(),C.createBlock(C.unref(Qv),{key:0,class:"chat-reasoning__chevron",size:14,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0)],8,asA),u.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"bodyRef",ref:i,class:C.normalizeClass(["chat-reasoning__viewport",{"chat-reasoning__viewport--fade":g.value}]),style:C.normalizeStyle({height:C.unref(a)})},[C.createElementVNode("div",{ref_key:"contentRef",ref:n,class:"chat-reasoning__body"},[C.renderSlot(E.$slots,"default",{content:t.content,streaming:t.streaming===!0},()=>[C.createVNode(Q1,{content:t.content,"is-streaming":t.streaming,"highlight-stream-tail":t.streaming},null,8,["content","is-streaming","highlight-stream-tail"])],!0)],512)],6)):C.createCommentVNode("",!0)],10,nsA))}}),ev=ve(osA,[["__scopeId","data-v-31b1779b"]]),ssA=["aria-label"],gsA={class:"conversation-chart__title"},lsA={class:"conversation-chart__rows",role:"list"},csA={class:"conversation-chart__label"},usA={class:"conversation-chart__bar-wrap"},hsA={class:"conversation-chart__value"},CsA=C.defineComponent({name:"ChartToolRenderer",__name:"ChartToolRenderer",props:{result:{}},setup(t){const A=t,e=C.computed(()=>{const n=i(A.result)?A.result:{},o=(Array.isArray(n.data)?n.data:[]).flatMap(g=>!i(g)||typeof g.label!="string"||typeof g.value!="number"?[]:[{label:g.label,value:g.value}]),s=Math.max(1,...o.map(g=>g.value));return{title:typeof n.title=="string"?n.title:"图表结果",rows:o,maxValue:s}});function r(n){return`${Math.max(0,Math.min(100,n/e.value.maxValue*100))}%`}function i(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}return(n,a)=>e.value.rows.length?(C.openBlock(),C.createElementBlock("section",{key:0,class:"conversation-chart","aria-label":e.value.title},[C.createElementVNode("strong",gsA,C.toDisplayString(e.value.title),1),C.createElementVNode("div",lsA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(e.value.rows,o=>(C.openBlock(),C.createElementBlock("div",{key:o.label,class:"conversation-chart__row",role:"listitem"},[C.createElementVNode("span",csA,C.toDisplayString(o.label),1),C.createElementVNode("span",usA,[C.createElementVNode("span",{class:"conversation-chart__bar",style:C.normalizeStyle({width:r(o.value)})},null,4)]),C.createElementVNode("span",hsA,C.toDisplayString(o.value),1)]))),128))])],8,ssA)):C.createCommentVNode("",!0)}}),fM=ve(CsA,[["__scopeId","data-v-db9fb284"]]),IsA={class:"conversation-code-result","aria-label":"代码执行结果"},fsA={key:0,class:"conversation-code-result__block"},dsA={class:"conversation-code-result__label"},BsA={class:"conversation-code-result__code"},QsA={key:1,class:"conversation-code-result__block"},psA={class:"conversation-code-result__label"},EsA={class:"conversation-code-result__code"},vsA=C.defineComponent({name:"CodeToolRenderer",__name:"CodeToolRenderer",props:{toolCall:{},result:{}},setup(t){const A=t,e=C.computed(()=>g(A.result)?A.result:{}),r=C.computed(()=>s(e.value.language)??"text"),i=C.computed(()=>s(e.value.code)??o(A.toolCall.function.arguments)),n=C.computed(()=>s(e.value.output)??""),a=C.computed(()=>e.value.exitCode);function o(l){try{const c=JSON.parse(l);return g(c)?s(c.code)??"":""}catch{return""}}function s(l){return typeof l=="string"?l:void 0}function g(l){return typeof l=="object"&&l!==null&&!Array.isArray(l)}return(l,c)=>(C.openBlock(),C.createElementBlock("section",IsA,[i.value?(C.openBlock(),C.createElementBlock("div",fsA,[C.createElementVNode("span",dsA,C.toDisplayString(r.value),1),C.createElementVNode("pre",BsA,[C.createElementVNode("code",null,C.toDisplayString(i.value),1)])])):C.createCommentVNode("",!0),n.value?(C.openBlock(),C.createElementBlock("div",QsA,[C.createElementVNode("span",psA,"输出"+C.toDisplayString(a.value===void 0?"":` (${a.value})`),1),C.createElementVNode("pre",EsA,[C.createElementVNode("code",null,C.toDisplayString(n.value),1)])])):C.createCommentVNode("",!0)]))}}),dM=ve(vsA,[["__scopeId","data-v-161409fc"]]),msA={class:"conversation-mind-map","aria-label":"思维导图结果"},ysA={key:1,class:"conversation-mind-map__error",role:"alert"},ub=6,hb=80,wsA=C.defineComponent({name:"MindMapToolRenderer",__name:"MindMapToolRenderer",props:{result:{}},setup(t){const A=t,e=C.computed(()=>i(A.result)),r={name:"ai-conversation",background:"transparent",grid:{show:!1},nodeStyle:{colors:["var(--ai-conversation-code-bg)","var(--ai-conversation-tool-bg)","var(--ai-conversation-assistant-bg)"],textColor:"var(--ai-conversation-assistant-color)",borderColor:"var(--ai-conversation-tool-border)",borderWidth:1,borderRadius:6,fontSize:13,fontWeight:600},linkStyle:{color:"var(--ai-conversation-tool-running)",width:1.5,curve:"bezier",animated:!1}};function i(s){const g=o(s)?s:void 0,l=o(g==null?void 0:g.data)?g.data:g;if(!l||!o(l.nodeData))return n();let c=0;const h=new WeakSet;function u(I,f){if(!o(I)||h.has(I))return;if(f>ub)throw new Error(`思维导图最多支持 ${ub} 层。`);const d=a(I.id),B=a(I.topic);if(!d||!B||I.children!==void 0&&!Array.isArray(I.children))return;if(h.add(I),c+=1,c>hb)throw new Error(`思维导图最多支持 ${hb} 个节点。`);const Q=[];for(const p of I.children??[]){const E=u(p,f+1);if(!E)return;Q.push(E)}return{id:d,topic:B,root:f===1,expanded:typeof I.expanded=="boolean"?I.expanded:!0,...Q.length?{children:Q}:{}}}try{const I=u(l.nodeData,1);return I?{data:{nodeData:I}}:n()}catch(I){return{error:I instanceof Error?I.message:n().error}}}function n(){return{error:"无法显示思维导图:数据结构无效。"}}function a(s){return typeof s=="string"&&s.trim()?s.trim():void 0}function o(s){return typeof s=="object"&&s!==null&&!Array.isArray(s)}return(s,g)=>(C.openBlock(),C.createElementBlock("section",msA,[e.value.data?(C.openBlock(),C.createBlock(jS,{key:0,data:e.value.data,theme:r,height:"18rem",readonly:"","show-toolbar":"","show-download":!1,"show-counts":!0,"toolbar-position":"bottom"},null,8,["data"])):(C.openBlock(),C.createElementBlock("p",ysA,C.toDisplayString(e.value.error),1))]))}}),BM=ve(wsA,[["__scopeId","data-v-42be305a"]]);/*!
660
+ `}catch{return i}}),media:A}}function qoA(t){let A=null;cb.lastIndex=0;for(const r of t.matchAll(cb))A={index:r.index,kind:r[1]};if(!A)return null;const e=t.slice(A.index);return JoA.test(e)?null:{mediaType:A.kind==="IMG"?"image":A.kind.toLowerCase(),startIndex:A.index}}function KoA(t,A={}){if(!t)return[];if(!rf.value)return[{type:"html",id:"pending",html:"<p></p>"}];const e=sM(t);if(!e)return[];const r=gM(e),i=A.streaming===!0?qoA(r):null,n=i?r.slice(0,i.startIndex):r,{content:a,media:o}=ZoA(n);let s=hnA(a,{heal:A.streaming===!0});s=VoA(s),s=LoA(s),s=YoA(s),s=s.replace(/<p>\s*((?:%%media-\d+%%\s*)+)<\/p>/g,"$1");const g=new Map(o.map(I=>[I.id,I])),l=s.split(/(%%media-\d+%%)/),c=[];let h=0;for(const I of l){const f=I.match(/^%%(media-\d+)%%$/);if(f){const d=g.get(f[1]);if(!d||typeof d.data.url!="string"||!d.data.url){A.streaming===!0&&d&&(c.push({type:"media-pending",id:`${d.id}-pending-${h}`,mediaType:d.type}),h+=1);continue}d.type==="image"?c.push({type:"image",id:`${d.id}-${h}`,url:d.data.url,alt:typeof d.data.alt=="string"?d.data.alt:void 0}):d.type==="video"?c.push({type:"video",id:`${d.id}-${h}`,url:d.data.url,poster:typeof d.data.poster=="string"?d.data.poster:void 0}):c.push({type:"audio",id:`${d.id}-${h}`,url:d.data.url,title:typeof d.data.title=="string"?d.data.title:void 0}),h+=1;continue}I.trim()&&(c.push({type:"html",id:`html-${h}`,html:I}),h+=1)}const u=PoA(c);return i&&u.push({type:"media-pending",id:`media-pending-${i.mediaType}`,mediaType:i.mediaType}),u}function PoA(t){const A=[];let e=[];const r=()=>{e.length!==0&&(e.length===1?A.push(e[0]):A.push({type:"image-stack",id:e[0].id,images:e.map(i=>({id:i.id,url:i.url,alt:i.alt}))}),e=[])};for(const i of t){if(i.type==="image"){e.push(i);continue}r(),A.push(i)}return r(),A}const WoA=["innerHTML"],zoA={key:3,class:"content-nodes__media"},XoA=["src","poster"],joA={key:4,class:"content-nodes__media"},$oA={key:0},AsA=["src"],esA=C.defineComponent({name:"ContentNodes",__name:"ContentNodes",props:{content:{},isStreaming:{type:Boolean},highlightStreamTail:{type:Boolean},density:{}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,i=C.ref([]),n=C.ref(),a=C.ref();function o(I,f){const d=new l8({registry:Kl});I&&d.push(I);const B=d.getPendingRoot(),Q=(B==null?void 0:B.tag)==="chart";return a.value=Q?{type:String((B==null?void 0:B.props.type)??"")}:void 0,!f&&!Q&&d.finalize(),d.getNodes().filter(p=>p.kind==="text"?p.text.length>0:p.tag==="ask-form"?!1:p.complete)}function s(){i.value=o(e.content,e.isStreaming===!0),C.nextTick(u)}C.watch(()=>[e.content,e.isStreaming,e.highlightStreamTail,rf.value],()=>s(),{immediate:!0}),C.onMounted(()=>{CM().then(()=>s())});const g=C.computed(()=>{const I=[];let f=-1;for(let d=0;d<i.value.length;d+=1)i.value[d].kind==="text"&&(f=d);for(let d=0;d<i.value.length;d+=1){const B=i.value[d];if(B.kind==="text"){const Q=e.isStreaming===!0&&d===f;I.push({type:"text",key:B.id,segments:KoA(B.text,{streaming:Q})});continue}if(B.tag==="artifact"){I.push({type:"artifact",key:B.id,node:B});continue}if(B.tag==="action-bar"){h3(B.props)&&I.push({type:"action-bar",key:B.id,node:B});continue}B.tag==="chart"&&I.push({type:"chart",key:B.id,chartType:String(B.props.type??""),rawJson:B.slotText,isClosed:!0})}return a.value&&I.push({type:"chart",key:"chart-pending",chartType:a.value.type,rawJson:"",isClosed:!1}),I});function l(){const I=n.value;if(!(!I||typeof document>"u"))for(const f of I.querySelectorAll(".content-nodes__stream-tail"))f.replaceWith(document.createTextNode(f.textContent??""))}function c(I){let f;const d=I.lastElementChild,B=d==null?void 0:d.lastElementChild;if(!(B!=null&&B.classList.contains("content-nodes__html")))return;function Q(p){for(const E of p.childNodes){if(E.nodeType===3){const v=E,y=v.parentElement;v.data.trim().length>0&&y&&!y.closest(".math-block, .math-inline, .content-nodes__media")&&(f=v);continue}Q(E)}}return Q(B),f}function h(I){var v;const f=I.data,d=f.length-(((v=f.match(/\s*$/))==null?void 0:v[0].length)??0);if(d===0||typeof document>"u")return 0;const B=document.createRange();if(typeof B.getClientRects!="function")return 0;const Q=y=>(B.setStart(I,y),B.setEnd(I,d),B.getClientRects().length);if(Q(0)===0)return 0;let p=0,E=d;for(;p<E;){const y=Math.floor((p+E)/2);Q(y)<=1?E=y:p=y+1}return p}function u(){l();const I=n.value;if(!I||!e.isStreaming||!e.highlightStreamTail||typeof document>"u")return;const f=c(I);if(!f||!f.data.trim())return;const d=h(f),B=f.data.slice(0,d),Q=f.data.slice(d),p=document.createElement("span");p.className="content-nodes__stream-tail",p.textContent=Q;const E=document.createDocumentFragment();B&&E.append(document.createTextNode(B)),E.append(p),f.replaceWith(E)}return(I,f)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"rootRef",ref:n,class:C.normalizeClass(["content-nodes",{"content-nodes--compact":t.density==="compact"}])},[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(g.value,d=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:d.key},[d.type==="artifact"?(C.openBlock(),C.createBlock(rL,{key:0,node:d.node,onAction:f[0]||(f[0]=B=>r("action",B))},null,8,["node"])):d.type==="action-bar"?(C.openBlock(),C.createBlock(TG,{key:1,node:d.node,onAction:f[1]||(f[1]=B=>r("action",B))},null,8,["node"])):d.type==="chart"?(C.openBlock(),C.createBlock(fiA,{key:2,type:d.chartType,"raw-json":d.rawJson,"is-closed":d.isClosed,"is-streaming":t.isStreaming},null,8,["type","raw-json","is-closed","is-streaming"])):(C.openBlock(),C.createBlock(C.TransitionGroup,{key:3,tag:"div",name:"content-media-fade",class:"content-nodes__text"},{default:C.withCtx(()=>[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(d.segments,B=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:B.id},[B.type==="html"?(C.openBlock(),C.createElementBlock("div",{key:0,class:"content-nodes__html",innerHTML:B.html},null,8,WoA)):B.type==="image"||B.type==="image-stack"?(C.openBlock(),C.createBlock(HiA,{key:1,images:B.type==="image"?[{id:B.id,url:B.url,alt:B.alt}]:B.images},null,8,["images"])):B.type==="media-pending"?(C.openBlock(),C.createBlock(jiA,{key:2,"media-type":B.mediaType},null,8,["media-type"])):B.type==="video"?(C.openBlock(),C.createElementBlock("figure",zoA,[C.createElementVNode("video",{src:B.url,poster:B.poster,controls:"",playsinline:""},null,8,XoA)])):B.type==="audio"?(C.openBlock(),C.createElementBlock("figure",joA,[B.title?(C.openBlock(),C.createElementBlock("figcaption",$oA,C.toDisplayString(B.title),1)):C.createCommentVNode("",!0),C.createElementVNode("audio",{src:B.url,controls:""},null,8,AsA)])):C.createCommentVNode("",!0)],64))),128))]),_:2},1024))],64))),128))],2))}}),IM=ve(esA,[["__scopeId","data-v-10fcddce"]]),tsA=8;function rsA(t,A){const e=C.ref(t.value);let r,i=!1;function n(){r!==void 0&&(cancelAnimationFrame(r),r=void 0)}function a(){const o=t.value,s=e.value;if(!A.value||s.length>=o.length){e.value=o,r=void 0;return}const g=o.length-s.length,l=Math.max(1,Math.ceil(g/tsA));e.value=o.slice(0,s.length+l),r=requestAnimationFrame(a)}return C.watch(t,o=>{if(!i){i=!0,e.value=o;return}if(!A.value||o.length<e.value.length){e.value=o,n();return}r===void 0&&(r=requestAnimationFrame(a))},{immediate:!0}),C.watch(A,o=>{o||(e.value=t.value,n())}),C.onBeforeUnmount(n),{displayed:e}}const Q1=C.defineComponent({name:"TextPartRenderer",__name:"TextPartRenderer",props:{content:{},isStreaming:{type:Boolean},highlightStreamTail:{type:Boolean},density:{default:"default"}},emits:["action"],setup(t,{emit:A}){const e=t,r=A,{displayed:i}=rsA(C.toRef(e,"content"),C.computed(()=>e.isStreaming===!0));return(n,a)=>(C.openBlock(),C.createBlock(IM,{content:C.unref(i),"is-streaming":t.isStreaming,"highlight-stream-tail":t.highlightStreamTail,density:t.density,onAction:a[0]||(a[0]=o=>r("action",o))},null,8,["content","is-streaming","highlight-stream-tail","density"]))}});function isA(t,A){const e=C.ref(void 0);let r;function i(){const a=t.value;a&&(e.value=`${a.scrollHeight}px`)}function n(){r==null||r.disconnect(),r=void 0}return C.watch([t,A],([a,o])=>{if(n(),!a||!o){e.value=void 0;return}i(),typeof ResizeObserver<"u"&&(r=new ResizeObserver(i),r.observe(a))},{immediate:!0,flush:"post"}),C.onBeforeUnmount(n),{height:e}}const nsA=["open","aria-busy"],asA=["aria-expanded","aria-disabled"],osA=C.defineComponent({__name:"ChatReasoning",props:{content:{},streaming:{type:Boolean}},setup(t){const A=t,e=C.ref(!0),r=C.ref(!1),i=C.ref(),n=C.ref(),{height:a}=isA(n,e),o=C.ref(0),s=C.ref(!1),g=C.ref(!1);let l=0,c,h;const u=C.computed(()=>!!A.content.trim());function I(){const E=i.value,v=n.value;if(!E||!v||!e.value){g.value=!1;return}g.value=v.scrollHeight>E.clientHeight+1}function f(){u.value&&(r.value=!0,e.value=!e.value)}C.watch(u,E=>{if(!E){e.value=!1,r.value=!1;return}r.value||(e.value=!0)},{immediate:!0}),C.watch(()=>A.streaming,E=>{E?d():B()}),C.watch(()=>A.content,()=>{!A.streaming||!e.value||C.nextTick(()=>{const E=i.value;E&&(E.scrollTop=E.scrollHeight)})}),C.watch([i,n,e,()=>A.content],()=>{h==null||h.disconnect(),h=void 0,C.nextTick(()=>{I();const E=i.value;!E||typeof ResizeObserver>"u"||(h=new ResizeObserver(I),h.observe(E),n.value&&h.observe(n.value))})},{immediate:!0,flush:"post"});function d(){c||(l=Date.now()-o.value*1e3,s.value=!0,c=setInterval(()=>{o.value=Math.floor((Date.now()-l)/1e3)},250))}function B(){c&&(clearInterval(c),c=void 0,o.value=Math.max(o.value,Math.floor((Date.now()-l)/1e3)))}function Q(){if(o.value<1)return"<1 秒";if(o.value<60)return`${o.value} 秒`;const E=Math.floor(o.value/60),v=o.value%60;return v?`${E} 分 ${v} 秒`:`${E} 分钟`}const p=C.computed(()=>A.streaming?`正在思考 ${Q()}`:s.value?`已思考 ${Q()}`:"思考过程");return C.onMounted(()=>{A.streaming&&d()}),C.onBeforeUnmount(()=>{B(),h==null||h.disconnect()}),(E,v)=>(C.openBlock(),C.createElementBlock("details",{class:C.normalizeClass(["chat-reasoning",{"chat-reasoning--empty":!u.value}]),open:e.value,"aria-busy":t.streaming?"true":void 0,"aria-label":"思考过程"},[C.createElementVNode("summary",{class:"chat-reasoning__summary","aria-expanded":e.value,"aria-disabled":u.value?void 0:"true",onClick:C.withModifiers(f,["prevent"])},[C.createVNode(C.unref(S7),{class:C.normalizeClass(["chat-reasoning__spark",{"chat-reasoning__spark--active":t.streaming}]),size:16,"stroke-width":1.75,"aria-hidden":"true"},null,8,["class"]),C.createElementVNode("span",{class:C.normalizeClass(["chat-reasoning__label",{"chat-reasoning__label--streaming":t.streaming}])},C.toDisplayString(p.value),3),u.value?(C.openBlock(),C.createBlock(C.unref(Qv),{key:0,class:"chat-reasoning__chevron",size:14,"stroke-width":1.75,"aria-hidden":"true"})):C.createCommentVNode("",!0)],8,asA),u.value?(C.openBlock(),C.createElementBlock("div",{key:0,ref_key:"bodyRef",ref:i,class:C.normalizeClass(["chat-reasoning__viewport",{"chat-reasoning__viewport--fade":g.value}]),style:C.normalizeStyle({height:C.unref(a)})},[C.createElementVNode("div",{ref_key:"contentRef",ref:n,class:"chat-reasoning__body"},[C.renderSlot(E.$slots,"default",{content:t.content,streaming:t.streaming===!0},()=>[C.createVNode(Q1,{content:t.content,"is-streaming":t.streaming,"highlight-stream-tail":t.streaming},null,8,["content","is-streaming","highlight-stream-tail"])],!0)],512)],6)):C.createCommentVNode("",!0)],10,nsA))}}),ev=ve(osA,[["__scopeId","data-v-31b1779b"]]),ssA=["aria-label"],gsA={class:"conversation-chart__title"},lsA={class:"conversation-chart__rows",role:"list"},csA={class:"conversation-chart__label"},usA={class:"conversation-chart__bar-wrap"},hsA={class:"conversation-chart__value"},CsA=C.defineComponent({name:"ChartToolRenderer",__name:"ChartToolRenderer",props:{result:{}},setup(t){const A=t,e=C.computed(()=>{const n=i(A.result)?A.result:{},o=(Array.isArray(n.data)?n.data:[]).flatMap(g=>!i(g)||typeof g.label!="string"||typeof g.value!="number"?[]:[{label:g.label,value:g.value}]),s=Math.max(1,...o.map(g=>g.value));return{title:typeof n.title=="string"?n.title:"图表结果",rows:o,maxValue:s}});function r(n){return`${Math.max(0,Math.min(100,n/e.value.maxValue*100))}%`}function i(n){return typeof n=="object"&&n!==null&&!Array.isArray(n)}return(n,a)=>e.value.rows.length?(C.openBlock(),C.createElementBlock("section",{key:0,class:"conversation-chart","aria-label":e.value.title},[C.createElementVNode("strong",gsA,C.toDisplayString(e.value.title),1),C.createElementVNode("div",lsA,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(e.value.rows,o=>(C.openBlock(),C.createElementBlock("div",{key:o.label,class:"conversation-chart__row",role:"listitem"},[C.createElementVNode("span",csA,C.toDisplayString(o.label),1),C.createElementVNode("span",usA,[C.createElementVNode("span",{class:"conversation-chart__bar",style:C.normalizeStyle({width:r(o.value)})},null,4)]),C.createElementVNode("span",hsA,C.toDisplayString(o.value),1)]))),128))])],8,ssA)):C.createCommentVNode("",!0)}}),fM=ve(CsA,[["__scopeId","data-v-db9fb284"]]),IsA={class:"conversation-code-result","aria-label":"代码执行结果"},fsA={key:0,class:"conversation-code-result__block"},dsA={class:"conversation-code-result__label"},BsA={class:"conversation-code-result__code"},QsA={key:1,class:"conversation-code-result__block"},psA={class:"conversation-code-result__label"},EsA={class:"conversation-code-result__code"},vsA=C.defineComponent({name:"CodeToolRenderer",__name:"CodeToolRenderer",props:{toolCall:{},result:{}},setup(t){const A=t,e=C.computed(()=>g(A.result)?A.result:{}),r=C.computed(()=>s(e.value.language)??"text"),i=C.computed(()=>s(e.value.code)??o(A.toolCall.function.arguments)),n=C.computed(()=>s(e.value.output)??""),a=C.computed(()=>e.value.exitCode);function o(l){try{const c=JSON.parse(l);return g(c)?s(c.code)??"":""}catch{return""}}function s(l){return typeof l=="string"?l:void 0}function g(l){return typeof l=="object"&&l!==null&&!Array.isArray(l)}return(l,c)=>(C.openBlock(),C.createElementBlock("section",IsA,[i.value?(C.openBlock(),C.createElementBlock("div",fsA,[C.createElementVNode("span",dsA,C.toDisplayString(r.value),1),C.createElementVNode("pre",BsA,[C.createElementVNode("code",null,C.toDisplayString(i.value),1)])])):C.createCommentVNode("",!0),n.value?(C.openBlock(),C.createElementBlock("div",QsA,[C.createElementVNode("span",psA,"输出"+C.toDisplayString(a.value===void 0?"":` (${a.value})`),1),C.createElementVNode("pre",EsA,[C.createElementVNode("code",null,C.toDisplayString(n.value),1)])])):C.createCommentVNode("",!0)]))}}),dM=ve(vsA,[["__scopeId","data-v-161409fc"]]),msA={class:"conversation-mind-map","aria-label":"思维导图结果"},ysA={key:1,class:"conversation-mind-map__error",role:"alert"},ub=6,hb=80,wsA=C.defineComponent({name:"MindMapToolRenderer",__name:"MindMapToolRenderer",props:{result:{}},setup(t){const A=t,e=C.computed(()=>i(A.result)),r={name:"ai-conversation",background:"transparent",grid:{show:!1},nodeStyle:{colors:["var(--ai-conversation-code-bg)","var(--ai-conversation-tool-bg)","var(--ai-conversation-assistant-bg)"],textColor:"var(--ai-conversation-assistant-color)",borderColor:"var(--ai-conversation-tool-border)",borderWidth:1,borderRadius:6,fontSize:13,fontWeight:600},linkStyle:{color:"var(--ai-conversation-tool-running)",width:1.5,curve:"bezier",animated:!1}};function i(s){const g=o(s)?s:void 0,l=o(g==null?void 0:g.data)?g.data:g;if(!l||!o(l.nodeData))return n();let c=0;const h=new WeakSet;function u(I,f){if(!o(I)||h.has(I))return;if(f>ub)throw new Error(`思维导图最多支持 ${ub} 层。`);const d=a(I.id),B=a(I.topic);if(!d||!B||I.children!==void 0&&!Array.isArray(I.children))return;if(h.add(I),c+=1,c>hb)throw new Error(`思维导图最多支持 ${hb} 个节点。`);const Q=[];for(const p of I.children??[]){const E=u(p,f+1);if(!E)return;Q.push(E)}return{id:d,topic:B,root:f===1,expanded:typeof I.expanded=="boolean"?I.expanded:!0,...Q.length?{children:Q}:{}}}try{const I=u(l.nodeData,1);return I?{data:{nodeData:I}}:n()}catch(I){return{error:I instanceof Error?I.message:n().error}}}function n(){return{error:"无法显示思维导图:数据结构无效。"}}function a(s){return typeof s=="string"&&s.trim()?s.trim():void 0}function o(s){return typeof s=="object"&&s!==null&&!Array.isArray(s)}return(s,g)=>(C.openBlock(),C.createElementBlock("section",msA,[e.value.data?(C.openBlock(),C.createBlock(jS,{key:0,data:e.value.data,theme:r,height:"18rem",readonly:"","show-toolbar":"","show-download":!1,"show-counts":!0,"toolbar-position":"bottom"},null,8,["data"])):(C.openBlock(),C.createElementBlock("p",ysA,C.toDisplayString(e.value.error),1))]))}}),BM=ve(wsA,[["__scopeId","data-v-42be305a"]]);/*!
661
661
  * @kurkle/color v0.3.4
662
662
  * https://github.com/kurkle/color#readme
663
663
  * (c) 2024 Jukka Kurkela
@@ -684,7 +684,7 @@ ${r}`:`${e}: ${r}`;if(Array.isArray(r)||ff(r)){const i=JSON.stringify(r,null,2);
684
684
  ${i}`}return`${e}: ${String(r)}`}).join(`
685
685
 
686
686
  `)}return String(t)}function uR(t){let A="",e=!1,r=!1;for(let i=0;i<t.length;i+=1){const n=t[i];if(!e){n==='"'&&(e=!0),A+=n;continue}if(r){if(n==="n")A+=`
687
- `;else if(n==="t")A+=" ";else if(n==="r")A+="\r";else if(n==='"'||n==="\\"||n==="/")A+=n;else if(n==="u"&&i+4<t.length){const a=t.slice(i+1,i+5);/^[0-9a-fA-F]{4}$/.test(a)?(A+=String.fromCharCode(Number.parseInt(a,16)),i+=4):A+="\\u"}else A+=`\\${n}`;r=!1;continue}if(n==="\\"){r=!0;continue}if(n==='"'){e=!1,A+=n;continue}A+=n}return r&&(A+="\\"),A}function ff(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const WuA={search:"检索资料",render_chart:"生成趋势图",render_mind_map:"生成思维导图",execute_code:"执行代码",get_deployment:"查询发布状态",read_private_document:"读取受限文档",calculate_retention:"计算留存率","open-generative-ui":"生成式界面",toggleTheme:"切换主题",pieChart:"生成饼图",barChart:"生成柱状图",plan_visualization:"生成执行计划",scheduleTime:"安排会议时间",ask_form:"询问用户","ask-form":"询问用户",ask_user_form:"询问用户",ask_user:"询问用户"};function zuA(t){return WuA[t]??t}function XuA(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function juA(t){if(t)try{return JSON.parse(t)}catch{return t}}function $uA(t){if(!t)return;const A=juA(t.content);return XuA(A)&&typeof A.error=="string"?"error":"success"}function A0A({toolState:t,toolMessage:A,streaming:e}){const r=$uA(A);return t?r&&(t.status==="running"||t.status==="pending")?r:t.status:r||(e?"running":"pending")}function fu(t,A={}){if(!t)return[];const e=new l8({registry:Kl});return e.push(t),A.isStreaming||e.finalize(),e.getNodes().filter(r=>r.kind==="component"&&r.tag==="ask-form"&&r.complete)}const wS=new Set(["ask_form","ask-form","ask_user_form","ask_user"]);function Dd(t){const A=t.trim().toLowerCase().replace(/-/g,"_");return wS.has(A)||wS.has(t)}function hR(t){var i;const A=(i=t.function.arguments)==null?void 0:i.trim();if(!A)return null;const e=T0(A);if(!e)return null;const r=e.mdoc;return typeof r!="string"||!r.trim()?null:Dd(t.function.name)||r.includes("ask-form")?r:null}function hv(t){if(!(t!=null&&t.length))return null;for(let A=t.length-1;A>=0;A-=1){const e=t[A],r=hR(e);if(r)return{mdoc:r,toolCallId:e.id}}return null}function e0A(t){return t!=null&&t.length?t.filter(A=>!Dd(A.function.name)):[]}const t0A=["data-tool-call-id","aria-label","aria-busy"],r0A={class:"tool-call-part__track"},i0A={class:"tool-call-part__icon-wrap"},n0A={class:"tool-call-part__content"},a0A=["aria-expanded"],o0A={class:"tool-call-part__name"},s0A={key:0,class:"tool-call-part__running-label"},g0A={key:1,class:"tool-call-part__summary"},l0A=["inert","aria-hidden"],c0A={key:0,class:"tool-call-part__section"},u0A={key:0,class:"tool-call-part__validation",role:"alert"},h0A={key:1,class:"tool-call-part__section"},C0A=["aria-expanded"],I0A={key:2,class:"tool-call-part__section"},f0A={key:3,class:"tool-call-part__section"},d0A={class:"tool-call-part__result-text"},B0A={key:4,class:"tool-call-part__error",role:"alert"},Q0A={key:5,class:"tool-call-part__actions"},p0A=["disabled"],E0A=["disabled"],v0A={key:6,class:"tool-call-part__actions"},m0A=["disabled"],y0A=["disabled"],w0A=160,D0A=C.defineComponent({name:"ToolCallPart",__name:"ToolCallPart",props:{toolCall:{},toolMessage:{},isStreaming:{type:Boolean},toolState:{},renderer:{},isFirst:{type:Boolean},isLast:{type:Boolean}},emits:["tool-action"],setup(t,{emit:A}){var WA;const e=t,r=A,i=cc(),n=C.ref(((WA=e.toolState)==null?void 0:WA.arguments)??e.toolCall.function.arguments),a=C.computed(()=>{var eA;return _A((eA=e.toolMessage)==null?void 0:eA.content)}),o=C.computed(()=>{var yA;if((yA=e.toolState)!=null&&yA.error)return e.toolState.error;const eA=a.value;return PA(eA)&&typeof eA.error=="string"?eA.error:void 0}),s=C.computed(()=>A0A({toolState:e.toolState,toolMessage:e.toolMessage,streaming:e.isStreaming})),g=C.computed(()=>e.renderer??i.toolRenderers.value[e.toolCall.function.name]??sR(e.toolCall.function.name)),l=C.computed(()=>n.value),c=C.computed(()=>d.value?"":hA(ee(a.value))),h=C.computed(()=>!d.value&&g.value!==void 0&&a.value!==void 0),u=C.computed(()=>{var eA;return((eA=e.toolState)==null?void 0:eA.isArgumentsEditable)===!0&&(s.value==="requires-approval"||s.value==="requires-action")}),I=C.computed(()=>{try{return JSON.parse(l.value),!0}catch{return!1}}),f=I,d=C.computed(()=>Dd(e.toolCall.function.name)||cR(l.value)),B=C.computed(()=>d.value?cv(l.value):quA(l.value)),Q=C.computed(()=>!u.value&&!d.value&&B.value.trim().length>0),p=C.computed(()=>zuA(e.toolCall.function.name)),E=C.computed(()=>({pending:"等待中","requires-approval":"等待审批",running:"执行中",success:"完成",error:"失败",denied:"已拒绝",cancelled:"已取消","requires-action":"需要操作"})[s.value]),v=C.computed(()=>({search:d6,render_chart:S6,render_mind_map:o6,execute_code:w6,get_deployment:Q6,read_private_document:e6,calculate_retention:X1,"open-generative-ui":c6,toggleTheme:g6,pieChart:M7,barChart:X1,plan_visualization:r6,scheduleTime:F7})[e.toolCall.function.name]??F6),y=C.computed(()=>{if(d.value)return cv(e.toolCall.function.arguments);const eA=T0(e.toolCall.function.arguments);if(eA)return Object.entries(eA).filter(([yA])=>yA!=="mdoc").map(([yA,MA])=>`${yA}: ${typeof MA=="string"?MA:JSON.stringify(MA)}`).join(" · ");try{const yA=JSON.parse(e.toolCall.function.arguments);return PA(yA)?Object.entries(yA).filter(([MA])=>MA!=="mdoc").map(([MA,he])=>`${MA}: ${typeof he=="string"?he:JSON.stringify(he)}`).join(" · "):""}catch{return e.toolCall.function.arguments}}),w=C.computed(()=>u.value||f.value||s.value!=="running"&&s.value!=="pending"?!1:l.value.trim().length>0),k=C.computed(()=>d.value||s.value!=="running"?"":w.value?"生成参数中":"执行中");function b(eA){return d.value?!1:["running","requires-approval","requires-action"].includes(eA)}const F=C.ref(b(s.value)),S=C.ref(!1),_=C.ref(!1),N=C.ref(null),R=C.ref(),T=C.ref(0);let J;function Y(){const eA=R.value;eA&&(T.value=eA.scrollHeight)}C.watch(R,eA=>{J==null||J.disconnect(),J=void 0,eA&&(Y(),typeof ResizeObserver<"u"&&(J=new ResizeObserver(Y),J.observe(eA)))},{immediate:!0,flush:"post"}),C.onBeforeUnmount(()=>J==null?void 0:J.disconnect());const G=C.computed(()=>({height:F.value?`${T.value}px`:"0px"})),P=C.ref();let z;function X(){const eA=P.value;if(!eA){_.value=!1;return}S.value||(_.value=eA.scrollHeight>w0A+1)}C.watch(P,eA=>{z==null||z.disconnect(),z=void 0,eA&&(X(),typeof ResizeObserver<"u"&&(z=new ResizeObserver(X),z.observe(eA)))},{immediate:!0,flush:"post"}),C.onBeforeUnmount(()=>z==null?void 0:z.disconnect());function iA(){F.value=!F.value}function aA(){S.value=!S.value,S.value||X()}function oA(eA){(eA==="approve"||eA==="submit-action")&&!I.value||(N.value=eA,r("tool-action",{action:eA,toolCall:e.toolCall,arguments:l.value}))}function hA(eA){if(eA===void 0||eA==="")return"";if(typeof eA=="string")try{return JSON.stringify(JSON.parse(eA),null,2)}catch{return eA}try{return JSON.stringify(eA,null,2)}catch{return String(eA)}}function _A(eA){if(eA)try{return JSON.parse(eA)}catch{return eA}}function PA(eA){return typeof eA=="object"&&eA!==null&&!Array.isArray(eA)}function ee(eA){if(!PA(eA)||!("mdoc"in eA))return eA;const yA={...eA};return delete yA.mdoc,yA}return C.watch(s,eA=>{F.value=b(eA),N.value=null,b(eA)||(S.value=!1)}),C.watch(d,eA=>{eA&&(F.value=!1,S.value=!1)}),C.watch(()=>{var eA;return[(eA=e.toolState)==null?void 0:eA.arguments,e.toolCall.function.arguments]},([eA,yA])=>{n.value=eA??yA}),(eA,yA)=>(C.openBlock(),C.createElementBlock("div",{class:C.normalizeClass(["tool-call-part",`tool-call-part--${s.value}`]),"data-tool-call-id":t.toolCall.id,"aria-label":`${p.value}:${E.value}`,"aria-busy":s.value==="pending"||s.value==="running"?"true":"false"},[C.createElementVNode("div",r0A,[C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__line tool-call-part__line--top",{"tool-call-part__line--visible":!t.isFirst}])},null,2),C.createElementVNode("div",i0A,[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(v.value),{class:C.normalizeClass(["tool-call-part__indicator",{"tool-call-part__indicator--running":s.value==="running"}]),size:16,"stroke-width":1.75,"aria-hidden":"true"},null,8,["class"]))]),C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__line tool-call-part__line--bottom",{"tool-call-part__line--visible":!t.isLast||F.value}])},null,2)]),C.createElementVNode("div",n0A,[C.createElementVNode("button",{type:"button",class:"tool-call-part__header","aria-expanded":F.value,"data-testid":"tool-call-header",onClick:iA},[C.createElementVNode("span",o0A,C.toDisplayString(p.value),1),k.value?(C.openBlock(),C.createElementBlock("span",s0A,C.toDisplayString(k.value),1)):y.value&&!F.value?(C.openBlock(),C.createElementBlock("span",g0A,C.toDisplayString(y.value),1)):C.createCommentVNode("",!0),C.createVNode(C.unref(Qv),{class:C.normalizeClass(["tool-call-part__chevron",{"tool-call-part__chevron--open":F.value}]),size:13,"stroke-width":1.75,"aria-hidden":"true"},null,8,["class"])],8,a0A),C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__body-wrapper",{"tool-call-part__body-wrapper--open":F.value}]),style:C.normalizeStyle(G.value),inert:!F.value,"aria-hidden":!F.value},[C.createElementVNode("div",{ref_key:"bodyContentRef",ref:R,class:"tool-call-part__body"},[u.value?(C.openBlock(),C.createElementBlock("div",c0A,[C.withDirectives(C.createElementVNode("textarea",{"onUpdate:modelValue":yA[0]||(yA[0]=MA=>n.value=MA),class:"tool-call-part__editor","aria-label":"工具参数 JSON",rows:"5"},null,512),[[C.vModelText,n.value]]),I.value?C.createCommentVNode("",!0):(C.openBlock(),C.createElementBlock("p",u0A," 参数必须是有效的 JSON "))])):Q.value?(C.openBlock(),C.createElementBlock("div",h0A,[C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__details-clamp",{"tool-call-part__details-clamp--fade":_.value&&!S.value,"tool-call-part__details-clamp--expanded":S.value}])},[C.createElementVNode("pre",{ref_key:"detailsPreRef",ref:P,class:C.normalizeClass(["tool-call-part__streaming-arguments",{"tool-call-part__streaming-arguments--streaming":w.value}])},C.toDisplayString(B.value),3)],2),_.value||S.value?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"tool-call-part__more","aria-expanded":S.value,onClick:C.withModifiers(aA,["stop"])},C.toDisplayString(S.value?"收起":"展开更多"),9,C0A)):C.createCommentVNode("",!0)])):C.createCommentVNode("",!0),h.value?(C.openBlock(),C.createElementBlock("section",I0A,[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(g.value),{"tool-call":t.toolCall,status:s.value,result:a.value,error:o.value,message:t.toolMessage,"is-streaming":t.isStreaming===!0},null,8,["tool-call","status","result","error","message","is-streaming"]))])):c.value?(C.openBlock(),C.createElementBlock("div",f0A,[C.createElementVNode("pre",d0A,C.toDisplayString(c.value),1)])):C.createCommentVNode("",!0),o.value?(C.openBlock(),C.createElementBlock("p",B0A,C.toDisplayString(o.value),1)):C.createCommentVNode("",!0),s.value==="requires-approval"?(C.openBlock(),C.createElementBlock("div",Q0A,[C.createElementVNode("button",{type:"button","data-testid":"tool-deny",disabled:N.value!==null,onClick:yA[1]||(yA[1]=MA=>oA("deny"))},C.toDisplayString(N.value==="deny"?"处理中…":"拒绝"),9,p0A),C.createElementVNode("button",{type:"button","data-testid":"tool-approve",disabled:N.value!==null||u.value&&!I.value,onClick:yA[2]||(yA[2]=MA=>oA("approve"))},C.toDisplayString(N.value==="approve"?"处理中…":"允许"),9,E0A)])):s.value==="requires-action"?(C.openBlock(),C.createElementBlock("div",v0A,[C.createElementVNode("button",{type:"button",disabled:N.value!==null,onClick:yA[3]||(yA[3]=MA=>oA("cancel"))},C.toDisplayString(N.value==="cancel"?"处理中…":"取消"),9,m0A),C.createElementVNode("button",{type:"button",disabled:N.value!==null||u.value&&!I.value,onClick:yA[4]||(yA[4]=MA=>oA("submit-action"))},C.toDisplayString(N.value==="submit-action"?"处理中…":"继续"),9,y0A)])):C.createCommentVNode("",!0)],512)],14,l0A)])],10,t0A))}}),CR=ve(D0A,[["__scopeId","data-v-28d0bc53"]]),k0A=C.defineComponent({__name:"ChatToolGroup",props:{toolCalls:{},toolMessages:{},toolStates:{},streaming:{type:Boolean}},emits:["tool-action"],setup(t,{emit:A}){const e=t,r=A,i=C.ref();function n(s,g){return s==null?void 0:s.find(l=>l.tool_call_id===g)}function a(){const s=i.value;if(!s)return;const g=Array.from(s.querySelectorAll(".tool-call-part__name"));if(!g.length)return;g.forEach(c=>c.style.removeProperty("min-width"));const l=Math.max(...g.map(c=>c.getBoundingClientRect().width));s.style.setProperty("--tool-name-col-width",`${Math.ceil(l)}px`)}function o(){C.nextTick(a)}return C.watch(()=>e.toolCalls.map(s=>s.function.name),o,{flush:"post"}),C.onMounted(()=>{o(),window.addEventListener("resize",o)}),C.onBeforeUnmount(()=>window.removeEventListener("resize",o)),(s,g)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"groupRef",ref:i,class:"chat-tool-group",role:"group","aria-label":"工具调用"},[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(t.toolCalls,(l,c)=>C.renderSlot(s.$slots,"default",{key:l.id,toolCall:l,toolMessage:n(t.toolMessages,l.id),streaming:t.streaming===!0},()=>{var h;return[C.createVNode(CR,{"tool-call":l,"tool-message":n(t.toolMessages,l.id),"tool-state":(h=t.toolStates)==null?void 0:h[l.id],"is-streaming":t.streaming,"is-first":c===0,"is-last":c===t.toolCalls.length-1,onToolAction:g[0]||(g[0]=u=>r("tool-action",u))},null,8,["tool-call","tool-message","tool-state","is-streaming","is-first","is-last"])]},!0)),128))],512))}}),Cv=ve(k0A,[["__scopeId","data-v-a0cba0c3"]]),b0A={key:0,class:"input-content__text"},S0A={key:1,class:"input-content"},N0A={key:0,class:"input-content__text"},F0A=["href","aria-label"],x0A=["src","alt"],_0A={key:2,class:"input-content__reference"},M0A=["src"],R0A={key:4,class:"input-content__reference"},G0A=["src"],L0A={key:6,class:"input-content__reference"},T0A=["href"],Y0A={key:8,class:"input-content__reference"},U0A=576,J0A=C.defineComponent({name:"InputContentParts",__name:"InputContentParts",props:{content:{}},setup(t){function A(o){const s=o.image_url.url??"";return Ps(s,{width:U0A})}function e(o){return o.image_url.url??""}function r(o){return o.video_url.url??""}function i(o){return o.input_audio.url?o.input_audio.url:o.input_audio.data?`data:audio/${o.input_audio.format||"mpeg"};base64,${o.input_audio.data}`:""}function n(o){return o.file.file_url??""}function a(o){return o.type==="image_url"?o.image_url.file_id||"图片":o.type==="video_url"?o.video_url.file_id||"视频":o.type==="input_audio"?o.input_audio.file_id||"音频":o.type==="file"?o.file.filename||o.file.file_id||"文件":""}return(o,s)=>typeof t.content=="string"?(C.openBlock(),C.createElementBlock("span",b0A,C.toDisplayString(t.content),1)):(C.openBlock(),C.createElementBlock("span",S0A,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(t.content,(g,l)=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:l},[g.type==="text"?(C.openBlock(),C.createElementBlock("span",N0A,C.toDisplayString(g.text),1)):g.type==="image_url"&&e(g)?(C.openBlock(),C.createElementBlock("a",{key:1,class:"input-content__media-link",href:e(g),target:"_blank",rel:"noreferrer","aria-label":`打开${a(g)}`},[C.createElementVNode("img",{class:"input-content__image",src:A(g),alt:a(g)},null,8,x0A)],8,F0A)):g.type==="image_url"?(C.openBlock(),C.createElementBlock("span",_0A,C.toDisplayString(a(g)),1)):g.type==="video_url"&&r(g)?(C.openBlock(),C.createElementBlock("video",{key:3,class:"input-content__video",src:r(g),controls:"",preload:"metadata"},null,8,M0A)):g.type==="video_url"?(C.openBlock(),C.createElementBlock("span",R0A,C.toDisplayString(a(g)),1)):g.type==="input_audio"&&i(g)?(C.openBlock(),C.createElementBlock("audio",{key:5,class:"input-content__audio",src:i(g),controls:"",preload:"metadata"},null,8,G0A)):g.type==="input_audio"?(C.openBlock(),C.createElementBlock("span",L0A,C.toDisplayString(a(g)),1)):g.type==="file"&&n(g)?(C.openBlock(),C.createElementBlock("a",{key:7,class:"input-content__file",href:n(g),target:"_blank",rel:"noreferrer"},C.toDisplayString(a(g)),9,T0A)):g.type==="file"?(C.openBlock(),C.createElementBlock("span",Y0A,C.toDisplayString(a(g)),1)):C.createCommentVNode("",!0)],64))),128))]))}}),O0A=ve(J0A,[["__scopeId","data-v-4ed892a8"]]),H0A=["aria-label","aria-busy"],V0A={class:"conversation-message__inner"},Z0A={key:0,class:"conversation-message__mark conversation-message__mark--assistant","aria-hidden":"true"},q0A=["src"],K0A={class:"conversation-message__content"},P0A={key:1,class:"conversation-message__bubble"},W0A={key:2,class:"conversation-message__text"},z0A={key:1,class:"conversation-message__plain"},X0A={key:1,class:"conversation-message__mark conversation-message__mark--user","aria-hidden":"true"},j0A=["src"],$0A=C.defineComponent({name:"MessageBubble",__name:"MessageBubble",props:{message:{type:Object,required:!0},streaming:{type:Boolean,default:!1},toolMessages:{type:Array,default:()=>[]},theme:{type:Object,default:void 0},userAvatar:{type:String,default:void 0},assistantAvatar:{type:String,default:void 0},toolStates:{type:Object,default:()=>({})},followUps:{type:Array,default:void 0},showFollowUps:{type:Boolean,default:!0}},emits:["copy","action","attachment-preview","tool-action"],setup(t,{emit:A}){const e=t,r=A,i=C.useSlots(),n=C.computed(()=>e.message),a=C.computed(()=>e.message.role==="user"),o=C.computed(()=>e.message.role==="system"),s=C.computed(()=>e.message.role==="tool"),g=C.computed(()=>e.message.role==="assistant"),l=C.computed(()=>e.message.role==="assistant"?e.message:null),c=C.computed(()=>a.value?"用户消息":o.value?"系统消息":s.value?"工具消息":"AI 助手消息"),h=C.computed(()=>{var P;if(g.value)return sM((P=l.value)==null?void 0:P.content);const G=e.message.content;return typeof G=="string"?G:Array.isArray(G)?G.filter(z=>z.type==="text").map(z=>z.text).join(""):""}),u=C.computed(()=>{var G,P;return((P=(G=l.value)==null?void 0:G.reasoning_content)==null?void 0:P.trim())??""}),I=C.computed(()=>h.value),f=C.computed(()=>g.value&&!!u.value),d=C.computed(()=>{var G;return((G=l.value)==null?void 0:G.steps)??[]}),B=C.computed(()=>{if(e.message.role!=="user"&&e.message.role!=="system")return!1;const G=e.message.content;return typeof G=="string"?G.trim().length>0:G.some(P=>P.type==="text"?P.text.trim().length>0:!0)}),Q=C.computed(()=>a.value||o.value?B.value:!!I.value.trim()),p=C.computed(()=>I.value),E=C.computed(()=>{var G,P;return g.value&&e.streaming&&!Q.value&&!f.value&&!((P=(G=l.value)==null?void 0:G.tool_calls)!=null&&P.length)}),v=C.computed(()=>f.value||E.value),y=C.computed(()=>g.value&&!e.streaming&&p.value.trim().length>0),w=C.computed(()=>!g.value||!e.showFollowUps||e.streaming?[]:e.followUps??[]),k=C.computed(()=>w.value.length>0);function b(G){r("action",{type:"submit",value:G,label:G,source:"follow-up"})}const F=C.computed(()=>g.value&&(!!e.assistantAvatar||!!i["assistant-avatar"])),S=C.computed(()=>a.value&&(!!e.userAvatar||!!i["user-avatar"])),_=C.computed(()=>{var G;return((G=l.value)==null?void 0:G.tool_calls)??[]}),N=C.computed(()=>{const G=[];for(const P of d.value){if(P.type==="reasoning"){G.push(P);continue}P.tool_calls.length>0&&G.push(P)}return G}),R=C.computed(()=>N.value.length>0),T=C.computed(()=>e.message.role==="user"||e.message.role==="system"?e.message.content:""),J=C.computed(()=>e.message.role==="user"?e.message.resource_files??[]:[]),Y=C.computed(()=>!a.value||Q.value);return(G,P)=>(C.openBlock(),C.createElementBlock("article",{class:C.normalizeClass(["conversation-message",{"conversation-message--user":a.value,"conversation-message--system":o.value,"conversation-message--assistant":g.value,"conversation-message--tool":s.value,"conversation-message--text-only":Q.value||v.value,"conversation-message--streaming":t.streaming,"conversation-message--loading":E.value,"conversation-message--with-avatar":F.value||S.value}]),"aria-label":c.value,"aria-busy":t.streaming?"true":void 0},[C.createElementVNode("div",V0A,[F.value?(C.openBlock(),C.createElementBlock("span",Z0A,[C.renderSlot(G.$slots,"assistant-avatar",{},()=>[t.assistantAvatar?(C.openBlock(),C.createElementBlock("img",{key:0,class:"conversation-message__mark-img",src:t.assistantAvatar,alt:""},null,8,q0A)):C.createCommentVNode("",!0)],!0)])):C.createCommentVNode("",!0),C.createElementVNode("div",K0A,[J.value.length?(C.openBlock(),C.createBlock(g3,{key:0,class:"conversation-message__attachments",resources:J.value,onPreview:P[0]||(P[0]=z=>r("attachment-preview",z))},null,8,["resources"])):C.createCommentVNode("",!0),Y.value?(C.openBlock(),C.createElementBlock("div",P0A,[R.value?(C.openBlock(!0),C.createElementBlock(C.Fragment,{key:0},C.renderList(N.value,(z,X)=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:`step-${X}`},[z.type==="reasoning"?(C.openBlock(),C.createBlock(ev,{key:0,class:"conversation-message__reasoning",content:z.content,streaming:t.streaming&&X===N.value.length-1},null,8,["content","streaming"])):(C.openBlock(),C.createBlock(Cv,{key:1,class:"conversation-message__tools","tool-calls":z.tool_calls,"tool-messages":t.toolMessages,"tool-states":t.toolStates,streaming:t.streaming&&X===N.value.length-1,onToolAction:P[1]||(P[1]=iA=>r("tool-action",iA))},C.createSlots({_:2},[G.$slots.tool?{name:"default",fn:C.withCtx(iA=>[C.renderSlot(G.$slots,"tool",C.mergeProps({ref_for:!0},iA),void 0,!0)]),key:"0"}:void 0]),1032,["tool-calls","tool-messages","tool-states","streaming"]))],64))),128)):(C.openBlock(),C.createElementBlock(C.Fragment,{key:1},[v.value?(C.openBlock(),C.createBlock(ev,{key:0,class:"conversation-message__reasoning",content:u.value,streaming:t.streaming,"data-testid":E.value?"conversation-streaming-indicator":void 0},null,8,["content","streaming","data-testid"])):C.createCommentVNode("",!0),_.value.length?(C.openBlock(),C.createBlock(Cv,{key:1,class:"conversation-message__tools","tool-calls":_.value,"tool-messages":t.toolMessages,"tool-states":t.toolStates,streaming:t.streaming,onToolAction:P[2]||(P[2]=z=>r("tool-action",z))},C.createSlots({_:2},[G.$slots.tool?{name:"default",fn:C.withCtx(z=>[C.renderSlot(G.$slots,"tool",C.normalizeProps(C.guardReactiveProps(z)),void 0,!0)]),key:"0"}:void 0]),1032,["tool-calls","tool-messages","tool-states","streaming"])):C.createCommentVNode("",!0)],64)),Q.value||!a.value&&G.$slots.content?(C.openBlock(),C.createElementBlock("div",W0A,[C.renderSlot(G.$slots,"content",{message:n.value,content:I.value,isStreaming:t.streaming},()=>[a.value||o.value?(C.openBlock(),C.createBlock(O0A,{key:0,content:T.value},null,8,["content"])):s.value?(C.openBlock(),C.createElementBlock("span",z0A,C.toDisplayString(I.value),1)):(C.openBlock(),C.createBlock(Q1,{key:2,content:I.value,"is-streaming":t.streaming,"highlight-stream-tail":t.streaming&&!f.value,onAction:P[3]||(P[3]=z=>r("action",z))},null,8,["content","is-streaming","highlight-stream-tail"]))],!0)])):C.createCommentVNode("",!0)])):C.createCommentVNode("",!0),y.value&&l.value?(C.openBlock(),C.createBlock(A3,{key:2,message:l.value,text:p.value,onCopy:P[4]||(P[4]=z=>r("copy",z))},C.createSlots({_:2},[G.$slots.actionbar?{name:"default",fn:C.withCtx(z=>[C.renderSlot(G.$slots,"actionbar",C.normalizeProps(C.guardReactiveProps(z)),void 0,!0)]),key:"0"}:void 0]),1032,["message","text"])):C.createCommentVNode("",!0),k.value?(C.openBlock(),C.createBlock(l3,{key:3,questions:w.value,onSelect:b},null,8,["questions"])):C.createCommentVNode("",!0)]),S.value?(C.openBlock(),C.createElementBlock("span",X0A,[C.renderSlot(G.$slots,"user-avatar",{},()=>[t.userAvatar?(C.openBlock(),C.createElementBlock("img",{key:0,class:"conversation-message__mark-img",src:t.userAvatar,alt:""},null,8,j0A)):C.createCommentVNode("",!0)],!0)])):C.createCommentVNode("",!0)])],10,H0A))}}),IR=ve($0A,[["__scopeId","data-v-0c2b4fe3"]]),fR=C.defineComponent({name:"ChatMessage",__name:"ChatMessage",props:{message:{type:Object,required:!0},streaming:{type:Boolean,default:!1},toolMessages:{type:Array,default:()=>[]},theme:{type:Object,default:void 0},userAvatar:{type:String,default:void 0},assistantAvatar:{type:String,default:void 0},toolStates:{type:Object,default:()=>({})},followUps:{type:Array,default:void 0},showFollowUps:{type:Boolean,default:!0}},emits:["copy","action","attachment-preview","tool-action"],setup(t,{emit:A}){const e=t,r=A;return(i,n)=>(C.openBlock(),C.createBlock(IR,C.mergeProps(e,{onCopy:n[0]||(n[0]=a=>r("copy",a)),onAction:n[1]||(n[1]=a=>r("action",a)),onAttachmentPreview:n[2]||(n[2]=a=>r("attachment-preview",a)),onToolAction:n[3]||(n[3]=a=>r("tool-action",a))}),C.createSlots({_:2},[i.$slots["user-avatar"]?{name:"user-avatar",fn:C.withCtx(()=>[C.renderSlot(i.$slots,"user-avatar")]),key:"0"}:void 0,i.$slots["assistant-avatar"]?{name:"assistant-avatar",fn:C.withCtx(()=>[C.renderSlot(i.$slots,"assistant-avatar")]),key:"1"}:void 0,i.$slots.content?{name:"content",fn:C.withCtx(a=>[C.renderSlot(i.$slots,"content",C.normalizeProps(C.guardReactiveProps(a)))]),key:"2"}:void 0,i.$slots.actionbar?{name:"actionbar",fn:C.withCtx(a=>[C.renderSlot(i.$slots,"actionbar",C.normalizeProps(C.guardReactiveProps(a)))]),key:"3"}:void 0,i.$slots.tool?{name:"tool",fn:C.withCtx(a=>[C.renderSlot(i.$slots,"tool",C.normalizeProps(C.guardReactiveProps(a)))]),key:"4"}:void 0]),1040))}}),AhA="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAEkUlEQVR4AeycAW6cQAxFQ0/WnCzJyZKebGtHuKrQJrBhzPj7/wo0u0AH+78HykYbfj3pH3UCEoAa/9OTBJAA5AmQt687gAQgT4C8fd0BJAB5AqTtR9u6A0QSpKMEIAUfbUuASIJ0lACk4KNtCRBJkI4SgBR8tC0BIgnSUQKQgd+2KwG2iZC9lwBkwLftSoBtImTvJQAZ8G27EmCbCNl7CUAGfNuuBNgmQvaeWoDb7fbb1ldbf3fn/lV/lAIYcId+s1DebX2x9d22+fJqr6kWOgGMckC/B/rF9lNJQCWAwXX4e7d7KgloBDgIP+4KNBJQCPAgfCoJ2gvwQ/g0ErQW4CR8CgnaCjAIPrwE0cBXY0sBBsOP7Fr+YNhOgCT4bSVoJUAy/JYStBHgIvjtJGghwMXwW0kAL8Ak+G0kgBZgMvwWEsAKUAR+WQmisL0RUoBi8CNjyN8TwAlQFD6sBFACnIT/FpQOjB92zCPH2+H/Fqg7AYwAZ+Evy/LQN33W49tLACHA1fDjWmaQoLwAs+CzSFBagNnwGSQoK0AV+GgSRL1Hx5ICVIMfYXb8maCcAFXhd5WglADV4XeUoIwAKPC7SVBCADT4nSSYLgAq/C4STBUAHX4HCaYJ0AV+FQmijkfHKQJ0gx+hI/6e4HIBusJHleBSAbrDR5TgMgFY4KNJcIkAbPCRJEgXgBU+igSpArDDR5AgTQCD79/B23sgU2S0Hd/Wj1Tb7bDv137OfMfwbpZnA0kRwOB7sf78vZ/U1w5+hHBSAn/CWUw1bEwRwKpzAWx4eGkLP5I4I8F6YcVUQ8YsAX5SXHv4EcoZCWKOUWMVAWjgB7gqEmQJ4H9ZE73ujXTwI5BHJbDjH8k1TvPtmCLAWuiRYmnhBxXLyj8tHfl0cOSYmPbwmCKAn90ae7bxu6Kf7Rhv3g7jXtYcvssq7UJJE8CR/tdYNOd3BW/Gdi3+2g/TaglYIH4xxEXj2cR690Kx/zJkSRXAK/TG1tWGJbUZPx/yuizLh62vtnpOsboIaW2lC5BWuSYekoAEGBIj7iQSAJfdkMolwJAYcSeRALjshlQuAYbEiDuJBABjN7pcCTA6UbD5JAAYsNHlSoDRiYLNJwHAgI0uVwKMThRsPgkABmx0uRJgdKJg80kAEGBZZUqArGRB5pUAIKCyypQAWcmCzCsBQEBllSkBspIFmVcCgIDKKlMCZCULMq8EKA4quzwJkJ1w8fklQHFA2eVJgOyEi88vAYoDyi5PAmQnXHx+CVAcUHZ5EiA74eLzS4CigK4qSwJclXTR80iAomCuKksC3E/6z/3N/bayCZD6uBVEPdgEOMqIRhQqAfzhSwcM8KeYSYADQaEeEo+su1f/51O67u3ouo3qDuAQ7S7gj2Fb7LWL4Fd6rJ+PZbPtU5erT04nQAS8ivAJ3V776CLEbpqRVgAawjuNSoCdgLrvlgDdCe/0JwF2Auq+WwJ0J7zTnwTYCaj7bglQhPCsMiTArOSLnFcCFAExqwwJMCv5IueVAEVAzCpDAsxKvsh5JUARELPKkACzki9yXgkwGcTs0/8FAAD//wp1l3UAAAAGSURBVAMAxMyyEBy8oUUAAAAASUVORK5CYII=",ehA=["width","height"],dR=C.defineComponent({__name:"ChatSenderAppendIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1862.0 -548.0)"><g><g transform="translate(1861.9959141981599 548.0)"><g transform="translate(3.0 3.5)"><g transform="translate(0.0 8.357142857143003)"><path d="M0,0.642857143 L18,0.642857143" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g><g transform="translate(8.357142857144026 0.0)"><path d="M0.642857143,18 L0.642857143,0" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g>',1)])],8,ehA))}}),thA=["width","height"],Iv=C.defineComponent({__name:"ChatSenderMicIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 25 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1928.0 -601.0)"><g><g transform="translate(1898.0 594.0)"><g transform="translate(30.0 7.0)"><g transform="translate(0.375 0.0)"><g transform="translate(5.659200989204692 12.57531220702094)"><path d="M0,0 C0.229204017,0.762048065 0.57649942,1.46898985 1.01932986,2.09713112 C2.26092584,3.8582966 4.25353634,5 6.5,5 C8.74646366,5 10.7390742,3.8582966 11.9806701,2.09713112 C12.4235006,1.46898985 12.770796,0.762048065 13,0" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path><g transform="translate(5.0 8.0)"><path d="M0,0.05 L3,0.05" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g></g><g transform="translate(9.0 3.0)"><path d="M3,10 C4.65007031,10 6,8.59370804 6,6.87501526 L6,3.12498474 C6,1.40629196 4.65007031,0 3,0 C1.35004688,0 0,1.40629196 0,3.12498474 L0,6.87501526 C0,8.59370804 1.35004688,10 3,10 Z" stroke="#333333" stroke-width="2" fill="none" stroke-miterlimit="10"></path></g></g></g></g></g></g>',1)])],8,thA))}}),rhA=["width","height"],VC=C.defineComponent({__name:"ChatSenderMicOffIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1928.0 -549.0)"><g><g transform="translate(1928.0 549.0)"><g transform="translate(3.377038325590547 4.575312207019124)"><g transform="translate(3.2821626636141445 8.000000000001819)"><path d="M0,0 C0.229204017,0.762048065 0.57649942,1.46898985 1.01932986,2.09713112 C1.92019171,3.37497578 3.21642394,4.32670563 4.71812388,4.75283811 M9.37965997,4.33144808 C10.4144641,3.82399514 11.30784,3.05151991 11.9806701,2.09713112 C12.4235006,1.46898985 12.770796,0.762048065 13,0" stroke="#999999" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g><path d="M0,0 L17.2479617,17.2479617" stroke="#979797" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path><g transform="translate(8.282162663614145 16.00000000000182)"><path d="M0,0.05 L3,0.05" stroke="#999999" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g></g><g transform="translate(10.0 2.999999999996362)"><path d="M2.82440307,9.99466861 C1.25522799,9.8991521 1.4551027e-11,8.53232615 1.4551027e-11,6.87501526 L1.45519152e-11,3.12498474 C1.45519152e-11,1.40629196 1.34992969,0 3,0 L3.17559693,0.0053313882 C4.74477201,0.100847896 6,1.46767385 6,3.12498474 L6,6.87501526 C6,8.59370804 4.64995313,10 3,10 Z" stroke="#999999" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g></g></g></g>',1)])],8,rhA))}}),ihA=["width","height"],BR=C.defineComponent({__name:"ChatSenderMoreIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 16 17",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1902.0 -604.0)"><g><g transform="translate(1898.0 594.0)"><g transform="translate(4.0 10.5)"><g transform="translate(11.375 6.5) rotate(90.00000000000001)"><path d="M0,0 L3,3 L0,6" stroke="#969696" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g>',1)])],8,ihA))}}),nhA=["width","height"],QR=C.defineComponent({__name:"ChatSenderCheckIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createElementVNode("g",{transform:"translate(-2076.0 -552.0)"},[C.createElementVNode("g",null,[C.createElementVNode("g",{transform:"translate(2076.0 552.0)"},[C.createElementVNode("g",{transform:"translate(2.000000000000007 4.0)"},[C.createElementVNode("path",{d:"M0,4 L4.27639723,8 L12.2763972,0",stroke:"#2C69F3","stroke-width":"2",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"})])])])],-1)])],8,nhA))}}),ahA=["width","height"],pR=C.defineComponent({__name:"ChatSenderClickIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createElementVNode("g",{transform:"translate(-2033.0 -549.0)"},[C.createElementVNode("g",null,[C.createElementVNode("g",{transform:"translate(2033.0 549.0)"},[C.createElementVNode("g",{transform:"translate(3 2)"},[C.createElementVNode("path",{d:"M6.61668011,2.02458201 C7.7003286,2.02458201 8.51458579,2.88305563 8.51458579,3.94300909 L8.51458579,5.88861581 C8.79114952,5.74311713 9.10410672,5.66003482 9.44030791,5.66003482 C10.3034439,5.66003482 10.9729508,6.2046739 11.2363119,6.96073341 C11.5369431,6.77732973 11.9008512,6.66981452 12.2813621,6.66981452 C13.1437808,6.66981452 13.8132877,7.21447976 14.0767551,7.97053926 C14.37728,7.78700479 14.68952,7.67951574 15.0701371,7.67951574 L15.121699,7.67951574 C16.2060647,7.67951574 16.9992828,8.5388003 17,9.59864913 L17,13.4363142 C17,17.0610417 16.4877023,20 10.9561619,20 C8.53493425,20 7.3895497,19.5248142 6.39037655,18.7221647 C6.25930696,18.644105 6.13487852,18.5516053 6.02208535,18.4412649 L0.540752061,13.0793951 C-0.393656674,12.1585051 0.0342719774,10.8656544 0.687069711,10.2229175 C1.33989401,9.58004978 2.69633406,9.47326704 3.46266877,10.2229175 L4.65401002,11.3916941 L4.65401002,3.94300909 C4.65401002,2.88376193 5.53303163,2.02458201 6.61668011,2.02458201 Z M6.61739736,3.23639089 C6.10366515,3.23639089 5.68734521,3.64340528 5.68734521,4.14514292 L5.68734521,13.8297257 C5.68734521,13.8297257 5.1655905,13.319434 4.57245679,12.7383025 C4.48988013,12.6574258 4.40590857,12.5751926 4.32175075,12.4927847 L4.06992715,12.2462181 C3.44501444,11.6343992 2.87761068,11.0792199 2.87761068,11.0792199 C2.51441989,10.7245243 1.82448489,10.7374209 1.44904783,11.1072105 C1.0735045,11.4776278 0.957815804,12.0552801 1.41698439,12.5074718 L6.60578864,17.5834191 C7.56854177,18.5251582 8.83917827,18.9894878 10.9554181,18.9894878 C15.766303,18.9894878 15.9580322,16.6835877 15.9656351,13.7738278 L15.9659476,13.4355033 L15.9680462,9.71974107 C15.9680462,8.77525528 15.0678526,8.81111985 15.0678526,8.81111985 C14.5540938,8.81111985 14.1712984,9.21810807 14.1712984,9.71974107 L14.1712984,11.71921 L14.1618414,11.71921 C14.167659,11.7521971 14.1712984,11.7858381 14.1712984,11.8202639 C14.1712984,12.0997511 13.9529642,12.3254807 13.6677138,12.3254807 C13.3824635,12.3254807 13.1510595,12.0990186 13.1510595,11.8207871 C13.1510595,11.7848179 13.1546723,11.7497642 13.1612072,11.71921 L13.1510595,11.71921 L13.1510595,8.79027079 C13.1510595,7.93896485 12.2224419,7.88164956 12.2224419,7.88164956 C11.7086831,7.88164956 11.343314,8.28863779 11.343314,8.79027079 L11.343314,11.1129394 L11.3331398,11.1129394 C11.3396746,11.1458479 11.343314,11.1795674 11.343314,11.2138886 C11.343314,11.4934804 11.11191,11.71921 10.8266597,11.71921 C10.5413828,11.71921 10.3098725,11.4927741 10.3098725,11.2145164 C10.3098725,11.1785472 10.3136181,11.1434936 10.320153,11.1129394 L10.3098725,11.1129394 L10.3098725,7.78056957 C10.3098725,6.85967957 9.40024854,6.8718437 9.40024854,6.8718437 C8.88648976,6.8718437 8.5153296,7.27893657 8.5153296,7.78056957 L8.5153296,10.3052673 L8.50515537,10.3052673 C8.51169025,10.3382805 8.5153296,10.372 8.5153296,10.4063212 C8.5153296,10.6858084 8.28392563,10.911538 7.99867528,10.911538 C7.71339837,10.911538 7.48188815,10.6851021 7.48188815,10.4068444 C7.48188815,10.3709798 7.48563375,10.3358215 7.49216864,10.3052673 L7.48188815,10.3052673 L7.48188815,4.14514292 C7.48188815,3.64340528 7.13115613,3.23639089 6.61739736,3.23639089 Z M6.58836228,0 C8.78897123,0 10.5734462,1.75715427 10.5734462,3.92430511 C10.5734462,4.28839189 10.5174215,4.63879729 10.422772,4.97272227 C10.1782982,4.7283933 9.84281427,4.5764594 9.4709103,4.5621502 C9.51824836,4.35645869 9.54449415,4.14289321 9.54449415,3.9235988 C9.54449415,2.31539626 8.22072852,1.01192477 6.58761848,1.01192477 C4.95453499,1.01192477 3.63087562,2.31539626 3.63087562,3.9235988 C3.63087562,4.34500087 3.72395787,4.74558004 3.88770188,5.10752175 L3.88770188,6.8037769 C3.09884042,6.08706116 2.60253457,5.0637832 2.60325103,3.92430511 C2.60325103,1.75715427 4.38764708,0 6.58836228,0 Z",fill:"#999999"})])])])],-1)])],8,ahA))}}),ohA=["width","height"],ER=C.defineComponent({__name:"ChatSenderLinkIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 25 25",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-2057.0 -751.0)"><g><g transform="translate(2057.0 751.0)"><g transform="translate(2.9540584539816095 8.40380592228744) rotate(-44.99999999999999)"><path d="M0,5.88235294 L0,3.52941176 C0,1.58017147 1.56700338,0 3.5,0 C5.43299662,0 7,1.58017147 7,3.52941176 L7,8.23529412 C7,10.1845344 5.43299662,11.7647059 3.5,11.7647059" stroke="#000000" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path><g transform="translate(0.0 8.235294117647062)"><path d="M7,5.88235294 C7,6.40522876 7,7.18954248 7,8.23529412 C7,10.1845344 5.43299662,11.7647059 3.5,11.7647059 C1.56700338,11.7647059 0,10.1845344 0,8.23529412 L0,3.52941176 C0,1.58017147 1.56700338,0 3.5,0" stroke="#000000" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g>',1)])],8,ohA))}}),shA=["width","height"],ghA=C.defineComponent({__name:"ChatSenderAtIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<defs><clipPath id="chat-sender-at-clip"><path d="M24,0 L24,24 L0,24 L0,0 L24,0 Z"></path></clipPath></defs><g transform="translate(-1814.0 -549.0)"><g><g transform="translate(1808.0 542.0)"><g transform="translate(6.0 7.0)"><g clip-path="url(#chat-sender-at-clip)"><g transform="translate(1.0 -7.0)"><text transform="translate(0.0 28.0)" font-family="PingFang SC, -apple-system, BlinkMacSystemFont, sans-serif" font-size="26.0" font-weight="400" fill="#333333" text-anchor="left"> @ </text></g></g></g></g></g></g>',2)])],8,shA))}});async function G1(t,A,e){var h,u;const r=sg(t.name);if(!r)throw new Error("文件缺少扩展名");const i=new URLSearchParams({bucketType:Yu(t)==="video"?"52":"51",fileType:r});(h=A.dir)!=null&&h.trim()&&i.set("dir",A.dir.trim());const n=await((u=A.credentialHeaders)==null?void 0:u.call(A)),a=A.cloudBaseUrl.replace(/\/+$/,""),o=await fetch(`${a}/common/file/getToken?${i.toString()}`,{method:"GET",credentials:"include",headers:n,signal:e});if(!o.ok)throw new Error(`获取上传凭证失败:HTTP ${o.status}`);const s=await o.json();if(!ep(s)||s.status!==1||!ep(s.result)){const I=ep(s)&&typeof s.message=="string"?s.message:"";throw new Error(I||"获取上传凭证失败")}const{uptoken:g,fileKey:l,uploadUrl:c}=s.result;if(![g,l,c].every(I=>typeof I=="string"&&I.trim()))throw new Error("上传凭证响应不完整");return{uptoken:g,fileKey:l,uploadUrl:c}}function L1(t,A,e={}){return new Promise((r,i)=>{var l,c;if((l=e.signal)!=null&&l.aborted){i(DS());return}const n=new XMLHttpRequest,a=()=>{var h;return(h=e.signal)==null?void 0:h.removeEventListener("abort",s)},o=h=>{a(),i(h)},s=()=>n.abort();n.open("POST",A.uploadUrl),n.upload.onprogress=h=>{var u;!h.lengthComputable||h.total<=0||(u=e.onProgress)==null||u.call(e,Math.round(h.loaded/h.total*100))},n.onload=()=>{if(n.status<200||n.status>=300){o(new Error(`文件上传失败:HTTP ${n.status}`));return}try{const h=JSON.parse(n.responseText),u=pv(h);a(),r(u)}catch(h){o(h instanceof Error?h:new Error("上传响应无法解析"))}},n.onerror=()=>o(new Error("文件上传失败,请检查网络后重试")),n.onabort=()=>o(DS()),(c=e.signal)==null||c.addEventListener("abort",s,{once:!0});const g=new FormData;g.append("token",A.uptoken),g.append("key",A.fileKey),g.append("file",t,t.name),n.send(g)})}async function lhA(t,A,e={}){const r=await G1(t,A,e.signal);return L1(t,r,e)}function DS(){if(typeof DOMException=="function")return new DOMException("上传已取消","AbortError");const t=new Error("上传已取消");return t.name="AbortError",t}function ep(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}let kS=0;function vR(t){const A=new Map,e=new Map,r=t.upload??chA;function i(c,h){const u=t.getAttachments(),I=u.findIndex(d=>d.id===c);if(I<0)return;const f=[...u];f[I]=h,t.setAttachments(f)}async function n(c,h,u){var d,B;const I=t.getUploadConfig();if(!(I!=null&&I.cloudBaseUrl)){const Q={code:"missing_config",message:"未配置文件上传服务"};i(c,{id:c,status:"error",file:h,progress:0,previewUrl:u,error:Q}),(d=t.onError)==null||d.call(t,Q,h);return}const f=new AbortController;A.set(c,f),i(c,{id:c,status:"uploading",file:h,progress:0,previewUrl:u});try{const Q=await r(h,{config:I,signal:f.signal,onProgress(E){const v=t.getAttachments().find(y=>y.id===c);!v||v.status!=="uploading"||i(c,{...v,progress:E})}});if(f.signal.aborted)return;const p=pv(Q);i(c,{id:c,status:"uploaded",previewUrl:u??p.url,uploadResult:p,resource:n3(p)})}catch(Q){if(f.signal.aborted||ChA(Q))return;const p={code:Q instanceof Error&&Q.message.includes("元数据")?"invalid_response":"upload_error",message:Q instanceof Error?Q.message:"文件上传失败"};i(c,{id:c,status:"error",file:h,progress:0,previewUrl:u,error:p}),(B=t.onError)==null||B.call(t,p,h)}finally{A.delete(c)}}async function a(c){var B,Q,p,E;const h=t.getAttachments(),u=((B=t.getLimits)==null?void 0:B.call(t))??B0,I=new Set;for(const v of h)v.status!=="uploaded"&&I.add(gp(v.file));for(const v of e.values())I.add(v);const f=Math.max(0,u.maxFiles-h.length),d=[];for(const v of c){if(d.length>=f){(Q=t.onError)==null||Q.call(t,{code:"too_many_files",message:`每条消息最多上传 ${u.maxFiles} 个文件`},v);continue}const y=i3(v,u);if(y){(p=t.onError)==null||p.call(t,y,v);continue}const w=gp(v);if(I.has(w)){(E=t.onError)==null||E.call(t,{code:"duplicate_file",message:"请勿重复添加同一文件"},v);continue}I.add(w);const k=uhA();e.set(k,w),d.push({id:k,file:v,previewUrl:hhA(v)})}d.length!==0&&(t.setAttachments([...h,...d.map(({id:v,file:y,previewUrl:w})=>({id:v,status:"uploading",file:y,progress:0,previewUrl:w}))]),await Promise.all(d.map(({id:v,file:y,previewUrl:w})=>n(v,y,w))))}async function o(c){const h=t.getAttachments().find(u=>u.id===c);!h||h.status!=="error"||await n(c,h.file,h.previewUrl)}function s(c){var I;(I=A.get(c))==null||I.abort(),A.delete(c);const h=t.getAttachments(),u=h.find(f=>f.id===c);tp(u==null?void 0:u.previewUrl),e.delete(c),t.setAttachments(h.filter(f=>f.id!==c))}function g(){for(const c of A.values())c.abort();A.clear();for(const c of t.getAttachments())tp(c.previewUrl);e.clear()}function l(){for(const c of A.values())c.abort();A.clear();for(const c of t.getAttachments())tp(c.previewUrl);e.clear(),t.setAttachments([])}return{addFiles:a,retry:o,remove:s,clear:l,dispose:g}}async function chA(t,{config:A,signal:e,onProgress:r}){const i=await G1(t,A,e);return L1(t,i,{signal:e,onProgress:r})}function uhA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(kS+=1,`chat-attachment-${kS}`)}function hhA(t){if(!(!t.type.startsWith("image/")||typeof URL.createObjectURL!="function"))return URL.createObjectURL(t)}function tp(t){t!=null&&t.startsWith("blob:")&&typeof URL.revokeObjectURL=="function"&&URL.revokeObjectURL(t)}function ChA(t){return t instanceof DOMException&&t.name==="AbortError"}function IhA(){if(typeof window>"u")return!1;const t=window;return!!(t.SpeechRecognition??t.webkitSpeechRecognition)}function hC(t){if(!t||typeof t!="object")return!1;const A="name"in t?String(t.name):"";return A==="NotAllowedError"||A==="PermissionDeniedError"}function fhA(t){var Ce,xe;const A=C.ref(!1),e=((Ce=Wg())==null?void 0:Ce.getItem("chat-sender-hold-to-record"))??null,r=C.ref(e==="true"),i=C.ref(!1),n=C.ref(!1),a=C.ref(0),o=C.ref(!1),s=C.ref(null),g=C.ref([]),l=((xe=Wg())==null?void 0:xe.getItem("chat-sender-device-id"))??null,c=C.ref(l||""),h=C.ref(IhA()),u=C.ref(!1);let I=null,f=null,d=null,B=null,Q=null,p=null,E=null;const v=300;let y=null;function w(){y!=null&&(clearTimeout(y),y=null)}function k(){return typeof navigator>"u"?void 0:navigator.mediaDevices}function b(){g.value=[{deviceId:"default",label:"默认麦克风",active:!0}]}function F(){u.value=!0,s.value=null,A.value&&Y()}function S(){u.value=!1}function _(SA){SA==="denied"?F():S()}async function N(){try{const SA=typeof navigator>"u"?void 0:navigator.permissions;if(!(SA!=null&&SA.query))return;E=await SA.query({name:"microphone"}),_(E.state),E.onchange=()=>{E&&_(E.state)}}catch{}}function R(){return!h.value||u.value||t.isDisabled()}async function T(SA){var XA;const KA=c.value;if(!KA||KA==="default")return SA.getUserMedia({audio:!0});try{return await SA.getUserMedia({audio:{deviceId:{exact:KA}}})}catch(nA){if(hC(nA))throw nA;return console.warn("指定麦克风不可用,回退到默认设备:",nA),c.value="",(XA=Wg())==null||XA.removeItem("chat-sender-device-id"),SA.getUserMedia({audio:!0})}}async function J(){var SA,KA;if(!R()){if(A.value)Y();else{if(A.value=!0,(SA=t.onMenuOpen)==null||SA.call(t),await G(),u.value)return;await P()}(KA=t.onVoiceClick)==null||KA.call(t)}}function Y(){A.value=!1,n.value||X()}async function G(){var KA;const SA=k();if(!(SA!=null&&SA.getUserMedia)||!SA.enumerateDevices){b();return}try{const XA=await SA.getUserMedia({audio:!0}),sA=(await SA.enumerateDevices()).filter(dA=>dA.kind==="audioinput");if(g.value=sA.map((dA,me)=>({deviceId:dA.deviceId,label:dA.label||`麦克风 ${me+1}`,active:!1})),g.value.length>0){const dA=g.value.find(me=>me.deviceId===c.value);dA?dA.active=!0:(g.value[0].active=!0,c.value=g.value[0].deviceId,(KA=Wg())==null||KA.setItem("chat-sender-device-id",c.value))}n.value?he(XA):(Q=XA,z(XA)),S(),s.value=null}catch(XA){if(console.error("无法获取音频设备列表:",XA),b(),hC(XA)){F();return}s.value="无法获取麦克风列表,请检查浏览器权限"}}async function P(){if(Q||n.value||u.value)return;const SA=k();if(SA!=null&&SA.getUserMedia)try{const KA=await T(SA);Q=KA,z(KA),S(),s.value=null}catch(KA){if(console.error("无法开启音频监测:",KA),hC(KA)){F();return}s.value="无法访问麦克风,请检查浏览器权限"}}function z(SA){f||(f=new AudioContext),d||(d=f.createAnalyser(),d.fftSize=256),f.createMediaStreamSource(SA).connect(d),WA()}function X(){Q&&(he(Q),Q=null),MA(),f&&!n.value&&(f.close(),f=null,d=null),a.value=0}async function iA(){var SA;R()||r.value||(n.value?await ee(!1):await _A(),(SA=t.onVoiceRecord)==null||SA.call(t))}async function aA(){R()||!r.value||(o.value=!0,w(),y=setTimeout(()=>{y=null,!(!o.value||!r.value||n.value)&&_A()},v))}async function oA(){if(!r.value)return;w();const SA=o.value;o.value=!1,SA&&n.value&&await ee(!1)}function hA(){r.value&&o.value&&oA()}async function _A(){var KA;if(!h.value||u.value)return;const SA=k();if(!(SA!=null&&SA.getUserMedia)){s.value="当前浏览器不支持麦克风录音";return}try{Q&&(he(Q),Q=null);const XA=await T(SA);Q=XA,z(XA),PA(),typeof MediaRecorder<"u"&&(I=new MediaRecorder(XA),I.start()),n.value=!0,A.value&&Y(),S(),s.value=null,(KA=t.onVoiceStart)==null||KA.call(t)}catch(XA){if(console.error("无法访问麦克风:",XA),hC(XA)){F();return}s.value="无法访问麦克风,请检查浏览器权限"}}function PA(){const SA=window,KA=SA.SpeechRecognition??SA.webkitSpeechRecognition;if(!KA)return;const XA=new KA;p=XA,XA.lang="zh-CN",XA.continuous=!0,XA.interimResults=!0;let nA=t.draft.value;XA.onresult=sA=>{let dA="",me="";for(let Ze=sA.resultIndex;Ze<sA.results.length;Ze+=1){const wt=sA.results[Ze][0].transcript;sA.results[Ze].isFinal?me+=wt:dA+=wt}me?(nA+=me,t.draft.value=nA):dA&&(t.draft.value=nA+dA)},XA.onerror=sA=>{if(console.error("语音识别错误:",sA.error),sA.error==="not-allowed"){F(),ee(!1,!0);return}sA.error!=="no-speech"&&sA.error!=="aborted"&&(s.value=`语音识别失败:${sA.error}`)},XA.onend=()=>{if(n.value)try{XA.start()}catch{}};try{XA.start()}catch(sA){console.error("无法启动语音识别:",sA),p=null}}async function ee(SA=!1,KA=!1){var XA,nA,sA;if(n.value){if(n.value=!1,p==null||p.stop(),p=null,I==null||I.stop(),I=null,Q&&(he(Q),Q=null),MA(),a.value=0,SA&&!KA)t.draft.value="",(XA=t.onVoiceCancel)==null||XA.call(t);else if(!KA){const dA=t.draft.value.trim();dA&&((nA=t.onAudioTranscript)==null||nA.call(t,dA))}KA||(sA=t.onVoiceStop)==null||sA.call(t),A.value&&!u.value&&await P()}}function WA(){if(!d)return;const SA=new Uint8Array(d.frequencyBinCount);d.getByteFrequencyData(SA);const KA=SA.reduce((XA,nA)=>XA+nA,0)/SA.length;a.value=Math.min(100,KA/128*100),B=requestAnimationFrame(WA)}async function eA(SA){var XA,nA;const KA=g.value[SA];KA&&(g.value.forEach((sA,dA)=>{sA.active=dA===SA}),c.value=KA.deviceId,(XA=Wg())==null||XA.setItem("chat-sender-device-id",c.value),(nA=t.onAudioDeviceChange)==null||nA.call(t,SA),A.value&&!n.value&&(X(),await P()))}function yA(){var SA;r.value=!r.value,(SA=Wg())==null||SA.setItem("chat-sender-hold-to-record",String(r.value)),w(),o.value=!1,r.value&&n.value&&ee(!1,!0)}function MA(){B!==null&&(cancelAnimationFrame(B),B=null)}function he(SA){SA.getTracks().forEach(KA=>KA.stop())}return C.onMounted(()=>{N()}),C.onUnmounted(()=>{E&&(E.onchange=null),E=null,w(),o.value=!1,A.value=!1,n.value&&ee(!1,!0),p==null||p.stop(),p=null,MA(),Q&&he(Q),Q=null,f&&f.close(),f=null,d=null}),{showVoiceMenu:A,holdToRecord:r,isVoiceHovered:i,isRecording:n,audioLevel:a,isHoldingMic:o,voiceError:s,audioDevices:g,isSpeechSupported:h,isMicPermissionDenied:u,toggleVoiceMenu:J,closeVoiceMenu:Y,handleVoiceRecord:iA,handleMouseDown:aA,handleMouseUp:oA,handleMouseLeave:hA,selectAudioDevice:eA,toggleHoldToRecord:yA}}function Wg(){return typeof localStorage>"u"?void 0:localStorage}const Tu="data-mention-trigger-id",df="data-mention-id",f0="data-mention-label",kd="data-mention-char",fv="data-mention-custom",ZC="data-mention-mount-id",uc="chat-sender__mention";function Do(t){return!!t&&t.nodeType===Node.ELEMENT_NODE&&t.classList.contains(uc)}function ko(t){if(!t||t.nodeType!==Node.TEXT_NODE)return!1;const A=t.textContent??"";return A.length===0||A==="​"}function Bf(t){if(!t||t.nodeType!==Node.TEXT_NODE)return!1;const A=t.textContent??"";return A.length>0&&/^\s+$/.test(A)}function dhA(t,A){const e=A.cloneRange();e.collapse(!0);const{startContainer:r,startOffset:i}=e;if(r===t){if(i<=0)return!1;let n=i-1;for(;n>=0&&ko(t.childNodes[n]);)n-=1;if(n<0)return!1;const a=t.childNodes[n];if(Do(a))return!0;if(a.nodeType===Node.TEXT_NODE){const o=a.textContent??"";return o.length?!/\s/.test(o[o.length-1]):!0}return!0}if(r.nodeType===Node.TEXT_NODE&&t.contains(r)){if(i>0){const a=(r.textContent??"")[i-1];return a!==void 0&&!/\s/.test(a)}let n=r.previousSibling;for(;ko(n);)n=n.previousSibling;if(!n)return!1;if(Do(n))return!0;if(n.nodeType===Node.TEXT_NODE){const a=n.textContent??"";return a.length?!/\s/.test(a[a.length-1]):!0}return!0}return!1}function BhA(t,A){if(!A.collapsed)return null;const{startContainer:e,startOffset:r}=A;if(e===t){let i=r-1;for(;i>=0&&ko(t.childNodes[i]);)i-=1;for(;i>=0&&Bf(t.childNodes[i]);)i-=1;const n=t.childNodes[i];return Do(n)?n:null}if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){const i=e.textContent??"";if(r>0){if(r===i.length&&/^\s+$/.test(i)){let a=e.previousSibling;for(;ko(a);)a=a.previousSibling;return Do(a)?a:null}return null}let n=e.previousSibling;for(;ko(n)||Bf(n);)n=n.previousSibling;return Do(n)?n:null}return null}function QhA(t,A){if(!A.collapsed)return null;const{startContainer:e,startOffset:r}=A;if(e===t){let i=r;for(;i<t.childNodes.length&&ko(t.childNodes[i]);)i+=1;for(;i<t.childNodes.length&&Bf(t.childNodes[i]);)i+=1;const n=t.childNodes[i];return Do(n)?n:null}if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){const i=e.textContent??"";if(r<i.length){if(r===0&&/^\s+$/.test(i)){let a=e.nextSibling;for(;ko(a);)a=a.nextSibling;return Do(a)?a:null}return null}let n=e.nextSibling;for(;ko(n)||Bf(n);)n=n.nextSibling;return Do(n)?n:null}return null}function phA(t){return/\s/.test(t)}function EhA(t,A,e){const r=[];let i;if(A===t)i=e-1;else if(A.nodeType===Node.TEXT_NODE&&A.parentNode===t){const n=A;for(let a=e-1;a>=0;a-=1)r.push({node:n,offset:a});i=Array.prototype.indexOf.call(t.childNodes,n)-1}else return r;for(let n=i;n>=0;n-=1){const a=t.childNodes[n];if(a.nodeType!==Node.TEXT_NODE)break;const o=a;for(let s=o.length-1;s>=0;s-=1)r.push({node:o,offset:s})}return r}function vhA(t,A,e,r){if(t.length===0)return null;const i=EhA(A,e,r);for(const{node:n,offset:a}of i){const o=n.data[a];if(phA(o))return null;const s=t.find(g=>g.char===o);if(s){const g=document.createRange();return g.setStart(n,a),g.setEnd(e,r),{trigger:s,range:g}}}return null}function mR(t){let A="";return t.childNodes.forEach(e=>{if(e.nodeType===Node.TEXT_NODE)A+=e.textContent??"";else if(e.nodeType===Node.ELEMENT_NODE){const r=e;r.tagName==="BR"?A+=`
687
+ `;else if(n==="t")A+=" ";else if(n==="r")A+="\r";else if(n==='"'||n==="\\"||n==="/")A+=n;else if(n==="u"&&i+4<t.length){const a=t.slice(i+1,i+5);/^[0-9a-fA-F]{4}$/.test(a)?(A+=String.fromCharCode(Number.parseInt(a,16)),i+=4):A+="\\u"}else A+=`\\${n}`;r=!1;continue}if(n==="\\"){r=!0;continue}if(n==='"'){e=!1,A+=n;continue}A+=n}return r&&(A+="\\"),A}function ff(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const WuA={search:"检索资料",render_chart:"生成趋势图",render_mind_map:"生成思维导图",execute_code:"执行代码",get_deployment:"查询发布状态",read_private_document:"读取受限文档",calculate_retention:"计算留存率","open-generative-ui":"生成式界面",toggleTheme:"切换主题",pieChart:"生成饼图",barChart:"生成柱状图",plan_visualization:"生成执行计划",scheduleTime:"安排会议时间",ask_form:"询问用户","ask-form":"询问用户",ask_user_form:"询问用户",ask_user:"询问用户"};function zuA(t){return WuA[t]??t}function XuA(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function juA(t){if(t)try{return JSON.parse(t)}catch{return t}}function $uA(t){if(!t)return;const A=juA(t.content);return XuA(A)&&typeof A.error=="string"?"error":"success"}function A0A({toolState:t,toolMessage:A,streaming:e}){const r=$uA(A);return t?r&&(t.status==="running"||t.status==="pending")?r:t.status:r||(e?"running":"pending")}function fu(t,A={}){if(!t)return[];const e=new l8({registry:Kl});return e.push(t),A.isStreaming||e.finalize(),e.getNodes().filter(r=>r.kind==="component"&&r.tag==="ask-form"&&r.complete)}const wS=new Set(["ask_form","ask-form","ask_user_form","ask_user"]);function Dd(t){const A=t.trim().toLowerCase().replace(/-/g,"_");return wS.has(A)||wS.has(t)}function hR(t){var i;const A=(i=t.function.arguments)==null?void 0:i.trim();if(!A)return null;const e=T0(A);if(!e)return null;const r=e.mdoc;return typeof r!="string"||!r.trim()?null:Dd(t.function.name)||r.includes("ask-form")?r:null}function hv(t){if(!(t!=null&&t.length))return null;for(let A=t.length-1;A>=0;A-=1){const e=t[A],r=hR(e);if(r)return{mdoc:r,toolCallId:e.id}}return null}function e0A(t){return t!=null&&t.length?t.filter(A=>!Dd(A.function.name)):[]}const t0A=["data-tool-call-id","aria-label","aria-busy"],r0A={class:"tool-call-part__track"},i0A={class:"tool-call-part__icon-wrap"},n0A={class:"tool-call-part__content"},a0A=["aria-expanded"],o0A={class:"tool-call-part__name"},s0A={key:0,class:"tool-call-part__running-label"},g0A={key:1,class:"tool-call-part__summary"},l0A=["inert","aria-hidden"],c0A={key:0,class:"tool-call-part__section"},u0A={key:0,class:"tool-call-part__validation",role:"alert"},h0A={key:1,class:"tool-call-part__section"},C0A=["aria-expanded"],I0A={key:2,class:"tool-call-part__section"},f0A={key:3,class:"tool-call-part__section"},d0A={class:"tool-call-part__result-text"},B0A={key:4,class:"tool-call-part__error",role:"alert"},Q0A={key:5,class:"tool-call-part__actions"},p0A=["disabled"],E0A=["disabled"],v0A={key:6,class:"tool-call-part__actions"},m0A=["disabled"],y0A=["disabled"],w0A=160,D0A=C.defineComponent({name:"ToolCallPart",__name:"ToolCallPart",props:{toolCall:{},toolMessage:{},isStreaming:{type:Boolean},toolState:{},renderer:{},isFirst:{type:Boolean},isLast:{type:Boolean}},emits:["tool-action"],setup(t,{emit:A}){var WA;const e=t,r=A,i=cc(),n=C.ref(((WA=e.toolState)==null?void 0:WA.arguments)??e.toolCall.function.arguments),a=C.computed(()=>{var eA;return _A((eA=e.toolMessage)==null?void 0:eA.content)}),o=C.computed(()=>{var yA;if((yA=e.toolState)!=null&&yA.error)return e.toolState.error;const eA=a.value;return PA(eA)&&typeof eA.error=="string"?eA.error:void 0}),s=C.computed(()=>A0A({toolState:e.toolState,toolMessage:e.toolMessage,streaming:e.isStreaming})),g=C.computed(()=>e.renderer??i.toolRenderers.value[e.toolCall.function.name]??sR(e.toolCall.function.name)),l=C.computed(()=>n.value),c=C.computed(()=>d.value?"":hA(ee(a.value))),h=C.computed(()=>!d.value&&g.value!==void 0&&a.value!==void 0),u=C.computed(()=>{var eA;return((eA=e.toolState)==null?void 0:eA.isArgumentsEditable)===!0&&(s.value==="requires-approval"||s.value==="requires-action")}),I=C.computed(()=>{try{return JSON.parse(l.value),!0}catch{return!1}}),f=I,d=C.computed(()=>Dd(e.toolCall.function.name)||cR(l.value)),B=C.computed(()=>d.value?cv(l.value):quA(l.value)),Q=C.computed(()=>!u.value&&!d.value&&B.value.trim().length>0),p=C.computed(()=>zuA(e.toolCall.function.name)),E=C.computed(()=>({pending:"等待中","requires-approval":"等待审批",running:"执行中",success:"完成",error:"失败",denied:"已拒绝",cancelled:"已取消","requires-action":"需要操作"})[s.value]),v=C.computed(()=>({search:d6,render_chart:S6,render_mind_map:o6,execute_code:w6,get_deployment:Q6,read_private_document:e6,calculate_retention:X1,"open-generative-ui":c6,toggleTheme:g6,pieChart:M7,barChart:X1,plan_visualization:r6,scheduleTime:F7})[e.toolCall.function.name]??F6),y=C.computed(()=>{if(d.value)return cv(e.toolCall.function.arguments);const eA=T0(e.toolCall.function.arguments);if(eA)return Object.entries(eA).filter(([yA])=>yA!=="mdoc").map(([yA,MA])=>`${yA}: ${typeof MA=="string"?MA:JSON.stringify(MA)}`).join(" · ");try{const yA=JSON.parse(e.toolCall.function.arguments);return PA(yA)?Object.entries(yA).filter(([MA])=>MA!=="mdoc").map(([MA,he])=>`${MA}: ${typeof he=="string"?he:JSON.stringify(he)}`).join(" · "):""}catch{return e.toolCall.function.arguments}}),w=C.computed(()=>u.value||f.value||s.value!=="running"&&s.value!=="pending"?!1:l.value.trim().length>0),k=C.computed(()=>d.value||s.value!=="running"?"":w.value?"生成参数中":"执行中");function b(eA){return d.value?!1:["running","requires-approval","requires-action"].includes(eA)}const F=C.ref(b(s.value)),S=C.ref(!1),_=C.ref(!1),N=C.ref(null),R=C.ref(),T=C.ref(0);let J;function Y(){const eA=R.value;eA&&(T.value=eA.scrollHeight)}C.watch(R,eA=>{J==null||J.disconnect(),J=void 0,eA&&(Y(),typeof ResizeObserver<"u"&&(J=new ResizeObserver(Y),J.observe(eA)))},{immediate:!0,flush:"post"}),C.onBeforeUnmount(()=>J==null?void 0:J.disconnect());const G=C.computed(()=>({height:F.value?`${T.value}px`:"0px"})),P=C.ref();let z;function X(){const eA=P.value;if(!eA){_.value=!1;return}S.value||(_.value=eA.scrollHeight>w0A+1)}C.watch(P,eA=>{z==null||z.disconnect(),z=void 0,eA&&(X(),typeof ResizeObserver<"u"&&(z=new ResizeObserver(X),z.observe(eA)))},{immediate:!0,flush:"post"}),C.onBeforeUnmount(()=>z==null?void 0:z.disconnect());function iA(){F.value=!F.value}function aA(){S.value=!S.value,S.value||X()}function oA(eA){(eA==="approve"||eA==="submit-action")&&!I.value||(N.value=eA,r("tool-action",{action:eA,toolCall:e.toolCall,arguments:l.value}))}function hA(eA){if(eA===void 0||eA==="")return"";if(typeof eA=="string")try{return JSON.stringify(JSON.parse(eA),null,2)}catch{return eA}try{return JSON.stringify(eA,null,2)}catch{return String(eA)}}function _A(eA){if(eA)try{return JSON.parse(eA)}catch{return eA}}function PA(eA){return typeof eA=="object"&&eA!==null&&!Array.isArray(eA)}function ee(eA){if(!PA(eA)||!("mdoc"in eA))return eA;const yA={...eA};return delete yA.mdoc,yA}return C.watch(s,eA=>{F.value=b(eA),N.value=null,b(eA)||(S.value=!1)}),C.watch(d,eA=>{eA&&(F.value=!1,S.value=!1)}),C.watch(()=>{var eA;return[(eA=e.toolState)==null?void 0:eA.arguments,e.toolCall.function.arguments]},([eA,yA])=>{n.value=eA??yA}),(eA,yA)=>(C.openBlock(),C.createElementBlock("div",{class:C.normalizeClass(["tool-call-part",`tool-call-part--${s.value}`]),"data-tool-call-id":t.toolCall.id,"aria-label":`${p.value}:${E.value}`,"aria-busy":s.value==="pending"||s.value==="running"?"true":"false"},[C.createElementVNode("div",r0A,[C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__line tool-call-part__line--top",{"tool-call-part__line--visible":!t.isFirst}])},null,2),C.createElementVNode("div",i0A,[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(v.value),{class:C.normalizeClass(["tool-call-part__indicator",{"tool-call-part__indicator--running":s.value==="running"}]),size:16,"stroke-width":1.75,"aria-hidden":"true"},null,8,["class"]))]),C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__line tool-call-part__line--bottom",{"tool-call-part__line--visible":!t.isLast||F.value}])},null,2)]),C.createElementVNode("div",n0A,[C.createElementVNode("button",{type:"button",class:"tool-call-part__header","aria-expanded":F.value,"data-testid":"tool-call-header",onClick:iA},[C.createElementVNode("span",o0A,C.toDisplayString(p.value),1),k.value?(C.openBlock(),C.createElementBlock("span",s0A,C.toDisplayString(k.value),1)):y.value&&!F.value?(C.openBlock(),C.createElementBlock("span",g0A,C.toDisplayString(y.value),1)):C.createCommentVNode("",!0),C.createVNode(C.unref(Qv),{class:C.normalizeClass(["tool-call-part__chevron",{"tool-call-part__chevron--open":F.value}]),size:13,"stroke-width":1.75,"aria-hidden":"true"},null,8,["class"])],8,a0A),C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__body-wrapper",{"tool-call-part__body-wrapper--open":F.value}]),style:C.normalizeStyle(G.value),inert:!F.value,"aria-hidden":!F.value},[C.createElementVNode("div",{ref_key:"bodyContentRef",ref:R,class:"tool-call-part__body"},[u.value?(C.openBlock(),C.createElementBlock("div",c0A,[C.withDirectives(C.createElementVNode("textarea",{"onUpdate:modelValue":yA[0]||(yA[0]=MA=>n.value=MA),class:"tool-call-part__editor","aria-label":"工具参数 JSON",rows:"5"},null,512),[[C.vModelText,n.value]]),I.value?C.createCommentVNode("",!0):(C.openBlock(),C.createElementBlock("p",u0A," 参数必须是有效的 JSON "))])):Q.value?(C.openBlock(),C.createElementBlock("div",h0A,[C.createElementVNode("div",{class:C.normalizeClass(["tool-call-part__details-clamp",{"tool-call-part__details-clamp--fade":_.value&&!S.value,"tool-call-part__details-clamp--expanded":S.value}])},[C.createElementVNode("pre",{ref_key:"detailsPreRef",ref:P,class:C.normalizeClass(["tool-call-part__streaming-arguments",{"tool-call-part__streaming-arguments--streaming":w.value}])},C.toDisplayString(B.value),3)],2),_.value||S.value?(C.openBlock(),C.createElementBlock("button",{key:0,type:"button",class:"tool-call-part__more","aria-expanded":S.value,onClick:C.withModifiers(aA,["stop"])},C.toDisplayString(S.value?"收起":"展开更多"),9,C0A)):C.createCommentVNode("",!0)])):C.createCommentVNode("",!0),h.value?(C.openBlock(),C.createElementBlock("section",I0A,[(C.openBlock(),C.createBlock(C.resolveDynamicComponent(g.value),{"tool-call":t.toolCall,status:s.value,result:a.value,error:o.value,message:t.toolMessage,"is-streaming":t.isStreaming===!0},null,8,["tool-call","status","result","error","message","is-streaming"]))])):c.value?(C.openBlock(),C.createElementBlock("div",f0A,[C.createElementVNode("pre",d0A,C.toDisplayString(c.value),1)])):C.createCommentVNode("",!0),o.value?(C.openBlock(),C.createElementBlock("p",B0A,C.toDisplayString(o.value),1)):C.createCommentVNode("",!0),s.value==="requires-approval"?(C.openBlock(),C.createElementBlock("div",Q0A,[C.createElementVNode("button",{type:"button","data-testid":"tool-deny",disabled:N.value!==null,onClick:yA[1]||(yA[1]=MA=>oA("deny"))},C.toDisplayString(N.value==="deny"?"处理中…":"拒绝"),9,p0A),C.createElementVNode("button",{type:"button","data-testid":"tool-approve",disabled:N.value!==null||u.value&&!I.value,onClick:yA[2]||(yA[2]=MA=>oA("approve"))},C.toDisplayString(N.value==="approve"?"处理中…":"允许"),9,E0A)])):s.value==="requires-action"?(C.openBlock(),C.createElementBlock("div",v0A,[C.createElementVNode("button",{type:"button",disabled:N.value!==null,onClick:yA[3]||(yA[3]=MA=>oA("cancel"))},C.toDisplayString(N.value==="cancel"?"处理中…":"取消"),9,m0A),C.createElementVNode("button",{type:"button",disabled:N.value!==null||u.value&&!I.value,onClick:yA[4]||(yA[4]=MA=>oA("submit-action"))},C.toDisplayString(N.value==="submit-action"?"处理中…":"继续"),9,y0A)])):C.createCommentVNode("",!0)],512)],14,l0A)])],10,t0A))}}),CR=ve(D0A,[["__scopeId","data-v-28d0bc53"]]),k0A=C.defineComponent({__name:"ChatToolGroup",props:{toolCalls:{},toolMessages:{},toolStates:{},streaming:{type:Boolean}},emits:["tool-action"],setup(t,{emit:A}){const e=t,r=A,i=C.ref();function n(s,g){return s==null?void 0:s.find(l=>l.tool_call_id===g)}function a(){const s=i.value;if(!s)return;const g=Array.from(s.querySelectorAll(".tool-call-part__name"));if(!g.length)return;g.forEach(c=>c.style.removeProperty("min-width"));const l=Math.max(...g.map(c=>c.getBoundingClientRect().width));s.style.setProperty("--tool-name-col-width",`${Math.ceil(l)}px`)}function o(){C.nextTick(a)}return C.watch(()=>e.toolCalls.map(s=>s.function.name),o,{flush:"post"}),C.onMounted(()=>{o(),window.addEventListener("resize",o)}),C.onBeforeUnmount(()=>window.removeEventListener("resize",o)),(s,g)=>(C.openBlock(),C.createElementBlock("div",{ref_key:"groupRef",ref:i,class:"chat-tool-group",role:"group","aria-label":"工具调用"},[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(t.toolCalls,(l,c)=>C.renderSlot(s.$slots,"default",{key:l.id,toolCall:l,toolMessage:n(t.toolMessages,l.id),streaming:t.streaming===!0},()=>{var h;return[C.createVNode(CR,{"tool-call":l,"tool-message":n(t.toolMessages,l.id),"tool-state":(h=t.toolStates)==null?void 0:h[l.id],"is-streaming":t.streaming,"is-first":c===0,"is-last":c===t.toolCalls.length-1,onToolAction:g[0]||(g[0]=u=>r("tool-action",u))},null,8,["tool-call","tool-message","tool-state","is-streaming","is-first","is-last"])]},!0)),128))],512))}}),Cv=ve(k0A,[["__scopeId","data-v-a0cba0c3"]]),b0A={key:0,class:"input-content__text"},S0A={key:1,class:"input-content"},N0A={key:0,class:"input-content__text"},F0A=["href","aria-label"],x0A=["src","alt"],_0A={key:2,class:"input-content__reference"},M0A=["src"],R0A={key:4,class:"input-content__reference"},G0A=["src"],L0A={key:6,class:"input-content__reference"},T0A=["href"],Y0A={key:8,class:"input-content__reference"},U0A=576,J0A=C.defineComponent({name:"InputContentParts",__name:"InputContentParts",props:{content:{}},setup(t){function A(o){const s=o.image_url.url??"";return Ps(s,{width:U0A})}function e(o){return o.image_url.url??""}function r(o){return o.video_url.url??""}function i(o){return o.input_audio.url?o.input_audio.url:o.input_audio.data?`data:audio/${o.input_audio.format||"mpeg"};base64,${o.input_audio.data}`:""}function n(o){return o.file.file_url??""}function a(o){return o.type==="image_url"?o.image_url.file_id||"图片":o.type==="video_url"?o.video_url.file_id||"视频":o.type==="input_audio"?o.input_audio.file_id||"音频":o.type==="file"?o.file.filename||o.file.file_id||"文件":""}return(o,s)=>typeof t.content=="string"?(C.openBlock(),C.createElementBlock("span",b0A,C.toDisplayString(t.content),1)):(C.openBlock(),C.createElementBlock("span",S0A,[(C.openBlock(!0),C.createElementBlock(C.Fragment,null,C.renderList(t.content,(g,l)=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:l},[g.type==="text"?(C.openBlock(),C.createElementBlock("span",N0A,C.toDisplayString(g.text),1)):g.type==="image_url"&&e(g)?(C.openBlock(),C.createElementBlock("a",{key:1,class:"input-content__media-link",href:e(g),target:"_blank",rel:"noreferrer","aria-label":`打开${a(g)}`},[C.createElementVNode("img",{class:"input-content__image",src:A(g),alt:a(g)},null,8,x0A)],8,F0A)):g.type==="image_url"?(C.openBlock(),C.createElementBlock("span",_0A,C.toDisplayString(a(g)),1)):g.type==="video_url"&&r(g)?(C.openBlock(),C.createElementBlock("video",{key:3,class:"input-content__video",src:r(g),controls:"",preload:"metadata"},null,8,M0A)):g.type==="video_url"?(C.openBlock(),C.createElementBlock("span",R0A,C.toDisplayString(a(g)),1)):g.type==="input_audio"&&i(g)?(C.openBlock(),C.createElementBlock("audio",{key:5,class:"input-content__audio",src:i(g),controls:"",preload:"metadata"},null,8,G0A)):g.type==="input_audio"?(C.openBlock(),C.createElementBlock("span",L0A,C.toDisplayString(a(g)),1)):g.type==="file"&&n(g)?(C.openBlock(),C.createElementBlock("a",{key:7,class:"input-content__file",href:n(g),target:"_blank",rel:"noreferrer"},C.toDisplayString(a(g)),9,T0A)):g.type==="file"?(C.openBlock(),C.createElementBlock("span",Y0A,C.toDisplayString(a(g)),1)):C.createCommentVNode("",!0)],64))),128))]))}}),O0A=ve(J0A,[["__scopeId","data-v-4ed892a8"]]),H0A=["aria-label","aria-busy"],V0A={class:"conversation-message__inner"},Z0A={key:0,class:"conversation-message__mark conversation-message__mark--assistant","aria-hidden":"true"},q0A=["src"],K0A={class:"conversation-message__content"},P0A={key:1,class:"conversation-message__bubble"},W0A={key:2,class:"conversation-message__text"},z0A={key:1,class:"conversation-message__plain"},X0A={key:1,class:"conversation-message__mark conversation-message__mark--user","aria-hidden":"true"},j0A=["src"],$0A=C.defineComponent({name:"MessageBubble",__name:"MessageBubble",props:{message:{type:Object,required:!0},streaming:{type:Boolean,default:!1},toolMessages:{type:Array,default:()=>[]},theme:{type:Object,default:void 0},userAvatar:{type:String,default:void 0},assistantAvatar:{type:String,default:void 0},toolStates:{type:Object,default:()=>({})},followUps:{type:Array,default:void 0},showFollowUps:{type:Boolean,default:!0}},emits:["copy","action","attachment-preview","tool-action"],setup(t,{emit:A}){const e=t,r=A,i=C.useSlots(),n=C.computed(()=>e.message),a=C.computed(()=>e.message.role==="user"),o=C.computed(()=>e.message.role==="system"),s=C.computed(()=>e.message.role==="tool"),g=C.computed(()=>e.message.role==="assistant"),l=C.computed(()=>e.message.role==="assistant"?e.message:null),c=C.computed(()=>a.value?"用户消息":o.value?"系统消息":s.value?"工具消息":"AI 助手消息"),h=C.computed(()=>{var P;if(g.value)return sM((P=l.value)==null?void 0:P.content);const G=e.message.content;return typeof G=="string"?G:Array.isArray(G)?G.filter(z=>z.type==="text").map(z=>z.text).join(""):""}),u=C.computed(()=>{var G,P;return((P=(G=l.value)==null?void 0:G.reasoning_content)==null?void 0:P.trim())??""}),I=C.computed(()=>h.value),f=C.computed(()=>g.value&&!!u.value),d=C.computed(()=>{var G;return((G=l.value)==null?void 0:G.steps)??[]}),B=C.computed(()=>{if(e.message.role!=="user"&&e.message.role!=="system")return!1;const G=e.message.content;return typeof G=="string"?G.trim().length>0:G.some(P=>P.type==="text"?P.text.trim().length>0:!0)}),Q=C.computed(()=>a.value||o.value?B.value:!!I.value.trim()),p=C.computed(()=>I.value),E=C.computed(()=>{var G,P;return g.value&&e.streaming&&!Q.value&&!f.value&&!((P=(G=l.value)==null?void 0:G.tool_calls)!=null&&P.length)}),v=C.computed(()=>f.value||E.value),y=C.computed(()=>g.value&&!e.streaming&&p.value.trim().length>0),w=C.computed(()=>!g.value||!e.showFollowUps||e.streaming?[]:e.followUps??[]),k=C.computed(()=>w.value.length>0);function b(G){r("action",{type:"submit",value:G,label:G,source:"follow-up"})}const F=C.computed(()=>g.value&&(!!e.assistantAvatar||!!i["assistant-avatar"])),S=C.computed(()=>a.value&&(!!e.userAvatar||!!i["user-avatar"])),_=C.computed(()=>{var G;return((G=l.value)==null?void 0:G.tool_calls)??[]}),N=C.computed(()=>{const G=[];for(const P of d.value){if(P.type==="reasoning"){G.push(P);continue}P.tool_calls.length>0&&G.push(P)}return G}),R=C.computed(()=>N.value.length>0),T=C.computed(()=>e.message.role==="user"||e.message.role==="system"?e.message.content:""),J=C.computed(()=>e.message.role==="user"?e.message.resource_files??[]:[]),Y=C.computed(()=>!a.value||Q.value);return(G,P)=>(C.openBlock(),C.createElementBlock("article",{class:C.normalizeClass(["conversation-message",{"conversation-message--user":a.value,"conversation-message--system":o.value,"conversation-message--assistant":g.value,"conversation-message--tool":s.value,"conversation-message--text-only":Q.value||v.value,"conversation-message--streaming":t.streaming,"conversation-message--loading":E.value,"conversation-message--with-avatar":F.value||S.value}]),"aria-label":c.value,"aria-busy":t.streaming?"true":void 0},[C.createElementVNode("div",V0A,[F.value?(C.openBlock(),C.createElementBlock("span",Z0A,[C.renderSlot(G.$slots,"assistant-avatar",{},()=>[t.assistantAvatar?(C.openBlock(),C.createElementBlock("img",{key:0,class:"conversation-message__mark-img",src:t.assistantAvatar,alt:""},null,8,q0A)):C.createCommentVNode("",!0)],!0)])):C.createCommentVNode("",!0),C.createElementVNode("div",K0A,[J.value.length?(C.openBlock(),C.createBlock(g3,{key:0,class:"conversation-message__attachments",resources:J.value,onPreview:P[0]||(P[0]=z=>r("attachment-preview",z))},null,8,["resources"])):C.createCommentVNode("",!0),Y.value?(C.openBlock(),C.createElementBlock("div",P0A,[R.value?(C.openBlock(!0),C.createElementBlock(C.Fragment,{key:0},C.renderList(N.value,(z,X)=>(C.openBlock(),C.createElementBlock(C.Fragment,{key:`step-${X}`},[z.type==="reasoning"?(C.openBlock(),C.createBlock(ev,{key:0,class:"conversation-message__reasoning",content:z.content,streaming:t.streaming&&X===N.value.length-1},null,8,["content","streaming"])):(C.openBlock(),C.createBlock(Cv,{key:1,class:"conversation-message__tools","tool-calls":z.tool_calls,"tool-messages":t.toolMessages,"tool-states":t.toolStates,streaming:t.streaming&&X===N.value.length-1,onToolAction:P[1]||(P[1]=iA=>r("tool-action",iA))},C.createSlots({_:2},[G.$slots.tool?{name:"default",fn:C.withCtx(iA=>[C.renderSlot(G.$slots,"tool",C.mergeProps({ref_for:!0},iA),void 0,!0)]),key:"0"}:void 0]),1032,["tool-calls","tool-messages","tool-states","streaming"]))],64))),128)):(C.openBlock(),C.createElementBlock(C.Fragment,{key:1},[v.value?(C.openBlock(),C.createBlock(ev,{key:0,class:"conversation-message__reasoning",content:u.value,streaming:t.streaming,"data-testid":E.value?"conversation-streaming-indicator":void 0},null,8,["content","streaming","data-testid"])):C.createCommentVNode("",!0),_.value.length?(C.openBlock(),C.createBlock(Cv,{key:1,class:"conversation-message__tools","tool-calls":_.value,"tool-messages":t.toolMessages,"tool-states":t.toolStates,streaming:t.streaming,onToolAction:P[2]||(P[2]=z=>r("tool-action",z))},C.createSlots({_:2},[G.$slots.tool?{name:"default",fn:C.withCtx(z=>[C.renderSlot(G.$slots,"tool",C.normalizeProps(C.guardReactiveProps(z)),void 0,!0)]),key:"0"}:void 0]),1032,["tool-calls","tool-messages","tool-states","streaming"])):C.createCommentVNode("",!0)],64)),Q.value||!a.value&&G.$slots.content?(C.openBlock(),C.createElementBlock("div",W0A,[C.renderSlot(G.$slots,"content",{message:n.value,content:I.value,isStreaming:t.streaming},()=>[a.value||o.value?(C.openBlock(),C.createBlock(O0A,{key:0,content:T.value},null,8,["content"])):s.value?(C.openBlock(),C.createElementBlock("span",z0A,C.toDisplayString(I.value),1)):(C.openBlock(),C.createBlock(Q1,{key:2,content:I.value,"is-streaming":t.streaming,"highlight-stream-tail":t.streaming&&Q.value,onAction:P[3]||(P[3]=z=>r("action",z))},null,8,["content","is-streaming","highlight-stream-tail"]))],!0)])):C.createCommentVNode("",!0)])):C.createCommentVNode("",!0),y.value&&l.value?(C.openBlock(),C.createBlock(A3,{key:2,message:l.value,text:p.value,onCopy:P[4]||(P[4]=z=>r("copy",z))},C.createSlots({_:2},[G.$slots.actionbar?{name:"default",fn:C.withCtx(z=>[C.renderSlot(G.$slots,"actionbar",C.normalizeProps(C.guardReactiveProps(z)),void 0,!0)]),key:"0"}:void 0]),1032,["message","text"])):C.createCommentVNode("",!0),k.value?(C.openBlock(),C.createBlock(l3,{key:3,questions:w.value,onSelect:b},null,8,["questions"])):C.createCommentVNode("",!0)]),S.value?(C.openBlock(),C.createElementBlock("span",X0A,[C.renderSlot(G.$slots,"user-avatar",{},()=>[t.userAvatar?(C.openBlock(),C.createElementBlock("img",{key:0,class:"conversation-message__mark-img",src:t.userAvatar,alt:""},null,8,j0A)):C.createCommentVNode("",!0)],!0)])):C.createCommentVNode("",!0)])],10,H0A))}}),IR=ve($0A,[["__scopeId","data-v-63cef8e8"]]),fR=C.defineComponent({name:"ChatMessage",__name:"ChatMessage",props:{message:{type:Object,required:!0},streaming:{type:Boolean,default:!1},toolMessages:{type:Array,default:()=>[]},theme:{type:Object,default:void 0},userAvatar:{type:String,default:void 0},assistantAvatar:{type:String,default:void 0},toolStates:{type:Object,default:()=>({})},followUps:{type:Array,default:void 0},showFollowUps:{type:Boolean,default:!0}},emits:["copy","action","attachment-preview","tool-action"],setup(t,{emit:A}){const e=t,r=A;return(i,n)=>(C.openBlock(),C.createBlock(IR,C.mergeProps(e,{onCopy:n[0]||(n[0]=a=>r("copy",a)),onAction:n[1]||(n[1]=a=>r("action",a)),onAttachmentPreview:n[2]||(n[2]=a=>r("attachment-preview",a)),onToolAction:n[3]||(n[3]=a=>r("tool-action",a))}),C.createSlots({_:2},[i.$slots["user-avatar"]?{name:"user-avatar",fn:C.withCtx(()=>[C.renderSlot(i.$slots,"user-avatar")]),key:"0"}:void 0,i.$slots["assistant-avatar"]?{name:"assistant-avatar",fn:C.withCtx(()=>[C.renderSlot(i.$slots,"assistant-avatar")]),key:"1"}:void 0,i.$slots.content?{name:"content",fn:C.withCtx(a=>[C.renderSlot(i.$slots,"content",C.normalizeProps(C.guardReactiveProps(a)))]),key:"2"}:void 0,i.$slots.actionbar?{name:"actionbar",fn:C.withCtx(a=>[C.renderSlot(i.$slots,"actionbar",C.normalizeProps(C.guardReactiveProps(a)))]),key:"3"}:void 0,i.$slots.tool?{name:"tool",fn:C.withCtx(a=>[C.renderSlot(i.$slots,"tool",C.normalizeProps(C.guardReactiveProps(a)))]),key:"4"}:void 0]),1040))}}),AhA="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAEkUlEQVR4AeycAW6cQAxFQ0/WnCzJyZKebGtHuKrQJrBhzPj7/wo0u0AH+78HykYbfj3pH3UCEoAa/9OTBJAA5AmQt687gAQgT4C8fd0BJAB5AqTtR9u6A0QSpKMEIAUfbUuASIJ0lACk4KNtCRBJkI4SgBR8tC0BIgnSUQKQgd+2KwG2iZC9lwBkwLftSoBtImTvJQAZ8G27EmCbCNl7CUAGfNuuBNgmQvaeWoDb7fbb1ldbf3fn/lV/lAIYcId+s1DebX2x9d22+fJqr6kWOgGMckC/B/rF9lNJQCWAwXX4e7d7KgloBDgIP+4KNBJQCPAgfCoJ2gvwQ/g0ErQW4CR8CgnaCjAIPrwE0cBXY0sBBsOP7Fr+YNhOgCT4bSVoJUAy/JYStBHgIvjtJGghwMXwW0kAL8Ak+G0kgBZgMvwWEsAKUAR+WQmisL0RUoBi8CNjyN8TwAlQFD6sBFACnIT/FpQOjB92zCPH2+H/Fqg7AYwAZ+Evy/LQN33W49tLACHA1fDjWmaQoLwAs+CzSFBagNnwGSQoK0AV+GgSRL1Hx5ICVIMfYXb8maCcAFXhd5WglADV4XeUoIwAKPC7SVBCADT4nSSYLgAq/C4STBUAHX4HCaYJ0AV+FQmijkfHKQJ0gx+hI/6e4HIBusJHleBSAbrDR5TgMgFY4KNJcIkAbPCRJEgXgBU+igSpArDDR5AgTQCD79/B23sgU2S0Hd/Wj1Tb7bDv137OfMfwbpZnA0kRwOB7sf78vZ/U1w5+hHBSAn/CWUw1bEwRwKpzAWx4eGkLP5I4I8F6YcVUQ8YsAX5SXHv4EcoZCWKOUWMVAWjgB7gqEmQJ4H9ZE73ujXTwI5BHJbDjH8k1TvPtmCLAWuiRYmnhBxXLyj8tHfl0cOSYmPbwmCKAn90ae7bxu6Kf7Rhv3g7jXtYcvssq7UJJE8CR/tdYNOd3BW/Gdi3+2g/TaglYIH4xxEXj2cR690Kx/zJkSRXAK/TG1tWGJbUZPx/yuizLh62vtnpOsboIaW2lC5BWuSYekoAEGBIj7iQSAJfdkMolwJAYcSeRALjshlQuAYbEiDuJBABjN7pcCTA6UbD5JAAYsNHlSoDRiYLNJwHAgI0uVwKMThRsPgkABmx0uRJgdKJg80kAEGBZZUqArGRB5pUAIKCyypQAWcmCzCsBQEBllSkBspIFmVcCgIDKKlMCZCULMq8EKA4quzwJkJ1w8fklQHFA2eVJgOyEi88vAYoDyi5PAmQnXHx+CVAcUHZ5EiA74eLzS4CigK4qSwJclXTR80iAomCuKksC3E/6z/3N/bayCZD6uBVEPdgEOMqIRhQqAfzhSwcM8KeYSYADQaEeEo+su1f/51O67u3ouo3qDuAQ7S7gj2Fb7LWL4Fd6rJ+PZbPtU5erT04nQAS8ivAJ3V776CLEbpqRVgAawjuNSoCdgLrvlgDdCe/0JwF2Auq+WwJ0J7zTnwTYCaj7bglQhPCsMiTArOSLnFcCFAExqwwJMCv5IueVAEVAzCpDAsxKvsh5JUARELPKkACzki9yXgkwGcTs0/8FAAD//wp1l3UAAAAGSURBVAMAxMyyEBy8oUUAAAAASUVORK5CYII=",ehA=["width","height"],dR=C.defineComponent({__name:"ChatSenderAppendIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1862.0 -548.0)"><g><g transform="translate(1861.9959141981599 548.0)"><g transform="translate(3.0 3.5)"><g transform="translate(0.0 8.357142857143003)"><path d="M0,0.642857143 L18,0.642857143" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g><g transform="translate(8.357142857144026 0.0)"><path d="M0.642857143,18 L0.642857143,0" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g>',1)])],8,ehA))}}),thA=["width","height"],Iv=C.defineComponent({__name:"ChatSenderMicIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 25 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1928.0 -601.0)"><g><g transform="translate(1898.0 594.0)"><g transform="translate(30.0 7.0)"><g transform="translate(0.375 0.0)"><g transform="translate(5.659200989204692 12.57531220702094)"><path d="M0,0 C0.229204017,0.762048065 0.57649942,1.46898985 1.01932986,2.09713112 C2.26092584,3.8582966 4.25353634,5 6.5,5 C8.74646366,5 10.7390742,3.8582966 11.9806701,2.09713112 C12.4235006,1.46898985 12.770796,0.762048065 13,0" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path><g transform="translate(5.0 8.0)"><path d="M0,0.05 L3,0.05" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g></g><g transform="translate(9.0 3.0)"><path d="M3,10 C4.65007031,10 6,8.59370804 6,6.87501526 L6,3.12498474 C6,1.40629196 4.65007031,0 3,0 C1.35004688,0 0,1.40629196 0,3.12498474 L0,6.87501526 C0,8.59370804 1.35004688,10 3,10 Z" stroke="#333333" stroke-width="2" fill="none" stroke-miterlimit="10"></path></g></g></g></g></g></g>',1)])],8,thA))}}),rhA=["width","height"],VC=C.defineComponent({__name:"ChatSenderMicOffIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1928.0 -549.0)"><g><g transform="translate(1928.0 549.0)"><g transform="translate(3.377038325590547 4.575312207019124)"><g transform="translate(3.2821626636141445 8.000000000001819)"><path d="M0,0 C0.229204017,0.762048065 0.57649942,1.46898985 1.01932986,2.09713112 C1.92019171,3.37497578 3.21642394,4.32670563 4.71812388,4.75283811 M9.37965997,4.33144808 C10.4144641,3.82399514 11.30784,3.05151991 11.9806701,2.09713112 C12.4235006,1.46898985 12.770796,0.762048065 13,0" stroke="#999999" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g><path d="M0,0 L17.2479617,17.2479617" stroke="#979797" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path><g transform="translate(8.282162663614145 16.00000000000182)"><path d="M0,0.05 L3,0.05" stroke="#999999" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g></g><g transform="translate(10.0 2.999999999996362)"><path d="M2.82440307,9.99466861 C1.25522799,9.8991521 1.4551027e-11,8.53232615 1.4551027e-11,6.87501526 L1.45519152e-11,3.12498474 C1.45519152e-11,1.40629196 1.34992969,0 3,0 L3.17559693,0.0053313882 C4.74477201,0.100847896 6,1.46767385 6,3.12498474 L6,6.87501526 C6,8.59370804 4.64995313,10 3,10 Z" stroke="#999999" stroke-width="2" fill="none" stroke-linecap="round" stroke-miterlimit="10"></path></g></g></g></g>',1)])],8,rhA))}}),ihA=["width","height"],BR=C.defineComponent({__name:"ChatSenderMoreIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 16 17",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-1902.0 -604.0)"><g><g transform="translate(1898.0 594.0)"><g transform="translate(4.0 10.5)"><g transform="translate(11.375 6.5) rotate(90.00000000000001)"><path d="M0,0 L3,3 L0,6" stroke="#969696" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g>',1)])],8,ihA))}}),nhA=["width","height"],QR=C.defineComponent({__name:"ChatSenderCheckIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createElementVNode("g",{transform:"translate(-2076.0 -552.0)"},[C.createElementVNode("g",null,[C.createElementVNode("g",{transform:"translate(2076.0 552.0)"},[C.createElementVNode("g",{transform:"translate(2.000000000000007 4.0)"},[C.createElementVNode("path",{d:"M0,4 L4.27639723,8 L12.2763972,0",stroke:"#2C69F3","stroke-width":"2",fill:"none","stroke-linecap":"round","stroke-linejoin":"round"})])])])],-1)])],8,nhA))}}),ahA=["width","height"],pR=C.defineComponent({__name:"ChatSenderClickIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createElementVNode("g",{transform:"translate(-2033.0 -549.0)"},[C.createElementVNode("g",null,[C.createElementVNode("g",{transform:"translate(2033.0 549.0)"},[C.createElementVNode("g",{transform:"translate(3 2)"},[C.createElementVNode("path",{d:"M6.61668011,2.02458201 C7.7003286,2.02458201 8.51458579,2.88305563 8.51458579,3.94300909 L8.51458579,5.88861581 C8.79114952,5.74311713 9.10410672,5.66003482 9.44030791,5.66003482 C10.3034439,5.66003482 10.9729508,6.2046739 11.2363119,6.96073341 C11.5369431,6.77732973 11.9008512,6.66981452 12.2813621,6.66981452 C13.1437808,6.66981452 13.8132877,7.21447976 14.0767551,7.97053926 C14.37728,7.78700479 14.68952,7.67951574 15.0701371,7.67951574 L15.121699,7.67951574 C16.2060647,7.67951574 16.9992828,8.5388003 17,9.59864913 L17,13.4363142 C17,17.0610417 16.4877023,20 10.9561619,20 C8.53493425,20 7.3895497,19.5248142 6.39037655,18.7221647 C6.25930696,18.644105 6.13487852,18.5516053 6.02208535,18.4412649 L0.540752061,13.0793951 C-0.393656674,12.1585051 0.0342719774,10.8656544 0.687069711,10.2229175 C1.33989401,9.58004978 2.69633406,9.47326704 3.46266877,10.2229175 L4.65401002,11.3916941 L4.65401002,3.94300909 C4.65401002,2.88376193 5.53303163,2.02458201 6.61668011,2.02458201 Z M6.61739736,3.23639089 C6.10366515,3.23639089 5.68734521,3.64340528 5.68734521,4.14514292 L5.68734521,13.8297257 C5.68734521,13.8297257 5.1655905,13.319434 4.57245679,12.7383025 C4.48988013,12.6574258 4.40590857,12.5751926 4.32175075,12.4927847 L4.06992715,12.2462181 C3.44501444,11.6343992 2.87761068,11.0792199 2.87761068,11.0792199 C2.51441989,10.7245243 1.82448489,10.7374209 1.44904783,11.1072105 C1.0735045,11.4776278 0.957815804,12.0552801 1.41698439,12.5074718 L6.60578864,17.5834191 C7.56854177,18.5251582 8.83917827,18.9894878 10.9554181,18.9894878 C15.766303,18.9894878 15.9580322,16.6835877 15.9656351,13.7738278 L15.9659476,13.4355033 L15.9680462,9.71974107 C15.9680462,8.77525528 15.0678526,8.81111985 15.0678526,8.81111985 C14.5540938,8.81111985 14.1712984,9.21810807 14.1712984,9.71974107 L14.1712984,11.71921 L14.1618414,11.71921 C14.167659,11.7521971 14.1712984,11.7858381 14.1712984,11.8202639 C14.1712984,12.0997511 13.9529642,12.3254807 13.6677138,12.3254807 C13.3824635,12.3254807 13.1510595,12.0990186 13.1510595,11.8207871 C13.1510595,11.7848179 13.1546723,11.7497642 13.1612072,11.71921 L13.1510595,11.71921 L13.1510595,8.79027079 C13.1510595,7.93896485 12.2224419,7.88164956 12.2224419,7.88164956 C11.7086831,7.88164956 11.343314,8.28863779 11.343314,8.79027079 L11.343314,11.1129394 L11.3331398,11.1129394 C11.3396746,11.1458479 11.343314,11.1795674 11.343314,11.2138886 C11.343314,11.4934804 11.11191,11.71921 10.8266597,11.71921 C10.5413828,11.71921 10.3098725,11.4927741 10.3098725,11.2145164 C10.3098725,11.1785472 10.3136181,11.1434936 10.320153,11.1129394 L10.3098725,11.1129394 L10.3098725,7.78056957 C10.3098725,6.85967957 9.40024854,6.8718437 9.40024854,6.8718437 C8.88648976,6.8718437 8.5153296,7.27893657 8.5153296,7.78056957 L8.5153296,10.3052673 L8.50515537,10.3052673 C8.51169025,10.3382805 8.5153296,10.372 8.5153296,10.4063212 C8.5153296,10.6858084 8.28392563,10.911538 7.99867528,10.911538 C7.71339837,10.911538 7.48188815,10.6851021 7.48188815,10.4068444 C7.48188815,10.3709798 7.48563375,10.3358215 7.49216864,10.3052673 L7.48188815,10.3052673 L7.48188815,4.14514292 C7.48188815,3.64340528 7.13115613,3.23639089 6.61739736,3.23639089 Z M6.58836228,0 C8.78897123,0 10.5734462,1.75715427 10.5734462,3.92430511 C10.5734462,4.28839189 10.5174215,4.63879729 10.422772,4.97272227 C10.1782982,4.7283933 9.84281427,4.5764594 9.4709103,4.5621502 C9.51824836,4.35645869 9.54449415,4.14289321 9.54449415,3.9235988 C9.54449415,2.31539626 8.22072852,1.01192477 6.58761848,1.01192477 C4.95453499,1.01192477 3.63087562,2.31539626 3.63087562,3.9235988 C3.63087562,4.34500087 3.72395787,4.74558004 3.88770188,5.10752175 L3.88770188,6.8037769 C3.09884042,6.08706116 2.60253457,5.0637832 2.60325103,3.92430511 C2.60325103,1.75715427 4.38764708,0 6.58836228,0 Z",fill:"#999999"})])])])],-1)])],8,ahA))}}),ohA=["width","height"],ER=C.defineComponent({__name:"ChatSenderLinkIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 25 25",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<g transform="translate(-2057.0 -751.0)"><g><g transform="translate(2057.0 751.0)"><g transform="translate(2.9540584539816095 8.40380592228744) rotate(-44.99999999999999)"><path d="M0,5.88235294 L0,3.52941176 C0,1.58017147 1.56700338,0 3.5,0 C5.43299662,0 7,1.58017147 7,3.52941176 L7,8.23529412 C7,10.1845344 5.43299662,11.7647059 3.5,11.7647059" stroke="#000000" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path><g transform="translate(0.0 8.235294117647062)"><path d="M7,5.88235294 C7,6.40522876 7,7.18954248 7,8.23529412 C7,10.1845344 5.43299662,11.7647059 3.5,11.7647059 C1.56700338,11.7647059 0,10.1845344 0,8.23529412 L0,3.52941176 C0,1.58017147 1.56700338,0 3.5,0" stroke="#000000" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></g></g></g></g></g>',1)])],8,ohA))}}),shA=["width","height"],ghA=C.defineComponent({__name:"ChatSenderAtIcon",props:{size:{default:18}},setup(t){return(A,e)=>(C.openBlock(),C.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",width:t.size,height:t.size,viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[...e[0]||(e[0]=[C.createStaticVNode('<defs><clipPath id="chat-sender-at-clip"><path d="M24,0 L24,24 L0,24 L0,0 L24,0 Z"></path></clipPath></defs><g transform="translate(-1814.0 -549.0)"><g><g transform="translate(1808.0 542.0)"><g transform="translate(6.0 7.0)"><g clip-path="url(#chat-sender-at-clip)"><g transform="translate(1.0 -7.0)"><text transform="translate(0.0 28.0)" font-family="PingFang SC, -apple-system, BlinkMacSystemFont, sans-serif" font-size="26.0" font-weight="400" fill="#333333" text-anchor="left"> @ </text></g></g></g></g></g></g>',2)])],8,shA))}});async function G1(t,A,e){var h,u;const r=sg(t.name);if(!r)throw new Error("文件缺少扩展名");const i=new URLSearchParams({bucketType:Yu(t)==="video"?"52":"51",fileType:r});(h=A.dir)!=null&&h.trim()&&i.set("dir",A.dir.trim());const n=await((u=A.credentialHeaders)==null?void 0:u.call(A)),a=A.cloudBaseUrl.replace(/\/+$/,""),o=await fetch(`${a}/common/file/getToken?${i.toString()}`,{method:"GET",credentials:"include",headers:n,signal:e});if(!o.ok)throw new Error(`获取上传凭证失败:HTTP ${o.status}`);const s=await o.json();if(!ep(s)||s.status!==1||!ep(s.result)){const I=ep(s)&&typeof s.message=="string"?s.message:"";throw new Error(I||"获取上传凭证失败")}const{uptoken:g,fileKey:l,uploadUrl:c}=s.result;if(![g,l,c].every(I=>typeof I=="string"&&I.trim()))throw new Error("上传凭证响应不完整");return{uptoken:g,fileKey:l,uploadUrl:c}}function L1(t,A,e={}){return new Promise((r,i)=>{var l,c;if((l=e.signal)!=null&&l.aborted){i(DS());return}const n=new XMLHttpRequest,a=()=>{var h;return(h=e.signal)==null?void 0:h.removeEventListener("abort",s)},o=h=>{a(),i(h)},s=()=>n.abort();n.open("POST",A.uploadUrl),n.upload.onprogress=h=>{var u;!h.lengthComputable||h.total<=0||(u=e.onProgress)==null||u.call(e,Math.round(h.loaded/h.total*100))},n.onload=()=>{if(n.status<200||n.status>=300){o(new Error(`文件上传失败:HTTP ${n.status}`));return}try{const h=JSON.parse(n.responseText),u=pv(h);a(),r(u)}catch(h){o(h instanceof Error?h:new Error("上传响应无法解析"))}},n.onerror=()=>o(new Error("文件上传失败,请检查网络后重试")),n.onabort=()=>o(DS()),(c=e.signal)==null||c.addEventListener("abort",s,{once:!0});const g=new FormData;g.append("token",A.uptoken),g.append("key",A.fileKey),g.append("file",t,t.name),n.send(g)})}async function lhA(t,A,e={}){const r=await G1(t,A,e.signal);return L1(t,r,e)}function DS(){if(typeof DOMException=="function")return new DOMException("上传已取消","AbortError");const t=new Error("上传已取消");return t.name="AbortError",t}function ep(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}let kS=0;function vR(t){const A=new Map,e=new Map,r=t.upload??chA;function i(c,h){const u=t.getAttachments(),I=u.findIndex(d=>d.id===c);if(I<0)return;const f=[...u];f[I]=h,t.setAttachments(f)}async function n(c,h,u){var d,B;const I=t.getUploadConfig();if(!(I!=null&&I.cloudBaseUrl)){const Q={code:"missing_config",message:"未配置文件上传服务"};i(c,{id:c,status:"error",file:h,progress:0,previewUrl:u,error:Q}),(d=t.onError)==null||d.call(t,Q,h);return}const f=new AbortController;A.set(c,f),i(c,{id:c,status:"uploading",file:h,progress:0,previewUrl:u});try{const Q=await r(h,{config:I,signal:f.signal,onProgress(E){const v=t.getAttachments().find(y=>y.id===c);!v||v.status!=="uploading"||i(c,{...v,progress:E})}});if(f.signal.aborted)return;const p=pv(Q);i(c,{id:c,status:"uploaded",previewUrl:u??p.url,uploadResult:p,resource:n3(p)})}catch(Q){if(f.signal.aborted||ChA(Q))return;const p={code:Q instanceof Error&&Q.message.includes("元数据")?"invalid_response":"upload_error",message:Q instanceof Error?Q.message:"文件上传失败"};i(c,{id:c,status:"error",file:h,progress:0,previewUrl:u,error:p}),(B=t.onError)==null||B.call(t,p,h)}finally{A.delete(c)}}async function a(c){var B,Q,p,E;const h=t.getAttachments(),u=((B=t.getLimits)==null?void 0:B.call(t))??B0,I=new Set;for(const v of h)v.status!=="uploaded"&&I.add(gp(v.file));for(const v of e.values())I.add(v);const f=Math.max(0,u.maxFiles-h.length),d=[];for(const v of c){if(d.length>=f){(Q=t.onError)==null||Q.call(t,{code:"too_many_files",message:`每条消息最多上传 ${u.maxFiles} 个文件`},v);continue}const y=i3(v,u);if(y){(p=t.onError)==null||p.call(t,y,v);continue}const w=gp(v);if(I.has(w)){(E=t.onError)==null||E.call(t,{code:"duplicate_file",message:"请勿重复添加同一文件"},v);continue}I.add(w);const k=uhA();e.set(k,w),d.push({id:k,file:v,previewUrl:hhA(v)})}d.length!==0&&(t.setAttachments([...h,...d.map(({id:v,file:y,previewUrl:w})=>({id:v,status:"uploading",file:y,progress:0,previewUrl:w}))]),await Promise.all(d.map(({id:v,file:y,previewUrl:w})=>n(v,y,w))))}async function o(c){const h=t.getAttachments().find(u=>u.id===c);!h||h.status!=="error"||await n(c,h.file,h.previewUrl)}function s(c){var I;(I=A.get(c))==null||I.abort(),A.delete(c);const h=t.getAttachments(),u=h.find(f=>f.id===c);tp(u==null?void 0:u.previewUrl),e.delete(c),t.setAttachments(h.filter(f=>f.id!==c))}function g(){for(const c of A.values())c.abort();A.clear();for(const c of t.getAttachments())tp(c.previewUrl);e.clear()}function l(){for(const c of A.values())c.abort();A.clear();for(const c of t.getAttachments())tp(c.previewUrl);e.clear(),t.setAttachments([])}return{addFiles:a,retry:o,remove:s,clear:l,dispose:g}}async function chA(t,{config:A,signal:e,onProgress:r}){const i=await G1(t,A,e);return L1(t,i,{signal:e,onProgress:r})}function uhA(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():(kS+=1,`chat-attachment-${kS}`)}function hhA(t){if(!(!t.type.startsWith("image/")||typeof URL.createObjectURL!="function"))return URL.createObjectURL(t)}function tp(t){t!=null&&t.startsWith("blob:")&&typeof URL.revokeObjectURL=="function"&&URL.revokeObjectURL(t)}function ChA(t){return t instanceof DOMException&&t.name==="AbortError"}function IhA(){if(typeof window>"u")return!1;const t=window;return!!(t.SpeechRecognition??t.webkitSpeechRecognition)}function hC(t){if(!t||typeof t!="object")return!1;const A="name"in t?String(t.name):"";return A==="NotAllowedError"||A==="PermissionDeniedError"}function fhA(t){var Ce,xe;const A=C.ref(!1),e=((Ce=Wg())==null?void 0:Ce.getItem("chat-sender-hold-to-record"))??null,r=C.ref(e==="true"),i=C.ref(!1),n=C.ref(!1),a=C.ref(0),o=C.ref(!1),s=C.ref(null),g=C.ref([]),l=((xe=Wg())==null?void 0:xe.getItem("chat-sender-device-id"))??null,c=C.ref(l||""),h=C.ref(IhA()),u=C.ref(!1);let I=null,f=null,d=null,B=null,Q=null,p=null,E=null;const v=300;let y=null;function w(){y!=null&&(clearTimeout(y),y=null)}function k(){return typeof navigator>"u"?void 0:navigator.mediaDevices}function b(){g.value=[{deviceId:"default",label:"默认麦克风",active:!0}]}function F(){u.value=!0,s.value=null,A.value&&Y()}function S(){u.value=!1}function _(SA){SA==="denied"?F():S()}async function N(){try{const SA=typeof navigator>"u"?void 0:navigator.permissions;if(!(SA!=null&&SA.query))return;E=await SA.query({name:"microphone"}),_(E.state),E.onchange=()=>{E&&_(E.state)}}catch{}}function R(){return!h.value||u.value||t.isDisabled()}async function T(SA){var XA;const KA=c.value;if(!KA||KA==="default")return SA.getUserMedia({audio:!0});try{return await SA.getUserMedia({audio:{deviceId:{exact:KA}}})}catch(nA){if(hC(nA))throw nA;return console.warn("指定麦克风不可用,回退到默认设备:",nA),c.value="",(XA=Wg())==null||XA.removeItem("chat-sender-device-id"),SA.getUserMedia({audio:!0})}}async function J(){var SA,KA;if(!R()){if(A.value)Y();else{if(A.value=!0,(SA=t.onMenuOpen)==null||SA.call(t),await G(),u.value)return;await P()}(KA=t.onVoiceClick)==null||KA.call(t)}}function Y(){A.value=!1,n.value||X()}async function G(){var KA;const SA=k();if(!(SA!=null&&SA.getUserMedia)||!SA.enumerateDevices){b();return}try{const XA=await SA.getUserMedia({audio:!0}),sA=(await SA.enumerateDevices()).filter(dA=>dA.kind==="audioinput");if(g.value=sA.map((dA,me)=>({deviceId:dA.deviceId,label:dA.label||`麦克风 ${me+1}`,active:!1})),g.value.length>0){const dA=g.value.find(me=>me.deviceId===c.value);dA?dA.active=!0:(g.value[0].active=!0,c.value=g.value[0].deviceId,(KA=Wg())==null||KA.setItem("chat-sender-device-id",c.value))}n.value?he(XA):(Q=XA,z(XA)),S(),s.value=null}catch(XA){if(console.error("无法获取音频设备列表:",XA),b(),hC(XA)){F();return}s.value="无法获取麦克风列表,请检查浏览器权限"}}async function P(){if(Q||n.value||u.value)return;const SA=k();if(SA!=null&&SA.getUserMedia)try{const KA=await T(SA);Q=KA,z(KA),S(),s.value=null}catch(KA){if(console.error("无法开启音频监测:",KA),hC(KA)){F();return}s.value="无法访问麦克风,请检查浏览器权限"}}function z(SA){f||(f=new AudioContext),d||(d=f.createAnalyser(),d.fftSize=256),f.createMediaStreamSource(SA).connect(d),WA()}function X(){Q&&(he(Q),Q=null),MA(),f&&!n.value&&(f.close(),f=null,d=null),a.value=0}async function iA(){var SA;R()||r.value||(n.value?await ee(!1):await _A(),(SA=t.onVoiceRecord)==null||SA.call(t))}async function aA(){R()||!r.value||(o.value=!0,w(),y=setTimeout(()=>{y=null,!(!o.value||!r.value||n.value)&&_A()},v))}async function oA(){if(!r.value)return;w();const SA=o.value;o.value=!1,SA&&n.value&&await ee(!1)}function hA(){r.value&&o.value&&oA()}async function _A(){var KA;if(!h.value||u.value)return;const SA=k();if(!(SA!=null&&SA.getUserMedia)){s.value="当前浏览器不支持麦克风录音";return}try{Q&&(he(Q),Q=null);const XA=await T(SA);Q=XA,z(XA),PA(),typeof MediaRecorder<"u"&&(I=new MediaRecorder(XA),I.start()),n.value=!0,A.value&&Y(),S(),s.value=null,(KA=t.onVoiceStart)==null||KA.call(t)}catch(XA){if(console.error("无法访问麦克风:",XA),hC(XA)){F();return}s.value="无法访问麦克风,请检查浏览器权限"}}function PA(){const SA=window,KA=SA.SpeechRecognition??SA.webkitSpeechRecognition;if(!KA)return;const XA=new KA;p=XA,XA.lang="zh-CN",XA.continuous=!0,XA.interimResults=!0;let nA=t.draft.value;XA.onresult=sA=>{let dA="",me="";for(let Ze=sA.resultIndex;Ze<sA.results.length;Ze+=1){const wt=sA.results[Ze][0].transcript;sA.results[Ze].isFinal?me+=wt:dA+=wt}me?(nA+=me,t.draft.value=nA):dA&&(t.draft.value=nA+dA)},XA.onerror=sA=>{if(console.error("语音识别错误:",sA.error),sA.error==="not-allowed"){F(),ee(!1,!0);return}sA.error!=="no-speech"&&sA.error!=="aborted"&&(s.value=`语音识别失败:${sA.error}`)},XA.onend=()=>{if(n.value)try{XA.start()}catch{}};try{XA.start()}catch(sA){console.error("无法启动语音识别:",sA),p=null}}async function ee(SA=!1,KA=!1){var XA,nA,sA;if(n.value){if(n.value=!1,p==null||p.stop(),p=null,I==null||I.stop(),I=null,Q&&(he(Q),Q=null),MA(),a.value=0,SA&&!KA)t.draft.value="",(XA=t.onVoiceCancel)==null||XA.call(t);else if(!KA){const dA=t.draft.value.trim();dA&&((nA=t.onAudioTranscript)==null||nA.call(t,dA))}KA||(sA=t.onVoiceStop)==null||sA.call(t),A.value&&!u.value&&await P()}}function WA(){if(!d)return;const SA=new Uint8Array(d.frequencyBinCount);d.getByteFrequencyData(SA);const KA=SA.reduce((XA,nA)=>XA+nA,0)/SA.length;a.value=Math.min(100,KA/128*100),B=requestAnimationFrame(WA)}async function eA(SA){var XA,nA;const KA=g.value[SA];KA&&(g.value.forEach((sA,dA)=>{sA.active=dA===SA}),c.value=KA.deviceId,(XA=Wg())==null||XA.setItem("chat-sender-device-id",c.value),(nA=t.onAudioDeviceChange)==null||nA.call(t,SA),A.value&&!n.value&&(X(),await P()))}function yA(){var SA;r.value=!r.value,(SA=Wg())==null||SA.setItem("chat-sender-hold-to-record",String(r.value)),w(),o.value=!1,r.value&&n.value&&ee(!1,!0)}function MA(){B!==null&&(cancelAnimationFrame(B),B=null)}function he(SA){SA.getTracks().forEach(KA=>KA.stop())}return C.onMounted(()=>{N()}),C.onUnmounted(()=>{E&&(E.onchange=null),E=null,w(),o.value=!1,A.value=!1,n.value&&ee(!1,!0),p==null||p.stop(),p=null,MA(),Q&&he(Q),Q=null,f&&f.close(),f=null,d=null}),{showVoiceMenu:A,holdToRecord:r,isVoiceHovered:i,isRecording:n,audioLevel:a,isHoldingMic:o,voiceError:s,audioDevices:g,isSpeechSupported:h,isMicPermissionDenied:u,toggleVoiceMenu:J,closeVoiceMenu:Y,handleVoiceRecord:iA,handleMouseDown:aA,handleMouseUp:oA,handleMouseLeave:hA,selectAudioDevice:eA,toggleHoldToRecord:yA}}function Wg(){return typeof localStorage>"u"?void 0:localStorage}const Tu="data-mention-trigger-id",df="data-mention-id",f0="data-mention-label",kd="data-mention-char",fv="data-mention-custom",ZC="data-mention-mount-id",uc="chat-sender__mention";function Do(t){return!!t&&t.nodeType===Node.ELEMENT_NODE&&t.classList.contains(uc)}function ko(t){if(!t||t.nodeType!==Node.TEXT_NODE)return!1;const A=t.textContent??"";return A.length===0||A==="​"}function Bf(t){if(!t||t.nodeType!==Node.TEXT_NODE)return!1;const A=t.textContent??"";return A.length>0&&/^\s+$/.test(A)}function dhA(t,A){const e=A.cloneRange();e.collapse(!0);const{startContainer:r,startOffset:i}=e;if(r===t){if(i<=0)return!1;let n=i-1;for(;n>=0&&ko(t.childNodes[n]);)n-=1;if(n<0)return!1;const a=t.childNodes[n];if(Do(a))return!0;if(a.nodeType===Node.TEXT_NODE){const o=a.textContent??"";return o.length?!/\s/.test(o[o.length-1]):!0}return!0}if(r.nodeType===Node.TEXT_NODE&&t.contains(r)){if(i>0){const a=(r.textContent??"")[i-1];return a!==void 0&&!/\s/.test(a)}let n=r.previousSibling;for(;ko(n);)n=n.previousSibling;if(!n)return!1;if(Do(n))return!0;if(n.nodeType===Node.TEXT_NODE){const a=n.textContent??"";return a.length?!/\s/.test(a[a.length-1]):!0}return!0}return!1}function BhA(t,A){if(!A.collapsed)return null;const{startContainer:e,startOffset:r}=A;if(e===t){let i=r-1;for(;i>=0&&ko(t.childNodes[i]);)i-=1;for(;i>=0&&Bf(t.childNodes[i]);)i-=1;const n=t.childNodes[i];return Do(n)?n:null}if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){const i=e.textContent??"";if(r>0){if(r===i.length&&/^\s+$/.test(i)){let a=e.previousSibling;for(;ko(a);)a=a.previousSibling;return Do(a)?a:null}return null}let n=e.previousSibling;for(;ko(n)||Bf(n);)n=n.previousSibling;return Do(n)?n:null}return null}function QhA(t,A){if(!A.collapsed)return null;const{startContainer:e,startOffset:r}=A;if(e===t){let i=r;for(;i<t.childNodes.length&&ko(t.childNodes[i]);)i+=1;for(;i<t.childNodes.length&&Bf(t.childNodes[i]);)i+=1;const n=t.childNodes[i];return Do(n)?n:null}if(e.nodeType===Node.TEXT_NODE&&t.contains(e)){const i=e.textContent??"";if(r<i.length){if(r===0&&/^\s+$/.test(i)){let a=e.nextSibling;for(;ko(a);)a=a.nextSibling;return Do(a)?a:null}return null}let n=e.nextSibling;for(;ko(n)||Bf(n);)n=n.nextSibling;return Do(n)?n:null}return null}function phA(t){return/\s/.test(t)}function EhA(t,A,e){const r=[];let i;if(A===t)i=e-1;else if(A.nodeType===Node.TEXT_NODE&&A.parentNode===t){const n=A;for(let a=e-1;a>=0;a-=1)r.push({node:n,offset:a});i=Array.prototype.indexOf.call(t.childNodes,n)-1}else return r;for(let n=i;n>=0;n-=1){const a=t.childNodes[n];if(a.nodeType!==Node.TEXT_NODE)break;const o=a;for(let s=o.length-1;s>=0;s-=1)r.push({node:o,offset:s})}return r}function vhA(t,A,e,r){if(t.length===0)return null;const i=EhA(A,e,r);for(const{node:n,offset:a}of i){const o=n.data[a];if(phA(o))return null;const s=t.find(g=>g.char===o);if(s){const g=document.createRange();return g.setStart(n,a),g.setEnd(e,r),{trigger:s,range:g}}}return null}function mR(t){let A="";return t.childNodes.forEach(e=>{if(e.nodeType===Node.TEXT_NODE)A+=e.textContent??"";else if(e.nodeType===Node.ELEMENT_NODE){const r=e;r.tagName==="BR"?A+=`
688
688
  `:r.classList.contains(uc)?A+=yhA(r):A+=r.textContent??""}}),A}function mhA(t){if(t.collapsed)return"";const A=t.cloneContents(),e=document.createElement("div");return e.appendChild(A),mR(e)}function yhA(t){const A=t.getAttribute(kd),e=t.getAttribute(f0);return A!==null&&e!==null?`${A}${e}`:t.textContent??""}const bS="application/x-deepeye-chat-mentions";function whA(t){const A=[];let e="";const r=()=>{e&&(A.push({type:"text",text:e}),e="")};return t.childNodes.forEach(i=>{if(i.nodeType===Node.TEXT_NODE){e+=i.textContent??"";return}if(i.nodeType!==Node.ELEMENT_NODE)return;const n=i;if(n.tagName==="BR"){e+=`
689
689
  `;return}if(n.classList.contains(uc)){r(),A.push({type:"mention",triggerId:n.getAttribute(Tu)??"",id:n.getAttribute(df)??"",label:n.getAttribute(f0)??"",char:n.getAttribute(kd)??"@"});return}e+=n.textContent??""}),r(),A}function DhA(t){if(t.collapsed)return[];const A=t.cloneContents(),e=document.createElement("div");return e.appendChild(A),whA(e)}function khA(t){return JSON.stringify({version:1,segments:t})}function bhA(t){try{const A=JSON.parse(t);return(A==null?void 0:A.version)!==1||!Array.isArray(A.segments)?null:A.segments}catch{return null}}const ShA="chat-sender__mention--selected";function Xc(t){const A=window.getSelection(),e=A&&A.rangeCount>0&&!A.isCollapsed?A.getRangeAt(0):null,r=!!e&&(e.commonAncestorContainer===t||t.contains(e.commonAncestorContainer));t.querySelectorAll(`.${uc}`).forEach(i=>{let n=!1;if(r&&e)try{n=e.intersectsNode(i)}catch{n=!1}i.classList.toggle(ShA,n)})}function du(t,A,e,r={}){const i=document.createElement("span");return i.className=uc,i.setAttribute("contenteditable","false"),i.setAttribute(Tu,t.id),i.setAttribute(df,A),i.setAttribute(f0,e),i.setAttribute(kd,t.char),r.custom&&i.setAttribute(fv,"true"),r.mountId&&i.setAttribute(ZC,r.mountId),i}function SS(t,A,e){const r=du(t,A,e),i=document.createElement("button");i.type="button",i.className="chat-sender__mention-remove",i.setAttribute("aria-label",`移除 ${e}`),i.tabIndex=-1;const n=document.createElement("span");n.className="chat-sender__mention-glyph",n.setAttribute("aria-hidden","true"),n.textContent=t.char,i.appendChild(n);const a=document.createElement("span");return a.className="chat-sender__mention-label",a.textContent=e,r.append(i,a),r}function NS(t,A){t.innerHTML="";const e=A.split(`
690
690
  `);e.forEach((r,i)=>{r&&t.appendChild(document.createTextNode(r)),i<e.length-1&&t.appendChild(document.createElement("br"))})}function NhA(t,A){t.deleteContents();const e=document.createDocumentFragment(),r=A.split(`
package/dist/index.js CHANGED
@@ -49248,7 +49248,7 @@ const asA = ["innerHTML"], osA = {
49248
49248
  ], 64))), 128))
49249
49249
  ], 2));
49250
49250
  }
49251
- }), SM = /* @__PURE__ */ Re(usA, [["__scopeId", "data-v-f4e2ed2b"]]), hsA = 8;
49251
+ }), SM = /* @__PURE__ */ Re(usA, [["__scopeId", "data-v-10fcddce"]]), hsA = 8;
49252
49252
  function CsA(t, A) {
49253
49253
  const e = CA(t.value);
49254
49254
  let i, r = !1;
@@ -58054,7 +58054,7 @@ const v0A = ["data-tool-call-id", "aria-label", "aria-busy"], m0A = { class: "to
58054
58054
  key: 2,
58055
58055
  content: C.value,
58056
58056
  "is-streaming": t.streaming,
58057
- "highlight-stream-tail": t.streaming && !I.value,
58057
+ "highlight-stream-tail": t.streaming && B.value,
58058
58058
  onAction: z[3] || (z[3] = (j) => i("action", j))
58059
58059
  }, null, 8, ["content", "is-streaming", "highlight-stream-tail"]))
58060
58060
  ], !0)
@@ -58093,7 +58093,7 @@ const v0A = ["data-tool-call-id", "aria-label", "aria-busy"], m0A = { class: "to
58093
58093
  ])
58094
58094
  ], 10, lhA));
58095
58095
  }
58096
- }), EhA = /* @__PURE__ */ Re(phA, [["__scopeId", "data-v-0c2b4fe3"]]), vhA = /* @__PURE__ */ ge({
58096
+ }), EhA = /* @__PURE__ */ Re(phA, [["__scopeId", "data-v-63cef8e8"]]), vhA = /* @__PURE__ */ ge({
58097
58097
  name: "ChatMessage",
58098
58098
  __name: "ChatMessage",
58099
58099
  props: {